@txnlab/use-wallet-ui-react 1.0.0 → 1.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.
- package/README.md +20 -0
- package/dist/cjs/chunks/floating-ui.react-Hg8yTXAw.cjs +5 -0
- package/dist/cjs/chunks/floating-ui.react-Hg8yTXAw.cjs.map +1 -0
- package/dist/cjs/index.cjs +15 -18
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/plugins/export-key.cjs +9 -0
- package/dist/cjs/plugins/export-key.cjs.map +1 -0
- package/dist/esm/chunks/floating-ui.react-BBJf3vGf.js +2599 -0
- package/dist/esm/chunks/floating-ui.react-BBJf3vGf.js.map +1 -0
- package/dist/esm/index.js +4780 -7744
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/plugins/export-key.js +3030 -0
- package/dist/esm/plugins/export-key.js.map +1 -0
- package/dist/style.css +112 -1
- package/dist/types/components/AlgoSymbol.d.ts +11 -0
- package/dist/types/components/AlgoSymbol.d.ts.map +1 -0
- package/dist/types/components/ConnectWalletButton.d.ts +9 -0
- package/dist/types/components/ConnectWalletButton.d.ts.map +1 -0
- package/dist/types/components/ConnectWalletMenu.d.ts +10 -0
- package/dist/types/components/ConnectWalletMenu.d.ts.map +1 -0
- package/dist/types/components/ConnectedWalletButton.d.ts +9 -0
- package/dist/types/components/ConnectedWalletButton.d.ts.map +1 -0
- package/dist/types/components/ConnectedWalletMenu.d.ts +10 -0
- package/dist/types/components/ConnectedWalletMenu.d.ts.map +1 -0
- package/dist/types/components/NfdAvatar.d.ts +24 -0
- package/dist/types/components/NfdAvatar.d.ts.map +1 -0
- package/dist/types/components/WalletButton.d.ts +12 -0
- package/dist/types/components/WalletButton.d.ts.map +1 -0
- package/dist/types/components/WalletList.d.ts +7 -0
- package/dist/types/components/WalletList.d.ts.map +1 -0
- package/dist/types/hooks/useAccountInfo.d.ts +12 -0
- package/dist/types/hooks/useAccountInfo.d.ts.map +1 -0
- package/dist/types/hooks/useNfd.d.ts +32 -0
- package/dist/types/hooks/useNfd.d.ts.map +1 -0
- package/dist/types/hooks/useResolvedTheme.d.ts +11 -0
- package/dist/types/hooks/useResolvedTheme.d.ts.map +1 -0
- package/dist/types/index.d.cts +17 -197
- package/dist/types/index.d.ts +17 -197
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/plugins/PluginContext.d.ts +29 -0
- package/dist/types/plugins/PluginContext.d.ts.map +1 -0
- package/dist/types/plugins/PluginDialogRenderer.d.ts +10 -0
- package/dist/types/plugins/PluginDialogRenderer.d.ts.map +1 -0
- package/dist/types/plugins/PluginLifecycleManager.d.ts +9 -0
- package/dist/types/plugins/PluginLifecycleManager.d.ts.map +1 -0
- package/dist/types/plugins/PluginSlot.d.ts +10 -0
- package/dist/types/plugins/PluginSlot.d.ts.map +1 -0
- package/dist/types/plugins/export-key/ExportKeyDialog.d.ts +6 -0
- package/dist/types/plugins/export-key/ExportKeyDialog.d.ts.map +1 -0
- package/dist/types/plugins/export-key/ExportKeyMenuButton.d.ts +5 -0
- package/dist/types/plugins/export-key/ExportKeyMenuButton.d.ts.map +1 -0
- package/dist/types/plugins/export-key/constants.d.ts +2 -0
- package/dist/types/plugins/export-key/constants.d.ts.map +1 -0
- package/dist/types/plugins/export-key/index.d.cts +12 -0
- package/dist/types/plugins/export-key/index.d.ts +12 -0
- package/dist/types/plugins/export-key/index.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +6 -0
- package/dist/types/plugins/index.d.ts.map +1 -0
- package/dist/types/plugins/types.d.ts +109 -0
- package/dist/types/plugins/types.d.ts.map +1 -0
- package/dist/types/providers/WalletUIProvider.d.ts +58 -0
- package/dist/types/providers/WalletUIProvider.d.ts.map +1 -0
- package/dist/types/test/setup.d.ts +2 -0
- package/dist/types/test/setup.d.ts.map +1 -0
- package/dist/types/utils/cn.d.ts +16 -0
- package/dist/types/utils/cn.d.ts.map +1 -0
- package/dist/types/utils/fontLoader.d.ts +8 -0
- package/dist/types/utils/fontLoader.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +3 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/ipfs.d.ts +10 -0
- package/dist/types/utils/ipfs.d.ts.map +1 -0
- package/dist/types/utils/ipfs.test.d.ts +2 -0
- package/dist/types/utils/ipfs.test.d.ts.map +1 -0
- package/package.json +21 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-key.cjs","sources":["../../../src/plugins/export-key/constants.ts","../../../../../node_modules/.pnpm/js-sha512@0.8.0/node_modules/js-sha512/src/sha512.js","../../../../../node_modules/.pnpm/algosdk@3.5.2/node_modules/algosdk/dist/esm/nacl/naclWrappers.js","../../../../../node_modules/.pnpm/algosdk@3.5.2/node_modules/algosdk/dist/esm/mnemonic/wordlists/english.js","../../../../../node_modules/.pnpm/algosdk@3.5.2/node_modules/algosdk/dist/esm/mnemonic/mnemonic.js","../../../src/plugins/export-key/ExportKeyDialog.tsx","../../../src/plugins/export-key/ExportKeyMenuButton.tsx","../../../src/plugins/export-key/index.tsx"],"sourcesContent":["export const EXPORT_KEY_DIALOG = 'export-key-dialog'\n","/*\n * [js-sha512]{@link https://github.com/emn178/js-sha512}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA512_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA512_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA512_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA512_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428A2F98, 0xD728AE22, 0x71374491, 0x23EF65CD,\n 0xB5C0FBCF, 0xEC4D3B2F, 0xE9B5DBA5, 0x8189DBBC,\n 0x3956C25B, 0xF348B538, 0x59F111F1, 0xB605D019,\n 0x923F82A4, 0xAF194F9B, 0xAB1C5ED5, 0xDA6D8118,\n 0xD807AA98, 0xA3030242, 0x12835B01, 0x45706FBE,\n 0x243185BE, 0x4EE4B28C, 0x550C7DC3, 0xD5FFB4E2,\n 0x72BE5D74, 0xF27B896F, 0x80DEB1FE, 0x3B1696B1,\n 0x9BDC06A7, 0x25C71235, 0xC19BF174, 0xCF692694,\n 0xE49B69C1, 0x9EF14AD2, 0xEFBE4786, 0x384F25E3,\n 0x0FC19DC6, 0x8B8CD5B5, 0x240CA1CC, 0x77AC9C65,\n 0x2DE92C6F, 0x592B0275, 0x4A7484AA, 0x6EA6E483,\n 0x5CB0A9DC, 0xBD41FBD4, 0x76F988DA, 0x831153B5,\n 0x983E5152, 0xEE66DFAB, 0xA831C66D, 0x2DB43210,\n 0xB00327C8, 0x98FB213F, 0xBF597FC7, 0xBEEF0EE4,\n 0xC6E00BF3, 0x3DA88FC2, 0xD5A79147, 0x930AA725,\n 0x06CA6351, 0xE003826F, 0x14292967, 0x0A0E6E70,\n 0x27B70A85, 0x46D22FFC, 0x2E1B2138, 0x5C26C926,\n 0x4D2C6DFC, 0x5AC42AED, 0x53380D13, 0x9D95B3DF,\n 0x650A7354, 0x8BAF63DE, 0x766A0ABB, 0x3C77B2A8,\n 0x81C2C92E, 0x47EDAEE6, 0x92722C85, 0x1482353B,\n 0xA2BFE8A1, 0x4CF10364, 0xA81A664B, 0xBC423001,\n 0xC24B8B70, 0xD0F89791, 0xC76C51A3, 0x0654BE30,\n 0xD192E819, 0xD6EF5218, 0xD6990624, 0x5565A910,\n 0xF40E3585, 0x5771202A, 0x106AA070, 0x32BBD1B8,\n 0x19A4C116, 0xB8D2D0C8, 0x1E376C08, 0x5141AB53,\n 0x2748774C, 0xDF8EEB99, 0x34B0BCB5, 0xE19B48A8,\n 0x391C0CB3, 0xC5C95A63, 0x4ED8AA4A, 0xE3418ACB,\n 0x5B9CCA4F, 0x7763E373, 0x682E6FF3, 0xD6B2B8A3,\n 0x748F82EE, 0x5DEFB2FC, 0x78A5636F, 0x43172F60,\n 0x84C87814, 0xA1F0AB72, 0x8CC70208, 0x1A6439EC,\n 0x90BEFFFA, 0x23631E28, 0xA4506CEB, 0xDE82BDE9,\n 0xBEF9A3F7, 0xB2C67915, 0xC67178F2, 0xE372532B,\n 0xCA273ECE, 0xEA26619C, 0xD186B8C7, 0x21C0C207,\n 0xEADA7DD6, 0xCDE0EB1E, 0xF57D4F7F, 0xEE6ED178,\n 0x06F067AA, 0x72176FBA, 0x0A637DC5, 0xA2C898A6,\n 0x113F9804, 0xBEF90DAE, 0x1B710B35, 0x131C471B,\n 0x28DB77F5, 0x23047D84, 0x32CAAB7B, 0x40C72493,\n 0x3C9EBE0A, 0x15C9BEBC, 0x431D67C4, 0x9C100D4C,\n 0x4CC5D4BE, 0xCB3E42B6, 0x597F299C, 0xFC657E2A,\n 0x5FCB6FAB, 0x3AD6FAEC, 0x6C44198C, 0x4A475817\n ];\n\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA512_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA512_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, bits) {\n return function (message) {\n return new Sha512(bits, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (bits) {\n var method = createOutputMethod('hex', bits);\n method.create = function () {\n return new Sha512(bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, bits);\n }\n return method;\n };\n\n var createHmacOutputMethod = function (outputType, bits) {\n return function (key, message) {\n return new HmacSha512(key, bits, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (bits) {\n var method = createHmacOutputMethod('hex', bits);\n method.create = function (key) {\n return new HmacSha512(key, bits);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, bits);\n }\n return method;\n };\n\n function Sha512(bits, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[1] = blocks[2] = blocks[3] = blocks[4] =\n blocks[5] = blocks[6] = blocks[7] = blocks[8] =\n blocks[9] = blocks[10] = blocks[11] = blocks[12] =\n blocks[13] = blocks[14] = blocks[15] = blocks[16] =\n blocks[17] = blocks[18] = blocks[19] = blocks[20] =\n blocks[21] = blocks[22] = blocks[23] = blocks[24] =\n blocks[25] = blocks[26] = blocks[27] = blocks[28] =\n blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (bits == 384) {\n this.h0h = 0xCBBB9D5D;\n this.h0l = 0xC1059ED8;\n this.h1h = 0x629A292A;\n this.h1l = 0x367CD507;\n this.h2h = 0x9159015A;\n this.h2l = 0x3070DD17;\n this.h3h = 0x152FECD8;\n this.h3l = 0xF70E5939;\n this.h4h = 0x67332667;\n this.h4l = 0xFFC00B31;\n this.h5h = 0x8EB44A87;\n this.h5l = 0x68581511;\n this.h6h = 0xDB0C2E0D;\n this.h6l = 0x64F98FA7;\n this.h7h = 0x47B5481D;\n this.h7l = 0xBEFA4FA4;\n } else if (bits == 256) {\n this.h0h = 0x22312194;\n this.h0l = 0xFC2BF72C;\n this.h1h = 0x9F555FA3;\n this.h1l = 0xC84C64C2;\n this.h2h = 0x2393B86B;\n this.h2l = 0x6F53B151;\n this.h3h = 0x96387719;\n this.h3l = 0x5940EABD;\n this.h4h = 0x96283EE2;\n this.h4l = 0xA88EFFE3;\n this.h5h = 0xBE5E1E25;\n this.h5l = 0x53863992;\n this.h6h = 0x2B0199FC;\n this.h6l = 0x2C85B8AA;\n this.h7h = 0x0EB72DDC;\n this.h7l = 0x81C52CA2;\n } else if (bits == 224) {\n this.h0h = 0x8C3D37C8;\n this.h0l = 0x19544DA2;\n this.h1h = 0x73E19966;\n this.h1l = 0x89DCD4D6;\n this.h2h = 0x1DFAB7AE;\n this.h2l = 0x32FF9C82;\n this.h3h = 0x679DD514;\n this.h3l = 0x582F9FCF;\n this.h4h = 0x0F6D2B69;\n this.h4l = 0x7BD44DA8;\n this.h5h = 0x77E36F73;\n this.h5l = 0x04C48942;\n this.h6h = 0x3F9D85A8;\n this.h6l = 0x6A1D36C8;\n this.h7h = 0x1112E6AD;\n this.h7l = 0x91D692A1;\n } else { // 512\n this.h0h = 0x6A09E667;\n this.h0l = 0xF3BCC908;\n this.h1h = 0xBB67AE85;\n this.h1l = 0x84CAA73B;\n this.h2h = 0x3C6EF372;\n this.h2l = 0xFE94F82B;\n this.h3h = 0xA54FF53A;\n this.h3l = 0x5F1D36F1;\n this.h4h = 0x510E527F;\n this.h4l = 0xADE682D1;\n this.h5h = 0x9B05688C;\n this.h5l = 0x2B3E6C1F;\n this.h6h = 0x1F83D9AB;\n this.h6l = 0xFB41BD6B;\n this.h7h = 0x5BE0CD19;\n this.h7l = 0x137E2179;\n }\n this.bits = bits;\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n }\n\n Sha512.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[1] = blocks[2] = blocks[3] = blocks[4] =\n blocks[5] = blocks[6] = blocks[7] = blocks[8] =\n blocks[9] = blocks[10] = blocks[11] = blocks[12] =\n blocks[13] = blocks[14] = blocks[15] = blocks[16] =\n blocks[17] = blocks[18] = blocks[19] = blocks[20] =\n blocks[21] = blocks[22] = blocks[23] = blocks[24] =\n blocks[25] = blocks[26] = blocks[27] = blocks[28] =\n blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0;\n }\n\n if(notString) {\n for (i = this.start; index < length && i < 128; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 128; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 128) {\n this.block = blocks[32];\n this.start = i - 128;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha512.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[32] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[32];\n if (i >= 112) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[1] = blocks[2] = blocks[3] = blocks[4] =\n blocks[5] = blocks[6] = blocks[7] = blocks[8] =\n blocks[9] = blocks[10] = blocks[11] = blocks[12] =\n blocks[13] = blocks[14] = blocks[15] = blocks[16] =\n blocks[17] = blocks[18] = blocks[19] = blocks[20] =\n blocks[21] = blocks[22] = blocks[23] = blocks[24] =\n blocks[25] = blocks[26] = blocks[27] = blocks[28] =\n blocks[29] = blocks[30] = blocks[31] = blocks[32] = 0;\n }\n blocks[30] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[31] = this.bytes << 3;\n this.hash();\n };\n\n Sha512.prototype.hash = function () {\n var h0h = this.h0h, h0l = this.h0l, h1h = this.h1h, h1l = this.h1l,\n h2h = this.h2h, h2l = this.h2l, h3h = this.h3h, h3l = this.h3l,\n h4h = this.h4h, h4l = this.h4l, h5h = this.h5h, h5l = this.h5l,\n h6h = this.h6h, h6l = this.h6l, h7h = this.h7h, h7l = this.h7l,\n blocks = this.blocks, j, s0h, s0l, s1h, s1l, c1, c2, c3, c4,\n abh, abl, dah, dal, cdh, cdl, bch, bcl,\n majh, majl, t1h, t1l, t2h, t2l, chh, chl;\n\n for (j = 32; j < 160; j += 2) {\n t1h = blocks[j - 30];\n t1l = blocks[j - 29];\n s0h = ((t1h >>> 1) | (t1l << 31)) ^ ((t1h >>> 8) | (t1l << 24)) ^ (t1h >>> 7);\n s0l = ((t1l >>> 1) | (t1h << 31)) ^ ((t1l >>> 8) | (t1h << 24)) ^ ((t1l >>> 7) | t1h << 25);\n\n t1h = blocks[j - 4];\n t1l = blocks[j - 3];\n s1h = ((t1h >>> 19) | (t1l << 13)) ^ ((t1l >>> 29) | (t1h << 3)) ^ (t1h >>> 6);\n s1l = ((t1l >>> 19) | (t1h << 13)) ^ ((t1h >>> 29) | (t1l << 3)) ^ ((t1l >>> 6) | t1h << 26);\n\n t1h = blocks[j - 32];\n t1l = blocks[j - 31];\n t2h = blocks[j - 14];\n t2l = blocks[j - 13];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (s0l & 0xFFFF) + (s1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (s0l >>> 16) + (s1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (s0h & 0xFFFF) + (s1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (s0h >>> 16) + (s1h >>> 16) + (c3 >>> 16);\n\n blocks[j] = (c4 << 16) | (c3 & 0xFFFF);\n blocks[j + 1] = (c2 << 16) | (c1 & 0xFFFF);\n }\n\n var ah = h0h, al = h0l, bh = h1h, bl = h1l, ch = h2h, cl = h2l, dh = h3h, dl = h3l, eh = h4h, el = h4l, fh = h5h, fl = h5l, gh = h6h, gl = h6l, hh = h7h, hl = h7l;\n bch = bh & ch;\n bcl = bl & cl;\n for (j = 0; j < 160; j += 8) {\n s0h = ((ah >>> 28) | (al << 4)) ^ ((al >>> 2) | (ah << 30)) ^ ((al >>> 7) | (ah << 25));\n s0l = ((al >>> 28) | (ah << 4)) ^ ((ah >>> 2) | (al << 30)) ^ ((ah >>> 7) | (al << 25));\n\n s1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((el >>> 9) | (eh << 23));\n s1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((eh >>> 9) | (el << 23));\n\n abh = ah & bh;\n abl = al & bl;\n majh = abh ^ (ah & ch) ^ bch;\n majl = abl ^ (al & cl) ^ bcl;\n\n chh = (eh & fh) ^ (~eh & gh);\n chl = (el & fl) ^ (~el & gl);\n\n t1h = blocks[j];\n t1l = blocks[j + 1];\n t2h = K[j];\n t2l = K[j + 1];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (hl & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (hl >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (hh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (hh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (dl & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (dl >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (dh & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (dh >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n hh = (c4 << 16) | (c3 & 0xFFFF);\n hl = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n dh = (c4 << 16) | (c3 & 0xFFFF);\n dl = (c2 << 16) | (c1 & 0xFFFF);\n\n s0h = ((dh >>> 28) | (dl << 4)) ^ ((dl >>> 2) | (dh << 30)) ^ ((dl >>> 7) | (dh << 25));\n s0l = ((dl >>> 28) | (dh << 4)) ^ ((dh >>> 2) | (dl << 30)) ^ ((dh >>> 7) | (dl << 25));\n\n s1h = ((hh >>> 14) | (hl << 18)) ^ ((hh >>> 18) | (hl << 14)) ^ ((hl >>> 9) | (hh << 23));\n s1l = ((hl >>> 14) | (hh << 18)) ^ ((hl >>> 18) | (hh << 14)) ^ ((hh >>> 9) | (hl << 23));\n\n dah = dh & ah;\n dal = dl & al;\n majh = dah ^ (dh & bh) ^ abh;\n majl = dal ^ (dl & bl) ^ abl;\n\n chh = (hh & eh) ^ (~hh & fh);\n chl = (hl & el) ^ (~hl & fl);\n\n t1h = blocks[j + 2];\n t1l = blocks[j + 3];\n t2h = K[j + 2];\n t2l = K[j + 3];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (gl & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (gl >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (gh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (gh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (cl & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (cl >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (ch & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (ch >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n gh = (c4 << 16) | (c3 & 0xFFFF);\n gl = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n ch = (c4 << 16) | (c3 & 0xFFFF);\n cl = (c2 << 16) | (c1 & 0xFFFF);\n\n s0h = ((ch >>> 28) | (cl << 4)) ^ ((cl >>> 2) | (ch << 30)) ^ ((cl >>> 7) | (ch << 25));\n s0l = ((cl >>> 28) | (ch << 4)) ^ ((ch >>> 2) | (cl << 30)) ^ ((ch >>> 7) | (cl << 25));\n\n s1h = ((gh >>> 14) | (gl << 18)) ^ ((gh >>> 18) | (gl << 14)) ^ ((gl >>> 9) | (gh << 23));\n s1l = ((gl >>> 14) | (gh << 18)) ^ ((gl >>> 18) | (gh << 14)) ^ ((gh >>> 9) | (gl << 23));\n\n cdh = ch & dh;\n cdl = cl & dl;\n majh = cdh ^ (ch & ah) ^ dah;\n majl = cdl ^ (cl & al) ^ dal;\n\n chh = (gh & hh) ^ (~gh & eh);\n chl = (gl & hl) ^ (~gl & el);\n\n t1h = blocks[j + 4];\n t1l = blocks[j + 5];\n t2h = K[j + 4];\n t2l = K[j + 5];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (fl & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (fl >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (fh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (fh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (bl & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (bl >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (bh & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (bh >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n fh = (c4 << 16) | (c3 & 0xFFFF);\n fl = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n bh = (c4 << 16) | (c3 & 0xFFFF);\n bl = (c2 << 16) | (c1 & 0xFFFF);\n\n s0h = ((bh >>> 28) | (bl << 4)) ^ ((bl >>> 2) | (bh << 30)) ^ ((bl >>> 7) | (bh << 25));\n s0l = ((bl >>> 28) | (bh << 4)) ^ ((bh >>> 2) | (bl << 30)) ^ ((bh >>> 7) | (bl << 25));\n\n s1h = ((fh >>> 14) | (fl << 18)) ^ ((fh >>> 18) | (fl << 14)) ^ ((fl >>> 9) | (fh << 23));\n s1l = ((fl >>> 14) | (fh << 18)) ^ ((fl >>> 18) | (fh << 14)) ^ ((fh >>> 9) | (fl << 23));\n\n bch = bh & ch;\n bcl = bl & cl;\n majh = bch ^ (bh & dh) ^ cdh;\n majl = bcl ^ (bl & dl) ^ cdl;\n\n chh = (fh & gh) ^ (~fh & hh);\n chl = (fl & gl) ^ (~fl & hl);\n\n t1h = blocks[j + 6];\n t1l = blocks[j + 7];\n t2h = K[j + 6];\n t2l = K[j + 7];\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF) + (chl & 0xFFFF) + (s1l & 0xFFFF) + (el & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (chl >>> 16) + (s1l >>> 16) + (el >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (chh & 0xFFFF) + (s1h & 0xFFFF) + (eh & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (chh >>> 16) + (s1h >>> 16) + (eh >>> 16) + (c3 >>> 16);\n\n t1h = (c4 << 16) | (c3 & 0xFFFF);\n t1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (majl & 0xFFFF) + (s0l & 0xFFFF);\n c2 = (majl >>> 16) + (s0l >>> 16) + (c1 >>> 16);\n c3 = (majh & 0xFFFF) + (s0h & 0xFFFF) + (c2 >>> 16);\n c4 = (majh >>> 16) + (s0h >>> 16) + (c3 >>> 16);\n\n t2h = (c4 << 16) | (c3 & 0xFFFF);\n t2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (al & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (al >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (ah & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (ah >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n eh = (c4 << 16) | (c3 & 0xFFFF);\n el = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (t2l & 0xFFFF) + (t1l & 0xFFFF);\n c2 = (t2l >>> 16) + (t1l >>> 16) + (c1 >>> 16);\n c3 = (t2h & 0xFFFF) + (t1h & 0xFFFF) + (c2 >>> 16);\n c4 = (t2h >>> 16) + (t1h >>> 16) + (c3 >>> 16);\n\n ah = (c4 << 16) | (c3 & 0xFFFF);\n al = (c2 << 16) | (c1 & 0xFFFF);\n }\n\n c1 = (h0l & 0xFFFF) + (al & 0xFFFF);\n c2 = (h0l >>> 16) + (al >>> 16) + (c1 >>> 16);\n c3 = (h0h & 0xFFFF) + (ah & 0xFFFF) + (c2 >>> 16);\n c4 = (h0h >>> 16) + (ah >>> 16) + (c3 >>> 16);\n\n this.h0h = (c4 << 16) | (c3 & 0xFFFF);\n this.h0l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h1l & 0xFFFF) + (bl & 0xFFFF);\n c2 = (h1l >>> 16) + (bl >>> 16) + (c1 >>> 16);\n c3 = (h1h & 0xFFFF) + (bh & 0xFFFF) + (c2 >>> 16);\n c4 = (h1h >>> 16) + (bh >>> 16) + (c3 >>> 16);\n\n this.h1h = (c4 << 16) | (c3 & 0xFFFF);\n this.h1l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h2l & 0xFFFF) + (cl & 0xFFFF);\n c2 = (h2l >>> 16) + (cl >>> 16) + (c1 >>> 16);\n c3 = (h2h & 0xFFFF) + (ch & 0xFFFF) + (c2 >>> 16);\n c4 = (h2h >>> 16) + (ch >>> 16) + (c3 >>> 16);\n\n this.h2h = (c4 << 16) | (c3 & 0xFFFF);\n this.h2l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h3l & 0xFFFF) + (dl & 0xFFFF);\n c2 = (h3l >>> 16) + (dl >>> 16) + (c1 >>> 16);\n c3 = (h3h & 0xFFFF) + (dh & 0xFFFF) + (c2 >>> 16);\n c4 = (h3h >>> 16) + (dh >>> 16) + (c3 >>> 16);\n\n this.h3h = (c4 << 16) | (c3 & 0xFFFF);\n this.h3l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h4l & 0xFFFF) + (el & 0xFFFF);\n c2 = (h4l >>> 16) + (el >>> 16) + (c1 >>> 16);\n c3 = (h4h & 0xFFFF) + (eh & 0xFFFF) + (c2 >>> 16);\n c4 = (h4h >>> 16) + (eh >>> 16) + (c3 >>> 16);\n\n this.h4h = (c4 << 16) | (c3 & 0xFFFF);\n this.h4l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h5l & 0xFFFF) + (fl & 0xFFFF);\n c2 = (h5l >>> 16) + (fl >>> 16) + (c1 >>> 16);\n c3 = (h5h & 0xFFFF) + (fh & 0xFFFF) + (c2 >>> 16);\n c4 = (h5h >>> 16) + (fh >>> 16) + (c3 >>> 16);\n\n this.h5h = (c4 << 16) | (c3 & 0xFFFF);\n this.h5l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h6l & 0xFFFF) + (gl & 0xFFFF);\n c2 = (h6l >>> 16) + (gl >>> 16) + (c1 >>> 16);\n c3 = (h6h & 0xFFFF) + (gh & 0xFFFF) + (c2 >>> 16);\n c4 = (h6h >>> 16) + (gh >>> 16) + (c3 >>> 16);\n\n this.h6h = (c4 << 16) | (c3 & 0xFFFF);\n this.h6l = (c2 << 16) | (c1 & 0xFFFF);\n\n c1 = (h7l & 0xFFFF) + (hl & 0xFFFF);\n c2 = (h7l >>> 16) + (hl >>> 16) + (c1 >>> 16);\n c3 = (h7h & 0xFFFF) + (hh & 0xFFFF) + (c2 >>> 16);\n c4 = (h7h >>> 16) + (hh >>> 16) + (c3 >>> 16);\n\n this.h7h = (c4 << 16) | (c3 & 0xFFFF);\n this.h7l = (c2 << 16) | (c1 & 0xFFFF);\n };\n\n Sha512.prototype.hex = function () {\n this.finalize();\n\n var h0h = this.h0h, h0l = this.h0l, h1h = this.h1h, h1l = this.h1l,\n h2h = this.h2h, h2l = this.h2l, h3h = this.h3h, h3l = this.h3l,\n h4h = this.h4h, h4l = this.h4l, h5h = this.h5h, h5l = this.h5l,\n h6h = this.h6h, h6l = this.h6l, h7h = this.h7h, h7l = this.h7l,\n bits = this.bits;\n\n var hex = HEX_CHARS[(h0h >> 28) & 0x0F] + HEX_CHARS[(h0h >> 24) & 0x0F] +\n HEX_CHARS[(h0h >> 20) & 0x0F] + HEX_CHARS[(h0h >> 16) & 0x0F] +\n HEX_CHARS[(h0h >> 12) & 0x0F] + HEX_CHARS[(h0h >> 8) & 0x0F] +\n HEX_CHARS[(h0h >> 4) & 0x0F] + HEX_CHARS[h0h & 0x0F] +\n HEX_CHARS[(h0l >> 28) & 0x0F] + HEX_CHARS[(h0l >> 24) & 0x0F] +\n HEX_CHARS[(h0l >> 20) & 0x0F] + HEX_CHARS[(h0l >> 16) & 0x0F] +\n HEX_CHARS[(h0l >> 12) & 0x0F] + HEX_CHARS[(h0l >> 8) & 0x0F] +\n HEX_CHARS[(h0l >> 4) & 0x0F] + HEX_CHARS[h0l & 0x0F] +\n HEX_CHARS[(h1h >> 28) & 0x0F] + HEX_CHARS[(h1h >> 24) & 0x0F] +\n HEX_CHARS[(h1h >> 20) & 0x0F] + HEX_CHARS[(h1h >> 16) & 0x0F] +\n HEX_CHARS[(h1h >> 12) & 0x0F] + HEX_CHARS[(h1h >> 8) & 0x0F] +\n HEX_CHARS[(h1h >> 4) & 0x0F] + HEX_CHARS[h1h & 0x0F] +\n HEX_CHARS[(h1l >> 28) & 0x0F] + HEX_CHARS[(h1l >> 24) & 0x0F] +\n HEX_CHARS[(h1l >> 20) & 0x0F] + HEX_CHARS[(h1l >> 16) & 0x0F] +\n HEX_CHARS[(h1l >> 12) & 0x0F] + HEX_CHARS[(h1l >> 8) & 0x0F] +\n HEX_CHARS[(h1l >> 4) & 0x0F] + HEX_CHARS[h1l & 0x0F] +\n HEX_CHARS[(h2h >> 28) & 0x0F] + HEX_CHARS[(h2h >> 24) & 0x0F] +\n HEX_CHARS[(h2h >> 20) & 0x0F] + HEX_CHARS[(h2h >> 16) & 0x0F] +\n HEX_CHARS[(h2h >> 12) & 0x0F] + HEX_CHARS[(h2h >> 8) & 0x0F] +\n HEX_CHARS[(h2h >> 4) & 0x0F] + HEX_CHARS[h2h & 0x0F] +\n HEX_CHARS[(h2l >> 28) & 0x0F] + HEX_CHARS[(h2l >> 24) & 0x0F] +\n HEX_CHARS[(h2l >> 20) & 0x0F] + HEX_CHARS[(h2l >> 16) & 0x0F] +\n HEX_CHARS[(h2l >> 12) & 0x0F] + HEX_CHARS[(h2l >> 8) & 0x0F] +\n HEX_CHARS[(h2l >> 4) & 0x0F] + HEX_CHARS[h2l & 0x0F] +\n HEX_CHARS[(h3h >> 28) & 0x0F] + HEX_CHARS[(h3h >> 24) & 0x0F] +\n HEX_CHARS[(h3h >> 20) & 0x0F] + HEX_CHARS[(h3h >> 16) & 0x0F] +\n HEX_CHARS[(h3h >> 12) & 0x0F] + HEX_CHARS[(h3h >> 8) & 0x0F] +\n HEX_CHARS[(h3h >> 4) & 0x0F] + HEX_CHARS[h3h & 0x0F];\n if (bits >= 256) {\n hex += HEX_CHARS[(h3l >> 28) & 0x0F] + HEX_CHARS[(h3l >> 24) & 0x0F] +\n HEX_CHARS[(h3l >> 20) & 0x0F] + HEX_CHARS[(h3l >> 16) & 0x0F] +\n HEX_CHARS[(h3l >> 12) & 0x0F] + HEX_CHARS[(h3l >> 8) & 0x0F] +\n HEX_CHARS[(h3l >> 4) & 0x0F] + HEX_CHARS[h3l & 0x0F];\n }\n if (bits >= 384) {\n hex += HEX_CHARS[(h4h >> 28) & 0x0F] + HEX_CHARS[(h4h >> 24) & 0x0F] +\n HEX_CHARS[(h4h >> 20) & 0x0F] + HEX_CHARS[(h4h >> 16) & 0x0F] +\n HEX_CHARS[(h4h >> 12) & 0x0F] + HEX_CHARS[(h4h >> 8) & 0x0F] +\n HEX_CHARS[(h4h >> 4) & 0x0F] + HEX_CHARS[h4h & 0x0F] +\n HEX_CHARS[(h4l >> 28) & 0x0F] + HEX_CHARS[(h4l >> 24) & 0x0F] +\n HEX_CHARS[(h4l >> 20) & 0x0F] + HEX_CHARS[(h4l >> 16) & 0x0F] +\n HEX_CHARS[(h4l >> 12) & 0x0F] + HEX_CHARS[(h4l >> 8) & 0x0F] +\n HEX_CHARS[(h4l >> 4) & 0x0F] + HEX_CHARS[h4l & 0x0F] +\n HEX_CHARS[(h5h >> 28) & 0x0F] + HEX_CHARS[(h5h >> 24) & 0x0F] +\n HEX_CHARS[(h5h >> 20) & 0x0F] + HEX_CHARS[(h5h >> 16) & 0x0F] +\n HEX_CHARS[(h5h >> 12) & 0x0F] + HEX_CHARS[(h5h >> 8) & 0x0F] +\n HEX_CHARS[(h5h >> 4) & 0x0F] + HEX_CHARS[h5h & 0x0F] +\n HEX_CHARS[(h5l >> 28) & 0x0F] + HEX_CHARS[(h5l >> 24) & 0x0F] +\n HEX_CHARS[(h5l >> 20) & 0x0F] + HEX_CHARS[(h5l >> 16) & 0x0F] +\n HEX_CHARS[(h5l >> 12) & 0x0F] + HEX_CHARS[(h5l >> 8) & 0x0F] +\n HEX_CHARS[(h5l >> 4) & 0x0F] + HEX_CHARS[h5l & 0x0F];\n }\n if (bits == 512) {\n hex += HEX_CHARS[(h6h >> 28) & 0x0F] + HEX_CHARS[(h6h >> 24) & 0x0F] +\n HEX_CHARS[(h6h >> 20) & 0x0F] + HEX_CHARS[(h6h >> 16) & 0x0F] +\n HEX_CHARS[(h6h >> 12) & 0x0F] + HEX_CHARS[(h6h >> 8) & 0x0F] +\n HEX_CHARS[(h6h >> 4) & 0x0F] + HEX_CHARS[h6h & 0x0F] +\n HEX_CHARS[(h6l >> 28) & 0x0F] + HEX_CHARS[(h6l >> 24) & 0x0F] +\n HEX_CHARS[(h6l >> 20) & 0x0F] + HEX_CHARS[(h6l >> 16) & 0x0F] +\n HEX_CHARS[(h6l >> 12) & 0x0F] + HEX_CHARS[(h6l >> 8) & 0x0F] +\n HEX_CHARS[(h6l >> 4) & 0x0F] + HEX_CHARS[h6l & 0x0F] +\n HEX_CHARS[(h7h >> 28) & 0x0F] + HEX_CHARS[(h7h >> 24) & 0x0F] +\n HEX_CHARS[(h7h >> 20) & 0x0F] + HEX_CHARS[(h7h >> 16) & 0x0F] +\n HEX_CHARS[(h7h >> 12) & 0x0F] + HEX_CHARS[(h7h >> 8) & 0x0F] +\n HEX_CHARS[(h7h >> 4) & 0x0F] + HEX_CHARS[h7h & 0x0F] +\n HEX_CHARS[(h7l >> 28) & 0x0F] + HEX_CHARS[(h7l >> 24) & 0x0F] +\n HEX_CHARS[(h7l >> 20) & 0x0F] + HEX_CHARS[(h7l >> 16) & 0x0F] +\n HEX_CHARS[(h7l >> 12) & 0x0F] + HEX_CHARS[(h7l >> 8) & 0x0F] +\n HEX_CHARS[(h7l >> 4) & 0x0F] + HEX_CHARS[h7l & 0x0F];\n }\n return hex;\n };\n\n Sha512.prototype.toString = Sha512.prototype.hex;\n\n Sha512.prototype.digest = function () {\n this.finalize();\n\n var h0h = this.h0h, h0l = this.h0l, h1h = this.h1h, h1l = this.h1l,\n h2h = this.h2h, h2l = this.h2l, h3h = this.h3h, h3l = this.h3l,\n h4h = this.h4h, h4l = this.h4l, h5h = this.h5h, h5l = this.h5l,\n h6h = this.h6h, h6l = this.h6l, h7h = this.h7h, h7l = this.h7l,\n bits = this.bits;\n\n var arr = [\n (h0h >> 24) & 0xFF, (h0h >> 16) & 0xFF, (h0h >> 8) & 0xFF, h0h & 0xFF,\n (h0l >> 24) & 0xFF, (h0l >> 16) & 0xFF, (h0l >> 8) & 0xFF, h0l & 0xFF,\n (h1h >> 24) & 0xFF, (h1h >> 16) & 0xFF, (h1h >> 8) & 0xFF, h1h & 0xFF,\n (h1l >> 24) & 0xFF, (h1l >> 16) & 0xFF, (h1l >> 8) & 0xFF, h1l & 0xFF,\n (h2h >> 24) & 0xFF, (h2h >> 16) & 0xFF, (h2h >> 8) & 0xFF, h2h & 0xFF,\n (h2l >> 24) & 0xFF, (h2l >> 16) & 0xFF, (h2l >> 8) & 0xFF, h2l & 0xFF,\n (h3h >> 24) & 0xFF, (h3h >> 16) & 0xFF, (h3h >> 8) & 0xFF, h3h & 0xFF\n ];\n\n if (bits >= 256) {\n arr.push((h3l >> 24) & 0xFF, (h3l >> 16) & 0xFF, (h3l >> 8) & 0xFF, h3l & 0xFF);\n }\n if (bits >= 384) {\n arr.push(\n (h4h >> 24) & 0xFF, (h4h >> 16) & 0xFF, (h4h >> 8) & 0xFF, h4h & 0xFF,\n (h4l >> 24) & 0xFF, (h4l >> 16) & 0xFF, (h4l >> 8) & 0xFF, h4l & 0xFF,\n (h5h >> 24) & 0xFF, (h5h >> 16) & 0xFF, (h5h >> 8) & 0xFF, h5h & 0xFF,\n (h5l >> 24) & 0xFF, (h5l >> 16) & 0xFF, (h5l >> 8) & 0xFF, h5l & 0xFF\n );\n }\n if (bits == 512) {\n arr.push(\n (h6h >> 24) & 0xFF, (h6h >> 16) & 0xFF, (h6h >> 8) & 0xFF, h6h & 0xFF,\n (h6l >> 24) & 0xFF, (h6l >> 16) & 0xFF, (h6l >> 8) & 0xFF, h6l & 0xFF,\n (h7h >> 24) & 0xFF, (h7h >> 16) & 0xFF, (h7h >> 8) & 0xFF, h7h & 0xFF,\n (h7l >> 24) & 0xFF, (h7l >> 16) & 0xFF, (h7l >> 8) & 0xFF, h7l & 0xFF\n );\n }\n return arr;\n };\n\n Sha512.prototype.array = Sha512.prototype.digest;\n\n Sha512.prototype.arrayBuffer = function () {\n this.finalize();\n\n var bits = this.bits;\n var buffer = new ArrayBuffer(bits / 8);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0h);\n dataView.setUint32(4, this.h0l);\n dataView.setUint32(8, this.h1h);\n dataView.setUint32(12, this.h1l);\n dataView.setUint32(16, this.h2h);\n dataView.setUint32(20, this.h2l);\n dataView.setUint32(24, this.h3h);\n\n if (bits >= 256) {\n dataView.setUint32(28, this.h3l);\n }\n if (bits >= 384) {\n dataView.setUint32(32, this.h4h);\n dataView.setUint32(36, this.h4l);\n dataView.setUint32(40, this.h5h);\n dataView.setUint32(44, this.h5l);\n }\n if (bits == 512) {\n dataView.setUint32(48, this.h6h);\n dataView.setUint32(52, this.h6l);\n dataView.setUint32(56, this.h7h);\n dataView.setUint32(60, this.h7l);\n }\n return buffer;\n };\n\n Sha512.prototype.clone = function () {\n var hash = new Sha512(this.bits, false);\n this.copyTo(hash);\n return hash;\n };\n\n Sha512.prototype.copyTo = function (hash) {\n var i = 0, attrs = [\n 'h0h', 'h0l', 'h1h', 'h1l', 'h2h', 'h2l', 'h3h', 'h3l', 'h4h', 'h4l', 'h5h', 'h5l', 'h6h', 'h6l', 'h7h', 'h7l',\n 'start', 'bytes', 'hBytes', 'finalized', 'hashed', 'lastByteIndex'\n ];\n for (i = 0; i < attrs.length; ++i) {\n hash[attrs[i]] = this[attrs[i]];\n }\n for (i = 0; i < this.blocks.length; ++i) {\n hash.blocks[i] = this.blocks[i];\n }\n };\n\n function HmacSha512(key, bits, sharedMemory) {\n var notString, type = typeof key;\n if (type !== 'string') {\n if (type === 'object') {\n if (key === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var length = key.length;\n if (!notString) {\n var bytes = [], length = key.length, index = 0, code;\n for (var i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >> 12));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >> 18));\n bytes[index++] = (0x80 | ((code >> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n }\n\n if (key.length > 128) {\n key = (new Sha512(bits, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (var i = 0; i < 128; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha512.call(this, bits, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha512.prototype = new Sha512();\n\n HmacSha512.prototype.finalize = function () {\n Sha512.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha512.call(this, this.bits, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha512.prototype.finalize.call(this);\n }\n };\n\n HmacSha512.prototype.clone = function () {\n var hash = new HmacSha512([], this.bits, false);\n this.copyTo(hash);\n hash.inner = this.inner;\n for (var i = 0; i < this.oKeyPad.length; ++i) {\n hash.oKeyPad[i] = this.oKeyPad[i];\n }\n return hash;\n };\n\n var exports = createMethod(512);\n exports.sha512 = exports;\n exports.sha384 = createMethod(384);\n exports.sha512_256 = createMethod(256);\n exports.sha512_224 = createMethod(224);\n exports.sha512.hmac = createHmacMethod(512);\n exports.sha384.hmac = createHmacMethod(384);\n exports.sha512_256.hmac = createHmacMethod(256);\n exports.sha512_224.hmac = createHmacMethod(224);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha512 = exports.sha512;\n root.sha384 = exports.sha384;\n root.sha512_256 = exports.sha512_256;\n root.sha512_224 = exports.sha512_224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","import nacl from 'tweetnacl';\nimport sha512 from 'js-sha512';\nimport { isReactNative } from '../utils/utils.js';\nexport function genericHash(arr) {\n return sha512.sha512_256.array(arr);\n}\nexport function randomBytes(length) {\n if (isReactNative()) {\n console.warn(`It looks like you're running in react-native. In order to perform common crypto operations you will need to polyfill common operations such as crypto.getRandomValues`);\n }\n return nacl.randomBytes(length);\n}\nexport function keyPairFromSeed(seed) {\n return nacl.sign.keyPair.fromSeed(seed);\n}\nexport function keyPair() {\n const seed = randomBytes(nacl.box.secretKeyLength);\n return keyPairFromSeed(seed);\n}\nexport function isValidSignatureLength(len) {\n return len === nacl.sign.signatureLength;\n}\nexport function keyPairFromSecretKey(sk) {\n return nacl.sign.keyPair.fromSecretKey(sk);\n}\nexport function sign(msg, secretKey) {\n return nacl.sign.detached(msg, secretKey);\n}\nexport function bytesEqual(a, b) {\n return nacl.verify(a, b);\n}\nexport function verify(message, signature, verifyKey) {\n return nacl.sign.detached.verify(message, signature, verifyKey);\n}\n// constants\nexport const PUBLIC_KEY_LENGTH = nacl.sign.publicKeyLength;\nexport const SECRET_KEY_LENGTH = nacl.sign.secretKeyLength;\nexport const HASH_BYTES_LENGTH = 32;\nexport const SEED_BTYES_LENGTH = 32;\n//# sourceMappingURL=naclWrappers.js.map","const english = [\n 'abandon',\n 'ability',\n 'able',\n 'about',\n 'above',\n 'absent',\n 'absorb',\n 'abstract',\n 'absurd',\n 'abuse',\n 'access',\n 'accident',\n 'account',\n 'accuse',\n 'achieve',\n 'acid',\n 'acoustic',\n 'acquire',\n 'across',\n 'act',\n 'action',\n 'actor',\n 'actress',\n 'actual',\n 'adapt',\n 'add',\n 'addict',\n 'address',\n 'adjust',\n 'admit',\n 'adult',\n 'advance',\n 'advice',\n 'aerobic',\n 'affair',\n 'afford',\n 'afraid',\n 'again',\n 'age',\n 'agent',\n 'agree',\n 'ahead',\n 'aim',\n 'air',\n 'airport',\n 'aisle',\n 'alarm',\n 'album',\n 'alcohol',\n 'alert',\n 'alien',\n 'all',\n 'alley',\n 'allow',\n 'almost',\n 'alone',\n 'alpha',\n 'already',\n 'also',\n 'alter',\n 'always',\n 'amateur',\n 'amazing',\n 'among',\n 'amount',\n 'amused',\n 'analyst',\n 'anchor',\n 'ancient',\n 'anger',\n 'angle',\n 'angry',\n 'animal',\n 'ankle',\n 'announce',\n 'annual',\n 'another',\n 'answer',\n 'antenna',\n 'antique',\n 'anxiety',\n 'any',\n 'apart',\n 'apology',\n 'appear',\n 'apple',\n 'approve',\n 'april',\n 'arch',\n 'arctic',\n 'area',\n 'arena',\n 'argue',\n 'arm',\n 'armed',\n 'armor',\n 'army',\n 'around',\n 'arrange',\n 'arrest',\n 'arrive',\n 'arrow',\n 'art',\n 'artefact',\n 'artist',\n 'artwork',\n 'ask',\n 'aspect',\n 'assault',\n 'asset',\n 'assist',\n 'assume',\n 'asthma',\n 'athlete',\n 'atom',\n 'attack',\n 'attend',\n 'attitude',\n 'attract',\n 'auction',\n 'audit',\n 'august',\n 'aunt',\n 'author',\n 'auto',\n 'autumn',\n 'average',\n 'avocado',\n 'avoid',\n 'awake',\n 'aware',\n 'away',\n 'awesome',\n 'awful',\n 'awkward',\n 'axis',\n 'baby',\n 'bachelor',\n 'bacon',\n 'badge',\n 'bag',\n 'balance',\n 'balcony',\n 'ball',\n 'bamboo',\n 'banana',\n 'banner',\n 'bar',\n 'barely',\n 'bargain',\n 'barrel',\n 'base',\n 'basic',\n 'basket',\n 'battle',\n 'beach',\n 'bean',\n 'beauty',\n 'because',\n 'become',\n 'beef',\n 'before',\n 'begin',\n 'behave',\n 'behind',\n 'believe',\n 'below',\n 'belt',\n 'bench',\n 'benefit',\n 'best',\n 'betray',\n 'better',\n 'between',\n 'beyond',\n 'bicycle',\n 'bid',\n 'bike',\n 'bind',\n 'biology',\n 'bird',\n 'birth',\n 'bitter',\n 'black',\n 'blade',\n 'blame',\n 'blanket',\n 'blast',\n 'bleak',\n 'bless',\n 'blind',\n 'blood',\n 'blossom',\n 'blouse',\n 'blue',\n 'blur',\n 'blush',\n 'board',\n 'boat',\n 'body',\n 'boil',\n 'bomb',\n 'bone',\n 'bonus',\n 'book',\n 'boost',\n 'border',\n 'boring',\n 'borrow',\n 'boss',\n 'bottom',\n 'bounce',\n 'box',\n 'boy',\n 'bracket',\n 'brain',\n 'brand',\n 'brass',\n 'brave',\n 'bread',\n 'breeze',\n 'brick',\n 'bridge',\n 'brief',\n 'bright',\n 'bring',\n 'brisk',\n 'broccoli',\n 'broken',\n 'bronze',\n 'broom',\n 'brother',\n 'brown',\n 'brush',\n 'bubble',\n 'buddy',\n 'budget',\n 'buffalo',\n 'build',\n 'bulb',\n 'bulk',\n 'bullet',\n 'bundle',\n 'bunker',\n 'burden',\n 'burger',\n 'burst',\n 'bus',\n 'business',\n 'busy',\n 'butter',\n 'buyer',\n 'buzz',\n 'cabbage',\n 'cabin',\n 'cable',\n 'cactus',\n 'cage',\n 'cake',\n 'call',\n 'calm',\n 'camera',\n 'camp',\n 'can',\n 'canal',\n 'cancel',\n 'candy',\n 'cannon',\n 'canoe',\n 'canvas',\n 'canyon',\n 'capable',\n 'capital',\n 'captain',\n 'car',\n 'carbon',\n 'card',\n 'cargo',\n 'carpet',\n 'carry',\n 'cart',\n 'case',\n 'cash',\n 'casino',\n 'castle',\n 'casual',\n 'cat',\n 'catalog',\n 'catch',\n 'category',\n 'cattle',\n 'caught',\n 'cause',\n 'caution',\n 'cave',\n 'ceiling',\n 'celery',\n 'cement',\n 'census',\n 'century',\n 'cereal',\n 'certain',\n 'chair',\n 'chalk',\n 'champion',\n 'change',\n 'chaos',\n 'chapter',\n 'charge',\n 'chase',\n 'chat',\n 'cheap',\n 'check',\n 'cheese',\n 'chef',\n 'cherry',\n 'chest',\n 'chicken',\n 'chief',\n 'child',\n 'chimney',\n 'choice',\n 'choose',\n 'chronic',\n 'chuckle',\n 'chunk',\n 'churn',\n 'cigar',\n 'cinnamon',\n 'circle',\n 'citizen',\n 'city',\n 'civil',\n 'claim',\n 'clap',\n 'clarify',\n 'claw',\n 'clay',\n 'clean',\n 'clerk',\n 'clever',\n 'click',\n 'client',\n 'cliff',\n 'climb',\n 'clinic',\n 'clip',\n 'clock',\n 'clog',\n 'close',\n 'cloth',\n 'cloud',\n 'clown',\n 'club',\n 'clump',\n 'cluster',\n 'clutch',\n 'coach',\n 'coast',\n 'coconut',\n 'code',\n 'coffee',\n 'coil',\n 'coin',\n 'collect',\n 'color',\n 'column',\n 'combine',\n 'come',\n 'comfort',\n 'comic',\n 'common',\n 'company',\n 'concert',\n 'conduct',\n 'confirm',\n 'congress',\n 'connect',\n 'consider',\n 'control',\n 'convince',\n 'cook',\n 'cool',\n 'copper',\n 'copy',\n 'coral',\n 'core',\n 'corn',\n 'correct',\n 'cost',\n 'cotton',\n 'couch',\n 'country',\n 'couple',\n 'course',\n 'cousin',\n 'cover',\n 'coyote',\n 'crack',\n 'cradle',\n 'craft',\n 'cram',\n 'crane',\n 'crash',\n 'crater',\n 'crawl',\n 'crazy',\n 'cream',\n 'credit',\n 'creek',\n 'crew',\n 'cricket',\n 'crime',\n 'crisp',\n 'critic',\n 'crop',\n 'cross',\n 'crouch',\n 'crowd',\n 'crucial',\n 'cruel',\n 'cruise',\n 'crumble',\n 'crunch',\n 'crush',\n 'cry',\n 'crystal',\n 'cube',\n 'culture',\n 'cup',\n 'cupboard',\n 'curious',\n 'current',\n 'curtain',\n 'curve',\n 'cushion',\n 'custom',\n 'cute',\n 'cycle',\n 'dad',\n 'damage',\n 'damp',\n 'dance',\n 'danger',\n 'daring',\n 'dash',\n 'daughter',\n 'dawn',\n 'day',\n 'deal',\n 'debate',\n 'debris',\n 'decade',\n 'december',\n 'decide',\n 'decline',\n 'decorate',\n 'decrease',\n 'deer',\n 'defense',\n 'define',\n 'defy',\n 'degree',\n 'delay',\n 'deliver',\n 'demand',\n 'demise',\n 'denial',\n 'dentist',\n 'deny',\n 'depart',\n 'depend',\n 'deposit',\n 'depth',\n 'deputy',\n 'derive',\n 'describe',\n 'desert',\n 'design',\n 'desk',\n 'despair',\n 'destroy',\n 'detail',\n 'detect',\n 'develop',\n 'device',\n 'devote',\n 'diagram',\n 'dial',\n 'diamond',\n 'diary',\n 'dice',\n 'diesel',\n 'diet',\n 'differ',\n 'digital',\n 'dignity',\n 'dilemma',\n 'dinner',\n 'dinosaur',\n 'direct',\n 'dirt',\n 'disagree',\n 'discover',\n 'disease',\n 'dish',\n 'dismiss',\n 'disorder',\n 'display',\n 'distance',\n 'divert',\n 'divide',\n 'divorce',\n 'dizzy',\n 'doctor',\n 'document',\n 'dog',\n 'doll',\n 'dolphin',\n 'domain',\n 'donate',\n 'donkey',\n 'donor',\n 'door',\n 'dose',\n 'double',\n 'dove',\n 'draft',\n 'dragon',\n 'drama',\n 'drastic',\n 'draw',\n 'dream',\n 'dress',\n 'drift',\n 'drill',\n 'drink',\n 'drip',\n 'drive',\n 'drop',\n 'drum',\n 'dry',\n 'duck',\n 'dumb',\n 'dune',\n 'during',\n 'dust',\n 'dutch',\n 'duty',\n 'dwarf',\n 'dynamic',\n 'eager',\n 'eagle',\n 'early',\n 'earn',\n 'earth',\n 'easily',\n 'east',\n 'easy',\n 'echo',\n 'ecology',\n 'economy',\n 'edge',\n 'edit',\n 'educate',\n 'effort',\n 'egg',\n 'eight',\n 'either',\n 'elbow',\n 'elder',\n 'electric',\n 'elegant',\n 'element',\n 'elephant',\n 'elevator',\n 'elite',\n 'else',\n 'embark',\n 'embody',\n 'embrace',\n 'emerge',\n 'emotion',\n 'employ',\n 'empower',\n 'empty',\n 'enable',\n 'enact',\n 'end',\n 'endless',\n 'endorse',\n 'enemy',\n 'energy',\n 'enforce',\n 'engage',\n 'engine',\n 'enhance',\n 'enjoy',\n 'enlist',\n 'enough',\n 'enrich',\n 'enroll',\n 'ensure',\n 'enter',\n 'entire',\n 'entry',\n 'envelope',\n 'episode',\n 'equal',\n 'equip',\n 'era',\n 'erase',\n 'erode',\n 'erosion',\n 'error',\n 'erupt',\n 'escape',\n 'essay',\n 'essence',\n 'estate',\n 'eternal',\n 'ethics',\n 'evidence',\n 'evil',\n 'evoke',\n 'evolve',\n 'exact',\n 'example',\n 'excess',\n 'exchange',\n 'excite',\n 'exclude',\n 'excuse',\n 'execute',\n 'exercise',\n 'exhaust',\n 'exhibit',\n 'exile',\n 'exist',\n 'exit',\n 'exotic',\n 'expand',\n 'expect',\n 'expire',\n 'explain',\n 'expose',\n 'express',\n 'extend',\n 'extra',\n 'eye',\n 'eyebrow',\n 'fabric',\n 'face',\n 'faculty',\n 'fade',\n 'faint',\n 'faith',\n 'fall',\n 'false',\n 'fame',\n 'family',\n 'famous',\n 'fan',\n 'fancy',\n 'fantasy',\n 'farm',\n 'fashion',\n 'fat',\n 'fatal',\n 'father',\n 'fatigue',\n 'fault',\n 'favorite',\n 'feature',\n 'february',\n 'federal',\n 'fee',\n 'feed',\n 'feel',\n 'female',\n 'fence',\n 'festival',\n 'fetch',\n 'fever',\n 'few',\n 'fiber',\n 'fiction',\n 'field',\n 'figure',\n 'file',\n 'film',\n 'filter',\n 'final',\n 'find',\n 'fine',\n 'finger',\n 'finish',\n 'fire',\n 'firm',\n 'first',\n 'fiscal',\n 'fish',\n 'fit',\n 'fitness',\n 'fix',\n 'flag',\n 'flame',\n 'flash',\n 'flat',\n 'flavor',\n 'flee',\n 'flight',\n 'flip',\n 'float',\n 'flock',\n 'floor',\n 'flower',\n 'fluid',\n 'flush',\n 'fly',\n 'foam',\n 'focus',\n 'fog',\n 'foil',\n 'fold',\n 'follow',\n 'food',\n 'foot',\n 'force',\n 'forest',\n 'forget',\n 'fork',\n 'fortune',\n 'forum',\n 'forward',\n 'fossil',\n 'foster',\n 'found',\n 'fox',\n 'fragile',\n 'frame',\n 'frequent',\n 'fresh',\n 'friend',\n 'fringe',\n 'frog',\n 'front',\n 'frost',\n 'frown',\n 'frozen',\n 'fruit',\n 'fuel',\n 'fun',\n 'funny',\n 'furnace',\n 'fury',\n 'future',\n 'gadget',\n 'gain',\n 'galaxy',\n 'gallery',\n 'game',\n 'gap',\n 'garage',\n 'garbage',\n 'garden',\n 'garlic',\n 'garment',\n 'gas',\n 'gasp',\n 'gate',\n 'gather',\n 'gauge',\n 'gaze',\n 'general',\n 'genius',\n 'genre',\n 'gentle',\n 'genuine',\n 'gesture',\n 'ghost',\n 'giant',\n 'gift',\n 'giggle',\n 'ginger',\n 'giraffe',\n 'girl',\n 'give',\n 'glad',\n 'glance',\n 'glare',\n 'glass',\n 'glide',\n 'glimpse',\n 'globe',\n 'gloom',\n 'glory',\n 'glove',\n 'glow',\n 'glue',\n 'goat',\n 'goddess',\n 'gold',\n 'good',\n 'goose',\n 'gorilla',\n 'gospel',\n 'gossip',\n 'govern',\n 'gown',\n 'grab',\n 'grace',\n 'grain',\n 'grant',\n 'grape',\n 'grass',\n 'gravity',\n 'great',\n 'green',\n 'grid',\n 'grief',\n 'grit',\n 'grocery',\n 'group',\n 'grow',\n 'grunt',\n 'guard',\n 'guess',\n 'guide',\n 'guilt',\n 'guitar',\n 'gun',\n 'gym',\n 'habit',\n 'hair',\n 'half',\n 'hammer',\n 'hamster',\n 'hand',\n 'happy',\n 'harbor',\n 'hard',\n 'harsh',\n 'harvest',\n 'hat',\n 'have',\n 'hawk',\n 'hazard',\n 'head',\n 'health',\n 'heart',\n 'heavy',\n 'hedgehog',\n 'height',\n 'hello',\n 'helmet',\n 'help',\n 'hen',\n 'hero',\n 'hidden',\n 'high',\n 'hill',\n 'hint',\n 'hip',\n 'hire',\n 'history',\n 'hobby',\n 'hockey',\n 'hold',\n 'hole',\n 'holiday',\n 'hollow',\n 'home',\n 'honey',\n 'hood',\n 'hope',\n 'horn',\n 'horror',\n 'horse',\n 'hospital',\n 'host',\n 'hotel',\n 'hour',\n 'hover',\n 'hub',\n 'huge',\n 'human',\n 'humble',\n 'humor',\n 'hundred',\n 'hungry',\n 'hunt',\n 'hurdle',\n 'hurry',\n 'hurt',\n 'husband',\n 'hybrid',\n 'ice',\n 'icon',\n 'idea',\n 'identify',\n 'idle',\n 'ignore',\n 'ill',\n 'illegal',\n 'illness',\n 'image',\n 'imitate',\n 'immense',\n 'immune',\n 'impact',\n 'impose',\n 'improve',\n 'impulse',\n 'inch',\n 'include',\n 'income',\n 'increase',\n 'index',\n 'indicate',\n 'indoor',\n 'industry',\n 'infant',\n 'inflict',\n 'inform',\n 'inhale',\n 'inherit',\n 'initial',\n 'inject',\n 'injury',\n 'inmate',\n 'inner',\n 'innocent',\n 'input',\n 'inquiry',\n 'insane',\n 'insect',\n 'inside',\n 'inspire',\n 'install',\n 'intact',\n 'interest',\n 'into',\n 'invest',\n 'invite',\n 'involve',\n 'iron',\n 'island',\n 'isolate',\n 'issue',\n 'item',\n 'ivory',\n 'jacket',\n 'jaguar',\n 'jar',\n 'jazz',\n 'jealous',\n 'jeans',\n 'jelly',\n 'jewel',\n 'job',\n 'join',\n 'joke',\n 'journey',\n 'joy',\n 'judge',\n 'juice',\n 'jump',\n 'jungle',\n 'junior',\n 'junk',\n 'just',\n 'kangaroo',\n 'keen',\n 'keep',\n 'ketchup',\n 'key',\n 'kick',\n 'kid',\n 'kidney',\n 'kind',\n 'kingdom',\n 'kiss',\n 'kit',\n 'kitchen',\n 'kite',\n 'kitten',\n 'kiwi',\n 'knee',\n 'knife',\n 'knock',\n 'know',\n 'lab',\n 'label',\n 'labor',\n 'ladder',\n 'lady',\n 'lake',\n 'lamp',\n 'language',\n 'laptop',\n 'large',\n 'later',\n 'latin',\n 'laugh',\n 'laundry',\n 'lava',\n 'law',\n 'lawn',\n 'lawsuit',\n 'layer',\n 'lazy',\n 'leader',\n 'leaf',\n 'learn',\n 'leave',\n 'lecture',\n 'left',\n 'leg',\n 'legal',\n 'legend',\n 'leisure',\n 'lemon',\n 'lend',\n 'length',\n 'lens',\n 'leopard',\n 'lesson',\n 'letter',\n 'level',\n 'liar',\n 'liberty',\n 'library',\n 'license',\n 'life',\n 'lift',\n 'light',\n 'like',\n 'limb',\n 'limit',\n 'link',\n 'lion',\n 'liquid',\n 'list',\n 'little',\n 'live',\n 'lizard',\n 'load',\n 'loan',\n 'lobster',\n 'local',\n 'lock',\n 'logic',\n 'lonely',\n 'long',\n 'loop',\n 'lottery',\n 'loud',\n 'lounge',\n 'love',\n 'loyal',\n 'lucky',\n 'luggage',\n 'lumber',\n 'lunar',\n 'lunch',\n 'luxury',\n 'lyrics',\n 'machine',\n 'mad',\n 'magic',\n 'magnet',\n 'maid',\n 'mail',\n 'main',\n 'major',\n 'make',\n 'mammal',\n 'man',\n 'manage',\n 'mandate',\n 'mango',\n 'mansion',\n 'manual',\n 'maple',\n 'marble',\n 'march',\n 'margin',\n 'marine',\n 'market',\n 'marriage',\n 'mask',\n 'mass',\n 'master',\n 'match',\n 'material',\n 'math',\n 'matrix',\n 'matter',\n 'maximum',\n 'maze',\n 'meadow',\n 'mean',\n 'measure',\n 'meat',\n 'mechanic',\n 'medal',\n 'media',\n 'melody',\n 'melt',\n 'member',\n 'memory',\n 'mention',\n 'menu',\n 'mercy',\n 'merge',\n 'merit',\n 'merry',\n 'mesh',\n 'message',\n 'metal',\n 'method',\n 'middle',\n 'midnight',\n 'milk',\n 'million',\n 'mimic',\n 'mind',\n 'minimum',\n 'minor',\n 'minute',\n 'miracle',\n 'mirror',\n 'misery',\n 'miss',\n 'mistake',\n 'mix',\n 'mixed',\n 'mixture',\n 'mobile',\n 'model',\n 'modify',\n 'mom',\n 'moment',\n 'monitor',\n 'monkey',\n 'monster',\n 'month',\n 'moon',\n 'moral',\n 'more',\n 'morning',\n 'mosquito',\n 'mother',\n 'motion',\n 'motor',\n 'mountain',\n 'mouse',\n 'move',\n 'movie',\n 'much',\n 'muffin',\n 'mule',\n 'multiply',\n 'muscle',\n 'museum',\n 'mushroom',\n 'music',\n 'must',\n 'mutual',\n 'myself',\n 'mystery',\n 'myth',\n 'naive',\n 'name',\n 'napkin',\n 'narrow',\n 'nasty',\n 'nation',\n 'nature',\n 'near',\n 'neck',\n 'need',\n 'negative',\n 'neglect',\n 'neither',\n 'nephew',\n 'nerve',\n 'nest',\n 'net',\n 'network',\n 'neutral',\n 'never',\n 'news',\n 'next',\n 'nice',\n 'night',\n 'noble',\n 'noise',\n 'nominee',\n 'noodle',\n 'normal',\n 'north',\n 'nose',\n 'notable',\n 'note',\n 'nothing',\n 'notice',\n 'novel',\n 'now',\n 'nuclear',\n 'number',\n 'nurse',\n 'nut',\n 'oak',\n 'obey',\n 'object',\n 'oblige',\n 'obscure',\n 'observe',\n 'obtain',\n 'obvious',\n 'occur',\n 'ocean',\n 'october',\n 'odor',\n 'off',\n 'offer',\n 'office',\n 'often',\n 'oil',\n 'okay',\n 'old',\n 'olive',\n 'olympic',\n 'omit',\n 'once',\n 'one',\n 'onion',\n 'online',\n 'only',\n 'open',\n 'opera',\n 'opinion',\n 'oppose',\n 'option',\n 'orange',\n 'orbit',\n 'orchard',\n 'order',\n 'ordinary',\n 'organ',\n 'orient',\n 'original',\n 'orphan',\n 'ostrich',\n 'other',\n 'outdoor',\n 'outer',\n 'output',\n 'outside',\n 'oval',\n 'oven',\n 'over',\n 'own',\n 'owner',\n 'oxygen',\n 'oyster',\n 'ozone',\n 'pact',\n 'paddle',\n 'page',\n 'pair',\n 'palace',\n 'palm',\n 'panda',\n 'panel',\n 'panic',\n 'panther',\n 'paper',\n 'parade',\n 'parent',\n 'park',\n 'parrot',\n 'party',\n 'pass',\n 'patch',\n 'path',\n 'patient',\n 'patrol',\n 'pattern',\n 'pause',\n 'pave',\n 'payment',\n 'peace',\n 'peanut',\n 'pear',\n 'peasant',\n 'pelican',\n 'pen',\n 'penalty',\n 'pencil',\n 'people',\n 'pepper',\n 'perfect',\n 'permit',\n 'person',\n 'pet',\n 'phone',\n 'photo',\n 'phrase',\n 'physical',\n 'piano',\n 'picnic',\n 'picture',\n 'piece',\n 'pig',\n 'pigeon',\n 'pill',\n 'pilot',\n 'pink',\n 'pioneer',\n 'pipe',\n 'pistol',\n 'pitch',\n 'pizza',\n 'place',\n 'planet',\n 'plastic',\n 'plate',\n 'play',\n 'please',\n 'pledge',\n 'pluck',\n 'plug',\n 'plunge',\n 'poem',\n 'poet',\n 'point',\n 'polar',\n 'pole',\n 'police',\n 'pond',\n 'pony',\n 'pool',\n 'popular',\n 'portion',\n 'position',\n 'possible',\n 'post',\n 'potato',\n 'pottery',\n 'poverty',\n 'powder',\n 'power',\n 'practice',\n 'praise',\n 'predict',\n 'prefer',\n 'prepare',\n 'present',\n 'pretty',\n 'prevent',\n 'price',\n 'pride',\n 'primary',\n 'print',\n 'priority',\n 'prison',\n 'private',\n 'prize',\n 'problem',\n 'process',\n 'produce',\n 'profit',\n 'program',\n 'project',\n 'promote',\n 'proof',\n 'property',\n 'prosper',\n 'protect',\n 'proud',\n 'provide',\n 'public',\n 'pudding',\n 'pull',\n 'pulp',\n 'pulse',\n 'pumpkin',\n 'punch',\n 'pupil',\n 'puppy',\n 'purchase',\n 'purity',\n 'purpose',\n 'purse',\n 'push',\n 'put',\n 'puzzle',\n 'pyramid',\n 'quality',\n 'quantum',\n 'quarter',\n 'question',\n 'quick',\n 'quit',\n 'quiz',\n 'quote',\n 'rabbit',\n 'raccoon',\n 'race',\n 'rack',\n 'radar',\n 'radio',\n 'rail',\n 'rain',\n 'raise',\n 'rally',\n 'ramp',\n 'ranch',\n 'random',\n 'range',\n 'rapid',\n 'rare',\n 'rate',\n 'rather',\n 'raven',\n 'raw',\n 'razor',\n 'ready',\n 'real',\n 'reason',\n 'rebel',\n 'rebuild',\n 'recall',\n 'receive',\n 'recipe',\n 'record',\n 'recycle',\n 'reduce',\n 'reflect',\n 'reform',\n 'refuse',\n 'region',\n 'regret',\n 'regular',\n 'reject',\n 'relax',\n 'release',\n 'relief',\n 'rely',\n 'remain',\n 'remember',\n 'remind',\n 'remove',\n 'render',\n 'renew',\n 'rent',\n 'reopen',\n 'repair',\n 'repeat',\n 'replace',\n 'report',\n 'require',\n 'rescue',\n 'resemble',\n 'resist',\n 'resource',\n 'response',\n 'result',\n 'retire',\n 'retreat',\n 'return',\n 'reunion',\n 'reveal',\n 'review',\n 'reward',\n 'rhythm',\n 'rib',\n 'ribbon',\n 'rice',\n 'rich',\n 'ride',\n 'ridge',\n 'rifle',\n 'right',\n 'rigid',\n 'ring',\n 'riot',\n 'ripple',\n 'risk',\n 'ritual',\n 'rival',\n 'river',\n 'road',\n 'roast',\n 'robot',\n 'robust',\n 'rocket',\n 'romance',\n 'roof',\n 'rookie',\n 'room',\n 'rose',\n 'rotate',\n 'rough',\n 'round',\n 'route',\n 'royal',\n 'rubber',\n 'rude',\n 'rug',\n 'rule',\n 'run',\n 'runway',\n 'rural',\n 'sad',\n 'saddle',\n 'sadness',\n 'safe',\n 'sail',\n 'salad',\n 'salmon',\n 'salon',\n 'salt',\n 'salute',\n 'same',\n 'sample',\n 'sand',\n 'satisfy',\n 'satoshi',\n 'sauce',\n 'sausage',\n 'save',\n 'say',\n 'scale',\n 'scan',\n 'scare',\n 'scatter',\n 'scene',\n 'scheme',\n 'school',\n 'science',\n 'scissors',\n 'scorpion',\n 'scout',\n 'scrap',\n 'screen',\n 'script',\n 'scrub',\n 'sea',\n 'search',\n 'season',\n 'seat',\n 'second',\n 'secret',\n 'section',\n 'security',\n 'seed',\n 'seek',\n 'segment',\n 'select',\n 'sell',\n 'seminar',\n 'senior',\n 'sense',\n 'sentence',\n 'series',\n 'service',\n 'session',\n 'settle',\n 'setup',\n 'seven',\n 'shadow',\n 'shaft',\n 'shallow',\n 'share',\n 'shed',\n 'shell',\n 'sheriff',\n 'shield',\n 'shift',\n 'shine',\n 'ship',\n 'shiver',\n 'shock',\n 'shoe',\n 'shoot',\n 'shop',\n 'short',\n 'shoulder',\n 'shove',\n 'shrimp',\n 'shrug',\n 'shuffle',\n 'shy',\n 'sibling',\n 'sick',\n 'side',\n 'siege',\n 'sight',\n 'sign',\n 'silent',\n 'silk',\n 'silly',\n 'silver',\n 'similar',\n 'simple',\n 'since',\n 'sing',\n 'siren',\n 'sister',\n 'situate',\n 'six',\n 'size',\n 'skate',\n 'sketch',\n 'ski',\n 'skill',\n 'skin',\n 'skirt',\n 'skull',\n 'slab',\n 'slam',\n 'sleep',\n 'slender',\n 'slice',\n 'slide',\n 'slight',\n 'slim',\n 'slogan',\n 'slot',\n 'slow',\n 'slush',\n 'small',\n 'smart',\n 'smile',\n 'smoke',\n 'smooth',\n 'snack',\n 'snake',\n 'snap',\n 'sniff',\n 'snow',\n 'soap',\n 'soccer',\n 'social',\n 'sock',\n 'soda',\n 'soft',\n 'solar',\n 'soldier',\n 'solid',\n 'solution',\n 'solve',\n 'someone',\n 'song',\n 'soon',\n 'sorry',\n 'sort',\n 'soul',\n 'sound',\n 'soup',\n 'source',\n 'south',\n 'space',\n 'spare',\n 'spatial',\n 'spawn',\n 'speak',\n 'special',\n 'speed',\n 'spell',\n 'spend',\n 'sphere',\n 'spice',\n 'spider',\n 'spike',\n 'spin',\n 'spirit',\n 'split',\n 'spoil',\n 'sponsor',\n 'spoon',\n 'sport',\n 'spot',\n 'spray',\n 'spread',\n 'spring',\n 'spy',\n 'square',\n 'squeeze',\n 'squirrel',\n 'stable',\n 'stadium',\n 'staff',\n 'stage',\n 'stairs',\n 'stamp',\n 'stand',\n 'start',\n 'state',\n 'stay',\n 'steak',\n 'steel',\n 'stem',\n 'step',\n 'stereo',\n 'stick',\n 'still',\n 'sting',\n 'stock',\n 'stomach',\n 'stone',\n 'stool',\n 'story',\n 'stove',\n 'strategy',\n 'street',\n 'strike',\n 'strong',\n 'struggle',\n 'student',\n 'stuff',\n 'stumble',\n 'style',\n 'subject',\n 'submit',\n 'subway',\n 'success',\n 'such',\n 'sudden',\n 'suffer',\n 'sugar',\n 'suggest',\n 'suit',\n 'summer',\n 'sun',\n 'sunny',\n 'sunset',\n 'super',\n 'supply',\n 'supreme',\n 'sure',\n 'surface',\n 'surge',\n 'surprise',\n 'surround',\n 'survey',\n 'suspect',\n 'sustain',\n 'swallow',\n 'swamp',\n 'swap',\n 'swarm',\n 'swear',\n 'sweet',\n 'swift',\n 'swim',\n 'swing',\n 'switch',\n 'sword',\n 'symbol',\n 'symptom',\n 'syrup',\n 'system',\n 'table',\n 'tackle',\n 'tag',\n 'tail',\n 'talent',\n 'talk',\n 'tank',\n 'tape',\n 'target',\n 'task',\n 'taste',\n 'tattoo',\n 'taxi',\n 'teach',\n 'team',\n 'tell',\n 'ten',\n 'tenant',\n 'tennis',\n 'tent',\n 'term',\n 'test',\n 'text',\n 'thank',\n 'that',\n 'theme',\n 'then',\n 'theory',\n 'there',\n 'they',\n 'thing',\n 'this',\n 'thought',\n 'three',\n 'thrive',\n 'throw',\n 'thumb',\n 'thunder',\n 'ticket',\n 'tide',\n 'tiger',\n 'tilt',\n 'timber',\n 'time',\n 'tiny',\n 'tip',\n 'tired',\n 'tissue',\n 'title',\n 'toast',\n 'tobacco',\n 'today',\n 'toddler',\n 'toe',\n 'together',\n 'toilet',\n 'token',\n 'tomato',\n 'tomorrow',\n 'tone',\n 'tongue',\n 'tonight',\n 'tool',\n 'tooth',\n 'top',\n 'topic',\n 'topple',\n 'torch',\n 'tornado',\n 'tortoise',\n 'toss',\n 'total',\n 'tourist',\n 'toward',\n 'tower',\n 'town',\n 'toy',\n 'track',\n 'trade',\n 'traffic',\n 'tragic',\n 'train',\n 'transfer',\n 'trap',\n 'trash',\n 'travel',\n 'tray',\n 'treat',\n 'tree',\n 'trend',\n 'trial',\n 'tribe',\n 'trick',\n 'trigger',\n 'trim',\n 'trip',\n 'trophy',\n 'trouble',\n 'truck',\n 'true',\n 'truly',\n 'trumpet',\n 'trust',\n 'truth',\n 'try',\n 'tube',\n 'tuition',\n 'tumble',\n 'tuna',\n 'tunnel',\n 'turkey',\n 'turn',\n 'turtle',\n 'twelve',\n 'twenty',\n 'twice',\n 'twin',\n 'twist',\n 'two',\n 'type',\n 'typical',\n 'ugly',\n 'umbrella',\n 'unable',\n 'unaware',\n 'uncle',\n 'uncover',\n 'under',\n 'undo',\n 'unfair',\n 'unfold',\n 'unhappy',\n 'uniform',\n 'unique',\n 'unit',\n 'universe',\n 'unknown',\n 'unlock',\n 'until',\n 'unusual',\n 'unveil',\n 'update',\n 'upgrade',\n 'uphold',\n 'upon',\n 'upper',\n 'upset',\n 'urban',\n 'urge',\n 'usage',\n 'use',\n 'used',\n 'useful',\n 'useless',\n 'usual',\n 'utility',\n 'vacant',\n 'vacuum',\n 'vague',\n 'valid',\n 'valley',\n 'valve',\n 'van',\n 'vanish',\n 'vapor',\n 'various',\n 'vast',\n 'vault',\n 'vehicle',\n 'velvet',\n 'vendor',\n 'venture',\n 'venue',\n 'verb',\n 'verify',\n 'version',\n 'very',\n 'vessel',\n 'veteran',\n 'viable',\n 'vibrant',\n 'vicious',\n 'victory',\n 'video',\n 'view',\n 'village',\n 'vintage',\n 'violin',\n 'virtual',\n 'virus',\n 'visa',\n 'visit',\n 'visual',\n 'vital',\n 'vivid',\n 'vocal',\n 'voice',\n 'void',\n 'volcano',\n 'volume',\n 'vote',\n 'voyage',\n 'wage',\n 'wagon',\n 'wait',\n 'walk',\n 'wall',\n 'walnut',\n 'want',\n 'warfare',\n 'warm',\n 'warrior',\n 'wash',\n 'wasp',\n 'waste',\n 'water',\n 'wave',\n 'way',\n 'wealth',\n 'weapon',\n 'wear',\n 'weasel',\n 'weather',\n 'web',\n 'wedding',\n 'weekend',\n 'weird',\n 'welcome',\n 'west',\n 'wet',\n 'whale',\n 'what',\n 'wheat',\n 'wheel',\n 'when',\n 'where',\n 'whip',\n 'whisper',\n 'wide',\n 'width',\n 'wife',\n 'wild',\n 'will',\n 'win',\n 'window',\n 'wine',\n 'wing',\n 'wink',\n 'winner',\n 'winter',\n 'wire',\n 'wisdom',\n 'wise',\n 'wish',\n 'witness',\n 'wolf',\n 'woman',\n 'wonder',\n 'wood',\n 'wool',\n 'word',\n 'work',\n 'world',\n 'worry',\n 'worth',\n 'wrap',\n 'wreck',\n 'wrestle',\n 'wrist',\n 'write',\n 'wrong',\n 'yard',\n 'year',\n 'yellow',\n 'you',\n 'young',\n 'youth',\n 'zebra',\n 'zero',\n 'zone',\n 'zoo',\n];\nexport default english;\n//# sourceMappingURL=english.js.map","/* eslint-disable no-bitwise */\nimport english from './wordlists/english.js';\nimport * as nacl from '../nacl/naclWrappers.js';\nimport { Address } from '../encoding/address.js';\nexport const FAIL_TO_DECODE_MNEMONIC_ERROR_MSG = 'failed to decode mnemonic';\nexport const NOT_IN_WORDS_LIST_ERROR_MSG = 'the mnemonic contains a word that is not in the wordlist';\n// https://stackoverflow.com/a/51452614\nfunction toUint11Array(buffer8) {\n const buffer11 = [];\n let acc = 0;\n let accBits = 0;\n function add(octet) {\n acc |= octet << accBits;\n accBits += 8;\n if (accBits >= 11) {\n buffer11.push(acc & 0x7ff);\n acc >>= 11;\n accBits -= 11;\n }\n }\n function flush() {\n if (accBits) {\n buffer11.push(acc);\n }\n }\n buffer8.forEach(add);\n flush();\n return buffer11;\n}\nfunction applyWords(nums) {\n return nums.map((n) => english[n]);\n}\nfunction computeChecksum(seed) {\n const hashBuffer = nacl.genericHash(seed);\n const uint11Hash = toUint11Array(hashBuffer);\n const words = applyWords(uint11Hash);\n return words[0];\n}\n/**\n * mnemonicFromSeed converts a 32-byte key into a 25 word mnemonic. The generated mnemonic includes a checksum.\n * Each word in the mnemonic represents 11 bits of data, and the last 11 bits are reserved for the checksum.\n * @param seed - 32 bytes long seed\n * @returns 25 words mnemonic\n */\nexport function mnemonicFromSeed(seed) {\n // Sanity length check\n if (seed.length !== nacl.SEED_BTYES_LENGTH) {\n throw new RangeError(`Seed length must be ${nacl.SEED_BTYES_LENGTH}`);\n }\n const uint11Array = toUint11Array(seed);\n const words = applyWords(uint11Array);\n const checksumWord = computeChecksum(seed);\n return `${words.join(' ')} ${checksumWord}`;\n}\n// from Uint11Array\n// https://stackoverflow.com/a/51452614\nfunction toUint8Array(buffer11) {\n const buffer8 = [];\n let acc = 0;\n let accBits = 0;\n function add(ui11) {\n acc |= ui11 << accBits;\n accBits += 11;\n while (accBits >= 8) {\n buffer8.push(acc & 0xff);\n acc >>= 8;\n accBits -= 8;\n }\n }\n function flush() {\n if (accBits) {\n buffer8.push(acc);\n }\n }\n buffer11.forEach(add);\n flush();\n return new Uint8Array(buffer8);\n}\n/**\n * seedFromMnemonic converts a mnemonic generated using this library into the source key used to create it.\n * It returns an error if the passed mnemonic has an incorrect checksum, if the number of words is unexpected, or if one\n * of the passed words is not found in the words list.\n * @param mnemonic - 25 words mnemonic\n * @returns 32 bytes long seed\n */\nexport function seedFromMnemonic(mnemonic) {\n const words = mnemonic.split(' ');\n const key = words.slice(0, 24);\n // Check that all words are in list\n for (const w of key) {\n if (english.indexOf(w) === -1)\n throw new Error(NOT_IN_WORDS_LIST_ERROR_MSG);\n }\n const checksum = words[words.length - 1];\n const uint11Array = key.map((word) => english.indexOf(word));\n // Convert the key to uint8Array\n let uint8Array = toUint8Array(uint11Array);\n // We need to chop the last byte -\n // the short explanation - Since 256 is not divisible by 11, we have an extra 0x0 byte.\n // The longer explanation - When splitting the 256 bits to chunks of 11, we get 23 words and a left over of 3 bits.\n // This left gets padded with another 8 bits to the create the 24th word.\n // While converting back to byte array, our new 264 bits array is divisible by 8 but the last byte is just the padding.\n // check that we have 33 bytes long array as expected\n if (uint8Array.length !== 33)\n throw new Error(FAIL_TO_DECODE_MNEMONIC_ERROR_MSG);\n // check that the last byte is actually 0x0\n if (uint8Array[uint8Array.length - 1] !== 0x0)\n throw new Error(FAIL_TO_DECODE_MNEMONIC_ERROR_MSG);\n // chop it !\n uint8Array = uint8Array.slice(0, uint8Array.length - 1);\n // compute checksum\n const cs = computeChecksum(uint8Array);\n // success!\n if (cs === checksum)\n return uint8Array;\n throw new Error(FAIL_TO_DECODE_MNEMONIC_ERROR_MSG);\n}\n/**\n * mnemonicToSecretKey takes a mnemonic string and returns the corresponding Algorand address and its secret key.\n * @param mn - 25 words Algorand mnemonic\n * @throws error if fails to decode the mnemonic\n */\nexport function mnemonicToSecretKey(mn) {\n const seed = seedFromMnemonic(mn);\n const keys = nacl.keyPairFromSeed(seed);\n const addr = new Address(keys.publicKey);\n return { addr, sk: keys.secretKey };\n}\n/**\n * secretKeyToMnemonic takes an Algorand secret key and returns the corresponding mnemonic.\n * @param sk - Algorand secret key\n * @returns Secret key's associated mnemonic\n */\nexport function secretKeyToMnemonic(sk) {\n // get the seed from the sk\n const seed = sk.slice(0, nacl.SEED_BTYES_LENGTH);\n return mnemonicFromSeed(seed);\n}\n/**\n * mnemonicToMasterDerivationKey takes a mnemonic string and returns the corresponding master derivation key.\n * @param mn - 25 words Algorand mnemonic\n * @returns Uint8Array\n * @throws error if fails to decode the mnemonic\n */\nexport function mnemonicToMasterDerivationKey(mn) {\n return seedFromMnemonic(mn);\n}\n/**\n * masterDerivationKeyToMnemonic takes a master derivation key and returns the corresponding mnemonic.\n * @param mdk - Uint8Array\n * @returns string mnemonic\n */\nexport function masterDerivationKeyToMnemonic(mdk) {\n return mnemonicFromSeed(mdk);\n}\n//# sourceMappingURL=mnemonic.js.map","import {\n FloatingFocusManager,\n FloatingOverlay,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react'\nimport { useWallet } from '@txnlab/use-wallet-react'\nimport { secretKeyToMnemonic } from 'algosdk'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\ntype DialogStep = 'warning' | 'loading' | 'display' | 'error'\n\nconst DEFAULT_DISPLAY_TIMEOUT = 120\n\nexport interface ExportKeyDialogProps {\n onClose: () => void\n displayTimeout?: number\n}\n\nexport function ExportKeyDialog({\n onClose,\n displayTimeout = DEFAULT_DISPLAY_TIMEOUT,\n}: ExportKeyDialogProps) {\n const { withPrivateKey } = useWallet()\n\n const [step, setStep] = useState<DialogStep>('warning')\n const [mnemonicWords, setMnemonicWords] = useState<string[] | null>(null)\n const [timeRemaining, setTimeRemaining] = useState(displayTimeout)\n const [hasCopied, setHasCopied] = useState(false)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [animationState, setAnimationState] = useState<\n 'starting' | 'entered' | 'exiting' | null\n >('starting')\n\n const timerRef = useRef<ReturnType<typeof setInterval> | null>(null)\n\n const { refs, context } = useFloating({\n open: true,\n onOpenChange: (open) => {\n if (!open) {\n handleClose()\n }\n },\n })\n\n const dismiss = useDismiss(context, { outsidePressEvent: 'mousedown' })\n const role = useRole(context, { role: 'dialog' })\n const { getFloatingProps } = useInteractions([dismiss, role])\n\n // Entry animation\n useEffect(() => {\n requestAnimationFrame(() => {\n setAnimationState('entered')\n })\n }, [])\n\n const clearSensitiveData = useCallback(() => {\n setMnemonicWords(null)\n if (hasCopied) {\n navigator.clipboard.writeText('').catch(() => {})\n }\n if (timerRef.current) {\n clearInterval(timerRef.current)\n timerRef.current = null\n }\n }, [hasCopied])\n\n const handleClose = useCallback(() => {\n clearSensitiveData()\n setAnimationState('exiting')\n setTimeout(() => {\n onClose()\n }, 150)\n }, [clearSensitiveData, onClose])\n\n // Countdown timer\n useEffect(() => {\n if (step !== 'display' || !mnemonicWords) return\n\n timerRef.current = setInterval(() => {\n setTimeRemaining((prev) => {\n if (prev <= 1) {\n handleClose()\n return 0\n }\n return prev - 1\n })\n }, 1000)\n\n return () => {\n if (timerRef.current) {\n clearInterval(timerRef.current)\n timerRef.current = null\n }\n }\n }, [step, mnemonicWords, handleClose])\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n setMnemonicWords(null)\n if (timerRef.current) {\n clearInterval(timerRef.current)\n }\n }\n }, [])\n\n const handleReveal = async () => {\n setStep('loading')\n try {\n await withPrivateKey(async (secretKey) => {\n const mnemonic = secretKeyToMnemonic(secretKey)\n setMnemonicWords(mnemonic.split(' '))\n setStep('display')\n })\n } catch (error) {\n setErrorMessage(\n error instanceof Error ? error.message : 'Failed to export key',\n )\n setStep('error')\n }\n }\n\n const handleCopy = () => {\n if (!mnemonicWords) return\n navigator.clipboard.writeText(mnemonicWords.join(' '))\n setHasCopied(true)\n setTimeout(() => setHasCopied(false), 2000)\n }\n\n const handleRetry = () => {\n setErrorMessage(null)\n setStep('warning')\n }\n\n const formatTime = (seconds: number): string => {\n const mins = Math.floor(seconds / 60)\n const secs = seconds % 60\n return `${mins}:${secs.toString().padStart(2, '0')}`\n }\n\n // Rendered inside PluginDialogRenderer's FloatingPortal,\n // so no FloatingPortal wrapper here\n return (\n <FloatingOverlay\n className=\"grid place-items-center px-4 z-50 transition-opacity duration-150 ease-in-out bg-[var(--wui-color-overlay)] data-[state=starting]:opacity-0 data-[state=exiting]:opacity-0 data-[state=entered]:opacity-100\"\n data-state={animationState}\n lockScroll\n >\n <FloatingFocusManager context={context} modal={true}>\n <div\n ref={refs.setFloating}\n {...getFloatingProps()}\n role=\"dialog\"\n aria-label={\n step === 'display' ? 'Recovery Phrase' : 'Export Recovery Phrase'\n }\n data-state={animationState}\n className=\"w-full max-w-sm rounded-3xl bg-[var(--wui-color-bg)] shadow-xl transform transition-all duration-150 ease-in-out data-[state=starting]:opacity-0 data-[state=starting]:scale-90 data-[state=exiting]:opacity-0 data-[state=exiting]:scale-90 data-[state=entered]:opacity-100 data-[state=entered]:scale-100\"\n style={{ marginTop: '-0.5rem' }}\n >\n {step === 'warning' && (\n <WarningStep onReveal={handleReveal} onClose={handleClose} />\n )}\n\n {step === 'loading' && <LoadingStep />}\n\n {step === 'display' && mnemonicWords && (\n <DisplayStep\n words={mnemonicWords}\n timeRemaining={timeRemaining}\n formatTime={formatTime}\n hasCopied={hasCopied}\n onCopy={handleCopy}\n onClose={handleClose}\n />\n )}\n\n {step === 'error' && (\n <ErrorStep\n message={errorMessage}\n onRetry={handleRetry}\n onClose={handleClose}\n />\n )}\n </div>\n </FloatingFocusManager>\n </FloatingOverlay>\n )\n}\n\nfunction WarningStep({\n onReveal,\n onClose,\n}: {\n onReveal: () => void\n onClose: () => void\n}) {\n return (\n <>\n {/* Header */}\n <div className=\"relative flex items-center px-6 pt-5 pb-4\">\n <h2 className=\"text-xl font-bold text-[var(--wui-color-text)] wallet-custom-font\">\n Export Recovery Phrase\n </h2>\n <button\n onClick={onClose}\n className=\"absolute right-4 rounded-full bg-[var(--wui-color-bg-tertiary)] p-2 text-[var(--wui-color-text-secondary)] hover:brightness-90 transition-all\"\n aria-label=\"Close dialog\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n {/* Warning content */}\n <div className=\"px-6 pb-4\">\n <div className=\"bg-[var(--wui-color-danger-bg)] rounded-xl p-4\">\n <div className=\"flex items-start gap-3\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5 text-[var(--wui-color-danger-text)] shrink-0 mt-0.5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 1.944A11.954 11.954 0 012.166 5C2.056 5.649 2 6.319 2 7c0 5.225 3.34 9.67 8 11.317C14.66 16.67 18 12.225 18 7c0-.682-.057-1.35-.166-2.001A11.954 11.954 0 0110 1.944zM11 14a1 1 0 11-2 0 1 1 0 012 0zm0-7a1 1 0 10-2 0v3a1 1 0 102 0V7z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <div>\n <p className=\"text-sm font-medium text-[var(--wui-color-danger-text)] mb-2\">\n Your recovery phrase gives full access to your account and\n funds.\n </p>\n <ul className=\"text-sm text-[var(--wui-color-danger-text)] space-y-1.5\">\n <li className=\"flex items-start gap-2\">\n <span className=\"shrink-0 mt-1\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-3 w-3\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n >\n <circle cx=\"6\" cy=\"6\" r=\"2\" />\n </svg>\n </span>\n Never share it with anyone\n </li>\n <li className=\"flex items-start gap-2\">\n <span className=\"shrink-0 mt-1\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-3 w-3\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n >\n <circle cx=\"6\" cy=\"6\" r=\"2\" />\n </svg>\n </span>\n Never enter it on unverified websites\n </li>\n <li className=\"flex items-start gap-2\">\n <span className=\"shrink-0 mt-1\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-3 w-3\"\n viewBox=\"0 0 12 12\"\n fill=\"currentColor\"\n >\n <circle cx=\"6\" cy=\"6\" r=\"2\" />\n </svg>\n </span>\n Write it down and store it securely\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n\n {/* Footer buttons */}\n <div className=\"px-6 pb-5 flex gap-2\">\n <button\n onClick={onClose}\n className=\"flex-1 py-2.5 px-4 bg-[var(--wui-color-bg-tertiary)] text-[var(--wui-color-text-secondary)] font-medium rounded-xl hover:brightness-90 transition-all text-sm\"\n >\n Cancel\n </button>\n <button\n onClick={onReveal}\n className=\"flex-1 py-2.5 px-4 bg-[var(--wui-color-danger-bg)] text-[var(--wui-color-danger-text)] font-medium rounded-xl hover:bg-[var(--wui-color-danger-bg-hover)] transition-colors text-sm\"\n >\n Reveal Recovery Phrase\n </button>\n </div>\n </>\n )\n}\n\nfunction LoadingStep() {\n return (\n <div className=\"px-6 py-12 flex flex-col items-center gap-3\">\n <svg\n className=\"h-8 w-8 text-[var(--wui-color-text-tertiary)] animate-spin\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n <p className=\"text-sm text-[var(--wui-color-text-secondary)]\">\n Retrieving key...\n </p>\n </div>\n )\n}\n\nfunction DisplayStep({\n words,\n timeRemaining,\n formatTime,\n hasCopied,\n onCopy,\n onClose,\n}: {\n words: string[]\n timeRemaining: number\n formatTime: (seconds: number) => string\n hasCopied: boolean\n onCopy: () => void\n onClose: () => void\n}) {\n return (\n <>\n {/* Header with timer */}\n <div className=\"relative flex items-center justify-between px-6 pt-5 pb-3\">\n <h2 className=\"text-xl font-bold text-[var(--wui-color-text)] wallet-custom-font\">\n Recovery Phrase\n </h2>\n <div className=\"flex items-center gap-2\">\n <span\n className=\"text-sm font-medium tabular-nums text-[var(--wui-color-text-secondary)]\"\n aria-label={`${timeRemaining} seconds remaining`}\n >\n {formatTime(timeRemaining)}\n </span>\n <button\n onClick={onClose}\n className=\"rounded-full bg-[var(--wui-color-bg-tertiary)] p-2 text-[var(--wui-color-text-secondary)] hover:brightness-90 transition-all\"\n aria-label=\"Close dialog\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n </div>\n\n {/* Mnemonic grid */}\n <div className=\"px-6 pb-4\">\n <div\n className=\"bg-[var(--wui-color-bg-secondary)] rounded-xl p-3\"\n style={{ userSelect: 'none' }}\n >\n <div className=\"grid grid-cols-3 gap-1.5\">\n {words.map((word, i) => (\n <div\n key={i}\n className=\"text-center py-1.5 px-1 rounded-lg bg-[var(--wui-color-bg)] border border-[var(--wui-color-border)]\"\n >\n <span className=\"text-[10px] leading-none text-[var(--wui-color-text-tertiary)] block mb-0.5\">\n {i + 1}\n </span>\n <span className=\"text-xs font-medium text-[var(--wui-color-text)]\">\n {word}\n </span>\n </div>\n ))}\n </div>\n </div>\n </div>\n\n {/* Action buttons */}\n <div className=\"px-6 pb-2 flex gap-2\">\n <button\n onClick={onCopy}\n className=\"flex-1 py-2 px-4 bg-[var(--wui-color-bg-tertiary)] text-[var(--wui-color-text-secondary)] font-medium rounded-xl hover:brightness-90 transition-all text-sm flex items-center justify-center\"\n title=\"Copy recovery phrase\"\n >\n {hasCopied ? (\n <>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 text-green-500 mr-1.5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n Copied\n </>\n ) : (\n <>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 mr-1.5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path d=\"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z\" />\n <path d=\"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z\" />\n </svg>\n Copy\n </>\n )}\n </button>\n <button\n onClick={onClose}\n className=\"flex-1 py-2 px-4 bg-[var(--wui-color-primary)] text-[var(--wui-color-primary-text)] font-medium rounded-xl hover:bg-[var(--wui-color-primary-hover)] transition-colors text-sm\"\n >\n Done\n </button>\n </div>\n\n {/* Clipboard warning */}\n <div className=\"px-6 pb-5\">\n <p className=\"text-xs text-[var(--wui-color-text-tertiary)] text-center\">\n Remember to clear your clipboard after use\n </p>\n </div>\n </>\n )\n}\n\nfunction ErrorStep({\n message,\n onRetry,\n onClose,\n}: {\n message: string | null\n onRetry: () => void\n onClose: () => void\n}) {\n return (\n <>\n {/* Header */}\n <div className=\"relative flex items-center px-6 pt-5 pb-4\">\n <h2 className=\"text-xl font-bold text-[var(--wui-color-text)] wallet-custom-font\">\n Export Recovery Phrase\n </h2>\n <button\n onClick={onClose}\n className=\"absolute right-4 rounded-full bg-[var(--wui-color-bg-tertiary)] p-2 text-[var(--wui-color-text-secondary)] hover:brightness-90 transition-all\"\n aria-label=\"Close dialog\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n </div>\n\n {/* Error content */}\n <div className=\"px-6 pb-4\">\n <div className=\"bg-[var(--wui-color-danger-bg)] rounded-xl p-4\">\n <div className=\"flex items-start gap-3\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5 text-[var(--wui-color-danger-text)] shrink-0 mt-0.5\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <p className=\"text-sm text-[var(--wui-color-danger-text)]\">\n {message || 'An unexpected error occurred.'}\n </p>\n </div>\n </div>\n </div>\n\n {/* Footer buttons */}\n <div className=\"px-6 pb-5 flex gap-2\">\n <button\n onClick={onClose}\n className=\"flex-1 py-2.5 px-4 bg-[var(--wui-color-bg-tertiary)] text-[var(--wui-color-text-secondary)] font-medium rounded-xl hover:brightness-90 transition-all text-sm\"\n >\n Cancel\n </button>\n <button\n onClick={onRetry}\n className=\"flex-1 py-2.5 px-4 bg-[var(--wui-color-primary)] text-[var(--wui-color-primary-text)] font-medium rounded-xl hover:bg-[var(--wui-color-primary-hover)] transition-colors text-sm\"\n >\n Try Again\n </button>\n </div>\n </>\n )\n}\n","import { EXPORT_KEY_DIALOG } from './constants'\n\nimport type { MenuRenderContext } from '../types'\n\nexport function ExportKeyMenuButton({ ctx }: { ctx: MenuRenderContext }) {\n const handleClick = () => {\n ctx.closeMenu()\n ctx.openDialog(EXPORT_KEY_DIALOG)\n }\n\n return (\n <>\n <div className=\"border-t border-[var(--wui-color-border)] mt-2 mb-2\" />\n <button\n onClick={handleClick}\n className=\"w-full flex items-center gap-2 px-2 py-2 rounded-lg text-sm text-[var(--wui-color-text-secondary)] hover:bg-[var(--wui-color-bg-hover)] transition-colors\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 shrink-0\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z\"\n clipRule=\"evenodd\"\n />\n </svg>\n <span className=\"flex-1 text-left\">Export Recovery Phrase</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4 shrink-0 opacity-50\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n </>\n )\n}\n","import { EXPORT_KEY_DIALOG } from './constants'\nimport { ExportKeyDialog } from './ExportKeyDialog'\nimport { ExportKeyMenuButton } from './ExportKeyMenuButton'\n\nimport type { WalletUIPlugin } from '../types'\n\nexport { EXPORT_KEY_DIALOG } from './constants'\n\nexport interface ExportKeyPluginOptions {\n /** How long to display the mnemonic before auto-closing (seconds). Default: 120 */\n displayTimeout?: number\n}\n\n/**\n * Plugin that adds wallet recovery phrase export to the ConnectedWalletMenu.\n * Only visible for wallets that support private key access (e.g., Web3Auth).\n */\nexport function exportKeyPlugin(\n options: ExportKeyPluginOptions = {},\n): WalletUIPlugin {\n const { displayTimeout } = options\n\n return {\n id: 'export-key',\n name: 'Export Recovery Phrase',\n\n menuItems: [\n {\n key: 'export-key-trigger',\n slot: 'after-wallet-info',\n order: 10,\n enabled: (ctx) => !!ctx.activeWallet?.canUsePrivateKey,\n render: (ctx) => <ExportKeyMenuButton ctx={ctx} />,\n },\n ],\n\n dialogs: [\n {\n key: EXPORT_KEY_DIALOG,\n render: ({ onClose }) => (\n <ExportKeyDialog onClose={onClose} displayTimeout={displayTimeout} />\n ),\n },\n ],\n }\n}\n"],"names":["EXPORT_KEY_DIALOG","INPUT_ERROR","FINALIZE_ERROR","WINDOW","root","WEB_WORKER","NODE_JS","global","COMMON_JS","module","ARRAY_BUFFER","HEX_CHARS","EXTRA","SHIFT","K","OUTPUT_TYPES","blocks","obj","createOutputMethod","outputType","bits","message","Sha512","createMethod","method","i","type","createHmacOutputMethod","key","HmacSha512","createHmacMethod","sharedMemory","notString","code","index","length","h0h","h0l","h1h","h1l","h2h","h2l","h3h","h3l","h4h","h4l","h5h","h5l","h6h","h6l","h7h","h7l","j","s0h","s0l","s1h","s1l","c1","c2","c3","c4","abh","abl","dah","dal","cdh","cdl","bch","bcl","majh","majl","t1h","t1l","t2h","t2l","chh","chl","ah","al","bh","bl","ch","cl","dh","dl","eh","el","fh","fl","gh","gl","hh","hl","hex","arr","buffer","dataView","hash","attrs","bytes","oKeyPad","iKeyPad","b","innerHash","exports","genericHash","sha512","SEED_BTYES_LENGTH","english","toUint11Array","buffer8","buffer11","acc","accBits","add","octet","flush","applyWords","nums","n","computeChecksum","seed","hashBuffer","nacl.genericHash","uint11Hash","mnemonicFromSeed","nacl.SEED_BTYES_LENGTH","uint11Array","words","checksumWord","secretKeyToMnemonic","sk","DEFAULT_DISPLAY_TIMEOUT","ExportKeyDialog","onClose","displayTimeout","withPrivateKey","useWallet","step","setStep","useState","mnemonicWords","setMnemonicWords","timeRemaining","setTimeRemaining","hasCopied","setHasCopied","errorMessage","setErrorMessage","animationState","setAnimationState","timerRef","useRef","refs","context","useFloating","open","handleClose","dismiss","useDismiss","role","useRole","getFloatingProps","useInteractions","useEffect","clearSensitiveData","useCallback","prev","handleReveal","secretKey","mnemonic","error","handleCopy","handleRetry","formatTime","seconds","mins","secs","jsx","FloatingOverlay","FloatingFocusManager","jsxs","WarningStep","LoadingStep","DisplayStep","ErrorStep","onReveal","Fragment","onCopy","word","onRetry","ExportKeyMenuButton","ctx","handleClick","exportKeyPlugin","options","_a"],"mappings":"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AaoG,EAAQ,WAC1BpG,EAAK,WAAaoG,EAAQ,WAO9B,mDC35BO,SAASC,GAAYX,EAAK,CAC7B,OAAOY,GAAO,WAAW,MAAMZ,CAAG,CACtC,CAiCO,MAAMa,GAAoB,GCtC3BC,GAAU,CACZ,UACA,UACA,OACA,QACA,QACA,SACA,SACA,WACA,SACA,QACA,SACA,WACA,UACA,SACA,UACA,OACA,WACA,UACA,SACA,MACA,SACA,QACA,UACA,SACA,QACA,MACA,SACA,UACA,SACA,QACA,QACA,UACA,SACA,UACA,SACA,SACA,SACA,QACA,MACA,QACA,QACA,QACA,MACA,MACA,UACA,QACA,QACA,QACA,UACA,QACA,QACA,MACA,QACA,QACA,SACA,QACA,QACA,UACA,OACA,QACA,SACA,UACA,UACA,QACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,QACA,SACA,QACA,WACA,SACA,UACA,SACA,UACA,UACA,UACA,MACA,QACA,UACA,SACA,QACA,UACA,QACA,OACA,SACA,OACA,QACA,QACA,MACA,QACA,QACA,OACA,SACA,UACA,SACA,SACA,QACA,MACA,WACA,SACA,UACA,MACA,SACA,UACA,QACA,SACA,SACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,QACA,SACA,OACA,SACA,OACA,SACA,UACA,UACA,QACA,QACA,QACA,OACA,UACA,QACA,UACA,OACA,OACA,WACA,QACA,QACA,MACA,UACA,UACA,OACA,SACA,SACA,SACA,MACA,SACA,UACA,SACA,OACA,QACA,SACA,SACA,QACA,OACA,SACA,UACA,SACA,OACA,SACA,QACA,SACA,SACA,UACA,QACA,OACA,QACA,UACA,OACA,SACA,SACA,UACA,SACA,UACA,MACA,OACA,OACA,UACA,OACA,QACA,SACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,SACA,SACA,SACA,OACA,SACA,SACA,MACA,MACA,UACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,SACA,QACA,SACA,QACA,QACA,WACA,SACA,SACA,QACA,UACA,QACA,QACA,SACA,QACA,SACA,UACA,QACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,QACA,MACA,WACA,OACA,SACA,QACA,OACA,UACA,QACA,QACA,SACA,OACA,OACA,OACA,OACA,SACA,OACA,MACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,UACA,UACA,UACA,MACA,SACA,OACA,QACA,SACA,QACA,OACA,OACA,OACA,SACA,SACA,SACA,MACA,UACA,QACA,WACA,SACA,SACA,QACA,UACA,OACA,UACA,SACA,SACA,SACA,UACA,SACA,UACA,QACA,QACA,WACA,SACA,QACA,UACA,SACA,QACA,OACA,QACA,QACA,SACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,SACA,SACA,UACA,UACA,QACA,QACA,QACA,WACA,SACA,UACA,OACA,QACA,QACA,OACA,UACA,OACA,OACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,UACA,SACA,QACA,QACA,UACA,OACA,SACA,OACA,OACA,UACA,QACA,SACA,UACA,OACA,UACA,QACA,SACA,UACA,UACA,UACA,UACA,WACA,UACA,WACA,UACA,WACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,OACA,SACA,QACA,UACA,SACA,SACA,SACA,QACA,SACA,QACA,SACA,QACA,OACA,QACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,UACA,QACA,QACA,SACA,OACA,QACA,SACA,QACA,UACA,QACA,SACA,UACA,SACA,QACA,MACA,UACA,OACA,UACA,MACA,WACA,UACA,UACA,UACA,QACA,UACA,SACA,OACA,QACA,MACA,SACA,OACA,QACA,SACA,SACA,OACA,WACA,OACA,MACA,OACA,SACA,SACA,SACA,WACA,SACA,UACA,WACA,WACA,OACA,UACA,SACA,OACA,SACA,QACA,UACA,SACA,SACA,SACA,UACA,OACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,SACA,SACA,OACA,UACA,UACA,SACA,SACA,UACA,SACA,SACA,UACA,OACA,UACA,QACA,OACA,SACA,OACA,SACA,UACA,UACA,UACA,SACA,WACA,SACA,OACA,WACA,WACA,UACA,OACA,UACA,WACA,UACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,MACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,OACA,SACA,OACA,QACA,SACA,QACA,UACA,OACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,OACA,OACA,MACA,OACA,OACA,OACA,SACA,OACA,QACA,OACA,QACA,UACA,QACA,QACA,QACA,OACA,QACA,SACA,OACA,OACA,OACA,UACA,UACA,OACA,OACA,UACA,SACA,MACA,QACA,SACA,QACA,QACA,WACA,UACA,UACA,WACA,WACA,QACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,QACA,SACA,QACA,MACA,UACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,QACA,SACA,SACA,SACA,SACA,SACA,QACA,SACA,QACA,WACA,UACA,QACA,QACA,MACA,QACA,QACA,UACA,QACA,QACA,SACA,QACA,UACA,SACA,UACA,SACA,WACA,OACA,QACA,SACA,QACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,QACA,QACA,OACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,SACA,QACA,MACA,UACA,SACA,OACA,UACA,OACA,QACA,QACA,OACA,QACA,OACA,SACA,SACA,MACA,QACA,UACA,OACA,UACA,MACA,QACA,SACA,UACA,QACA,WACA,UACA,WACA,UACA,MACA,OACA,OACA,SACA,QACA,WACA,QACA,QACA,MACA,QACA,UACA,QACA,SACA,OACA,OACA,SACA,QACA,OACA,OACA,SACA,SACA,OACA,OACA,QACA,SACA,OACA,MACA,UACA,MACA,OACA,QACA,QACA,OACA,SACA,OACA,SACA,OACA,QACA,QACA,QACA,SACA,QACA,QACA,MACA,OACA,QACA,MACA,OACA,OACA,SACA,OACA,OACA,QACA,SACA,SACA,OACA,UACA,QACA,UACA,SACA,SACA,QACA,MACA,UACA,QACA,WACA,QACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,QACA,OACA,MACA,QACA,UACA,OACA,SACA,SACA,OACA,SACA,UACA,OACA,MACA,SACA,UACA,SACA,SACA,UACA,MACA,OACA,OACA,SACA,QACA,OACA,UACA,SACA,QACA,SACA,UACA,UACA,QACA,QACA,OACA,SACA,SACA,UACA,OACA,OACA,OACA,SACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,QACA,OACA,OACA,OACA,UACA,OACA,OACA,QACA,UACA,SACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,UACA,QACA,QACA,OACA,QACA,OACA,UACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,MACA,MACA,QACA,OACA,OACA,SACA,UACA,OACA,QACA,SACA,OACA,QACA,UACA,MACA,OACA,OACA,SACA,OACA,SACA,QACA,QACA,WACA,SACA,QACA,SACA,OACA,MACA,OACA,SACA,OACA,OACA,OACA,MACA,OACA,UACA,QACA,SACA,OACA,OACA,UACA,SACA,OACA,QACA,OACA,OACA,OACA,SACA,QACA,WACA,OACA,QACA,OACA,QACA,MACA,OACA,QACA,SACA,QACA,UACA,SACA,OACA,SACA,QACA,OACA,UACA,SACA,MACA,OACA,OACA,WACA,OACA,SACA,MACA,UACA,UACA,QACA,UACA,UACA,SACA,SACA,SACA,UACA,UACA,OACA,UACA,SACA,WACA,QACA,WACA,SACA,WACA,SACA,UACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,QACA,WACA,QACA,UACA,SACA,SACA,SACA,UACA,UACA,SACA,WACA,OACA,SACA,SACA,UACA,OACA,SACA,UACA,QACA,OACA,QACA,SACA,SACA,MACA,OACA,UACA,QACA,QACA,QACA,MACA,OACA,OACA,UACA,MACA,QACA,QACA,OACA,SACA,SACA,OACA,OACA,WACA,OACA,OACA,UACA,MACA,OACA,MACA,SACA,OACA,UACA,OACA,MACA,UACA,OACA,SACA,OACA,OACA,QACA,QACA,OACA,MACA,QACA,QACA,SACA,OACA,OACA,OACA,WACA,SACA,QACA,QACA,QACA,QACA,UACA,OACA,MACA,OACA,UACA,QACA,OACA,SACA,OACA,QACA,QACA,UACA,OACA,MACA,QACA,SACA,UACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,UACA,UACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,OACA,SACA,OACA,SACA,OACA,SACA,OACA,OACA,UACA,QACA,OACA,QACA,SACA,OACA,OACA,UACA,OACA,SACA,OACA,QACA,QACA,UACA,SACA,QACA,QACA,SACA,SACA,UACA,MACA,QACA,SACA,OACA,OACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,QACA,UACA,SACA,QACA,SACA,QACA,SACA,SACA,SACA,WACA,OACA,OACA,SACA,QACA,WACA,OACA,SACA,SACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,QACA,QACA,SACA,OACA,SACA,SACA,UACA,OACA,QACA,QACA,QACA,QACA,OACA,UACA,QACA,SACA,SACA,WACA,OACA,UACA,QACA,OACA,UACA,QACA,SACA,UACA,SACA,SACA,OACA,UACA,MACA,QACA,UACA,SACA,QACA,SACA,MACA,SACA,UACA,SACA,UACA,QACA,OACA,QACA,OACA,UACA,WACA,SACA,SACA,QACA,WACA,QACA,OACA,QACA,OACA,SACA,OACA,WACA,SACA,SACA,WACA,QACA,OACA,SACA,SACA,UACA,OACA,QACA,OACA,SACA,SACA,QACA,SACA,SACA,OACA,OACA,OACA,WACA,UACA,UACA,SACA,QACA,OACA,MACA,UACA,UACA,QACA,OACA,OACA,OACA,QACA,QACA,QACA,UACA,SACA,SACA,QACA,OACA,UACA,OACA,UACA,SACA,QACA,MACA,UACA,SACA,QACA,MACA,MACA,OACA,SACA,SACA,UACA,UACA,SACA,UACA,QACA,QACA,UACA,OACA,MACA,QACA,SACA,QACA,MACA,OACA,MACA,QACA,UACA,OACA,OACA,MACA,QACA,SACA,OACA,OACA,QACA,UACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,QACA,SACA,WACA,SACA,UACA,QACA,UACA,QACA,SACA,UACA,OACA,OACA,OACA,MACA,QACA,SACA,SACA,QACA,OACA,SACA,OACA,OACA,SACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,SACA,OACA,SACA,QACA,OACA,QACA,OACA,UACA,SACA,UACA,QACA,OACA,UACA,QACA,SACA,OACA,UACA,UACA,MACA,UACA,SACA,SACA,SACA,UACA,SACA,SACA,MACA,QACA,QACA,SACA,WACA,QACA,SACA,UACA,QACA,MACA,SACA,OACA,QACA,OACA,UACA,OACA,SACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,SACA,QACA,OACA,SACA,OACA,OACA,QACA,QACA,OACA,SACA,OACA,OACA,OACA,UACA,UACA,WACA,WACA,OACA,SACA,UACA,UACA,SACA,QACA,WACA,SACA,UACA,SACA,UACA,UACA,SACA,UACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,UACA,UACA,UACA,SACA,UACA,UACA,UACA,QACA,WACA,UACA,UACA,QACA,UACA,SACA,UACA,OACA,OACA,QACA,UACA,QACA,QACA,QACA,WACA,SACA,UACA,QACA,OACA,MACA,SACA,UACA,UACA,UACA,UACA,WACA,QACA,OACA,OACA,QACA,SACA,UACA,OACA,OACA,QACA,QACA,OACA,OACA,QACA,QACA,OACA,QACA,SACA,QACA,QACA,OACA,OACA,SACA,QACA,MACA,QACA,QACA,OACA,SACA,QACA,UACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,SACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,OACA,SACA,WACA,SACA,SACA,SACA,QACA,OACA,SACA,SACA,SACA,UACA,SACA,UACA,SACA,WACA,SACA,WACA,WACA,SACA,SACA,UACA,SACA,UACA,SACA,SACA,SACA,SACA,MACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,OACA,OACA,SACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,SACA,SACA,UACA,OACA,SACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,SACA,OACA,MACA,OACA,MACA,SACA,QACA,MACA,SACA,UACA,OACA,OACA,QACA,SACA,QACA,OACA,SACA,OACA,SACA,OACA,UACA,UACA,QACA,UACA,OACA,MACA,QACA,OACA,QACA,UACA,QACA,SACA,SACA,UACA,WACA,WACA,QACA,QACA,SACA,SACA,QACA,MACA,SACA,SACA,OACA,SACA,SACA,UACA,WACA,OACA,OACA,UACA,SACA,OACA,UACA,SACA,QACA,WACA,SACA,UACA,UACA,SACA,QACA,QACA,SACA,QACA,UACA,QACA,OACA,QACA,UACA,SACA,QACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,QACA,WACA,QACA,SACA,QACA,UACA,MACA,UACA,OACA,OACA,QACA,QACA,OACA,SACA,OACA,QACA,SACA,UACA,SACA,QACA,OACA,QACA,SACA,UACA,MACA,OACA,QACA,SACA,MACA,QACA,OACA,QACA,QACA,OACA,OACA,QACA,UACA,QACA,QACA,SACA,OACA,SACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,OACA,QACA,OACA,OACA,SACA,SACA,OACA,OACA,OACA,QACA,UACA,QACA,WACA,QACA,UACA,OACA,OACA,QACA,OACA,OACA,QACA,OACA,SACA,QACA,QACA,QACA,UACA,QACA,QACA,UACA,QACA,QACA,QACA,SACA,QACA,SACA,QACA,OACA,SACA,QACA,QACA,UACA,QACA,QACA,OACA,QACA,SACA,SACA,MACA,SACA,UACA,WACA,SACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,OACA,OACA,SACA,QACA,QACA,QACA,QACA,UACA,QACA,QACA,QACA,QACA,WACA,SACA,SACA,SACA,WACA,UACA,QACA,UACA,QACA,UACA,SACA,SACA,UACA,OACA,SACA,SACA,QACA,UACA,OACA,SACA,MACA,QACA,SACA,QACA,SACA,UACA,OACA,UACA,QACA,WACA,WACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,QACA,SACA,UACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,OACA,OACA,OACA,SACA,OACA,QACA,SACA,OACA,QACA,OACA,OACA,MACA,SACA,SACA,OACA,OACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,UACA,QACA,SACA,QACA,QACA,UACA,SACA,OACA,QACA,OACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,QACA,UACA,QACA,UACA,MACA,WACA,SACA,QACA,SACA,WACA,OACA,SACA,UACA,OACA,QACA,MACA,QACA,SACA,QACA,UACA,WACA,OACA,QACA,UACA,SACA,QACA,OACA,MACA,QACA,QACA,UACA,SACA,QACA,WACA,OACA,QACA,SACA,OACA,QACA,OACA,QACA,QACA,QACA,QACA,UACA,OACA,OACA,SACA,UACA,QACA,OACA,QACA,UACA,QACA,QACA,MACA,OACA,UACA,SACA,OACA,SACA,SACA,OACA,SACA,SACA,SACA,QACA,OACA,QACA,MACA,OACA,UACA,OACA,WACA,SACA,UACA,QACA,UACA,QACA,OACA,SACA,SACA,UACA,UACA,SACA,OACA,WACA,UACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,OACA,QACA,QACA,QACA,OACA,QACA,MACA,OACA,SACA,UACA,QACA,UACA,SACA,SACA,QACA,QACA,SACA,QACA,MACA,SACA,QACA,UACA,OACA,QACA,UACA,SACA,SACA,UACA,QACA,OACA,SACA,UACA,OACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,UACA,UACA,SACA,UACA,QACA,OACA,QACA,SACA,QACA,QACA,QACA,QACA,OACA,UACA,SACA,OACA,SACA,OACA,QACA,OACA,OACA,OACA,SACA,OACA,UACA,OACA,UACA,OACA,OACA,QACA,QACA,OACA,MACA,SACA,SACA,OACA,SACA,UACA,MACA,UACA,UACA,QACA,UACA,OACA,MACA,QACA,OACA,QACA,QACA,OACA,QACA,OACA,UACA,OACA,QACA,OACA,OACA,OACA,MACA,SACA,OACA,OACA,OACA,SACA,SACA,OACA,SACA,OACA,OACA,UACA,OACA,QACA,SACA,OACA,OACA,OACA,OACA,QACA,QACA,QACA,OACA,QACA,UACA,QACA,QACA,QACA,OACA,OACA,SACA,MACA,QACA,QACA,QACA,OACA,OACA,KACJ,EC1/DA,SAASC,GAAcC,EAAS,CAC5B,MAAMC,EAAW,CAAA,EACjB,IAAIC,EAAM,EACNC,EAAU,EACd,SAASC,EAAIC,GAAO,CAChBH,GAAOG,IAASF,EAChBA,GAAW,EACPA,GAAW,KACXF,EAAS,KAAKC,EAAM,IAAK,EACzBA,IAAQ,GACRC,GAAW,GAEnB,CACA,SAASG,IAAQ,CACTH,GACAF,EAAS,KAAKC,CAAG,CAEzB,CACA,OAAAF,EAAQ,QAAQI,CAAG,EACnBE,GAAK,EACEL,CACX,CACA,SAASM,GAAWC,EAAM,CACtB,OAAOA,EAAK,IAAKC,GAAMX,GAAQW,CAAC,CAAC,CACrC,CACA,SAASC,GAAgBC,EAAM,CAC3B,MAAMC,EAAaC,GAAiBF,CAAI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","x_google_ignoreList":[1,2,3,4]}
|