@tonconnect/ui-react 0.0.6 → 0.0.8
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 +47 -0
- package/lib/components/TonConnectUIProvider.d.ts +10 -2
- package/lib/components/index.d.ts +2 -2
- package/lib/index.d.ts +1 -3
- package/lib/index.js +69 -23
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +69 -23
- package/lib/index.umd.js.map +1 -1
- package/lib/library.d.ts +3 -0
- package/package.json +6 -3
package/lib/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../../ui/lib/index.js","../src/components/TonConnectUIProvider.tsx","../src/errors/ton-connect-ui-react.error.ts","../src/errors/ton-connect-provider-not-set.error.ts","../src/utils/errors.ts","../src/hooks/useTonConnectUI.ts","../src/components/TonConnectButton.tsx","../src/hooks/useTonWallet.ts","../../sdk/lib/esm/errors/ton-connect.error.js","../../sdk/lib/esm/errors/protocol/events/connect/manifest-content-error.error.js","../../sdk/lib/esm/errors/protocol/events/connect/manifest-not-found.error.js","../../sdk/lib/esm/errors/protocol/events/connect/user-rejects.error.js","../../sdk/lib/esm/errors/protocol/responses/bad-request.error.js","../../sdk/lib/esm/errors/protocol/responses/unknown-app.error.js","../../sdk/lib/esm/errors/address/wrong-address.error.js","../../sdk/lib/esm/errors/binary/parse-hex.error.js","../../sdk/lib/esm/errors/unknown.error.js","../../protocol/lib/esm/models/wallet-message/wallet-event/connect-event.js","../../protocol/lib/esm/models/wallet-message/wallet-response/send-transaction-rpc-response.js","../../protocol/lib/esm/models/CHAIN.js","../../../node_modules/tweetnacl-util/nacl-util.js","../../protocol/lib/esm/utils/base64.js","../../protocol/lib/esm/utils/web-api.js","../__vite-browser-external","../../../node_modules/tweetnacl/nacl-fast.js","../../protocol/lib/esm/crypto/session-crypto.js","../../sdk/lib/esm/parsers/connect-errors-parser.js","../../sdk/lib/esm/parsers/send-transaction-parser.js","../../sdk/lib/esm/storage/http-bridge-gateway-storage.js","../../sdk/lib/esm/provider/bridge/bridge-gateway.js","../../sdk/lib/esm/storage/bridge-connection-storage.js","../../sdk/lib/esm/provider/bridge/bridge-provider.js","../../sdk/lib/esm/provider/injected/injected-provider.js","../../sdk/lib/esm/storage/default-storage.js","../../sdk/lib/esm/wallets-list-manager.js","../../sdk/lib/esm/ton-connect.js","../../sdk/lib/esm/utils/address.js","../src/hooks/useTonAddress.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a2, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n }\n return a2;\n};\nvar __spreadProps = (a2, b) => __defProps(a2, __getOwnPropDescs(b));\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nvar __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e2) {\n reject(e2);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\nclass TonConnectError extends Error {\n constructor(message, options) {\n if (message) {\n message = TonConnectError.prefix + \" \" + message;\n }\n super(message, options);\n Object.setPrototypeOf(this, TonConnectError.prototype);\n }\n}\nTonConnectError.prefix = \"[TON_CONNECT_SDK_ERROR]\";\nclass DappMetadataError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, DappMetadataError.prototype);\n }\n}\nclass ManifestContentErrorError extends TonConnectError {\n constructor(message) {\n super(message || \"\" + ManifestContentErrorError.additionalMessage);\n Object.setPrototypeOf(this, ManifestContentErrorError.prototype);\n }\n}\nManifestContentErrorError.additionalMessage = \"\\nPassed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest\";\nclass ManifestNotFoundError extends TonConnectError {\n constructor(message) {\n super(message || \"\" + ManifestNotFoundError.additionalMessage);\n Object.setPrototypeOf(this, ManifestNotFoundError.prototype);\n }\n}\nManifestNotFoundError.additionalMessage = \"\\nManifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest\";\nclass WalletAlreadyConnectedError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletAlreadyConnectedError.prototype);\n }\n}\nclass WalletNotConnectedError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletNotConnectedError.prototype);\n }\n}\nclass WalletNotSupportFeatureError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletNotSupportFeatureError.prototype);\n }\n}\nfunction isWalletConnectionSourceJS(value) {\n return \"jsBridgeKey\" in value;\n}\nclass UserRejectsError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UserRejectsError.prototype);\n }\n}\nclass BadRequestError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, BadRequestError.prototype);\n }\n}\nclass UnknownAppError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownAppError.prototype);\n }\n}\nclass WalletNotInjectedError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletNotInjectedError.prototype);\n }\n}\nclass LocalstorageNotFoundError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, LocalstorageNotFoundError.prototype);\n }\n}\nclass FetchWalletsError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, FetchWalletsError.prototype);\n }\n}\nclass WrongAddressError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WrongAddressError.prototype);\n }\n}\nclass ParseHexError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, ParseHexError.prototype);\n }\n}\nclass UnknownError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownError.prototype);\n }\n}\nvar CONNECT_EVENT_ERROR_CODES;\n(function(CONNECT_EVENT_ERROR_CODES2) {\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"MANIFEST_NOT_FOUND_ERROR\"] = 2] = \"MANIFEST_NOT_FOUND_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"MANIFEST_CONTENT_ERROR\"] = 3] = \"MANIFEST_CONTENT_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_EVENT_ERROR_CODES || (CONNECT_EVENT_ERROR_CODES = {}));\nvar CONNECT_ITEM_ERROR_CODES;\n(function(CONNECT_ITEM_ERROR_CODES2) {\n CONNECT_ITEM_ERROR_CODES2[CONNECT_ITEM_ERROR_CODES2[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_ITEM_ERROR_CODES2[CONNECT_ITEM_ERROR_CODES2[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_ITEM_ERROR_CODES || (CONNECT_ITEM_ERROR_CODES = {}));\nvar SEND_TRANSACTION_ERROR_CODES;\n(function(SEND_TRANSACTION_ERROR_CODES2) {\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(SEND_TRANSACTION_ERROR_CODES || (SEND_TRANSACTION_ERROR_CODES = {}));\nvar CHAIN;\n(function(CHAIN2) {\n CHAIN2[\"MAINNET\"] = \"-239\";\n CHAIN2[\"TESTNET\"] = \"-3\";\n})(CHAIN || (CHAIN = {}));\nvar commonjsGlobal = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nfunction getAugmentedNamespace(n2) {\n var f = n2.default;\n if (typeof f == \"function\") {\n var a2 = function() {\n return f.apply(this, arguments);\n };\n a2.prototype = f.prototype;\n } else\n a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar naclUtil = { exports: {} };\n(function(module) {\n (function(root, f) {\n if (module.exports)\n module.exports = f();\n else if (root.nacl)\n root.nacl.util = f();\n else {\n root.nacl = {};\n root.nacl.util = f();\n }\n })(commonjsGlobal, function() {\n var util = {};\n function validateBase64(s2) {\n if (!/^(?:[A-Za-z0-9+\\/]{2}[A-Za-z0-9+\\/]{2})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/.test(s2)) {\n throw new TypeError(\"invalid encoding\");\n }\n }\n util.decodeUTF8 = function(s2) {\n if (typeof s2 !== \"string\")\n throw new TypeError(\"expected string\");\n var i2, d = unescape(encodeURIComponent(s2)), b = new Uint8Array(d.length);\n for (i2 = 0; i2 < d.length; i2++)\n b[i2] = d.charCodeAt(i2);\n return b;\n };\n util.encodeUTF8 = function(arr) {\n var i2, s2 = [];\n for (i2 = 0; i2 < arr.length; i2++)\n s2.push(String.fromCharCode(arr[i2]));\n return decodeURIComponent(escape(s2.join(\"\")));\n };\n if (typeof atob === \"undefined\") {\n if (typeof Buffer.from !== \"undefined\") {\n util.encodeBase64 = function(arr) {\n return Buffer.from(arr).toString(\"base64\");\n };\n util.decodeBase64 = function(s2) {\n validateBase64(s2);\n return new Uint8Array(Array.prototype.slice.call(Buffer.from(s2, \"base64\"), 0));\n };\n } else {\n util.encodeBase64 = function(arr) {\n return new Buffer(arr).toString(\"base64\");\n };\n util.decodeBase64 = function(s2) {\n validateBase64(s2);\n return new Uint8Array(Array.prototype.slice.call(new Buffer(s2, \"base64\"), 0));\n };\n }\n } else {\n util.encodeBase64 = function(arr) {\n var i2, s2 = [], len = arr.length;\n for (i2 = 0; i2 < len; i2++)\n s2.push(String.fromCharCode(arr[i2]));\n return btoa(s2.join(\"\"));\n };\n util.decodeBase64 = function(s2) {\n validateBase64(s2);\n var i2, d = atob(s2), b = new Uint8Array(d.length);\n for (i2 = 0; i2 < d.length; i2++)\n b[i2] = d.charCodeAt(i2);\n return b;\n };\n }\n return util;\n });\n})(naclUtil);\nconst nacl$1 = naclUtil.exports;\nfunction encodeUint8Array(value, urlSafe) {\n const encoded = nacl$1.encodeBase64(value);\n if (!urlSafe) {\n return encoded;\n }\n return encodeURIComponent(encoded);\n}\nfunction decodeToUint8Array(value, urlSafe) {\n if (urlSafe) {\n value = decodeURIComponent(value);\n }\n return nacl$1.decodeBase64(value);\n}\nfunction encode(value, urlSafe = false) {\n let uint8Array;\n if (value instanceof Uint8Array) {\n uint8Array = value;\n } else {\n if (typeof value !== \"string\") {\n value = JSON.stringify(value);\n }\n uint8Array = nacl$1.decodeUTF8(value);\n }\n return encodeUint8Array(uint8Array, urlSafe);\n}\nfunction decode(value, urlSafe = false) {\n const decodedUint8Array = decodeToUint8Array(value, urlSafe);\n return {\n toString() {\n return nacl$1.encodeUTF8(decodedUint8Array);\n },\n toObject() {\n try {\n return JSON.parse(nacl$1.encodeUTF8(decodedUint8Array));\n } catch (e2) {\n return null;\n }\n },\n toUint8Array() {\n return decodedUint8Array;\n }\n };\n}\nconst Base64 = {\n encode,\n decode\n};\nfunction concatUint8Arrays(buffer1, buffer2) {\n const mergedArray = new Uint8Array(buffer1.length + buffer2.length);\n mergedArray.set(buffer1);\n mergedArray.set(buffer2, buffer1.length);\n return mergedArray;\n}\nfunction splitToUint8Arrays(array, index) {\n if (index >= array.length) {\n throw new Error(\"Index is out of buffer\");\n }\n const subArray1 = array.slice(0, index);\n const subArray2 = array.slice(index);\n return [subArray1, subArray2];\n}\nfunction toHexString(byteArray) {\n let hexString = \"\";\n byteArray.forEach((byte) => {\n hexString += (\"0\" + (byte & 255).toString(16)).slice(-2);\n });\n return hexString;\n}\nfunction hexToByteArray(hexString) {\n if (hexString.length % 2 !== 0) {\n throw new Error(`Cannot convert ${hexString} to bytesArray`);\n }\n const result = new Uint8Array(hexString.length / 2);\n for (let i2 = 0; i2 < hexString.length; i2 += 2) {\n result[i2 / 2] = parseInt(hexString.slice(i2, i2 + 2), 16);\n }\n return result;\n}\nfunction isNode$1() {\n return typeof process !== \"undefined\" && process.versions != null && process.versions.node != null;\n}\nfunction commonjsRequire(path) {\n throw new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\nvar naclFast = { exports: {} };\nconst __viteBrowserExternal = {};\nconst __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$0 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);\n(function(module) {\n (function(nacl2) {\n var gf = function(init) {\n var i2, r = new Float64Array(16);\n if (init)\n for (i2 = 0; i2 < init.length; i2++)\n r[i2] = init[i2];\n return r;\n };\n var randombytes = function() {\n throw new Error(\"no PRNG\");\n };\n var _0 = new Uint8Array(16);\n var _9 = new Uint8Array(32);\n _9[0] = 9;\n var gf0 = gf(), gf1 = gf([1]), _121665 = gf([56129, 1]), D = gf([30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995]), D2 = gf([61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222]), X = gf([54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553]), Y = gf([26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214]), I = gf([41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139]);\n function ts64(x, i2, h2, l2) {\n x[i2] = h2 >> 24 & 255;\n x[i2 + 1] = h2 >> 16 & 255;\n x[i2 + 2] = h2 >> 8 & 255;\n x[i2 + 3] = h2 & 255;\n x[i2 + 4] = l2 >> 24 & 255;\n x[i2 + 5] = l2 >> 16 & 255;\n x[i2 + 6] = l2 >> 8 & 255;\n x[i2 + 7] = l2 & 255;\n }\n function vn(x, xi, y, yi, n2) {\n var i2, d = 0;\n for (i2 = 0; i2 < n2; i2++)\n d |= x[xi + i2] ^ y[yi + i2];\n return (1 & d - 1 >>> 8) - 1;\n }\n function crypto_verify_16(x, xi, y, yi) {\n return vn(x, xi, y, yi, 16);\n }\n function crypto_verify_32(x, xi, y, yi) {\n return vn(x, xi, y, yi, 32);\n }\n function core_salsa20(o2, p2, k, c2) {\n var j0 = c2[0] & 255 | (c2[1] & 255) << 8 | (c2[2] & 255) << 16 | (c2[3] & 255) << 24, j1 = k[0] & 255 | (k[1] & 255) << 8 | (k[2] & 255) << 16 | (k[3] & 255) << 24, j2 = k[4] & 255 | (k[5] & 255) << 8 | (k[6] & 255) << 16 | (k[7] & 255) << 24, j3 = k[8] & 255 | (k[9] & 255) << 8 | (k[10] & 255) << 16 | (k[11] & 255) << 24, j4 = k[12] & 255 | (k[13] & 255) << 8 | (k[14] & 255) << 16 | (k[15] & 255) << 24, j5 = c2[4] & 255 | (c2[5] & 255) << 8 | (c2[6] & 255) << 16 | (c2[7] & 255) << 24, j6 = p2[0] & 255 | (p2[1] & 255) << 8 | (p2[2] & 255) << 16 | (p2[3] & 255) << 24, j7 = p2[4] & 255 | (p2[5] & 255) << 8 | (p2[6] & 255) << 16 | (p2[7] & 255) << 24, j8 = p2[8] & 255 | (p2[9] & 255) << 8 | (p2[10] & 255) << 16 | (p2[11] & 255) << 24, j9 = p2[12] & 255 | (p2[13] & 255) << 8 | (p2[14] & 255) << 16 | (p2[15] & 255) << 24, j10 = c2[8] & 255 | (c2[9] & 255) << 8 | (c2[10] & 255) << 16 | (c2[11] & 255) << 24, j11 = k[16] & 255 | (k[17] & 255) << 8 | (k[18] & 255) << 16 | (k[19] & 255) << 24, j12 = k[20] & 255 | (k[21] & 255) << 8 | (k[22] & 255) << 16 | (k[23] & 255) << 24, j13 = k[24] & 255 | (k[25] & 255) << 8 | (k[26] & 255) << 16 | (k[27] & 255) << 24, j14 = k[28] & 255 | (k[29] & 255) << 8 | (k[30] & 255) << 16 | (k[31] & 255) << 24, j15 = c2[12] & 255 | (c2[13] & 255) << 8 | (c2[14] & 255) << 16 | (c2[15] & 255) << 24;\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7, x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14, x15 = j15, u2;\n for (var i2 = 0; i2 < 20; i2 += 2) {\n u2 = x0 + x12 | 0;\n x4 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x4 + x0 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x4 | 0;\n x12 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x12 + x8 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x1 | 0;\n x9 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x9 + x5 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x9 | 0;\n x1 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x1 + x13 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x6 | 0;\n x14 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x14 + x10 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x14 | 0;\n x6 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x6 + x2 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x11 | 0;\n x3 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x3 + x15 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x3 | 0;\n x11 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x11 + x7 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x0 + x3 | 0;\n x1 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x1 + x0 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x1 | 0;\n x3 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x3 + x2 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x4 | 0;\n x6 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x6 + x5 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x6 | 0;\n x4 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x4 + x7 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x9 | 0;\n x11 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x11 + x10 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x11 | 0;\n x9 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x9 + x8 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x14 | 0;\n x12 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x12 + x15 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x12 | 0;\n x14 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x14 + x13 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n }\n x0 = x0 + j0 | 0;\n x1 = x1 + j1 | 0;\n x2 = x2 + j2 | 0;\n x3 = x3 + j3 | 0;\n x4 = x4 + j4 | 0;\n x5 = x5 + j5 | 0;\n x6 = x6 + j6 | 0;\n x7 = x7 + j7 | 0;\n x8 = x8 + j8 | 0;\n x9 = x9 + j9 | 0;\n x10 = x10 + j10 | 0;\n x11 = x11 + j11 | 0;\n x12 = x12 + j12 | 0;\n x13 = x13 + j13 | 0;\n x14 = x14 + j14 | 0;\n x15 = x15 + j15 | 0;\n o2[0] = x0 >>> 0 & 255;\n o2[1] = x0 >>> 8 & 255;\n o2[2] = x0 >>> 16 & 255;\n o2[3] = x0 >>> 24 & 255;\n o2[4] = x1 >>> 0 & 255;\n o2[5] = x1 >>> 8 & 255;\n o2[6] = x1 >>> 16 & 255;\n o2[7] = x1 >>> 24 & 255;\n o2[8] = x2 >>> 0 & 255;\n o2[9] = x2 >>> 8 & 255;\n o2[10] = x2 >>> 16 & 255;\n o2[11] = x2 >>> 24 & 255;\n o2[12] = x3 >>> 0 & 255;\n o2[13] = x3 >>> 8 & 255;\n o2[14] = x3 >>> 16 & 255;\n o2[15] = x3 >>> 24 & 255;\n o2[16] = x4 >>> 0 & 255;\n o2[17] = x4 >>> 8 & 255;\n o2[18] = x4 >>> 16 & 255;\n o2[19] = x4 >>> 24 & 255;\n o2[20] = x5 >>> 0 & 255;\n o2[21] = x5 >>> 8 & 255;\n o2[22] = x5 >>> 16 & 255;\n o2[23] = x5 >>> 24 & 255;\n o2[24] = x6 >>> 0 & 255;\n o2[25] = x6 >>> 8 & 255;\n o2[26] = x6 >>> 16 & 255;\n o2[27] = x6 >>> 24 & 255;\n o2[28] = x7 >>> 0 & 255;\n o2[29] = x7 >>> 8 & 255;\n o2[30] = x7 >>> 16 & 255;\n o2[31] = x7 >>> 24 & 255;\n o2[32] = x8 >>> 0 & 255;\n o2[33] = x8 >>> 8 & 255;\n o2[34] = x8 >>> 16 & 255;\n o2[35] = x8 >>> 24 & 255;\n o2[36] = x9 >>> 0 & 255;\n o2[37] = x9 >>> 8 & 255;\n o2[38] = x9 >>> 16 & 255;\n o2[39] = x9 >>> 24 & 255;\n o2[40] = x10 >>> 0 & 255;\n o2[41] = x10 >>> 8 & 255;\n o2[42] = x10 >>> 16 & 255;\n o2[43] = x10 >>> 24 & 255;\n o2[44] = x11 >>> 0 & 255;\n o2[45] = x11 >>> 8 & 255;\n o2[46] = x11 >>> 16 & 255;\n o2[47] = x11 >>> 24 & 255;\n o2[48] = x12 >>> 0 & 255;\n o2[49] = x12 >>> 8 & 255;\n o2[50] = x12 >>> 16 & 255;\n o2[51] = x12 >>> 24 & 255;\n o2[52] = x13 >>> 0 & 255;\n o2[53] = x13 >>> 8 & 255;\n o2[54] = x13 >>> 16 & 255;\n o2[55] = x13 >>> 24 & 255;\n o2[56] = x14 >>> 0 & 255;\n o2[57] = x14 >>> 8 & 255;\n o2[58] = x14 >>> 16 & 255;\n o2[59] = x14 >>> 24 & 255;\n o2[60] = x15 >>> 0 & 255;\n o2[61] = x15 >>> 8 & 255;\n o2[62] = x15 >>> 16 & 255;\n o2[63] = x15 >>> 24 & 255;\n }\n function core_hsalsa20(o2, p2, k, c2) {\n var j0 = c2[0] & 255 | (c2[1] & 255) << 8 | (c2[2] & 255) << 16 | (c2[3] & 255) << 24, j1 = k[0] & 255 | (k[1] & 255) << 8 | (k[2] & 255) << 16 | (k[3] & 255) << 24, j2 = k[4] & 255 | (k[5] & 255) << 8 | (k[6] & 255) << 16 | (k[7] & 255) << 24, j3 = k[8] & 255 | (k[9] & 255) << 8 | (k[10] & 255) << 16 | (k[11] & 255) << 24, j4 = k[12] & 255 | (k[13] & 255) << 8 | (k[14] & 255) << 16 | (k[15] & 255) << 24, j5 = c2[4] & 255 | (c2[5] & 255) << 8 | (c2[6] & 255) << 16 | (c2[7] & 255) << 24, j6 = p2[0] & 255 | (p2[1] & 255) << 8 | (p2[2] & 255) << 16 | (p2[3] & 255) << 24, j7 = p2[4] & 255 | (p2[5] & 255) << 8 | (p2[6] & 255) << 16 | (p2[7] & 255) << 24, j8 = p2[8] & 255 | (p2[9] & 255) << 8 | (p2[10] & 255) << 16 | (p2[11] & 255) << 24, j9 = p2[12] & 255 | (p2[13] & 255) << 8 | (p2[14] & 255) << 16 | (p2[15] & 255) << 24, j10 = c2[8] & 255 | (c2[9] & 255) << 8 | (c2[10] & 255) << 16 | (c2[11] & 255) << 24, j11 = k[16] & 255 | (k[17] & 255) << 8 | (k[18] & 255) << 16 | (k[19] & 255) << 24, j12 = k[20] & 255 | (k[21] & 255) << 8 | (k[22] & 255) << 16 | (k[23] & 255) << 24, j13 = k[24] & 255 | (k[25] & 255) << 8 | (k[26] & 255) << 16 | (k[27] & 255) << 24, j14 = k[28] & 255 | (k[29] & 255) << 8 | (k[30] & 255) << 16 | (k[31] & 255) << 24, j15 = c2[12] & 255 | (c2[13] & 255) << 8 | (c2[14] & 255) << 16 | (c2[15] & 255) << 24;\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7, x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14, x15 = j15, u2;\n for (var i2 = 0; i2 < 20; i2 += 2) {\n u2 = x0 + x12 | 0;\n x4 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x4 + x0 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x4 | 0;\n x12 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x12 + x8 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x1 | 0;\n x9 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x9 + x5 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x9 | 0;\n x1 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x1 + x13 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x6 | 0;\n x14 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x14 + x10 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x14 | 0;\n x6 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x6 + x2 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x11 | 0;\n x3 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x3 + x15 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x3 | 0;\n x11 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x11 + x7 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x0 + x3 | 0;\n x1 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x1 + x0 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x1 | 0;\n x3 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x3 + x2 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x4 | 0;\n x6 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x6 + x5 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x6 | 0;\n x4 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x4 + x7 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x9 | 0;\n x11 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x11 + x10 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x11 | 0;\n x9 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x9 + x8 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x14 | 0;\n x12 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x12 + x15 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x12 | 0;\n x14 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x14 + x13 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n }\n o2[0] = x0 >>> 0 & 255;\n o2[1] = x0 >>> 8 & 255;\n o2[2] = x0 >>> 16 & 255;\n o2[3] = x0 >>> 24 & 255;\n o2[4] = x5 >>> 0 & 255;\n o2[5] = x5 >>> 8 & 255;\n o2[6] = x5 >>> 16 & 255;\n o2[7] = x5 >>> 24 & 255;\n o2[8] = x10 >>> 0 & 255;\n o2[9] = x10 >>> 8 & 255;\n o2[10] = x10 >>> 16 & 255;\n o2[11] = x10 >>> 24 & 255;\n o2[12] = x15 >>> 0 & 255;\n o2[13] = x15 >>> 8 & 255;\n o2[14] = x15 >>> 16 & 255;\n o2[15] = x15 >>> 24 & 255;\n o2[16] = x6 >>> 0 & 255;\n o2[17] = x6 >>> 8 & 255;\n o2[18] = x6 >>> 16 & 255;\n o2[19] = x6 >>> 24 & 255;\n o2[20] = x7 >>> 0 & 255;\n o2[21] = x7 >>> 8 & 255;\n o2[22] = x7 >>> 16 & 255;\n o2[23] = x7 >>> 24 & 255;\n o2[24] = x8 >>> 0 & 255;\n o2[25] = x8 >>> 8 & 255;\n o2[26] = x8 >>> 16 & 255;\n o2[27] = x8 >>> 24 & 255;\n o2[28] = x9 >>> 0 & 255;\n o2[29] = x9 >>> 8 & 255;\n o2[30] = x9 >>> 16 & 255;\n o2[31] = x9 >>> 24 & 255;\n }\n function crypto_core_salsa20(out, inp, k, c2) {\n core_salsa20(out, inp, k, c2);\n }\n function crypto_core_hsalsa20(out, inp, k, c2) {\n core_hsalsa20(out, inp, k, c2);\n }\n var sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);\n function crypto_stream_salsa20_xor(c2, cpos, m, mpos, b, n2, k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u2, i2;\n for (i2 = 0; i2 < 16; i2++)\n z[i2] = 0;\n for (i2 = 0; i2 < 8; i2++)\n z[i2] = n2[i2];\n while (b >= 64) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < 64; i2++)\n c2[cpos + i2] = m[mpos + i2] ^ x[i2];\n u2 = 1;\n for (i2 = 8; i2 < 16; i2++) {\n u2 = u2 + (z[i2] & 255) | 0;\n z[i2] = u2 & 255;\n u2 >>>= 8;\n }\n b -= 64;\n cpos += 64;\n mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < b; i2++)\n c2[cpos + i2] = m[mpos + i2] ^ x[i2];\n }\n return 0;\n }\n function crypto_stream_salsa20(c2, cpos, b, n2, k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u2, i2;\n for (i2 = 0; i2 < 16; i2++)\n z[i2] = 0;\n for (i2 = 0; i2 < 8; i2++)\n z[i2] = n2[i2];\n while (b >= 64) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < 64; i2++)\n c2[cpos + i2] = x[i2];\n u2 = 1;\n for (i2 = 8; i2 < 16; i2++) {\n u2 = u2 + (z[i2] & 255) | 0;\n z[i2] = u2 & 255;\n u2 >>>= 8;\n }\n b -= 64;\n cpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < b; i2++)\n c2[cpos + i2] = x[i2];\n }\n return 0;\n }\n function crypto_stream(c2, cpos, d, n2, k) {\n var s2 = new Uint8Array(32);\n crypto_core_hsalsa20(s2, n2, k, sigma);\n var sn = new Uint8Array(8);\n for (var i2 = 0; i2 < 8; i2++)\n sn[i2] = n2[i2 + 16];\n return crypto_stream_salsa20(c2, cpos, d, sn, s2);\n }\n function crypto_stream_xor(c2, cpos, m, mpos, d, n2, k) {\n var s2 = new Uint8Array(32);\n crypto_core_hsalsa20(s2, n2, k, sigma);\n var sn = new Uint8Array(8);\n for (var i2 = 0; i2 < 8; i2++)\n sn[i2] = n2[i2 + 16];\n return crypto_stream_salsa20_xor(c2, cpos, m, mpos, d, sn, s2);\n }\n var poly1305 = function(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n var t0, t1, t2, t3, t4, t5, t6, t7;\n t0 = key[0] & 255 | (key[1] & 255) << 8;\n this.r[0] = t0 & 8191;\n t1 = key[2] & 255 | (key[3] & 255) << 8;\n this.r[1] = (t0 >>> 13 | t1 << 3) & 8191;\n t2 = key[4] & 255 | (key[5] & 255) << 8;\n this.r[2] = (t1 >>> 10 | t2 << 6) & 7939;\n t3 = key[6] & 255 | (key[7] & 255) << 8;\n this.r[3] = (t2 >>> 7 | t3 << 9) & 8191;\n t4 = key[8] & 255 | (key[9] & 255) << 8;\n this.r[4] = (t3 >>> 4 | t4 << 12) & 255;\n this.r[5] = t4 >>> 1 & 8190;\n t5 = key[10] & 255 | (key[11] & 255) << 8;\n this.r[6] = (t4 >>> 14 | t5 << 2) & 8191;\n t6 = key[12] & 255 | (key[13] & 255) << 8;\n this.r[7] = (t5 >>> 11 | t6 << 5) & 8065;\n t7 = key[14] & 255 | (key[15] & 255) << 8;\n this.r[8] = (t6 >>> 8 | t7 << 8) & 8191;\n this.r[9] = t7 >>> 5 & 127;\n this.pad[0] = key[16] & 255 | (key[17] & 255) << 8;\n this.pad[1] = key[18] & 255 | (key[19] & 255) << 8;\n this.pad[2] = key[20] & 255 | (key[21] & 255) << 8;\n this.pad[3] = key[22] & 255 | (key[23] & 255) << 8;\n this.pad[4] = key[24] & 255 | (key[25] & 255) << 8;\n this.pad[5] = key[26] & 255 | (key[27] & 255) << 8;\n this.pad[6] = key[28] & 255 | (key[29] & 255) << 8;\n this.pad[7] = key[30] & 255 | (key[31] & 255) << 8;\n };\n poly1305.prototype.blocks = function(m, mpos, bytes) {\n var hibit = this.fin ? 0 : 1 << 11;\n var t0, t1, t2, t3, t4, t5, t6, t7, c2;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n var h0 = this.h[0], h1 = this.h[1], h2 = this.h[2], h3 = this.h[3], h4 = this.h[4], h5 = this.h[5], h6 = this.h[6], h7 = this.h[7], h8 = this.h[8], h9 = this.h[9];\n var r0 = this.r[0], r1 = this.r[1], r2 = this.r[2], r3 = this.r[3], r4 = this.r[4], r5 = this.r[5], r6 = this.r[6], r7 = this.r[7], r8 = this.r[8], r9 = this.r[9];\n while (bytes >= 16) {\n t0 = m[mpos + 0] & 255 | (m[mpos + 1] & 255) << 8;\n h0 += t0 & 8191;\n t1 = m[mpos + 2] & 255 | (m[mpos + 3] & 255) << 8;\n h1 += (t0 >>> 13 | t1 << 3) & 8191;\n t2 = m[mpos + 4] & 255 | (m[mpos + 5] & 255) << 8;\n h2 += (t1 >>> 10 | t2 << 6) & 8191;\n t3 = m[mpos + 6] & 255 | (m[mpos + 7] & 255) << 8;\n h3 += (t2 >>> 7 | t3 << 9) & 8191;\n t4 = m[mpos + 8] & 255 | (m[mpos + 9] & 255) << 8;\n h4 += (t3 >>> 4 | t4 << 12) & 8191;\n h5 += t4 >>> 1 & 8191;\n t5 = m[mpos + 10] & 255 | (m[mpos + 11] & 255) << 8;\n h6 += (t4 >>> 14 | t5 << 2) & 8191;\n t6 = m[mpos + 12] & 255 | (m[mpos + 13] & 255) << 8;\n h7 += (t5 >>> 11 | t6 << 5) & 8191;\n t7 = m[mpos + 14] & 255 | (m[mpos + 15] & 255) << 8;\n h8 += (t6 >>> 8 | t7 << 8) & 8191;\n h9 += t7 >>> 5 | hibit;\n c2 = 0;\n d0 = c2;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c2 = d0 >>> 13;\n d0 &= 8191;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c2 += d0 >>> 13;\n d0 &= 8191;\n d1 = c2;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c2 = d1 >>> 13;\n d1 &= 8191;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c2 += d1 >>> 13;\n d1 &= 8191;\n d2 = c2;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c2 = d2 >>> 13;\n d2 &= 8191;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c2 += d2 >>> 13;\n d2 &= 8191;\n d3 = c2;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c2 = d3 >>> 13;\n d3 &= 8191;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c2 += d3 >>> 13;\n d3 &= 8191;\n d4 = c2;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c2 = d4 >>> 13;\n d4 &= 8191;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c2 += d4 >>> 13;\n d4 &= 8191;\n d5 = c2;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c2 = d5 >>> 13;\n d5 &= 8191;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c2 += d5 >>> 13;\n d5 &= 8191;\n d6 = c2;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c2 = d6 >>> 13;\n d6 &= 8191;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c2 += d6 >>> 13;\n d6 &= 8191;\n d7 = c2;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c2 = d7 >>> 13;\n d7 &= 8191;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c2 += d7 >>> 13;\n d7 &= 8191;\n d8 = c2;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c2 = d8 >>> 13;\n d8 &= 8191;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c2 += d8 >>> 13;\n d8 &= 8191;\n d9 = c2;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c2 = d9 >>> 13;\n d9 &= 8191;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c2 += d9 >>> 13;\n d9 &= 8191;\n c2 = (c2 << 2) + c2 | 0;\n c2 = c2 + d0 | 0;\n d0 = c2 & 8191;\n c2 = c2 >>> 13;\n d1 += c2;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n };\n poly1305.prototype.finish = function(mac, macpos) {\n var g = new Uint16Array(10);\n var c2, mask, f, i2;\n if (this.leftover) {\n i2 = this.leftover;\n this.buffer[i2++] = 1;\n for (; i2 < 16; i2++)\n this.buffer[i2] = 0;\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n c2 = this.h[1] >>> 13;\n this.h[1] &= 8191;\n for (i2 = 2; i2 < 10; i2++) {\n this.h[i2] += c2;\n c2 = this.h[i2] >>> 13;\n this.h[i2] &= 8191;\n }\n this.h[0] += c2 * 5;\n c2 = this.h[0] >>> 13;\n this.h[0] &= 8191;\n this.h[1] += c2;\n c2 = this.h[1] >>> 13;\n this.h[1] &= 8191;\n this.h[2] += c2;\n g[0] = this.h[0] + 5;\n c2 = g[0] >>> 13;\n g[0] &= 8191;\n for (i2 = 1; i2 < 10; i2++) {\n g[i2] = this.h[i2] + c2;\n c2 = g[i2] >>> 13;\n g[i2] &= 8191;\n }\n g[9] -= 1 << 13;\n mask = (c2 ^ 1) - 1;\n for (i2 = 0; i2 < 10; i2++)\n g[i2] &= mask;\n mask = ~mask;\n for (i2 = 0; i2 < 10; i2++)\n this.h[i2] = this.h[i2] & mask | g[i2];\n this.h[0] = (this.h[0] | this.h[1] << 13) & 65535;\n this.h[1] = (this.h[1] >>> 3 | this.h[2] << 10) & 65535;\n this.h[2] = (this.h[2] >>> 6 | this.h[3] << 7) & 65535;\n this.h[3] = (this.h[3] >>> 9 | this.h[4] << 4) & 65535;\n this.h[4] = (this.h[4] >>> 12 | this.h[5] << 1 | this.h[6] << 14) & 65535;\n this.h[5] = (this.h[6] >>> 2 | this.h[7] << 11) & 65535;\n this.h[6] = (this.h[7] >>> 5 | this.h[8] << 8) & 65535;\n this.h[7] = (this.h[8] >>> 8 | this.h[9] << 5) & 65535;\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 65535;\n for (i2 = 1; i2 < 8; i2++) {\n f = (this.h[i2] + this.pad[i2] | 0) + (f >>> 16) | 0;\n this.h[i2] = f & 65535;\n }\n mac[macpos + 0] = this.h[0] >>> 0 & 255;\n mac[macpos + 1] = this.h[0] >>> 8 & 255;\n mac[macpos + 2] = this.h[1] >>> 0 & 255;\n mac[macpos + 3] = this.h[1] >>> 8 & 255;\n mac[macpos + 4] = this.h[2] >>> 0 & 255;\n mac[macpos + 5] = this.h[2] >>> 8 & 255;\n mac[macpos + 6] = this.h[3] >>> 0 & 255;\n mac[macpos + 7] = this.h[3] >>> 8 & 255;\n mac[macpos + 8] = this.h[4] >>> 0 & 255;\n mac[macpos + 9] = this.h[4] >>> 8 & 255;\n mac[macpos + 10] = this.h[5] >>> 0 & 255;\n mac[macpos + 11] = this.h[5] >>> 8 & 255;\n mac[macpos + 12] = this.h[6] >>> 0 & 255;\n mac[macpos + 13] = this.h[6] >>> 8 & 255;\n mac[macpos + 14] = this.h[7] >>> 0 & 255;\n mac[macpos + 15] = this.h[7] >>> 8 & 255;\n };\n poly1305.prototype.update = function(m, mpos, bytes) {\n var i2, want;\n if (this.leftover) {\n want = 16 - this.leftover;\n if (want > bytes)\n want = bytes;\n for (i2 = 0; i2 < want; i2++)\n this.buffer[this.leftover + i2] = m[mpos + i2];\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16)\n return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n if (bytes >= 16) {\n want = bytes - bytes % 16;\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (i2 = 0; i2 < bytes; i2++)\n this.buffer[this.leftover + i2] = m[mpos + i2];\n this.leftover += bytes;\n }\n };\n function crypto_onetimeauth(out, outpos, m, mpos, n2, k) {\n var s2 = new poly1305(k);\n s2.update(m, mpos, n2);\n s2.finish(out, outpos);\n return 0;\n }\n function crypto_onetimeauth_verify(h2, hpos, m, mpos, n2, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x, 0, m, mpos, n2, k);\n return crypto_verify_16(h2, hpos, x, 0);\n }\n function crypto_secretbox(c2, m, d, n2, k) {\n var i2;\n if (d < 32)\n return -1;\n crypto_stream_xor(c2, 0, m, 0, d, n2, k);\n crypto_onetimeauth(c2, 16, c2, 32, d - 32, c2);\n for (i2 = 0; i2 < 16; i2++)\n c2[i2] = 0;\n return 0;\n }\n function crypto_secretbox_open(m, c2, d, n2, k) {\n var i2;\n var x = new Uint8Array(32);\n if (d < 32)\n return -1;\n crypto_stream(x, 0, 32, n2, k);\n if (crypto_onetimeauth_verify(c2, 16, c2, 32, d - 32, x) !== 0)\n return -1;\n crypto_stream_xor(m, 0, c2, 0, d, n2, k);\n for (i2 = 0; i2 < 32; i2++)\n m[i2] = 0;\n return 0;\n }\n function set25519(r, a2) {\n var i2;\n for (i2 = 0; i2 < 16; i2++)\n r[i2] = a2[i2] | 0;\n }\n function car25519(o2) {\n var i2, v, c2 = 1;\n for (i2 = 0; i2 < 16; i2++) {\n v = o2[i2] + c2 + 65535;\n c2 = Math.floor(v / 65536);\n o2[i2] = v - c2 * 65536;\n }\n o2[0] += c2 - 1 + 37 * (c2 - 1);\n }\n function sel25519(p2, q, b) {\n var t2, c2 = ~(b - 1);\n for (var i2 = 0; i2 < 16; i2++) {\n t2 = c2 & (p2[i2] ^ q[i2]);\n p2[i2] ^= t2;\n q[i2] ^= t2;\n }\n }\n function pack25519(o2, n2) {\n var i2, j, b;\n var m = gf(), t2 = gf();\n for (i2 = 0; i2 < 16; i2++)\n t2[i2] = n2[i2];\n car25519(t2);\n car25519(t2);\n car25519(t2);\n for (j = 0; j < 2; j++) {\n m[0] = t2[0] - 65517;\n for (i2 = 1; i2 < 15; i2++) {\n m[i2] = t2[i2] - 65535 - (m[i2 - 1] >> 16 & 1);\n m[i2 - 1] &= 65535;\n }\n m[15] = t2[15] - 32767 - (m[14] >> 16 & 1);\n b = m[15] >> 16 & 1;\n m[14] &= 65535;\n sel25519(t2, m, 1 - b);\n }\n for (i2 = 0; i2 < 16; i2++) {\n o2[2 * i2] = t2[i2] & 255;\n o2[2 * i2 + 1] = t2[i2] >> 8;\n }\n }\n function neq25519(a2, b) {\n var c2 = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c2, a2);\n pack25519(d, b);\n return crypto_verify_32(c2, 0, d, 0);\n }\n function par25519(a2) {\n var d = new Uint8Array(32);\n pack25519(d, a2);\n return d[0] & 1;\n }\n function unpack25519(o2, n2) {\n var i2;\n for (i2 = 0; i2 < 16; i2++)\n o2[i2] = n2[2 * i2] + (n2[2 * i2 + 1] << 8);\n o2[15] &= 32767;\n }\n function A(o2, a2, b) {\n for (var i2 = 0; i2 < 16; i2++)\n o2[i2] = a2[i2] + b[i2];\n }\n function Z(o2, a2, b) {\n for (var i2 = 0; i2 < 16; i2++)\n o2[i2] = a2[i2] - b[i2];\n }\n function M(o2, a2, b) {\n var v, c2, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a2[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a2[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a2[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a2[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a2[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a2[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a2[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a2[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a2[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a2[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a2[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a2[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a2[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a2[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a2[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a2[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n c2 = 1;\n v = t0 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t0 = v - c2 * 65536;\n v = t1 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t1 = v - c2 * 65536;\n v = t2 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t2 = v - c2 * 65536;\n v = t3 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t3 = v - c2 * 65536;\n v = t4 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t4 = v - c2 * 65536;\n v = t5 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t5 = v - c2 * 65536;\n v = t6 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t6 = v - c2 * 65536;\n v = t7 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t7 = v - c2 * 65536;\n v = t8 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t8 = v - c2 * 65536;\n v = t9 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t9 = v - c2 * 65536;\n v = t10 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t10 = v - c2 * 65536;\n v = t11 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t11 = v - c2 * 65536;\n v = t12 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t12 = v - c2 * 65536;\n v = t13 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t13 = v - c2 * 65536;\n v = t14 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t14 = v - c2 * 65536;\n v = t15 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t15 = v - c2 * 65536;\n t0 += c2 - 1 + 37 * (c2 - 1);\n c2 = 1;\n v = t0 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t0 = v - c2 * 65536;\n v = t1 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t1 = v - c2 * 65536;\n v = t2 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t2 = v - c2 * 65536;\n v = t3 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t3 = v - c2 * 65536;\n v = t4 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t4 = v - c2 * 65536;\n v = t5 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t5 = v - c2 * 65536;\n v = t6 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t6 = v - c2 * 65536;\n v = t7 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t7 = v - c2 * 65536;\n v = t8 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t8 = v - c2 * 65536;\n v = t9 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t9 = v - c2 * 65536;\n v = t10 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t10 = v - c2 * 65536;\n v = t11 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t11 = v - c2 * 65536;\n v = t12 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t12 = v - c2 * 65536;\n v = t13 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t13 = v - c2 * 65536;\n v = t14 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t14 = v - c2 * 65536;\n v = t15 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t15 = v - c2 * 65536;\n t0 += c2 - 1 + 37 * (c2 - 1);\n o2[0] = t0;\n o2[1] = t1;\n o2[2] = t2;\n o2[3] = t3;\n o2[4] = t4;\n o2[5] = t5;\n o2[6] = t6;\n o2[7] = t7;\n o2[8] = t8;\n o2[9] = t9;\n o2[10] = t10;\n o2[11] = t11;\n o2[12] = t12;\n o2[13] = t13;\n o2[14] = t14;\n o2[15] = t15;\n }\n function S(o2, a2) {\n M(o2, a2, a2);\n }\n function inv25519(o2, i2) {\n var c2 = gf();\n var a2;\n for (a2 = 0; a2 < 16; a2++)\n c2[a2] = i2[a2];\n for (a2 = 253; a2 >= 0; a2--) {\n S(c2, c2);\n if (a2 !== 2 && a2 !== 4)\n M(c2, c2, i2);\n }\n for (a2 = 0; a2 < 16; a2++)\n o2[a2] = c2[a2];\n }\n function pow2523(o2, i2) {\n var c2 = gf();\n var a2;\n for (a2 = 0; a2 < 16; a2++)\n c2[a2] = i2[a2];\n for (a2 = 250; a2 >= 0; a2--) {\n S(c2, c2);\n if (a2 !== 1)\n M(c2, c2, i2);\n }\n for (a2 = 0; a2 < 16; a2++)\n o2[a2] = c2[a2];\n }\n function crypto_scalarmult(q, n2, p2) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i2;\n var a2 = gf(), b = gf(), c2 = gf(), d = gf(), e2 = gf(), f = gf();\n for (i2 = 0; i2 < 31; i2++)\n z[i2] = n2[i2];\n z[31] = n2[31] & 127 | 64;\n z[0] &= 248;\n unpack25519(x, p2);\n for (i2 = 0; i2 < 16; i2++) {\n b[i2] = x[i2];\n d[i2] = a2[i2] = c2[i2] = 0;\n }\n a2[0] = d[0] = 1;\n for (i2 = 254; i2 >= 0; --i2) {\n r = z[i2 >>> 3] >>> (i2 & 7) & 1;\n sel25519(a2, b, r);\n sel25519(c2, d, r);\n A(e2, a2, c2);\n Z(a2, a2, c2);\n A(c2, b, d);\n Z(b, b, d);\n S(d, e2);\n S(f, a2);\n M(a2, c2, a2);\n M(c2, b, e2);\n A(e2, a2, c2);\n Z(a2, a2, c2);\n S(b, a2);\n Z(c2, d, f);\n M(a2, c2, _121665);\n A(a2, a2, d);\n M(c2, c2, a2);\n M(a2, d, f);\n M(d, b, x);\n S(b, e2);\n sel25519(a2, b, r);\n sel25519(c2, d, r);\n }\n for (i2 = 0; i2 < 16; i2++) {\n x[i2 + 16] = a2[i2];\n x[i2 + 32] = c2[i2];\n x[i2 + 48] = b[i2];\n x[i2 + 64] = d[i2];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32, x32);\n M(x16, x16, x32);\n pack25519(q, x16);\n return 0;\n }\n function crypto_scalarmult_base(q, n2) {\n return crypto_scalarmult(q, n2, _9);\n }\n function crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n }\n function crypto_box_beforenm(k, y, x) {\n var s2 = new Uint8Array(32);\n crypto_scalarmult(s2, x, y);\n return crypto_core_hsalsa20(k, _0, s2, sigma);\n }\n var crypto_box_afternm = crypto_secretbox;\n var crypto_box_open_afternm = crypto_secretbox_open;\n function crypto_box(c2, m, d, n2, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c2, m, d, n2, k);\n }\n function crypto_box_open(m, c2, d, n2, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c2, d, n2, k);\n }\n var K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function crypto_hashblocks_hl(hh, hl, m, n2) {\n var wh = new Int32Array(16), wl = new Int32Array(16), bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7, bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7, th, tl, i2, j, h2, l2, a2, b, c2, d;\n var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];\n var pos = 0;\n while (n2 >= 128) {\n for (i2 = 0; i2 < 16; i2++) {\n j = 8 * i2 + pos;\n wh[i2] = m[j + 0] << 24 | m[j + 1] << 16 | m[j + 2] << 8 | m[j + 3];\n wl[i2] = m[j + 4] << 24 | m[j + 5] << 16 | m[j + 6] << 8 | m[j + 7];\n }\n for (i2 = 0; i2 < 80; i2++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n h2 = ah7;\n l2 = al7;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = (ah4 >>> 14 | al4 << 32 - 14) ^ (ah4 >>> 18 | al4 << 32 - 18) ^ (al4 >>> 41 - 32 | ah4 << 32 - (41 - 32));\n l2 = (al4 >>> 14 | ah4 << 32 - 14) ^ (al4 >>> 18 | ah4 << 32 - 18) ^ (ah4 >>> 41 - 32 | al4 << 32 - (41 - 32));\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = ah4 & ah5 ^ ~ah4 & ah6;\n l2 = al4 & al5 ^ ~al4 & al6;\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = K[i2 * 2];\n l2 = K[i2 * 2 + 1];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = wh[i2 % 16];\n l2 = wl[i2 % 16];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n th = c2 & 65535 | d << 16;\n tl = a2 & 65535 | b << 16;\n h2 = th;\n l2 = tl;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = (ah0 >>> 28 | al0 << 32 - 28) ^ (al0 >>> 34 - 32 | ah0 << 32 - (34 - 32)) ^ (al0 >>> 39 - 32 | ah0 << 32 - (39 - 32));\n l2 = (al0 >>> 28 | ah0 << 32 - 28) ^ (ah0 >>> 34 - 32 | al0 << 32 - (34 - 32)) ^ (ah0 >>> 39 - 32 | al0 << 32 - (39 - 32));\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = ah0 & ah1 ^ ah0 & ah2 ^ ah1 & ah2;\n l2 = al0 & al1 ^ al0 & al2 ^ al1 & al2;\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n bh7 = c2 & 65535 | d << 16;\n bl7 = a2 & 65535 | b << 16;\n h2 = bh3;\n l2 = bl3;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = th;\n l2 = tl;\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n bh3 = c2 & 65535 | d << 16;\n bl3 = a2 & 65535 | b << 16;\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n if (i2 % 16 === 15) {\n for (j = 0; j < 16; j++) {\n h2 = wh[j];\n l2 = wl[j];\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = wh[(j + 9) % 16];\n l2 = wl[(j + 9) % 16];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h2 = (th >>> 1 | tl << 32 - 1) ^ (th >>> 8 | tl << 32 - 8) ^ th >>> 7;\n l2 = (tl >>> 1 | th << 32 - 1) ^ (tl >>> 8 | th << 32 - 8) ^ (tl >>> 7 | th << 32 - 7);\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h2 = (th >>> 19 | tl << 32 - 19) ^ (tl >>> 61 - 32 | th << 32 - (61 - 32)) ^ th >>> 6;\n l2 = (tl >>> 19 | th << 32 - 19) ^ (th >>> 61 - 32 | tl << 32 - (61 - 32)) ^ (tl >>> 6 | th << 32 - 6);\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n wh[j] = c2 & 65535 | d << 16;\n wl[j] = a2 & 65535 | b << 16;\n }\n }\n }\n h2 = ah0;\n l2 = al0;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[0];\n l2 = hl[0];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[0] = ah0 = c2 & 65535 | d << 16;\n hl[0] = al0 = a2 & 65535 | b << 16;\n h2 = ah1;\n l2 = al1;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[1];\n l2 = hl[1];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[1] = ah1 = c2 & 65535 | d << 16;\n hl[1] = al1 = a2 & 65535 | b << 16;\n h2 = ah2;\n l2 = al2;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[2];\n l2 = hl[2];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[2] = ah2 = c2 & 65535 | d << 16;\n hl[2] = al2 = a2 & 65535 | b << 16;\n h2 = ah3;\n l2 = al3;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[3];\n l2 = hl[3];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[3] = ah3 = c2 & 65535 | d << 16;\n hl[3] = al3 = a2 & 65535 | b << 16;\n h2 = ah4;\n l2 = al4;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[4];\n l2 = hl[4];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[4] = ah4 = c2 & 65535 | d << 16;\n hl[4] = al4 = a2 & 65535 | b << 16;\n h2 = ah5;\n l2 = al5;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[5];\n l2 = hl[5];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[5] = ah5 = c2 & 65535 | d << 16;\n hl[5] = al5 = a2 & 65535 | b << 16;\n h2 = ah6;\n l2 = al6;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[6];\n l2 = hl[6];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[6] = ah6 = c2 & 65535 | d << 16;\n hl[6] = al6 = a2 & 65535 | b << 16;\n h2 = ah7;\n l2 = al7;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[7];\n l2 = hl[7];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[7] = ah7 = c2 & 65535 | d << 16;\n hl[7] = al7 = a2 & 65535 | b << 16;\n pos += 128;\n n2 -= 128;\n }\n return n2;\n }\n function crypto_hash(out, m, n2) {\n var hh = new Int32Array(8), hl = new Int32Array(8), x = new Uint8Array(256), i2, b = n2;\n hh[0] = 1779033703;\n hh[1] = 3144134277;\n hh[2] = 1013904242;\n hh[3] = 2773480762;\n hh[4] = 1359893119;\n hh[5] = 2600822924;\n hh[6] = 528734635;\n hh[7] = 1541459225;\n hl[0] = 4089235720;\n hl[1] = 2227873595;\n hl[2] = 4271175723;\n hl[3] = 1595750129;\n hl[4] = 2917565137;\n hl[5] = 725511199;\n hl[6] = 4215389547;\n hl[7] = 327033209;\n crypto_hashblocks_hl(hh, hl, m, n2);\n n2 %= 128;\n for (i2 = 0; i2 < n2; i2++)\n x[i2] = m[b - n2 + i2];\n x[n2] = 128;\n n2 = 256 - 128 * (n2 < 112 ? 1 : 0);\n x[n2 - 9] = 0;\n ts64(x, n2 - 8, b / 536870912 | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n2);\n for (i2 = 0; i2 < 8; i2++)\n ts64(out, 8 * i2, hh[i2], hl[i2]);\n return 0;\n }\n function add(p2, q) {\n var a2 = gf(), b = gf(), c2 = gf(), d = gf(), e2 = gf(), f = gf(), g = gf(), h2 = gf(), t2 = gf();\n Z(a2, p2[1], p2[0]);\n Z(t2, q[1], q[0]);\n M(a2, a2, t2);\n A(b, p2[0], p2[1]);\n A(t2, q[0], q[1]);\n M(b, b, t2);\n M(c2, p2[3], q[3]);\n M(c2, c2, D2);\n M(d, p2[2], q[2]);\n A(d, d, d);\n Z(e2, b, a2);\n Z(f, d, c2);\n A(g, d, c2);\n A(h2, b, a2);\n M(p2[0], e2, f);\n M(p2[1], h2, g);\n M(p2[2], g, f);\n M(p2[3], e2, h2);\n }\n function cswap(p2, q, b) {\n var i2;\n for (i2 = 0; i2 < 4; i2++) {\n sel25519(p2[i2], q[i2], b);\n }\n }\n function pack(r, p2) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p2[2]);\n M(tx, p2[0], zi);\n M(ty, p2[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n }\n function scalarmult(p2, q, s2) {\n var b, i2;\n set25519(p2[0], gf0);\n set25519(p2[1], gf1);\n set25519(p2[2], gf1);\n set25519(p2[3], gf0);\n for (i2 = 255; i2 >= 0; --i2) {\n b = s2[i2 / 8 | 0] >> (i2 & 7) & 1;\n cswap(p2, q, b);\n add(q, p2);\n add(p2, p2);\n cswap(p2, q, b);\n }\n }\n function scalarbase(p2, s2) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p2, q, s2);\n }\n function crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p2 = [gf(), gf(), gf(), gf()];\n var i2;\n if (!seeded)\n randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n scalarbase(p2, d);\n pack(pk, p2);\n for (i2 = 0; i2 < 32; i2++)\n sk[i2 + 32] = pk[i2];\n return 0;\n }\n var L = new Float64Array([237, 211, 245, 92, 26, 99, 18, 88, 214, 156, 247, 162, 222, 249, 222, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]);\n function modL(r, x) {\n var carry, i2, j, k;\n for (i2 = 63; i2 >= 32; --i2) {\n carry = 0;\n for (j = i2 - 32, k = i2 - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i2] * L[j - (i2 - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i2] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++)\n x[j] -= carry * L[j];\n for (i2 = 0; i2 < 32; i2++) {\n x[i2 + 1] += x[i2] >> 8;\n r[i2] = x[i2] & 255;\n }\n }\n function reduce(r) {\n var x = new Float64Array(64), i2;\n for (i2 = 0; i2 < 64; i2++)\n x[i2] = r[i2];\n for (i2 = 0; i2 < 64; i2++)\n r[i2] = 0;\n modL(r, x);\n }\n function crypto_sign(sm, m, n2, sk) {\n var d = new Uint8Array(64), h2 = new Uint8Array(64), r = new Uint8Array(64);\n var i2, j, x = new Float64Array(64);\n var p2 = [gf(), gf(), gf(), gf()];\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n var smlen = n2 + 64;\n for (i2 = 0; i2 < n2; i2++)\n sm[64 + i2] = m[i2];\n for (i2 = 0; i2 < 32; i2++)\n sm[32 + i2] = d[32 + i2];\n crypto_hash(r, sm.subarray(32), n2 + 32);\n reduce(r);\n scalarbase(p2, r);\n pack(sm, p2);\n for (i2 = 32; i2 < 64; i2++)\n sm[i2] = sk[i2];\n crypto_hash(h2, sm, n2 + 64);\n reduce(h2);\n for (i2 = 0; i2 < 64; i2++)\n x[i2] = 0;\n for (i2 = 0; i2 < 32; i2++)\n x[i2] = r[i2];\n for (i2 = 0; i2 < 32; i2++) {\n for (j = 0; j < 32; j++) {\n x[i2 + j] += h2[i2] * d[j];\n }\n }\n modL(sm.subarray(32), x);\n return smlen;\n }\n function unpackneg(r, p2) {\n var t2 = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p2);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t2, den6, num);\n M(t2, t2, den);\n pow2523(t2, t2);\n M(t2, t2, num);\n M(t2, t2, den);\n M(t2, t2, den);\n M(r[0], t2, den);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num))\n M(r[0], r[0], I);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num))\n return -1;\n if (par25519(r[0]) === p2[31] >> 7)\n Z(r[0], gf0, r[0]);\n M(r[3], r[0], r[1]);\n return 0;\n }\n function crypto_sign_open(m, sm, n2, pk) {\n var i2;\n var t2 = new Uint8Array(32), h2 = new Uint8Array(64);\n var p2 = [gf(), gf(), gf(), gf()], q = [gf(), gf(), gf(), gf()];\n if (n2 < 64)\n return -1;\n if (unpackneg(q, pk))\n return -1;\n for (i2 = 0; i2 < n2; i2++)\n m[i2] = sm[i2];\n for (i2 = 0; i2 < 32; i2++)\n m[i2 + 32] = pk[i2];\n crypto_hash(h2, m, n2);\n reduce(h2);\n scalarmult(p2, q, h2);\n scalarbase(q, sm.subarray(32));\n add(p2, q);\n pack(t2, p2);\n n2 -= 64;\n if (crypto_verify_32(sm, 0, t2, 0)) {\n for (i2 = 0; i2 < n2; i2++)\n m[i2] = 0;\n return -1;\n }\n for (i2 = 0; i2 < n2; i2++)\n m[i2] = sm[i2 + 64];\n return n2;\n }\n var crypto_secretbox_KEYBYTES = 32, crypto_secretbox_NONCEBYTES = 24, crypto_secretbox_ZEROBYTES = 32, crypto_secretbox_BOXZEROBYTES = 16, crypto_scalarmult_BYTES = 32, crypto_scalarmult_SCALARBYTES = 32, crypto_box_PUBLICKEYBYTES = 32, crypto_box_SECRETKEYBYTES = 32, crypto_box_BEFORENMBYTES = 32, crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES, crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES, crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES, crypto_sign_BYTES = 64, crypto_sign_PUBLICKEYBYTES = 32, crypto_sign_SECRETKEYBYTES = 64, crypto_sign_SEEDBYTES = 32, crypto_hash_BYTES = 64;\n nacl2.lowlevel = {\n crypto_core_hsalsa20,\n crypto_stream_xor,\n crypto_stream,\n crypto_stream_salsa20_xor,\n crypto_stream_salsa20,\n crypto_onetimeauth,\n crypto_onetimeauth_verify,\n crypto_verify_16,\n crypto_verify_32,\n crypto_secretbox,\n crypto_secretbox_open,\n crypto_scalarmult,\n crypto_scalarmult_base,\n crypto_box_beforenm,\n crypto_box_afternm,\n crypto_box,\n crypto_box_open,\n crypto_box_keypair,\n crypto_hash,\n crypto_sign,\n crypto_sign_keypair,\n crypto_sign_open,\n crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES,\n crypto_hash_BYTES,\n gf,\n D,\n L,\n pack25519,\n unpack25519,\n M,\n A,\n S,\n Z,\n pow2523,\n add,\n set25519,\n modL,\n scalarmult,\n scalarbase\n };\n function checkLengths(k, n2) {\n if (k.length !== crypto_secretbox_KEYBYTES)\n throw new Error(\"bad key size\");\n if (n2.length !== crypto_secretbox_NONCEBYTES)\n throw new Error(\"bad nonce size\");\n }\n function checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES)\n throw new Error(\"bad public key size\");\n if (sk.length !== crypto_box_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n }\n function checkArrayTypes() {\n for (var i2 = 0; i2 < arguments.length; i2++) {\n if (!(arguments[i2] instanceof Uint8Array))\n throw new TypeError(\"unexpected type, use Uint8Array\");\n }\n }\n function cleanup(arr) {\n for (var i2 = 0; i2 < arr.length; i2++)\n arr[i2] = 0;\n }\n nacl2.randomBytes = function(n2) {\n var b = new Uint8Array(n2);\n randombytes(b, n2);\n return b;\n };\n nacl2.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c2 = new Uint8Array(m.length);\n for (var i2 = 0; i2 < msg.length; i2++)\n m[i2 + crypto_secretbox_ZEROBYTES] = msg[i2];\n crypto_secretbox(c2, m, m.length, nonce, key);\n return c2.subarray(crypto_secretbox_BOXZEROBYTES);\n };\n nacl2.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c2 = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c2.length);\n for (var i2 = 0; i2 < box.length; i2++)\n c2[i2 + crypto_secretbox_BOXZEROBYTES] = box[i2];\n if (c2.length < 32)\n return null;\n if (crypto_secretbox_open(m, c2, c2.length, nonce, key) !== 0)\n return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n };\n nacl2.secretbox.keyLength = crypto_secretbox_KEYBYTES;\n nacl2.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\n nacl2.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n nacl2.scalarMult = function(n2, p2) {\n checkArrayTypes(n2, p2);\n if (n2.length !== crypto_scalarmult_SCALARBYTES)\n throw new Error(\"bad n size\");\n if (p2.length !== crypto_scalarmult_BYTES)\n throw new Error(\"bad p size\");\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n2, p2);\n return q;\n };\n nacl2.scalarMult.base = function(n2) {\n checkArrayTypes(n2);\n if (n2.length !== crypto_scalarmult_SCALARBYTES)\n throw new Error(\"bad n size\");\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n2);\n return q;\n };\n nacl2.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\n nacl2.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n nacl2.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl2.box.before(publicKey, secretKey);\n return nacl2.secretbox(msg, nonce, k);\n };\n nacl2.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n };\n nacl2.box.after = nacl2.secretbox;\n nacl2.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl2.box.before(publicKey, secretKey);\n return nacl2.secretbox.open(msg, nonce, k);\n };\n nacl2.box.open.after = nacl2.secretbox.open;\n nacl2.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return { publicKey: pk, secretKey: sk };\n };\n nacl2.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return { publicKey: pk, secretKey: new Uint8Array(secretKey) };\n };\n nacl2.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\n nacl2.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\n nacl2.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\n nacl2.box.nonceLength = crypto_box_NONCEBYTES;\n nacl2.box.overheadLength = nacl2.secretbox.overheadLength;\n nacl2.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n var signedMsg = new Uint8Array(crypto_sign_BYTES + msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n };\n nacl2.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error(\"bad public key size\");\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0)\n return null;\n var m = new Uint8Array(mlen);\n for (var i2 = 0; i2 < m.length; i2++)\n m[i2] = tmp[i2];\n return m;\n };\n nacl2.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl2.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for (var i2 = 0; i2 < sig.length; i2++)\n sig[i2] = signedMsg[i2];\n return sig;\n };\n nacl2.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES)\n throw new Error(\"bad signature size\");\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error(\"bad public key size\");\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i2;\n for (i2 = 0; i2 < crypto_sign_BYTES; i2++)\n sm[i2] = sig[i2];\n for (i2 = 0; i2 < msg.length; i2++)\n sm[i2 + crypto_sign_BYTES] = msg[i2];\n return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;\n };\n nacl2.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return { publicKey: pk, secretKey: sk };\n };\n nacl2.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for (var i2 = 0; i2 < pk.length; i2++)\n pk[i2] = secretKey[32 + i2];\n return { publicKey: pk, secretKey: new Uint8Array(secretKey) };\n };\n nacl2.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES)\n throw new Error(\"bad seed size\");\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for (var i2 = 0; i2 < 32; i2++)\n sk[i2] = seed[i2];\n crypto_sign_keypair(pk, sk, true);\n return { publicKey: pk, secretKey: sk };\n };\n nacl2.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\n nacl2.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\n nacl2.sign.seedLength = crypto_sign_SEEDBYTES;\n nacl2.sign.signatureLength = crypto_sign_BYTES;\n nacl2.hash = function(msg) {\n checkArrayTypes(msg);\n var h2 = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h2, msg, msg.length);\n return h2;\n };\n nacl2.hash.hashLength = crypto_hash_BYTES;\n nacl2.verify = function(x, y) {\n checkArrayTypes(x, y);\n if (x.length === 0 || y.length === 0)\n return false;\n if (x.length !== y.length)\n return false;\n return vn(x, 0, y, 0, x.length) === 0 ? true : false;\n };\n nacl2.setPRNG = function(fn) {\n randombytes = fn;\n };\n (function() {\n var crypto2 = typeof self !== \"undefined\" ? self.crypto || self.msCrypto : null;\n if (crypto2 && crypto2.getRandomValues) {\n var QUOTA = 65536;\n nacl2.setPRNG(function(x, n2) {\n var i2, v = new Uint8Array(n2);\n for (i2 = 0; i2 < n2; i2 += QUOTA) {\n crypto2.getRandomValues(v.subarray(i2, i2 + Math.min(n2 - i2, QUOTA)));\n }\n for (i2 = 0; i2 < n2; i2++)\n x[i2] = v[i2];\n cleanup(v);\n });\n } else if (typeof commonjsRequire !== \"undefined\") {\n crypto2 = require$$0;\n if (crypto2 && crypto2.randomBytes) {\n nacl2.setPRNG(function(x, n2) {\n var i2, v = crypto2.randomBytes(n2);\n for (i2 = 0; i2 < n2; i2++)\n x[i2] = v[i2];\n cleanup(v);\n });\n }\n }\n })();\n })(module.exports ? module.exports : self.nacl = self.nacl || {});\n})(naclFast);\nconst nacl = naclFast.exports;\nif (isNode$1()) {\n try {\n eval(\"global.crypto = require('crypto').webcrypto\");\n } catch (err) {\n }\n}\nclass SessionCrypto {\n constructor(keyPair) {\n this.nonceLength = 24;\n this.keyPair = keyPair ? this.createKeypairFromString(keyPair) : this.createKeypair();\n this.sessionId = toHexString(this.keyPair.publicKey);\n }\n createKeypair() {\n return nacl.box.keyPair();\n }\n createKeypairFromString(keyPair) {\n return {\n publicKey: hexToByteArray(keyPair.publicKey),\n secretKey: hexToByteArray(keyPair.secretKey)\n };\n }\n createNonce() {\n const buffer = new Uint8Array(this.nonceLength);\n return crypto.getRandomValues(buffer);\n }\n encrypt(message, receiverPublicKey) {\n const encodedMessage = new TextEncoder().encode(message);\n const nonce = this.createNonce();\n const encrypted = nacl.box(encodedMessage, nonce, receiverPublicKey, this.keyPair.secretKey);\n return concatUint8Arrays(nonce, encrypted);\n }\n decrypt(message, senderPublicKey) {\n const [nonce, internalMessage] = splitToUint8Arrays(message, this.nonceLength);\n const decrypted = nacl.box.open(internalMessage, nonce, senderPublicKey, this.keyPair.secretKey);\n if (!decrypted) {\n throw new Error(`Decryption error: \n message: ${message.toString()} \n sender pubkey: ${senderPublicKey.toString()} \n keypair pubkey: ${this.keyPair.publicKey.toString()} \n keypair secretkey: ${this.keyPair.secretKey.toString()}`);\n }\n return new TextDecoder().decode(decrypted);\n }\n stringifyKeypair() {\n return {\n publicKey: toHexString(this.keyPair.publicKey),\n secretKey: toHexString(this.keyPair.secretKey)\n };\n }\n}\nconst connectEventErrorsCodes = {\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [CONNECT_EVENT_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [CONNECT_EVENT_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_NOT_FOUND_ERROR]: ManifestNotFoundError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_CONTENT_ERROR]: ManifestContentErrorError\n};\nclass ConnectErrorsParser {\n parseError(error) {\n let ErrorConstructor = UnknownError;\n if (error.code in connectEventErrorsCodes) {\n ErrorConstructor = connectEventErrorsCodes[error.code] || UnknownError;\n }\n return new ErrorConstructor(error.message);\n }\n}\nconst connectErrorsParser = new ConnectErrorsParser();\nclass RpcParser {\n isError(response) {\n return \"error\" in response;\n }\n}\nconst sendTransactionErrors = {\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [SEND_TRANSACTION_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [SEND_TRANSACTION_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError\n};\nclass SendTransactionParser extends RpcParser {\n convertToRpcRequest(request) {\n return {\n method: \"sendTransaction\",\n params: [JSON.stringify(request)]\n };\n }\n parseAndThrowError(response) {\n let ErrorConstructor = UnknownError;\n if (response.error.code in sendTransactionErrors) {\n ErrorConstructor = sendTransactionErrors[response.error.code] || UnknownError;\n }\n throw new ErrorConstructor(response.error.message);\n }\n convertFromRpcResponse(rpcResponse) {\n return {\n boc: rpcResponse.result\n };\n }\n}\nconst sendTransactionParser = new SendTransactionParser();\nvar __awaiter$7 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass HttpBridgeGatewayStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = \"ton-connect-storage_http-bridge-gateway\";\n }\n storeLastEventId(lastEventId) {\n return __awaiter$7(this, void 0, void 0, function* () {\n return this.storage.setItem(this.storeKey, lastEventId);\n });\n }\n removeLastEventId() {\n return __awaiter$7(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getLastEventId() {\n return __awaiter$7(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n return stored;\n });\n }\n}\nfunction removeUrlLastSlash(url) {\n if (url.slice(-1) === \"/\") {\n return url.slice(0, -1);\n }\n return url;\n}\nfunction addPathToUrl(url, path) {\n return removeUrlLastSlash(url) + \"/\" + path;\n}\nvar __awaiter$6 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nif (isNode$1()) {\n try {\n eval(\"global.EventSource = require('eventsource')\");\n eval(\"global.fetch = require('node-fetch')\");\n } catch (err) {\n console.error(err);\n }\n}\nclass BridgeGateway {\n constructor(storage, bridgeUrl, sessionId, listener, errorsListener) {\n this.bridgeUrl = bridgeUrl;\n this.sessionId = sessionId;\n this.listener = listener;\n this.errorsListener = errorsListener;\n this.ssePath = \"events\";\n this.postPath = \"message\";\n this.heartbeatMessage = \"heartbeat\";\n this.defaultTtl = 300;\n this.isClosed = false;\n this.bridgeGatewayStorage = new HttpBridgeGatewayStorage(storage);\n }\n registerSession() {\n return __awaiter$6(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.ssePath));\n url.searchParams.append(\"client_id\", this.sessionId);\n const lastEventId = yield this.bridgeGatewayStorage.getLastEventId();\n if (lastEventId) {\n url.searchParams.append(\"last_event_id\", lastEventId);\n }\n this.eventSource = new EventSource(url.toString());\n return new Promise((resolve, reject) => {\n this.eventSource.onerror = reject;\n this.eventSource.onopen = () => {\n this.eventSource.onerror = this.errorsHandler.bind(this);\n this.eventSource.onmessage = this.messagesHandler.bind(this);\n resolve();\n };\n });\n });\n }\n send(message, receiver, ttl) {\n return __awaiter$6(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.postPath));\n url.searchParams.append(\"client_id\", this.sessionId);\n url.searchParams.append(\"to\", receiver);\n url.searchParams.append(\"ttl\", (ttl || this.defaultTtl).toString());\n yield fetch(url, {\n method: \"post\",\n body: Base64.encode(message)\n });\n });\n }\n close() {\n var _a;\n this.isClosed = true;\n (_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();\n }\n errorsHandler(e2) {\n var _a, _b;\n if (!this.isClosed) {\n if (((_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.readyState) === EventSource.CLOSED) {\n this.eventSource.close();\n this.registerSession();\n return;\n }\n if (((_b = this.eventSource) === null || _b === void 0 ? void 0 : _b.readyState) === EventSource.CONNECTING) {\n console.debug(\"[TON_CONNET_SDK_ERROR]: Bridge error\", JSON.stringify(e2));\n return;\n }\n this.errorsListener(e2);\n }\n }\n messagesHandler(e2) {\n return __awaiter$6(this, void 0, void 0, function* () {\n if (e2.data === this.heartbeatMessage) {\n return;\n }\n yield this.bridgeGatewayStorage.storeLastEventId(e2.lastEventId);\n if (!this.isClosed) {\n let bridgeIncomingMessage;\n try {\n bridgeIncomingMessage = JSON.parse(e2.data);\n } catch (e3) {\n throw new TonConnectError(`Bridge message parse failed, message ${e3.data}`);\n }\n this.listener(bridgeIncomingMessage);\n }\n });\n }\n}\nvar __awaiter$5 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass BridgeConnectionStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = \"ton-connect-storage_bridge-connection\";\n }\n storeConnection(connection) {\n return __awaiter$5(this, void 0, void 0, function* () {\n if (connection.type === \"injected\") {\n return this.storage.setItem(this.storeKey, JSON.stringify(connection));\n }\n const rawSession = {\n sessionKeyPair: connection.session.sessionCrypto.stringifyKeypair(),\n walletPublicKey: connection.session.walletPublicKey,\n walletConnectionSource: connection.session.walletConnectionSource\n };\n const rawConnection = {\n type: \"http\",\n connectEvent: connection.connectEvent,\n session: rawSession\n };\n return this.storage.setItem(this.storeKey, JSON.stringify(rawConnection));\n });\n }\n removeConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n if (connection.type === \"injected\") {\n return connection;\n }\n const sessionCrypto = new SessionCrypto(connection.session.sessionKeyPair);\n return {\n type: \"http\",\n connectEvent: connection.connectEvent,\n session: {\n sessionCrypto,\n walletConnectionSource: connection.session.walletConnectionSource,\n walletPublicKey: connection.session.walletPublicKey\n }\n };\n });\n }\n getHttpConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError(\"Trying to read HTTP connection source while nothing is stored\");\n }\n if (connection.type === \"injected\") {\n throw new TonConnectError(\"Trying to read HTTP connection source while injected connection is stored\");\n }\n return connection;\n });\n }\n getInjectedConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError(\"Trying to read Injected bridge connection source while nothing is stored\");\n }\n if ((connection === null || connection === void 0 ? void 0 : connection.type) === \"http\") {\n throw new TonConnectError(\"Trying to read Injected bridge connection source while HTTP connection is stored\");\n }\n return connection;\n });\n }\n storedConnectionType() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n return connection.type;\n });\n }\n}\nconst PROTOCOL_VERSION = 2;\nvar __awaiter$4 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass BridgeProvider {\n constructor(storage, walletConnectionSource) {\n this.storage = storage;\n this.walletConnectionSource = walletConnectionSource;\n this.type = \"http\";\n this.pendingRequests = /* @__PURE__ */ new Map();\n this.nextRequestId = 0;\n this.session = null;\n this.bridge = null;\n this.listeners = [];\n this.connectionStorage = new BridgeConnectionStorage(storage);\n }\n static fromStorage(storage) {\n return __awaiter$4(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getHttpConnection();\n return new BridgeProvider(storage, connection.session.walletConnectionSource);\n });\n }\n connect(message) {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const sessionCrypto = new SessionCrypto();\n this.session = {\n sessionCrypto,\n walletConnectionSource: this.walletConnectionSource\n };\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n this.bridge.registerSession();\n return this.generateUniversalLink(message);\n }\n restoreConnection() {\n var _a;\n return __awaiter$4(this, void 0, void 0, function* () {\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const storedConnection = yield this.connectionStorage.getHttpConnection();\n if (!storedConnection) {\n return;\n }\n this.session = storedConnection.session;\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, storedConnection.session.sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n yield this.bridge.registerSession();\n this.listeners.forEach((listener) => listener(storedConnection.connectEvent));\n });\n }\n sendRequest(request) {\n return new Promise((resolve, reject) => {\n const id = this.nextRequestId;\n this.nextRequestId++;\n if (!this.bridge || !this.session || !(\"walletPublicKey\" in this.session)) {\n throw new TonConnectError(\"Trying to send bridge request without session\");\n }\n const encodedRequest = this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({}, request), { id })), hexToByteArray(this.session.walletPublicKey));\n this.bridge.send(encodedRequest, this.session.walletPublicKey).catch(reject);\n this.pendingRequests.set(id.toString(), resolve);\n });\n }\n closeConnection() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n this.session = null;\n this.bridge = null;\n }\n disconnect() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n return this.removeBridgeAndSession();\n }\n listen(callback) {\n this.listeners.push(callback);\n return () => this.listeners = this.listeners.filter((listener) => listener !== callback);\n }\n gatewayListener(bridgeIncomingMessage) {\n return __awaiter$4(this, void 0, void 0, function* () {\n const walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(Base64.decode(bridgeIncomingMessage.message).toUint8Array(), hexToByteArray(bridgeIncomingMessage.from)));\n if (!(\"event\" in walletMessage)) {\n const id = walletMessage.id.toString();\n const resolve = this.pendingRequests.get(id);\n if (!resolve) {\n throw new TonConnectError(`Response id ${id} doesn't match any request's id`);\n }\n resolve(walletMessage);\n this.pendingRequests.delete(id);\n return;\n }\n if (walletMessage.event === \"connect\") {\n yield this.updateSession(walletMessage, bridgeIncomingMessage.from);\n }\n if (walletMessage.event === \"disconnect\") {\n yield this.removeBridgeAndSession();\n }\n this.listeners.forEach((listener) => listener(walletMessage));\n });\n }\n gatewayErrorsListener(e2) {\n return __awaiter$4(this, void 0, void 0, function* () {\n throw new TonConnectError(`Bridge error ${JSON.stringify(e2)}`);\n });\n }\n updateSession(connectEvent, walletPublicKey) {\n return __awaiter$4(this, void 0, void 0, function* () {\n this.session = Object.assign(Object.assign({}, this.session), { walletPublicKey });\n const tonAddrItem = connectEvent.payload.items.find((item) => item.name === \"ton_addr\");\n const connectEventToSave = Object.assign(Object.assign({}, connectEvent), { payload: Object.assign(Object.assign({}, connectEvent.payload), { items: [tonAddrItem] }) });\n yield this.connectionStorage.storeConnection({\n type: \"http\",\n session: this.session,\n connectEvent: connectEventToSave\n });\n });\n }\n removeBridgeAndSession() {\n return __awaiter$4(this, void 0, void 0, function* () {\n this.session = null;\n this.bridge = null;\n yield this.connectionStorage.removeConnection();\n });\n }\n generateUniversalLink(message) {\n const url = new URL(this.walletConnectionSource.universalLink);\n url.searchParams.append(\"v\", PROTOCOL_VERSION.toString());\n url.searchParams.append(\"id\", this.session.sessionCrypto.sessionId);\n url.searchParams.append(\"r\", JSON.stringify(message));\n return url.toString();\n }\n}\nfunction getWindow$1() {\n if (typeof window === \"undefined\") {\n return void 0;\n }\n return window;\n}\nfunction getWebPageManifest() {\n var _a;\n const origin = (_a = getWindow$1()) === null || _a === void 0 ? void 0 : _a.location.origin;\n if (origin) {\n return origin + \"/tonconnect-manifest.json\";\n }\n return \"\";\n}\nvar __awaiter$3 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass InjectedProvider {\n constructor(storage, injectedWalletKey) {\n this.injectedWalletKey = injectedWalletKey;\n this.type = \"injected\";\n this.unsubscribeCallback = null;\n this.listenSubscriptions = false;\n this.listeners = [];\n const window2 = InjectedProvider.window;\n if (!InjectedProvider.isWindowContainsWallet(window2, injectedWalletKey)) {\n throw new WalletNotInjectedError();\n }\n this.connectionStorage = new BridgeConnectionStorage(storage);\n this.injectedWallet = window2[injectedWalletKey].tonconnect;\n }\n static fromStorage(storage) {\n return __awaiter$3(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getInjectedConnection();\n return new InjectedProvider(storage, connection.jsBridgeKey);\n });\n }\n static isWalletInjected(injectedWalletKey) {\n return InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey);\n }\n static isInsideWalletBrowser(injectedWalletKey) {\n if (InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey)) {\n return this.window[injectedWalletKey].tonconnect.isWalletBrowser;\n }\n return false;\n }\n static isWindowContainsWallet(window2, injectedWalletKey) {\n return !!window2 && injectedWalletKey in window2 && typeof window2[injectedWalletKey] === \"object\" && \"tonconnect\" in window2[injectedWalletKey];\n }\n connect(message) {\n this._connect(PROTOCOL_VERSION, message);\n }\n restoreConnection() {\n return __awaiter$3(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.restoreConnection();\n if (connectEvent.event === \"connect\") {\n this.makeSubscriptions();\n this.listeners.forEach((listener) => listener(connectEvent));\n } else {\n yield this.connectionStorage.removeConnection();\n }\n } catch (e2) {\n yield this.connectionStorage.removeConnection();\n console.error(e2);\n }\n });\n }\n closeConnection() {\n if (this.listenSubscriptions) {\n this.injectedWallet.disconnect();\n }\n this.closeAllListeners();\n }\n disconnect() {\n this.closeAllListeners();\n this.injectedWallet.disconnect();\n return this.connectionStorage.removeConnection();\n }\n closeAllListeners() {\n var _a;\n this.listenSubscriptions = false;\n this.listeners = [];\n (_a = this.unsubscribeCallback) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n listen(eventsCallback) {\n this.listeners.push(eventsCallback);\n return () => this.listeners = this.listeners.filter((listener) => listener !== eventsCallback);\n }\n sendRequest(request) {\n return __awaiter$3(this, void 0, void 0, function* () {\n return this.injectedWallet.send(Object.assign(Object.assign({}, request), { id: \"0\" }));\n });\n }\n _connect(protocolVersion, message) {\n return __awaiter$3(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.connect(protocolVersion, message);\n if (connectEvent.event === \"connect\") {\n yield this.updateSession();\n this.makeSubscriptions();\n }\n this.listeners.forEach((listener) => listener(connectEvent));\n } catch (e2) {\n console.debug(e2);\n const connectEventError = {\n event: \"connect_error\",\n payload: {\n code: 0,\n message: e2 === null || e2 === void 0 ? void 0 : e2.toString()\n }\n };\n this.listeners.forEach((listener) => listener(connectEventError));\n }\n });\n }\n makeSubscriptions() {\n this.listenSubscriptions = true;\n this.unsubscribeCallback = this.injectedWallet.listen((e2) => {\n if (this.listenSubscriptions) {\n this.listeners.forEach((listener) => listener(e2));\n }\n if (e2.event === \"disconnect\") {\n this.disconnect();\n }\n });\n }\n updateSession() {\n return this.connectionStorage.storeConnection({\n type: \"injected\",\n jsBridgeKey: this.injectedWalletKey\n });\n }\n}\nInjectedProvider.window = getWindow$1();\nvar __awaiter$2 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass DefaultStorage {\n constructor() {\n const window2 = getWindow$1();\n if (!(window2 === null || window2 === void 0 ? void 0 : window2.localStorage)) {\n throw new LocalstorageNotFoundError();\n }\n this.window = window2;\n }\n getItem(key) {\n return __awaiter$2(this, void 0, void 0, function* () {\n return Promise.resolve(this.window.localStorage.getItem(key));\n });\n }\n removeItem(key) {\n return __awaiter$2(this, void 0, void 0, function* () {\n this.window.localStorage.removeItem(key);\n return Promise.resolve();\n });\n }\n setItem(key, value) {\n this.window.localStorage.setItem(key, value);\n return Promise.resolve();\n }\n}\nfunction isWalletInfoInjected(value) {\n return \"jsBridgeKey\" in value;\n}\nvar __awaiter$1 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass WalletsListManager {\n constructor(walletsListSource) {\n this.walletsListCache = null;\n this.walletsListSource = \"https://raw.githubusercontent.com/ton-connect/wallets-list/main/wallets.json\";\n if (walletsListSource) {\n this.walletsListSource = walletsListSource;\n }\n }\n getWallets() {\n return __awaiter$1(this, void 0, void 0, function* () {\n if (!this.walletsListCache) {\n this.walletsListCache = this.fetchWalletsList();\n this.walletsListCache.catch(() => this.walletsListCache = null);\n }\n return this.walletsListCache;\n });\n }\n getEmbeddedWallet() {\n return __awaiter$1(this, void 0, void 0, function* () {\n const walletsList = yield this.getWallets();\n const embeddedWallets = walletsList.filter((item) => isWalletInfoInjected(item) && item.embedded);\n if (embeddedWallets.length !== 1) {\n return null;\n }\n return embeddedWallets[0];\n });\n }\n fetchWalletsList() {\n return __awaiter$1(this, void 0, void 0, function* () {\n try {\n const walletsResponse = yield fetch(this.walletsListSource);\n const walletsList = yield walletsResponse.json();\n if (!Array.isArray(walletsList) || !walletsList.every((wallet) => this.isCorrectWalletConfigDTO(wallet))) {\n throw new FetchWalletsError(\"Wrong wallets list format\");\n }\n return this.walletConfigDTOListToWalletConfigList(walletsList);\n } catch (e2) {\n throw new FetchWalletsError(e2);\n }\n });\n }\n walletConfigDTOListToWalletConfigList(walletConfigDTO) {\n return walletConfigDTO.map((walletConfigDTO2) => {\n const walletConfig = {\n name: walletConfigDTO2.name,\n imageUrl: walletConfigDTO2.image,\n aboutUrl: walletConfigDTO2.about_url,\n tondns: walletConfigDTO2.tondns\n };\n walletConfigDTO2.bridge.forEach((bridge) => {\n if (bridge.type === \"sse\") {\n walletConfig.bridgeUrl = bridge.url;\n walletConfig.universalLink = walletConfigDTO2.universal_url;\n walletConfig.deepLink = walletConfigDTO2.deepLink;\n }\n if (bridge.type === \"js\") {\n const jsBridgeKey = bridge.key;\n walletConfig.jsBridgeKey = jsBridgeKey;\n walletConfig.injected = InjectedProvider.isWalletInjected(jsBridgeKey);\n walletConfig.embedded = InjectedProvider.isInsideWalletBrowser(jsBridgeKey);\n }\n });\n return walletConfig;\n });\n }\n isCorrectWalletConfigDTO(value) {\n if (!value || !(typeof value === \"object\")) {\n return false;\n }\n const containsName = \"name\" in value;\n const containsImage = \"image\" in value;\n const containsAbout = \"about_url\" in value;\n if (!containsName || !containsImage || !containsAbout) {\n return false;\n }\n if (!(\"bridge\" in value) || !Array.isArray(value.bridge) || !value.bridge.length) {\n return false;\n }\n const bridge = value.bridge;\n if (bridge.some((item) => !item || typeof item !== \"object\" || !(\"type\" in item))) {\n return false;\n }\n const sseBridge = bridge.find((item) => item.type === \"sse\");\n if (sseBridge) {\n if (!(\"url\" in sseBridge) || !sseBridge.url || !value.universal_url) {\n return false;\n }\n }\n const jsBridge = bridge.find((item) => item.type === \"js\");\n if (jsBridge) {\n if (!(\"key\" in jsBridge) || !jsBridge.key) {\n return false;\n }\n }\n return true;\n }\n}\nvar __awaiter = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = globalThis && globalThis.__rest || function(s2, e2) {\n var t2 = {};\n for (var p2 in s2)\n if (Object.prototype.hasOwnProperty.call(s2, p2) && e2.indexOf(p2) < 0)\n t2[p2] = s2[p2];\n if (s2 != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i2 = 0, p2 = Object.getOwnPropertySymbols(s2); i2 < p2.length; i2++) {\n if (e2.indexOf(p2[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p2[i2]))\n t2[p2[i2]] = s2[p2[i2]];\n }\n return t2;\n};\nclass TonConnect {\n constructor(options) {\n this.walletsList = new WalletsListManager();\n this._wallet = null;\n this.provider = null;\n this.statusChangeSubscriptions = [];\n this.statusChangeErrorSubscriptions = [];\n this.dappSettings = {\n manifestUrl: (options === null || options === void 0 ? void 0 : options.manifestUrl) || getWebPageManifest(),\n storage: (options === null || options === void 0 ? void 0 : options.storage) || new DefaultStorage()\n };\n this.walletsList = new WalletsListManager(options === null || options === void 0 ? void 0 : options.walletsListSource);\n if (!this.dappSettings.manifestUrl) {\n throw new DappMetadataError(\"Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest\");\n }\n this.bridgeConnectionStorage = new BridgeConnectionStorage(this.dappSettings.storage);\n }\n static getWallets() {\n return this.walletsList.getWallets();\n }\n get connected() {\n return this._wallet !== null;\n }\n get account() {\n var _a;\n return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.account) || null;\n }\n get wallet() {\n return this._wallet;\n }\n set wallet(value) {\n this._wallet = value;\n this.statusChangeSubscriptions.forEach((callback) => callback(this._wallet));\n }\n getWallets() {\n return this.walletsList.getWallets();\n }\n onStatusChange(callback, errorsHandler) {\n this.statusChangeSubscriptions.push(callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions.push(errorsHandler);\n }\n return () => {\n this.statusChangeSubscriptions = this.statusChangeSubscriptions.filter((item) => item !== callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions = this.statusChangeErrorSubscriptions.filter((item) => item !== errorsHandler);\n }\n };\n }\n connect(wallet, request) {\n var _a;\n if (this.connected) {\n throw new WalletAlreadyConnectedError();\n }\n (_a = this.provider) === null || _a === void 0 ? void 0 : _a.closeConnection();\n this.provider = this.createProvider(wallet);\n return this.provider.connect(this.createConnectRequest(request));\n }\n restoreConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const [bridgeConnectionType, embeddedWallet] = yield Promise.all([\n this.bridgeConnectionStorage.storedConnectionType(),\n this.walletsList.getEmbeddedWallet()\n ]);\n switch (bridgeConnectionType) {\n case \"http\":\n this.provider = yield BridgeProvider.fromStorage(this.dappSettings.storage);\n break;\n case \"injected\":\n this.provider = yield InjectedProvider.fromStorage(this.dappSettings.storage);\n break;\n default:\n if (embeddedWallet) {\n this.provider = yield this.createProvider(embeddedWallet);\n } else {\n return;\n }\n }\n this.provider.listen(this.walletEventsListener.bind(this));\n return this.provider.restoreConnection();\n });\n }\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this.checkConnection();\n this.checkFeatureSupport(\"SendTransaction\");\n const { validUntil } = transaction, tx = __rest(transaction, [\"validUntil\"]);\n const response = yield this.provider.sendRequest(sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })));\n if (sendTransactionParser.isError(response)) {\n return sendTransactionParser.parseAndThrowError(response);\n }\n return sendTransactionParser.convertFromRpcResponse(response);\n });\n }\n disconnect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n yield this.provider.disconnect();\n this.onWalletDisconnected();\n });\n }\n createProvider(wallet) {\n let provider;\n if (isWalletConnectionSourceJS(wallet)) {\n provider = new InjectedProvider(this.dappSettings.storage, wallet.jsBridgeKey);\n } else {\n provider = new BridgeProvider(this.dappSettings.storage, wallet);\n }\n provider.listen(this.walletEventsListener.bind(this));\n return provider;\n }\n walletEventsListener(e2) {\n switch (e2.event) {\n case \"connect\":\n this.onWalletConnected(e2.payload);\n break;\n case \"connect_error\":\n this.onWalletConnectError(e2.payload);\n break;\n case \"disconnect\":\n this.onWalletDisconnected();\n }\n }\n onWalletConnected(connectEvent) {\n const tonAccountItem = connectEvent.items.find((item) => item.name === \"ton_addr\");\n const tonProofItem = connectEvent.items.find((item) => item.name === \"ton_proof\");\n if (!tonAccountItem) {\n throw new TonConnectError(\"ton_addr connection item was not found\");\n }\n const wallet = {\n device: connectEvent.device,\n provider: this.provider.type,\n account: {\n address: tonAccountItem.address,\n chain: tonAccountItem.network,\n walletStateInit: tonAccountItem.walletStateInit\n }\n };\n if (tonProofItem) {\n wallet.connectItems = {\n tonProof: tonProofItem\n };\n }\n this.wallet = wallet;\n }\n onWalletConnectError(connectEventError) {\n const error = connectErrorsParser.parseError(connectEventError);\n this.statusChangeErrorSubscriptions.forEach((errorsHandler) => errorsHandler(error));\n console.debug(error);\n if (error instanceof ManifestNotFoundError || error instanceof ManifestContentErrorError) {\n console.error(error);\n throw error;\n }\n }\n onWalletDisconnected() {\n this.wallet = null;\n }\n checkConnection() {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n }\n checkFeatureSupport(feature) {\n var _a;\n if (!((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.device.features.includes(feature))) {\n throw new WalletNotSupportFeatureError();\n }\n }\n createConnectRequest(request) {\n const items = [\n {\n name: \"ton_addr\"\n }\n ];\n if (request === null || request === void 0 ? void 0 : request.tonProof) {\n items.push({\n name: \"ton_proof\",\n payload: request.tonProof\n });\n }\n return {\n manifestUrl: this.dappSettings.manifestUrl,\n items\n };\n }\n}\nTonConnect.walletsList = new WalletsListManager();\nTonConnect.isWalletInjected = (walletJSKey) => InjectedProvider.isWalletInjected(walletJSKey);\nTonConnect.isInsideWalletBrowser = (walletJSKey) => InjectedProvider.isInsideWalletBrowser(walletJSKey);\nfunction toUserFriendlyAddress(hexAddress) {\n const { wc, hex } = parseHexAddress(hexAddress);\n const bounceableTag = 17;\n const addr = new Int8Array(34);\n addr[0] = bounceableTag;\n addr[1] = wc;\n addr.set(hex, 2);\n const addressWithChecksum = new Uint8Array(36);\n addressWithChecksum.set(addr);\n addressWithChecksum.set(crc16(addr), 34);\n let addressBase64 = Base64.encode(addressWithChecksum);\n return addressBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\nfunction parseHexAddress(hexAddress) {\n if (!hexAddress.includes(\":\")) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\".`);\n }\n const parts = hexAddress.split(\":\");\n if (parts.length !== 2) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\" only once.`);\n }\n const wc = parseInt(parts[0]);\n if (wc !== 0 && wc !== -1) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. WC must be eq 0 or -1, but ${wc} received.`);\n }\n const hex = parts[1];\n if ((hex === null || hex === void 0 ? void 0 : hex.length) !== 64) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Hex part must be 64bytes length, but ${hex === null || hex === void 0 ? void 0 : hex.length} received.`);\n }\n return {\n wc,\n hex: hexToBytes(hex)\n };\n}\nfunction crc16(data) {\n const poly = 4129;\n let reg = 0;\n const message = new Uint8Array(data.length + 2);\n message.set(data);\n for (let byte of message) {\n let mask = 128;\n while (mask > 0) {\n reg <<= 1;\n if (byte & mask) {\n reg += 1;\n }\n mask >>= 1;\n if (reg > 65535) {\n reg &= 65535;\n reg ^= poly;\n }\n }\n }\n return new Uint8Array([Math.floor(reg / 256), reg % 256]);\n}\nconst toByteMap = {};\nfor (let ord = 0; ord <= 255; ord++) {\n let s2 = ord.toString(16);\n if (s2.length < 2) {\n s2 = \"0\" + s2;\n }\n toByteMap[s2] = ord;\n}\nfunction hexToBytes(hex) {\n hex = hex.toLowerCase();\n const length2 = hex.length;\n if (length2 % 2 !== 0) {\n throw new ParseHexError(\"Hex string must have length a multiple of 2: \" + hex);\n }\n const length = length2 / 2;\n const result = new Uint8Array(length);\n for (let i2 = 0; i2 < length; i2++) {\n const doubled = i2 * 2;\n const hexSubstring = hex.substring(doubled, doubled + 2);\n if (!toByteMap.hasOwnProperty(hexSubstring)) {\n throw new ParseHexError(\"Invalid hex character: \" + hexSubstring);\n }\n result[i2] = toByteMap[hexSubstring];\n }\n return result;\n}\nconst sharedConfig = {};\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nconst equalFn = (a2, b) => a2 === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst $TRACK = Symbol(\"solid-track\");\nconst signalOptions = {\n equals: equalFn\n};\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition$1 = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener, owner = Owner, unowned = fn.length === 0, root = unowned ? UNOWNED : {\n owned: null,\n cleanups: null,\n context: null,\n owner: detachedOwner || owner\n }, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s2 = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || void 0\n };\n const setter = (value2) => {\n if (typeof value2 === \"function\") {\n value2 = value2(s2.value);\n }\n return writeSignal(s2, value2);\n };\n return [readSignal.bind(s2), setter];\n}\nfunction createComputed(fn, value, options) {\n const c2 = createComputation(fn, value, true, STALE);\n updateComputation(c2);\n}\nfunction createRenderEffect(fn, value, options) {\n const c2 = createComputation(fn, value, false, STALE);\n updateComputation(c2);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c2 = createComputation(fn, value, false, STALE);\n c2.user = true;\n Effects ? Effects.push(c2) : updateComputation(c2);\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c2 = createComputation(fn, value, true, 0);\n c2.observers = null;\n c2.observerSlots = null;\n c2.comparator = options.equals || void 0;\n updateComputation(c2);\n return readSignal.bind(c2);\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if (arguments.length === 2 && typeof pFetcher === \"object\" || arguments.length === 1) {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n } else {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n }\n let pr = null, initP = NO_INIT, id = null, scheduled = false, resolved = \"initialValue\" in options, dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, {\n equals: false\n }), [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = `${sharedConfig.context.id}${sharedConfig.context.count++}`;\n let v;\n if (options.ssrLoadFrom === \"initial\")\n initP = options.initialValue;\n else if (sharedConfig.load && (v = sharedConfig.load(id)))\n initP = v[0];\n }\n function loadEnd(p2, v, error2, key) {\n if (pr === p2) {\n pr = null;\n resolved = true;\n if ((p2 === initP || v === initP) && options.onHydrated)\n queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n completeLoad(v, error2);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (!err)\n setValue(() => v);\n setState(err ? \"errored\" : \"ready\");\n setError(err);\n for (const c2 of contexts.keys())\n c2.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c2 = SuspenseContext, v = value(), err = error();\n if (err && !pr)\n throw err;\n if (Listener && !Listener.user && c2) {\n createComputed(() => {\n track();\n if (pr) {\n if (c2.resolved)\n ;\n else if (!contexts.has(c2)) {\n c2.increment();\n contexts.add(c2);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled)\n return;\n scheduled = false;\n const lookup2 = dynamic ? dynamic() : source;\n if (lookup2 == null || lookup2 === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n const p2 = initP !== NO_INIT ? initP : untrack(() => fetcher(lookup2, {\n value: value(),\n refetching\n }));\n if (typeof p2 !== \"object\" || !(p2 && \"then\" in p2)) {\n loadEnd(pr, p2, void 0, lookup2);\n return p2;\n }\n pr = p2;\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p2.then((v) => loadEnd(p2, v, void 0, lookup2), (e2) => loadEnd(p2, void 0, castError(e2), lookup2));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s2 = state();\n return s2 === \"pending\" || s2 === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved)\n return read();\n const err = error();\n if (err && !pr)\n throw err;\n return value();\n }\n }\n });\n if (dynamic)\n createComputed(() => load(false));\n else\n load(false);\n return [read, {\n refetch: load,\n mutate: setValue\n }];\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n const listener = Listener;\n Listener = null;\n try {\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return (prevValue) => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i2 = 0; i2 < deps.length; i2++)\n input[i2] = deps[i2]();\n } else\n input = deps();\n if (defer) {\n defer = false;\n return void 0;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null)\n ;\n else if (Owner.cleanups === null)\n Owner.cleanups = [fn];\n else\n Owner.cleanups.push(fn);\n return fn;\n}\nfunction getListener() {\n return Listener;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n let ctx;\n return (ctx = lookup(Owner, context.id)) !== void 0 ? ctx : context.defaultValue;\n}\nfunction children(fn) {\n const children2 = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children2()));\n memo.toArray = () => {\n const c2 = memo();\n return Array.isArray(c2) ? c2 : c2 != null ? [c2] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction readSignal() {\n const runningTransition = Transition$1;\n if (this.sources && (this.state || runningTransition)) {\n if (this.state === STALE || runningTransition)\n updateComputation(this);\n else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i2 = 0; i2 < node.observers.length; i2 += 1) {\n const o2 = node.observers[i2];\n const TransitionRunning = Transition$1 && Transition$1.running;\n if (TransitionRunning && Transition$1.disposed.has(o2))\n ;\n if (TransitionRunning && !o2.tState || !TransitionRunning && !o2.state) {\n if (o2.pure)\n Updates.push(o2);\n else\n Effects.push(o2);\n if (o2.observers)\n markDownstream(o2);\n }\n if (TransitionRunning)\n ;\n else\n o2.state = STALE;\n }\n if (Updates.length > 1e6) {\n Updates = [];\n if (false)\n ;\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn)\n return;\n cleanNode(node);\n const owner = Owner, listener = Listener, time = ExecCount;\n Listener = Owner = node;\n runComputation(node, node.value, time);\n Listener = listener;\n Owner = owner;\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure)\n node.state = STALE;\n handleError(err);\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue);\n } else\n node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c2 = {\n fn,\n state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: null,\n pure\n };\n if (Owner === null)\n ;\n else if (Owner !== UNOWNED) {\n {\n if (!Owner.owned)\n Owner.owned = [c2];\n else\n Owner.owned.push(c2);\n }\n }\n return c2;\n}\nfunction runTop(node) {\n const runningTransition = Transition$1;\n if (node.state === 0 || runningTransition)\n return;\n if (node.state === PENDING || runningTransition)\n return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback))\n return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (node.state || runningTransition)\n ancestors.push(node);\n }\n for (let i2 = ancestors.length - 1; i2 >= 0; i2--) {\n node = ancestors[i2];\n if (node.state === STALE || runningTransition) {\n updateComputation(node);\n } else if (node.state === PENDING || runningTransition) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates)\n return fn();\n let wait = false;\n if (!init)\n Updates = [];\n if (Effects)\n wait = true;\n else\n Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!Updates)\n Effects = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n runQueue(Updates);\n Updates = null;\n }\n if (wait)\n return;\n const e2 = Effects;\n Effects = null;\n if (e2.length)\n runUpdates(() => runEffects(e2), false);\n}\nfunction runQueue(queue) {\n for (let i2 = 0; i2 < queue.length; i2++)\n runTop(queue[i2]);\n}\nfunction runUserEffects(queue) {\n let i2, userLength = 0;\n for (i2 = 0; i2 < queue.length; i2++) {\n const e2 = queue[i2];\n if (!e2.user)\n runTop(e2);\n else\n queue[userLength++] = e2;\n }\n if (sharedConfig.context)\n setHydrateContext();\n for (i2 = 0; i2 < userLength; i2++)\n runTop(queue[i2]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition$1;\n node.state = 0;\n for (let i2 = 0; i2 < node.sources.length; i2 += 1) {\n const source = node.sources[i2];\n if (source.sources) {\n if (source.state === STALE || runningTransition) {\n if (source !== ignore)\n runTop(source);\n } else if (source.state === PENDING || runningTransition)\n lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition$1;\n for (let i2 = 0; i2 < node.observers.length; i2 += 1) {\n const o2 = node.observers[i2];\n if (!o2.state || runningTransition) {\n o2.state = PENDING;\n if (o2.pure)\n Updates.push(o2);\n else\n Effects.push(o2);\n o2.observers && markDownstream(o2);\n }\n }\n}\nfunction cleanNode(node) {\n let i2;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers;\n if (obs && obs.length) {\n const n2 = obs.pop(), s2 = source.observerSlots.pop();\n if (index < obs.length) {\n n2.sourceSlots[s2] = index;\n obs[index] = n2;\n source.observerSlots[index] = s2;\n }\n }\n }\n }\n if (node.owned) {\n for (i2 = 0; i2 < node.owned.length; i2++)\n cleanNode(node.owned[i2]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i2 = 0; i2 < node.cleanups.length; i2++)\n node.cleanups[i2]();\n node.cleanups = null;\n }\n node.state = 0;\n node.context = null;\n}\nfunction castError(err) {\n if (err instanceof Error || typeof err === \"string\")\n return err;\n return new Error(\"Unknown error\");\n}\nfunction handleError(err) {\n err = castError(err);\n throw err;\n}\nfunction lookup(owner, key) {\n return owner ? owner.context && owner.context[key] !== void 0 ? owner.context[key] : lookup(owner.owner, key) : void 0;\n}\nfunction resolveChildren(children2) {\n if (typeof children2 === \"function\" && !children2.length)\n return resolveChildren(children2());\n if (Array.isArray(children2)) {\n const results = [];\n for (let i2 = 0; i2 < children2.length; i2++) {\n const result = resolveChildren(children2[i2]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children2;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n [id]: props.value\n };\n return children(() => props.children);\n }), void 0);\n return res;\n };\n}\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i2 = 0; i2 < d.length; i2++)\n d[i2]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [], i2, j;\n newItems[$TRACK];\n return untrack(() => {\n let newLen = newItems.length, newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot((disposer) => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n } else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++)\n ;\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = /* @__PURE__ */ new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i2 = newIndices.get(item);\n newIndicesNext[j] = i2 === void 0 ? -1 : i2;\n newIndices.set(item, j);\n }\n for (i2 = start; i2 <= end; i2++) {\n item = items[i2];\n j = newIndices.get(item);\n if (j !== void 0 && j !== -1) {\n temp[j] = mapped[i2];\n tempdisposers[j] = disposers[i2];\n indexes && (tempIndexes[j] = indexes[i2]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else\n disposers[i2]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else\n mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s2, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s2);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction createComponent(Comp, props) {\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY)\n return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY)\n return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s2) {\n return !(s2 = typeof s2 === \"function\" ? s2() : s2) ? {} : s2;\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i2 = 0; i2 < sources.length; i2++) {\n const s2 = sources[i2];\n proxy = proxy || !!s2 && $PROXY in s2;\n sources[i2] = typeof s2 === \"function\" ? (proxy = true, createMemo(s2)) : s2;\n }\n if (proxy) {\n return new Proxy({\n get(property) {\n for (let i2 = sources.length - 1; i2 >= 0; i2--) {\n const v = resolveSource(sources[i2])[property];\n if (v !== void 0)\n return v;\n }\n },\n has(property) {\n for (let i2 = sources.length - 1; i2 >= 0; i2--) {\n if (property in resolveSource(sources[i2]))\n return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i2 = 0; i2 < sources.length; i2++)\n keys.push(...Object.keys(resolveSource(sources[i2])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const target = {};\n for (let i2 = sources.length - 1; i2 >= 0; i2--) {\n if (sources[i2]) {\n const descriptors = Object.getOwnPropertyDescriptors(sources[i2]);\n for (const key in descriptors) {\n if (key in target)\n continue;\n Object.defineProperty(target, key, {\n enumerable: true,\n get() {\n for (let i3 = sources.length - 1; i3 >= 0; i3--) {\n const v = (sources[i3] || {})[key];\n if (v !== void 0)\n return v;\n }\n }\n });\n }\n }\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n const blocked = new Set(keys.flat());\n if ($PROXY in props) {\n const res = keys.map((k) => {\n return new Proxy({\n get(property) {\n return k.includes(property) ? props[property] : void 0;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter((property) => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.has(property) ? void 0 : props[property];\n },\n has(property) {\n return blocked.has(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter((k) => !blocked.has(k));\n }\n }, propTraps));\n return res;\n }\n const descriptors = Object.getOwnPropertyDescriptors(props);\n keys.push(Object.keys(descriptors).filter((k) => !blocked.has(k)));\n return keys.map((k) => {\n const clone = {};\n for (let i2 = 0; i2 < k.length; i2++) {\n const key = k[i2];\n if (!(key in props))\n continue;\n Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {\n get() {\n return props[key];\n },\n set() {\n return true;\n },\n enumerable: true\n });\n }\n return clone;\n });\n}\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || void 0));\n}\nfunction Show(props) {\n let strictEqual = false;\n const keyed = props.keyed;\n const condition = createMemo(() => props.when, void 0, {\n equals: (a2, b) => strictEqual ? a2 === b : !a2 === !b\n });\n return createMemo(() => {\n const c2 = condition();\n if (c2) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n strictEqual = keyed || fn;\n return fn ? untrack(() => child(c2)) : child;\n }\n return props.fallback;\n }, void 0, void 0);\n}\nfunction Switch(props) {\n let strictEqual = false;\n let keyed = false;\n const equals = (a2, b) => a2[0] === b[0] && (strictEqual ? a2[1] === b[1] : !a2[1] === !b[1]) && a2[2] === b[2];\n const conditions = children(() => props.children), evalConditions = createMemo(() => {\n let conds = conditions();\n if (!Array.isArray(conds))\n conds = [conds];\n for (let i2 = 0; i2 < conds.length; i2++) {\n const c2 = conds[i2].when;\n if (c2) {\n keyed = !!conds[i2].keyed;\n return [i2, c2, conds[i2]];\n }\n }\n return [-1];\n }, void 0, {\n equals\n });\n return createMemo(() => {\n const [index, when, cond] = evalConditions();\n if (index < 0)\n return props.fallback;\n const c2 = cond.children;\n const fn = typeof c2 === \"function\" && c2.length > 0;\n strictEqual = keyed || fn;\n return fn ? untrack(() => c2(when)) : c2;\n }, void 0, void 0);\n}\nfunction Match(props) {\n return props;\n}\nconst booleans = [\"allowfullscreen\", \"async\", \"autofocus\", \"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\", \"indeterminate\", \"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\", \"selected\"];\nconst Properties = /* @__PURE__ */ new Set([\"className\", \"value\", \"readOnly\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", ...booleans]);\nconst ChildProperties = /* @__PURE__ */ new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n class: \"className\",\n formnovalidate: \"formNoValidate\",\n ismap: \"isMap\",\n nomodule: \"noModule\",\n playsinline: \"playsInline\",\n readonly: \"readOnly\"\n});\nconst DelegatedEvents = /* @__PURE__ */ new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /* @__PURE__ */ new Set([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animate\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"circle\",\n \"clipPath\",\n \"color-profile\",\n \"cursor\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"filter\",\n \"font\",\n \"font-face\",\n \"font-face-format\",\n \"font-face-name\",\n \"font-face-src\",\n \"font-face-uri\",\n \"foreignObject\",\n \"g\",\n \"glyph\",\n \"glyphRef\",\n \"hkern\",\n \"image\",\n \"line\",\n \"linearGradient\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"missing-glyph\",\n \"mpath\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"radialGradient\",\n \"rect\",\n \"set\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"textPath\",\n \"tref\",\n \"tspan\",\n \"use\",\n \"view\",\n \"vkern\"\n]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nfunction reconcileArrays(parentNode, a2, b) {\n let bLength = b.length, aEnd = a2.length, bEnd = bLength, aStart = 0, bStart = 0, after = a2[aEnd - 1].nextSibling, map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a2[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a2[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd)\n parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a2[aStart]))\n a2[aStart].remove();\n aStart++;\n }\n } else if (a2[aStart] === b[bEnd - 1] && b[bStart] === a2[aEnd - 1]) {\n const node = a2[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a2[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a2[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = /* @__PURE__ */ new Map();\n let i2 = bStart;\n while (i2 < bEnd)\n map.set(b[i2], i2++);\n }\n const index = map.get(a2[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i2 = aStart, sequence = 1, t2;\n while (++i2 < aEnd && i2 < bEnd) {\n if ((t2 = map.get(a2[i2])) == null || t2 !== index + sequence)\n break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a2[aStart];\n while (bStart < index)\n parentNode.insertBefore(b[bStart++], node);\n } else\n parentNode.replaceChild(b[bStart++], a2[aStart++]);\n } else\n aStart++;\n } else\n a2[aStart++].remove();\n }\n }\n}\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot((dispose2) => {\n disposer = dispose2;\n element === document ? code() : insert(element, code(), element.firstChild ? null : void 0, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template$1(html, check, isSVG) {\n const t2 = document.createElement(\"template\");\n t2.innerHTML = html;\n let node = t2.content.firstChild;\n if (isSVG)\n node = node.firstChild;\n return node;\n}\nfunction delegateEvents(eventNames, document2 = window.document) {\n const e2 = document2[$$EVENTS] || (document2[$$EVENTS] = /* @__PURE__ */ new Set());\n for (let i2 = 0, l2 = eventNames.length; i2 < l2; i2++) {\n const name = eventNames[i2];\n if (!e2.has(name)) {\n e2.add(name);\n document2.addEventListener(name, eventHandler);\n }\n }\n}\nfunction setAttribute(node, name, value) {\n if (value == null)\n node.removeAttribute(name);\n else\n node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (value == null)\n node.removeAttributeNS(namespace, name);\n else\n node.setAttributeNS(namespace, name, value);\n}\nfunction className(node, value) {\n if (value == null)\n node.removeAttribute(\"class\");\n else\n node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else\n node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = (e2) => handlerFn.call(node, handler[1], e2));\n } else\n node.addEventListener(name, handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}), prevKeys = Object.keys(prev);\n let i2, len;\n for (i2 = 0, len = prevKeys.length; i2 < len; i2++) {\n const key = prevKeys[i2];\n if (!key || key === \"undefined\" || value[key])\n continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i2 = 0, len = classKeys.length; i2 < len; i2++) {\n const key = classKeys[i2], classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue)\n continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value)\n return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\")\n return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = void 0);\n prev || (prev = {});\n value || (value = {});\n let v, s2;\n for (s2 in prev) {\n value[s2] == null && nodeStyle.removeProperty(s2);\n delete prev[s2];\n }\n for (s2 in value) {\n v = value[s2];\n if (v !== prev[s2]) {\n nodeStyle.setProperty(s2, v);\n prev[s2] = v;\n }\n }\n return prev;\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => props.ref && props.ref(node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== void 0 && !initial)\n initial = [];\n if (typeof accessor !== \"function\")\n return insertExpression(parent, accessor, initial, marker);\n createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\")\n continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren)\n insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef);\n }\n}\nfunction getNextElement(template2) {\n let node, key;\n if (!sharedConfig.context || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n return template2.cloneNode(true);\n }\n if (sharedConfig.completed)\n sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i2 = 0, nameLen = classNames.length; i2 < nameLen; i2++)\n node.classList.toggle(classNames[i2], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef) {\n let isCE, isProp, isChildProp;\n if (prop === \"style\")\n return style(node, value, prev);\n if (prop === \"classList\")\n return classList(node, value, prev);\n if (value === prev)\n return prev;\n if (prop === \"ref\") {\n if (!skipRef)\n value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e2 = prop.slice(3);\n prev && node.removeEventListener(e2, prev);\n value && node.addEventListener(e2, value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e2 = prop.slice(10);\n prev && node.removeEventListener(e2, prev, true);\n value && node.addEventListener(e2, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h2 = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h2);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\"))) {\n if (prop === \"class\" || prop === \"className\")\n className(node, value);\n else if (isCE && !isProp && !isChildProp)\n node[toPropertyName(prop)] = value;\n else\n node[PropAliases[prop] || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns)\n setAttributeNS(node, ns, prop, value);\n else\n setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e2) {\n const key = `$$${e2.type}`;\n let node = e2.composedPath && e2.composedPath()[0] || e2.target;\n if (e2.target !== node) {\n Object.defineProperty(e2, \"target\", {\n configurable: true,\n value: node\n });\n }\n Object.defineProperty(e2, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) {\n sharedConfig.done = true;\n document.querySelectorAll(\"[id^=pl-]\").forEach((elem) => elem.remove());\n }\n while (node) {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== void 0 ? handler.call(node, data, e2) : handler.call(node, e2);\n if (e2.cancelBubble)\n return;\n }\n node = node._$host || node.parentNode || node.host;\n }\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n if (sharedConfig.context && !current)\n current = [...parent.childNodes];\n while (typeof current === \"function\")\n current = current();\n if (value === current)\n return current;\n const t2 = typeof value, multi = marker !== void 0;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t2 === \"string\" || t2 === \"number\") {\n if (sharedConfig.context)\n return current;\n if (t2 === \"number\")\n value = value.toString();\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data = value;\n } else\n node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else\n current = parent.textContent = value;\n }\n } else if (value == null || t2 === \"boolean\") {\n if (sharedConfig.context)\n return current;\n current = cleanChildren(parent, current, marker);\n } else if (t2 === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\")\n v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (sharedConfig.context) {\n if (!array.length)\n return current;\n for (let i2 = 0; i2 < array.length; i2++) {\n if (array[i2].parentNode)\n return current = array;\n }\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi)\n return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else\n reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value instanceof Node) {\n if (sharedConfig.context && value.parentNode)\n return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi)\n return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else\n parent.replaceChild(value, parent.firstChild);\n current = value;\n } else\n ;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap2) {\n let dynamic = false;\n for (let i2 = 0, len = array.length; i2 < len; i2++) {\n let item = array[i2], prev = current && current[i2];\n if (item instanceof Node) {\n normalized.push(item);\n } else if (item == null || item === true || item === false)\n ;\n else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (typeof item === \"function\") {\n if (unwrap2) {\n while (typeof item === \"function\")\n item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) {\n normalized.push(prev);\n } else\n normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i2 = 0, len = array.length; i2 < len; i2++)\n parent.insertBefore(array[i2], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === void 0)\n return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i2 = current.length - 1; i2 >= 0; i2--) {\n const el = current[i2];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i2)\n isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);\n else\n isParent && el.remove();\n } else\n inserted = true;\n }\n } else\n parent.insertBefore(node, marker);\n return [node];\n}\nfunction getHydrationKey() {\n const hydrate = sharedConfig.context;\n return `${hydrate.id}${hydrate.count++}`;\n}\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);\n}\nfunction Portal(props) {\n const {\n useShadow\n } = props, marker = document.createTextNode(\"\"), mount = props.mount || document.body;\n function renderPortal() {\n if (sharedConfig.context) {\n const [s2, set] = createSignal(false);\n queueMicrotask(() => set(true));\n return () => s2() && props.children;\n } else\n return () => props.children;\n }\n if (mount instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot((dispose2) => insert(mount, () => !clean() ? renderPortal()() : dispose2(), null));\n onCleanup(() => {\n if (sharedConfig.context)\n queueMicrotask(cleanup);\n else\n cleanup();\n });\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG), renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, renderPortal());\n mount.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => mount.removeChild(container));\n }\n return marker;\n}\nfunction Dynamic(props) {\n const [p2, others] = splitProps(props, [\"component\"]);\n const cached = createMemo(() => p2.component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(others));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);\n spread(el, others, isSvg);\n return el;\n }\n });\n}\nconst [walletsModalOpen, setWalletsModalOpen] = createSignal(false);\nconst [lastSelectedWalletInfo, setLastSelectedWalletInfo] = createSignal(\n null\n);\nconst [action, setAction] = createSignal(null);\nlet e = { data: \"\" }, t = (t2) => \"object\" == typeof window ? ((t2 ? t2.querySelector(\"#_goober\") : window._goober) || Object.assign((t2 || document.head).appendChild(document.createElement(\"style\")), { innerHTML: \" \", id: \"_goober\" })).firstChild : t2 || e, l = /(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g, a = /\\/\\*[^]*?\\*\\/| +/g, n = /\\n+/g, o = (e2, t2) => {\n let r = \"\", l2 = \"\", a2 = \"\";\n for (let n2 in e2) {\n let c2 = e2[n2];\n \"@\" == n2[0] ? \"i\" == n2[1] ? r = n2 + \" \" + c2 + \";\" : l2 += \"f\" == n2[1] ? o(c2, n2) : n2 + \"{\" + o(c2, \"k\" == n2[1] ? \"\" : t2) + \"}\" : \"object\" == typeof c2 ? l2 += o(c2, t2 ? t2.replace(/([^,])+/g, (e3) => n2.replace(/(^:.*)|([^,])+/g, (t3) => /&/.test(t3) ? t3.replace(/&/g, e3) : e3 ? e3 + \" \" + t3 : t3)) : n2) : null != c2 && (n2 = /^--/.test(n2) ? n2 : n2.replace(/[A-Z]/g, \"-$&\").toLowerCase(), a2 += o.p ? o.p(n2, c2) : n2 + \":\" + c2 + \";\");\n }\n return r + (t2 && a2 ? t2 + \"{\" + a2 + \"}\" : a2) + l2;\n}, c = {}, s = (e2) => {\n if (\"object\" == typeof e2) {\n let t2 = \"\";\n for (let r in e2)\n t2 += r + s(e2[r]);\n return t2;\n }\n return e2;\n}, i = (e2, t2, r, i2, p2) => {\n let u2 = s(e2), d = c[u2] || (c[u2] = ((e3) => {\n let t3 = 0, r2 = 11;\n for (; t3 < e3.length; )\n r2 = 101 * r2 + e3.charCodeAt(t3++) >>> 0;\n return \"go\" + r2;\n })(u2));\n if (!c[d]) {\n let t3 = u2 !== e2 ? e2 : ((e3) => {\n let t4, r2, o2 = [{}];\n for (; t4 = l.exec(e3.replace(a, \"\")); )\n t4[4] ? o2.shift() : t4[3] ? (r2 = t4[3].replace(n, \" \").trim(), o2.unshift(o2[0][r2] = o2[0][r2] || {})) : o2[0][t4[1]] = t4[2].replace(n, \" \").trim();\n return o2[0];\n })(e2);\n c[d] = o(p2 ? { [\"@keyframes \" + d]: t3 } : t3, r ? \"\" : \".\" + d);\n }\n let f = r && c.g ? c.g : null;\n return r && (c.g = c[d]), ((e3, t3, r2, l2) => {\n l2 ? t3.data = t3.data.replace(l2, e3) : -1 === t3.data.indexOf(e3) && (t3.data = r2 ? e3 + t3.data : t3.data + e3);\n })(c[d], t2, i2, f), d;\n}, p = (e2, t2, r) => e2.reduce((e3, l2, a2) => {\n let n2 = t2[a2];\n if (n2 && n2.call) {\n let e4 = n2(r), t3 = e4 && e4.props && e4.props.className || /^go/.test(e4) && e4;\n n2 = t3 ? \".\" + t3 : e4 && \"object\" == typeof e4 ? e4.props ? \"\" : o(e4, \"\") : false === e4 ? \"\" : e4;\n }\n return e3 + l2 + (null == n2 ? \"\" : n2);\n}, \"\");\nfunction u(e2) {\n let r = this || {}, l2 = e2.call ? e2(r.p) : e2;\n return i(l2.unshift ? l2.raw ? p(l2, [].slice.call(arguments, 1), r.p) : l2.reduce((e3, t2) => Object.assign(e3, t2 && t2.call ? t2(r.p) : t2), {}) : l2, t(r.target), r.g, r.o, r.k);\n}\nu.bind({ g: 1 });\nlet h = u.bind({ k: 1 });\nconst ThemeContext = createContext();\nfunction ThemeProvider(props) {\n return createComponent(ThemeContext.Provider, {\n value: props.theme,\n get children() {\n return props.children;\n }\n });\n}\nfunction useTheme() {\n return useContext(ThemeContext);\n}\nfunction makeStyled(tag) {\n let _ctx = this || {};\n return (...args) => {\n const Styled = (props) => {\n const theme = useContext(ThemeContext);\n const withTheme = mergeProps(props, { theme });\n const clone = mergeProps(withTheme, {\n get class() {\n const pClass = withTheme.class, append = \"class\" in withTheme && /^go[0-9]+/.test(pClass);\n let className2 = u.apply(\n { target: _ctx.target, o: append, p: withTheme, g: _ctx.g },\n args\n );\n return [pClass, className2].filter(Boolean).join(\" \");\n }\n });\n const [local, newProps] = splitProps(clone, [\"as\", \"theme\"]);\n const htmlProps = newProps;\n const createTag = local.as || tag;\n let el;\n if (typeof createTag === \"function\") {\n el = createTag(htmlProps);\n } else {\n {\n if (_ctx.g == 1) {\n el = document.createElement(createTag);\n spread(el, htmlProps);\n } else {\n el = Dynamic(mergeProps({ component: createTag }, htmlProps));\n }\n }\n }\n return el;\n };\n Styled.class = (props) => {\n return untrack(() => {\n return u.apply({ target: _ctx.target, p: props, g: _ctx.g }, args);\n });\n };\n return Styled;\n };\n}\nconst styled = new Proxy(makeStyled, {\n get(target, tag) {\n return target(tag);\n }\n});\nfunction createGlobalStyles() {\n const fn = makeStyled.call({ g: 1 }, \"div\").apply(null, arguments);\n return function GlobalStyles2(props) {\n fn(props);\n return null;\n };\n}\nconst common$1 = {\n close: \"Close\"\n};\nconst button$1 = {\n connectWallet: \"Connect Wallet\",\n dropdown: {\n copy: \"Copy address\",\n copied: \"Address copied!\",\n disconnect: \"Disconnect\"\n }\n};\nconst notifications$1 = {\n confirm: {\n header: \"Confirm action in\\xA0your wallet\"\n },\n transactionSent: {\n header: \"Transaction sent\",\n text: \"Your transaction has been sent to\\xA0the\\xA0network and\\xA0will be\\xA0processed in\\xA0a\\xA0few seconds.\"\n },\n transactionCanceled: {\n header: \"Action cancelled\",\n text: \"The\\xA0action was canceled because there\\xA0were no\\xA0expected changes in\\xA0the\\xA0blockchain.\"\n }\n};\nconst walletModal$1 = {\n loading: \"Wallets list is loading\",\n selectWalletModal: {\n connectWallet: \"Connect a\\xA0Wallet\",\n selectWallet: \"Choose your preferred wallet from the\\xA0options to\\xA0get\\xA0started.\",\n learnMore: \"Learn more\"\n },\n qrCodeModal: {\n connectWith: \"Connect with {{ name }}\",\n scan: \"Scan QR\\xA0code with your phone\\u2019s or\\xA0{{ name }}\\u2019s\\xA0camera.\",\n openWallet: \"Open {{ name }}\",\n openExtension: \"Open Extension\",\n dontHave: \"Don't have {{ name }}?\",\n get: \"GET\"\n }\n};\nconst actionModal$1 = {\n confirmTransaction: {\n header: \"Confirm action in\\xA0your\\xA0wallet\",\n text: \"Checking after confirmation usually takes\\xA0some time.\"\n },\n transactionSent: \"$notifications.transactionSent\",\n transactionCanceled: \"$notifications.transactionCanceled\"\n};\nconst en = {\n common: common$1,\n button: button$1,\n notifications: notifications$1,\n walletModal: walletModal$1,\n actionModal: actionModal$1\n};\nconst common = {\n close: \"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\"\n};\nconst button = {\n connectWallet: \"\\u041F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A\",\n dropdown: {\n copy: \"\\u0421\\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0430\\u0434\\u0440\\u0435\\u0441\",\n copied: \"\\u0410\\u0434\\u0440\\u0435\\u0441 \\u0441\\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D!\",\n disconnect: \"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A\"\n }\n};\nconst notifications = {\n confirm: {\n header: \"\\u041F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0438\\u0442\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\xA0\\u0441\\u0432\\u043E\\u0451\\u043C \\u043A\\u043E\\u0448\\u0435\\u043B\\u044C\\u043A\\u0435\"\n },\n transactionSent: {\n header: \"\\u0422\\u0440\\u0430\\u043D\\u0437\\u0430\\u043A\\u0446\\u0438\\u044F \\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0430\",\n text: \"\\u0412\\u0430\\u0448\\u0430 \\u0442\\u0440\\u0430\\u043D\\u0437\\u0430\\u043A\\u0446\\u0438\\u044F \\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0430 \\u0432\\xA0\\u0441\\u0435\\u0442\\u044C \\u0438\\xA0\\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u043D\\u0430 \\u0447\\u0435\\u0440\\u0435\\u0437\\xA0\\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441\\u0435\\u043A\\u0443\\u043D\\u0434.\"\n },\n transactionCanceled: {\n header: \"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043E\\u0442\\u043C\\u0435\\u043D\\u0435\\u043D\\u043E\",\n text: \"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043F\\u0440\\u0435\\u0440\\u0432\\u0430\\u043D\\u043E \\u043F\\u043E\\u0442\\u043E\\u043C\\u0443 \\u0447\\u0442\\u043E \\u0432\\xA0\\u0431\\u043B\\u043E\\u043A\\u0447\\u0435\\u0439\\u043D\\u0435 \\u043D\\u0435\\u0442\\xA0\\u043E\\u0436\\u0438\\u0434\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439.\"\n }\n};\nconst walletModal = {\n loading: \"\\u0421\\u043F\\u0438\\u0441\\u043E\\u043A \\u043A\\u043E\\u0448\\u0435\\u043B\\u044C\\u043A\\u043E\\u0432 \\u0437\\u0430\\u0433\\u0440\\u0443\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F\",\n selectWalletModal: {\n connectWallet: \"\\u041F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u0435 \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A\",\n selectWallet: \"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0441\\u0432\\u043E\\u0439 \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A \\u0438\\u0437 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043D\\u0438\\u0436\\u0435.\",\n learnMore: \"\\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u0435\\u0435\"\n },\n qrCodeModal: {\n connectWith: \"\\u041F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\\u0441\\u044F \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E {{ name }}\",\n scan: \"\\u041E\\u0442\\u0441\\u043A\\u0430\\u043D\\u0438\\u0440\\u0443\\u0439\\u0442\\u0435 QR-\\u043A\\u043E\\u0434 \\u043A\\u0430\\u043C\\u0435\\u0440\\u043E\\u0439 \\u0442\\u0435\\u043B\\u0435\\u0444\\u043E\\u043D\\u0430 \\u0438\\u043B\\u0438\\xA0\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\xA0{{ name }}.\",\n openWallet: \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C {{ name }}\",\n openExtension: \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043D\\u0438\\u0435\",\n dontHave: \"\\u0423 \\u0432\\u0430\\u0441 \\u043D\\u0435\\u0442 {{ name }}?\",\n get: \"\\u0421\\u043A\\u0430\\u0447\\u0430\\u0442\\u044C\"\n }\n};\nconst actionModal = {\n confirmTransaction: {\n header: \"\\u041F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0438\\u0442\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\xA0\\u0441\\u0432\\u043E\\u0451\\u043C \\u043A\\u043E\\u0448\\u0435\\u043B\\u044C\\u043A\\u0435\",\n text: \"\\u041E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043A\\u0430 \\u0442\\u0440\\u0430\\u043D\\u0437\\u0430\\u043A\\u0446\\u0438\\u0438 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u043F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u043E\\u0431\\u044B\\u0447\\u043D\\u043E \\u0437\\u0430\\u043D\\u0438\\u043C\\u0430\\u0435\\u0442 \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0435 \\u0432\\u0440\\u0435\\u043C\\u044F.\"\n },\n transactionSent: \"$notifications.transactionSent\",\n transactionCanceled: \"$notifications.transactionCanceled\"\n};\nconst ru = {\n common,\n button,\n notifications,\n walletModal,\n actionModal\n};\nconst i18nDictionary = {\n en: parseDictionary(en),\n ru: parseDictionary(ru)\n};\nfunction parseDictionary(dictionary) {\n const refSymbol = \"$\";\n const iterate = (subDictionary) => {\n Object.entries(subDictionary).forEach(([key, value]) => {\n if (typeof value === \"object\" && value) {\n return iterate(value);\n }\n if (typeof value === \"string\") {\n if (value[0] === refSymbol) {\n const path = value.slice(1).split(\".\");\n let obj = dictionary;\n path.forEach((item) => {\n if (item in obj) {\n obj = obj[item];\n } else {\n throw new Error(\n `Cannot parse translations: there is no property ${item} in translation`\n );\n }\n });\n subDictionary[key] = obj;\n }\n if (value.slice(0, 2) === `\\\\${refSymbol}`) {\n subDictionary[key] = value.slice(1);\n }\n }\n });\n };\n iterate(dictionary);\n return dictionary;\n}\nconst ConnectorContext = createContext();\nconst $RAW = Symbol(\"store-raw\"), $NODE = Symbol(\"store-node\"), $NAME = Symbol(\"store-name\");\nfunction wrap$1(value, name) {\n let p2 = value[$PROXY];\n if (!p2) {\n Object.defineProperty(value, $PROXY, {\n value: p2 = new Proxy(value, proxyTraps$1)\n });\n if (!Array.isArray(value)) {\n const keys = Object.keys(value), desc = Object.getOwnPropertyDescriptors(value);\n for (let i2 = 0, l2 = keys.length; i2 < l2; i2++) {\n const prop = keys[i2];\n if (desc[prop].get) {\n Object.defineProperty(value, prop, {\n enumerable: desc[prop].enumerable,\n get: desc[prop].get.bind(p2)\n });\n }\n }\n }\n }\n return p2;\n}\nfunction isWrappable(obj) {\n let proto;\n return obj != null && typeof obj === \"object\" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));\n}\nfunction unwrap(item, set = /* @__PURE__ */ new Set()) {\n let result, unwrapped, v, prop;\n if (result = item != null && item[$RAW])\n return result;\n if (!isWrappable(item) || set.has(item))\n return item;\n if (Array.isArray(item)) {\n if (Object.isFrozen(item))\n item = item.slice(0);\n else\n set.add(item);\n for (let i2 = 0, l2 = item.length; i2 < l2; i2++) {\n v = item[i2];\n if ((unwrapped = unwrap(v, set)) !== v)\n item[i2] = unwrapped;\n }\n } else {\n if (Object.isFrozen(item))\n item = Object.assign({}, item);\n else\n set.add(item);\n const keys = Object.keys(item), desc = Object.getOwnPropertyDescriptors(item);\n for (let i2 = 0, l2 = keys.length; i2 < l2; i2++) {\n prop = keys[i2];\n if (desc[prop].get)\n continue;\n v = item[prop];\n if ((unwrapped = unwrap(v, set)) !== v)\n item[prop] = unwrapped;\n }\n }\n return item;\n}\nfunction getDataNodes(target) {\n let nodes = target[$NODE];\n if (!nodes)\n Object.defineProperty(target, $NODE, {\n value: nodes = {}\n });\n return nodes;\n}\nfunction getDataNode(nodes, property, value) {\n return nodes[property] || (nodes[property] = createDataNode(value));\n}\nfunction proxyDescriptor$1(target, property) {\n const desc = Reflect.getOwnPropertyDescriptor(target, property);\n if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME)\n return desc;\n delete desc.value;\n delete desc.writable;\n desc.get = () => target[$PROXY][property];\n return desc;\n}\nfunction trackSelf(target) {\n if (getListener()) {\n const nodes = getDataNodes(target);\n (nodes._ || (nodes._ = createDataNode()))();\n }\n}\nfunction ownKeys(target) {\n trackSelf(target);\n return Reflect.ownKeys(target);\n}\nfunction createDataNode(value) {\n const [s2, set] = createSignal(value, {\n equals: false,\n internal: true\n });\n s2.$ = set;\n return s2;\n}\nconst proxyTraps$1 = {\n get(target, property, receiver) {\n if (property === $RAW)\n return target;\n if (property === $PROXY)\n return receiver;\n if (property === $TRACK) {\n trackSelf(target);\n return receiver;\n }\n const nodes = getDataNodes(target);\n const tracked = nodes.hasOwnProperty(property);\n let value = tracked ? nodes[property]() : target[property];\n if (property === $NODE || property === \"__proto__\")\n return value;\n if (!tracked) {\n const desc = Object.getOwnPropertyDescriptor(target, property);\n if (getListener() && (typeof value !== \"function\" || target.hasOwnProperty(property)) && !(desc && desc.get))\n value = getDataNode(nodes, property, value)();\n }\n return isWrappable(value) ? wrap$1(value) : value;\n },\n has(target, property) {\n if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === \"__proto__\")\n return true;\n this.get(target, property, target);\n return property in target;\n },\n set() {\n return true;\n },\n deleteProperty() {\n return true;\n },\n ownKeys,\n getOwnPropertyDescriptor: proxyDescriptor$1\n};\nfunction setProperty(state, property, value, deleting = false) {\n if (!deleting && state[property] === value)\n return;\n const prev = state[property], len = state.length;\n if (value === void 0)\n delete state[property];\n else\n state[property] = value;\n let nodes = getDataNodes(state), node;\n if (node = getDataNode(nodes, property, prev))\n node.$(() => value);\n if (Array.isArray(state) && state.length !== len)\n (node = getDataNode(nodes, \"length\", len)) && node.$(state.length);\n (node = nodes._) && node.$();\n}\nfunction mergeStoreNode(state, value) {\n const keys = Object.keys(value);\n for (let i2 = 0; i2 < keys.length; i2 += 1) {\n const key = keys[i2];\n setProperty(state, key, value[key]);\n }\n}\nfunction updateArray(current, next) {\n if (typeof next === \"function\")\n next = next(current);\n next = unwrap(next);\n if (Array.isArray(next)) {\n if (current === next)\n return;\n let i2 = 0, len = next.length;\n for (; i2 < len; i2++) {\n const value = next[i2];\n if (current[i2] !== value)\n setProperty(current, i2, value);\n }\n setProperty(current, \"length\", len);\n } else\n mergeStoreNode(current, next);\n}\nfunction updatePath(current, path, traversed = []) {\n let part, prev = current;\n if (path.length > 1) {\n part = path.shift();\n const partType = typeof part, isArray = Array.isArray(current);\n if (Array.isArray(part)) {\n for (let i2 = 0; i2 < part.length; i2++) {\n updatePath(current, [part[i2]].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"function\") {\n for (let i2 = 0; i2 < current.length; i2++) {\n if (part(current[i2], i2))\n updatePath(current, [i2].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"object\") {\n const {\n from = 0,\n to = current.length - 1,\n by = 1\n } = part;\n for (let i2 = from; i2 <= to; i2 += by) {\n updatePath(current, [i2].concat(path), traversed);\n }\n return;\n } else if (path.length > 1) {\n updatePath(current[part], path, [part].concat(traversed));\n return;\n }\n prev = current[part];\n traversed = [part].concat(traversed);\n }\n let value = path[0];\n if (typeof value === \"function\") {\n value = value(prev, traversed);\n if (value === prev)\n return;\n }\n if (part === void 0 && value == void 0)\n return;\n value = unwrap(value);\n if (part === void 0 || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {\n mergeStoreNode(prev, value);\n } else\n setProperty(current, part, value);\n}\nfunction createStore(...[store, options]) {\n const unwrappedStore = unwrap(store || {});\n const isArray = Array.isArray(unwrappedStore);\n const wrappedStore = wrap$1(unwrappedStore);\n function setStore(...args) {\n batch(() => {\n isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);\n });\n }\n return [wrappedStore, setStore];\n}\nvar THEME = /* @__PURE__ */ ((THEME2) => {\n THEME2[\"DARK\"] = \"DARK\";\n THEME2[\"LIGHT\"] = \"LIGHT\";\n return THEME2;\n})(THEME || {});\nconst defaultLightColorsSet = {\n constant: {\n black: \"#000000\",\n white: \"#FFFFFF\"\n },\n connectButton: {\n background: \"#31A6F5\",\n foreground: \"#FFFFFF\"\n },\n accent: \"#31A6F5\",\n icon: {\n primary: \"#0F0F0F\",\n secondary: \"#7A8999\",\n tertiary: \"#C1CAD2\",\n success: \"#29CC6A\"\n },\n background: {\n primary: \"#FFFFFF\",\n secondary: \"#F1F3F5\"\n },\n text: {\n primary: \"#0F0F0F\",\n secondary: \"#7A8999\",\n subhead: \"#6A7785\"\n }\n};\nconst defaultDarkColorsSet = {\n constant: {\n black: \"#000000\",\n white: \"#FFFFFF\"\n },\n connectButton: {\n background: \"#31A6F5\",\n foreground: \"#FFFFFF\"\n },\n accent: \"#E5E5EA\",\n icon: {\n primary: \"#E5E5EA\",\n secondary: \"#909099\",\n tertiary: \"#434347\",\n success: \"#29CC6A\"\n },\n background: {\n primary: \"#121214\",\n secondary: \"#18181A\"\n },\n text: {\n primary: \"#E5E5EA\",\n secondary: \"#7D7D85\",\n subhead: \"#8C8C93\"\n }\n};\nvar isMergeableObject = function isMergeableObject2(value) {\n return isNonNullObject(value) && !isSpecial(value);\n};\nfunction isNonNullObject(value) {\n return !!value && typeof value === \"object\";\n}\nfunction isSpecial(value) {\n var stringValue = Object.prototype.toString.call(value);\n return stringValue === \"[object RegExp]\" || stringValue === \"[object Date]\" || isReactElement(value);\n}\nvar canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 60103;\nfunction isReactElement(value) {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n}\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;\n}\nfunction defaultArrayMerge(target, source, options) {\n return target.concat(source).map(function(element) {\n return cloneUnlessOtherwiseSpecified(element, options);\n });\n}\nfunction getMergeFunction(key, options) {\n if (!options.customMerge) {\n return deepmerge;\n }\n var customMerge = options.customMerge(key);\n return typeof customMerge === \"function\" ? customMerge : deepmerge;\n}\nfunction getEnumerableOwnPropertySymbols(target) {\n return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n return target.propertyIsEnumerable(symbol);\n }) : [];\n}\nfunction getKeys(target) {\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));\n}\nfunction propertyIsOnObject(object, property) {\n try {\n return property in object;\n } catch (_) {\n return false;\n }\n}\nfunction propertyIsUnsafe(target, key) {\n return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));\n}\nfunction mergeObject(target, source, options) {\n var destination = {};\n if (options.isMergeableObject(target)) {\n getKeys(target).forEach(function(key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n });\n }\n getKeys(source).forEach(function(key) {\n if (propertyIsUnsafe(target, key)) {\n return;\n }\n if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n destination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n }\n });\n return destination;\n}\nfunction deepmerge(target, source, options) {\n options = options || {};\n options.arrayMerge = options.arrayMerge || defaultArrayMerge;\n options.isMergeableObject = options.isMergeableObject || isMergeableObject;\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options);\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options);\n } else {\n return mergeObject(target, source, options);\n }\n}\ndeepmerge.all = function deepmergeAll(array, options) {\n if (!Array.isArray(array)) {\n throw new Error(\"first argument should be an array\");\n }\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, options);\n }, {});\n};\nvar deepmerge_1 = deepmerge;\nvar cjs = deepmerge_1;\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\nfunction isObject(o2) {\n return Object.prototype.toString.call(o2) === \"[object Object]\";\n}\nfunction isPlainObject(o2) {\n var ctor, prot;\n if (isObject(o2) === false)\n return false;\n ctor = o2.constructor;\n if (ctor === void 0)\n return true;\n prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n if (prot.hasOwnProperty(\"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nfunction mergeOptions(options, defaultOptions) {\n if (!options) {\n return defaultOptions;\n }\n const overwriteMerge = (_, sourceArray, __) => sourceArray;\n return cjs(defaultOptions, options, {\n arrayMerge: overwriteMerge,\n isMergeableObject: isPlainObject\n });\n}\nconst [themeState, setThemeState] = createStore({\n theme: THEME.LIGHT,\n colors: defaultLightColorsSet,\n borderRadius: \"m\"\n});\nconst themeColorsMappingDefault = {\n [THEME.LIGHT]: defaultLightColorsSet,\n [THEME.DARK]: defaultDarkColorsSet\n};\nconst themeCustomColors = {\n [THEME.LIGHT]: void 0,\n [THEME.DARK]: void 0\n};\nfunction setTheme(theme, colorsSet) {\n if (colorsSet) {\n themeCustomColors[THEME.DARK] = mergeOptions(\n colorsSet[THEME.DARK],\n themeCustomColors[THEME.DARK]\n );\n themeCustomColors[THEME.LIGHT] = mergeOptions(\n colorsSet[THEME.LIGHT],\n themeCustomColors[THEME.LIGHT]\n );\n }\n setThemeState({\n theme,\n colors: mergeOptions(themeCustomColors[theme], themeColorsMappingDefault[theme])\n });\n}\nfunction setBorderRadius(borderRadius) {\n setThemeState({ borderRadius });\n}\nfunction setColors(colorsSet) {\n themeCustomColors[THEME.DARK] = mergeOptions(\n colorsSet[THEME.DARK],\n themeCustomColors[THEME.DARK]\n );\n themeCustomColors[THEME.LIGHT] = mergeOptions(\n colorsSet[THEME.LIGHT],\n themeCustomColors[THEME.LIGHT]\n );\n setThemeState((state) => ({\n colors: mergeOptions(\n themeCustomColors[state.theme],\n themeColorsMappingDefault[state.theme]\n )\n }));\n}\nconst GlobalStyles = () => {\n document.body.addEventListener(\"mousedown\", () => document.body.classList.add(\"using-mouse\"));\n document.body.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Tab\") {\n document.body.classList.remove(\"using-mouse\");\n }\n });\n const Styles = createGlobalStyles`\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-family: SF Pro, Roboto, sans-serif;\n }\n html, body {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n *:focus {\n outline: #08f auto 2px;\n }\n\n body.using-mouse :focus {\n outline: none;\n }\n \n li {\n list-style: none;\n }\n button {\n outline: none;\n }\n`;\n return createComponent(Styles, {});\n};\nfunction hexToRgb(hex) {\n if (hex[0] === \"#\") {\n hex = hex.slice(1);\n }\n const bigint = parseInt(hex, 16);\n const r = bigint >> 16 & 255;\n const g = bigint >> 8 & 255;\n const b = bigint & 255;\n return [r, g, b].join(\",\");\n}\nfunction rgba(color, opacity) {\n if (color[0] === \"#\") {\n color = hexToRgb(color);\n }\n return `rgba(${color}, ${opacity})`;\n}\nconst borders$3 = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst ButtonStyled$2 = styled.button`\n background-color: ${(props) => rgba(props.theme.colors.accent, 0.12)};\n color: ${(props) => props.theme.colors.accent};\n\n padding: 9px 16px;\n border: none;\n border-radius: ${(props) => borders$3[props.theme.borderRadius]};\n cursor: pointer;\n\n font-size: 14px;\n font-weight: 590;\n line-height: 18px;\n letter-spacing: -0.154px;\n\n transition: transform 0.1s ease-in-out;\n\n &:hover {\n transform: scale(1.04);\n }\n\n &:active {\n transform: scale(0.96);\n }\n`;\nconst Button = (props) => {\n return createComponent(ButtonStyled$2, {\n get [\"class\"]() {\n return props.class;\n },\n get id() {\n return props.id;\n },\n onClick: () => props.onClick(),\n ref(r$) {\n const _ref$ = props.ref;\n typeof _ref$ === \"function\" ? _ref$(r$) : props.ref = r$;\n },\n get children() {\n return props.children;\n }\n });\n};\nvar classnames = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(module) {\n (function() {\n var hasOwn = {}.hasOwnProperty;\n function classNames() {\n var classes = [];\n for (var i2 = 0; i2 < arguments.length; i2++) {\n var arg = arguments[i2];\n if (!arg)\n continue;\n var argType = typeof arg;\n if (argType === \"string\" || argType === \"number\") {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === \"object\") {\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes(\"[native code]\")) {\n classes.push(arg.toString());\n continue;\n }\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n return classes.join(\" \");\n }\n if (module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else {\n window.classNames = classNames;\n }\n })();\n})(classnames);\nconst cn = classnames.exports;\nfunction nextFrame(fn) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\nconst Transition = (props) => {\n let el;\n let first = true;\n const [s1, set1] = createSignal();\n const [s2, set2] = createSignal();\n const resolved = children(() => props.children);\n const {\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeExit,\n onExit,\n onAfterExit\n } = props;\n const classnames2 = createMemo(() => {\n const name = props.name || \"s\";\n return {\n enterActiveClass: props.enterActiveClass || name + \"-enter-active\",\n enterClass: props.enterClass || name + \"-enter\",\n enterToClass: props.enterToClass || name + \"-enter-to\",\n exitActiveClass: props.exitActiveClass || name + \"-exit-active\",\n exitClass: props.exitClass || name + \"-exit\",\n exitToClass: props.exitToClass || name + \"-exit-to\"\n };\n });\n function enterTransition(el2, prev) {\n if (!first || props.appear) {\n let endTransition = function(e2) {\n if (el2 && (!e2 || e2.target === el2)) {\n el2.removeEventListener(\"transitionend\", endTransition);\n el2.removeEventListener(\"animationend\", endTransition);\n el2.classList.remove(...enterActiveClasses);\n el2.classList.remove(...enterToClasses);\n batch(() => {\n s1() !== el2 && set1(el2);\n s2() === el2 && set2(void 0);\n });\n onAfterEnter && onAfterEnter(el2);\n if (props.mode === \"inout\")\n exitTransition(el2, prev);\n }\n };\n const enterClasses = classnames2().enterClass.split(\" \");\n const enterActiveClasses = classnames2().enterActiveClass.split(\" \");\n const enterToClasses = classnames2().enterToClass.split(\" \");\n onBeforeEnter && onBeforeEnter(el2);\n el2.classList.add(...enterClasses);\n el2.classList.add(...enterActiveClasses);\n nextFrame(() => {\n el2.classList.remove(...enterClasses);\n el2.classList.add(...enterToClasses);\n onEnter && onEnter(el2, () => endTransition());\n if (!onEnter || onEnter.length < 2) {\n el2.addEventListener(\"transitionend\", endTransition);\n el2.addEventListener(\"animationend\", endTransition);\n }\n });\n }\n prev && !props.mode ? set2(el2) : set1(el2);\n }\n function exitTransition(el2, prev) {\n const exitClasses = classnames2().exitClass.split(\" \");\n const exitActiveClasses = classnames2().exitActiveClass.split(\" \");\n const exitToClasses = classnames2().exitToClass.split(\" \");\n if (!prev.parentNode)\n return endTransition();\n onBeforeExit && onBeforeExit(prev);\n prev.classList.add(...exitClasses);\n prev.classList.add(...exitActiveClasses);\n nextFrame(() => {\n prev.classList.remove(...exitClasses);\n prev.classList.add(...exitToClasses);\n });\n onExit && onExit(prev, () => endTransition());\n if (!onExit || onExit.length < 2) {\n prev.addEventListener(\"transitionend\", endTransition);\n prev.addEventListener(\"animationend\", endTransition);\n }\n function endTransition(e2) {\n if (!e2 || e2.target === prev) {\n prev.removeEventListener(\"transitionend\", endTransition);\n prev.removeEventListener(\"animationend\", endTransition);\n prev.classList.remove(...exitActiveClasses);\n prev.classList.remove(...exitToClasses);\n s1() === prev && set1(void 0);\n onAfterExit && onAfterExit(prev);\n if (props.mode === \"outin\")\n enterTransition(el2, prev);\n }\n }\n }\n createComputed((prev) => {\n el = resolved();\n while (typeof el === \"function\")\n el = el();\n return untrack(() => {\n if (el && el !== prev) {\n if (props.mode !== \"outin\")\n enterTransition(el, prev);\n else if (first)\n set1(el);\n }\n if (prev && prev !== el && props.mode !== \"inout\")\n exitTransition(el, prev);\n first = false;\n return el;\n });\n });\n return [s1, s2];\n};\nfunction getRect(element) {\n const {\n top,\n bottom,\n left,\n right,\n width,\n height\n } = element.getBoundingClientRect();\n const parentRect = element.parentNode.getBoundingClientRect();\n return {\n top: top - parentRect.top,\n bottom,\n left: left - parentRect.left,\n right,\n width,\n height\n };\n}\nconst TransitionGroup = (props) => {\n const resolved = children(() => props.children);\n const classnames2 = createMemo(() => {\n const name = props.name || \"s\";\n return {\n enterActiveClass: props.enterActiveClass || name + \"-enter-active\",\n enterClass: props.enterClass || name + \"-enter\",\n enterToClass: props.enterToClass || name + \"-enter-to\",\n exitActiveClass: props.exitActiveClass || name + \"-exit-active\",\n exitClass: props.exitClass || name + \"-exit\",\n exitToClass: props.exitToClass || name + \"-exit-to\",\n moveClass: props.moveClass || name + \"-move\"\n };\n });\n const {\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeExit,\n onExit,\n onAfterExit\n } = props;\n const [combined, setCombined] = createSignal();\n let p2 = [];\n let first = true;\n createComputed(() => {\n const c2 = resolved();\n const comb = [...c2];\n const next = new Set(c2);\n const prev = new Set(p2);\n const enterClasses = classnames2().enterClass.split(\" \");\n const enterActiveClasses = classnames2().enterActiveClass.split(\" \");\n const enterToClasses = classnames2().enterToClass.split(\" \");\n const exitClasses = classnames2().exitClass.split(\" \");\n const exitActiveClasses = classnames2().exitActiveClass.split(\" \");\n const exitToClasses = classnames2().exitToClass.split(\" \");\n for (let i2 = 0; i2 < c2.length; i2++) {\n const el = c2[i2];\n if (!first && !prev.has(el)) {\n let endTransition = function(e2) {\n if (el && (!e2 || e2.target === el)) {\n el.removeEventListener(\"transitionend\", endTransition);\n el.removeEventListener(\"animationend\", endTransition);\n el.classList.remove(...enterActiveClasses);\n el.classList.remove(...enterToClasses);\n onAfterEnter && onAfterEnter(el);\n }\n };\n onBeforeEnter && onBeforeEnter(el);\n el.classList.add(...enterClasses);\n el.classList.add(...enterActiveClasses);\n nextFrame(() => {\n el.classList.remove(...enterClasses);\n el.classList.add(...enterToClasses);\n onEnter && onEnter(el, () => endTransition());\n if (!onEnter || onEnter.length < 2) {\n el.addEventListener(\"transitionend\", endTransition);\n el.addEventListener(\"animationend\", endTransition);\n }\n });\n }\n }\n for (let i2 = 0; i2 < p2.length; i2++) {\n const old = p2[i2];\n if (!next.has(old) && old.parentNode) {\n let endTransition = function(e2) {\n if (!e2 || e2.target === old) {\n old.removeEventListener(\"transitionend\", endTransition);\n old.removeEventListener(\"animationend\", endTransition);\n old.classList.remove(...exitActiveClasses);\n old.classList.remove(...exitToClasses);\n onAfterExit && onAfterExit(old);\n p2 = p2.filter((i3) => i3 !== old);\n setCombined(p2);\n }\n };\n comb.splice(i2, 0, old);\n onBeforeExit && onBeforeExit(old);\n old.classList.add(...exitClasses);\n old.classList.add(...exitActiveClasses);\n nextFrame(() => {\n old.classList.remove(...exitClasses);\n old.classList.add(...exitToClasses);\n });\n onExit && onExit(old, () => endTransition());\n if (!onExit || onExit.length < 2) {\n old.addEventListener(\"transitionend\", endTransition);\n old.addEventListener(\"animationend\", endTransition);\n }\n }\n }\n p2 = comb;\n setCombined(comb);\n });\n createEffect((nodes) => {\n const c2 = combined();\n c2.forEach((child) => {\n let n2;\n if (!(n2 = nodes.get(child))) {\n nodes.set(child, n2 = {\n pos: getRect(child),\n new: !first\n });\n } else if (n2.new) {\n n2.new = false;\n n2.newPos = getRect(child);\n }\n if (n2.new) {\n child.addEventListener(\"transitionend\", () => {\n n2.new = false;\n child.parentNode && (n2.newPos = getRect(child));\n }, {\n once: true\n });\n }\n n2.newPos && (n2.pos = n2.newPos);\n n2.newPos = getRect(child);\n });\n if (first) {\n first = false;\n return nodes;\n }\n c2.forEach((child) => {\n const c3 = nodes.get(child);\n const oldPos = c3.pos;\n const newPos = c3.newPos;\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c3.moved = true;\n const s2 = child.style;\n s2.transform = `translate(${dx}px,${dy}px)`;\n s2.transitionDuration = \"0s\";\n }\n });\n document.body.offsetHeight;\n c2.forEach((child) => {\n const c3 = nodes.get(child);\n if (c3.moved) {\n let endTransition = function(e2) {\n if (e2 && e2.target !== child || !child.parentNode)\n return;\n if (!e2 || /transform$/.test(e2.propertyName)) {\n child.removeEventListener(\"transitionend\", endTransition);\n child.classList.remove(...moveClasses);\n }\n };\n c3.moved = false;\n const s2 = child.style;\n const moveClasses = classnames2().moveClass.split(\" \");\n child.classList.add(...moveClasses);\n s2.transform = s2.transitionDuration = \"\";\n child.addEventListener(\"transitionend\", endTransition);\n }\n });\n return nodes;\n }, /* @__PURE__ */ new Map());\n return combined;\n};\nfunction clickOutside$1(el, accessor) {\n const onClick = (e2) => {\n var _a;\n return !el.contains(e2.target) && ((_a = accessor()) == null ? void 0 : _a());\n };\n document.body.addEventListener(\"click\", onClick);\n onCleanup(() => document.body.removeEventListener(\"click\", onClick));\n}\nfunction escPressed(_, accessor) {\n const onKeyPress = (e2) => {\n var _a, _b;\n if (e2.key === \"Escape\") {\n (_a = document.activeElement) == null ? void 0 : _a.blur();\n (_b = accessor()) == null ? void 0 : _b();\n }\n };\n document.body.addEventListener(\"keydown\", onKeyPress);\n onCleanup(() => document.body.removeEventListener(\"keydown\", onKeyPress));\n}\nconst maxWidth = {\n mobile: 440,\n tablet: 1020\n};\nfunction isDevice(device) {\n const width = window.innerWidth;\n switch (device) {\n case \"desktop\":\n return width > maxWidth.tablet;\n case \"tablet\":\n return width > maxWidth.mobile;\n default:\n case \"mobile\":\n return width <= maxWidth.mobile;\n }\n}\nfunction media(device) {\n switch (device) {\n case \"mobile\":\n return `@media (max-width: ${maxWidth.mobile}px)`;\n case \"tablet\":\n return `@media (max-width: ${maxWidth.tablet}px) (min-width: ${maxWidth.mobile}px)`;\n default:\n case \"desktop\":\n return `@media (min-width: ${maxWidth.tablet}px)`;\n }\n}\nconst _tmpl$$f = /* @__PURE__ */ template$1(`<svg><path d=\"M5.1 1.40012L1.5 6.0001L5.1 10.6001\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`, 4, true);\nconst rotationDegrees = {\n left: 0,\n top: 90,\n right: 180,\n bottom: 270\n};\nconst ArrowIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.secondary;\n const direction = () => props.direction || \"left\";\n const Svg = styled(\"svg\")`\n transform: rotate(${(props2) => rotationDegrees[props2.svgDirection]}deg);\n transition: transform 0.1s ease-in-out;\n `;\n return createComponent(Svg, {\n width: \"6\",\n height: \"12\",\n viewBox: \"0 0 6 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n get svgDirection() {\n return direction();\n },\n get children() {\n const _el$ = _tmpl$$f.cloneNode(true);\n createRenderEffect(() => setAttribute(_el$, \"stroke\", fill()));\n return _el$;\n }\n });\n};\nconst _tmpl$$e = /* @__PURE__ */ template$1(`<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0.900031 0.900397L5.00002 5.00039M5.00002 5.00039L9.10003 9.1004M5.00002 5.00039L9.10003 0.900391M5.00002 5.00039L0.900024 9.1004\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst CloseIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.secondary;\n return (() => {\n const _el$ = _tmpl$$e.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"stroke\", fill()));\n return _el$;\n })();\n};\nconst IconButtonStyled = styled.button`\n padding: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: ${(props) => props.theme.colors.background.secondary};\n border: none;\n cursor: pointer;\n\n transition: transform 0.1s ease-in-out;\n\n &:hover {\n transform: scale(1.04);\n }\n\n &:active {\n transform: scale(0.96);\n }\n`;\nconst IconButton = (props) => {\n const icon = () => props.icon || \"close\";\n return createComponent(IconButtonStyled, {\n get [\"class\"]() {\n return props.class;\n },\n onClick: () => props.onClick(),\n get children() {\n return [createComponent(Show, {\n get when() {\n return !!props.children;\n },\n get children() {\n return props.children;\n }\n }), createComponent(Show, {\n get when() {\n return !props.children;\n },\n get children() {\n return createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return icon() === \"close\";\n },\n get children() {\n return createComponent(CloseIcon, {\n get fill() {\n return props.fill;\n }\n });\n }\n }), createComponent(Match, {\n get when() {\n return icon() === \"arrow\";\n },\n get children() {\n return createComponent(ArrowIcon, {\n get fill() {\n return props.fill;\n }\n });\n }\n })];\n }\n });\n }\n })];\n }\n });\n};\nconst ModalBackgroundStyled = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n z-index: 1000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.4);\n\n ${media(\"mobile\")} {\n align-items: flex-end;\n }\n`;\nconst ModalWrapperClass = u`\n position: relative;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 16px 64px rgba(0, 0, 0, 0.16);\n min-height: 100px;\n width: 440px;\n padding: 44px 56px 24px;\n\n ${media(\"mobile\")} {\n width: 100%;\n }\n`;\nconst CloseButtonStyled = styled(IconButton)`\n position: absolute;\n right: 16px;\n top: 16px;\n`;\nconst _tmpl$$d = /* @__PURE__ */ template$1(`<div></div>`);\nconst clickOutside = clickOutside$1;\nconst keyPressed = escPressed;\nconst borders$2 = {\n m: \"24px\",\n s: \"16px\",\n none: \"0\"\n};\nconst Modal = (props) => {\n const theme = useTheme();\n return createComponent(Transition, {\n onBeforeEnter: (el) => {\n const duration = isDevice(\"mobile\") ? 200 : 100;\n el.animate([{\n opacity: 0\n }, {\n opacity: 1\n }], {\n duration\n });\n if (isDevice(\"mobile\")) {\n el.firstElementChild.animate([{\n transform: \"translateY(390px)\"\n }, {\n transform: \"translateY(0)\"\n }], {\n duration\n });\n }\n },\n onExit: (el, done) => {\n const duration = isDevice(\"mobile\") ? 200 : 100;\n const backgroundAnimation = el.animate([{\n opacity: 1\n }, {\n opacity: 0\n }], {\n duration\n });\n if (isDevice(\"mobile\")) {\n const contentAnimation = el.firstElementChild.animate([{\n transform: \"translateY(0)\"\n }, {\n transform: \"translateY(390px)\"\n }], {\n duration\n });\n Promise.all([backgroundAnimation.finished, contentAnimation.finished]).then(done);\n } else {\n backgroundAnimation.finished.then(done);\n }\n },\n get children() {\n return createComponent(Show, {\n get when() {\n return props.opened;\n },\n get children() {\n return createComponent(ModalBackgroundStyled, {\n get children() {\n const _el$ = _tmpl$$d.cloneNode(true);\n use(keyPressed, _el$, () => () => props.onClose());\n use(clickOutside, _el$, () => () => props.onClose());\n insert(_el$, createComponent(CloseButtonStyled, {\n icon: \"close\",\n onClick: () => props.onClose()\n }), null);\n insert(_el$, () => props.children, null);\n createRenderEffect((_p$) => {\n const _v$ = props.id, _v$2 = cn(ModalWrapperClass, props.class, u`\n background-color: ${theme.colors.background.primary};\n border-radius: ${borders$2[theme.borderRadius]};\n\n ${media(\"mobile\")} {\n border-radius: ${borders$2[theme.borderRadius]}\n ${borders$2[theme.borderRadius]} 0 0;\n }\n `);\n _v$ !== _p$._v$ && setAttribute(_el$, \"id\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && className(_el$, _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n }\n });\n }\n });\n }\n });\n};\nvar deepReadObject = (obj, path, defaultValue) => {\n const value = path.trim().split(\".\").reduce((a2, b) => a2 ? a2[b] : void 0, obj);\n return value !== void 0 ? value : defaultValue;\n};\nvar template = (str, params, reg = /{{(.*?)}}/g) => str.replace(reg, (_, key) => deepReadObject(params, key, \"\"));\nvar createI18nContext = (init = {}, lang = navigator.language in init ? navigator.language : Object.keys(init)[0]) => {\n const [locale, setLocale] = createSignal(lang);\n const [dict, setDict] = createStore(init);\n const translate = (key, params, defaultValue) => {\n const val = deepReadObject(dict[locale()], key, defaultValue || \"\");\n if (typeof val === \"function\")\n return val(params);\n if (typeof val === \"string\")\n return template(val, params || {});\n return val;\n };\n const actions = {\n add(lang2, table) {\n setDict(lang2, (t2) => Object.assign(t2 || {}, table));\n },\n locale: (lang2) => lang2 ? setLocale(lang2) : locale(),\n dict: (lang2) => deepReadObject(dict, lang2)\n };\n return [translate, actions];\n};\nvar I18nContext = createContext({});\nvar useI18n = () => useContext(I18nContext);\nconst H1Styled$2 = styled.h1`\n font-style: normal;\n font-weight: 700;\n font-size: 24px;\n line-height: 30px;\n\n text-align: center;\n letter-spacing: 0.072px;\n\n color: ${(props) => props.theme.colors.text.primary};\n\n margin-top: 0;\n margin-bottom: 6px;\n`;\nconst H1 = (props) => {\n const [t2] = useI18n();\n return createComponent(H1Styled$2, {\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst H2Styled$1 = styled.h2`\n font-style: normal;\n font-weight: 510;\n font-size: 16px;\n line-height: 22px;\n\n text-align: center;\n letter-spacing: -0.32px;\n\n color: ${(props) => props.theme.colors.text.secondary};\n\n margin-top: 0;\n margin-bottom: 32px;\n`;\nconst H2 = (props) => {\n const [t2] = useI18n();\n return createComponent(H2Styled$1, {\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst H3Styled = styled.h3`\n font-style: normal;\n font-weight: 590;\n font-size: 15px;\n line-height: 20px;\n\n letter-spacing: -0.24px;\n\n color: ${(props) => props.theme.colors.text.primary};\n\n margin-top: 0;\n margin-bottom: 0;\n`;\nconst H3 = (props) => {\n const [t2] = useI18n();\n return createComponent(H3Styled, {\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst TextStyled$3 = styled.div`\n font-style: normal;\n font-weight: ${(props) => props.fontWeight};\n font-size: ${(props) => props.fontSize};\n line-height: ${(props) => props.lineHeight};\n letter-spacing: ${(props) => props.letterSpacing};\n\n color: ${(props) => props.color};\n`;\nconst Text = (inputs) => {\n const theme = useTheme();\n const [t2] = useI18n();\n const color = () => inputs.color || theme.colors.text.primary;\n const props = mergeProps({\n fontSize: \"14px\",\n fontWeight: \"510\",\n lineHeight: \"130%\",\n letterSpacing: \"-0.154px\"\n }, inputs);\n return createComponent(TextStyled$3, {\n get fontSize() {\n return props.fontSize;\n },\n get fontWeight() {\n return props.fontWeight;\n },\n get lineHeight() {\n return props.lineHeight;\n },\n get letterSpacing() {\n return props.letterSpacing;\n },\n get color() {\n return color();\n },\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst _tmpl$$c = /* @__PURE__ */ template$1(`<svg width=\"16\" height=\"15\" viewBox=\"0 0 16 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.1839 12.7069C9.6405 13.6507 9.36881 14.1226 9.05907 14.348C8.42775 14.8074 7.57228 14.8074 6.94096 14.348C6.63122 14.1226 6.35952 13.6507 5.81613 12.7069L1.52066 5.24638C0.768635 3.94024 0.392625 3.28717 0.337617 2.75894C0.225505 1.68236 0.818944 0.655911 1.80788 0.215893C2.29309 0 3.04667 0 4.55383 0H11.4462C12.9534 0 13.7069 0 14.1922 0.215893C15.1811 0.655911 15.7745 1.68236 15.6624 2.75894C15.6074 3.28717 15.2314 3.94024 14.4794 5.24638L10.1839 12.7069ZM7.10002 11.3412L2.56139 3.48002C2.31995 3.06185 2.19924 2.85276 2.18146 2.68365C2.14523 2.33896 2.33507 2.01015 2.65169 1.86919C2.80703 1.80002 3.04847 1.80002 3.53133 1.80002H3.53134L7.10002 1.80002V11.3412ZM8.90001 11.3412L13.4387 3.48002C13.6801 3.06185 13.8008 2.85276 13.8186 2.68365C13.8548 2.33896 13.665 2.01015 13.3484 1.86919C13.193 1.80002 12.9516 1.80002 12.4687 1.80002L8.90001 1.80002V11.3412Z\"></path></svg>`);\nconst TonIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.primary;\n return (() => {\n const _el$ = _tmpl$$c.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"fill\", fill()));\n return _el$;\n })();\n};\nconst _tmpl$$b = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12\" cy=\"12\" r=\"11\"></circle><path d=\"M7.5 13L10 15.5L16.5 9\" stroke=\"white\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst SuccessIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.success;\n return (() => {\n const _el$ = _tmpl$$b.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect((_p$) => {\n const _v$ = props.class, _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$, \"class\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$2, \"fill\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst _tmpl$$a = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12\" cy=\"12\" r=\"11\"></circle><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.86358 9.13637C7.51211 8.7849 7.51211 8.21505 7.86358 7.86358C8.21505 7.51211 8.7849 7.51211 9.13637 7.86358L12 10.7272L14.8636 7.86358C15.2151 7.51211 15.7849 7.51211 16.1364 7.86358C16.4878 8.21505 16.4878 8.7849 16.1364 9.13637L13.2728 12L16.1364 14.8636C16.4878 15.2151 16.4878 15.7849 16.1364 16.1364C15.7849 16.4878 15.2151 16.4878 14.8636 16.1364L12 13.2728L9.13637 16.1364C8.7849 16.4878 8.21505 16.4878 7.86358 16.1364C7.51211 15.7849 7.51211 15.2151 7.86358 14.8636L10.7272 12L7.86358 9.13637Z\" fill=\"white\"></path></svg>`);\nconst ErrorIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.secondary;\n return (() => {\n const _el$ = _tmpl$$a.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect((_p$) => {\n const _v$ = props.class, _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$, \"class\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$2, \"fill\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst _tmpl$$9 = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.00002 18.9282C11.8264 21.1373 16.7191 19.8263 18.9282 16C21.1374 12.1736 19.8264 7.28092 16 5.07178C12.1737 2.86264 7.28096 4.17364 5.07182 7.99998\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst LoaderIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.tertiary;\n const rotateAnimation = h`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n `;\n const svgClass = u`\n animation: ${rotateAnimation} 1s linear infinite;\n `;\n return (() => {\n const _el$ = _tmpl$$9.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect((_p$) => {\n const _v$ = cn(svgClass, props.class), _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$, \"class\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$2, \"stroke\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst TonConnectUiContext = createContext();\nconst _tmpl$$8 = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.76228 2.09998H7.79998H10.2001H10.2378H10.2378H10.2378C11.0459 2.09997 11.7067 2.09996 12.2438 2.14384C12.7997 2.18926 13.3017 2.28614 13.7706 2.52505C14.5045 2.89896 15.1011 3.49558 15.475 4.22941C15.7139 4.6983 15.8108 5.20038 15.8562 5.75629C15.9001 6.29337 15.9001 6.95422 15.9001 7.76227V7.79998V8.1H16.2H16.2377C17.0457 8.09999 17.7066 8.09998 18.2437 8.14386C18.7996 8.18928 19.3017 8.28616 19.7705 8.52507C20.5044 8.89898 21.101 9.4956 21.4749 10.2294C21.7138 10.6983 21.8107 11.2004 21.8561 11.7563C21.9 12.2934 21.9 12.9542 21.9 13.7623V13.8V16.2V16.2377C21.9 17.0458 21.9 17.7066 21.8561 18.2437C21.8107 18.7996 21.7138 19.3017 21.4749 19.7706C21.101 20.5044 20.5044 21.101 19.7705 21.4749C19.3017 21.7138 18.7996 21.8107 18.2437 21.8561C17.7066 21.9 17.0458 21.9 16.2378 21.9H16.2377H16.2H13.8H13.7623H13.7622C12.9542 21.9 12.2934 21.9 11.7563 21.8561C11.2004 21.8107 10.6983 21.7138 10.2294 21.4749C9.49561 21.101 8.89898 20.5044 8.52507 19.7706C8.28616 19.3017 8.18928 18.7996 8.14386 18.2437C8.09998 17.7066 8.09999 17.0458 8.1 16.2377V16.2V15.9H7.79998H7.76227H7.76218C6.95417 15.9 6.29335 15.9 5.75629 15.8561C5.20038 15.8107 4.6983 15.7138 4.22941 15.4749C3.49558 15.101 2.89896 14.5044 2.52505 13.7705C2.28614 13.3017 2.18926 12.7996 2.14384 12.2437C2.09996 11.7066 2.09997 11.0458 2.09998 10.2377V10.2377V10.2377V10.2V7.79998V7.76228V7.76225V7.76224C2.09997 6.9542 2.09996 6.29336 2.14384 5.75629C2.18926 5.20038 2.28614 4.6983 2.52505 4.22941C2.89896 3.49558 3.49558 2.89896 4.22941 2.52505C4.6983 2.28614 5.20038 2.18926 5.75629 2.14384C6.29336 2.09996 6.95419 2.09997 7.76222 2.09998H7.76224H7.76228ZM8.1 14.1V13.8V13.7623C8.09999 12.9542 8.09998 12.2934 8.14386 11.7563C8.18928 11.2004 8.28616 10.6983 8.52507 10.2294C8.89898 9.4956 9.49561 8.89898 10.2294 8.52507C10.6983 8.28616 11.2004 8.18928 11.7563 8.14386C12.2934 8.09998 12.9542 8.09999 13.7623 8.1H13.8H14.1001V7.79998C14.1001 6.94505 14.0994 6.35798 14.0622 5.90287C14.0259 5.45827 13.9593 5.21944 13.8712 5.0466C13.6699 4.65146 13.3486 4.3302 12.9535 4.12886C12.7806 4.04079 12.5418 3.97419 12.0972 3.93786C11.6421 3.90068 11.055 3.89998 10.2001 3.89998H7.79998C6.94505 3.89998 6.35798 3.90068 5.90287 3.93786C5.45827 3.97419 5.21944 4.04079 5.0466 4.12886C4.65146 4.3302 4.3302 4.65146 4.12886 5.0466C4.04079 5.21944 3.97419 5.45827 3.93786 5.90287C3.90068 6.35798 3.89998 6.94505 3.89998 7.79998V10.2C3.89998 11.0549 3.90068 11.642 3.93786 12.0971C3.97419 12.5417 4.04079 12.7805 4.12886 12.9534C4.3302 13.3485 4.65146 13.6698 5.0466 13.8711C5.21944 13.9592 5.45827 14.0258 5.90287 14.0621C6.35798 14.0993 6.94505 14.1 7.79998 14.1H8.1ZM11.0466 10.1289C11.2195 10.0408 11.4583 9.97421 11.9029 9.93788C12.358 9.9007 12.9451 9.9 13.8 9.9H16.2C17.0549 9.9 17.642 9.9007 18.0971 9.93788C18.5417 9.97421 18.7805 10.0408 18.9534 10.1289C19.3485 10.3302 19.6698 10.6515 19.8711 11.0466C19.9592 11.2195 20.0258 11.4583 20.0621 11.9029C20.0993 12.358 20.1 12.9451 20.1 13.8V16.2C20.1 17.0549 20.0993 17.642 20.0621 18.0971C20.0258 18.5417 19.9592 18.7805 19.8711 18.9534C19.6698 19.3485 19.3485 19.6698 18.9534 19.8711C18.7805 19.9592 18.5417 20.0258 18.0971 20.0621C17.642 20.0993 17.0549 20.1 16.2 20.1H13.8C12.9451 20.1 12.358 20.0993 11.9029 20.0621C11.4583 20.0258 11.2195 19.9592 11.0466 19.8711C10.6515 19.6698 10.3302 19.3485 10.1289 18.9534C10.0408 18.7805 9.97421 18.5417 9.93788 18.0971C9.9007 17.642 9.9 17.0549 9.9 16.2V13.8C9.9 12.9451 9.9007 12.358 9.93788 11.9029C9.97421 11.4583 10.0408 11.2195 10.1289 11.0466C10.3302 10.6515 10.6515 10.3302 11.0466 10.1289Z\"></path></svg>`);\nconst CopyIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.primary;\n return (() => {\n const _el$ = _tmpl$$8.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"fill\", fill()));\n return _el$;\n })();\n};\nconst _tmpl$$7 = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.0001 4.00003H8.80012C7.11996 4.00003 6.27989 4.00003 5.63815 4.32701C5.07366 4.61463 4.61472 5.07357 4.3271 5.63806C4.00012 6.27979 4.00012 7.11987 4.00012 8.80003V15.2C4.00012 16.8802 4.00012 17.7203 4.3271 18.362C4.61472 18.9265 5.07366 19.3854 5.63815 19.6731C6.27989 20 7.11996 20 8.80012 20H12.0001\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M9 12H21M21 12L17 8M21 12L17 16\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst DisconnectIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.primary;\n return (() => {\n const _el$ = _tmpl$$7.cloneNode(true), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;\n createRenderEffect((_p$) => {\n const _v$ = fill(), _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$2, \"stroke\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$3, \"stroke\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nfunction copyToClipboard(text) {\n if (navigator == null ? void 0 : navigator.clipboard) {\n return navigator.clipboard.writeText(text);\n }\n fallbackCopyTextToClipboard(text);\n return Promise.resolve();\n}\nfunction fallbackCopyTextToClipboard(text) {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n try {\n document.execCommand(\"copy\");\n } finally {\n document.body.removeChild(textArea);\n }\n}\nconst hoverBorders = {\n m: \"8px\",\n s: \"4px\",\n none: \"0\"\n};\nconst dropdownBorders = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst AccountButtonDropdownStyled = styled.div`\n width: 256px;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);\n border-radius: ${(props) => dropdownBorders[props.theme.borderRadius]};\n\n background-color: ${(props) => props.theme.colors.background.primary}\n \n color: ${(props) => props.theme.colors.text.primary}\n`;\nconst UlStyled$1 = styled.ul`\n background-color: ${(props) => props.theme.colors.background.primary};\n padding: 8px;\n`;\nconst MenuButtonStyled = styled.button`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n width: 100%;\n\n background-color: ${(props) => props.theme.colors.background.primary};\n border: none;\n border-radius: ${(props) => hoverBorders[props.theme.borderRadius]};\n cursor: pointer;\n\n transition: background-color, transform 0.1s ease-in-out;\n\n &:hover {\n background-color: ${(props) => props.theme.colors.background.secondary};\n }\n\n &:active {\n transform: scale(0.96);\n }\n`;\nconst _tmpl$$6 = /* @__PURE__ */ template$1(`<li></li>`);\nconst MenuItemText = (props) => createComponent(Text, {\n get translationKey() {\n return props.translationKey;\n },\n fontSize: \"15px\",\n letterSpacing: \"-0.24px\",\n fontWeight: \"590\",\n get children() {\n return props.children;\n }\n});\nconst AccountButtonDropdown = (props) => {\n const tonConnectUi = useContext(TonConnectUiContext);\n const connector = useContext(ConnectorContext);\n const [isCopiedShown, setIsCopiedShown] = createSignal(false);\n const onCopy = () => __async(void 0, null, function* () {\n const userFriendlyAddress = toUserFriendlyAddress(tonConnectUi.account.address);\n yield copyToClipboard(userFriendlyAddress);\n setIsCopiedShown(true);\n setTimeout(() => setIsCopiedShown(false), 1e3);\n });\n const onDisconnect = () => {\n connector.disconnect();\n props.onClose();\n };\n return createComponent(AccountButtonDropdownStyled, {\n ref(r$) {\n const _ref$ = props.ref;\n typeof _ref$ === \"function\" ? _ref$(r$) : props.ref = r$;\n },\n get [\"class\"]() {\n return props.class;\n },\n get id() {\n return props.id;\n },\n get children() {\n return createComponent(UlStyled$1, {\n get children() {\n return [(() => {\n const _el$ = _tmpl$$6.cloneNode(true);\n insert(_el$, createComponent(MenuButtonStyled, {\n onClick: () => onCopy(),\n get children() {\n return [createComponent(CopyIcon, {}), createComponent(Show, {\n get when() {\n return !isCopiedShown();\n },\n get children() {\n return createComponent(MenuItemText, {\n translationKey: \"button.dropdown.copy\",\n children: \"Copy address\"\n });\n }\n }), createComponent(Show, {\n get when() {\n return isCopiedShown();\n },\n get children() {\n return createComponent(MenuItemText, {\n translationKey: \"button.dropdown.copied\",\n children: \"Address copied!\"\n });\n }\n })];\n }\n }));\n return _el$;\n })(), (() => {\n const _el$2 = _tmpl$$6.cloneNode(true);\n insert(_el$2, createComponent(MenuButtonStyled, {\n onClick: () => onDisconnect(),\n get children() {\n return [createComponent(DisconnectIcon, {}), createComponent(MenuItemText, {\n translationKey: \"button.dropdown.disconnect\",\n children: \"Disconnect\"\n })];\n }\n }));\n return _el$2;\n })()];\n }\n });\n }\n });\n};\nconst borders$1 = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst NotificationStyled = styled.div`\n width: 256px;\n padding: 12px 16px;\n display: flex;\n gap: 9px;\n\n background-color: ${(props) => props.theme.colors.background.primary};\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);\n border-radius: ${(props) => borders$1[props.theme.borderRadius]};\n`;\nconst TextStyled$2 = styled(Text)`\n margin-top: 4px;\n color: ${(props) => props.theme.colors.text.secondary};\n`;\nconst _tmpl$$5 = /* @__PURE__ */ template$1(`<div></div>`);\nconst Notification = (props) => {\n return createComponent(NotificationStyled, {\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n return [(() => {\n const _el$ = _tmpl$$5.cloneNode(true);\n insert(_el$, createComponent(H3, {\n get translationKey() {\n return props.header.translationKey;\n },\n get translationValues() {\n return props.header.translationValues;\n },\n get children() {\n return props.children;\n }\n }), null);\n insert(_el$, createComponent(Show, {\n get when() {\n return props.text;\n },\n get children() {\n return createComponent(TextStyled$2, {\n get translationKey() {\n return props.text.translationKey;\n },\n get translationValues() {\n return props.text.translationValues;\n }\n });\n }\n }), null);\n return _el$;\n })(), createMemo(() => props.icon)];\n }\n });\n};\nconst LoaderIconStyled$2 = styled(LoaderIcon)`\n align-self: center;\n min-width: 22px;\n min-height: 22px;\n`;\nconst ConfirmOperationNotification = (props) => {\n return createComponent(Notification, {\n header: {\n translationKey: \"notifications.confirm.header\"\n },\n get [\"class\"]() {\n return props.class;\n },\n get icon() {\n return createComponent(LoaderIconStyled$2, {});\n },\n children: \"Confirm operation in your wallet\"\n });\n};\nconst ErrorIconStyled$1 = styled(ErrorIcon)`\n min-width: 22px;\n min-height: 22px;\n`;\nconst ErrorTransactionNotification = (props) => {\n return createComponent(Notification, {\n header: {\n translationKey: \"notifications.transactionCanceled.header\"\n },\n text: {\n translationKey: \"notifications.transactionCanceled.text\"\n },\n get icon() {\n return createComponent(ErrorIconStyled$1, {});\n },\n get [\"class\"]() {\n return props.class;\n },\n children: \"Transaction cancelled\"\n });\n};\nconst SuccessIconStyled$1 = styled(SuccessIcon)`\n min-width: 22px;\n min-height: 22px;\n`;\nconst SuccessTransactionNotification = (props) => {\n return createComponent(Notification, {\n header: {\n translationKey: \"notifications.transactionSent.header\"\n },\n text: {\n translationKey: \"notifications.transactionSent.text\"\n },\n get icon() {\n return createComponent(SuccessIconStyled$1, {});\n },\n get [\"class\"]() {\n return cn(props.class, \"tc-notification\");\n },\n children: \"Transaction sent\"\n });\n};\nconst NotificationClass = u`\n transform: translateY(-8px);\n margin-bottom: 12px;\n`;\nconst _tmpl$$4 = /* @__PURE__ */ template$1(`<div></div>`);\nconst Notifications = (props) => {\n let lastId = -1;\n const liveTimeoutMs = 4500;\n const [openedNotifications, setOpenedNotifications] = createSignal([]);\n createEffect(on(action, (action2) => {\n if (action2 && action2.showNotification) {\n lastId++;\n const id = lastId;\n setOpenedNotifications((notifications2) => notifications2.filter((notification) => notification.action !== \"confirm-transaction\").concat({\n id,\n action: action2.name\n }));\n setTimeout(() => setOpenedNotifications((notifications2) => notifications2.filter((notification) => notification.id !== id)), liveTimeoutMs);\n }\n }));\n return (() => {\n const _el$ = _tmpl$$4.cloneNode(true);\n insert(_el$, createComponent(TransitionGroup, {\n onBeforeEnter: (el) => {\n el.animate([{\n opacity: 0,\n transform: \"translateY(0)\"\n }, {\n opacity: 1,\n transform: \"translateY(-8px)\"\n }], {\n duration: 200\n });\n },\n onExit: (el, done) => {\n const a2 = el.animate([{\n opacity: 1,\n transform: \"translateY(-8px)\"\n }, {\n opacity: 0,\n transform: \"translateY(-30px)\"\n }], {\n duration: 200\n });\n a2.finished.then(done);\n },\n get children() {\n return createComponent(For, {\n get each() {\n return openedNotifications();\n },\n children: (openedNotification) => createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return openedNotification.action === \"transaction-sent\";\n },\n get children() {\n return createComponent(SuccessTransactionNotification, {\n \"class\": NotificationClass\n });\n }\n }), createComponent(Match, {\n get when() {\n return openedNotification.action === \"transaction-canceled\";\n },\n get children() {\n return createComponent(ErrorTransactionNotification, {\n \"class\": NotificationClass\n });\n }\n }), createComponent(Match, {\n get when() {\n return openedNotification.action === \"confirm-transaction\";\n },\n get children() {\n return createComponent(ConfirmOperationNotification, {\n \"class\": NotificationClass\n });\n }\n })];\n }\n })\n });\n }\n }));\n createRenderEffect((_p$) => {\n const _v$ = props.class, _v$2 = props.id;\n _v$ !== _p$._v$ && className(_el$, _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$, \"id\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst AccountButtonStyled = styled(Button)`\n background-color: ${(props) => props.theme.colors.connectButton.background};\n color: ${(props) => props.theme.colors.connectButton.foreground};\n box-shadow: ${(props) => `0 4px 24px ${rgba(props.theme.colors.constant.black, 0.16)}`};\n\n display: flex;\n align-items: center;\n gap: 9px;\n\n transition: all 0.1s ease-in-out;\n\n &:hover:not(:active) {\n transform: scale(1);\n }\n\n &:hover {\n filter: ${(props) => `brightness(${props.theme.theme === THEME.DARK ? 1.07 : 0.95})`};\n }\n`;\nconst DropdownButtonStyled = styled(AccountButtonStyled)`\n background-color: ${(props) => props.theme.colors.background.primary};\n`;\nconst DropdownContainerStyled = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n`;\nconst DropdownStyled = styled(AccountButtonDropdown)`\n box-sizing: border-box;\n overflow: hidden;\n margin-top: 12px;\n`;\nconst NotificationsStyled = styled(Notifications)`\n > div:first-child {\n margin-top: 20px;\n }\n`;\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getMainAxisFromPlacement(placement) {\n return [\"top\", \"bottom\"].includes(getSide(placement)) ? \"x\" : \"y\";\n}\nfunction getLengthFromAxis(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n const commonAlign = reference[length] / 2 - floating[length] / 2;\n const side = getSide(placement);\n const isVertical = mainAxis === \"x\";\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[mainAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[mainAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\nconst computePosition$1 = (reference, floating, config) => __async(void 0, null, function* () {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = yield platform2.isRTL == null ? void 0 : platform2.isRTL(floating);\n if ({}.NODE_ENV !== \"production\") {\n if (platform2 == null) {\n console.error([\"Floating UI: `platform` property was not passed to config. If you\", \"want to use Floating UI on the web, install @floating-ui/dom\", \"instead of the /core package. Otherwise, you can create your own\", \"`platform`: https://floating-ui.com/docs/platform\"].join(\" \"));\n }\n if (validMiddleware.filter((_ref) => {\n let {\n name\n } = _ref;\n return name === \"autoPlacement\" || name === \"flip\";\n }).length > 1) {\n throw new Error([\"Floating UI: duplicate `flip` and/or `autoPlacement` middleware\", \"detected. This will lead to an infinite loop. Ensure only one of\", \"either has been passed to the `middleware` array.\"].join(\" \"));\n }\n if (!reference || !floating) {\n console.error([\"Floating UI: The reference and/or floating element was not defined\", \"when `computePosition()` was called. Ensure that both elements have\", \"been created and can be measured.\"].join(\" \"));\n }\n }\n let rects = yield platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i2 = 0; i2 < validMiddleware.length; i2++) {\n const {\n name,\n fn\n } = validMiddleware[i2];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = yield fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platform2,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = __spreadProps(__spreadValues({}, middlewareData), {\n [name]: __spreadValues(__spreadValues({}, middlewareData[name]), data)\n });\n if ({}.NODE_ENV !== \"production\") {\n if (resetCount > 50) {\n console.warn([\"Floating UI: The middleware lifecycle appears to be running in an\", \"infinite loop. This is usually caused by a `reset` continually\", \"being returned without a break condition.\"].join(\" \"));\n }\n }\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? yield platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i2 = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n});\nfunction rectToClientRect(rect) {\n return __spreadProps(__spreadValues({}, rect), {\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeName(node) {\n return isNode(node) ? (node.nodeName || \"\").toLowerCase() : \"\";\n}\nlet uaString;\nfunction getUAString() {\n if (uaString) {\n return uaString;\n }\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n uaString = uaData.brands.map((item) => item.brand + \"/\" + item.version).join(\" \");\n return uaString;\n }\n return navigator.userAgent;\n}\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n if (typeof ShadowRoot === \"undefined\") {\n return false;\n }\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && ![\"inline\", \"contents\"].includes(display);\n}\nfunction isTableElement(element) {\n return [\"table\", \"td\", \"th\"].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const isFirefox = /firefox/i.test(getUAString());\n const css = getComputedStyle(element);\n const backdropFilter = css.backdropFilter || css.WebkitBackdropFilter;\n return css.transform !== \"none\" || css.perspective !== \"none\" || (backdropFilter ? backdropFilter !== \"none\" : false) || isFirefox && css.willChange === \"filter\" || isFirefox && (css.filter ? css.filter !== \"none\" : false) || [\"transform\", \"perspective\"].some((value) => css.willChange.includes(value)) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (value) => {\n const contain = css.contain;\n return contain != null ? contain.includes(value) : false;\n }\n );\n}\nfunction isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}\nfunction isLastTraversableNode(node) {\n return [\"html\", \"body\", \"#document\"].includes(getNodeName(node));\n}\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst FALLBACK_SCALE = {\n x: 1,\n y: 1\n};\nfunction getScale(element) {\n const domElement = !isElement(element) && element.contextElement ? element.contextElement : isElement(element) ? element : null;\n if (!domElement) {\n return FALLBACK_SCALE;\n }\n const rect = domElement.getBoundingClientRect();\n const css = getComputedStyle(domElement);\n if (css.boxSizing !== \"border-box\") {\n if (!isHTMLElement(domElement)) {\n return FALLBACK_SCALE;\n }\n return {\n x: domElement.offsetWidth > 0 ? round(rect.width) / domElement.offsetWidth || 1 : 1,\n y: domElement.offsetHeight > 0 ? round(rect.height) / domElement.offsetHeight || 1 : 1\n };\n }\n let x = rect.width / parseFloat(css.width);\n let y = rect.height / parseFloat(css.height);\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n var _win$visualViewport$o, _win$visualViewport, _win$visualViewport$o2, _win$visualViewport2;\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n let scale = FALLBACK_SCALE;\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const win = isElement(element) ? getWindow(element) : window;\n const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n const x = (clientRect.left + (addVisualOffsets ? (_win$visualViewport$o = (_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) != null ? _win$visualViewport$o : 0 : 0)) / scale.x;\n const y = (clientRect.top + (addVisualOffsets ? (_win$visualViewport$o2 = (_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) != null ? _win$visualViewport$o2 : 0 : 0)) / scale.y;\n const width = clientRect.width / scale.x;\n const height = clientRect.height / scale.y;\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y\n };\n}\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getWindowScrollBarX(element) {\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, true, strategy === \"fixed\", offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== \"fixed\") {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = node.assignedSlot || node.parentNode || (isShadowRoot(node) ? node.host : null) || getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === \"fixed\") {\n return null;\n }\n return element.offsetParent;\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction getOffsetParent(element) {\n const window2 = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === \"static\") {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n if (offsetParent && (getNodeName(offsetParent) === \"html\" || getNodeName(offsetParent) === \"body\" && getComputedStyle(offsetParent).position === \"static\" && !isContainingBlock(offsetParent))) {\n return window2;\n }\n return offsetParent || getContainingBlock(element) || window2;\n}\nfunction getDimensions(element) {\n if (isHTMLElement(element)) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n }\n const rect = getBoundingClientRect(element);\n return {\n width: rect.width,\n height: rect.height\n };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = {\n x: 1,\n y: 1\n };\n const offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== \"fixed\") {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const layoutViewport = isLayoutViewport();\n if (layoutViewport || !layoutViewport && strategy === \"fixed\") {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body || html).direction === \"rtl\") {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list) {\n var _node$ownerDocument;\n if (list === void 0) {\n list = [];\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));\n}\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : {\n x: 1,\n y: 1\n };\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y,\n width,\n height\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n if (clippingAncestor === \"viewport\") {\n return rectToClientRect(getViewportRect(element, strategy));\n }\n if (isElement(clippingAncestor)) {\n return getInnerBoundingClientRect(clippingAncestor, strategy);\n }\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const containingBlock = isContainingBlock(currentNode);\n const shouldDropCurrentNode = elementIsFixed ? !containingBlock && !currentContainingBlockComputedStyle : !containingBlock && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && [\"absolute\", \"fixed\"].includes(currentContainingBlockComputedStyle.position);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\nconst platform = {\n getClippingRect,\n convertOffsetParentRelativeRectToViewportRelativeRect,\n isElement,\n getDimensions,\n getOffsetParent,\n getDocumentElement,\n getScale,\n getElementRects(_ref) {\n return __async(this, null, function* () {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, yield getOffsetParentFn(floating), strategy),\n floating: __spreadValues({\n x: 0,\n y: 0\n }, yield getDimensionsFn(floating))\n };\n });\n },\n getClientRects: (element) => Array.from(element.getClientRects()),\n isRTL: (element) => getComputedStyle(element).direction === \"rtl\"\n};\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll: _ancestorScroll = true,\n ancestorResize = true,\n elementResize = true,\n animationFrame = false\n } = options;\n const ancestorScroll = _ancestorScroll && !animationFrame;\n const ancestors = ancestorScroll || ancestorResize ? [...isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : [], ...getOverflowAncestors(floating)] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n let observer = null;\n if (elementResize) {\n let initialUpdate = true;\n observer = new ResizeObserver(() => {\n if (!initialUpdate) {\n update();\n }\n initialUpdate = false;\n });\n isElement(reference) && !animationFrame && observer.observe(reference);\n if (!isElement(reference) && reference.contextElement && !animationFrame) {\n observer.observe(reference.contextElement);\n }\n observer.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _observer;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n (_observer = observer) == null ? void 0 : _observer.disconnect();\n observer = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\nconst computePosition = (reference, floating, options) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = __spreadValues({\n platform\n }, options);\n const platformWithCache = __spreadProps(__spreadValues({}, mergedOptions.platform), {\n _c: cache\n });\n return computePosition$1(reference, floating, __spreadProps(__spreadValues({}, mergedOptions), {\n platform: platformWithCache\n }));\n};\nfunction P(l2, u2, e2) {\n let c2 = () => {\n var t2;\n return (t2 = e2 == null ? void 0 : e2.placement) != null ? t2 : \"bottom\";\n }, d = () => {\n var t2;\n return (t2 = e2 == null ? void 0 : e2.strategy) != null ? t2 : \"absolute\";\n }, [n2, o2] = createSignal({ x: null, y: null, placement: c2(), strategy: d(), middlewareData: {} }), [x, F] = createSignal();\n createEffect(() => {\n let t2 = x();\n if (t2)\n throw t2.value;\n });\n let s2 = createMemo(() => (l2(), u2(), {}));\n function i2() {\n let t2 = l2(), r = u2();\n if (t2 && r) {\n let a2 = s2();\n computePosition(t2, r, { middleware: e2 == null ? void 0 : e2.middleware, placement: c2(), strategy: d() }).then((m) => {\n a2 === s2() && o2(m);\n }, (m) => {\n F(m);\n });\n }\n }\n return createEffect(() => {\n let t2 = l2(), r = u2();\n if (e2 == null || e2.middleware, c2(), d(), t2 && r)\n if (e2 != null && e2.whileElementsMounted) {\n let a2 = e2.whileElementsMounted(t2, r, i2);\n a2 && onCleanup(a2);\n } else\n i2();\n }), { get x() {\n return n2().x;\n }, get y() {\n return n2().y;\n }, get placement() {\n return n2().placement;\n }, get strategy() {\n return n2().strategy;\n }, get middlewareData() {\n return n2().middlewareData;\n }, update: i2 };\n}\nconst _tmpl$$3 = /* @__PURE__ */ template$1(`<div id=\"tc-dropdown-container\"></div>`);\nconst AccountButton = () => {\n const theme = useTheme();\n const connector = useContext(ConnectorContext);\n const tonConnectUI = useContext(TonConnectUiContext);\n const [isOpened, setIsOpened] = createSignal(false);\n const [address, setAddress] = createSignal(\"\");\n let dropDownRef;\n const [floating, setFloating] = createSignal();\n const [anchor, setAnchor] = createSignal();\n const position = P(anchor, floating, {\n whileElementsMounted: autoUpdate,\n placement: \"bottom-end\"\n });\n const normalizedAddress = () => {\n if (address()) {\n const userFriendlyAddress = toUserFriendlyAddress(address());\n return userFriendlyAddress.slice(0, 4) + \"...\" + userFriendlyAddress.slice(-4);\n }\n return \"\";\n };\n const unsubscribe = connector.onStatusChange((wallet) => {\n if (!wallet) {\n setIsOpened(false);\n setAddress(\"\");\n return;\n }\n setAddress(wallet.account.address);\n });\n const onClick = (e2) => {\n if (!address() || !isOpened()) {\n return;\n }\n const clickToButton = anchor().contains(e2.target);\n const clickToDropdown = dropDownRef.contains(e2.target);\n if (!clickToButton && !clickToDropdown) {\n setIsOpened(false);\n }\n };\n onMount(() => {\n document.body.addEventListener(\"click\", onClick);\n });\n onCleanup(() => {\n document.body.removeEventListener(\"click\", onClick);\n unsubscribe();\n });\n return [createComponent(Show, {\n get when() {\n return !address();\n },\n get children() {\n return createComponent(AccountButtonStyled, {\n onClick: () => tonConnectUI.connectWallet(),\n id: \"tc-connect-button\",\n get children() {\n return [createComponent(TonIcon, {\n get fill() {\n return theme.colors.connectButton.foreground;\n }\n }), createComponent(Text, {\n translationKey: \"button.connectWallet\",\n fontSize: \"15px\",\n letterSpacing: \"-0.24px\",\n fontWeight: \"590\",\n get color() {\n return theme.colors.connectButton.foreground;\n },\n children: \"Connect wallet\"\n })];\n }\n });\n }\n }), createComponent(Show, {\n get when() {\n return address();\n },\n get children() {\n return createComponent(DropdownContainerStyled, {\n get children() {\n return [createComponent(DropdownButtonStyled, {\n onClick: () => setIsOpened((v) => !v),\n ref: setAnchor,\n id: \"tc-dropdown-button\",\n get children() {\n return [createComponent(Text, {\n fontSize: \"15px\",\n letterSpacing: \"-0.24px\",\n fontWeight: \"590\",\n get children() {\n return normalizedAddress();\n }\n }), createComponent(ArrowIcon, {\n direction: \"bottom\"\n })];\n }\n }), createComponent(Portal, {\n get children() {\n const _el$ = _tmpl$$3.cloneNode(true);\n use(setFloating, _el$);\n _el$.style.setProperty(\"z-index\", \"999\");\n insert(_el$, createComponent(Transition, {\n onBeforeEnter: (el) => {\n el.animate([{\n opacity: 0,\n transform: \"translateY(-8px)\"\n }, {\n opacity: 1,\n transform: \"translateY(0)\"\n }], {\n duration: 150\n });\n },\n onExit: (el, done) => {\n const a2 = el.animate([{\n opacity: 1,\n transform: \"translateY(0)\"\n }, {\n opacity: 0,\n transform: \"translateY(-8px)\"\n }], {\n duration: 150\n });\n a2.finished.then(done);\n },\n get children() {\n return createComponent(Show, {\n get when() {\n return isOpened();\n },\n get children() {\n return createComponent(DropdownStyled, {\n get hidden() {\n return !isOpened();\n },\n onClose: () => setIsOpened(false),\n ref(r$) {\n const _ref$ = dropDownRef;\n typeof _ref$ === \"function\" ? _ref$(r$) : dropDownRef = r$;\n },\n id: \"tc-dropdown\"\n });\n }\n });\n }\n }), null);\n insert(_el$, createComponent(NotificationsStyled, {\n id: \"tc-notifications\"\n }), null);\n createRenderEffect((_p$) => {\n var _a, _b;\n const _v$ = position.strategy, _v$2 = `${(_a = position.y) != null ? _a : 0}px`, _v$3 = `${(_b = position.x) != null ? _b : 0}px`;\n _v$ !== _p$._v$ && _el$.style.setProperty(\"position\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$.style.setProperty(\"top\", _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _el$.style.setProperty(\"left\", _p$._v$3 = _v$3);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0,\n _v$3: void 0\n });\n return _el$;\n }\n })];\n }\n });\n }\n })];\n};\nconst QrCodeStyled = styled.div`\n position: relative;\n\n > div:first-child {\n height: 276px;\n width: 276px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n rect {\n fill: transparent;\n }\n\n path {\n fill: ${(props) => props.theme.colors.text.primary};\n }\n`;\nconst ImageBackground = styled.div`\n position: absolute;\n width: 52px;\n height: 52px;\n background: ${(props) => props.theme.colors.background.secondary};\n padding: 7px;\n top: 112px;\n left: 112px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n > img {\n width: 46px;\n height: 46px;\n border-radius: 12px;\n }\n`;\nvar qrcode$1 = { exports: {} };\n(function(module, exports) {\n var qrcode2 = function() {\n var qrcode3 = function(typeNumber, errorCorrectionLevel) {\n var PAD0 = 236;\n var PAD1 = 17;\n var _typeNumber = typeNumber;\n var _errorCorrectionLevel = QRErrorCorrectionLevel[errorCorrectionLevel];\n var _modules = null;\n var _moduleCount = 0;\n var _dataCache = null;\n var _dataList = [];\n var _this = {};\n var makeImpl = function(test, maskPattern) {\n _moduleCount = _typeNumber * 4 + 17;\n _modules = function(moduleCount) {\n var modules = new Array(moduleCount);\n for (var row = 0; row < moduleCount; row += 1) {\n modules[row] = new Array(moduleCount);\n for (var col = 0; col < moduleCount; col += 1) {\n modules[row][col] = null;\n }\n }\n return modules;\n }(_moduleCount);\n setupPositionProbePattern(0, 0);\n setupPositionProbePattern(_moduleCount - 7, 0);\n setupPositionProbePattern(0, _moduleCount - 7);\n setupPositionAdjustPattern();\n setupTimingPattern();\n setupTypeInfo(test, maskPattern);\n if (_typeNumber >= 7) {\n setupTypeNumber(test);\n }\n if (_dataCache == null) {\n _dataCache = createData(_typeNumber, _errorCorrectionLevel, _dataList);\n }\n mapData(_dataCache, maskPattern);\n };\n var setupPositionProbePattern = function(row, col) {\n for (var r = -1; r <= 7; r += 1) {\n if (row + r <= -1 || _moduleCount <= row + r)\n continue;\n for (var c2 = -1; c2 <= 7; c2 += 1) {\n if (col + c2 <= -1 || _moduleCount <= col + c2)\n continue;\n if (0 <= r && r <= 6 && (c2 == 0 || c2 == 6) || 0 <= c2 && c2 <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c2 && c2 <= 4) {\n _modules[row + r][col + c2] = true;\n } else {\n _modules[row + r][col + c2] = false;\n }\n }\n }\n };\n var getBestMaskPattern = function() {\n var minLostPoint = 0;\n var pattern = 0;\n for (var i2 = 0; i2 < 8; i2 += 1) {\n makeImpl(true, i2);\n var lostPoint = QRUtil.getLostPoint(_this);\n if (i2 == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint;\n pattern = i2;\n }\n }\n return pattern;\n };\n var setupTimingPattern = function() {\n for (var r = 8; r < _moduleCount - 8; r += 1) {\n if (_modules[r][6] != null) {\n continue;\n }\n _modules[r][6] = r % 2 == 0;\n }\n for (var c2 = 8; c2 < _moduleCount - 8; c2 += 1) {\n if (_modules[6][c2] != null) {\n continue;\n }\n _modules[6][c2] = c2 % 2 == 0;\n }\n };\n var setupPositionAdjustPattern = function() {\n var pos = QRUtil.getPatternPosition(_typeNumber);\n for (var i2 = 0; i2 < pos.length; i2 += 1) {\n for (var j = 0; j < pos.length; j += 1) {\n var row = pos[i2];\n var col = pos[j];\n if (_modules[row][col] != null) {\n continue;\n }\n for (var r = -2; r <= 2; r += 1) {\n for (var c2 = -2; c2 <= 2; c2 += 1) {\n if (r == -2 || r == 2 || c2 == -2 || c2 == 2 || r == 0 && c2 == 0) {\n _modules[row + r][col + c2] = true;\n } else {\n _modules[row + r][col + c2] = false;\n }\n }\n }\n }\n }\n };\n var setupTypeNumber = function(test) {\n var bits = QRUtil.getBCHTypeNumber(_typeNumber);\n for (var i2 = 0; i2 < 18; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n _modules[Math.floor(i2 / 3)][i2 % 3 + _moduleCount - 8 - 3] = mod;\n }\n for (var i2 = 0; i2 < 18; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n _modules[i2 % 3 + _moduleCount - 8 - 3][Math.floor(i2 / 3)] = mod;\n }\n };\n var setupTypeInfo = function(test, maskPattern) {\n var data = _errorCorrectionLevel << 3 | maskPattern;\n var bits = QRUtil.getBCHTypeInfo(data);\n for (var i2 = 0; i2 < 15; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n if (i2 < 6) {\n _modules[i2][8] = mod;\n } else if (i2 < 8) {\n _modules[i2 + 1][8] = mod;\n } else {\n _modules[_moduleCount - 15 + i2][8] = mod;\n }\n }\n for (var i2 = 0; i2 < 15; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n if (i2 < 8) {\n _modules[8][_moduleCount - i2 - 1] = mod;\n } else if (i2 < 9) {\n _modules[8][15 - i2 - 1 + 1] = mod;\n } else {\n _modules[8][15 - i2 - 1] = mod;\n }\n }\n _modules[_moduleCount - 8][8] = !test;\n };\n var mapData = function(data, maskPattern) {\n var inc = -1;\n var row = _moduleCount - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n var maskFunc = QRUtil.getMaskFunction(maskPattern);\n for (var col = _moduleCount - 1; col > 0; col -= 2) {\n if (col == 6)\n col -= 1;\n while (true) {\n for (var c2 = 0; c2 < 2; c2 += 1) {\n if (_modules[row][col - c2] == null) {\n var dark = false;\n if (byteIndex < data.length) {\n dark = (data[byteIndex] >>> bitIndex & 1) == 1;\n }\n var mask = maskFunc(row, col - c2);\n if (mask) {\n dark = !dark;\n }\n _modules[row][col - c2] = dark;\n bitIndex -= 1;\n if (bitIndex == -1) {\n byteIndex += 1;\n bitIndex = 7;\n }\n }\n }\n row += inc;\n if (row < 0 || _moduleCount <= row) {\n row -= inc;\n inc = -inc;\n break;\n }\n }\n }\n };\n var createBytes = function(buffer, rsBlocks) {\n var offset = 0;\n var maxDcCount = 0;\n var maxEcCount = 0;\n var dcdata = new Array(rsBlocks.length);\n var ecdata = new Array(rsBlocks.length);\n for (var r = 0; r < rsBlocks.length; r += 1) {\n var dcCount = rsBlocks[r].dataCount;\n var ecCount = rsBlocks[r].totalCount - dcCount;\n maxDcCount = Math.max(maxDcCount, dcCount);\n maxEcCount = Math.max(maxEcCount, ecCount);\n dcdata[r] = new Array(dcCount);\n for (var i2 = 0; i2 < dcdata[r].length; i2 += 1) {\n dcdata[r][i2] = 255 & buffer.getBuffer()[i2 + offset];\n }\n offset += dcCount;\n var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n var rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1);\n var modPoly = rawPoly.mod(rsPoly);\n ecdata[r] = new Array(rsPoly.getLength() - 1);\n for (var i2 = 0; i2 < ecdata[r].length; i2 += 1) {\n var modIndex = i2 + modPoly.getLength() - ecdata[r].length;\n ecdata[r][i2] = modIndex >= 0 ? modPoly.getAt(modIndex) : 0;\n }\n }\n var totalCodeCount = 0;\n for (var i2 = 0; i2 < rsBlocks.length; i2 += 1) {\n totalCodeCount += rsBlocks[i2].totalCount;\n }\n var data = new Array(totalCodeCount);\n var index = 0;\n for (var i2 = 0; i2 < maxDcCount; i2 += 1) {\n for (var r = 0; r < rsBlocks.length; r += 1) {\n if (i2 < dcdata[r].length) {\n data[index] = dcdata[r][i2];\n index += 1;\n }\n }\n }\n for (var i2 = 0; i2 < maxEcCount; i2 += 1) {\n for (var r = 0; r < rsBlocks.length; r += 1) {\n if (i2 < ecdata[r].length) {\n data[index] = ecdata[r][i2];\n index += 1;\n }\n }\n }\n return data;\n };\n var createData = function(typeNumber2, errorCorrectionLevel2, dataList) {\n var rsBlocks = QRRSBlock.getRSBlocks(typeNumber2, errorCorrectionLevel2);\n var buffer = qrBitBuffer();\n for (var i2 = 0; i2 < dataList.length; i2 += 1) {\n var data = dataList[i2];\n buffer.put(data.getMode(), 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber2));\n data.write(buffer);\n }\n var totalDataCount = 0;\n for (var i2 = 0; i2 < rsBlocks.length; i2 += 1) {\n totalDataCount += rsBlocks[i2].dataCount;\n }\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw \"code length overflow. (\" + buffer.getLengthInBits() + \">\" + totalDataCount * 8 + \")\";\n }\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4);\n }\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false);\n }\n while (true) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(PAD0, 8);\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(PAD1, 8);\n }\n return createBytes(buffer, rsBlocks);\n };\n _this.addData = function(data, mode) {\n mode = mode || \"Byte\";\n var newData = null;\n switch (mode) {\n case \"Numeric\":\n newData = qrNumber(data);\n break;\n case \"Alphanumeric\":\n newData = qrAlphaNum(data);\n break;\n case \"Byte\":\n newData = qr8BitByte(data);\n break;\n case \"Kanji\":\n newData = qrKanji(data);\n break;\n default:\n throw \"mode:\" + mode;\n }\n _dataList.push(newData);\n _dataCache = null;\n };\n _this.isDark = function(row, col) {\n if (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) {\n throw row + \",\" + col;\n }\n return _modules[row][col];\n };\n _this.getModuleCount = function() {\n return _moduleCount;\n };\n _this.make = function() {\n if (_typeNumber < 1) {\n var typeNumber2 = 1;\n for (; typeNumber2 < 40; typeNumber2++) {\n var rsBlocks = QRRSBlock.getRSBlocks(typeNumber2, _errorCorrectionLevel);\n var buffer = qrBitBuffer();\n for (var i2 = 0; i2 < _dataList.length; i2++) {\n var data = _dataList[i2];\n buffer.put(data.getMode(), 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber2));\n data.write(buffer);\n }\n var totalDataCount = 0;\n for (var i2 = 0; i2 < rsBlocks.length; i2++) {\n totalDataCount += rsBlocks[i2].dataCount;\n }\n if (buffer.getLengthInBits() <= totalDataCount * 8) {\n break;\n }\n }\n _typeNumber = typeNumber2;\n }\n makeImpl(false, getBestMaskPattern());\n };\n _this.createTableTag = function(cellSize, margin) {\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n var qrHtml = \"\";\n qrHtml += '<table style=\"';\n qrHtml += \" border-width: 0px; border-style: none;\";\n qrHtml += \" border-collapse: collapse;\";\n qrHtml += \" padding: 0px; margin: \" + margin + \"px;\";\n qrHtml += '\">';\n qrHtml += \"<tbody>\";\n for (var r = 0; r < _this.getModuleCount(); r += 1) {\n qrHtml += \"<tr>\";\n for (var c2 = 0; c2 < _this.getModuleCount(); c2 += 1) {\n qrHtml += '<td style=\"';\n qrHtml += \" border-width: 0px; border-style: none;\";\n qrHtml += \" border-collapse: collapse;\";\n qrHtml += \" padding: 0px; margin: 0px;\";\n qrHtml += \" width: \" + cellSize + \"px;\";\n qrHtml += \" height: \" + cellSize + \"px;\";\n qrHtml += \" background-color: \";\n qrHtml += _this.isDark(r, c2) ? \"#000000\" : \"#ffffff\";\n qrHtml += \";\";\n qrHtml += '\"/>';\n }\n qrHtml += \"</tr>\";\n }\n qrHtml += \"</tbody>\";\n qrHtml += \"</table>\";\n return qrHtml;\n };\n _this.createSvgTag = function(cellSize, margin, alt, title) {\n var opts = {};\n if (typeof arguments[0] == \"object\") {\n opts = arguments[0];\n cellSize = opts.cellSize;\n margin = opts.margin;\n alt = opts.alt;\n title = opts.title;\n }\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n alt = typeof alt === \"string\" ? { text: alt } : alt || {};\n alt.text = alt.text || null;\n alt.id = alt.text ? alt.id || \"qrcode-description\" : null;\n title = typeof title === \"string\" ? { text: title } : title || {};\n title.text = title.text || null;\n title.id = title.text ? title.id || \"qrcode-title\" : null;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var c2, mc, r, mr, qrSvg = \"\", rect;\n rect = \"l\" + cellSize + \",0 0,\" + cellSize + \" -\" + cellSize + \",0 0,-\" + cellSize + \"z \";\n qrSvg += '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"';\n qrSvg += !opts.scalable ? ' width=\"' + size + 'px\" height=\"' + size + 'px\"' : \"\";\n qrSvg += ' viewBox=\"0 0 ' + size + \" \" + size + '\" ';\n qrSvg += ' preserveAspectRatio=\"xMinYMin meet\"';\n qrSvg += title.text || alt.text ? ' role=\"img\" aria-labelledby=\"' + escapeXml([title.id, alt.id].join(\" \").trim()) + '\"' : \"\";\n qrSvg += \">\";\n qrSvg += title.text ? '<title id=\"' + escapeXml(title.id) + '\">' + escapeXml(title.text) + \"</title>\" : \"\";\n qrSvg += alt.text ? '<description id=\"' + escapeXml(alt.id) + '\">' + escapeXml(alt.text) + \"</description>\" : \"\";\n qrSvg += '<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>';\n qrSvg += '<path d=\"';\n for (r = 0; r < _this.getModuleCount(); r += 1) {\n mr = r * cellSize + margin;\n for (c2 = 0; c2 < _this.getModuleCount(); c2 += 1) {\n if (_this.isDark(r, c2)) {\n mc = c2 * cellSize + margin;\n qrSvg += \"M\" + mc + \",\" + mr + rect;\n }\n }\n }\n qrSvg += '\" stroke=\"transparent\" fill=\"black\"/>';\n qrSvg += \"</svg>\";\n return qrSvg;\n };\n _this.createDataURL = function(cellSize, margin) {\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var min2 = margin;\n var max2 = size - margin;\n return createDataURL(size, size, function(x, y) {\n if (min2 <= x && x < max2 && min2 <= y && y < max2) {\n var c2 = Math.floor((x - min2) / cellSize);\n var r = Math.floor((y - min2) / cellSize);\n return _this.isDark(r, c2) ? 0 : 1;\n } else {\n return 1;\n }\n });\n };\n _this.createImgTag = function(cellSize, margin, alt) {\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var img = \"\";\n img += \"<img\";\n img += ' src=\"';\n img += _this.createDataURL(cellSize, margin);\n img += '\"';\n img += ' width=\"';\n img += size;\n img += '\"';\n img += ' height=\"';\n img += size;\n img += '\"';\n if (alt) {\n img += ' alt=\"';\n img += escapeXml(alt);\n img += '\"';\n }\n img += \"/>\";\n return img;\n };\n var escapeXml = function(s2) {\n var escaped = \"\";\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n var c2 = s2.charAt(i2);\n switch (c2) {\n case \"<\":\n escaped += \"<\";\n break;\n case \">\":\n escaped += \">\";\n break;\n case \"&\":\n escaped += \"&\";\n break;\n case '\"':\n escaped += \""\";\n break;\n default:\n escaped += c2;\n break;\n }\n }\n return escaped;\n };\n var _createHalfASCII = function(margin) {\n var cellSize = 1;\n margin = typeof margin == \"undefined\" ? cellSize * 2 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var min2 = margin;\n var max2 = size - margin;\n var y, x, r1, r2, p2;\n var blocks = {\n \"\\u2588\\u2588\": \"\\u2588\",\n \"\\u2588 \": \"\\u2580\",\n \" \\u2588\": \"\\u2584\",\n \" \": \" \"\n };\n var blocksLastLineNoMargin = {\n \"\\u2588\\u2588\": \"\\u2580\",\n \"\\u2588 \": \"\\u2580\",\n \" \\u2588\": \" \",\n \" \": \" \"\n };\n var ascii = \"\";\n for (y = 0; y < size; y += 2) {\n r1 = Math.floor((y - min2) / cellSize);\n r2 = Math.floor((y + 1 - min2) / cellSize);\n for (x = 0; x < size; x += 1) {\n p2 = \"\\u2588\";\n if (min2 <= x && x < max2 && min2 <= y && y < max2 && _this.isDark(r1, Math.floor((x - min2) / cellSize))) {\n p2 = \" \";\n }\n if (min2 <= x && x < max2 && min2 <= y + 1 && y + 1 < max2 && _this.isDark(r2, Math.floor((x - min2) / cellSize))) {\n p2 += \" \";\n } else {\n p2 += \"\\u2588\";\n }\n ascii += margin < 1 && y + 1 >= max2 ? blocksLastLineNoMargin[p2] : blocks[p2];\n }\n ascii += \"\\n\";\n }\n if (size % 2 && margin > 0) {\n return ascii.substring(0, ascii.length - size - 1) + Array(size + 1).join(\"\\u2580\");\n }\n return ascii.substring(0, ascii.length - 1);\n };\n _this.createASCII = function(cellSize, margin) {\n cellSize = cellSize || 1;\n if (cellSize < 2) {\n return _createHalfASCII(margin);\n }\n cellSize -= 1;\n margin = typeof margin == \"undefined\" ? cellSize * 2 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var min2 = margin;\n var max2 = size - margin;\n var y, x, r, p2;\n var white = Array(cellSize + 1).join(\"\\u2588\\u2588\");\n var black = Array(cellSize + 1).join(\" \");\n var ascii = \"\";\n var line = \"\";\n for (y = 0; y < size; y += 1) {\n r = Math.floor((y - min2) / cellSize);\n line = \"\";\n for (x = 0; x < size; x += 1) {\n p2 = 1;\n if (min2 <= x && x < max2 && min2 <= y && y < max2 && _this.isDark(r, Math.floor((x - min2) / cellSize))) {\n p2 = 0;\n }\n line += p2 ? white : black;\n }\n for (r = 0; r < cellSize; r += 1) {\n ascii += line + \"\\n\";\n }\n }\n return ascii.substring(0, ascii.length - 1);\n };\n _this.renderTo2dContext = function(context, cellSize) {\n cellSize = cellSize || 2;\n var length = _this.getModuleCount();\n for (var row = 0; row < length; row++) {\n for (var col = 0; col < length; col++) {\n context.fillStyle = _this.isDark(row, col) ? \"black\" : \"white\";\n context.fillRect(row * cellSize, col * cellSize, cellSize, cellSize);\n }\n }\n };\n return _this;\n };\n qrcode3.stringToBytesFuncs = {\n \"default\": function(s2) {\n var bytes = [];\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n var c2 = s2.charCodeAt(i2);\n bytes.push(c2 & 255);\n }\n return bytes;\n }\n };\n qrcode3.stringToBytes = qrcode3.stringToBytesFuncs[\"default\"];\n qrcode3.createStringToBytes = function(unicodeData, numChars) {\n var unicodeMap = function() {\n var bin = base64DecodeInputStream(unicodeData);\n var read = function() {\n var b = bin.read();\n if (b == -1)\n throw \"eof\";\n return b;\n };\n var count = 0;\n var unicodeMap2 = {};\n while (true) {\n var b0 = bin.read();\n if (b0 == -1)\n break;\n var b1 = read();\n var b2 = read();\n var b3 = read();\n var k = String.fromCharCode(b0 << 8 | b1);\n var v = b2 << 8 | b3;\n unicodeMap2[k] = v;\n count += 1;\n }\n if (count != numChars) {\n throw count + \" != \" + numChars;\n }\n return unicodeMap2;\n }();\n var unknownChar = \"?\".charCodeAt(0);\n return function(s2) {\n var bytes = [];\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n var c2 = s2.charCodeAt(i2);\n if (c2 < 128) {\n bytes.push(c2);\n } else {\n var b = unicodeMap[s2.charAt(i2)];\n if (typeof b == \"number\") {\n if ((b & 255) == b) {\n bytes.push(b);\n } else {\n bytes.push(b >>> 8);\n bytes.push(b & 255);\n }\n } else {\n bytes.push(unknownChar);\n }\n }\n }\n return bytes;\n };\n };\n var QRMode = {\n MODE_NUMBER: 1 << 0,\n MODE_ALPHA_NUM: 1 << 1,\n MODE_8BIT_BYTE: 1 << 2,\n MODE_KANJI: 1 << 3\n };\n var QRErrorCorrectionLevel = {\n L: 1,\n M: 0,\n Q: 3,\n H: 2\n };\n var QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n };\n var QRUtil = function() {\n var PATTERN_POSITION_TABLE = [\n [],\n [6, 18],\n [6, 22],\n [6, 26],\n [6, 30],\n [6, 34],\n [6, 22, 38],\n [6, 24, 42],\n [6, 26, 46],\n [6, 28, 50],\n [6, 30, 54],\n [6, 32, 58],\n [6, 34, 62],\n [6, 26, 46, 66],\n [6, 26, 48, 70],\n [6, 26, 50, 74],\n [6, 30, 54, 78],\n [6, 30, 56, 82],\n [6, 30, 58, 86],\n [6, 34, 62, 90],\n [6, 28, 50, 72, 94],\n [6, 26, 50, 74, 98],\n [6, 30, 54, 78, 102],\n [6, 28, 54, 80, 106],\n [6, 32, 58, 84, 110],\n [6, 30, 58, 86, 114],\n [6, 34, 62, 90, 118],\n [6, 26, 50, 74, 98, 122],\n [6, 30, 54, 78, 102, 126],\n [6, 26, 52, 78, 104, 130],\n [6, 30, 56, 82, 108, 134],\n [6, 34, 60, 86, 112, 138],\n [6, 30, 58, 86, 114, 142],\n [6, 34, 62, 90, 118, 146],\n [6, 30, 54, 78, 102, 126, 150],\n [6, 24, 50, 76, 102, 128, 154],\n [6, 28, 54, 80, 106, 132, 158],\n [6, 32, 58, 84, 110, 136, 162],\n [6, 26, 54, 82, 110, 138, 166],\n [6, 30, 58, 86, 114, 142, 170]\n ];\n var G15 = 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0;\n var G18 = 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0;\n var G15_MASK = 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1;\n var _this = {};\n var getBCHDigit = function(data) {\n var digit = 0;\n while (data != 0) {\n digit += 1;\n data >>>= 1;\n }\n return digit;\n };\n _this.getBCHTypeInfo = function(data) {\n var d = data << 10;\n while (getBCHDigit(d) - getBCHDigit(G15) >= 0) {\n d ^= G15 << getBCHDigit(d) - getBCHDigit(G15);\n }\n return (data << 10 | d) ^ G15_MASK;\n };\n _this.getBCHTypeNumber = function(data) {\n var d = data << 12;\n while (getBCHDigit(d) - getBCHDigit(G18) >= 0) {\n d ^= G18 << getBCHDigit(d) - getBCHDigit(G18);\n }\n return data << 12 | d;\n };\n _this.getPatternPosition = function(typeNumber) {\n return PATTERN_POSITION_TABLE[typeNumber - 1];\n };\n _this.getMaskFunction = function(maskPattern) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return function(i2, j) {\n return (i2 + j) % 2 == 0;\n };\n case QRMaskPattern.PATTERN001:\n return function(i2, j) {\n return i2 % 2 == 0;\n };\n case QRMaskPattern.PATTERN010:\n return function(i2, j) {\n return j % 3 == 0;\n };\n case QRMaskPattern.PATTERN011:\n return function(i2, j) {\n return (i2 + j) % 3 == 0;\n };\n case QRMaskPattern.PATTERN100:\n return function(i2, j) {\n return (Math.floor(i2 / 2) + Math.floor(j / 3)) % 2 == 0;\n };\n case QRMaskPattern.PATTERN101:\n return function(i2, j) {\n return i2 * j % 2 + i2 * j % 3 == 0;\n };\n case QRMaskPattern.PATTERN110:\n return function(i2, j) {\n return (i2 * j % 2 + i2 * j % 3) % 2 == 0;\n };\n case QRMaskPattern.PATTERN111:\n return function(i2, j) {\n return (i2 * j % 3 + (i2 + j) % 2) % 2 == 0;\n };\n default:\n throw \"bad maskPattern:\" + maskPattern;\n }\n };\n _this.getErrorCorrectPolynomial = function(errorCorrectLength) {\n var a2 = qrPolynomial([1], 0);\n for (var i2 = 0; i2 < errorCorrectLength; i2 += 1) {\n a2 = a2.multiply(qrPolynomial([1, QRMath.gexp(i2)], 0));\n }\n return a2;\n };\n _this.getLengthInBits = function(mode, type) {\n if (1 <= type && type < 10) {\n switch (mode) {\n case QRMode.MODE_NUMBER:\n return 10;\n case QRMode.MODE_ALPHA_NUM:\n return 9;\n case QRMode.MODE_8BIT_BYTE:\n return 8;\n case QRMode.MODE_KANJI:\n return 8;\n default:\n throw \"mode:\" + mode;\n }\n } else if (type < 27) {\n switch (mode) {\n case QRMode.MODE_NUMBER:\n return 12;\n case QRMode.MODE_ALPHA_NUM:\n return 11;\n case QRMode.MODE_8BIT_BYTE:\n return 16;\n case QRMode.MODE_KANJI:\n return 10;\n default:\n throw \"mode:\" + mode;\n }\n } else if (type < 41) {\n switch (mode) {\n case QRMode.MODE_NUMBER:\n return 14;\n case QRMode.MODE_ALPHA_NUM:\n return 13;\n case QRMode.MODE_8BIT_BYTE:\n return 16;\n case QRMode.MODE_KANJI:\n return 12;\n default:\n throw \"mode:\" + mode;\n }\n } else {\n throw \"type:\" + type;\n }\n };\n _this.getLostPoint = function(qrcode4) {\n var moduleCount = qrcode4.getModuleCount();\n var lostPoint = 0;\n for (var row = 0; row < moduleCount; row += 1) {\n for (var col = 0; col < moduleCount; col += 1) {\n var sameCount = 0;\n var dark = qrcode4.isDark(row, col);\n for (var r = -1; r <= 1; r += 1) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n for (var c2 = -1; c2 <= 1; c2 += 1) {\n if (col + c2 < 0 || moduleCount <= col + c2) {\n continue;\n }\n if (r == 0 && c2 == 0) {\n continue;\n }\n if (dark == qrcode4.isDark(row + r, col + c2)) {\n sameCount += 1;\n }\n }\n }\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5;\n }\n }\n }\n for (var row = 0; row < moduleCount - 1; row += 1) {\n for (var col = 0; col < moduleCount - 1; col += 1) {\n var count = 0;\n if (qrcode4.isDark(row, col))\n count += 1;\n if (qrcode4.isDark(row + 1, col))\n count += 1;\n if (qrcode4.isDark(row, col + 1))\n count += 1;\n if (qrcode4.isDark(row + 1, col + 1))\n count += 1;\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n }\n for (var row = 0; row < moduleCount; row += 1) {\n for (var col = 0; col < moduleCount - 6; col += 1) {\n if (qrcode4.isDark(row, col) && !qrcode4.isDark(row, col + 1) && qrcode4.isDark(row, col + 2) && qrcode4.isDark(row, col + 3) && qrcode4.isDark(row, col + 4) && !qrcode4.isDark(row, col + 5) && qrcode4.isDark(row, col + 6)) {\n lostPoint += 40;\n }\n }\n }\n for (var col = 0; col < moduleCount; col += 1) {\n for (var row = 0; row < moduleCount - 6; row += 1) {\n if (qrcode4.isDark(row, col) && !qrcode4.isDark(row + 1, col) && qrcode4.isDark(row + 2, col) && qrcode4.isDark(row + 3, col) && qrcode4.isDark(row + 4, col) && !qrcode4.isDark(row + 5, col) && qrcode4.isDark(row + 6, col)) {\n lostPoint += 40;\n }\n }\n }\n var darkCount = 0;\n for (var col = 0; col < moduleCount; col += 1) {\n for (var row = 0; row < moduleCount; row += 1) {\n if (qrcode4.isDark(row, col)) {\n darkCount += 1;\n }\n }\n }\n var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n lostPoint += ratio * 10;\n return lostPoint;\n };\n return _this;\n }();\n var QRMath = function() {\n var EXP_TABLE = new Array(256);\n var LOG_TABLE = new Array(256);\n for (var i2 = 0; i2 < 8; i2 += 1) {\n EXP_TABLE[i2] = 1 << i2;\n }\n for (var i2 = 8; i2 < 256; i2 += 1) {\n EXP_TABLE[i2] = EXP_TABLE[i2 - 4] ^ EXP_TABLE[i2 - 5] ^ EXP_TABLE[i2 - 6] ^ EXP_TABLE[i2 - 8];\n }\n for (var i2 = 0; i2 < 255; i2 += 1) {\n LOG_TABLE[EXP_TABLE[i2]] = i2;\n }\n var _this = {};\n _this.glog = function(n2) {\n if (n2 < 1) {\n throw \"glog(\" + n2 + \")\";\n }\n return LOG_TABLE[n2];\n };\n _this.gexp = function(n2) {\n while (n2 < 0) {\n n2 += 255;\n }\n while (n2 >= 256) {\n n2 -= 255;\n }\n return EXP_TABLE[n2];\n };\n return _this;\n }();\n function qrPolynomial(num, shift) {\n if (typeof num.length == \"undefined\") {\n throw num.length + \"/\" + shift;\n }\n var _num = function() {\n var offset = 0;\n while (offset < num.length && num[offset] == 0) {\n offset += 1;\n }\n var _num2 = new Array(num.length - offset + shift);\n for (var i2 = 0; i2 < num.length - offset; i2 += 1) {\n _num2[i2] = num[i2 + offset];\n }\n return _num2;\n }();\n var _this = {};\n _this.getAt = function(index) {\n return _num[index];\n };\n _this.getLength = function() {\n return _num.length;\n };\n _this.multiply = function(e2) {\n var num2 = new Array(_this.getLength() + e2.getLength() - 1);\n for (var i2 = 0; i2 < _this.getLength(); i2 += 1) {\n for (var j = 0; j < e2.getLength(); j += 1) {\n num2[i2 + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i2)) + QRMath.glog(e2.getAt(j)));\n }\n }\n return qrPolynomial(num2, 0);\n };\n _this.mod = function(e2) {\n if (_this.getLength() - e2.getLength() < 0) {\n return _this;\n }\n var ratio = QRMath.glog(_this.getAt(0)) - QRMath.glog(e2.getAt(0));\n var num2 = new Array(_this.getLength());\n for (var i2 = 0; i2 < _this.getLength(); i2 += 1) {\n num2[i2] = _this.getAt(i2);\n }\n for (var i2 = 0; i2 < e2.getLength(); i2 += 1) {\n num2[i2] ^= QRMath.gexp(QRMath.glog(e2.getAt(i2)) + ratio);\n }\n return qrPolynomial(num2, 0).mod(e2);\n };\n return _this;\n }\n var QRRSBlock = function() {\n var RS_BLOCK_TABLE = [\n [1, 26, 19],\n [1, 26, 16],\n [1, 26, 13],\n [1, 26, 9],\n [1, 44, 34],\n [1, 44, 28],\n [1, 44, 22],\n [1, 44, 16],\n [1, 70, 55],\n [1, 70, 44],\n [2, 35, 17],\n [2, 35, 13],\n [1, 100, 80],\n [2, 50, 32],\n [2, 50, 24],\n [4, 25, 9],\n [1, 134, 108],\n [2, 67, 43],\n [2, 33, 15, 2, 34, 16],\n [2, 33, 11, 2, 34, 12],\n [2, 86, 68],\n [4, 43, 27],\n [4, 43, 19],\n [4, 43, 15],\n [2, 98, 78],\n [4, 49, 31],\n [2, 32, 14, 4, 33, 15],\n [4, 39, 13, 1, 40, 14],\n [2, 121, 97],\n [2, 60, 38, 2, 61, 39],\n [4, 40, 18, 2, 41, 19],\n [4, 40, 14, 2, 41, 15],\n [2, 146, 116],\n [3, 58, 36, 2, 59, 37],\n [4, 36, 16, 4, 37, 17],\n [4, 36, 12, 4, 37, 13],\n [2, 86, 68, 2, 87, 69],\n [4, 69, 43, 1, 70, 44],\n [6, 43, 19, 2, 44, 20],\n [6, 43, 15, 2, 44, 16],\n [4, 101, 81],\n [1, 80, 50, 4, 81, 51],\n [4, 50, 22, 4, 51, 23],\n [3, 36, 12, 8, 37, 13],\n [2, 116, 92, 2, 117, 93],\n [6, 58, 36, 2, 59, 37],\n [4, 46, 20, 6, 47, 21],\n [7, 42, 14, 4, 43, 15],\n [4, 133, 107],\n [8, 59, 37, 1, 60, 38],\n [8, 44, 20, 4, 45, 21],\n [12, 33, 11, 4, 34, 12],\n [3, 145, 115, 1, 146, 116],\n [4, 64, 40, 5, 65, 41],\n [11, 36, 16, 5, 37, 17],\n [11, 36, 12, 5, 37, 13],\n [5, 109, 87, 1, 110, 88],\n [5, 65, 41, 5, 66, 42],\n [5, 54, 24, 7, 55, 25],\n [11, 36, 12, 7, 37, 13],\n [5, 122, 98, 1, 123, 99],\n [7, 73, 45, 3, 74, 46],\n [15, 43, 19, 2, 44, 20],\n [3, 45, 15, 13, 46, 16],\n [1, 135, 107, 5, 136, 108],\n [10, 74, 46, 1, 75, 47],\n [1, 50, 22, 15, 51, 23],\n [2, 42, 14, 17, 43, 15],\n [5, 150, 120, 1, 151, 121],\n [9, 69, 43, 4, 70, 44],\n [17, 50, 22, 1, 51, 23],\n [2, 42, 14, 19, 43, 15],\n [3, 141, 113, 4, 142, 114],\n [3, 70, 44, 11, 71, 45],\n [17, 47, 21, 4, 48, 22],\n [9, 39, 13, 16, 40, 14],\n [3, 135, 107, 5, 136, 108],\n [3, 67, 41, 13, 68, 42],\n [15, 54, 24, 5, 55, 25],\n [15, 43, 15, 10, 44, 16],\n [4, 144, 116, 4, 145, 117],\n [17, 68, 42],\n [17, 50, 22, 6, 51, 23],\n [19, 46, 16, 6, 47, 17],\n [2, 139, 111, 7, 140, 112],\n [17, 74, 46],\n [7, 54, 24, 16, 55, 25],\n [34, 37, 13],\n [4, 151, 121, 5, 152, 122],\n [4, 75, 47, 14, 76, 48],\n [11, 54, 24, 14, 55, 25],\n [16, 45, 15, 14, 46, 16],\n [6, 147, 117, 4, 148, 118],\n [6, 73, 45, 14, 74, 46],\n [11, 54, 24, 16, 55, 25],\n [30, 46, 16, 2, 47, 17],\n [8, 132, 106, 4, 133, 107],\n [8, 75, 47, 13, 76, 48],\n [7, 54, 24, 22, 55, 25],\n [22, 45, 15, 13, 46, 16],\n [10, 142, 114, 2, 143, 115],\n [19, 74, 46, 4, 75, 47],\n [28, 50, 22, 6, 51, 23],\n [33, 46, 16, 4, 47, 17],\n [8, 152, 122, 4, 153, 123],\n [22, 73, 45, 3, 74, 46],\n [8, 53, 23, 26, 54, 24],\n [12, 45, 15, 28, 46, 16],\n [3, 147, 117, 10, 148, 118],\n [3, 73, 45, 23, 74, 46],\n [4, 54, 24, 31, 55, 25],\n [11, 45, 15, 31, 46, 16],\n [7, 146, 116, 7, 147, 117],\n [21, 73, 45, 7, 74, 46],\n [1, 53, 23, 37, 54, 24],\n [19, 45, 15, 26, 46, 16],\n [5, 145, 115, 10, 146, 116],\n [19, 75, 47, 10, 76, 48],\n [15, 54, 24, 25, 55, 25],\n [23, 45, 15, 25, 46, 16],\n [13, 145, 115, 3, 146, 116],\n [2, 74, 46, 29, 75, 47],\n [42, 54, 24, 1, 55, 25],\n [23, 45, 15, 28, 46, 16],\n [17, 145, 115],\n [10, 74, 46, 23, 75, 47],\n [10, 54, 24, 35, 55, 25],\n [19, 45, 15, 35, 46, 16],\n [17, 145, 115, 1, 146, 116],\n [14, 74, 46, 21, 75, 47],\n [29, 54, 24, 19, 55, 25],\n [11, 45, 15, 46, 46, 16],\n [13, 145, 115, 6, 146, 116],\n [14, 74, 46, 23, 75, 47],\n [44, 54, 24, 7, 55, 25],\n [59, 46, 16, 1, 47, 17],\n [12, 151, 121, 7, 152, 122],\n [12, 75, 47, 26, 76, 48],\n [39, 54, 24, 14, 55, 25],\n [22, 45, 15, 41, 46, 16],\n [6, 151, 121, 14, 152, 122],\n [6, 75, 47, 34, 76, 48],\n [46, 54, 24, 10, 55, 25],\n [2, 45, 15, 64, 46, 16],\n [17, 152, 122, 4, 153, 123],\n [29, 74, 46, 14, 75, 47],\n [49, 54, 24, 10, 55, 25],\n [24, 45, 15, 46, 46, 16],\n [4, 152, 122, 18, 153, 123],\n [13, 74, 46, 32, 75, 47],\n [48, 54, 24, 14, 55, 25],\n [42, 45, 15, 32, 46, 16],\n [20, 147, 117, 4, 148, 118],\n [40, 75, 47, 7, 76, 48],\n [43, 54, 24, 22, 55, 25],\n [10, 45, 15, 67, 46, 16],\n [19, 148, 118, 6, 149, 119],\n [18, 75, 47, 31, 76, 48],\n [34, 54, 24, 34, 55, 25],\n [20, 45, 15, 61, 46, 16]\n ];\n var qrRSBlock = function(totalCount, dataCount) {\n var _this2 = {};\n _this2.totalCount = totalCount;\n _this2.dataCount = dataCount;\n return _this2;\n };\n var _this = {};\n var getRsBlockTable = function(typeNumber, errorCorrectionLevel) {\n switch (errorCorrectionLevel) {\n case QRErrorCorrectionLevel.L:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n case QRErrorCorrectionLevel.M:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n case QRErrorCorrectionLevel.Q:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n case QRErrorCorrectionLevel.H:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n default:\n return void 0;\n }\n };\n _this.getRSBlocks = function(typeNumber, errorCorrectionLevel) {\n var rsBlock = getRsBlockTable(typeNumber, errorCorrectionLevel);\n if (typeof rsBlock == \"undefined\") {\n throw \"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectionLevel:\" + errorCorrectionLevel;\n }\n var length = rsBlock.length / 3;\n var list = [];\n for (var i2 = 0; i2 < length; i2 += 1) {\n var count = rsBlock[i2 * 3 + 0];\n var totalCount = rsBlock[i2 * 3 + 1];\n var dataCount = rsBlock[i2 * 3 + 2];\n for (var j = 0; j < count; j += 1) {\n list.push(qrRSBlock(totalCount, dataCount));\n }\n }\n return list;\n };\n return _this;\n }();\n var qrBitBuffer = function() {\n var _buffer = [];\n var _length = 0;\n var _this = {};\n _this.getBuffer = function() {\n return _buffer;\n };\n _this.getAt = function(index) {\n var bufIndex = Math.floor(index / 8);\n return (_buffer[bufIndex] >>> 7 - index % 8 & 1) == 1;\n };\n _this.put = function(num, length) {\n for (var i2 = 0; i2 < length; i2 += 1) {\n _this.putBit((num >>> length - i2 - 1 & 1) == 1);\n }\n };\n _this.getLengthInBits = function() {\n return _length;\n };\n _this.putBit = function(bit) {\n var bufIndex = Math.floor(_length / 8);\n if (_buffer.length <= bufIndex) {\n _buffer.push(0);\n }\n if (bit) {\n _buffer[bufIndex] |= 128 >>> _length % 8;\n }\n _length += 1;\n };\n return _this;\n };\n var qrNumber = function(data) {\n var _mode = QRMode.MODE_NUMBER;\n var _data = data;\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return _data.length;\n };\n _this.write = function(buffer) {\n var data2 = _data;\n var i2 = 0;\n while (i2 + 2 < data2.length) {\n buffer.put(strToNum(data2.substring(i2, i2 + 3)), 10);\n i2 += 3;\n }\n if (i2 < data2.length) {\n if (data2.length - i2 == 1) {\n buffer.put(strToNum(data2.substring(i2, i2 + 1)), 4);\n } else if (data2.length - i2 == 2) {\n buffer.put(strToNum(data2.substring(i2, i2 + 2)), 7);\n }\n }\n };\n var strToNum = function(s2) {\n var num = 0;\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n num = num * 10 + chatToNum(s2.charAt(i2));\n }\n return num;\n };\n var chatToNum = function(c2) {\n if (\"0\" <= c2 && c2 <= \"9\") {\n return c2.charCodeAt(0) - \"0\".charCodeAt(0);\n }\n throw \"illegal char :\" + c2;\n };\n return _this;\n };\n var qrAlphaNum = function(data) {\n var _mode = QRMode.MODE_ALPHA_NUM;\n var _data = data;\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return _data.length;\n };\n _this.write = function(buffer) {\n var s2 = _data;\n var i2 = 0;\n while (i2 + 1 < s2.length) {\n buffer.put(\n getCode(s2.charAt(i2)) * 45 + getCode(s2.charAt(i2 + 1)),\n 11\n );\n i2 += 2;\n }\n if (i2 < s2.length) {\n buffer.put(getCode(s2.charAt(i2)), 6);\n }\n };\n var getCode = function(c2) {\n if (\"0\" <= c2 && c2 <= \"9\") {\n return c2.charCodeAt(0) - \"0\".charCodeAt(0);\n } else if (\"A\" <= c2 && c2 <= \"Z\") {\n return c2.charCodeAt(0) - \"A\".charCodeAt(0) + 10;\n } else {\n switch (c2) {\n case \" \":\n return 36;\n case \"$\":\n return 37;\n case \"%\":\n return 38;\n case \"*\":\n return 39;\n case \"+\":\n return 40;\n case \"-\":\n return 41;\n case \".\":\n return 42;\n case \"/\":\n return 43;\n case \":\":\n return 44;\n default:\n throw \"illegal char :\" + c2;\n }\n }\n };\n return _this;\n };\n var qr8BitByte = function(data) {\n var _mode = QRMode.MODE_8BIT_BYTE;\n var _bytes = qrcode3.stringToBytes(data);\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return _bytes.length;\n };\n _this.write = function(buffer) {\n for (var i2 = 0; i2 < _bytes.length; i2 += 1) {\n buffer.put(_bytes[i2], 8);\n }\n };\n return _this;\n };\n var qrKanji = function(data) {\n var _mode = QRMode.MODE_KANJI;\n var stringToBytes = qrcode3.stringToBytesFuncs[\"SJIS\"];\n if (!stringToBytes) {\n throw \"sjis not supported.\";\n }\n !function(c2, code) {\n var test = stringToBytes(c2);\n if (test.length != 2 || (test[0] << 8 | test[1]) != code) {\n throw \"sjis not supported.\";\n }\n }(\"\\u53CB\", 38726);\n var _bytes = stringToBytes(data);\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return ~~(_bytes.length / 2);\n };\n _this.write = function(buffer) {\n var data2 = _bytes;\n var i2 = 0;\n while (i2 + 1 < data2.length) {\n var c2 = (255 & data2[i2]) << 8 | 255 & data2[i2 + 1];\n if (33088 <= c2 && c2 <= 40956) {\n c2 -= 33088;\n } else if (57408 <= c2 && c2 <= 60351) {\n c2 -= 49472;\n } else {\n throw \"illegal char at \" + (i2 + 1) + \"/\" + c2;\n }\n c2 = (c2 >>> 8 & 255) * 192 + (c2 & 255);\n buffer.put(c2, 13);\n i2 += 2;\n }\n if (i2 < data2.length) {\n throw \"illegal char at \" + (i2 + 1);\n }\n };\n return _this;\n };\n var byteArrayOutputStream = function() {\n var _bytes = [];\n var _this = {};\n _this.writeByte = function(b) {\n _bytes.push(b & 255);\n };\n _this.writeShort = function(i2) {\n _this.writeByte(i2);\n _this.writeByte(i2 >>> 8);\n };\n _this.writeBytes = function(b, off, len) {\n off = off || 0;\n len = len || b.length;\n for (var i2 = 0; i2 < len; i2 += 1) {\n _this.writeByte(b[i2 + off]);\n }\n };\n _this.writeString = function(s2) {\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n _this.writeByte(s2.charCodeAt(i2));\n }\n };\n _this.toByteArray = function() {\n return _bytes;\n };\n _this.toString = function() {\n var s2 = \"\";\n s2 += \"[\";\n for (var i2 = 0; i2 < _bytes.length; i2 += 1) {\n if (i2 > 0) {\n s2 += \",\";\n }\n s2 += _bytes[i2];\n }\n s2 += \"]\";\n return s2;\n };\n return _this;\n };\n var base64EncodeOutputStream = function() {\n var _buffer = 0;\n var _buflen = 0;\n var _length = 0;\n var _base64 = \"\";\n var _this = {};\n var writeEncoded = function(b) {\n _base64 += String.fromCharCode(encode2(b & 63));\n };\n var encode2 = function(n2) {\n if (n2 < 0)\n ;\n else if (n2 < 26) {\n return 65 + n2;\n } else if (n2 < 52) {\n return 97 + (n2 - 26);\n } else if (n2 < 62) {\n return 48 + (n2 - 52);\n } else if (n2 == 62) {\n return 43;\n } else if (n2 == 63) {\n return 47;\n }\n throw \"n:\" + n2;\n };\n _this.writeByte = function(n2) {\n _buffer = _buffer << 8 | n2 & 255;\n _buflen += 8;\n _length += 1;\n while (_buflen >= 6) {\n writeEncoded(_buffer >>> _buflen - 6);\n _buflen -= 6;\n }\n };\n _this.flush = function() {\n if (_buflen > 0) {\n writeEncoded(_buffer << 6 - _buflen);\n _buffer = 0;\n _buflen = 0;\n }\n if (_length % 3 != 0) {\n var padlen = 3 - _length % 3;\n for (var i2 = 0; i2 < padlen; i2 += 1) {\n _base64 += \"=\";\n }\n }\n };\n _this.toString = function() {\n return _base64;\n };\n return _this;\n };\n var base64DecodeInputStream = function(str) {\n var _str = str;\n var _pos = 0;\n var _buffer = 0;\n var _buflen = 0;\n var _this = {};\n _this.read = function() {\n while (_buflen < 8) {\n if (_pos >= _str.length) {\n if (_buflen == 0) {\n return -1;\n }\n throw \"unexpected end of file./\" + _buflen;\n }\n var c2 = _str.charAt(_pos);\n _pos += 1;\n if (c2 == \"=\") {\n _buflen = 0;\n return -1;\n } else if (c2.match(/^\\s$/)) {\n continue;\n }\n _buffer = _buffer << 6 | decode2(c2.charCodeAt(0));\n _buflen += 6;\n }\n var n2 = _buffer >>> _buflen - 8 & 255;\n _buflen -= 8;\n return n2;\n };\n var decode2 = function(c2) {\n if (65 <= c2 && c2 <= 90) {\n return c2 - 65;\n } else if (97 <= c2 && c2 <= 122) {\n return c2 - 97 + 26;\n } else if (48 <= c2 && c2 <= 57) {\n return c2 - 48 + 52;\n } else if (c2 == 43) {\n return 62;\n } else if (c2 == 47) {\n return 63;\n } else {\n throw \"c:\" + c2;\n }\n };\n return _this;\n };\n var gifImage = function(width, height) {\n var _width = width;\n var _height = height;\n var _data = new Array(width * height);\n var _this = {};\n _this.setPixel = function(x, y, pixel) {\n _data[y * _width + x] = pixel;\n };\n _this.write = function(out) {\n out.writeString(\"GIF87a\");\n out.writeShort(_width);\n out.writeShort(_height);\n out.writeByte(128);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(255);\n out.writeByte(255);\n out.writeByte(255);\n out.writeString(\",\");\n out.writeShort(0);\n out.writeShort(0);\n out.writeShort(_width);\n out.writeShort(_height);\n out.writeByte(0);\n var lzwMinCodeSize = 2;\n var raster = getLZWRaster(lzwMinCodeSize);\n out.writeByte(lzwMinCodeSize);\n var offset = 0;\n while (raster.length - offset > 255) {\n out.writeByte(255);\n out.writeBytes(raster, offset, 255);\n offset += 255;\n }\n out.writeByte(raster.length - offset);\n out.writeBytes(raster, offset, raster.length - offset);\n out.writeByte(0);\n out.writeString(\";\");\n };\n var bitOutputStream = function(out) {\n var _out = out;\n var _bitLength = 0;\n var _bitBuffer = 0;\n var _this2 = {};\n _this2.write = function(data, length) {\n if (data >>> length != 0) {\n throw \"length over\";\n }\n while (_bitLength + length >= 8) {\n _out.writeByte(255 & (data << _bitLength | _bitBuffer));\n length -= 8 - _bitLength;\n data >>>= 8 - _bitLength;\n _bitBuffer = 0;\n _bitLength = 0;\n }\n _bitBuffer = data << _bitLength | _bitBuffer;\n _bitLength = _bitLength + length;\n };\n _this2.flush = function() {\n if (_bitLength > 0) {\n _out.writeByte(_bitBuffer);\n }\n };\n return _this2;\n };\n var getLZWRaster = function(lzwMinCodeSize) {\n var clearCode = 1 << lzwMinCodeSize;\n var endCode = (1 << lzwMinCodeSize) + 1;\n var bitLength = lzwMinCodeSize + 1;\n var table = lzwTable();\n for (var i2 = 0; i2 < clearCode; i2 += 1) {\n table.add(String.fromCharCode(i2));\n }\n table.add(String.fromCharCode(clearCode));\n table.add(String.fromCharCode(endCode));\n var byteOut = byteArrayOutputStream();\n var bitOut = bitOutputStream(byteOut);\n bitOut.write(clearCode, bitLength);\n var dataIndex = 0;\n var s2 = String.fromCharCode(_data[dataIndex]);\n dataIndex += 1;\n while (dataIndex < _data.length) {\n var c2 = String.fromCharCode(_data[dataIndex]);\n dataIndex += 1;\n if (table.contains(s2 + c2)) {\n s2 = s2 + c2;\n } else {\n bitOut.write(table.indexOf(s2), bitLength);\n if (table.size() < 4095) {\n if (table.size() == 1 << bitLength) {\n bitLength += 1;\n }\n table.add(s2 + c2);\n }\n s2 = c2;\n }\n }\n bitOut.write(table.indexOf(s2), bitLength);\n bitOut.write(endCode, bitLength);\n bitOut.flush();\n return byteOut.toByteArray();\n };\n var lzwTable = function() {\n var _map = {};\n var _size = 0;\n var _this2 = {};\n _this2.add = function(key) {\n if (_this2.contains(key)) {\n throw \"dup key:\" + key;\n }\n _map[key] = _size;\n _size += 1;\n };\n _this2.size = function() {\n return _size;\n };\n _this2.indexOf = function(key) {\n return _map[key];\n };\n _this2.contains = function(key) {\n return typeof _map[key] != \"undefined\";\n };\n return _this2;\n };\n return _this;\n };\n var createDataURL = function(width, height, getPixel) {\n var gif = gifImage(width, height);\n for (var y = 0; y < height; y += 1) {\n for (var x = 0; x < width; x += 1) {\n gif.setPixel(x, y, getPixel(x, y));\n }\n }\n var b = byteArrayOutputStream();\n gif.write(b);\n var base64 = base64EncodeOutputStream();\n var bytes = b.toByteArray();\n for (var i2 = 0; i2 < bytes.length; i2 += 1) {\n base64.writeByte(bytes[i2]);\n }\n base64.flush();\n return \"data:image/gif;base64,\" + base64;\n };\n return qrcode3;\n }();\n !function() {\n qrcode2.stringToBytesFuncs[\"UTF-8\"] = function(s2) {\n function toUTF8Array(str) {\n var utf8 = [];\n for (var i2 = 0; i2 < str.length; i2++) {\n var charcode = str.charCodeAt(i2);\n if (charcode < 128)\n utf8.push(charcode);\n else if (charcode < 2048) {\n utf8.push(\n 192 | charcode >> 6,\n 128 | charcode & 63\n );\n } else if (charcode < 55296 || charcode >= 57344) {\n utf8.push(\n 224 | charcode >> 12,\n 128 | charcode >> 6 & 63,\n 128 | charcode & 63\n );\n } else {\n i2++;\n charcode = 65536 + ((charcode & 1023) << 10 | str.charCodeAt(i2) & 1023);\n utf8.push(\n 240 | charcode >> 18,\n 128 | charcode >> 12 & 63,\n 128 | charcode >> 6 & 63,\n 128 | charcode & 63\n );\n }\n }\n return utf8;\n }\n return toUTF8Array(s2);\n };\n }();\n (function(factory) {\n {\n module.exports = factory();\n }\n })(function() {\n return qrcode2;\n });\n})(qrcode$1);\nconst qrcode = qrcode$1.exports;\nconst _tmpl$$2 = /* @__PURE__ */ template$1(`<div></div>`), _tmpl$2 = /* @__PURE__ */ template$1(`<img alt=\"\">`);\nconst QRCode = (props) => {\n let qrCodeCanvas;\n createEffect(() => {\n const errorCorrectionLevel = \"L\";\n const qr = qrcode(0, errorCorrectionLevel);\n qr.addData(props.sourceUrl);\n qr.make();\n qrCodeCanvas.innerHTML = qr.createSvgTag(4);\n });\n return createComponent(QrCodeStyled, {\n get children() {\n return [(() => {\n const _el$ = _tmpl$$2.cloneNode(true);\n const _ref$ = qrCodeCanvas;\n typeof _ref$ === \"function\" ? use(_ref$, _el$) : qrCodeCanvas = _el$;\n return _el$;\n })(), createComponent(ImageBackground, {\n get children() {\n const _el$2 = _tmpl$2.cloneNode(true);\n createRenderEffect(() => setAttribute(_el$2, \"src\", props.imageUrl));\n return _el$2;\n }\n })];\n }\n });\n};\nconst Translation = (props) => {\n var _a;\n const [t2] = useI18n();\n return t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString());\n};\nconst borders = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst QrCodeModalStyled = styled.div`\n padding: 0 24px;\n`;\nconst StyledIconButton = styled(IconButton)`\n position: absolute;\n top: 16px;\n left: 16px;\n`;\nconst QRBackgroundStyled = styled.div`\n margin-bottom: 16px;\n background-color: ${(props) => props.theme.colors.background.secondary};\n border-radius: ${(props) => borders[props.theme.borderRadius]};\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px 0;\n`;\nconst ButtonsContainerStyled = styled.div`\n display: flex;\n gap: 16px;\n height: 56px;\n margin-bottom: 24px;\n`;\nconst ActionButtonStyled = styled(Button)`\n font-size: 16px;\n line-height: 20px;\n letter-spacing: -0.32px;\n width: 100%;\n border-radius: ${(props) => borders[props.theme.borderRadius]};\n`;\nconst GetWalletStyled = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst TextStyled$1 = styled(Text)`\n color: ${(props) => props.theme.colors.text.secondary};\n font-size: 16px;\n`;\nfunction openLink(href, target = \"_self\") {\n window.open(href, target, \"noreferrer noopener\");\n}\nfunction openLinkBlank(href) {\n openLink(href, \"_blank\");\n}\nfunction getSystemTheme() {\n if (window.matchMedia && window.matchMedia(\"(prefers-color-scheme: light)\").matches) {\n return THEME.LIGHT;\n }\n return THEME.DARK;\n}\nfunction subscribeToThemeChange(callback) {\n const handler = (event) => callback(event.matches ? THEME.DARK : THEME.LIGHT);\n window.matchMedia(\"(prefers-color-scheme: dark)\").addEventListener(\"change\", handler);\n return () => window.matchMedia(\"(prefers-color-scheme: dark)\").removeEventListener(\"change\", handler);\n}\nconst QrCodeModal = (props) => {\n const connector = useContext(ConnectorContext);\n const universalLink = connector.connect({\n universalLink: props.wallet.universalLink,\n bridgeUrl: props.wallet.bridgeUrl\n });\n return createComponent(QrCodeModalStyled, {\n get id() {\n return props.id;\n },\n get children() {\n return [createComponent(StyledIconButton, {\n icon: \"arrow\",\n onClick: () => props.onBackClick()\n }), createComponent(H1, {\n translationKey: \"walletModal.qrCodeModal.connectWith\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Connect with \", createMemo(() => props.wallet.name)];\n }\n }), createComponent(H2, {\n translationKey: \"walletModal.qrCodeModal.scan\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Scan QR code with your phone\\u2019s or \", createMemo(() => props.wallet.name), \"\\u2019s camera.\"];\n }\n }), createComponent(QRBackgroundStyled, {\n get children() {\n return createComponent(QRCode, {\n sourceUrl: universalLink,\n get imageUrl() {\n return props.wallet.imageUrl;\n }\n });\n }\n }), createComponent(ButtonsContainerStyled, {\n get children() {\n return [createComponent(ActionButtonStyled, {\n onClick: () => openLink(universalLink),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.qrCodeModal.openWallet\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Open \", createMemo(() => props.wallet.name)];\n }\n });\n }\n }), createComponent(Show, {\n get when() {\n return isWalletInfoInjected(props.wallet) && props.wallet.injected;\n },\n get children() {\n return createComponent(ActionButtonStyled, {\n onClick: () => connector.connect({\n jsBridgeKey: props.wallet.jsBridgeKey\n }),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.qrCodeModal.openExtension\",\n children: \"Open Extension\"\n });\n }\n });\n }\n })];\n }\n }), createComponent(GetWalletStyled, {\n get children() {\n return [createComponent(TextStyled$1, {\n translationKey: \"walletModal.qrCodeModal.dontHave\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Don't have \", createMemo(() => props.wallet.name), \"?\"];\n }\n }), createComponent(Button, {\n onClick: () => openLinkBlank(props.wallet.aboutUrl),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.qrCodeModal.get\",\n children: \"GET\"\n });\n }\n })];\n }\n })];\n }\n });\n};\nconst WalletItemStyled = styled.button`\n cursor: pointer;\n display: block;\n border: none;\n background-color: unset;\n padding: 12px 12px 24px 12px;\n\n transition: transform 0.1s ease-in-out;\n\n &:hover {\n transform: scale(1.04);\n }\n\n &:active {\n transform: scale(0.96);\n }\n\n img {\n width: 72px;\n height: 72px;\n border-radius: 18px;\n\n margin-bottom: 8px;\n\n ${media(\"mobile\")} {\n width: 64px;\n height: 64px;\n border-radius: 16px;\n }\n }\n\n ${media(\"mobile\")} {\n padding: 10px 10px 20px 10px;\n }\n`;\nconst StyledText = styled(Text)`\n font-weight: 590;\n max-width: 72px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n @supports (-webkit-line-clamp: 2) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: initial;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n`;\nconst _tmpl$$1 = /* @__PURE__ */ template$1(`<img alt=\"\">`);\nconst WalletItem = (props) => {\n return createComponent(WalletItemStyled, {\n onClick: () => props.onClick(),\n get children() {\n return [(() => {\n const _el$ = _tmpl$$1.cloneNode(true);\n createRenderEffect(() => setAttribute(_el$, \"src\", props.iconUrl));\n return _el$;\n })(), createComponent(StyledText, {\n get children() {\n return props.name;\n }\n })];\n }\n });\n};\nconst SelectWalletModalStyled = styled.div``;\nconst UlStyled = styled.ul`\n display: flex;\n margin: 0 auto 24px;\n width: fit-content;\n max-width: 100%;\n min-height: 140px;\n overflow: auto;\n padding: 0 24px;\n\n &&::-webkit-scrollbar {\n display: none;\n }\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ${media(\"mobile\")} {\n min-height: 126px;\n }\n`;\nconst H2Styled = styled(H2)`\n ${media(\"mobile\")} {\n margin-bottom: 24px;\n padding: 0 24px;\n min-height: 44px;\n }\n`;\nconst ButtonStyled$1 = styled(Button)`\n display: block;\n margin: 0 auto;\n`;\nconst _tmpl$ = /* @__PURE__ */ template$1(`<li></li>`);\nconst SelectWalletModal = (props) => {\n const learnMoreUrl = \"https://ton.org/wallets\";\n return createComponent(SelectWalletModalStyled, {\n get id() {\n return props.id;\n },\n get children() {\n return [createComponent(H1, {\n translationKey: \"walletModal.selectWalletModal.connectWallet\",\n children: \"Connect a wallet\"\n }), createComponent(H2Styled, {\n translationKey: \"walletModal.selectWalletModal.selectWallet\",\n children: \"Select your wallet from the options to get started.\"\n }), createComponent(UlStyled, {\n get children() {\n return createComponent(For, {\n get each() {\n return props.walletsList;\n },\n children: (wallet) => (() => {\n const _el$ = _tmpl$.cloneNode(true);\n insert(_el$, createComponent(WalletItem, {\n get iconUrl() {\n return wallet.imageUrl;\n },\n get name() {\n return wallet.name;\n },\n onClick: () => props.onSelect(wallet)\n }));\n return _el$;\n })()\n });\n }\n }), createComponent(ButtonStyled$1, {\n onClick: () => openLinkBlank(learnMoreUrl),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.selectWalletModal.learnMore\",\n children: \"Learn more\"\n });\n }\n })];\n }\n });\n};\nconst StyledModal = styled(Modal)`\n padding-left: 0;\n padding-right: 0;\n\n ${media(\"mobile\")} {\n min-height: 390px;\n }\n`;\nconst H1Styled$1 = styled(H1)`\n margin-top: 12px;\n\n ${media(\"mobile\")} {\n padding: 0 10px;\n }\n`;\nconst LoaderIconStyled$1 = styled(LoaderIcon)`\n width: 70px;\n height: 70px;\n`;\nconst LoaderContainerStyled = styled.div`\n margin: 30px 0;\n width: 100%;\n display: flex;\n justify-content: center;\n\n ${media(\"mobile\")} {\n height: 160px;\n align-items: center;\n }\n`;\nconst [appState, setAppState] = createStore({\n buttonRootId: null,\n language: \"en\",\n walletsList: {}\n});\nfunction uiWalletToWalletInfo(uiWallet) {\n if (\"jsBridgeKey\" in uiWallet) {\n return __spreadProps(__spreadValues({}, uiWallet), {\n injected: TonConnect.isWalletInjected(uiWallet.jsBridgeKey),\n embedded: TonConnect.isInsideWalletBrowser(uiWallet.jsBridgeKey)\n });\n }\n return uiWallet;\n}\nfunction applyWalletsListConfiguration(walletsList, configuration) {\n var _a;\n if (!configuration) {\n return walletsList;\n }\n if (\"wallets\" in configuration) {\n return configuration.wallets.map((wallet) => {\n if (typeof wallet === \"string\") {\n const walletInfo = walletsList.find((item) => item.name === wallet);\n if (!walletInfo) {\n console.error(\n `Wallet with name === '${wallet}' wasn't found in the wallets list. Check '${wallet}' correctness. Available wallets names: ${walletsList.map((i2) => \"'\" + i2.name + \"'\").join(\", \")}`\n );\n return null;\n }\n return walletInfo;\n }\n return uiWalletToWalletInfo(wallet);\n }).filter((i2) => !!i2);\n }\n const filteredWalletsList = ((_a = configuration.excludeWallets) == null ? void 0 : _a.length) ? walletsList.filter(\n (wallet) => {\n var _a2;\n return (_a2 = configuration.excludeWallets) == null ? void 0 : _a2.every((item) => item !== wallet.name);\n }\n ) : walletsList;\n if (!configuration.includeWallets) {\n return filteredWalletsList;\n }\n if (configuration.includeWalletsOrder === \"start\") {\n return configuration.includeWallets.map(uiWalletToWalletInfo).concat(walletsList);\n }\n return walletsList.concat(configuration.includeWallets.map(uiWalletToWalletInfo));\n}\nconst WalletsModal = () => {\n const {\n locale\n } = useI18n()[1];\n createEffect(() => locale(appState.language));\n const connector = useContext(ConnectorContext);\n const tonConnectUI = useContext(TonConnectUiContext);\n const [fetchedWalletsList] = createResource(() => tonConnectUI.getWallets());\n const [selectedWalletInfo, setSelectedWalletInfo] = createSignal(null);\n const walletsList = createMemo(() => {\n if (fetchedWalletsList.state !== \"ready\") {\n return null;\n }\n return applyWalletsListConfiguration(fetchedWalletsList(), appState.walletsList);\n });\n const onClose = () => {\n setWalletsModalOpen(false);\n setSelectedWalletInfo(null);\n };\n const onSelect = (walletInfo) => {\n setLastSelectedWalletInfo(walletInfo);\n if (isDevice(\"mobile\") && \"universalLink\" in walletInfo) {\n return onSelectIfMobile(walletInfo);\n }\n if (isWalletInfoInjected(walletInfo) && walletInfo.injected) {\n return onSelectIfInjected(walletInfo);\n }\n if (\"bridgeUrl\" in walletInfo) {\n setSelectedWalletInfo(walletInfo);\n return;\n }\n openLink(walletInfo.aboutUrl, \"_blank\");\n };\n const onSelectIfMobile = (walletInfo) => {\n const universalLink = connector.connect({\n universalLink: walletInfo.universalLink,\n bridgeUrl: walletInfo.bridgeUrl\n });\n openLink(universalLink);\n };\n const onSelectIfInjected = (walletInfo) => {\n connector.connect({\n jsBridgeKey: walletInfo.jsBridgeKey\n });\n };\n const unsubscribe = connector.onStatusChange((wallet) => {\n if (wallet) {\n onClose();\n }\n });\n onCleanup(unsubscribe);\n return createComponent(StyledModal, {\n get opened() {\n return walletsModalOpen();\n },\n onClose,\n id: \"tc-wallets-modal-container\",\n get children() {\n return [createComponent(Show, {\n get when() {\n return !walletsList();\n },\n get children() {\n return [createComponent(H1Styled$1, {\n translationKey: \"walletModal.loading\",\n children: \"Wallets list is loading\"\n }), createComponent(LoaderContainerStyled, {\n get children() {\n return createComponent(LoaderIconStyled$1, {});\n }\n })];\n }\n }), createComponent(Show, {\n get when() {\n return walletsList();\n },\n get children() {\n return [createComponent(Show, {\n get when() {\n return !selectedWalletInfo();\n },\n keyed: false,\n get children() {\n return createComponent(SelectWalletModal, {\n get walletsList() {\n return walletsList();\n },\n onSelect,\n id: \"tc-wallets-modal\"\n });\n }\n }), createComponent(Show, {\n get when() {\n return selectedWalletInfo();\n },\n keyed: false,\n get children() {\n return createComponent(QrCodeModal, {\n get wallet() {\n return selectedWalletInfo();\n },\n onBackClick: () => setSelectedWalletInfo(null),\n id: \"tc-qr-modal\"\n });\n }\n })];\n }\n })];\n }\n });\n};\nconst ActionModalStyled = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-bottom: 20px;\n`;\nconst H1Styled = styled(H1)`\n margin-top: 19px;\n`;\nconst TextStyled = styled(Text)`\n font-weight: 510;\n font-size: 16px;\n line-height: 22px;\n letter-spacing: -0.32px;\n text-align: center;\n max-width: 250px;\n\n color: ${(props) => props.theme.colors.text.secondary};\n`;\nconst ButtonStyled = styled(Button)`\n margin-top: 32px;\n`;\nconst ActionModal = (props) => {\n return createComponent(ActionModalStyled, {\n get id() {\n return props.id;\n },\n get children() {\n return [createMemo(() => props.icon), createComponent(H1Styled, {\n get translationKey() {\n return props.headerTranslationKey;\n }\n }), createComponent(TextStyled, {\n get translationKey() {\n return props.textTranslationKey;\n }\n }), createComponent(Show, {\n get when() {\n return props.showButton !== false;\n },\n get children() {\n return createComponent(ButtonStyled, {\n onClick: () => props.onClose(),\n get children() {\n return createComponent(Translation, {\n translationKey: \"common.close\",\n children: \"Close\"\n });\n }\n });\n }\n })];\n }\n });\n};\nconst LoaderIconStyled = styled(LoaderIcon)`\n height: 72px;\n width: 72px;\n`;\nconst ConfirmTransactionModal = (props) => {\n return createComponent(ActionModal, {\n headerTranslationKey: \"actionModal.confirmTransaction.header\",\n textTranslationKey: \"actionModal.confirmTransaction.text\",\n get icon() {\n return createComponent(LoaderIconStyled, {});\n },\n onClose: () => props.onClose(),\n showButton: false,\n get id() {\n return props.id;\n }\n });\n};\nconst ErrorIconStyled = styled(ErrorIcon)`\n height: 66px;\n width: 66px;\n`;\nconst TransactionCanceledModal = (props) => {\n return createComponent(ActionModal, {\n headerTranslationKey: \"actionModal.transactionCanceled.header\",\n textTranslationKey: \"actionModal.transactionCanceled.text\",\n get icon() {\n return createComponent(ErrorIconStyled, {});\n },\n onClose: () => props.onClose(),\n get id() {\n return props.id;\n }\n });\n};\nconst SuccessIconStyled = styled(SuccessIcon)`\n height: 66px;\n width: 66px;\n`;\nconst TransactionSentModal = (props) => {\n return createComponent(ActionModal, {\n headerTranslationKey: \"actionModal.transactionSent.header\",\n textTranslationKey: \"actionModal.transactionSent.text\",\n get icon() {\n return createComponent(SuccessIconStyled, {});\n },\n onClose: () => props.onClose(),\n get id() {\n return props.id;\n }\n });\n};\nconst ActionsModal = () => {\n return createComponent(Modal, {\n get opened() {\n var _a;\n return createMemo(() => action() !== null)() && ((_a = action()) == null ? void 0 : _a.openModal) === true;\n },\n onClose: () => setAction(null),\n id: \"tc-actions-modal-container\",\n get children() {\n return createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return action().name === \"transaction-sent\";\n },\n get children() {\n return createComponent(TransactionSentModal, {\n onClose: () => setAction(null),\n id: \"tc-transaction-sent-modal\"\n });\n }\n }), createComponent(Match, {\n get when() {\n return action().name === \"transaction-canceled\";\n },\n get children() {\n return createComponent(TransactionCanceledModal, {\n onClose: () => setAction(null),\n id: \"tc-transaction-canceled-modal\"\n });\n }\n }), createComponent(Match, {\n get when() {\n return action().name === \"confirm-transaction\";\n },\n get children() {\n return createComponent(ConfirmTransactionModal, {\n onClose: () => setAction(null),\n id: \"tc-confirm-modal\"\n });\n }\n })];\n }\n });\n }\n });\n};\nconst App = (props) => {\n const translations = createI18nContext(i18nDictionary, appState.language);\n return createComponent(I18nContext.Provider, {\n value: translations,\n get children() {\n return createComponent(TonConnectUiContext.Provider, {\n get value() {\n return props.tonConnectUI;\n },\n get children() {\n return createComponent(ConnectorContext.Provider, {\n get value() {\n return appState.connector;\n },\n get children() {\n return [createComponent(GlobalStyles, {}), createComponent(ThemeProvider, {\n theme: themeState,\n get children() {\n return [createComponent(Show, {\n get when() {\n return appState.buttonRootId;\n },\n get children() {\n return createComponent(Portal, {\n get mount() {\n return document.getElementById(appState.buttonRootId);\n },\n get children() {\n return createComponent(AccountButton, {});\n }\n });\n }\n }), createComponent(WalletsModal, {}), createComponent(ActionsModal, {})];\n }\n })];\n }\n });\n }\n });\n }\n });\n};\nconst widgetController = {\n openWalletsModal: () => void setTimeout(() => setWalletsModalOpen(true)),\n closeWalletsModal: () => void setTimeout(() => setWalletsModalOpen(false)),\n setAction: (action2) => void setTimeout(() => setAction(action2)),\n clearAction: () => void setTimeout(() => setAction(null)),\n getSelectedWalletInfo: () => lastSelectedWalletInfo(),\n renderApp: (root, tonConnectUI) => render(() => createComponent(App, {\n tonConnectUI\n }), document.getElementById(root))\n};\nclass TonConnectUIError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, TonConnectUIError.prototype);\n }\n}\nclass WalletInfoStorage {\n constructor() {\n __publicField(this, \"localStorage\");\n __publicField(this, \"storageKey\", \"ton-connect-ui_wallet-info\");\n if (!localStorage) {\n throw new TonConnectUIError(\n \"window.localStorage is undefined. localStorage is required for TonConnectUI\"\n );\n }\n this.localStorage = localStorage;\n }\n setWalletInfo(walletInfo) {\n this.localStorage.setItem(this.storageKey, JSON.stringify(walletInfo));\n }\n getWalletInfo() {\n const walletInfoString = this.localStorage.getItem(this.storageKey);\n if (!walletInfoString) {\n return null;\n }\n return JSON.parse(walletInfoString);\n }\n removeWalletInfo() {\n this.localStorage.removeItem(this.storageKey);\n }\n}\nclass TonConnectUI {\n constructor(options) {\n __publicField(this, \"walletInfoStorage\", new WalletInfoStorage());\n __publicField(this, \"connector\");\n __publicField(this, \"_walletInfo\", null);\n __publicField(this, \"systemThemeChangeUnsubscribe\", null);\n __publicField(this, \"actionsConfiguration\");\n if (options && \"connector\" in options && options.connector) {\n this.connector = options.connector;\n } else if (options && \"manifestUrl\" in options && options.manifestUrl) {\n this.connector = new TonConnect({\n manifestUrl: options.manifestUrl,\n walletsListSource: options.walletsListSource\n });\n } else {\n throw new TonConnectUIError(\n \"You have to specify a `manifestUrl` or a `connector` in the options.\"\n );\n }\n this.getWallets();\n const rootId = this.normalizeWidgetRoot(options == null ? void 0 : options.widgetRootId);\n this.subscribeToWalletChange();\n if ((options == null ? void 0 : options.restoreConnection) !== false) {\n this.connector.restoreConnection().then(() => {\n if (!this.connector.connected) {\n this.walletInfoStorage.removeWalletInfo();\n }\n });\n }\n this.uiOptions = mergeOptions(options, { uiPreferences: { theme: \"SYSTEM\" } });\n setAppState({ connector: this.connector });\n widgetController.renderApp(rootId, this);\n }\n static getWallets() {\n return TonConnect.getWallets();\n }\n get connected() {\n return this.connector.connected;\n }\n get account() {\n return this.connector.account;\n }\n get wallet() {\n return this.connector.wallet;\n }\n get walletInfo() {\n return this._walletInfo;\n }\n set uiOptions(options) {\n var _a, _b, _c, _d, _e;\n this.checkButtonRootExist(options.buttonRootId);\n this.actionsConfiguration = options.actionsConfiguration;\n if ((_a = options.uiPreferences) == null ? void 0 : _a.theme) {\n if (((_b = options.uiPreferences) == null ? void 0 : _b.theme) !== \"SYSTEM\") {\n (_c = this.systemThemeChangeUnsubscribe) == null ? void 0 : _c.call(this);\n setTheme(options.uiPreferences.theme, options.uiPreferences.colorsSet);\n } else {\n setTheme(getSystemTheme(), options.uiPreferences.colorsSet);\n if (!this.systemThemeChangeUnsubscribe) {\n this.systemThemeChangeUnsubscribe = subscribeToThemeChange(setTheme);\n }\n }\n } else {\n if ((_d = options.uiPreferences) == null ? void 0 : _d.colorsSet) {\n setColors(options.uiPreferences.colorsSet);\n }\n }\n if ((_e = options.uiPreferences) == null ? void 0 : _e.borderRadius) {\n setBorderRadius(options.uiPreferences.borderRadius);\n }\n setAppState((state) => {\n const merged = mergeOptions(\n __spreadValues(__spreadValues({}, options.language && { language: options.language }), !!options.walletsList && { walletsList: options.walletsList }),\n unwrap(state)\n );\n if (options.buttonRootId !== void 0) {\n merged.buttonRootId = options.buttonRootId;\n }\n return merged;\n });\n }\n getWallets() {\n return __async(this, null, function* () {\n return this.connector.getWallets();\n });\n }\n onStatusChange(callback, errorsHandler) {\n return this.connector.onStatusChange((wallet) => {\n if (wallet) {\n const lastSelectedWalletInfo2 = widgetController.getSelectedWalletInfo() || this.walletInfoStorage.getWalletInfo();\n callback(__spreadValues(__spreadValues({}, wallet), lastSelectedWalletInfo2));\n } else {\n callback(wallet);\n }\n }, errorsHandler);\n }\n connectWallet() {\n return __async(this, null, function* () {\n const walletsList = yield this.getWallets();\n const embeddedWallet = walletsList.find(\n (wallet) => \"embedded\" in wallet && wallet.embedded\n );\n if (embeddedWallet) {\n setLastSelectedWalletInfo(embeddedWallet);\n this.connector.connect({ jsBridgeKey: embeddedWallet.jsBridgeKey });\n } else {\n widgetController.openWalletsModal();\n }\n return new Promise((resolve, reject) => {\n const unsubscribe = this.connector.onStatusChange((wallet) => {\n unsubscribe();\n if (wallet) {\n const lastSelectedWalletInfo2 = widgetController.getSelectedWalletInfo() || this.walletInfoStorage.getWalletInfo();\n resolve(__spreadValues(__spreadValues({}, wallet), lastSelectedWalletInfo2));\n } else {\n reject(new TonConnectUIError(\"Wallet was not connected\"));\n }\n }, reject);\n });\n });\n }\n disconnect() {\n this.walletInfoStorage.removeWalletInfo();\n return this.connector.disconnect();\n }\n sendTransaction(tx, options) {\n return __async(this, null, function* () {\n if (!this.connected || !this.walletInfo) {\n throw new TonConnectUIError(\"Connect wallet to send a transaction.\");\n }\n if (!isDevice(\"desktop\") && \"universalLink\" in this.walletInfo) {\n openLink(this.walletInfo.universalLink);\n }\n const { notifications: notifications2, modals } = this.getModalsAndNotificationsConfiguration(options);\n widgetController.setAction({\n name: \"confirm-transaction\",\n showNotification: notifications2.includes(\"before\"),\n openModal: modals.includes(\"before\")\n });\n try {\n const result = yield this.connector.sendTransaction(tx);\n widgetController.setAction({\n name: \"transaction-sent\",\n showNotification: notifications2.includes(\"success\"),\n openModal: modals.includes(\"success\")\n });\n return result;\n } catch (e2) {\n widgetController.setAction({\n name: \"transaction-canceled\",\n showNotification: notifications2.includes(\"error\"),\n openModal: modals.includes(\"error\")\n });\n if (e2 instanceof TonConnectError) {\n throw e2;\n } else {\n console.error(e2);\n throw new TonConnectUIError(\"Unhandled error:\" + e2);\n }\n }\n });\n }\n subscribeToWalletChange() {\n this.connector.onStatusChange((wallet) => {\n if (wallet) {\n this.updateWalletInfo();\n } else {\n this.walletInfoStorage.removeWalletInfo();\n }\n });\n }\n updateWalletInfo() {\n const lastSelectedWalletInfo2 = widgetController.getSelectedWalletInfo();\n if (lastSelectedWalletInfo2) {\n this._walletInfo = lastSelectedWalletInfo2;\n this.walletInfoStorage.setWalletInfo(lastSelectedWalletInfo2);\n } else {\n this._walletInfo = this.walletInfoStorage.getWalletInfo();\n }\n }\n normalizeWidgetRoot(rootId) {\n if (!rootId || !document.getElementById(rootId)) {\n rootId = \"tc-widget-root\";\n const rootElement = document.createElement(\"div\");\n rootElement.id = rootId;\n document.body.appendChild(rootElement);\n }\n return rootId;\n }\n checkButtonRootExist(buttonRootId) {\n if (buttonRootId == null) {\n return;\n }\n if (!document.getElementById(buttonRootId)) {\n throw new TonConnectUIError(`${buttonRootId} element not found in the document.`);\n }\n }\n getModalsAndNotificationsConfiguration(options) {\n var _a, _b, _c;\n const allActions = [\n \"before\",\n \"success\",\n \"error\"\n ];\n let notifications2 = allActions;\n if (((_a = this.actionsConfiguration) == null ? void 0 : _a.notifications) && ((_b = this.actionsConfiguration) == null ? void 0 : _b.notifications) !== \"all\") {\n notifications2 = this.actionsConfiguration.notifications;\n }\n if (options == null ? void 0 : options.notifications) {\n if (options.notifications === \"all\") {\n notifications2 = allActions;\n } else {\n notifications2 = options.notifications;\n }\n }\n let modals = [\"before\"];\n if ((_c = this.actionsConfiguration) == null ? void 0 : _c.modals) {\n if (this.actionsConfiguration.modals === \"all\") {\n modals = allActions;\n } else {\n modals = this.actionsConfiguration.modals;\n }\n }\n if (options == null ? void 0 : options.modals) {\n if (options.modals === \"all\") {\n modals = allActions;\n } else {\n modals = options.modals;\n }\n }\n return {\n notifications: notifications2,\n modals\n };\n }\n}\nexport {\n THEME,\n TonConnectUI,\n TonConnectUIError,\n TonConnectUI as default\n};\n//# sourceMappingURL=index.js.map\n","import { createContext, FunctionComponent, memo } from 'react';\nimport {\n ActionConfiguration,\n Locales,\n Theme,\n TonConnectUI,\n UIPreferences,\n WalletsListConfiguration\n} from '@tonconnect/ui';\nimport { ITonConnect } from '@tonconnect/sdk';\n\nexport const TonConnectUIContext = createContext<TonConnectUI | null>(null);\n\nexport type TonConnectUIProviderProps = {\n children: JSX.Element;\n} & Partial<TonConnectUIProviderPropsBase> &\n Partial<TonConnectUIProviderPropsWithManifest | TonConnectUIProviderPropsWithConnector>;\n\nexport interface TonConnectUIProviderPropsWithManifest {\n /**\n * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet.\n * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken.\n */\n manifestUrl: string;\n}\n\nexport interface TonConnectUIProviderPropsWithConnector {\n /**\n * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app.\n */\n connector: ITonConnect;\n}\n\nexport interface TonConnectUIProviderPropsBase {\n /**\n * Try to restore existing session and reconnect to the corresponding wallet.\n * @default true.\n */\n restoreConnection: boolean;\n\n /**\n * Color theme for the UI elements.\n * @default SYSTEM theme.\n */\n theme: Theme;\n\n /**\n * Language for the phrases it the UI elements.\n * @default system\n */\n language: Locales;\n\n /**\n * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the <body> will be added and used.\n * @default `div#tc-widget-root`.\n */\n widgetRootId: string;\n\n /**\n * UI elements configuration.\n */\n uiPreferences?: UIPreferences;\n\n /**\n * Configuration for the wallets list in the connect wallet modal.\n */\n walletsList?: WalletsListConfiguration;\n\n /**\n * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications.\n */\n actionsConfiguration?: ActionConfiguration;\n\n /**\n * @deprecated Don't use it\n */\n walletsListSource?: string;\n}\n\nlet tonConnectUI: TonConnectUI | null = null;\n\n/**\n * Add TonConnectUIProvider to the root of the app. You can specify UI options using props.\n * All TonConnect UI hooks calls and `<TonConnectButton />` component must be placed inside `<TonConnectUIProvider>`.\n * @param children JSX to insert.\n * @param [options] additional options.\n * @constructor\n */\nconst TonConnectUIProvider: FunctionComponent<TonConnectUIProviderProps> = ({\n children,\n ...options\n}) => {\n if (!tonConnectUI) {\n tonConnectUI = new TonConnectUI(options);\n }\n\n return (\n <TonConnectUIContext.Provider value={tonConnectUI}>{children}</TonConnectUIContext.Provider>\n );\n};\n\nexport default memo(TonConnectUIProvider);\n","import { TonConnectUIError } from '@tonconnect/ui';\n\n/**\n * Base class for TonConnectUIReact errors. You can check if the error was triggered by the @tonconnect/ui-react using `err instanceof TonConnectUIReactError`.\n */\nexport class TonConnectUIReactError extends TonConnectUIError {\n constructor(...args: ConstructorParameters<typeof Error>) {\n super(...args);\n\n Object.setPrototypeOf(this, TonConnectUIReactError.prototype);\n }\n}\n","import { TonConnectUIReactError } from './ton-connect-ui-react.error';\n\n/**\n * Thrown when either <TonConnectProvider> not added to the top of the tags tree,\n * either there is an attempt using TonConnect UI hook or <TonConnectButton> inside <TonConnectProvider>\n */\nexport class TonConnectProviderNotSetError extends TonConnectUIReactError {\n constructor(...args: ConstructorParameters<typeof Error>) {\n super(...args);\n\n Object.setPrototypeOf(this, TonConnectProviderNotSetError.prototype);\n }\n}\n","import { TonConnectUI } from '@tonconnect/ui';\nimport { TonConnectProviderNotSetError } from '../errors/ton-connect-provider-not-set.error';\n\nexport function checkProvider(provider: TonConnectUI | null): provider is TonConnectUI {\n if (!provider) {\n throw new TonConnectProviderNotSetError(\n 'You should add <TonConnectUIProvider> on the top of the app to use TonConnect'\n );\n }\n\n return true;\n}\n","import { useContext } from 'react';\nimport { TonConnectUIContext } from '../components/TonConnectUIProvider';\nimport { TonConnectUI, TonConnectUiOptions } from '@tonconnect/ui';\nimport { checkProvider } from '../utils/errors';\n\n/**\n * Use it to get access to the `TonConnectUI` instance and UI options updating function.\n */\nexport function useTonConnectUI(): [TonConnectUI, (options: TonConnectUiOptions) => void] {\n const tonConnectUI = useContext(TonConnectUIContext);\n checkProvider(tonConnectUI);\n const setOptions = (options: TonConnectUiOptions) => void (tonConnectUI!.uiOptions = options);\n return [tonConnectUI!, setOptions];\n}\n","import { CSSProperties, FunctionComponent, memo, useEffect } from 'react';\nimport { useTonConnectUI } from '../hooks/useTonConnectUI';\n\nconst buttonRootId = 'ton-connect-button';\n\nexport interface TonConnectButtonProps {\n className?: string;\n\n style?: CSSProperties;\n}\n\n/**\n * TonConnect Button is universal UI component for initializing connection. After wallet is connected it transforms to a wallet menu.\n * It is recommended to place it in the top right corner of your app.\n * @param [className] css class to add to the button container.\n * @param [style] style to add to the button container.\n * @constructor\n */\nconst TonConnectButton: FunctionComponent<TonConnectButtonProps> = ({ className, style }) => {\n const [_, setOptions] = useTonConnectUI();\n\n useEffect(() => {\n setOptions({ buttonRootId });\n }, []);\n\n return <div id={buttonRootId} className={className} style={style}></div>;\n};\n\nexport default memo(TonConnectButton);\n","import { useTonConnectUI } from './useTonConnectUI';\nimport { Wallet, WalletInfo } from '@tonconnect/sdk';\nimport { useEffect, useState } from 'react';\n\n/**\n * Use it to get user's current ton wallet. If wallet is not connected hook will return null.\n */\nexport function useTonWallet(): (Wallet & WalletInfo) | null {\n const [tonConnectUI] = useTonConnectUI();\n const [wallet, setWallet] = useState<(Wallet & WalletInfo) | null>(\n () => tonConnectUI.wallet && { ...tonConnectUI.wallet, ...tonConnectUI.walletInfo! }\n );\n\n useEffect(\n () =>\n tonConnectUI.onStatusChange(value => {\n setWallet(value);\n }),\n [tonConnectUI]\n );\n\n return wallet;\n}\n","/**\n * Base class for TonConnect errors. You can check if the error was triggered by the @tonconnect/sdk using `err instanceof TonConnectError`.\n */\nexport class TonConnectError extends Error {\n constructor(message, options) {\n if (message) {\n message = TonConnectError.prefix + ' ' + message;\n }\n super(message, options);\n Object.setPrototypeOf(this, TonConnectError.prototype);\n }\n}\nTonConnectError.prefix = '[TON_CONNECT_SDK_ERROR]';\n","import { TonConnectError } from \"../../../ton-connect.error\";\n/**\n * Thrown when passed manifest contains errors.\n */\nexport class ManifestContentErrorError extends TonConnectError {\n constructor(message) {\n super(message || '' + ManifestContentErrorError.additionalMessage);\n Object.setPrototypeOf(this, ManifestContentErrorError.prototype);\n }\n}\nManifestContentErrorError.additionalMessage = '\\nPassed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest';\n","import { TonConnectError } from \"../../../ton-connect.error\";\n/**\n * Thrown when wallet can't get manifest by passed manifestUrl.\n */\nexport class ManifestNotFoundError extends TonConnectError {\n constructor(message) {\n super(message || '' + ManifestNotFoundError.additionalMessage);\n Object.setPrototypeOf(this, ManifestNotFoundError.prototype);\n }\n}\nManifestNotFoundError.additionalMessage = '\\nManifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest';\n","import { TonConnectError } from \"../../../ton-connect.error\";\n/**\n * Thrown when user rejects the action in the wallet.\n */\nexport class UserRejectsError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UserRejectsError.prototype);\n }\n}\n","import { TonConnectError } from \"../../ton-connect.error\";\n/**\n * Thrown when request to the wallet contains errors.\n */\nexport class BadRequestError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, BadRequestError.prototype);\n }\n}\n","import { TonConnectError } from \"../../ton-connect.error\";\n/**\n * Thrown when app tries to send rpc request to the injected wallet while not connected.\n */\nexport class UnknownAppError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownAppError.prototype);\n }\n}\n","import { TonConnectError } from \"../ton-connect.error\";\n/**\n * Thrown when passed address is in incorrect format.\n */\nexport class WrongAddressError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WrongAddressError.prototype);\n }\n}\n","import { TonConnectError } from \"../ton-connect.error\";\n/**\n * Thrown when passed hex is in incorrect format.\n */\nexport class ParseHexError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, ParseHexError.prototype);\n }\n}\n","import { TonConnectError } from \"./ton-connect.error\";\n/**\n * Unhanded unknown error.\n */\nexport class UnknownError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownError.prototype);\n }\n}\n","export var CONNECT_EVENT_ERROR_CODES;\n(function (CONNECT_EVENT_ERROR_CODES) {\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"MANIFEST_NOT_FOUND_ERROR\"] = 2] = \"MANIFEST_NOT_FOUND_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"MANIFEST_CONTENT_ERROR\"] = 3] = \"MANIFEST_CONTENT_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_EVENT_ERROR_CODES || (CONNECT_EVENT_ERROR_CODES = {}));\nexport var CONNECT_ITEM_ERROR_CODES;\n(function (CONNECT_ITEM_ERROR_CODES) {\n CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_ITEM_ERROR_CODES || (CONNECT_ITEM_ERROR_CODES = {}));\n","export var SEND_TRANSACTION_ERROR_CODES;\n(function (SEND_TRANSACTION_ERROR_CODES) {\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(SEND_TRANSACTION_ERROR_CODES || (SEND_TRANSACTION_ERROR_CODES = {}));\n","export var CHAIN;\n(function (CHAIN) {\n CHAIN[\"MAINNET\"] = \"-239\";\n CHAIN[\"TESTNET\"] = \"-3\";\n})(CHAIN || (CHAIN = {}));\n","// Written in 2014-2016 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n(function(root, f) {\n 'use strict';\n if (typeof module !== 'undefined' && module.exports) module.exports = f();\n else if (root.nacl) root.nacl.util = f();\n else {\n root.nacl = {};\n root.nacl.util = f();\n }\n}(this, function() {\n 'use strict';\n\n var util = {};\n\n function validateBase64(s) {\n if (!(/^(?:[A-Za-z0-9+\\/]{2}[A-Za-z0-9+\\/]{2})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/.test(s))) {\n throw new TypeError('invalid encoding');\n }\n }\n\n util.decodeUTF8 = function(s) {\n if (typeof s !== 'string') throw new TypeError('expected string');\n var i, d = unescape(encodeURIComponent(s)), b = new Uint8Array(d.length);\n for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i);\n return b;\n };\n\n util.encodeUTF8 = function(arr) {\n var i, s = [];\n for (i = 0; i < arr.length; i++) s.push(String.fromCharCode(arr[i]));\n return decodeURIComponent(escape(s.join('')));\n };\n\n if (typeof atob === 'undefined') {\n // Node.js\n\n if (typeof Buffer.from !== 'undefined') {\n // Node v6 and later\n util.encodeBase64 = function (arr) { // v6 and later\n return Buffer.from(arr).toString('base64');\n };\n\n util.decodeBase64 = function (s) {\n validateBase64(s);\n return new Uint8Array(Array.prototype.slice.call(Buffer.from(s, 'base64'), 0));\n };\n\n } else {\n // Node earlier than v6\n util.encodeBase64 = function (arr) { // v6 and later\n return (new Buffer(arr)).toString('base64');\n };\n\n util.decodeBase64 = function(s) {\n validateBase64(s);\n return new Uint8Array(Array.prototype.slice.call(new Buffer(s, 'base64'), 0));\n };\n }\n\n } else {\n // Browsers\n\n util.encodeBase64 = function(arr) {\n var i, s = [], len = arr.length;\n for (i = 0; i < len; i++) s.push(String.fromCharCode(arr[i]));\n return btoa(s.join(''));\n };\n\n util.decodeBase64 = function(s) {\n validateBase64(s);\n var i, d = atob(s), b = new Uint8Array(d.length);\n for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i);\n return b;\n };\n\n }\n\n return util;\n\n}));\n","import nacl from 'tweetnacl-util';\nfunction encodeUint8Array(value, urlSafe) {\n const encoded = nacl.encodeBase64(value);\n if (!urlSafe) {\n return encoded;\n }\n return encodeURIComponent(encoded);\n}\nfunction decodeToUint8Array(value, urlSafe) {\n if (urlSafe) {\n value = decodeURIComponent(value);\n }\n return nacl.decodeBase64(value);\n}\nfunction encode(value, urlSafe = false) {\n let uint8Array;\n if (value instanceof Uint8Array) {\n uint8Array = value;\n }\n else {\n if (typeof value !== 'string') {\n value = JSON.stringify(value);\n }\n uint8Array = nacl.decodeUTF8(value);\n }\n return encodeUint8Array(uint8Array, urlSafe);\n}\nfunction decode(value, urlSafe = false) {\n const decodedUint8Array = decodeToUint8Array(value, urlSafe);\n return {\n toString() {\n return nacl.encodeUTF8(decodedUint8Array);\n },\n toObject() {\n try {\n return JSON.parse(nacl.encodeUTF8(decodedUint8Array));\n }\n catch (e) {\n return null;\n }\n },\n toUint8Array() {\n return decodedUint8Array;\n }\n };\n}\nexport const Base64 = {\n encode,\n decode\n};\n","export function isNode() {\n return (typeof process !== 'undefined' && process.versions != null && process.versions.node != null);\n}\n","export default {}","(function(nacl) {\n'use strict';\n\n// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n//\n// Implementation derived from TweetNaCl version 20140427.\n// See for details: http://tweetnacl.cr.yp.to/\n\nvar gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for (i = 0; i < init.length; i++) r[i] = init[i];\n return r;\n};\n\n// Pluggable, initialized in high-level API below.\nvar randombytes = function(/* x, n */) { throw new Error('no PRNG'); };\n\nvar _0 = new Uint8Array(16);\nvar _9 = new Uint8Array(32); _9[0] = 9;\n\nvar gf0 = gf(),\n gf1 = gf([1]),\n _121665 = gf([0xdb41, 1]),\n D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\nfunction ts64(x, i, h, l) {\n x[i] = (h >> 24) & 0xff;\n x[i+1] = (h >> 16) & 0xff;\n x[i+2] = (h >> 8) & 0xff;\n x[i+3] = h & 0xff;\n x[i+4] = (l >> 24) & 0xff;\n x[i+5] = (l >> 16) & 0xff;\n x[i+6] = (l >> 8) & 0xff;\n x[i+7] = l & 0xff;\n}\n\nfunction vn(x, xi, y, yi, n) {\n var i,d = 0;\n for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i];\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\nfunction crypto_verify_16(x, xi, y, yi) {\n return vn(x,xi,y,yi,16);\n}\n\nfunction crypto_verify_32(x, xi, y, yi) {\n return vn(x,xi,y,yi,32);\n}\n\nfunction core_salsa20(o, p, k, c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24,\n j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24,\n j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24,\n j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24,\n j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24,\n j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24,\n j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24,\n j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24;\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u<<7 | u>>>(32-7);\n u = x4 + x0 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x4 | 0;\n x12 ^= u<<13 | u>>>(32-13);\n u = x12 + x8 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x1 | 0;\n x9 ^= u<<7 | u>>>(32-7);\n u = x9 + x5 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x9 | 0;\n x1 ^= u<<13 | u>>>(32-13);\n u = x1 + x13 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x6 | 0;\n x14 ^= u<<7 | u>>>(32-7);\n u = x14 + x10 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x14 | 0;\n x6 ^= u<<13 | u>>>(32-13);\n u = x6 + x2 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x11 | 0;\n x3 ^= u<<7 | u>>>(32-7);\n u = x3 + x15 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x3 | 0;\n x11 ^= u<<13 | u>>>(32-13);\n u = x11 + x7 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n\n u = x0 + x3 | 0;\n x1 ^= u<<7 | u>>>(32-7);\n u = x1 + x0 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x1 | 0;\n x3 ^= u<<13 | u>>>(32-13);\n u = x3 + x2 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x4 | 0;\n x6 ^= u<<7 | u>>>(32-7);\n u = x6 + x5 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x6 | 0;\n x4 ^= u<<13 | u>>>(32-13);\n u = x4 + x7 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x9 | 0;\n x11 ^= u<<7 | u>>>(32-7);\n u = x11 + x10 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x11 | 0;\n x9 ^= u<<13 | u>>>(32-13);\n u = x9 + x8 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x14 | 0;\n x12 ^= u<<7 | u>>>(32-7);\n u = x12 + x15 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x12 | 0;\n x14 ^= u<<13 | u>>>(32-13);\n u = x14 + x13 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n }\n x0 = x0 + j0 | 0;\n x1 = x1 + j1 | 0;\n x2 = x2 + j2 | 0;\n x3 = x3 + j3 | 0;\n x4 = x4 + j4 | 0;\n x5 = x5 + j5 | 0;\n x6 = x6 + j6 | 0;\n x7 = x7 + j7 | 0;\n x8 = x8 + j8 | 0;\n x9 = x9 + j9 | 0;\n x10 = x10 + j10 | 0;\n x11 = x11 + j11 | 0;\n x12 = x12 + j12 | 0;\n x13 = x13 + j13 | 0;\n x14 = x14 + j14 | 0;\n x15 = x15 + j15 | 0;\n\n o[ 0] = x0 >>> 0 & 0xff;\n o[ 1] = x0 >>> 8 & 0xff;\n o[ 2] = x0 >>> 16 & 0xff;\n o[ 3] = x0 >>> 24 & 0xff;\n\n o[ 4] = x1 >>> 0 & 0xff;\n o[ 5] = x1 >>> 8 & 0xff;\n o[ 6] = x1 >>> 16 & 0xff;\n o[ 7] = x1 >>> 24 & 0xff;\n\n o[ 8] = x2 >>> 0 & 0xff;\n o[ 9] = x2 >>> 8 & 0xff;\n o[10] = x2 >>> 16 & 0xff;\n o[11] = x2 >>> 24 & 0xff;\n\n o[12] = x3 >>> 0 & 0xff;\n o[13] = x3 >>> 8 & 0xff;\n o[14] = x3 >>> 16 & 0xff;\n o[15] = x3 >>> 24 & 0xff;\n\n o[16] = x4 >>> 0 & 0xff;\n o[17] = x4 >>> 8 & 0xff;\n o[18] = x4 >>> 16 & 0xff;\n o[19] = x4 >>> 24 & 0xff;\n\n o[20] = x5 >>> 0 & 0xff;\n o[21] = x5 >>> 8 & 0xff;\n o[22] = x5 >>> 16 & 0xff;\n o[23] = x5 >>> 24 & 0xff;\n\n o[24] = x6 >>> 0 & 0xff;\n o[25] = x6 >>> 8 & 0xff;\n o[26] = x6 >>> 16 & 0xff;\n o[27] = x6 >>> 24 & 0xff;\n\n o[28] = x7 >>> 0 & 0xff;\n o[29] = x7 >>> 8 & 0xff;\n o[30] = x7 >>> 16 & 0xff;\n o[31] = x7 >>> 24 & 0xff;\n\n o[32] = x8 >>> 0 & 0xff;\n o[33] = x8 >>> 8 & 0xff;\n o[34] = x8 >>> 16 & 0xff;\n o[35] = x8 >>> 24 & 0xff;\n\n o[36] = x9 >>> 0 & 0xff;\n o[37] = x9 >>> 8 & 0xff;\n o[38] = x9 >>> 16 & 0xff;\n o[39] = x9 >>> 24 & 0xff;\n\n o[40] = x10 >>> 0 & 0xff;\n o[41] = x10 >>> 8 & 0xff;\n o[42] = x10 >>> 16 & 0xff;\n o[43] = x10 >>> 24 & 0xff;\n\n o[44] = x11 >>> 0 & 0xff;\n o[45] = x11 >>> 8 & 0xff;\n o[46] = x11 >>> 16 & 0xff;\n o[47] = x11 >>> 24 & 0xff;\n\n o[48] = x12 >>> 0 & 0xff;\n o[49] = x12 >>> 8 & 0xff;\n o[50] = x12 >>> 16 & 0xff;\n o[51] = x12 >>> 24 & 0xff;\n\n o[52] = x13 >>> 0 & 0xff;\n o[53] = x13 >>> 8 & 0xff;\n o[54] = x13 >>> 16 & 0xff;\n o[55] = x13 >>> 24 & 0xff;\n\n o[56] = x14 >>> 0 & 0xff;\n o[57] = x14 >>> 8 & 0xff;\n o[58] = x14 >>> 16 & 0xff;\n o[59] = x14 >>> 24 & 0xff;\n\n o[60] = x15 >>> 0 & 0xff;\n o[61] = x15 >>> 8 & 0xff;\n o[62] = x15 >>> 16 & 0xff;\n o[63] = x15 >>> 24 & 0xff;\n}\n\nfunction core_hsalsa20(o,p,k,c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24,\n j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24,\n j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24,\n j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24,\n j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24,\n j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24,\n j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24,\n j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24;\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u<<7 | u>>>(32-7);\n u = x4 + x0 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x4 | 0;\n x12 ^= u<<13 | u>>>(32-13);\n u = x12 + x8 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x1 | 0;\n x9 ^= u<<7 | u>>>(32-7);\n u = x9 + x5 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x9 | 0;\n x1 ^= u<<13 | u>>>(32-13);\n u = x1 + x13 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x6 | 0;\n x14 ^= u<<7 | u>>>(32-7);\n u = x14 + x10 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x14 | 0;\n x6 ^= u<<13 | u>>>(32-13);\n u = x6 + x2 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x11 | 0;\n x3 ^= u<<7 | u>>>(32-7);\n u = x3 + x15 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x3 | 0;\n x11 ^= u<<13 | u>>>(32-13);\n u = x11 + x7 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n\n u = x0 + x3 | 0;\n x1 ^= u<<7 | u>>>(32-7);\n u = x1 + x0 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x1 | 0;\n x3 ^= u<<13 | u>>>(32-13);\n u = x3 + x2 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x4 | 0;\n x6 ^= u<<7 | u>>>(32-7);\n u = x6 + x5 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x6 | 0;\n x4 ^= u<<13 | u>>>(32-13);\n u = x4 + x7 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x9 | 0;\n x11 ^= u<<7 | u>>>(32-7);\n u = x11 + x10 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x11 | 0;\n x9 ^= u<<13 | u>>>(32-13);\n u = x9 + x8 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x14 | 0;\n x12 ^= u<<7 | u>>>(32-7);\n u = x12 + x15 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x12 | 0;\n x14 ^= u<<13 | u>>>(32-13);\n u = x14 + x13 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n }\n\n o[ 0] = x0 >>> 0 & 0xff;\n o[ 1] = x0 >>> 8 & 0xff;\n o[ 2] = x0 >>> 16 & 0xff;\n o[ 3] = x0 >>> 24 & 0xff;\n\n o[ 4] = x5 >>> 0 & 0xff;\n o[ 5] = x5 >>> 8 & 0xff;\n o[ 6] = x5 >>> 16 & 0xff;\n o[ 7] = x5 >>> 24 & 0xff;\n\n o[ 8] = x10 >>> 0 & 0xff;\n o[ 9] = x10 >>> 8 & 0xff;\n o[10] = x10 >>> 16 & 0xff;\n o[11] = x10 >>> 24 & 0xff;\n\n o[12] = x15 >>> 0 & 0xff;\n o[13] = x15 >>> 8 & 0xff;\n o[14] = x15 >>> 16 & 0xff;\n o[15] = x15 >>> 24 & 0xff;\n\n o[16] = x6 >>> 0 & 0xff;\n o[17] = x6 >>> 8 & 0xff;\n o[18] = x6 >>> 16 & 0xff;\n o[19] = x6 >>> 24 & 0xff;\n\n o[20] = x7 >>> 0 & 0xff;\n o[21] = x7 >>> 8 & 0xff;\n o[22] = x7 >>> 16 & 0xff;\n o[23] = x7 >>> 24 & 0xff;\n\n o[24] = x8 >>> 0 & 0xff;\n o[25] = x8 >>> 8 & 0xff;\n o[26] = x8 >>> 16 & 0xff;\n o[27] = x8 >>> 24 & 0xff;\n\n o[28] = x9 >>> 0 & 0xff;\n o[29] = x9 >>> 8 & 0xff;\n o[30] = x9 >>> 16 & 0xff;\n o[31] = x9 >>> 24 & 0xff;\n}\n\nfunction crypto_core_salsa20(out,inp,k,c) {\n core_salsa20(out,inp,k,c);\n}\n\nfunction crypto_core_hsalsa20(out,inp,k,c) {\n core_hsalsa20(out,inp,k,c);\n}\n\nvar sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);\n // \"expand 32-byte k\"\n\nfunction crypto_stream_salsa20_xor(c,cpos,m,mpos,b,n,k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n for (i = 0; i < 16; i++) z[i] = 0;\n for (i = 0; i < 8; i++) z[i] = n[i];\n while (b >= 64) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < 64; i++) c[cpos+i] = m[mpos+i] ^ x[i];\n u = 1;\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < b; i++) c[cpos+i] = m[mpos+i] ^ x[i];\n }\n return 0;\n}\n\nfunction crypto_stream_salsa20(c,cpos,b,n,k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n for (i = 0; i < 16; i++) z[i] = 0;\n for (i = 0; i < 8; i++) z[i] = n[i];\n while (b >= 64) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < 64; i++) c[cpos+i] = x[i];\n u = 1;\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < b; i++) c[cpos+i] = x[i];\n }\n return 0;\n}\n\nfunction crypto_stream(c,cpos,d,n,k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s,n,k,sigma);\n var sn = new Uint8Array(8);\n for (var i = 0; i < 8; i++) sn[i] = n[i+16];\n return crypto_stream_salsa20(c,cpos,d,sn,s);\n}\n\nfunction crypto_stream_xor(c,cpos,m,mpos,d,n,k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s,n,k,sigma);\n var sn = new Uint8Array(8);\n for (var i = 0; i < 8; i++) sn[i] = n[i+16];\n return crypto_stream_salsa20_xor(c,cpos,m,mpos,d,sn,s);\n}\n\n/*\n* Port of Andrew Moon's Poly1305-donna-16. Public domain.\n* https://github.com/floodyberry/poly1305-donna\n*/\n\nvar poly1305 = function(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n\n var t0, t1, t2, t3, t4, t5, t6, t7;\n\n t0 = key[ 0] & 0xff | (key[ 1] & 0xff) << 8; this.r[0] = ( t0 ) & 0x1fff;\n t1 = key[ 2] & 0xff | (key[ 3] & 0xff) << 8; this.r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = key[ 4] & 0xff | (key[ 5] & 0xff) << 8; this.r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n t3 = key[ 6] & 0xff | (key[ 7] & 0xff) << 8; this.r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = key[ 8] & 0xff | (key[ 9] & 0xff) << 8; this.r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this.r[5] = ((t4 >>> 1)) & 0x1ffe;\n t5 = key[10] & 0xff | (key[11] & 0xff) << 8; this.r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = key[12] & 0xff | (key[13] & 0xff) << 8; this.r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n t7 = key[14] & 0xff | (key[15] & 0xff) << 8; this.r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this.r[9] = ((t7 >>> 5)) & 0x007f;\n\n this.pad[0] = key[16] & 0xff | (key[17] & 0xff) << 8;\n this.pad[1] = key[18] & 0xff | (key[19] & 0xff) << 8;\n this.pad[2] = key[20] & 0xff | (key[21] & 0xff) << 8;\n this.pad[3] = key[22] & 0xff | (key[23] & 0xff) << 8;\n this.pad[4] = key[24] & 0xff | (key[25] & 0xff) << 8;\n this.pad[5] = key[26] & 0xff | (key[27] & 0xff) << 8;\n this.pad[6] = key[28] & 0xff | (key[29] & 0xff) << 8;\n this.pad[7] = key[30] & 0xff | (key[31] & 0xff) << 8;\n};\n\npoly1305.prototype.blocks = function(m, mpos, bytes) {\n var hibit = this.fin ? 0 : (1 << 11);\n var t0, t1, t2, t3, t4, t5, t6, t7, c;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n\n var h0 = this.h[0],\n h1 = this.h[1],\n h2 = this.h[2],\n h3 = this.h[3],\n h4 = this.h[4],\n h5 = this.h[5],\n h6 = this.h[6],\n h7 = this.h[7],\n h8 = this.h[8],\n h9 = this.h[9];\n\n var r0 = this.r[0],\n r1 = this.r[1],\n r2 = this.r[2],\n r3 = this.r[3],\n r4 = this.r[4],\n r5 = this.r[5],\n r6 = this.r[6],\n r7 = this.r[7],\n r8 = this.r[8],\n r9 = this.r[9];\n\n while (bytes >= 16) {\n t0 = m[mpos+ 0] & 0xff | (m[mpos+ 1] & 0xff) << 8; h0 += ( t0 ) & 0x1fff;\n t1 = m[mpos+ 2] & 0xff | (m[mpos+ 3] & 0xff) << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = m[mpos+ 4] & 0xff | (m[mpos+ 5] & 0xff) << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n t3 = m[mpos+ 6] & 0xff | (m[mpos+ 7] & 0xff) << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = m[mpos+ 8] & 0xff | (m[mpos+ 9] & 0xff) << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n t5 = m[mpos+10] & 0xff | (m[mpos+11] & 0xff) << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = m[mpos+12] & 0xff | (m[mpos+13] & 0xff) << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n t7 = m[mpos+14] & 0xff | (m[mpos+15] & 0xff) << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n c = 0;\n\n d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n};\n\npoly1305.prototype.finish = function(mac, macpos) {\n var g = new Uint16Array(10);\n var c, mask, f, i;\n\n if (this.leftover) {\n i = this.leftover;\n this.buffer[i++] = 1;\n for (; i < 16; i++) this.buffer[i] = 0;\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this.h[i] += c;\n c = this.h[i] >>> 13;\n this.h[i] &= 0x1fff;\n }\n this.h[0] += (c * 5);\n c = this.h[0] >>> 13;\n this.h[0] &= 0x1fff;\n this.h[1] += c;\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n this.h[2] += c;\n\n g[0] = this.h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this.h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) g[i] &= mask;\n mask = ~mask;\n for (i = 0; i < 10; i++) this.h[i] = (this.h[i] & mask) | g[i];\n\n this.h[0] = ((this.h[0] ) | (this.h[1] << 13) ) & 0xffff;\n this.h[1] = ((this.h[1] >>> 3) | (this.h[2] << 10) ) & 0xffff;\n this.h[2] = ((this.h[2] >>> 6) | (this.h[3] << 7) ) & 0xffff;\n this.h[3] = ((this.h[3] >>> 9) | (this.h[4] << 4) ) & 0xffff;\n this.h[4] = ((this.h[4] >>> 12) | (this.h[5] << 1) | (this.h[6] << 14)) & 0xffff;\n this.h[5] = ((this.h[6] >>> 2) | (this.h[7] << 11) ) & 0xffff;\n this.h[6] = ((this.h[7] >>> 5) | (this.h[8] << 8) ) & 0xffff;\n this.h[7] = ((this.h[8] >>> 8) | (this.h[9] << 5) ) & 0xffff;\n\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this.h[i] + this.pad[i]) | 0) + (f >>> 16)) | 0;\n this.h[i] = f & 0xffff;\n }\n\n mac[macpos+ 0] = (this.h[0] >>> 0) & 0xff;\n mac[macpos+ 1] = (this.h[0] >>> 8) & 0xff;\n mac[macpos+ 2] = (this.h[1] >>> 0) & 0xff;\n mac[macpos+ 3] = (this.h[1] >>> 8) & 0xff;\n mac[macpos+ 4] = (this.h[2] >>> 0) & 0xff;\n mac[macpos+ 5] = (this.h[2] >>> 8) & 0xff;\n mac[macpos+ 6] = (this.h[3] >>> 0) & 0xff;\n mac[macpos+ 7] = (this.h[3] >>> 8) & 0xff;\n mac[macpos+ 8] = (this.h[4] >>> 0) & 0xff;\n mac[macpos+ 9] = (this.h[4] >>> 8) & 0xff;\n mac[macpos+10] = (this.h[5] >>> 0) & 0xff;\n mac[macpos+11] = (this.h[5] >>> 8) & 0xff;\n mac[macpos+12] = (this.h[6] >>> 0) & 0xff;\n mac[macpos+13] = (this.h[6] >>> 8) & 0xff;\n mac[macpos+14] = (this.h[7] >>> 0) & 0xff;\n mac[macpos+15] = (this.h[7] >>> 8) & 0xff;\n};\n\npoly1305.prototype.update = function(m, mpos, bytes) {\n var i, want;\n\n if (this.leftover) {\n want = (16 - this.leftover);\n if (want > bytes)\n want = bytes;\n for (i = 0; i < want; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16)\n return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (i = 0; i < bytes; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n this.leftover += bytes;\n }\n};\n\nfunction crypto_onetimeauth(out, outpos, m, mpos, n, k) {\n var s = new poly1305(k);\n s.update(m, mpos, n);\n s.finish(out, outpos);\n return 0;\n}\n\nfunction crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x,0,m,mpos,n,k);\n return crypto_verify_16(h,hpos,x,0);\n}\n\nfunction crypto_secretbox(c,m,d,n,k) {\n var i;\n if (d < 32) return -1;\n crypto_stream_xor(c,0,m,0,d,n,k);\n crypto_onetimeauth(c, 16, c, 32, d - 32, c);\n for (i = 0; i < 16; i++) c[i] = 0;\n return 0;\n}\n\nfunction crypto_secretbox_open(m,c,d,n,k) {\n var i;\n var x = new Uint8Array(32);\n if (d < 32) return -1;\n crypto_stream(x,0,32,n,k);\n if (crypto_onetimeauth_verify(c, 16,c, 32,d - 32,x) !== 0) return -1;\n crypto_stream_xor(m,0,c,0,d,n,k);\n for (i = 0; i < 32; i++) m[i] = 0;\n return 0;\n}\n\nfunction set25519(r, a) {\n var i;\n for (i = 0; i < 16; i++) r[i] = a[i]|0;\n}\n\nfunction car25519(o) {\n var i, v, c = 1;\n for (i = 0; i < 16; i++) {\n v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c-1 + 37 * (c-1);\n}\n\nfunction sel25519(p, q, b) {\n var t, c = ~(b-1);\n for (var i = 0; i < 16; i++) {\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for (i = 0; i < 16; i++) t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for (j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1);\n m[i-1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1);\n b = (m[15]>>16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1-b);\n }\n for (i = 0; i < 16; i++) {\n o[2*i] = t[i] & 0xff;\n o[2*i+1] = t[i]>>8;\n }\n}\n\nfunction neq25519(a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n}\n\nfunction par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o, n) {\n var i;\n for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8);\n o[15] &= 0x7fff;\n}\n\nfunction A(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] + b[i];\n}\n\nfunction Z(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] - b[i];\n}\n\nfunction M(o, a, b) {\n var v, c,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n o[ 0] = t0;\n o[ 1] = t1;\n o[ 2] = t2;\n o[ 3] = t3;\n o[ 4] = t4;\n o[ 5] = t5;\n o[ 6] = t6;\n o[ 7] = t7;\n o[ 8] = t8;\n o[ 9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction S(o, a) {\n M(o, a, a);\n}\n\nfunction inv25519(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 253; a >= 0; a--) {\n S(c, c);\n if(a !== 2 && a !== 4) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction pow2523(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 250; a >= 0; a--) {\n S(c, c);\n if(a !== 1) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i;\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n for (i = 0; i < 31; i++) z[i] = n[i];\n z[31]=(n[31]&127)|64;\n z[0]&=248;\n unpack25519(x,p);\n for (i = 0; i < 16; i++) {\n b[i]=x[i];\n d[i]=a[i]=c[i]=0;\n }\n a[0]=d[0]=1;\n for (i=254; i>=0; --i) {\n r=(z[i>>>3]>>>(i&7))&1;\n sel25519(a,b,r);\n sel25519(c,d,r);\n A(e,a,c);\n Z(a,a,c);\n A(c,b,d);\n Z(b,b,d);\n S(d,e);\n S(f,a);\n M(a,c,a);\n M(c,b,e);\n A(e,a,c);\n Z(a,a,c);\n S(b,a);\n Z(c,d,f);\n M(a,c,_121665);\n A(a,a,d);\n M(c,c,a);\n M(a,d,f);\n M(d,b,x);\n S(b,e);\n sel25519(a,b,r);\n sel25519(c,d,r);\n }\n for (i = 0; i < 16; i++) {\n x[i+16]=a[i];\n x[i+32]=c[i];\n x[i+48]=b[i];\n x[i+64]=d[i];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32,x32);\n M(x16,x16,x32);\n pack25519(q,x16);\n return 0;\n}\n\nfunction crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n}\n\nfunction crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n}\n\nfunction crypto_box_beforenm(k, y, x) {\n var s = new Uint8Array(32);\n crypto_scalarmult(s, x, y);\n return crypto_core_hsalsa20(k, _0, s, sigma);\n}\n\nvar crypto_box_afternm = crypto_secretbox;\nvar crypto_box_open_afternm = crypto_secretbox_open;\n\nfunction crypto_box(c, m, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c, m, d, n, k);\n}\n\nfunction crypto_box_open(m, c, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c, d, n, k);\n}\n\nvar 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\nfunction crypto_hashblocks_hl(hh, hl, m, n) {\n var wh = new Int32Array(16), wl = new Int32Array(16),\n bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7,\n bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7,\n th, tl, i, j, h, l, a, b, c, d;\n\n var ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n var pos = 0;\n while (n >= 128) {\n for (i = 0; i < 16; i++) {\n j = 8 * i + pos;\n wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3];\n wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7];\n }\n for (i = 0; i < 80; i++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32))));\n l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i*2];\n l = K[i*2+1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i%16];\n l = wl[i%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32))));\n l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i%16 === 15) {\n for (j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j+9)%16];\n l = wl[(j+9)%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j+1)%16];\n tl = wl[(j+1)%16];\n h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j+14)%16];\n tl = wl[(j+14)%16];\n h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n n -= 128;\n }\n\n return n;\n}\n\nfunction crypto_hash(out, m, n) {\n var hh = new Int32Array(8),\n hl = new Int32Array(8),\n x = new Uint8Array(256),\n i, b = n;\n\n hh[0] = 0x6a09e667;\n hh[1] = 0xbb67ae85;\n hh[2] = 0x3c6ef372;\n hh[3] = 0xa54ff53a;\n hh[4] = 0x510e527f;\n hh[5] = 0x9b05688c;\n hh[6] = 0x1f83d9ab;\n hh[7] = 0x5be0cd19;\n\n hl[0] = 0xf3bcc908;\n hl[1] = 0x84caa73b;\n hl[2] = 0xfe94f82b;\n hl[3] = 0x5f1d36f1;\n hl[4] = 0xade682d1;\n hl[5] = 0x2b3e6c1f;\n hl[6] = 0xfb41bd6b;\n hl[7] = 0x137e2179;\n\n crypto_hashblocks_hl(hh, hl, m, n);\n n %= 128;\n\n for (i = 0; i < n; i++) x[i] = m[b-n+i];\n x[n] = 128;\n\n n = 256-128*(n<112?1:0);\n x[n-9] = 0;\n ts64(x, n-8, (b / 0x20000000) | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n);\n\n for (i = 0; i < 8; i++) ts64(out, 8*i, hh[i], hl[i]);\n\n return 0;\n}\n\nfunction add(p, q) {\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n}\n\nfunction cswap(p, q, b) {\n var i;\n for (i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r, p) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (i = 255; i >= 0; --i) {\n b = (s[(i/8)|0] >> (i&7)) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p, s) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nfunction crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()];\n var i;\n\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n scalarbase(p, d);\n pack(pk, p);\n\n for (i = 0; i < 32; i++) sk[i+32] = pk[i];\n return 0;\n}\n\nvar L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\n\nfunction modL(r, x) {\n var carry, i, j, k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) x[j] -= carry * L[j];\n for (i = 0; i < 32; i++) {\n x[i+1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r) {\n var x = new Float64Array(64), i;\n for (i = 0; i < 64; i++) x[i] = r[i];\n for (i = 0; i < 64; i++) r[i] = 0;\n modL(r, x);\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n var i, j, x = new Float64Array(64);\n var p = [gf(), gf(), gf(), gf()];\n\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n var smlen = n + 64;\n for (i = 0; i < n; i++) sm[64 + i] = m[i];\n for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i];\n\n crypto_hash(r, sm.subarray(32), n+32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n\n for (i = 32; i < 64; i++) sm[i] = sk[i];\n crypto_hash(h, sm, n + 64);\n reduce(h);\n\n for (i = 0; i < 64; i++) x[i] = 0;\n for (i = 0; i < 32; i++) x[i] = r[i];\n for (i = 0; i < 32; i++) {\n for (j = 0; j < 32; j++) {\n x[i+j] += h[i] * d[j];\n }\n }\n\n modL(sm.subarray(32), x);\n return smlen;\n}\n\nfunction unpackneg(r, p) {\n var t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n\n if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]);\n\n M(r[3], r[0], r[1]);\n return 0;\n}\n\nfunction crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32), h = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()];\n\n if (n < 64) return -1;\n\n if (unpackneg(q, pk)) return -1;\n\n for (i = 0; i < n; i++) m[i] = sm[i];\n for (i = 0; i < 32; i++) m[i+32] = pk[i];\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n\n n -= 64;\n if (crypto_verify_32(sm, 0, t, 0)) {\n for (i = 0; i < n; i++) m[i] = 0;\n return -1;\n }\n\n for (i = 0; i < n; i++) m[i] = sm[i + 64];\n return n;\n}\n\nvar crypto_secretbox_KEYBYTES = 32,\n crypto_secretbox_NONCEBYTES = 24,\n crypto_secretbox_ZEROBYTES = 32,\n crypto_secretbox_BOXZEROBYTES = 16,\n crypto_scalarmult_BYTES = 32,\n crypto_scalarmult_SCALARBYTES = 32,\n crypto_box_PUBLICKEYBYTES = 32,\n crypto_box_SECRETKEYBYTES = 32,\n crypto_box_BEFORENMBYTES = 32,\n crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES,\n crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES,\n crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES,\n crypto_sign_BYTES = 64,\n crypto_sign_PUBLICKEYBYTES = 32,\n crypto_sign_SECRETKEYBYTES = 64,\n crypto_sign_SEEDBYTES = 32,\n crypto_hash_BYTES = 64;\n\nnacl.lowlevel = {\n crypto_core_hsalsa20: crypto_core_hsalsa20,\n crypto_stream_xor: crypto_stream_xor,\n crypto_stream: crypto_stream,\n crypto_stream_salsa20_xor: crypto_stream_salsa20_xor,\n crypto_stream_salsa20: crypto_stream_salsa20,\n crypto_onetimeauth: crypto_onetimeauth,\n crypto_onetimeauth_verify: crypto_onetimeauth_verify,\n crypto_verify_16: crypto_verify_16,\n crypto_verify_32: crypto_verify_32,\n crypto_secretbox: crypto_secretbox,\n crypto_secretbox_open: crypto_secretbox_open,\n crypto_scalarmult: crypto_scalarmult,\n crypto_scalarmult_base: crypto_scalarmult_base,\n crypto_box_beforenm: crypto_box_beforenm,\n crypto_box_afternm: crypto_box_afternm,\n crypto_box: crypto_box,\n crypto_box_open: crypto_box_open,\n crypto_box_keypair: crypto_box_keypair,\n crypto_hash: crypto_hash,\n crypto_sign: crypto_sign,\n crypto_sign_keypair: crypto_sign_keypair,\n crypto_sign_open: crypto_sign_open,\n\n crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES: crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES: crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES: crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES: crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES,\n crypto_hash_BYTES: crypto_hash_BYTES,\n\n gf: gf,\n D: D,\n L: L,\n pack25519: pack25519,\n unpack25519: unpack25519,\n M: M,\n A: A,\n S: S,\n Z: Z,\n pow2523: pow2523,\n add: add,\n set25519: set25519,\n modL: modL,\n scalarmult: scalarmult,\n scalarbase: scalarbase,\n};\n\n/* High-level API */\n\nfunction checkLengths(k, n) {\n if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size');\n if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size');\n}\n\nfunction checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size');\n if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n}\n\nfunction checkArrayTypes() {\n for (var i = 0; i < arguments.length; i++) {\n if (!(arguments[i] instanceof Uint8Array))\n throw new TypeError('unexpected type, use Uint8Array');\n }\n}\n\nfunction cleanup(arr) {\n for (var i = 0; i < arr.length; i++) arr[i] = 0;\n}\n\nnacl.randomBytes = function(n) {\n var b = new Uint8Array(n);\n randombytes(b, n);\n return b;\n};\n\nnacl.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c = new Uint8Array(m.length);\n for (var i = 0; i < msg.length; i++) m[i+crypto_secretbox_ZEROBYTES] = msg[i];\n crypto_secretbox(c, m, m.length, nonce, key);\n return c.subarray(crypto_secretbox_BOXZEROBYTES);\n};\n\nnacl.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c.length);\n for (var i = 0; i < box.length; i++) c[i+crypto_secretbox_BOXZEROBYTES] = box[i];\n if (c.length < 32) return null;\n if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n};\n\nnacl.secretbox.keyLength = crypto_secretbox_KEYBYTES;\nnacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\nnacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n\nnacl.scalarMult = function(n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n};\n\nnacl.scalarMult.base = function(n) {\n checkArrayTypes(n);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n);\n return q;\n};\n\nnacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\nnacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n\nnacl.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox(msg, nonce, k);\n};\n\nnacl.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n};\n\nnacl.box.after = nacl.secretbox;\n\nnacl.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox.open(msg, nonce, k);\n};\n\nnacl.box.open.after = nacl.secretbox.open;\n\nnacl.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\nnacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\nnacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\nnacl.box.nonceLength = crypto_box_NONCEBYTES;\nnacl.box.overheadLength = nacl.secretbox.overheadLength;\n\nnacl.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n};\n\nnacl.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0) return null;\n var m = new Uint8Array(mlen);\n for (var i = 0; i < m.length; i++) m[i] = tmp[i];\n return m;\n};\n\nnacl.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i];\n return sig;\n};\n\nnacl.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES)\n throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i];\n for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i];\n return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0);\n};\n\nnacl.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i];\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES)\n throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for (var i = 0; i < 32; i++) sk[i] = seed[i];\n crypto_sign_keypair(pk, sk, true);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\nnacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\nnacl.sign.seedLength = crypto_sign_SEEDBYTES;\nnacl.sign.signatureLength = crypto_sign_BYTES;\n\nnacl.hash = function(msg) {\n checkArrayTypes(msg);\n var h = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h, msg, msg.length);\n return h;\n};\n\nnacl.hash.hashLength = crypto_hash_BYTES;\n\nnacl.verify = function(x, y) {\n checkArrayTypes(x, y);\n // Zero length arguments are considered not equal.\n if (x.length === 0 || y.length === 0) return false;\n if (x.length !== y.length) return false;\n return (vn(x, 0, y, 0, x.length) === 0) ? true : false;\n};\n\nnacl.setPRNG = function(fn) {\n randombytes = fn;\n};\n\n(function() {\n // Initialize PRNG if environment provides CSPRNG.\n // If not, methods calling randombytes will throw.\n var crypto = typeof self !== 'undefined' ? (self.crypto || self.msCrypto) : null;\n if (crypto && crypto.getRandomValues) {\n // Browsers.\n var QUOTA = 65536;\n nacl.setPRNG(function(x, n) {\n var i, v = new Uint8Array(n);\n for (i = 0; i < n; i += QUOTA) {\n crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n } else if (typeof require !== 'undefined') {\n // Node.js.\n crypto = require('crypto');\n if (crypto && crypto.randomBytes) {\n nacl.setPRNG(function(x, n) {\n var i, v = crypto.randomBytes(n);\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n }\n }\n})();\n\n})(typeof module !== 'undefined' && module.exports ? module.exports : (self.nacl = self.nacl || {}));\n","import { concatUint8Arrays, hexToByteArray, splitToUint8Arrays, toHexString, isNode } from '../utils';\nimport nacl from 'tweetnacl';\nif (isNode()) {\n try {\n eval(\"global.crypto = require('crypto').webcrypto\");\n }\n catch (err) { }\n}\nexport class SessionCrypto {\n constructor(keyPair) {\n this.nonceLength = 24;\n this.keyPair = keyPair ? this.createKeypairFromString(keyPair) : this.createKeypair();\n this.sessionId = toHexString(this.keyPair.publicKey);\n }\n createKeypair() {\n return nacl.box.keyPair();\n }\n createKeypairFromString(keyPair) {\n return {\n publicKey: hexToByteArray(keyPair.publicKey),\n secretKey: hexToByteArray(keyPair.secretKey)\n };\n }\n createNonce() {\n const buffer = new Uint8Array(this.nonceLength);\n return crypto.getRandomValues(buffer);\n }\n encrypt(message, receiverPublicKey) {\n const encodedMessage = new TextEncoder().encode(message);\n const nonce = this.createNonce();\n const encrypted = nacl.box(encodedMessage, nonce, receiverPublicKey, this.keyPair.secretKey);\n return concatUint8Arrays(nonce, encrypted);\n }\n decrypt(message, senderPublicKey) {\n const [nonce, internalMessage] = splitToUint8Arrays(message, this.nonceLength);\n const decrypted = nacl.box.open(internalMessage, nonce, senderPublicKey, this.keyPair.secretKey);\n if (!decrypted) {\n throw new Error(`Decryption error: \\n message: ${message.toString()} \\n sender pubkey: ${senderPublicKey.toString()} \\n keypair pubkey: ${this.keyPair.publicKey.toString()} \\n keypair secretkey: ${this.keyPair.secretKey.toString()}`);\n }\n return new TextDecoder().decode(decrypted);\n }\n stringifyKeypair() {\n return {\n publicKey: toHexString(this.keyPair.publicKey),\n secretKey: toHexString(this.keyPair.secretKey)\n };\n }\n}\n","import { BadRequestError, UnknownAppError, UserRejectsError } from \"../errors\";\nimport { ManifestContentErrorError } from \"../errors/protocol/events/connect/manifest-content-error.error\";\nimport { ManifestNotFoundError } from \"../errors/protocol/events/connect/manifest-not-found.error\";\nimport { UnknownError } from \"../errors/unknown.error\";\nimport { CONNECT_EVENT_ERROR_CODES } from '@tonconnect/protocol';\nconst connectEventErrorsCodes = {\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [CONNECT_EVENT_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [CONNECT_EVENT_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_NOT_FOUND_ERROR]: ManifestNotFoundError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_CONTENT_ERROR]: ManifestContentErrorError\n};\nclass ConnectErrorsParser {\n parseError(error) {\n let ErrorConstructor = UnknownError;\n if (error.code in connectEventErrorsCodes) {\n ErrorConstructor = connectEventErrorsCodes[error.code] || UnknownError;\n }\n return new ErrorConstructor(error.message);\n }\n}\nexport const connectErrorsParser = new ConnectErrorsParser();\n","import { SEND_TRANSACTION_ERROR_CODES } from '@tonconnect/protocol';\nimport { BadRequestError, UnknownAppError, UserRejectsError } from \"../errors\";\nimport { UnknownError } from \"../errors/unknown.error\";\nimport { RpcParser } from \"./rpc-parser\";\nconst sendTransactionErrors = {\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [SEND_TRANSACTION_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [SEND_TRANSACTION_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError\n};\nclass SendTransactionParser extends RpcParser {\n convertToRpcRequest(request) {\n return {\n method: 'sendTransaction',\n params: [JSON.stringify(request)]\n };\n }\n parseAndThrowError(response) {\n let ErrorConstructor = UnknownError;\n if (response.error.code in sendTransactionErrors) {\n ErrorConstructor = sendTransactionErrors[response.error.code] || UnknownError;\n }\n throw new ErrorConstructor(response.error.message);\n }\n convertFromRpcResponse(rpcResponse) {\n return {\n boc: rpcResponse.result\n };\n }\n}\nexport const sendTransactionParser = new SendTransactionParser();\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport class HttpBridgeGatewayStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = 'ton-connect-storage_http-bridge-gateway';\n }\n storeLastEventId(lastEventId) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.storage.setItem(this.storeKey, lastEventId);\n });\n }\n removeLastEventId() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getLastEventId() {\n return __awaiter(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n return stored;\n });\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Base64, isNode } from '@tonconnect/protocol';\nimport { TonConnectError } from \"../../errors\";\nimport { HttpBridgeGatewayStorage } from \"../../storage/http-bridge-gateway-storage\";\nimport { addPathToUrl } from \"../../utils/url\";\nif (isNode()) {\n try {\n eval(\"global.EventSource = require('eventsource')\");\n eval(\"global.fetch = require('node-fetch')\");\n }\n catch (err) {\n console.error(err);\n }\n}\nexport class BridgeGateway {\n constructor(storage, bridgeUrl, sessionId, listener, errorsListener) {\n this.bridgeUrl = bridgeUrl;\n this.sessionId = sessionId;\n this.listener = listener;\n this.errorsListener = errorsListener;\n this.ssePath = 'events';\n this.postPath = 'message';\n this.heartbeatMessage = 'heartbeat';\n this.defaultTtl = 300;\n this.isClosed = false;\n this.bridgeGatewayStorage = new HttpBridgeGatewayStorage(storage);\n }\n registerSession() {\n return __awaiter(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.ssePath));\n url.searchParams.append('client_id', this.sessionId);\n const lastEventId = yield this.bridgeGatewayStorage.getLastEventId();\n if (lastEventId) {\n url.searchParams.append('last_event_id', lastEventId);\n }\n this.eventSource = new EventSource(url.toString());\n return new Promise((resolve, reject) => {\n this.eventSource.onerror = reject;\n this.eventSource.onopen = () => {\n this.eventSource.onerror = this.errorsHandler.bind(this);\n this.eventSource.onmessage = this.messagesHandler.bind(this);\n resolve();\n };\n });\n });\n }\n send(message, receiver, ttl) {\n return __awaiter(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.postPath));\n url.searchParams.append('client_id', this.sessionId);\n url.searchParams.append('to', receiver);\n url.searchParams.append('ttl', (ttl || this.defaultTtl).toString());\n yield fetch(url, {\n method: 'post',\n body: Base64.encode(message)\n });\n });\n }\n close() {\n var _a;\n this.isClosed = true;\n (_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();\n }\n errorsHandler(e) {\n var _a, _b;\n if (!this.isClosed) {\n if (((_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.readyState) === EventSource.CLOSED) {\n this.eventSource.close();\n this.registerSession();\n return;\n }\n if (((_b = this.eventSource) === null || _b === void 0 ? void 0 : _b.readyState) === EventSource.CONNECTING) {\n console.debug('[TON_CONNET_SDK_ERROR]: Bridge error', JSON.stringify(e));\n return;\n }\n this.errorsListener(e);\n }\n }\n messagesHandler(e) {\n return __awaiter(this, void 0, void 0, function* () {\n if (e.data === this.heartbeatMessage) {\n return;\n }\n yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId);\n if (!this.isClosed) {\n let bridgeIncomingMessage;\n try {\n bridgeIncomingMessage = JSON.parse(e.data);\n }\n catch (e) {\n throw new TonConnectError(`Bridge message parse failed, message ${e.data}`);\n }\n this.listener(bridgeIncomingMessage);\n }\n });\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { SessionCrypto } from '@tonconnect/protocol';\nimport { TonConnectError } from \"../errors\";\nexport class BridgeConnectionStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = 'ton-connect-storage_bridge-connection';\n }\n storeConnection(connection) {\n return __awaiter(this, void 0, void 0, function* () {\n if (connection.type === 'injected') {\n return this.storage.setItem(this.storeKey, JSON.stringify(connection));\n }\n const rawSession = {\n sessionKeyPair: connection.session.sessionCrypto.stringifyKeypair(),\n walletPublicKey: connection.session.walletPublicKey,\n walletConnectionSource: connection.session.walletConnectionSource\n };\n const rawConnection = {\n type: 'http',\n connectEvent: connection.connectEvent,\n session: rawSession\n };\n return this.storage.setItem(this.storeKey, JSON.stringify(rawConnection));\n });\n }\n removeConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n if (connection.type === 'injected') {\n return connection;\n }\n const sessionCrypto = new SessionCrypto(connection.session.sessionKeyPair);\n return {\n type: 'http',\n connectEvent: connection.connectEvent,\n session: {\n sessionCrypto,\n walletConnectionSource: connection.session.walletConnectionSource,\n walletPublicKey: connection.session.walletPublicKey\n }\n };\n });\n }\n getHttpConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError('Trying to read HTTP connection source while nothing is stored');\n }\n if (connection.type === 'injected') {\n throw new TonConnectError('Trying to read HTTP connection source while injected connection is stored');\n }\n return connection;\n });\n }\n getInjectedConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError('Trying to read Injected bridge connection source while nothing is stored');\n }\n if ((connection === null || connection === void 0 ? void 0 : connection.type) === 'http') {\n throw new TonConnectError('Trying to read Injected bridge connection source while HTTP connection is stored');\n }\n return connection;\n });\n }\n storedConnectionType() {\n return __awaiter(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n return connection.type;\n });\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Base64, SessionCrypto, hexToByteArray } from '@tonconnect/protocol';\nimport { TonConnectError } from \"../../errors/ton-connect.error\";\nimport { BridgeGateway } from \"./bridge-gateway\";\nimport { BridgeConnectionStorage } from \"../../storage/bridge-connection-storage\";\nimport { PROTOCOL_VERSION } from \"../../resources/protocol\";\nexport class BridgeProvider {\n constructor(storage, walletConnectionSource) {\n this.storage = storage;\n this.walletConnectionSource = walletConnectionSource;\n this.type = 'http';\n this.pendingRequests = new Map();\n this.nextRequestId = 0;\n this.session = null;\n this.bridge = null;\n this.listeners = [];\n this.connectionStorage = new BridgeConnectionStorage(storage);\n }\n static fromStorage(storage) {\n return __awaiter(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getHttpConnection();\n return new BridgeProvider(storage, connection.session.walletConnectionSource);\n });\n }\n connect(message) {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const sessionCrypto = new SessionCrypto();\n this.session = {\n sessionCrypto,\n walletConnectionSource: this.walletConnectionSource\n };\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n this.bridge.registerSession();\n return this.generateUniversalLink(message);\n }\n restoreConnection() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const storedConnection = yield this.connectionStorage.getHttpConnection();\n if (!storedConnection) {\n return;\n }\n this.session = storedConnection.session;\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, storedConnection.session.sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n yield this.bridge.registerSession();\n this.listeners.forEach(listener => listener(storedConnection.connectEvent));\n });\n }\n sendRequest(request) {\n return new Promise((resolve, reject) => {\n const id = this.nextRequestId;\n this.nextRequestId++;\n if (!this.bridge || !this.session || !('walletPublicKey' in this.session)) {\n throw new TonConnectError('Trying to send bridge request without session');\n }\n const encodedRequest = this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({}, request), { id })), hexToByteArray(this.session.walletPublicKey));\n this.bridge.send(encodedRequest, this.session.walletPublicKey).catch(reject);\n this.pendingRequests.set(id.toString(), resolve);\n });\n }\n closeConnection() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n this.session = null;\n this.bridge = null;\n }\n disconnect() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n return this.removeBridgeAndSession();\n }\n listen(callback) {\n this.listeners.push(callback);\n return () => (this.listeners = this.listeners.filter(listener => listener !== callback));\n }\n gatewayListener(bridgeIncomingMessage) {\n return __awaiter(this, void 0, void 0, function* () {\n const walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(Base64.decode(bridgeIncomingMessage.message).toUint8Array(), hexToByteArray(bridgeIncomingMessage.from)));\n if (!('event' in walletMessage)) {\n const id = walletMessage.id.toString();\n const resolve = this.pendingRequests.get(id);\n if (!resolve) {\n throw new TonConnectError(`Response id ${id} doesn't match any request's id`);\n }\n resolve(walletMessage);\n this.pendingRequests.delete(id);\n return;\n }\n if (walletMessage.event === 'connect') {\n yield this.updateSession(walletMessage, bridgeIncomingMessage.from);\n }\n if (walletMessage.event === 'disconnect') {\n yield this.removeBridgeAndSession();\n }\n this.listeners.forEach(listener => listener(walletMessage));\n });\n }\n gatewayErrorsListener(e) {\n return __awaiter(this, void 0, void 0, function* () {\n throw new TonConnectError(`Bridge error ${JSON.stringify(e)}`);\n });\n }\n updateSession(connectEvent, walletPublicKey) {\n return __awaiter(this, void 0, void 0, function* () {\n this.session = Object.assign(Object.assign({}, this.session), { walletPublicKey });\n const tonAddrItem = connectEvent.payload.items.find(item => item.name === 'ton_addr');\n const connectEventToSave = Object.assign(Object.assign({}, connectEvent), { payload: Object.assign(Object.assign({}, connectEvent.payload), { items: [tonAddrItem] }) });\n yield this.connectionStorage.storeConnection({\n type: 'http',\n session: this.session,\n connectEvent: connectEventToSave\n });\n });\n }\n removeBridgeAndSession() {\n return __awaiter(this, void 0, void 0, function* () {\n this.session = null;\n this.bridge = null;\n yield this.connectionStorage.removeConnection();\n });\n }\n generateUniversalLink(message) {\n const url = new URL(this.walletConnectionSource.universalLink);\n url.searchParams.append('v', PROTOCOL_VERSION.toString());\n url.searchParams.append('id', this.session.sessionCrypto.sessionId);\n url.searchParams.append('r', JSON.stringify(message));\n return url.toString();\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { WalletNotInjectedError } from \"../../errors/wallet/wallet-not-injected.error\";\nimport { BridgeConnectionStorage } from \"../../storage/bridge-connection-storage\";\nimport { getWindow } from \"../../utils/web-api\";\nimport { PROTOCOL_VERSION } from \"../../resources/protocol\";\nexport class InjectedProvider {\n constructor(storage, injectedWalletKey) {\n this.injectedWalletKey = injectedWalletKey;\n this.type = 'injected';\n this.unsubscribeCallback = null;\n this.listenSubscriptions = false;\n this.listeners = [];\n const window = InjectedProvider.window;\n if (!InjectedProvider.isWindowContainsWallet(window, injectedWalletKey)) {\n throw new WalletNotInjectedError();\n }\n this.connectionStorage = new BridgeConnectionStorage(storage);\n this.injectedWallet = window[injectedWalletKey].tonconnect;\n }\n static fromStorage(storage) {\n return __awaiter(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getInjectedConnection();\n return new InjectedProvider(storage, connection.jsBridgeKey);\n });\n }\n static isWalletInjected(injectedWalletKey) {\n return InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey);\n }\n static isInsideWalletBrowser(injectedWalletKey) {\n if (InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey)) {\n return this.window[injectedWalletKey].tonconnect.isWalletBrowser;\n }\n return false;\n }\n static isWindowContainsWallet(window, injectedWalletKey) {\n return (!!window &&\n injectedWalletKey in window &&\n typeof window[injectedWalletKey] === 'object' &&\n 'tonconnect' in window[injectedWalletKey]);\n }\n connect(message) {\n this._connect(PROTOCOL_VERSION, message);\n }\n restoreConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.restoreConnection();\n if (connectEvent.event === 'connect') {\n this.makeSubscriptions();\n this.listeners.forEach(listener => listener(connectEvent));\n }\n else {\n yield this.connectionStorage.removeConnection();\n }\n }\n catch (e) {\n yield this.connectionStorage.removeConnection();\n console.error(e);\n }\n });\n }\n closeConnection() {\n if (this.listenSubscriptions) {\n this.injectedWallet.disconnect();\n }\n this.closeAllListeners();\n }\n disconnect() {\n this.closeAllListeners();\n this.injectedWallet.disconnect();\n return this.connectionStorage.removeConnection();\n }\n closeAllListeners() {\n var _a;\n this.listenSubscriptions = false;\n this.listeners = [];\n (_a = this.unsubscribeCallback) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n listen(eventsCallback) {\n this.listeners.push(eventsCallback);\n return () => (this.listeners = this.listeners.filter(listener => listener !== eventsCallback));\n }\n sendRequest(request) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.injectedWallet.send(Object.assign(Object.assign({}, request), { id: '0' }));\n });\n }\n _connect(protocolVersion, message) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.connect(protocolVersion, message);\n if (connectEvent.event === 'connect') {\n yield this.updateSession();\n this.makeSubscriptions();\n }\n this.listeners.forEach(listener => listener(connectEvent));\n }\n catch (e) {\n console.debug(e);\n const connectEventError = {\n event: 'connect_error',\n payload: {\n code: 0,\n message: e === null || e === void 0 ? void 0 : e.toString()\n }\n };\n this.listeners.forEach(listener => listener(connectEventError));\n }\n });\n }\n makeSubscriptions() {\n this.listenSubscriptions = true;\n this.unsubscribeCallback = this.injectedWallet.listen(e => {\n if (this.listenSubscriptions) {\n this.listeners.forEach(listener => listener(e));\n }\n if (e.event === 'disconnect') {\n this.disconnect();\n }\n });\n }\n updateSession() {\n return this.connectionStorage.storeConnection({\n type: 'injected',\n jsBridgeKey: this.injectedWalletKey\n });\n }\n}\nInjectedProvider.window = getWindow();\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { LocalstorageNotFoundError } from \"../errors/storage/localstorage-not-found.error\";\nimport { getWindow } from \"../utils/web-api\";\nexport class DefaultStorage {\n constructor() {\n const window = getWindow();\n if (!(window === null || window === void 0 ? void 0 : window.localStorage)) {\n throw new LocalstorageNotFoundError();\n }\n this.window = window;\n }\n getItem(key) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.resolve(this.window.localStorage.getItem(key));\n });\n }\n removeItem(key) {\n return __awaiter(this, void 0, void 0, function* () {\n this.window.localStorage.removeItem(key);\n return Promise.resolve();\n });\n }\n setItem(key, value) {\n this.window.localStorage.setItem(key, value);\n return Promise.resolve();\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { FetchWalletsError } from \"./errors/wallets-manager/fetch-wallets.error\";\nimport { isWalletInfoInjected } from \"./models/wallet/wallet-info\";\nimport { InjectedProvider } from \"./provider/injected/injected-provider\";\nexport class WalletsListManager {\n constructor(walletsListSource) {\n this.walletsListCache = null;\n this.walletsListSource = 'https://raw.githubusercontent.com/ton-connect/wallets-list/main/wallets.json';\n if (walletsListSource) {\n this.walletsListSource = walletsListSource;\n }\n }\n getWallets() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.walletsListCache) {\n this.walletsListCache = this.fetchWalletsList();\n this.walletsListCache.catch(() => (this.walletsListCache = null));\n }\n return this.walletsListCache;\n });\n }\n getEmbeddedWallet() {\n return __awaiter(this, void 0, void 0, function* () {\n const walletsList = yield this.getWallets();\n const embeddedWallets = walletsList.filter(item => isWalletInfoInjected(item) && item.embedded);\n if (embeddedWallets.length !== 1) {\n return null;\n }\n return embeddedWallets[0];\n });\n }\n fetchWalletsList() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const walletsResponse = yield fetch(this.walletsListSource);\n const walletsList = yield walletsResponse.json();\n if (!Array.isArray(walletsList) ||\n !walletsList.every(wallet => this.isCorrectWalletConfigDTO(wallet))) {\n throw new FetchWalletsError('Wrong wallets list format');\n }\n return this.walletConfigDTOListToWalletConfigList(walletsList);\n }\n catch (e) {\n throw new FetchWalletsError(e);\n }\n });\n }\n walletConfigDTOListToWalletConfigList(walletConfigDTO) {\n return walletConfigDTO.map(walletConfigDTO => {\n const walletConfig = {\n name: walletConfigDTO.name,\n imageUrl: walletConfigDTO.image,\n aboutUrl: walletConfigDTO.about_url,\n tondns: walletConfigDTO.tondns\n };\n walletConfigDTO.bridge.forEach(bridge => {\n if (bridge.type === 'sse') {\n walletConfig.bridgeUrl = bridge.url;\n walletConfig.universalLink =\n walletConfigDTO.universal_url;\n walletConfig.deepLink = walletConfigDTO.deepLink;\n }\n if (bridge.type === 'js') {\n const jsBridgeKey = bridge.key;\n walletConfig.jsBridgeKey = jsBridgeKey;\n walletConfig.injected =\n InjectedProvider.isWalletInjected(jsBridgeKey);\n walletConfig.embedded =\n InjectedProvider.isInsideWalletBrowser(jsBridgeKey);\n }\n });\n return walletConfig;\n });\n }\n isCorrectWalletConfigDTO(value) {\n if (!value || !(typeof value === 'object')) {\n return false;\n }\n const containsName = 'name' in value;\n const containsImage = 'image' in value;\n const containsAbout = 'about_url' in value;\n if (!containsName || !containsImage || !containsAbout) {\n return false;\n }\n if (!('bridge' in value) ||\n !Array.isArray(value.bridge) ||\n !value.bridge.length) {\n return false;\n }\n const bridge = value.bridge;\n if (bridge.some(item => !item || typeof item !== 'object' || !('type' in item))) {\n return false;\n }\n const sseBridge = bridge.find(item => item.type === 'sse');\n if (sseBridge) {\n if (!('url' in sseBridge) ||\n !sseBridge.url ||\n !value.universal_url) {\n return false;\n }\n }\n const jsBridge = bridge.find(item => item.type === 'js');\n if (jsBridge) {\n if (!('key' in jsBridge) || !jsBridge.key) {\n return false;\n }\n }\n return true;\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { DappMetadataError } from \"./errors/dapp/dapp-metadata.error\";\nimport { ManifestContentErrorError } from \"./errors/protocol/events/connect/manifest-content-error.error\";\nimport { ManifestNotFoundError } from \"./errors/protocol/events/connect/manifest-not-found.error\";\nimport { TonConnectError } from \"./errors/ton-connect.error\";\nimport { WalletAlreadyConnectedError } from \"./errors/wallet/wallet-already-connected.error\";\nimport { WalletNotConnectedError } from \"./errors/wallet/wallet-not-connected.error\";\nimport { WalletNotSupportFeatureError } from \"./errors/wallet/wallet-not-support-feature.error\";\nimport { isWalletConnectionSourceJS } from \"./models/wallet/wallet-connection-source\";\nimport { connectErrorsParser } from \"./parsers/connect-errors-parser\";\nimport { sendTransactionParser } from \"./parsers/send-transaction-parser\";\nimport { BridgeProvider } from \"./provider/bridge/bridge-provider\";\nimport { InjectedProvider } from \"./provider/injected/injected-provider\";\nimport { BridgeConnectionStorage } from \"./storage/bridge-connection-storage\";\nimport { DefaultStorage } from \"./storage/default-storage\";\nimport { getWebPageManifest } from \"./utils/web-api\";\nimport { WalletsListManager } from \"./wallets-list-manager\";\nexport class TonConnect {\n constructor(options) {\n this.walletsList = new WalletsListManager();\n this._wallet = null;\n this.provider = null;\n this.statusChangeSubscriptions = [];\n this.statusChangeErrorSubscriptions = [];\n this.dappSettings = {\n manifestUrl: (options === null || options === void 0 ? void 0 : options.manifestUrl) || getWebPageManifest(),\n storage: (options === null || options === void 0 ? void 0 : options.storage) || new DefaultStorage()\n };\n this.walletsList = new WalletsListManager(options === null || options === void 0 ? void 0 : options.walletsListSource);\n if (!this.dappSettings.manifestUrl) {\n throw new DappMetadataError('Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest');\n }\n this.bridgeConnectionStorage = new BridgeConnectionStorage(this.dappSettings.storage);\n }\n /**\n * Returns available wallets list.\n */\n static getWallets() {\n return this.walletsList.getWallets();\n }\n /**\n * Shows if the wallet is connected right now.\n */\n get connected() {\n return this._wallet !== null;\n }\n /**\n * Current connected account or null if no account is connected.\n */\n get account() {\n var _a;\n return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.account) || null;\n }\n /**\n * Current connected wallet or null if no account is connected.\n */\n get wallet() {\n return this._wallet;\n }\n set wallet(value) {\n this._wallet = value;\n this.statusChangeSubscriptions.forEach(callback => callback(this._wallet));\n }\n /**\n * Returns available wallets list.\n */\n getWallets() {\n return this.walletsList.getWallets();\n }\n /**\n * Allows to subscribe to connection status changes and handle connection errors.\n * @param callback will be called after connections status changes with actual wallet or null.\n * @param errorsHandler (optional) will be called with some instance of TonConnectError when connect error is received.\n * @returns unsubscribe callback.\n */\n onStatusChange(callback, errorsHandler) {\n this.statusChangeSubscriptions.push(callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions.push(errorsHandler);\n }\n return () => {\n this.statusChangeSubscriptions = this.statusChangeSubscriptions.filter(item => item !== callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions = this.statusChangeErrorSubscriptions.filter(item => item !== errorsHandler);\n }\n };\n }\n connect(wallet, request) {\n var _a;\n if (this.connected) {\n throw new WalletAlreadyConnectedError();\n }\n (_a = this.provider) === null || _a === void 0 ? void 0 : _a.closeConnection();\n this.provider = this.createProvider(wallet);\n return this.provider.connect(this.createConnectRequest(request));\n }\n /**\n * Try to restore existing session and reconnect to the corresponding wallet. Call it immediately when your app is loaded.\n */\n restoreConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const [bridgeConnectionType, embeddedWallet] = yield Promise.all([\n this.bridgeConnectionStorage.storedConnectionType(),\n this.walletsList.getEmbeddedWallet()\n ]);\n switch (bridgeConnectionType) {\n case 'http':\n this.provider = yield BridgeProvider.fromStorage(this.dappSettings.storage);\n break;\n case 'injected':\n this.provider = yield InjectedProvider.fromStorage(this.dappSettings.storage);\n break;\n default:\n if (embeddedWallet) {\n this.provider = yield this.createProvider(embeddedWallet);\n }\n else {\n return;\n }\n }\n this.provider.listen(this.walletEventsListener.bind(this));\n return this.provider.restoreConnection();\n });\n }\n /**\n * Asks connected wallet to sign and send the transaction.\n * @param transaction transaction to send.\n * @returns signed transaction boc that allows you to find the transaction in the blockchain.\n * If user rejects transaction, method will throw the corresponding error.\n */\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this.checkConnection();\n this.checkFeatureSupport('SendTransaction');\n const { validUntil } = transaction, tx = __rest(transaction, [\"validUntil\"]);\n const response = yield this.provider.sendRequest(sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })));\n if (sendTransactionParser.isError(response)) {\n return sendTransactionParser.parseAndThrowError(response);\n }\n return sendTransactionParser.convertFromRpcResponse(response);\n });\n }\n /**\n * Disconnect form thw connected wallet and drop current session.\n */\n disconnect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n yield this.provider.disconnect();\n this.onWalletDisconnected();\n });\n }\n createProvider(wallet) {\n let provider;\n if (isWalletConnectionSourceJS(wallet)) {\n provider = new InjectedProvider(this.dappSettings.storage, wallet.jsBridgeKey);\n }\n else {\n provider = new BridgeProvider(this.dappSettings.storage, wallet);\n }\n provider.listen(this.walletEventsListener.bind(this));\n return provider;\n }\n walletEventsListener(e) {\n switch (e.event) {\n case 'connect':\n this.onWalletConnected(e.payload);\n break;\n case 'connect_error':\n this.onWalletConnectError(e.payload);\n break;\n case 'disconnect':\n this.onWalletDisconnected();\n }\n }\n onWalletConnected(connectEvent) {\n const tonAccountItem = connectEvent.items.find(item => item.name === 'ton_addr');\n const tonProofItem = connectEvent.items.find(item => item.name === 'ton_proof');\n if (!tonAccountItem) {\n throw new TonConnectError('ton_addr connection item was not found');\n }\n const wallet = {\n device: connectEvent.device,\n provider: this.provider.type,\n account: {\n address: tonAccountItem.address,\n chain: tonAccountItem.network,\n walletStateInit: tonAccountItem.walletStateInit\n }\n };\n if (tonProofItem) {\n wallet.connectItems = {\n tonProof: tonProofItem\n };\n }\n this.wallet = wallet;\n }\n onWalletConnectError(connectEventError) {\n const error = connectErrorsParser.parseError(connectEventError);\n this.statusChangeErrorSubscriptions.forEach(errorsHandler => errorsHandler(error));\n console.debug(error);\n if (error instanceof ManifestNotFoundError || error instanceof ManifestContentErrorError) {\n console.error(error);\n throw error;\n }\n }\n onWalletDisconnected() {\n this.wallet = null;\n }\n checkConnection() {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n }\n checkFeatureSupport(feature) {\n var _a;\n if (!((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.device.features.includes(feature))) {\n throw new WalletNotSupportFeatureError();\n }\n }\n createConnectRequest(request) {\n const items = [\n {\n name: 'ton_addr'\n }\n ];\n if (request === null || request === void 0 ? void 0 : request.tonProof) {\n items.push({\n name: 'ton_proof',\n payload: request.tonProof\n });\n }\n return {\n manifestUrl: this.dappSettings.manifestUrl,\n items\n };\n }\n}\nTonConnect.walletsList = new WalletsListManager();\n/**\n * Check if specified wallet is injected and available to use with the app.\n * @param walletJSKey target wallet's js bridge key.\n */\nTonConnect.isWalletInjected = (walletJSKey) => InjectedProvider.isWalletInjected(walletJSKey);\n/**\n * Check if the app is opened inside specified wallet's browser.\n * @param walletJSKey target wallet's js bridge key.\n */\nTonConnect.isInsideWalletBrowser = (walletJSKey) => InjectedProvider.isInsideWalletBrowser(walletJSKey);\n","import { WrongAddressError, ParseHexError } from \"../errors\";\nimport { Base64 } from '@tonconnect/protocol';\n/**\n * Converts raw TON address to bounceable user-friendly format. [See details]{@link https://ton.org/docs/learn/overviews/addresses}\n * @param hexAddress raw TON address formatted as \"0:<hex string without 0x>\".\n */\nexport function toUserFriendlyAddress(hexAddress) {\n const { wc, hex } = parseHexAddress(hexAddress);\n const bounceableTag = 0x11;\n const addr = new Int8Array(34);\n addr[0] = bounceableTag;\n addr[1] = wc;\n addr.set(hex, 2);\n const addressWithChecksum = new Uint8Array(36);\n addressWithChecksum.set(addr);\n addressWithChecksum.set(crc16(addr), 34);\n let addressBase64 = Base64.encode(addressWithChecksum);\n return addressBase64.replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nfunction parseHexAddress(hexAddress) {\n if (!hexAddress.includes(':')) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\".`);\n }\n const parts = hexAddress.split(':');\n if (parts.length !== 2) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\" only once.`);\n }\n const wc = parseInt(parts[0]);\n if (wc !== 0 && wc !== -1) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. WC must be eq 0 or -1, but ${wc} received.`);\n }\n const hex = parts[1];\n if ((hex === null || hex === void 0 ? void 0 : hex.length) !== 64) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Hex part must be 64bytes length, but ${hex === null || hex === void 0 ? void 0 : hex.length} received.`);\n }\n return {\n wc,\n hex: hexToBytes(hex)\n };\n}\nfunction crc16(data) {\n const poly = 0x1021;\n let reg = 0;\n const message = new Uint8Array(data.length + 2);\n message.set(data);\n for (let byte of message) {\n let mask = 0x80;\n while (mask > 0) {\n reg <<= 1;\n if (byte & mask) {\n reg += 1;\n }\n mask >>= 1;\n if (reg > 0xffff) {\n reg &= 0xffff;\n reg ^= poly;\n }\n }\n }\n return new Uint8Array([Math.floor(reg / 256), reg % 256]);\n}\nconst toByteMap = {};\nfor (let ord = 0; ord <= 0xff; ord++) {\n let s = ord.toString(16);\n if (s.length < 2) {\n s = '0' + s;\n }\n toByteMap[s] = ord;\n}\nfunction hexToBytes(hex) {\n hex = hex.toLowerCase();\n const length2 = hex.length;\n if (length2 % 2 !== 0) {\n throw new ParseHexError('Hex string must have length a multiple of 2: ' + hex);\n }\n const length = length2 / 2;\n const result = new Uint8Array(length);\n for (let i = 0; i < length; i++) {\n const doubled = i * 2;\n const hexSubstring = hex.substring(doubled, doubled + 2);\n if (!toByteMap.hasOwnProperty(hexSubstring)) {\n throw new ParseHexError('Invalid hex character: ' + hexSubstring);\n }\n result[i] = toByteMap[hexSubstring];\n }\n return result;\n}\n","import { useTonWallet } from './useTonWallet';\nimport { toUserFriendlyAddress } from '@tonconnect/sdk';\n\n/**\n * Use it to get user's current ton wallet address. If wallet is not connected hook will return empty string.\n * @param [userFriendly=true] allows to choose format of the address.\n */\nexport function useTonAddress(userFriendly = true): string {\n const wallet = useTonWallet();\n\n if (wallet) {\n return userFriendly\n ? toUserFriendlyAddress(wallet.account.address)\n : wallet.account.address;\n } else {\n return '';\n }\n}\n"],"names":["require$$0","l","n","p","c","a","e","h","REACT_ELEMENT_TYPE","ReactDebugCurrentFrame","assign","s","self","i","children","jsx","module","require$$1","TonConnectError","ManifestContentErrorError","ManifestNotFoundError","UserRejectsError","BadRequestError","UnknownAppError","WrongAddressError","ParseHexError","UnknownError","CONNECT_EVENT_ERROR_CODES","CONNECT_ITEM_ERROR_CODES","SEND_TRANSACTION_ERROR_CODES","CHAIN","naclUtil","encodeUint8Array","decodeToUint8Array","encode","decode","Base64","commonjsRequire","naclFast","__viteBrowserExternal","__viteBrowserExternal$1","nacl","toUserFriendlyAddress","parseHexAddress","crc16","hexToBytes","toByteMap","isNode","tonConnectUI","exports","buttonRootId","createContext","memo","useContext","className","style","useEffect","useState","__spreadValues","this","o","u","t","crypto","require","P"],"mappings":"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K,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,KAAK,GAAG,MAAM,OAAO,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,GAAG,MAAM,OAAO,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ;AACxzC,Y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I;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAA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AAO,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAAC;AAAA,MAC/C;AACD,UAAI,IAAI;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAC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AAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IA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A,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAAA,QAAY;AAAA,QAAY;AAAA,QAAY;AAAA,QACpC;AAA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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/react/jsx-runtime.js","../../ui/lib/index.js","../src/components/TonConnectUIProvider.tsx","../src/errors/ton-connect-ui-react.error.ts","../src/errors/ton-connect-provider-not-set.error.ts","../src/utils/errors.ts","../src/hooks/useTonConnectUI.ts","../src/components/TonConnectButton.tsx","../src/hooks/useTonWallet.ts","../../sdk/lib/esm/errors/ton-connect.error.js","../../sdk/lib/esm/errors/protocol/events/connect/manifest-content-error.error.js","../../sdk/lib/esm/errors/protocol/events/connect/manifest-not-found.error.js","../../sdk/lib/esm/errors/protocol/events/connect/user-rejects.error.js","../../sdk/lib/esm/errors/protocol/responses/bad-request.error.js","../../sdk/lib/esm/errors/protocol/responses/unknown-app.error.js","../../sdk/lib/esm/errors/address/wrong-address.error.js","../../sdk/lib/esm/errors/binary/parse-hex.error.js","../../sdk/lib/esm/errors/unknown.error.js","../../protocol/lib/esm/models/wallet-message/wallet-event/connect-event.js","../../protocol/lib/esm/models/wallet-message/wallet-response/send-transaction-rpc-response.js","../../protocol/lib/esm/models/CHAIN.js","../../../node_modules/tweetnacl-util/nacl-util.js","../../protocol/lib/esm/utils/base64.js","../../protocol/lib/esm/utils/web-api.js","../__vite-browser-external","../../../node_modules/tweetnacl/nacl-fast.js","../../protocol/lib/esm/crypto/session-crypto.js","../../sdk/lib/esm/parsers/connect-errors-parser.js","../../sdk/lib/esm/parsers/send-transaction-parser.js","../../sdk/lib/esm/storage/http-bridge-gateway-storage.js","../../sdk/lib/esm/provider/bridge/bridge-gateway.js","../../sdk/lib/esm/storage/bridge-connection-storage.js","../../sdk/lib/esm/provider/bridge/bridge-provider.js","../../sdk/lib/esm/provider/injected/injected-provider.js","../../sdk/lib/esm/storage/default-storage.js","../../sdk/lib/esm/wallets-list-manager.js","../../sdk/lib/esm/ton-connect.js","../../sdk/lib/esm/utils/address.js","../src/hooks/useTonAddress.ts"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a2, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a2, prop, b[prop]);\n }\n return a2;\n};\nvar __spreadProps = (a2, b) => __defProps(a2, __getOwnPropDescs(b));\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nvar __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e2) {\n reject(e2);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\nclass TonConnectError extends Error {\n constructor(message, options) {\n if (message) {\n message = TonConnectError.prefix + \" \" + message;\n }\n super(message, options);\n Object.setPrototypeOf(this, TonConnectError.prototype);\n }\n}\nTonConnectError.prefix = \"[TON_CONNECT_SDK_ERROR]\";\nclass DappMetadataError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, DappMetadataError.prototype);\n }\n}\nclass ManifestContentErrorError extends TonConnectError {\n constructor(message) {\n super(message || \"\" + ManifestContentErrorError.additionalMessage);\n Object.setPrototypeOf(this, ManifestContentErrorError.prototype);\n }\n}\nManifestContentErrorError.additionalMessage = \"\\nPassed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest\";\nclass ManifestNotFoundError extends TonConnectError {\n constructor(message) {\n super(message || \"\" + ManifestNotFoundError.additionalMessage);\n Object.setPrototypeOf(this, ManifestNotFoundError.prototype);\n }\n}\nManifestNotFoundError.additionalMessage = \"\\nManifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest\";\nclass WalletAlreadyConnectedError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletAlreadyConnectedError.prototype);\n }\n}\nclass WalletNotConnectedError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletNotConnectedError.prototype);\n }\n}\nclass WalletNotSupportFeatureError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletNotSupportFeatureError.prototype);\n }\n}\nfunction isWalletConnectionSourceJS(value) {\n return \"jsBridgeKey\" in value;\n}\nclass UserRejectsError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UserRejectsError.prototype);\n }\n}\nclass BadRequestError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, BadRequestError.prototype);\n }\n}\nclass UnknownAppError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownAppError.prototype);\n }\n}\nclass WalletNotInjectedError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WalletNotInjectedError.prototype);\n }\n}\nclass LocalstorageNotFoundError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, LocalstorageNotFoundError.prototype);\n }\n}\nclass FetchWalletsError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, FetchWalletsError.prototype);\n }\n}\nclass WrongAddressError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WrongAddressError.prototype);\n }\n}\nclass ParseHexError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, ParseHexError.prototype);\n }\n}\nclass UnknownError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownError.prototype);\n }\n}\nvar CONNECT_EVENT_ERROR_CODES;\n(function(CONNECT_EVENT_ERROR_CODES2) {\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"MANIFEST_NOT_FOUND_ERROR\"] = 2] = \"MANIFEST_NOT_FOUND_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"MANIFEST_CONTENT_ERROR\"] = 3] = \"MANIFEST_CONTENT_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n CONNECT_EVENT_ERROR_CODES2[CONNECT_EVENT_ERROR_CODES2[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_EVENT_ERROR_CODES || (CONNECT_EVENT_ERROR_CODES = {}));\nvar CONNECT_ITEM_ERROR_CODES;\n(function(CONNECT_ITEM_ERROR_CODES2) {\n CONNECT_ITEM_ERROR_CODES2[CONNECT_ITEM_ERROR_CODES2[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_ITEM_ERROR_CODES2[CONNECT_ITEM_ERROR_CODES2[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_ITEM_ERROR_CODES || (CONNECT_ITEM_ERROR_CODES = {}));\nvar SEND_TRANSACTION_ERROR_CODES;\n(function(SEND_TRANSACTION_ERROR_CODES2) {\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n SEND_TRANSACTION_ERROR_CODES2[SEND_TRANSACTION_ERROR_CODES2[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(SEND_TRANSACTION_ERROR_CODES || (SEND_TRANSACTION_ERROR_CODES = {}));\nvar CHAIN;\n(function(CHAIN2) {\n CHAIN2[\"MAINNET\"] = \"-239\";\n CHAIN2[\"TESTNET\"] = \"-3\";\n})(CHAIN || (CHAIN = {}));\nvar commonjsGlobal = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nfunction getAugmentedNamespace(n2) {\n var f = n2.default;\n if (typeof f == \"function\") {\n var a2 = function() {\n return f.apply(this, arguments);\n };\n a2.prototype = f.prototype;\n } else\n a2 = {};\n Object.defineProperty(a2, \"__esModule\", { value: true });\n Object.keys(n2).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n2, k);\n Object.defineProperty(a2, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n2[k];\n }\n });\n });\n return a2;\n}\nvar naclUtil = { exports: {} };\n(function(module) {\n (function(root, f) {\n if (module.exports)\n module.exports = f();\n else if (root.nacl)\n root.nacl.util = f();\n else {\n root.nacl = {};\n root.nacl.util = f();\n }\n })(commonjsGlobal, function() {\n var util = {};\n function validateBase64(s2) {\n if (!/^(?:[A-Za-z0-9+\\/]{2}[A-Za-z0-9+\\/]{2})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/.test(s2)) {\n throw new TypeError(\"invalid encoding\");\n }\n }\n util.decodeUTF8 = function(s2) {\n if (typeof s2 !== \"string\")\n throw new TypeError(\"expected string\");\n var i2, d = unescape(encodeURIComponent(s2)), b = new Uint8Array(d.length);\n for (i2 = 0; i2 < d.length; i2++)\n b[i2] = d.charCodeAt(i2);\n return b;\n };\n util.encodeUTF8 = function(arr) {\n var i2, s2 = [];\n for (i2 = 0; i2 < arr.length; i2++)\n s2.push(String.fromCharCode(arr[i2]));\n return decodeURIComponent(escape(s2.join(\"\")));\n };\n if (typeof atob === \"undefined\") {\n if (typeof Buffer.from !== \"undefined\") {\n util.encodeBase64 = function(arr) {\n return Buffer.from(arr).toString(\"base64\");\n };\n util.decodeBase64 = function(s2) {\n validateBase64(s2);\n return new Uint8Array(Array.prototype.slice.call(Buffer.from(s2, \"base64\"), 0));\n };\n } else {\n util.encodeBase64 = function(arr) {\n return new Buffer(arr).toString(\"base64\");\n };\n util.decodeBase64 = function(s2) {\n validateBase64(s2);\n return new Uint8Array(Array.prototype.slice.call(new Buffer(s2, \"base64\"), 0));\n };\n }\n } else {\n util.encodeBase64 = function(arr) {\n var i2, s2 = [], len = arr.length;\n for (i2 = 0; i2 < len; i2++)\n s2.push(String.fromCharCode(arr[i2]));\n return btoa(s2.join(\"\"));\n };\n util.decodeBase64 = function(s2) {\n validateBase64(s2);\n var i2, d = atob(s2), b = new Uint8Array(d.length);\n for (i2 = 0; i2 < d.length; i2++)\n b[i2] = d.charCodeAt(i2);\n return b;\n };\n }\n return util;\n });\n})(naclUtil);\nconst nacl$1 = naclUtil.exports;\nfunction encodeUint8Array(value, urlSafe) {\n const encoded = nacl$1.encodeBase64(value);\n if (!urlSafe) {\n return encoded;\n }\n return encodeURIComponent(encoded);\n}\nfunction decodeToUint8Array(value, urlSafe) {\n if (urlSafe) {\n value = decodeURIComponent(value);\n }\n return nacl$1.decodeBase64(value);\n}\nfunction encode(value, urlSafe = false) {\n let uint8Array;\n if (value instanceof Uint8Array) {\n uint8Array = value;\n } else {\n if (typeof value !== \"string\") {\n value = JSON.stringify(value);\n }\n uint8Array = nacl$1.decodeUTF8(value);\n }\n return encodeUint8Array(uint8Array, urlSafe);\n}\nfunction decode(value, urlSafe = false) {\n const decodedUint8Array = decodeToUint8Array(value, urlSafe);\n return {\n toString() {\n return nacl$1.encodeUTF8(decodedUint8Array);\n },\n toObject() {\n try {\n return JSON.parse(nacl$1.encodeUTF8(decodedUint8Array));\n } catch (e2) {\n return null;\n }\n },\n toUint8Array() {\n return decodedUint8Array;\n }\n };\n}\nconst Base64 = {\n encode,\n decode\n};\nfunction concatUint8Arrays(buffer1, buffer2) {\n const mergedArray = new Uint8Array(buffer1.length + buffer2.length);\n mergedArray.set(buffer1);\n mergedArray.set(buffer2, buffer1.length);\n return mergedArray;\n}\nfunction splitToUint8Arrays(array, index) {\n if (index >= array.length) {\n throw new Error(\"Index is out of buffer\");\n }\n const subArray1 = array.slice(0, index);\n const subArray2 = array.slice(index);\n return [subArray1, subArray2];\n}\nfunction toHexString(byteArray) {\n let hexString = \"\";\n byteArray.forEach((byte) => {\n hexString += (\"0\" + (byte & 255).toString(16)).slice(-2);\n });\n return hexString;\n}\nfunction hexToByteArray(hexString) {\n if (hexString.length % 2 !== 0) {\n throw new Error(`Cannot convert ${hexString} to bytesArray`);\n }\n const result = new Uint8Array(hexString.length / 2);\n for (let i2 = 0; i2 < hexString.length; i2 += 2) {\n result[i2 / 2] = parseInt(hexString.slice(i2, i2 + 2), 16);\n }\n return result;\n}\nfunction isNode$1() {\n return typeof process !== \"undefined\" && process.versions != null && process.versions.node != null;\n}\nfunction commonjsRequire(path) {\n throw new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n}\nvar naclFast = { exports: {} };\nconst __viteBrowserExternal = {};\nconst __viteBrowserExternal$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n default: __viteBrowserExternal\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst require$$0 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1);\n(function(module) {\n (function(nacl2) {\n var gf = function(init) {\n var i2, r = new Float64Array(16);\n if (init)\n for (i2 = 0; i2 < init.length; i2++)\n r[i2] = init[i2];\n return r;\n };\n var randombytes = function() {\n throw new Error(\"no PRNG\");\n };\n var _0 = new Uint8Array(16);\n var _9 = new Uint8Array(32);\n _9[0] = 9;\n var gf0 = gf(), gf1 = gf([1]), _121665 = gf([56129, 1]), D = gf([30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995]), D2 = gf([61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222]), X = gf([54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553]), Y = gf([26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214]), I = gf([41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139]);\n function ts64(x, i2, h2, l2) {\n x[i2] = h2 >> 24 & 255;\n x[i2 + 1] = h2 >> 16 & 255;\n x[i2 + 2] = h2 >> 8 & 255;\n x[i2 + 3] = h2 & 255;\n x[i2 + 4] = l2 >> 24 & 255;\n x[i2 + 5] = l2 >> 16 & 255;\n x[i2 + 6] = l2 >> 8 & 255;\n x[i2 + 7] = l2 & 255;\n }\n function vn(x, xi, y, yi, n2) {\n var i2, d = 0;\n for (i2 = 0; i2 < n2; i2++)\n d |= x[xi + i2] ^ y[yi + i2];\n return (1 & d - 1 >>> 8) - 1;\n }\n function crypto_verify_16(x, xi, y, yi) {\n return vn(x, xi, y, yi, 16);\n }\n function crypto_verify_32(x, xi, y, yi) {\n return vn(x, xi, y, yi, 32);\n }\n function core_salsa20(o2, p2, k, c2) {\n var j0 = c2[0] & 255 | (c2[1] & 255) << 8 | (c2[2] & 255) << 16 | (c2[3] & 255) << 24, j1 = k[0] & 255 | (k[1] & 255) << 8 | (k[2] & 255) << 16 | (k[3] & 255) << 24, j2 = k[4] & 255 | (k[5] & 255) << 8 | (k[6] & 255) << 16 | (k[7] & 255) << 24, j3 = k[8] & 255 | (k[9] & 255) << 8 | (k[10] & 255) << 16 | (k[11] & 255) << 24, j4 = k[12] & 255 | (k[13] & 255) << 8 | (k[14] & 255) << 16 | (k[15] & 255) << 24, j5 = c2[4] & 255 | (c2[5] & 255) << 8 | (c2[6] & 255) << 16 | (c2[7] & 255) << 24, j6 = p2[0] & 255 | (p2[1] & 255) << 8 | (p2[2] & 255) << 16 | (p2[3] & 255) << 24, j7 = p2[4] & 255 | (p2[5] & 255) << 8 | (p2[6] & 255) << 16 | (p2[7] & 255) << 24, j8 = p2[8] & 255 | (p2[9] & 255) << 8 | (p2[10] & 255) << 16 | (p2[11] & 255) << 24, j9 = p2[12] & 255 | (p2[13] & 255) << 8 | (p2[14] & 255) << 16 | (p2[15] & 255) << 24, j10 = c2[8] & 255 | (c2[9] & 255) << 8 | (c2[10] & 255) << 16 | (c2[11] & 255) << 24, j11 = k[16] & 255 | (k[17] & 255) << 8 | (k[18] & 255) << 16 | (k[19] & 255) << 24, j12 = k[20] & 255 | (k[21] & 255) << 8 | (k[22] & 255) << 16 | (k[23] & 255) << 24, j13 = k[24] & 255 | (k[25] & 255) << 8 | (k[26] & 255) << 16 | (k[27] & 255) << 24, j14 = k[28] & 255 | (k[29] & 255) << 8 | (k[30] & 255) << 16 | (k[31] & 255) << 24, j15 = c2[12] & 255 | (c2[13] & 255) << 8 | (c2[14] & 255) << 16 | (c2[15] & 255) << 24;\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7, x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14, x15 = j15, u2;\n for (var i2 = 0; i2 < 20; i2 += 2) {\n u2 = x0 + x12 | 0;\n x4 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x4 + x0 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x4 | 0;\n x12 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x12 + x8 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x1 | 0;\n x9 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x9 + x5 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x9 | 0;\n x1 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x1 + x13 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x6 | 0;\n x14 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x14 + x10 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x14 | 0;\n x6 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x6 + x2 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x11 | 0;\n x3 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x3 + x15 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x3 | 0;\n x11 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x11 + x7 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x0 + x3 | 0;\n x1 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x1 + x0 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x1 | 0;\n x3 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x3 + x2 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x4 | 0;\n x6 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x6 + x5 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x6 | 0;\n x4 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x4 + x7 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x9 | 0;\n x11 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x11 + x10 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x11 | 0;\n x9 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x9 + x8 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x14 | 0;\n x12 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x12 + x15 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x12 | 0;\n x14 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x14 + x13 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n }\n x0 = x0 + j0 | 0;\n x1 = x1 + j1 | 0;\n x2 = x2 + j2 | 0;\n x3 = x3 + j3 | 0;\n x4 = x4 + j4 | 0;\n x5 = x5 + j5 | 0;\n x6 = x6 + j6 | 0;\n x7 = x7 + j7 | 0;\n x8 = x8 + j8 | 0;\n x9 = x9 + j9 | 0;\n x10 = x10 + j10 | 0;\n x11 = x11 + j11 | 0;\n x12 = x12 + j12 | 0;\n x13 = x13 + j13 | 0;\n x14 = x14 + j14 | 0;\n x15 = x15 + j15 | 0;\n o2[0] = x0 >>> 0 & 255;\n o2[1] = x0 >>> 8 & 255;\n o2[2] = x0 >>> 16 & 255;\n o2[3] = x0 >>> 24 & 255;\n o2[4] = x1 >>> 0 & 255;\n o2[5] = x1 >>> 8 & 255;\n o2[6] = x1 >>> 16 & 255;\n o2[7] = x1 >>> 24 & 255;\n o2[8] = x2 >>> 0 & 255;\n o2[9] = x2 >>> 8 & 255;\n o2[10] = x2 >>> 16 & 255;\n o2[11] = x2 >>> 24 & 255;\n o2[12] = x3 >>> 0 & 255;\n o2[13] = x3 >>> 8 & 255;\n o2[14] = x3 >>> 16 & 255;\n o2[15] = x3 >>> 24 & 255;\n o2[16] = x4 >>> 0 & 255;\n o2[17] = x4 >>> 8 & 255;\n o2[18] = x4 >>> 16 & 255;\n o2[19] = x4 >>> 24 & 255;\n o2[20] = x5 >>> 0 & 255;\n o2[21] = x5 >>> 8 & 255;\n o2[22] = x5 >>> 16 & 255;\n o2[23] = x5 >>> 24 & 255;\n o2[24] = x6 >>> 0 & 255;\n o2[25] = x6 >>> 8 & 255;\n o2[26] = x6 >>> 16 & 255;\n o2[27] = x6 >>> 24 & 255;\n o2[28] = x7 >>> 0 & 255;\n o2[29] = x7 >>> 8 & 255;\n o2[30] = x7 >>> 16 & 255;\n o2[31] = x7 >>> 24 & 255;\n o2[32] = x8 >>> 0 & 255;\n o2[33] = x8 >>> 8 & 255;\n o2[34] = x8 >>> 16 & 255;\n o2[35] = x8 >>> 24 & 255;\n o2[36] = x9 >>> 0 & 255;\n o2[37] = x9 >>> 8 & 255;\n o2[38] = x9 >>> 16 & 255;\n o2[39] = x9 >>> 24 & 255;\n o2[40] = x10 >>> 0 & 255;\n o2[41] = x10 >>> 8 & 255;\n o2[42] = x10 >>> 16 & 255;\n o2[43] = x10 >>> 24 & 255;\n o2[44] = x11 >>> 0 & 255;\n o2[45] = x11 >>> 8 & 255;\n o2[46] = x11 >>> 16 & 255;\n o2[47] = x11 >>> 24 & 255;\n o2[48] = x12 >>> 0 & 255;\n o2[49] = x12 >>> 8 & 255;\n o2[50] = x12 >>> 16 & 255;\n o2[51] = x12 >>> 24 & 255;\n o2[52] = x13 >>> 0 & 255;\n o2[53] = x13 >>> 8 & 255;\n o2[54] = x13 >>> 16 & 255;\n o2[55] = x13 >>> 24 & 255;\n o2[56] = x14 >>> 0 & 255;\n o2[57] = x14 >>> 8 & 255;\n o2[58] = x14 >>> 16 & 255;\n o2[59] = x14 >>> 24 & 255;\n o2[60] = x15 >>> 0 & 255;\n o2[61] = x15 >>> 8 & 255;\n o2[62] = x15 >>> 16 & 255;\n o2[63] = x15 >>> 24 & 255;\n }\n function core_hsalsa20(o2, p2, k, c2) {\n var j0 = c2[0] & 255 | (c2[1] & 255) << 8 | (c2[2] & 255) << 16 | (c2[3] & 255) << 24, j1 = k[0] & 255 | (k[1] & 255) << 8 | (k[2] & 255) << 16 | (k[3] & 255) << 24, j2 = k[4] & 255 | (k[5] & 255) << 8 | (k[6] & 255) << 16 | (k[7] & 255) << 24, j3 = k[8] & 255 | (k[9] & 255) << 8 | (k[10] & 255) << 16 | (k[11] & 255) << 24, j4 = k[12] & 255 | (k[13] & 255) << 8 | (k[14] & 255) << 16 | (k[15] & 255) << 24, j5 = c2[4] & 255 | (c2[5] & 255) << 8 | (c2[6] & 255) << 16 | (c2[7] & 255) << 24, j6 = p2[0] & 255 | (p2[1] & 255) << 8 | (p2[2] & 255) << 16 | (p2[3] & 255) << 24, j7 = p2[4] & 255 | (p2[5] & 255) << 8 | (p2[6] & 255) << 16 | (p2[7] & 255) << 24, j8 = p2[8] & 255 | (p2[9] & 255) << 8 | (p2[10] & 255) << 16 | (p2[11] & 255) << 24, j9 = p2[12] & 255 | (p2[13] & 255) << 8 | (p2[14] & 255) << 16 | (p2[15] & 255) << 24, j10 = c2[8] & 255 | (c2[9] & 255) << 8 | (c2[10] & 255) << 16 | (c2[11] & 255) << 24, j11 = k[16] & 255 | (k[17] & 255) << 8 | (k[18] & 255) << 16 | (k[19] & 255) << 24, j12 = k[20] & 255 | (k[21] & 255) << 8 | (k[22] & 255) << 16 | (k[23] & 255) << 24, j13 = k[24] & 255 | (k[25] & 255) << 8 | (k[26] & 255) << 16 | (k[27] & 255) << 24, j14 = k[28] & 255 | (k[29] & 255) << 8 | (k[30] & 255) << 16 | (k[31] & 255) << 24, j15 = c2[12] & 255 | (c2[13] & 255) << 8 | (c2[14] & 255) << 16 | (c2[15] & 255) << 24;\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7, x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14, x15 = j15, u2;\n for (var i2 = 0; i2 < 20; i2 += 2) {\n u2 = x0 + x12 | 0;\n x4 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x4 + x0 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x4 | 0;\n x12 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x12 + x8 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x1 | 0;\n x9 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x9 + x5 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x9 | 0;\n x1 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x1 + x13 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x6 | 0;\n x14 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x14 + x10 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x14 | 0;\n x6 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x6 + x2 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x11 | 0;\n x3 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x3 + x15 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x3 | 0;\n x11 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x11 + x7 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x0 + x3 | 0;\n x1 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x1 + x0 | 0;\n x2 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x2 + x1 | 0;\n x3 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x3 + x2 | 0;\n x0 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x5 + x4 | 0;\n x6 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x6 + x5 | 0;\n x7 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x7 + x6 | 0;\n x4 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x4 + x7 | 0;\n x5 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x10 + x9 | 0;\n x11 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x11 + x10 | 0;\n x8 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x8 + x11 | 0;\n x9 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x9 + x8 | 0;\n x10 ^= u2 << 18 | u2 >>> 32 - 18;\n u2 = x15 + x14 | 0;\n x12 ^= u2 << 7 | u2 >>> 32 - 7;\n u2 = x12 + x15 | 0;\n x13 ^= u2 << 9 | u2 >>> 32 - 9;\n u2 = x13 + x12 | 0;\n x14 ^= u2 << 13 | u2 >>> 32 - 13;\n u2 = x14 + x13 | 0;\n x15 ^= u2 << 18 | u2 >>> 32 - 18;\n }\n o2[0] = x0 >>> 0 & 255;\n o2[1] = x0 >>> 8 & 255;\n o2[2] = x0 >>> 16 & 255;\n o2[3] = x0 >>> 24 & 255;\n o2[4] = x5 >>> 0 & 255;\n o2[5] = x5 >>> 8 & 255;\n o2[6] = x5 >>> 16 & 255;\n o2[7] = x5 >>> 24 & 255;\n o2[8] = x10 >>> 0 & 255;\n o2[9] = x10 >>> 8 & 255;\n o2[10] = x10 >>> 16 & 255;\n o2[11] = x10 >>> 24 & 255;\n o2[12] = x15 >>> 0 & 255;\n o2[13] = x15 >>> 8 & 255;\n o2[14] = x15 >>> 16 & 255;\n o2[15] = x15 >>> 24 & 255;\n o2[16] = x6 >>> 0 & 255;\n o2[17] = x6 >>> 8 & 255;\n o2[18] = x6 >>> 16 & 255;\n o2[19] = x6 >>> 24 & 255;\n o2[20] = x7 >>> 0 & 255;\n o2[21] = x7 >>> 8 & 255;\n o2[22] = x7 >>> 16 & 255;\n o2[23] = x7 >>> 24 & 255;\n o2[24] = x8 >>> 0 & 255;\n o2[25] = x8 >>> 8 & 255;\n o2[26] = x8 >>> 16 & 255;\n o2[27] = x8 >>> 24 & 255;\n o2[28] = x9 >>> 0 & 255;\n o2[29] = x9 >>> 8 & 255;\n o2[30] = x9 >>> 16 & 255;\n o2[31] = x9 >>> 24 & 255;\n }\n function crypto_core_salsa20(out, inp, k, c2) {\n core_salsa20(out, inp, k, c2);\n }\n function crypto_core_hsalsa20(out, inp, k, c2) {\n core_hsalsa20(out, inp, k, c2);\n }\n var sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);\n function crypto_stream_salsa20_xor(c2, cpos, m, mpos, b, n2, k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u2, i2;\n for (i2 = 0; i2 < 16; i2++)\n z[i2] = 0;\n for (i2 = 0; i2 < 8; i2++)\n z[i2] = n2[i2];\n while (b >= 64) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < 64; i2++)\n c2[cpos + i2] = m[mpos + i2] ^ x[i2];\n u2 = 1;\n for (i2 = 8; i2 < 16; i2++) {\n u2 = u2 + (z[i2] & 255) | 0;\n z[i2] = u2 & 255;\n u2 >>>= 8;\n }\n b -= 64;\n cpos += 64;\n mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < b; i2++)\n c2[cpos + i2] = m[mpos + i2] ^ x[i2];\n }\n return 0;\n }\n function crypto_stream_salsa20(c2, cpos, b, n2, k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u2, i2;\n for (i2 = 0; i2 < 16; i2++)\n z[i2] = 0;\n for (i2 = 0; i2 < 8; i2++)\n z[i2] = n2[i2];\n while (b >= 64) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < 64; i2++)\n c2[cpos + i2] = x[i2];\n u2 = 1;\n for (i2 = 8; i2 < 16; i2++) {\n u2 = u2 + (z[i2] & 255) | 0;\n z[i2] = u2 & 255;\n u2 >>>= 8;\n }\n b -= 64;\n cpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n for (i2 = 0; i2 < b; i2++)\n c2[cpos + i2] = x[i2];\n }\n return 0;\n }\n function crypto_stream(c2, cpos, d, n2, k) {\n var s2 = new Uint8Array(32);\n crypto_core_hsalsa20(s2, n2, k, sigma);\n var sn = new Uint8Array(8);\n for (var i2 = 0; i2 < 8; i2++)\n sn[i2] = n2[i2 + 16];\n return crypto_stream_salsa20(c2, cpos, d, sn, s2);\n }\n function crypto_stream_xor(c2, cpos, m, mpos, d, n2, k) {\n var s2 = new Uint8Array(32);\n crypto_core_hsalsa20(s2, n2, k, sigma);\n var sn = new Uint8Array(8);\n for (var i2 = 0; i2 < 8; i2++)\n sn[i2] = n2[i2 + 16];\n return crypto_stream_salsa20_xor(c2, cpos, m, mpos, d, sn, s2);\n }\n var poly1305 = function(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n var t0, t1, t2, t3, t4, t5, t6, t7;\n t0 = key[0] & 255 | (key[1] & 255) << 8;\n this.r[0] = t0 & 8191;\n t1 = key[2] & 255 | (key[3] & 255) << 8;\n this.r[1] = (t0 >>> 13 | t1 << 3) & 8191;\n t2 = key[4] & 255 | (key[5] & 255) << 8;\n this.r[2] = (t1 >>> 10 | t2 << 6) & 7939;\n t3 = key[6] & 255 | (key[7] & 255) << 8;\n this.r[3] = (t2 >>> 7 | t3 << 9) & 8191;\n t4 = key[8] & 255 | (key[9] & 255) << 8;\n this.r[4] = (t3 >>> 4 | t4 << 12) & 255;\n this.r[5] = t4 >>> 1 & 8190;\n t5 = key[10] & 255 | (key[11] & 255) << 8;\n this.r[6] = (t4 >>> 14 | t5 << 2) & 8191;\n t6 = key[12] & 255 | (key[13] & 255) << 8;\n this.r[7] = (t5 >>> 11 | t6 << 5) & 8065;\n t7 = key[14] & 255 | (key[15] & 255) << 8;\n this.r[8] = (t6 >>> 8 | t7 << 8) & 8191;\n this.r[9] = t7 >>> 5 & 127;\n this.pad[0] = key[16] & 255 | (key[17] & 255) << 8;\n this.pad[1] = key[18] & 255 | (key[19] & 255) << 8;\n this.pad[2] = key[20] & 255 | (key[21] & 255) << 8;\n this.pad[3] = key[22] & 255 | (key[23] & 255) << 8;\n this.pad[4] = key[24] & 255 | (key[25] & 255) << 8;\n this.pad[5] = key[26] & 255 | (key[27] & 255) << 8;\n this.pad[6] = key[28] & 255 | (key[29] & 255) << 8;\n this.pad[7] = key[30] & 255 | (key[31] & 255) << 8;\n };\n poly1305.prototype.blocks = function(m, mpos, bytes) {\n var hibit = this.fin ? 0 : 1 << 11;\n var t0, t1, t2, t3, t4, t5, t6, t7, c2;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n var h0 = this.h[0], h1 = this.h[1], h2 = this.h[2], h3 = this.h[3], h4 = this.h[4], h5 = this.h[5], h6 = this.h[6], h7 = this.h[7], h8 = this.h[8], h9 = this.h[9];\n var r0 = this.r[0], r1 = this.r[1], r2 = this.r[2], r3 = this.r[3], r4 = this.r[4], r5 = this.r[5], r6 = this.r[6], r7 = this.r[7], r8 = this.r[8], r9 = this.r[9];\n while (bytes >= 16) {\n t0 = m[mpos + 0] & 255 | (m[mpos + 1] & 255) << 8;\n h0 += t0 & 8191;\n t1 = m[mpos + 2] & 255 | (m[mpos + 3] & 255) << 8;\n h1 += (t0 >>> 13 | t1 << 3) & 8191;\n t2 = m[mpos + 4] & 255 | (m[mpos + 5] & 255) << 8;\n h2 += (t1 >>> 10 | t2 << 6) & 8191;\n t3 = m[mpos + 6] & 255 | (m[mpos + 7] & 255) << 8;\n h3 += (t2 >>> 7 | t3 << 9) & 8191;\n t4 = m[mpos + 8] & 255 | (m[mpos + 9] & 255) << 8;\n h4 += (t3 >>> 4 | t4 << 12) & 8191;\n h5 += t4 >>> 1 & 8191;\n t5 = m[mpos + 10] & 255 | (m[mpos + 11] & 255) << 8;\n h6 += (t4 >>> 14 | t5 << 2) & 8191;\n t6 = m[mpos + 12] & 255 | (m[mpos + 13] & 255) << 8;\n h7 += (t5 >>> 11 | t6 << 5) & 8191;\n t7 = m[mpos + 14] & 255 | (m[mpos + 15] & 255) << 8;\n h8 += (t6 >>> 8 | t7 << 8) & 8191;\n h9 += t7 >>> 5 | hibit;\n c2 = 0;\n d0 = c2;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c2 = d0 >>> 13;\n d0 &= 8191;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c2 += d0 >>> 13;\n d0 &= 8191;\n d1 = c2;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c2 = d1 >>> 13;\n d1 &= 8191;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c2 += d1 >>> 13;\n d1 &= 8191;\n d2 = c2;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c2 = d2 >>> 13;\n d2 &= 8191;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c2 += d2 >>> 13;\n d2 &= 8191;\n d3 = c2;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c2 = d3 >>> 13;\n d3 &= 8191;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c2 += d3 >>> 13;\n d3 &= 8191;\n d4 = c2;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c2 = d4 >>> 13;\n d4 &= 8191;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c2 += d4 >>> 13;\n d4 &= 8191;\n d5 = c2;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c2 = d5 >>> 13;\n d5 &= 8191;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c2 += d5 >>> 13;\n d5 &= 8191;\n d6 = c2;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c2 = d6 >>> 13;\n d6 &= 8191;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c2 += d6 >>> 13;\n d6 &= 8191;\n d7 = c2;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c2 = d7 >>> 13;\n d7 &= 8191;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c2 += d7 >>> 13;\n d7 &= 8191;\n d8 = c2;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c2 = d8 >>> 13;\n d8 &= 8191;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c2 += d8 >>> 13;\n d8 &= 8191;\n d9 = c2;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c2 = d9 >>> 13;\n d9 &= 8191;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c2 += d9 >>> 13;\n d9 &= 8191;\n c2 = (c2 << 2) + c2 | 0;\n c2 = c2 + d0 | 0;\n d0 = c2 & 8191;\n c2 = c2 >>> 13;\n d1 += c2;\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n mpos += 16;\n bytes -= 16;\n }\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n };\n poly1305.prototype.finish = function(mac, macpos) {\n var g = new Uint16Array(10);\n var c2, mask, f, i2;\n if (this.leftover) {\n i2 = this.leftover;\n this.buffer[i2++] = 1;\n for (; i2 < 16; i2++)\n this.buffer[i2] = 0;\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n c2 = this.h[1] >>> 13;\n this.h[1] &= 8191;\n for (i2 = 2; i2 < 10; i2++) {\n this.h[i2] += c2;\n c2 = this.h[i2] >>> 13;\n this.h[i2] &= 8191;\n }\n this.h[0] += c2 * 5;\n c2 = this.h[0] >>> 13;\n this.h[0] &= 8191;\n this.h[1] += c2;\n c2 = this.h[1] >>> 13;\n this.h[1] &= 8191;\n this.h[2] += c2;\n g[0] = this.h[0] + 5;\n c2 = g[0] >>> 13;\n g[0] &= 8191;\n for (i2 = 1; i2 < 10; i2++) {\n g[i2] = this.h[i2] + c2;\n c2 = g[i2] >>> 13;\n g[i2] &= 8191;\n }\n g[9] -= 1 << 13;\n mask = (c2 ^ 1) - 1;\n for (i2 = 0; i2 < 10; i2++)\n g[i2] &= mask;\n mask = ~mask;\n for (i2 = 0; i2 < 10; i2++)\n this.h[i2] = this.h[i2] & mask | g[i2];\n this.h[0] = (this.h[0] | this.h[1] << 13) & 65535;\n this.h[1] = (this.h[1] >>> 3 | this.h[2] << 10) & 65535;\n this.h[2] = (this.h[2] >>> 6 | this.h[3] << 7) & 65535;\n this.h[3] = (this.h[3] >>> 9 | this.h[4] << 4) & 65535;\n this.h[4] = (this.h[4] >>> 12 | this.h[5] << 1 | this.h[6] << 14) & 65535;\n this.h[5] = (this.h[6] >>> 2 | this.h[7] << 11) & 65535;\n this.h[6] = (this.h[7] >>> 5 | this.h[8] << 8) & 65535;\n this.h[7] = (this.h[8] >>> 8 | this.h[9] << 5) & 65535;\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 65535;\n for (i2 = 1; i2 < 8; i2++) {\n f = (this.h[i2] + this.pad[i2] | 0) + (f >>> 16) | 0;\n this.h[i2] = f & 65535;\n }\n mac[macpos + 0] = this.h[0] >>> 0 & 255;\n mac[macpos + 1] = this.h[0] >>> 8 & 255;\n mac[macpos + 2] = this.h[1] >>> 0 & 255;\n mac[macpos + 3] = this.h[1] >>> 8 & 255;\n mac[macpos + 4] = this.h[2] >>> 0 & 255;\n mac[macpos + 5] = this.h[2] >>> 8 & 255;\n mac[macpos + 6] = this.h[3] >>> 0 & 255;\n mac[macpos + 7] = this.h[3] >>> 8 & 255;\n mac[macpos + 8] = this.h[4] >>> 0 & 255;\n mac[macpos + 9] = this.h[4] >>> 8 & 255;\n mac[macpos + 10] = this.h[5] >>> 0 & 255;\n mac[macpos + 11] = this.h[5] >>> 8 & 255;\n mac[macpos + 12] = this.h[6] >>> 0 & 255;\n mac[macpos + 13] = this.h[6] >>> 8 & 255;\n mac[macpos + 14] = this.h[7] >>> 0 & 255;\n mac[macpos + 15] = this.h[7] >>> 8 & 255;\n };\n poly1305.prototype.update = function(m, mpos, bytes) {\n var i2, want;\n if (this.leftover) {\n want = 16 - this.leftover;\n if (want > bytes)\n want = bytes;\n for (i2 = 0; i2 < want; i2++)\n this.buffer[this.leftover + i2] = m[mpos + i2];\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16)\n return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n if (bytes >= 16) {\n want = bytes - bytes % 16;\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n if (bytes) {\n for (i2 = 0; i2 < bytes; i2++)\n this.buffer[this.leftover + i2] = m[mpos + i2];\n this.leftover += bytes;\n }\n };\n function crypto_onetimeauth(out, outpos, m, mpos, n2, k) {\n var s2 = new poly1305(k);\n s2.update(m, mpos, n2);\n s2.finish(out, outpos);\n return 0;\n }\n function crypto_onetimeauth_verify(h2, hpos, m, mpos, n2, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x, 0, m, mpos, n2, k);\n return crypto_verify_16(h2, hpos, x, 0);\n }\n function crypto_secretbox(c2, m, d, n2, k) {\n var i2;\n if (d < 32)\n return -1;\n crypto_stream_xor(c2, 0, m, 0, d, n2, k);\n crypto_onetimeauth(c2, 16, c2, 32, d - 32, c2);\n for (i2 = 0; i2 < 16; i2++)\n c2[i2] = 0;\n return 0;\n }\n function crypto_secretbox_open(m, c2, d, n2, k) {\n var i2;\n var x = new Uint8Array(32);\n if (d < 32)\n return -1;\n crypto_stream(x, 0, 32, n2, k);\n if (crypto_onetimeauth_verify(c2, 16, c2, 32, d - 32, x) !== 0)\n return -1;\n crypto_stream_xor(m, 0, c2, 0, d, n2, k);\n for (i2 = 0; i2 < 32; i2++)\n m[i2] = 0;\n return 0;\n }\n function set25519(r, a2) {\n var i2;\n for (i2 = 0; i2 < 16; i2++)\n r[i2] = a2[i2] | 0;\n }\n function car25519(o2) {\n var i2, v, c2 = 1;\n for (i2 = 0; i2 < 16; i2++) {\n v = o2[i2] + c2 + 65535;\n c2 = Math.floor(v / 65536);\n o2[i2] = v - c2 * 65536;\n }\n o2[0] += c2 - 1 + 37 * (c2 - 1);\n }\n function sel25519(p2, q, b) {\n var t2, c2 = ~(b - 1);\n for (var i2 = 0; i2 < 16; i2++) {\n t2 = c2 & (p2[i2] ^ q[i2]);\n p2[i2] ^= t2;\n q[i2] ^= t2;\n }\n }\n function pack25519(o2, n2) {\n var i2, j, b;\n var m = gf(), t2 = gf();\n for (i2 = 0; i2 < 16; i2++)\n t2[i2] = n2[i2];\n car25519(t2);\n car25519(t2);\n car25519(t2);\n for (j = 0; j < 2; j++) {\n m[0] = t2[0] - 65517;\n for (i2 = 1; i2 < 15; i2++) {\n m[i2] = t2[i2] - 65535 - (m[i2 - 1] >> 16 & 1);\n m[i2 - 1] &= 65535;\n }\n m[15] = t2[15] - 32767 - (m[14] >> 16 & 1);\n b = m[15] >> 16 & 1;\n m[14] &= 65535;\n sel25519(t2, m, 1 - b);\n }\n for (i2 = 0; i2 < 16; i2++) {\n o2[2 * i2] = t2[i2] & 255;\n o2[2 * i2 + 1] = t2[i2] >> 8;\n }\n }\n function neq25519(a2, b) {\n var c2 = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c2, a2);\n pack25519(d, b);\n return crypto_verify_32(c2, 0, d, 0);\n }\n function par25519(a2) {\n var d = new Uint8Array(32);\n pack25519(d, a2);\n return d[0] & 1;\n }\n function unpack25519(o2, n2) {\n var i2;\n for (i2 = 0; i2 < 16; i2++)\n o2[i2] = n2[2 * i2] + (n2[2 * i2 + 1] << 8);\n o2[15] &= 32767;\n }\n function A(o2, a2, b) {\n for (var i2 = 0; i2 < 16; i2++)\n o2[i2] = a2[i2] + b[i2];\n }\n function Z(o2, a2, b) {\n for (var i2 = 0; i2 < 16; i2++)\n o2[i2] = a2[i2] - b[i2];\n }\n function M(o2, a2, b) {\n var v, c2, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];\n v = a2[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a2[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a2[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a2[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a2[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a2[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a2[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a2[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a2[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a2[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a2[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a2[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a2[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a2[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a2[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a2[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n c2 = 1;\n v = t0 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t0 = v - c2 * 65536;\n v = t1 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t1 = v - c2 * 65536;\n v = t2 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t2 = v - c2 * 65536;\n v = t3 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t3 = v - c2 * 65536;\n v = t4 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t4 = v - c2 * 65536;\n v = t5 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t5 = v - c2 * 65536;\n v = t6 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t6 = v - c2 * 65536;\n v = t7 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t7 = v - c2 * 65536;\n v = t8 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t8 = v - c2 * 65536;\n v = t9 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t9 = v - c2 * 65536;\n v = t10 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t10 = v - c2 * 65536;\n v = t11 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t11 = v - c2 * 65536;\n v = t12 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t12 = v - c2 * 65536;\n v = t13 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t13 = v - c2 * 65536;\n v = t14 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t14 = v - c2 * 65536;\n v = t15 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t15 = v - c2 * 65536;\n t0 += c2 - 1 + 37 * (c2 - 1);\n c2 = 1;\n v = t0 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t0 = v - c2 * 65536;\n v = t1 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t1 = v - c2 * 65536;\n v = t2 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t2 = v - c2 * 65536;\n v = t3 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t3 = v - c2 * 65536;\n v = t4 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t4 = v - c2 * 65536;\n v = t5 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t5 = v - c2 * 65536;\n v = t6 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t6 = v - c2 * 65536;\n v = t7 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t7 = v - c2 * 65536;\n v = t8 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t8 = v - c2 * 65536;\n v = t9 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t9 = v - c2 * 65536;\n v = t10 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t10 = v - c2 * 65536;\n v = t11 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t11 = v - c2 * 65536;\n v = t12 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t12 = v - c2 * 65536;\n v = t13 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t13 = v - c2 * 65536;\n v = t14 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t14 = v - c2 * 65536;\n v = t15 + c2 + 65535;\n c2 = Math.floor(v / 65536);\n t15 = v - c2 * 65536;\n t0 += c2 - 1 + 37 * (c2 - 1);\n o2[0] = t0;\n o2[1] = t1;\n o2[2] = t2;\n o2[3] = t3;\n o2[4] = t4;\n o2[5] = t5;\n o2[6] = t6;\n o2[7] = t7;\n o2[8] = t8;\n o2[9] = t9;\n o2[10] = t10;\n o2[11] = t11;\n o2[12] = t12;\n o2[13] = t13;\n o2[14] = t14;\n o2[15] = t15;\n }\n function S(o2, a2) {\n M(o2, a2, a2);\n }\n function inv25519(o2, i2) {\n var c2 = gf();\n var a2;\n for (a2 = 0; a2 < 16; a2++)\n c2[a2] = i2[a2];\n for (a2 = 253; a2 >= 0; a2--) {\n S(c2, c2);\n if (a2 !== 2 && a2 !== 4)\n M(c2, c2, i2);\n }\n for (a2 = 0; a2 < 16; a2++)\n o2[a2] = c2[a2];\n }\n function pow2523(o2, i2) {\n var c2 = gf();\n var a2;\n for (a2 = 0; a2 < 16; a2++)\n c2[a2] = i2[a2];\n for (a2 = 250; a2 >= 0; a2--) {\n S(c2, c2);\n if (a2 !== 1)\n M(c2, c2, i2);\n }\n for (a2 = 0; a2 < 16; a2++)\n o2[a2] = c2[a2];\n }\n function crypto_scalarmult(q, n2, p2) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i2;\n var a2 = gf(), b = gf(), c2 = gf(), d = gf(), e2 = gf(), f = gf();\n for (i2 = 0; i2 < 31; i2++)\n z[i2] = n2[i2];\n z[31] = n2[31] & 127 | 64;\n z[0] &= 248;\n unpack25519(x, p2);\n for (i2 = 0; i2 < 16; i2++) {\n b[i2] = x[i2];\n d[i2] = a2[i2] = c2[i2] = 0;\n }\n a2[0] = d[0] = 1;\n for (i2 = 254; i2 >= 0; --i2) {\n r = z[i2 >>> 3] >>> (i2 & 7) & 1;\n sel25519(a2, b, r);\n sel25519(c2, d, r);\n A(e2, a2, c2);\n Z(a2, a2, c2);\n A(c2, b, d);\n Z(b, b, d);\n S(d, e2);\n S(f, a2);\n M(a2, c2, a2);\n M(c2, b, e2);\n A(e2, a2, c2);\n Z(a2, a2, c2);\n S(b, a2);\n Z(c2, d, f);\n M(a2, c2, _121665);\n A(a2, a2, d);\n M(c2, c2, a2);\n M(a2, d, f);\n M(d, b, x);\n S(b, e2);\n sel25519(a2, b, r);\n sel25519(c2, d, r);\n }\n for (i2 = 0; i2 < 16; i2++) {\n x[i2 + 16] = a2[i2];\n x[i2 + 32] = c2[i2];\n x[i2 + 48] = b[i2];\n x[i2 + 64] = d[i2];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32, x32);\n M(x16, x16, x32);\n pack25519(q, x16);\n return 0;\n }\n function crypto_scalarmult_base(q, n2) {\n return crypto_scalarmult(q, n2, _9);\n }\n function crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n }\n function crypto_box_beforenm(k, y, x) {\n var s2 = new Uint8Array(32);\n crypto_scalarmult(s2, x, y);\n return crypto_core_hsalsa20(k, _0, s2, sigma);\n }\n var crypto_box_afternm = crypto_secretbox;\n var crypto_box_open_afternm = crypto_secretbox_open;\n function crypto_box(c2, m, d, n2, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c2, m, d, n2, k);\n }\n function crypto_box_open(m, c2, d, n2, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c2, d, n2, k);\n }\n var K = [\n 1116352408,\n 3609767458,\n 1899447441,\n 602891725,\n 3049323471,\n 3964484399,\n 3921009573,\n 2173295548,\n 961987163,\n 4081628472,\n 1508970993,\n 3053834265,\n 2453635748,\n 2937671579,\n 2870763221,\n 3664609560,\n 3624381080,\n 2734883394,\n 310598401,\n 1164996542,\n 607225278,\n 1323610764,\n 1426881987,\n 3590304994,\n 1925078388,\n 4068182383,\n 2162078206,\n 991336113,\n 2614888103,\n 633803317,\n 3248222580,\n 3479774868,\n 3835390401,\n 2666613458,\n 4022224774,\n 944711139,\n 264347078,\n 2341262773,\n 604807628,\n 2007800933,\n 770255983,\n 1495990901,\n 1249150122,\n 1856431235,\n 1555081692,\n 3175218132,\n 1996064986,\n 2198950837,\n 2554220882,\n 3999719339,\n 2821834349,\n 766784016,\n 2952996808,\n 2566594879,\n 3210313671,\n 3203337956,\n 3336571891,\n 1034457026,\n 3584528711,\n 2466948901,\n 113926993,\n 3758326383,\n 338241895,\n 168717936,\n 666307205,\n 1188179964,\n 773529912,\n 1546045734,\n 1294757372,\n 1522805485,\n 1396182291,\n 2643833823,\n 1695183700,\n 2343527390,\n 1986661051,\n 1014477480,\n 2177026350,\n 1206759142,\n 2456956037,\n 344077627,\n 2730485921,\n 1290863460,\n 2820302411,\n 3158454273,\n 3259730800,\n 3505952657,\n 3345764771,\n 106217008,\n 3516065817,\n 3606008344,\n 3600352804,\n 1432725776,\n 4094571909,\n 1467031594,\n 275423344,\n 851169720,\n 430227734,\n 3100823752,\n 506948616,\n 1363258195,\n 659060556,\n 3750685593,\n 883997877,\n 3785050280,\n 958139571,\n 3318307427,\n 1322822218,\n 3812723403,\n 1537002063,\n 2003034995,\n 1747873779,\n 3602036899,\n 1955562222,\n 1575990012,\n 2024104815,\n 1125592928,\n 2227730452,\n 2716904306,\n 2361852424,\n 442776044,\n 2428436474,\n 593698344,\n 2756734187,\n 3733110249,\n 3204031479,\n 2999351573,\n 3329325298,\n 3815920427,\n 3391569614,\n 3928383900,\n 3515267271,\n 566280711,\n 3940187606,\n 3454069534,\n 4118630271,\n 4000239992,\n 116418474,\n 1914138554,\n 174292421,\n 2731055270,\n 289380356,\n 3203993006,\n 460393269,\n 320620315,\n 685471733,\n 587496836,\n 852142971,\n 1086792851,\n 1017036298,\n 365543100,\n 1126000580,\n 2618297676,\n 1288033470,\n 3409855158,\n 1501505948,\n 4234509866,\n 1607167915,\n 987167468,\n 1816402316,\n 1246189591\n ];\n function crypto_hashblocks_hl(hh, hl, m, n2) {\n var wh = new Int32Array(16), wl = new Int32Array(16), bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7, bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7, th, tl, i2, j, h2, l2, a2, b, c2, d;\n var ah0 = hh[0], ah1 = hh[1], ah2 = hh[2], ah3 = hh[3], ah4 = hh[4], ah5 = hh[5], ah6 = hh[6], ah7 = hh[7], al0 = hl[0], al1 = hl[1], al2 = hl[2], al3 = hl[3], al4 = hl[4], al5 = hl[5], al6 = hl[6], al7 = hl[7];\n var pos = 0;\n while (n2 >= 128) {\n for (i2 = 0; i2 < 16; i2++) {\n j = 8 * i2 + pos;\n wh[i2] = m[j + 0] << 24 | m[j + 1] << 16 | m[j + 2] << 8 | m[j + 3];\n wl[i2] = m[j + 4] << 24 | m[j + 5] << 16 | m[j + 6] << 8 | m[j + 7];\n }\n for (i2 = 0; i2 < 80; i2++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n h2 = ah7;\n l2 = al7;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = (ah4 >>> 14 | al4 << 32 - 14) ^ (ah4 >>> 18 | al4 << 32 - 18) ^ (al4 >>> 41 - 32 | ah4 << 32 - (41 - 32));\n l2 = (al4 >>> 14 | ah4 << 32 - 14) ^ (al4 >>> 18 | ah4 << 32 - 18) ^ (ah4 >>> 41 - 32 | al4 << 32 - (41 - 32));\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = ah4 & ah5 ^ ~ah4 & ah6;\n l2 = al4 & al5 ^ ~al4 & al6;\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = K[i2 * 2];\n l2 = K[i2 * 2 + 1];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = wh[i2 % 16];\n l2 = wl[i2 % 16];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n th = c2 & 65535 | d << 16;\n tl = a2 & 65535 | b << 16;\n h2 = th;\n l2 = tl;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = (ah0 >>> 28 | al0 << 32 - 28) ^ (al0 >>> 34 - 32 | ah0 << 32 - (34 - 32)) ^ (al0 >>> 39 - 32 | ah0 << 32 - (39 - 32));\n l2 = (al0 >>> 28 | ah0 << 32 - 28) ^ (ah0 >>> 34 - 32 | al0 << 32 - (34 - 32)) ^ (ah0 >>> 39 - 32 | al0 << 32 - (39 - 32));\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n h2 = ah0 & ah1 ^ ah0 & ah2 ^ ah1 & ah2;\n l2 = al0 & al1 ^ al0 & al2 ^ al1 & al2;\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n bh7 = c2 & 65535 | d << 16;\n bl7 = a2 & 65535 | b << 16;\n h2 = bh3;\n l2 = bl3;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = th;\n l2 = tl;\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n bh3 = c2 & 65535 | d << 16;\n bl3 = a2 & 65535 | b << 16;\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n if (i2 % 16 === 15) {\n for (j = 0; j < 16; j++) {\n h2 = wh[j];\n l2 = wl[j];\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = wh[(j + 9) % 16];\n l2 = wl[(j + 9) % 16];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n th = wh[(j + 1) % 16];\n tl = wl[(j + 1) % 16];\n h2 = (th >>> 1 | tl << 32 - 1) ^ (th >>> 8 | tl << 32 - 8) ^ th >>> 7;\n l2 = (tl >>> 1 | th << 32 - 1) ^ (tl >>> 8 | th << 32 - 8) ^ (tl >>> 7 | th << 32 - 7);\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n th = wh[(j + 14) % 16];\n tl = wl[(j + 14) % 16];\n h2 = (th >>> 19 | tl << 32 - 19) ^ (tl >>> 61 - 32 | th << 32 - (61 - 32)) ^ th >>> 6;\n l2 = (tl >>> 19 | th << 32 - 19) ^ (th >>> 61 - 32 | tl << 32 - (61 - 32)) ^ (tl >>> 6 | th << 32 - 6);\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n wh[j] = c2 & 65535 | d << 16;\n wl[j] = a2 & 65535 | b << 16;\n }\n }\n }\n h2 = ah0;\n l2 = al0;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[0];\n l2 = hl[0];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[0] = ah0 = c2 & 65535 | d << 16;\n hl[0] = al0 = a2 & 65535 | b << 16;\n h2 = ah1;\n l2 = al1;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[1];\n l2 = hl[1];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[1] = ah1 = c2 & 65535 | d << 16;\n hl[1] = al1 = a2 & 65535 | b << 16;\n h2 = ah2;\n l2 = al2;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[2];\n l2 = hl[2];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[2] = ah2 = c2 & 65535 | d << 16;\n hl[2] = al2 = a2 & 65535 | b << 16;\n h2 = ah3;\n l2 = al3;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[3];\n l2 = hl[3];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[3] = ah3 = c2 & 65535 | d << 16;\n hl[3] = al3 = a2 & 65535 | b << 16;\n h2 = ah4;\n l2 = al4;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[4];\n l2 = hl[4];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[4] = ah4 = c2 & 65535 | d << 16;\n hl[4] = al4 = a2 & 65535 | b << 16;\n h2 = ah5;\n l2 = al5;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[5];\n l2 = hl[5];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[5] = ah5 = c2 & 65535 | d << 16;\n hl[5] = al5 = a2 & 65535 | b << 16;\n h2 = ah6;\n l2 = al6;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[6];\n l2 = hl[6];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[6] = ah6 = c2 & 65535 | d << 16;\n hl[6] = al6 = a2 & 65535 | b << 16;\n h2 = ah7;\n l2 = al7;\n a2 = l2 & 65535;\n b = l2 >>> 16;\n c2 = h2 & 65535;\n d = h2 >>> 16;\n h2 = hh[7];\n l2 = hl[7];\n a2 += l2 & 65535;\n b += l2 >>> 16;\n c2 += h2 & 65535;\n d += h2 >>> 16;\n b += a2 >>> 16;\n c2 += b >>> 16;\n d += c2 >>> 16;\n hh[7] = ah7 = c2 & 65535 | d << 16;\n hl[7] = al7 = a2 & 65535 | b << 16;\n pos += 128;\n n2 -= 128;\n }\n return n2;\n }\n function crypto_hash(out, m, n2) {\n var hh = new Int32Array(8), hl = new Int32Array(8), x = new Uint8Array(256), i2, b = n2;\n hh[0] = 1779033703;\n hh[1] = 3144134277;\n hh[2] = 1013904242;\n hh[3] = 2773480762;\n hh[4] = 1359893119;\n hh[5] = 2600822924;\n hh[6] = 528734635;\n hh[7] = 1541459225;\n hl[0] = 4089235720;\n hl[1] = 2227873595;\n hl[2] = 4271175723;\n hl[3] = 1595750129;\n hl[4] = 2917565137;\n hl[5] = 725511199;\n hl[6] = 4215389547;\n hl[7] = 327033209;\n crypto_hashblocks_hl(hh, hl, m, n2);\n n2 %= 128;\n for (i2 = 0; i2 < n2; i2++)\n x[i2] = m[b - n2 + i2];\n x[n2] = 128;\n n2 = 256 - 128 * (n2 < 112 ? 1 : 0);\n x[n2 - 9] = 0;\n ts64(x, n2 - 8, b / 536870912 | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n2);\n for (i2 = 0; i2 < 8; i2++)\n ts64(out, 8 * i2, hh[i2], hl[i2]);\n return 0;\n }\n function add(p2, q) {\n var a2 = gf(), b = gf(), c2 = gf(), d = gf(), e2 = gf(), f = gf(), g = gf(), h2 = gf(), t2 = gf();\n Z(a2, p2[1], p2[0]);\n Z(t2, q[1], q[0]);\n M(a2, a2, t2);\n A(b, p2[0], p2[1]);\n A(t2, q[0], q[1]);\n M(b, b, t2);\n M(c2, p2[3], q[3]);\n M(c2, c2, D2);\n M(d, p2[2], q[2]);\n A(d, d, d);\n Z(e2, b, a2);\n Z(f, d, c2);\n A(g, d, c2);\n A(h2, b, a2);\n M(p2[0], e2, f);\n M(p2[1], h2, g);\n M(p2[2], g, f);\n M(p2[3], e2, h2);\n }\n function cswap(p2, q, b) {\n var i2;\n for (i2 = 0; i2 < 4; i2++) {\n sel25519(p2[i2], q[i2], b);\n }\n }\n function pack(r, p2) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p2[2]);\n M(tx, p2[0], zi);\n M(ty, p2[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n }\n function scalarmult(p2, q, s2) {\n var b, i2;\n set25519(p2[0], gf0);\n set25519(p2[1], gf1);\n set25519(p2[2], gf1);\n set25519(p2[3], gf0);\n for (i2 = 255; i2 >= 0; --i2) {\n b = s2[i2 / 8 | 0] >> (i2 & 7) & 1;\n cswap(p2, q, b);\n add(q, p2);\n add(p2, p2);\n cswap(p2, q, b);\n }\n }\n function scalarbase(p2, s2) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p2, q, s2);\n }\n function crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p2 = [gf(), gf(), gf(), gf()];\n var i2;\n if (!seeded)\n randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n scalarbase(p2, d);\n pack(pk, p2);\n for (i2 = 0; i2 < 32; i2++)\n sk[i2 + 32] = pk[i2];\n return 0;\n }\n var L = new Float64Array([237, 211, 245, 92, 26, 99, 18, 88, 214, 156, 247, 162, 222, 249, 222, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]);\n function modL(r, x) {\n var carry, i2, j, k;\n for (i2 = 63; i2 >= 32; --i2) {\n carry = 0;\n for (j = i2 - 32, k = i2 - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i2] * L[j - (i2 - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i2] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++)\n x[j] -= carry * L[j];\n for (i2 = 0; i2 < 32; i2++) {\n x[i2 + 1] += x[i2] >> 8;\n r[i2] = x[i2] & 255;\n }\n }\n function reduce(r) {\n var x = new Float64Array(64), i2;\n for (i2 = 0; i2 < 64; i2++)\n x[i2] = r[i2];\n for (i2 = 0; i2 < 64; i2++)\n r[i2] = 0;\n modL(r, x);\n }\n function crypto_sign(sm, m, n2, sk) {\n var d = new Uint8Array(64), h2 = new Uint8Array(64), r = new Uint8Array(64);\n var i2, j, x = new Float64Array(64);\n var p2 = [gf(), gf(), gf(), gf()];\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n var smlen = n2 + 64;\n for (i2 = 0; i2 < n2; i2++)\n sm[64 + i2] = m[i2];\n for (i2 = 0; i2 < 32; i2++)\n sm[32 + i2] = d[32 + i2];\n crypto_hash(r, sm.subarray(32), n2 + 32);\n reduce(r);\n scalarbase(p2, r);\n pack(sm, p2);\n for (i2 = 32; i2 < 64; i2++)\n sm[i2] = sk[i2];\n crypto_hash(h2, sm, n2 + 64);\n reduce(h2);\n for (i2 = 0; i2 < 64; i2++)\n x[i2] = 0;\n for (i2 = 0; i2 < 32; i2++)\n x[i2] = r[i2];\n for (i2 = 0; i2 < 32; i2++) {\n for (j = 0; j < 32; j++) {\n x[i2 + j] += h2[i2] * d[j];\n }\n }\n modL(sm.subarray(32), x);\n return smlen;\n }\n function unpackneg(r, p2) {\n var t2 = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p2);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t2, den6, num);\n M(t2, t2, den);\n pow2523(t2, t2);\n M(t2, t2, num);\n M(t2, t2, den);\n M(t2, t2, den);\n M(r[0], t2, den);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num))\n M(r[0], r[0], I);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num))\n return -1;\n if (par25519(r[0]) === p2[31] >> 7)\n Z(r[0], gf0, r[0]);\n M(r[3], r[0], r[1]);\n return 0;\n }\n function crypto_sign_open(m, sm, n2, pk) {\n var i2;\n var t2 = new Uint8Array(32), h2 = new Uint8Array(64);\n var p2 = [gf(), gf(), gf(), gf()], q = [gf(), gf(), gf(), gf()];\n if (n2 < 64)\n return -1;\n if (unpackneg(q, pk))\n return -1;\n for (i2 = 0; i2 < n2; i2++)\n m[i2] = sm[i2];\n for (i2 = 0; i2 < 32; i2++)\n m[i2 + 32] = pk[i2];\n crypto_hash(h2, m, n2);\n reduce(h2);\n scalarmult(p2, q, h2);\n scalarbase(q, sm.subarray(32));\n add(p2, q);\n pack(t2, p2);\n n2 -= 64;\n if (crypto_verify_32(sm, 0, t2, 0)) {\n for (i2 = 0; i2 < n2; i2++)\n m[i2] = 0;\n return -1;\n }\n for (i2 = 0; i2 < n2; i2++)\n m[i2] = sm[i2 + 64];\n return n2;\n }\n var crypto_secretbox_KEYBYTES = 32, crypto_secretbox_NONCEBYTES = 24, crypto_secretbox_ZEROBYTES = 32, crypto_secretbox_BOXZEROBYTES = 16, crypto_scalarmult_BYTES = 32, crypto_scalarmult_SCALARBYTES = 32, crypto_box_PUBLICKEYBYTES = 32, crypto_box_SECRETKEYBYTES = 32, crypto_box_BEFORENMBYTES = 32, crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES, crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES, crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES, crypto_sign_BYTES = 64, crypto_sign_PUBLICKEYBYTES = 32, crypto_sign_SECRETKEYBYTES = 64, crypto_sign_SEEDBYTES = 32, crypto_hash_BYTES = 64;\n nacl2.lowlevel = {\n crypto_core_hsalsa20,\n crypto_stream_xor,\n crypto_stream,\n crypto_stream_salsa20_xor,\n crypto_stream_salsa20,\n crypto_onetimeauth,\n crypto_onetimeauth_verify,\n crypto_verify_16,\n crypto_verify_32,\n crypto_secretbox,\n crypto_secretbox_open,\n crypto_scalarmult,\n crypto_scalarmult_base,\n crypto_box_beforenm,\n crypto_box_afternm,\n crypto_box,\n crypto_box_open,\n crypto_box_keypair,\n crypto_hash,\n crypto_sign,\n crypto_sign_keypair,\n crypto_sign_open,\n crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES,\n crypto_hash_BYTES,\n gf,\n D,\n L,\n pack25519,\n unpack25519,\n M,\n A,\n S,\n Z,\n pow2523,\n add,\n set25519,\n modL,\n scalarmult,\n scalarbase\n };\n function checkLengths(k, n2) {\n if (k.length !== crypto_secretbox_KEYBYTES)\n throw new Error(\"bad key size\");\n if (n2.length !== crypto_secretbox_NONCEBYTES)\n throw new Error(\"bad nonce size\");\n }\n function checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES)\n throw new Error(\"bad public key size\");\n if (sk.length !== crypto_box_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n }\n function checkArrayTypes() {\n for (var i2 = 0; i2 < arguments.length; i2++) {\n if (!(arguments[i2] instanceof Uint8Array))\n throw new TypeError(\"unexpected type, use Uint8Array\");\n }\n }\n function cleanup(arr) {\n for (var i2 = 0; i2 < arr.length; i2++)\n arr[i2] = 0;\n }\n nacl2.randomBytes = function(n2) {\n var b = new Uint8Array(n2);\n randombytes(b, n2);\n return b;\n };\n nacl2.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c2 = new Uint8Array(m.length);\n for (var i2 = 0; i2 < msg.length; i2++)\n m[i2 + crypto_secretbox_ZEROBYTES] = msg[i2];\n crypto_secretbox(c2, m, m.length, nonce, key);\n return c2.subarray(crypto_secretbox_BOXZEROBYTES);\n };\n nacl2.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c2 = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c2.length);\n for (var i2 = 0; i2 < box.length; i2++)\n c2[i2 + crypto_secretbox_BOXZEROBYTES] = box[i2];\n if (c2.length < 32)\n return null;\n if (crypto_secretbox_open(m, c2, c2.length, nonce, key) !== 0)\n return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n };\n nacl2.secretbox.keyLength = crypto_secretbox_KEYBYTES;\n nacl2.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\n nacl2.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n nacl2.scalarMult = function(n2, p2) {\n checkArrayTypes(n2, p2);\n if (n2.length !== crypto_scalarmult_SCALARBYTES)\n throw new Error(\"bad n size\");\n if (p2.length !== crypto_scalarmult_BYTES)\n throw new Error(\"bad p size\");\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n2, p2);\n return q;\n };\n nacl2.scalarMult.base = function(n2) {\n checkArrayTypes(n2);\n if (n2.length !== crypto_scalarmult_SCALARBYTES)\n throw new Error(\"bad n size\");\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n2);\n return q;\n };\n nacl2.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\n nacl2.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n nacl2.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl2.box.before(publicKey, secretKey);\n return nacl2.secretbox(msg, nonce, k);\n };\n nacl2.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n };\n nacl2.box.after = nacl2.secretbox;\n nacl2.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl2.box.before(publicKey, secretKey);\n return nacl2.secretbox.open(msg, nonce, k);\n };\n nacl2.box.open.after = nacl2.secretbox.open;\n nacl2.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return { publicKey: pk, secretKey: sk };\n };\n nacl2.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return { publicKey: pk, secretKey: new Uint8Array(secretKey) };\n };\n nacl2.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\n nacl2.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\n nacl2.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\n nacl2.box.nonceLength = crypto_box_NONCEBYTES;\n nacl2.box.overheadLength = nacl2.secretbox.overheadLength;\n nacl2.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n var signedMsg = new Uint8Array(crypto_sign_BYTES + msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n };\n nacl2.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error(\"bad public key size\");\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0)\n return null;\n var m = new Uint8Array(mlen);\n for (var i2 = 0; i2 < m.length; i2++)\n m[i2] = tmp[i2];\n return m;\n };\n nacl2.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl2.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for (var i2 = 0; i2 < sig.length; i2++)\n sig[i2] = signedMsg[i2];\n return sig;\n };\n nacl2.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES)\n throw new Error(\"bad signature size\");\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error(\"bad public key size\");\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i2;\n for (i2 = 0; i2 < crypto_sign_BYTES; i2++)\n sm[i2] = sig[i2];\n for (i2 = 0; i2 < msg.length; i2++)\n sm[i2 + crypto_sign_BYTES] = msg[i2];\n return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;\n };\n nacl2.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return { publicKey: pk, secretKey: sk };\n };\n nacl2.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error(\"bad secret key size\");\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for (var i2 = 0; i2 < pk.length; i2++)\n pk[i2] = secretKey[32 + i2];\n return { publicKey: pk, secretKey: new Uint8Array(secretKey) };\n };\n nacl2.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES)\n throw new Error(\"bad seed size\");\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for (var i2 = 0; i2 < 32; i2++)\n sk[i2] = seed[i2];\n crypto_sign_keypair(pk, sk, true);\n return { publicKey: pk, secretKey: sk };\n };\n nacl2.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\n nacl2.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\n nacl2.sign.seedLength = crypto_sign_SEEDBYTES;\n nacl2.sign.signatureLength = crypto_sign_BYTES;\n nacl2.hash = function(msg) {\n checkArrayTypes(msg);\n var h2 = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h2, msg, msg.length);\n return h2;\n };\n nacl2.hash.hashLength = crypto_hash_BYTES;\n nacl2.verify = function(x, y) {\n checkArrayTypes(x, y);\n if (x.length === 0 || y.length === 0)\n return false;\n if (x.length !== y.length)\n return false;\n return vn(x, 0, y, 0, x.length) === 0 ? true : false;\n };\n nacl2.setPRNG = function(fn) {\n randombytes = fn;\n };\n (function() {\n var crypto2 = typeof self !== \"undefined\" ? self.crypto || self.msCrypto : null;\n if (crypto2 && crypto2.getRandomValues) {\n var QUOTA = 65536;\n nacl2.setPRNG(function(x, n2) {\n var i2, v = new Uint8Array(n2);\n for (i2 = 0; i2 < n2; i2 += QUOTA) {\n crypto2.getRandomValues(v.subarray(i2, i2 + Math.min(n2 - i2, QUOTA)));\n }\n for (i2 = 0; i2 < n2; i2++)\n x[i2] = v[i2];\n cleanup(v);\n });\n } else if (typeof commonjsRequire !== \"undefined\") {\n crypto2 = require$$0;\n if (crypto2 && crypto2.randomBytes) {\n nacl2.setPRNG(function(x, n2) {\n var i2, v = crypto2.randomBytes(n2);\n for (i2 = 0; i2 < n2; i2++)\n x[i2] = v[i2];\n cleanup(v);\n });\n }\n }\n })();\n })(module.exports ? module.exports : self.nacl = self.nacl || {});\n})(naclFast);\nconst nacl = naclFast.exports;\nif (isNode$1()) {\n try {\n eval(\"global.crypto = require('crypto').webcrypto\");\n } catch (err) {\n }\n}\nclass SessionCrypto {\n constructor(keyPair) {\n this.nonceLength = 24;\n this.keyPair = keyPair ? this.createKeypairFromString(keyPair) : this.createKeypair();\n this.sessionId = toHexString(this.keyPair.publicKey);\n }\n createKeypair() {\n return nacl.box.keyPair();\n }\n createKeypairFromString(keyPair) {\n return {\n publicKey: hexToByteArray(keyPair.publicKey),\n secretKey: hexToByteArray(keyPair.secretKey)\n };\n }\n createNonce() {\n const buffer = new Uint8Array(this.nonceLength);\n return crypto.getRandomValues(buffer);\n }\n encrypt(message, receiverPublicKey) {\n const encodedMessage = new TextEncoder().encode(message);\n const nonce = this.createNonce();\n const encrypted = nacl.box(encodedMessage, nonce, receiverPublicKey, this.keyPair.secretKey);\n return concatUint8Arrays(nonce, encrypted);\n }\n decrypt(message, senderPublicKey) {\n const [nonce, internalMessage] = splitToUint8Arrays(message, this.nonceLength);\n const decrypted = nacl.box.open(internalMessage, nonce, senderPublicKey, this.keyPair.secretKey);\n if (!decrypted) {\n throw new Error(`Decryption error: \n message: ${message.toString()} \n sender pubkey: ${senderPublicKey.toString()} \n keypair pubkey: ${this.keyPair.publicKey.toString()} \n keypair secretkey: ${this.keyPair.secretKey.toString()}`);\n }\n return new TextDecoder().decode(decrypted);\n }\n stringifyKeypair() {\n return {\n publicKey: toHexString(this.keyPair.publicKey),\n secretKey: toHexString(this.keyPair.secretKey)\n };\n }\n}\nconst connectEventErrorsCodes = {\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [CONNECT_EVENT_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [CONNECT_EVENT_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_NOT_FOUND_ERROR]: ManifestNotFoundError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_CONTENT_ERROR]: ManifestContentErrorError\n};\nclass ConnectErrorsParser {\n parseError(error) {\n let ErrorConstructor = UnknownError;\n if (error.code in connectEventErrorsCodes) {\n ErrorConstructor = connectEventErrorsCodes[error.code] || UnknownError;\n }\n return new ErrorConstructor(error.message);\n }\n}\nconst connectErrorsParser = new ConnectErrorsParser();\nclass RpcParser {\n isError(response) {\n return \"error\" in response;\n }\n}\nconst sendTransactionErrors = {\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [SEND_TRANSACTION_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [SEND_TRANSACTION_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError\n};\nclass SendTransactionParser extends RpcParser {\n convertToRpcRequest(request) {\n return {\n method: \"sendTransaction\",\n params: [JSON.stringify(request)]\n };\n }\n parseAndThrowError(response) {\n let ErrorConstructor = UnknownError;\n if (response.error.code in sendTransactionErrors) {\n ErrorConstructor = sendTransactionErrors[response.error.code] || UnknownError;\n }\n throw new ErrorConstructor(response.error.message);\n }\n convertFromRpcResponse(rpcResponse) {\n return {\n boc: rpcResponse.result\n };\n }\n}\nconst sendTransactionParser = new SendTransactionParser();\nvar __awaiter$7 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass HttpBridgeGatewayStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = \"ton-connect-storage_http-bridge-gateway\";\n }\n storeLastEventId(lastEventId) {\n return __awaiter$7(this, void 0, void 0, function* () {\n return this.storage.setItem(this.storeKey, lastEventId);\n });\n }\n removeLastEventId() {\n return __awaiter$7(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getLastEventId() {\n return __awaiter$7(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n return stored;\n });\n }\n}\nfunction removeUrlLastSlash(url) {\n if (url.slice(-1) === \"/\") {\n return url.slice(0, -1);\n }\n return url;\n}\nfunction addPathToUrl(url, path) {\n return removeUrlLastSlash(url) + \"/\" + path;\n}\nvar __awaiter$6 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nif (isNode$1()) {\n try {\n eval(\"global.EventSource = require('eventsource')\");\n eval(\"global.fetch = require('node-fetch')\");\n } catch (err) {\n console.error(err);\n }\n}\nclass BridgeGateway {\n constructor(storage, bridgeUrl, sessionId, listener, errorsListener) {\n this.bridgeUrl = bridgeUrl;\n this.sessionId = sessionId;\n this.listener = listener;\n this.errorsListener = errorsListener;\n this.ssePath = \"events\";\n this.postPath = \"message\";\n this.heartbeatMessage = \"heartbeat\";\n this.defaultTtl = 300;\n this.isClosed = false;\n this.bridgeGatewayStorage = new HttpBridgeGatewayStorage(storage);\n }\n registerSession() {\n return __awaiter$6(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.ssePath));\n url.searchParams.append(\"client_id\", this.sessionId);\n const lastEventId = yield this.bridgeGatewayStorage.getLastEventId();\n if (lastEventId) {\n url.searchParams.append(\"last_event_id\", lastEventId);\n }\n this.eventSource = new EventSource(url.toString());\n return new Promise((resolve, reject) => {\n this.eventSource.onerror = reject;\n this.eventSource.onopen = () => {\n this.eventSource.onerror = this.errorsHandler.bind(this);\n this.eventSource.onmessage = this.messagesHandler.bind(this);\n resolve();\n };\n });\n });\n }\n send(message, receiver, ttl) {\n return __awaiter$6(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.postPath));\n url.searchParams.append(\"client_id\", this.sessionId);\n url.searchParams.append(\"to\", receiver);\n url.searchParams.append(\"ttl\", (ttl || this.defaultTtl).toString());\n yield fetch(url, {\n method: \"post\",\n body: Base64.encode(message)\n });\n });\n }\n close() {\n var _a;\n this.isClosed = true;\n (_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();\n }\n errorsHandler(e2) {\n var _a, _b;\n if (!this.isClosed) {\n if (((_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.readyState) === EventSource.CLOSED) {\n this.eventSource.close();\n this.registerSession();\n return;\n }\n if (((_b = this.eventSource) === null || _b === void 0 ? void 0 : _b.readyState) === EventSource.CONNECTING) {\n console.debug(\"[TON_CONNET_SDK_ERROR]: Bridge error\", JSON.stringify(e2));\n return;\n }\n this.errorsListener(e2);\n }\n }\n messagesHandler(e2) {\n return __awaiter$6(this, void 0, void 0, function* () {\n if (e2.data === this.heartbeatMessage) {\n return;\n }\n yield this.bridgeGatewayStorage.storeLastEventId(e2.lastEventId);\n if (!this.isClosed) {\n let bridgeIncomingMessage;\n try {\n bridgeIncomingMessage = JSON.parse(e2.data);\n } catch (e3) {\n throw new TonConnectError(`Bridge message parse failed, message ${e3.data}`);\n }\n this.listener(bridgeIncomingMessage);\n }\n });\n }\n}\nvar __awaiter$5 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass BridgeConnectionStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = \"ton-connect-storage_bridge-connection\";\n }\n storeConnection(connection) {\n return __awaiter$5(this, void 0, void 0, function* () {\n if (connection.type === \"injected\") {\n return this.storage.setItem(this.storeKey, JSON.stringify(connection));\n }\n const rawSession = {\n sessionKeyPair: connection.session.sessionCrypto.stringifyKeypair(),\n walletPublicKey: connection.session.walletPublicKey,\n walletConnectionSource: connection.session.walletConnectionSource\n };\n const rawConnection = {\n type: \"http\",\n connectEvent: connection.connectEvent,\n session: rawSession\n };\n return this.storage.setItem(this.storeKey, JSON.stringify(rawConnection));\n });\n }\n removeConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n if (connection.type === \"injected\") {\n return connection;\n }\n const sessionCrypto = new SessionCrypto(connection.session.sessionKeyPair);\n return {\n type: \"http\",\n connectEvent: connection.connectEvent,\n session: {\n sessionCrypto,\n walletConnectionSource: connection.session.walletConnectionSource,\n walletPublicKey: connection.session.walletPublicKey\n }\n };\n });\n }\n getHttpConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError(\"Trying to read HTTP connection source while nothing is stored\");\n }\n if (connection.type === \"injected\") {\n throw new TonConnectError(\"Trying to read HTTP connection source while injected connection is stored\");\n }\n return connection;\n });\n }\n getInjectedConnection() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError(\"Trying to read Injected bridge connection source while nothing is stored\");\n }\n if ((connection === null || connection === void 0 ? void 0 : connection.type) === \"http\") {\n throw new TonConnectError(\"Trying to read Injected bridge connection source while HTTP connection is stored\");\n }\n return connection;\n });\n }\n storedConnectionType() {\n return __awaiter$5(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n return connection.type;\n });\n }\n}\nconst PROTOCOL_VERSION = 2;\nvar __awaiter$4 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass BridgeProvider {\n constructor(storage, walletConnectionSource) {\n this.storage = storage;\n this.walletConnectionSource = walletConnectionSource;\n this.type = \"http\";\n this.pendingRequests = /* @__PURE__ */ new Map();\n this.nextRequestId = 0;\n this.session = null;\n this.bridge = null;\n this.listeners = [];\n this.connectionStorage = new BridgeConnectionStorage(storage);\n }\n static fromStorage(storage) {\n return __awaiter$4(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getHttpConnection();\n return new BridgeProvider(storage, connection.session.walletConnectionSource);\n });\n }\n connect(message) {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const sessionCrypto = new SessionCrypto();\n this.session = {\n sessionCrypto,\n walletConnectionSource: this.walletConnectionSource\n };\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n this.bridge.registerSession();\n return this.generateUniversalLink(message);\n }\n restoreConnection() {\n var _a;\n return __awaiter$4(this, void 0, void 0, function* () {\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const storedConnection = yield this.connectionStorage.getHttpConnection();\n if (!storedConnection) {\n return;\n }\n this.session = storedConnection.session;\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, storedConnection.session.sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n yield this.bridge.registerSession();\n this.listeners.forEach((listener) => listener(storedConnection.connectEvent));\n });\n }\n sendRequest(request) {\n return new Promise((resolve, reject) => {\n const id = this.nextRequestId;\n this.nextRequestId++;\n if (!this.bridge || !this.session || !(\"walletPublicKey\" in this.session)) {\n throw new TonConnectError(\"Trying to send bridge request without session\");\n }\n const encodedRequest = this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({}, request), { id })), hexToByteArray(this.session.walletPublicKey));\n this.bridge.send(encodedRequest, this.session.walletPublicKey).catch(reject);\n this.pendingRequests.set(id.toString(), resolve);\n });\n }\n closeConnection() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n this.session = null;\n this.bridge = null;\n }\n disconnect() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n return this.removeBridgeAndSession();\n }\n listen(callback) {\n this.listeners.push(callback);\n return () => this.listeners = this.listeners.filter((listener) => listener !== callback);\n }\n gatewayListener(bridgeIncomingMessage) {\n return __awaiter$4(this, void 0, void 0, function* () {\n const walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(Base64.decode(bridgeIncomingMessage.message).toUint8Array(), hexToByteArray(bridgeIncomingMessage.from)));\n if (!(\"event\" in walletMessage)) {\n const id = walletMessage.id.toString();\n const resolve = this.pendingRequests.get(id);\n if (!resolve) {\n throw new TonConnectError(`Response id ${id} doesn't match any request's id`);\n }\n resolve(walletMessage);\n this.pendingRequests.delete(id);\n return;\n }\n if (walletMessage.event === \"connect\") {\n yield this.updateSession(walletMessage, bridgeIncomingMessage.from);\n }\n if (walletMessage.event === \"disconnect\") {\n yield this.removeBridgeAndSession();\n }\n this.listeners.forEach((listener) => listener(walletMessage));\n });\n }\n gatewayErrorsListener(e2) {\n return __awaiter$4(this, void 0, void 0, function* () {\n throw new TonConnectError(`Bridge error ${JSON.stringify(e2)}`);\n });\n }\n updateSession(connectEvent, walletPublicKey) {\n return __awaiter$4(this, void 0, void 0, function* () {\n this.session = Object.assign(Object.assign({}, this.session), { walletPublicKey });\n const tonAddrItem = connectEvent.payload.items.find((item) => item.name === \"ton_addr\");\n const connectEventToSave = Object.assign(Object.assign({}, connectEvent), { payload: Object.assign(Object.assign({}, connectEvent.payload), { items: [tonAddrItem] }) });\n yield this.connectionStorage.storeConnection({\n type: \"http\",\n session: this.session,\n connectEvent: connectEventToSave\n });\n });\n }\n removeBridgeAndSession() {\n return __awaiter$4(this, void 0, void 0, function* () {\n this.session = null;\n this.bridge = null;\n yield this.connectionStorage.removeConnection();\n });\n }\n generateUniversalLink(message) {\n const url = new URL(this.walletConnectionSource.universalLink);\n url.searchParams.append(\"v\", PROTOCOL_VERSION.toString());\n url.searchParams.append(\"id\", this.session.sessionCrypto.sessionId);\n url.searchParams.append(\"r\", JSON.stringify(message));\n return url.toString();\n }\n}\nfunction getWindow$1() {\n if (typeof window === \"undefined\") {\n return void 0;\n }\n return window;\n}\nfunction getWebPageManifest() {\n var _a;\n const origin = (_a = getWindow$1()) === null || _a === void 0 ? void 0 : _a.location.origin;\n if (origin) {\n return origin + \"/tonconnect-manifest.json\";\n }\n return \"\";\n}\nvar __awaiter$3 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass InjectedProvider {\n constructor(storage, injectedWalletKey) {\n this.injectedWalletKey = injectedWalletKey;\n this.type = \"injected\";\n this.unsubscribeCallback = null;\n this.listenSubscriptions = false;\n this.listeners = [];\n const window2 = InjectedProvider.window;\n if (!InjectedProvider.isWindowContainsWallet(window2, injectedWalletKey)) {\n throw new WalletNotInjectedError();\n }\n this.connectionStorage = new BridgeConnectionStorage(storage);\n this.injectedWallet = window2[injectedWalletKey].tonconnect;\n }\n static fromStorage(storage) {\n return __awaiter$3(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getInjectedConnection();\n return new InjectedProvider(storage, connection.jsBridgeKey);\n });\n }\n static isWalletInjected(injectedWalletKey) {\n return InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey);\n }\n static isInsideWalletBrowser(injectedWalletKey) {\n if (InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey)) {\n return this.window[injectedWalletKey].tonconnect.isWalletBrowser;\n }\n return false;\n }\n static isWindowContainsWallet(window2, injectedWalletKey) {\n return !!window2 && injectedWalletKey in window2 && typeof window2[injectedWalletKey] === \"object\" && \"tonconnect\" in window2[injectedWalletKey];\n }\n connect(message) {\n this._connect(PROTOCOL_VERSION, message);\n }\n restoreConnection() {\n return __awaiter$3(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.restoreConnection();\n if (connectEvent.event === \"connect\") {\n this.makeSubscriptions();\n this.listeners.forEach((listener) => listener(connectEvent));\n } else {\n yield this.connectionStorage.removeConnection();\n }\n } catch (e2) {\n yield this.connectionStorage.removeConnection();\n console.error(e2);\n }\n });\n }\n closeConnection() {\n if (this.listenSubscriptions) {\n this.injectedWallet.disconnect();\n }\n this.closeAllListeners();\n }\n disconnect() {\n this.closeAllListeners();\n this.injectedWallet.disconnect();\n return this.connectionStorage.removeConnection();\n }\n closeAllListeners() {\n var _a;\n this.listenSubscriptions = false;\n this.listeners = [];\n (_a = this.unsubscribeCallback) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n listen(eventsCallback) {\n this.listeners.push(eventsCallback);\n return () => this.listeners = this.listeners.filter((listener) => listener !== eventsCallback);\n }\n sendRequest(request) {\n return __awaiter$3(this, void 0, void 0, function* () {\n return this.injectedWallet.send(Object.assign(Object.assign({}, request), { id: \"0\" }));\n });\n }\n _connect(protocolVersion, message) {\n return __awaiter$3(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.connect(protocolVersion, message);\n if (connectEvent.event === \"connect\") {\n yield this.updateSession();\n this.makeSubscriptions();\n }\n this.listeners.forEach((listener) => listener(connectEvent));\n } catch (e2) {\n console.debug(e2);\n const connectEventError = {\n event: \"connect_error\",\n payload: {\n code: 0,\n message: e2 === null || e2 === void 0 ? void 0 : e2.toString()\n }\n };\n this.listeners.forEach((listener) => listener(connectEventError));\n }\n });\n }\n makeSubscriptions() {\n this.listenSubscriptions = true;\n this.unsubscribeCallback = this.injectedWallet.listen((e2) => {\n if (this.listenSubscriptions) {\n this.listeners.forEach((listener) => listener(e2));\n }\n if (e2.event === \"disconnect\") {\n this.disconnect();\n }\n });\n }\n updateSession() {\n return this.connectionStorage.storeConnection({\n type: \"injected\",\n jsBridgeKey: this.injectedWalletKey\n });\n }\n}\nInjectedProvider.window = getWindow$1();\nvar __awaiter$2 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass DefaultStorage {\n constructor() {\n const window2 = getWindow$1();\n if (!(window2 === null || window2 === void 0 ? void 0 : window2.localStorage)) {\n throw new LocalstorageNotFoundError();\n }\n this.window = window2;\n }\n getItem(key) {\n return __awaiter$2(this, void 0, void 0, function* () {\n return Promise.resolve(this.window.localStorage.getItem(key));\n });\n }\n removeItem(key) {\n return __awaiter$2(this, void 0, void 0, function* () {\n this.window.localStorage.removeItem(key);\n return Promise.resolve();\n });\n }\n setItem(key, value) {\n this.window.localStorage.setItem(key, value);\n return Promise.resolve();\n }\n}\nfunction isWalletInfoInjected(value) {\n return \"jsBridgeKey\" in value;\n}\nvar __awaiter$1 = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nclass WalletsListManager {\n constructor(walletsListSource) {\n this.walletsListCache = null;\n this.walletsListSource = \"https://raw.githubusercontent.com/ton-connect/wallets-list/main/wallets.json\";\n if (walletsListSource) {\n this.walletsListSource = walletsListSource;\n }\n }\n getWallets() {\n return __awaiter$1(this, void 0, void 0, function* () {\n if (!this.walletsListCache) {\n this.walletsListCache = this.fetchWalletsList();\n this.walletsListCache.catch(() => this.walletsListCache = null);\n }\n return this.walletsListCache;\n });\n }\n getEmbeddedWallet() {\n return __awaiter$1(this, void 0, void 0, function* () {\n const walletsList = yield this.getWallets();\n const embeddedWallets = walletsList.filter((item) => isWalletInfoInjected(item) && item.embedded);\n if (embeddedWallets.length !== 1) {\n return null;\n }\n return embeddedWallets[0];\n });\n }\n fetchWalletsList() {\n return __awaiter$1(this, void 0, void 0, function* () {\n try {\n const walletsResponse = yield fetch(this.walletsListSource);\n const walletsList = yield walletsResponse.json();\n if (!Array.isArray(walletsList) || !walletsList.every((wallet) => this.isCorrectWalletConfigDTO(wallet))) {\n throw new FetchWalletsError(\"Wrong wallets list format\");\n }\n return this.walletConfigDTOListToWalletConfigList(walletsList);\n } catch (e2) {\n throw new FetchWalletsError(e2);\n }\n });\n }\n walletConfigDTOListToWalletConfigList(walletConfigDTO) {\n return walletConfigDTO.map((walletConfigDTO2) => {\n const walletConfig = {\n name: walletConfigDTO2.name,\n imageUrl: walletConfigDTO2.image,\n aboutUrl: walletConfigDTO2.about_url,\n tondns: walletConfigDTO2.tondns\n };\n walletConfigDTO2.bridge.forEach((bridge) => {\n if (bridge.type === \"sse\") {\n walletConfig.bridgeUrl = bridge.url;\n walletConfig.universalLink = walletConfigDTO2.universal_url;\n walletConfig.deepLink = walletConfigDTO2.deepLink;\n }\n if (bridge.type === \"js\") {\n const jsBridgeKey = bridge.key;\n walletConfig.jsBridgeKey = jsBridgeKey;\n walletConfig.injected = InjectedProvider.isWalletInjected(jsBridgeKey);\n walletConfig.embedded = InjectedProvider.isInsideWalletBrowser(jsBridgeKey);\n }\n });\n return walletConfig;\n });\n }\n isCorrectWalletConfigDTO(value) {\n if (!value || !(typeof value === \"object\")) {\n return false;\n }\n const containsName = \"name\" in value;\n const containsImage = \"image\" in value;\n const containsAbout = \"about_url\" in value;\n if (!containsName || !containsImage || !containsAbout) {\n return false;\n }\n if (!(\"bridge\" in value) || !Array.isArray(value.bridge) || !value.bridge.length) {\n return false;\n }\n const bridge = value.bridge;\n if (bridge.some((item) => !item || typeof item !== \"object\" || !(\"type\" in item))) {\n return false;\n }\n const sseBridge = bridge.find((item) => item.type === \"sse\");\n if (sseBridge) {\n if (!(\"url\" in sseBridge) || !sseBridge.url || !value.universal_url) {\n return false;\n }\n }\n const jsBridge = bridge.find((item) => item.type === \"js\");\n if (jsBridge) {\n if (!(\"key\" in jsBridge) || !jsBridge.key) {\n return false;\n }\n }\n return true;\n }\n}\nvar __awaiter = globalThis && globalThis.__awaiter || function(thisArg, _arguments, P2, generator) {\n function adopt(value) {\n return value instanceof P2 ? value : new P2(function(resolve) {\n resolve(value);\n });\n }\n return new (P2 || (P2 = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e2) {\n reject(e2);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e2) {\n reject(e2);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = globalThis && globalThis.__rest || function(s2, e2) {\n var t2 = {};\n for (var p2 in s2)\n if (Object.prototype.hasOwnProperty.call(s2, p2) && e2.indexOf(p2) < 0)\n t2[p2] = s2[p2];\n if (s2 != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i2 = 0, p2 = Object.getOwnPropertySymbols(s2); i2 < p2.length; i2++) {\n if (e2.indexOf(p2[i2]) < 0 && Object.prototype.propertyIsEnumerable.call(s2, p2[i2]))\n t2[p2[i2]] = s2[p2[i2]];\n }\n return t2;\n};\nclass TonConnect {\n constructor(options) {\n this.walletsList = new WalletsListManager();\n this._wallet = null;\n this.provider = null;\n this.statusChangeSubscriptions = [];\n this.statusChangeErrorSubscriptions = [];\n this.dappSettings = {\n manifestUrl: (options === null || options === void 0 ? void 0 : options.manifestUrl) || getWebPageManifest(),\n storage: (options === null || options === void 0 ? void 0 : options.storage) || new DefaultStorage()\n };\n this.walletsList = new WalletsListManager(options === null || options === void 0 ? void 0 : options.walletsListSource);\n if (!this.dappSettings.manifestUrl) {\n throw new DappMetadataError(\"Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest\");\n }\n this.bridgeConnectionStorage = new BridgeConnectionStorage(this.dappSettings.storage);\n }\n static getWallets() {\n return this.walletsList.getWallets();\n }\n get connected() {\n return this._wallet !== null;\n }\n get account() {\n var _a;\n return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.account) || null;\n }\n get wallet() {\n return this._wallet;\n }\n set wallet(value) {\n this._wallet = value;\n this.statusChangeSubscriptions.forEach((callback) => callback(this._wallet));\n }\n getWallets() {\n return this.walletsList.getWallets();\n }\n onStatusChange(callback, errorsHandler) {\n this.statusChangeSubscriptions.push(callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions.push(errorsHandler);\n }\n return () => {\n this.statusChangeSubscriptions = this.statusChangeSubscriptions.filter((item) => item !== callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions = this.statusChangeErrorSubscriptions.filter((item) => item !== errorsHandler);\n }\n };\n }\n connect(wallet, request) {\n var _a;\n if (this.connected) {\n throw new WalletAlreadyConnectedError();\n }\n (_a = this.provider) === null || _a === void 0 ? void 0 : _a.closeConnection();\n this.provider = this.createProvider(wallet);\n return this.provider.connect(this.createConnectRequest(request));\n }\n restoreConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const [bridgeConnectionType, embeddedWallet] = yield Promise.all([\n this.bridgeConnectionStorage.storedConnectionType(),\n this.walletsList.getEmbeddedWallet()\n ]);\n switch (bridgeConnectionType) {\n case \"http\":\n this.provider = yield BridgeProvider.fromStorage(this.dappSettings.storage);\n break;\n case \"injected\":\n this.provider = yield InjectedProvider.fromStorage(this.dappSettings.storage);\n break;\n default:\n if (embeddedWallet) {\n this.provider = yield this.createProvider(embeddedWallet);\n } else {\n return;\n }\n }\n this.provider.listen(this.walletEventsListener.bind(this));\n return this.provider.restoreConnection();\n });\n }\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this.checkConnection();\n this.checkFeatureSupport(\"SendTransaction\");\n const { validUntil } = transaction, tx = __rest(transaction, [\"validUntil\"]);\n const response = yield this.provider.sendRequest(sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })));\n if (sendTransactionParser.isError(response)) {\n return sendTransactionParser.parseAndThrowError(response);\n }\n return sendTransactionParser.convertFromRpcResponse(response);\n });\n }\n disconnect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n yield this.provider.disconnect();\n this.onWalletDisconnected();\n });\n }\n createProvider(wallet) {\n let provider;\n if (isWalletConnectionSourceJS(wallet)) {\n provider = new InjectedProvider(this.dappSettings.storage, wallet.jsBridgeKey);\n } else {\n provider = new BridgeProvider(this.dappSettings.storage, wallet);\n }\n provider.listen(this.walletEventsListener.bind(this));\n return provider;\n }\n walletEventsListener(e2) {\n switch (e2.event) {\n case \"connect\":\n this.onWalletConnected(e2.payload);\n break;\n case \"connect_error\":\n this.onWalletConnectError(e2.payload);\n break;\n case \"disconnect\":\n this.onWalletDisconnected();\n }\n }\n onWalletConnected(connectEvent) {\n const tonAccountItem = connectEvent.items.find((item) => item.name === \"ton_addr\");\n const tonProofItem = connectEvent.items.find((item) => item.name === \"ton_proof\");\n if (!tonAccountItem) {\n throw new TonConnectError(\"ton_addr connection item was not found\");\n }\n const wallet = {\n device: connectEvent.device,\n provider: this.provider.type,\n account: {\n address: tonAccountItem.address,\n chain: tonAccountItem.network,\n walletStateInit: tonAccountItem.walletStateInit\n }\n };\n if (tonProofItem) {\n wallet.connectItems = {\n tonProof: tonProofItem\n };\n }\n this.wallet = wallet;\n }\n onWalletConnectError(connectEventError) {\n const error = connectErrorsParser.parseError(connectEventError);\n this.statusChangeErrorSubscriptions.forEach((errorsHandler) => errorsHandler(error));\n console.debug(error);\n if (error instanceof ManifestNotFoundError || error instanceof ManifestContentErrorError) {\n console.error(error);\n throw error;\n }\n }\n onWalletDisconnected() {\n this.wallet = null;\n }\n checkConnection() {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n }\n checkFeatureSupport(feature) {\n var _a;\n if (!((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.device.features.includes(feature))) {\n throw new WalletNotSupportFeatureError();\n }\n }\n createConnectRequest(request) {\n const items = [\n {\n name: \"ton_addr\"\n }\n ];\n if (request === null || request === void 0 ? void 0 : request.tonProof) {\n items.push({\n name: \"ton_proof\",\n payload: request.tonProof\n });\n }\n return {\n manifestUrl: this.dappSettings.manifestUrl,\n items\n };\n }\n}\nTonConnect.walletsList = new WalletsListManager();\nTonConnect.isWalletInjected = (walletJSKey) => InjectedProvider.isWalletInjected(walletJSKey);\nTonConnect.isInsideWalletBrowser = (walletJSKey) => InjectedProvider.isInsideWalletBrowser(walletJSKey);\nconst bounceableTag = 17;\nconst testOnlyTag = 128;\nfunction toUserFriendlyAddress(hexAddress, testOnly = false) {\n const { wc, hex } = parseHexAddress(hexAddress);\n let tag = bounceableTag;\n if (testOnly) {\n tag |= testOnlyTag;\n }\n const addr = new Int8Array(34);\n addr[0] = tag;\n addr[1] = wc;\n addr.set(hex, 2);\n const addressWithChecksum = new Uint8Array(36);\n addressWithChecksum.set(addr);\n addressWithChecksum.set(crc16(addr), 34);\n let addressBase64 = Base64.encode(addressWithChecksum);\n return addressBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\nfunction parseHexAddress(hexAddress) {\n if (!hexAddress.includes(\":\")) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\".`);\n }\n const parts = hexAddress.split(\":\");\n if (parts.length !== 2) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\" only once.`);\n }\n const wc = parseInt(parts[0]);\n if (wc !== 0 && wc !== -1) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. WC must be eq 0 or -1, but ${wc} received.`);\n }\n const hex = parts[1];\n if ((hex === null || hex === void 0 ? void 0 : hex.length) !== 64) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Hex part must be 64bytes length, but ${hex === null || hex === void 0 ? void 0 : hex.length} received.`);\n }\n return {\n wc,\n hex: hexToBytes(hex)\n };\n}\nfunction crc16(data) {\n const poly = 4129;\n let reg = 0;\n const message = new Uint8Array(data.length + 2);\n message.set(data);\n for (let byte of message) {\n let mask = 128;\n while (mask > 0) {\n reg <<= 1;\n if (byte & mask) {\n reg += 1;\n }\n mask >>= 1;\n if (reg > 65535) {\n reg &= 65535;\n reg ^= poly;\n }\n }\n }\n return new Uint8Array([Math.floor(reg / 256), reg % 256]);\n}\nconst toByteMap = {};\nfor (let ord = 0; ord <= 255; ord++) {\n let s2 = ord.toString(16);\n if (s2.length < 2) {\n s2 = \"0\" + s2;\n }\n toByteMap[s2] = ord;\n}\nfunction hexToBytes(hex) {\n hex = hex.toLowerCase();\n const length2 = hex.length;\n if (length2 % 2 !== 0) {\n throw new ParseHexError(\"Hex string must have length a multiple of 2: \" + hex);\n }\n const length = length2 / 2;\n const result = new Uint8Array(length);\n for (let i2 = 0; i2 < length; i2++) {\n const doubled = i2 * 2;\n const hexSubstring = hex.substring(doubled, doubled + 2);\n if (!toByteMap.hasOwnProperty(hexSubstring)) {\n throw new ParseHexError(\"Invalid hex character: \" + hexSubstring);\n }\n result[i2] = toByteMap[hexSubstring];\n }\n return result;\n}\nconst sharedConfig = {};\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nconst equalFn = (a2, b) => a2 === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst $TRACK = Symbol(\"solid-track\");\nconst signalOptions = {\n equals: equalFn\n};\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition$1 = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener, owner = Owner, unowned = fn.length === 0, root = unowned ? UNOWNED : {\n owned: null,\n cleanups: null,\n context: null,\n owner: detachedOwner || owner\n }, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s2 = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || void 0\n };\n const setter = (value2) => {\n if (typeof value2 === \"function\") {\n value2 = value2(s2.value);\n }\n return writeSignal(s2, value2);\n };\n return [readSignal.bind(s2), setter];\n}\nfunction createComputed(fn, value, options) {\n const c2 = createComputation(fn, value, true, STALE);\n updateComputation(c2);\n}\nfunction createRenderEffect(fn, value, options) {\n const c2 = createComputation(fn, value, false, STALE);\n updateComputation(c2);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c2 = createComputation(fn, value, false, STALE);\n c2.user = true;\n Effects ? Effects.push(c2) : updateComputation(c2);\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c2 = createComputation(fn, value, true, 0);\n c2.observers = null;\n c2.observerSlots = null;\n c2.comparator = options.equals || void 0;\n updateComputation(c2);\n return readSignal.bind(c2);\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if (arguments.length === 2 && typeof pFetcher === \"object\" || arguments.length === 1) {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n } else {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n }\n let pr = null, initP = NO_INIT, id = null, scheduled = false, resolved = \"initialValue\" in options, dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, {\n equals: false\n }), [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = `${sharedConfig.context.id}${sharedConfig.context.count++}`;\n let v;\n if (options.ssrLoadFrom === \"initial\")\n initP = options.initialValue;\n else if (sharedConfig.load && (v = sharedConfig.load(id)))\n initP = v[0];\n }\n function loadEnd(p2, v, error2, key) {\n if (pr === p2) {\n pr = null;\n resolved = true;\n if ((p2 === initP || v === initP) && options.onHydrated)\n queueMicrotask(() => options.onHydrated(key, {\n value: v\n }));\n initP = NO_INIT;\n completeLoad(v, error2);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (!err)\n setValue(() => v);\n setState(err ? \"errored\" : \"ready\");\n setError(err);\n for (const c2 of contexts.keys())\n c2.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c2 = SuspenseContext, v = value(), err = error();\n if (err && !pr)\n throw err;\n if (Listener && !Listener.user && c2) {\n createComputed(() => {\n track();\n if (pr) {\n if (c2.resolved)\n ;\n else if (!contexts.has(c2)) {\n c2.increment();\n contexts.add(c2);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled)\n return;\n scheduled = false;\n const lookup2 = dynamic ? dynamic() : source;\n if (lookup2 == null || lookup2 === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n const p2 = initP !== NO_INIT ? initP : untrack(() => fetcher(lookup2, {\n value: value(),\n refetching\n }));\n if (typeof p2 !== \"object\" || !(p2 && \"then\" in p2)) {\n loadEnd(pr, p2, void 0, lookup2);\n return p2;\n }\n pr = p2;\n scheduled = true;\n queueMicrotask(() => scheduled = false);\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p2.then((v) => loadEnd(p2, v, void 0, lookup2), (e2) => loadEnd(p2, void 0, castError(e2), lookup2));\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s2 = state();\n return s2 === \"pending\" || s2 === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved)\n return read();\n const err = error();\n if (err && !pr)\n throw err;\n return value();\n }\n }\n });\n if (dynamic)\n createComputed(() => load(false));\n else\n load(false);\n return [read, {\n refetch: load,\n mutate: setValue\n }];\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n const listener = Listener;\n Listener = null;\n try {\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return (prevValue) => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i2 = 0; i2 < deps.length; i2++)\n input[i2] = deps[i2]();\n } else\n input = deps();\n if (defer) {\n defer = false;\n return void 0;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null)\n ;\n else if (Owner.cleanups === null)\n Owner.cleanups = [fn];\n else\n Owner.cleanups.push(fn);\n return fn;\n}\nfunction getListener() {\n return Listener;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n let ctx;\n return (ctx = lookup(Owner, context.id)) !== void 0 ? ctx : context.defaultValue;\n}\nfunction children(fn) {\n const children2 = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children2()));\n memo.toArray = () => {\n const c2 = memo();\n return Array.isArray(c2) ? c2 : c2 != null ? [c2] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction readSignal() {\n const runningTransition = Transition$1;\n if (this.sources && (this.state || runningTransition)) {\n if (this.state === STALE || runningTransition)\n updateComputation(this);\n else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current = node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i2 = 0; i2 < node.observers.length; i2 += 1) {\n const o2 = node.observers[i2];\n const TransitionRunning = Transition$1 && Transition$1.running;\n if (TransitionRunning && Transition$1.disposed.has(o2))\n ;\n if (TransitionRunning && !o2.tState || !TransitionRunning && !o2.state) {\n if (o2.pure)\n Updates.push(o2);\n else\n Effects.push(o2);\n if (o2.observers)\n markDownstream(o2);\n }\n if (TransitionRunning)\n ;\n else\n o2.state = STALE;\n }\n if (Updates.length > 1e6) {\n Updates = [];\n if (false)\n ;\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn)\n return;\n cleanNode(node);\n const owner = Owner, listener = Listener, time = ExecCount;\n Listener = Owner = node;\n runComputation(node, node.value, time);\n Listener = listener;\n Owner = owner;\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure)\n node.state = STALE;\n handleError(err);\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue);\n } else\n node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c2 = {\n fn,\n state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: null,\n pure\n };\n if (Owner === null)\n ;\n else if (Owner !== UNOWNED) {\n {\n if (!Owner.owned)\n Owner.owned = [c2];\n else\n Owner.owned.push(c2);\n }\n }\n return c2;\n}\nfunction runTop(node) {\n const runningTransition = Transition$1;\n if (node.state === 0 || runningTransition)\n return;\n if (node.state === PENDING || runningTransition)\n return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback))\n return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (node.state || runningTransition)\n ancestors.push(node);\n }\n for (let i2 = ancestors.length - 1; i2 >= 0; i2--) {\n node = ancestors[i2];\n if (node.state === STALE || runningTransition) {\n updateComputation(node);\n } else if (node.state === PENDING || runningTransition) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates)\n return fn();\n let wait = false;\n if (!init)\n Updates = [];\n if (Effects)\n wait = true;\n else\n Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!Updates)\n Effects = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n runQueue(Updates);\n Updates = null;\n }\n if (wait)\n return;\n const e2 = Effects;\n Effects = null;\n if (e2.length)\n runUpdates(() => runEffects(e2), false);\n}\nfunction runQueue(queue) {\n for (let i2 = 0; i2 < queue.length; i2++)\n runTop(queue[i2]);\n}\nfunction runUserEffects(queue) {\n let i2, userLength = 0;\n for (i2 = 0; i2 < queue.length; i2++) {\n const e2 = queue[i2];\n if (!e2.user)\n runTop(e2);\n else\n queue[userLength++] = e2;\n }\n if (sharedConfig.context)\n setHydrateContext();\n for (i2 = 0; i2 < userLength; i2++)\n runTop(queue[i2]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition$1;\n node.state = 0;\n for (let i2 = 0; i2 < node.sources.length; i2 += 1) {\n const source = node.sources[i2];\n if (source.sources) {\n if (source.state === STALE || runningTransition) {\n if (source !== ignore)\n runTop(source);\n } else if (source.state === PENDING || runningTransition)\n lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition$1;\n for (let i2 = 0; i2 < node.observers.length; i2 += 1) {\n const o2 = node.observers[i2];\n if (!o2.state || runningTransition) {\n o2.state = PENDING;\n if (o2.pure)\n Updates.push(o2);\n else\n Effects.push(o2);\n o2.observers && markDownstream(o2);\n }\n }\n}\nfunction cleanNode(node) {\n let i2;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers;\n if (obs && obs.length) {\n const n2 = obs.pop(), s2 = source.observerSlots.pop();\n if (index < obs.length) {\n n2.sourceSlots[s2] = index;\n obs[index] = n2;\n source.observerSlots[index] = s2;\n }\n }\n }\n }\n if (node.owned) {\n for (i2 = 0; i2 < node.owned.length; i2++)\n cleanNode(node.owned[i2]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i2 = 0; i2 < node.cleanups.length; i2++)\n node.cleanups[i2]();\n node.cleanups = null;\n }\n node.state = 0;\n node.context = null;\n}\nfunction castError(err) {\n if (err instanceof Error || typeof err === \"string\")\n return err;\n return new Error(\"Unknown error\");\n}\nfunction handleError(err) {\n err = castError(err);\n throw err;\n}\nfunction lookup(owner, key) {\n return owner ? owner.context && owner.context[key] !== void 0 ? owner.context[key] : lookup(owner.owner, key) : void 0;\n}\nfunction resolveChildren(children2) {\n if (typeof children2 === \"function\" && !children2.length)\n return resolveChildren(children2());\n if (Array.isArray(children2)) {\n const results = [];\n for (let i2 = 0; i2 < children2.length; i2++) {\n const result = resolveChildren(children2[i2]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children2;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(() => res = untrack(() => {\n Owner.context = {\n [id]: props.value\n };\n return children(() => props.children);\n }), void 0);\n return res;\n };\n}\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i2 = 0; i2 < d.length; i2++)\n d[i2]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [], i2, j;\n newItems[$TRACK];\n return untrack(() => {\n let newLen = newItems.length, newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot((disposer) => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n } else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++)\n ;\n for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = /* @__PURE__ */ new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i2 = newIndices.get(item);\n newIndicesNext[j] = i2 === void 0 ? -1 : i2;\n newIndices.set(item, j);\n }\n for (i2 = start; i2 <= end; i2++) {\n item = items[i2];\n j = newIndices.get(item);\n if (j !== void 0 && j !== -1) {\n temp[j] = mapped[i2];\n tempdisposers[j] = disposers[i2];\n indexes && (tempIndexes[j] = indexes[i2]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else\n disposers[i2]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else\n mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, len = newLen);\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s2, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s2);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction createComponent(Comp, props) {\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY)\n return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY)\n return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s2) {\n return !(s2 = typeof s2 === \"function\" ? s2() : s2) ? {} : s2;\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i2 = 0; i2 < sources.length; i2++) {\n const s2 = sources[i2];\n proxy = proxy || !!s2 && $PROXY in s2;\n sources[i2] = typeof s2 === \"function\" ? (proxy = true, createMemo(s2)) : s2;\n }\n if (proxy) {\n return new Proxy({\n get(property) {\n for (let i2 = sources.length - 1; i2 >= 0; i2--) {\n const v = resolveSource(sources[i2])[property];\n if (v !== void 0)\n return v;\n }\n },\n has(property) {\n for (let i2 = sources.length - 1; i2 >= 0; i2--) {\n if (property in resolveSource(sources[i2]))\n return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i2 = 0; i2 < sources.length; i2++)\n keys.push(...Object.keys(resolveSource(sources[i2])));\n return [...new Set(keys)];\n }\n }, propTraps);\n }\n const target = {};\n for (let i2 = sources.length - 1; i2 >= 0; i2--) {\n if (sources[i2]) {\n const descriptors = Object.getOwnPropertyDescriptors(sources[i2]);\n for (const key in descriptors) {\n if (key in target)\n continue;\n Object.defineProperty(target, key, {\n enumerable: true,\n get() {\n for (let i3 = sources.length - 1; i3 >= 0; i3--) {\n const v = (sources[i3] || {})[key];\n if (v !== void 0)\n return v;\n }\n }\n });\n }\n }\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n const blocked = new Set(keys.flat());\n if ($PROXY in props) {\n const res = keys.map((k) => {\n return new Proxy({\n get(property) {\n return k.includes(property) ? props[property] : void 0;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter((property) => property in props);\n }\n }, propTraps);\n });\n res.push(new Proxy({\n get(property) {\n return blocked.has(property) ? void 0 : props[property];\n },\n has(property) {\n return blocked.has(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter((k) => !blocked.has(k));\n }\n }, propTraps));\n return res;\n }\n const descriptors = Object.getOwnPropertyDescriptors(props);\n keys.push(Object.keys(descriptors).filter((k) => !blocked.has(k)));\n return keys.map((k) => {\n const clone = {};\n for (let i2 = 0; i2 < k.length; i2++) {\n const key = k[i2];\n if (!(key in props))\n continue;\n Object.defineProperty(clone, key, descriptors[key] ? descriptors[key] : {\n get() {\n return props[key];\n },\n set() {\n return true;\n },\n enumerable: true\n });\n }\n return clone;\n });\n}\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || void 0));\n}\nfunction Show(props) {\n let strictEqual = false;\n const keyed = props.keyed;\n const condition = createMemo(() => props.when, void 0, {\n equals: (a2, b) => strictEqual ? a2 === b : !a2 === !b\n });\n return createMemo(() => {\n const c2 = condition();\n if (c2) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n strictEqual = keyed || fn;\n return fn ? untrack(() => child(c2)) : child;\n }\n return props.fallback;\n }, void 0, void 0);\n}\nfunction Switch(props) {\n let strictEqual = false;\n let keyed = false;\n const equals = (a2, b) => a2[0] === b[0] && (strictEqual ? a2[1] === b[1] : !a2[1] === !b[1]) && a2[2] === b[2];\n const conditions = children(() => props.children), evalConditions = createMemo(() => {\n let conds = conditions();\n if (!Array.isArray(conds))\n conds = [conds];\n for (let i2 = 0; i2 < conds.length; i2++) {\n const c2 = conds[i2].when;\n if (c2) {\n keyed = !!conds[i2].keyed;\n return [i2, c2, conds[i2]];\n }\n }\n return [-1];\n }, void 0, {\n equals\n });\n return createMemo(() => {\n const [index, when, cond] = evalConditions();\n if (index < 0)\n return props.fallback;\n const c2 = cond.children;\n const fn = typeof c2 === \"function\" && c2.length > 0;\n strictEqual = keyed || fn;\n return fn ? untrack(() => c2(when)) : c2;\n }, void 0, void 0);\n}\nfunction Match(props) {\n return props;\n}\nconst booleans = [\"allowfullscreen\", \"async\", \"autofocus\", \"autoplay\", \"checked\", \"controls\", \"default\", \"disabled\", \"formnovalidate\", \"hidden\", \"indeterminate\", \"ismap\", \"loop\", \"multiple\", \"muted\", \"nomodule\", \"novalidate\", \"open\", \"playsinline\", \"readonly\", \"required\", \"reversed\", \"seamless\", \"selected\"];\nconst Properties = /* @__PURE__ */ new Set([\"className\", \"value\", \"readOnly\", \"formNoValidate\", \"isMap\", \"noModule\", \"playsInline\", ...booleans]);\nconst ChildProperties = /* @__PURE__ */ new Set([\"innerHTML\", \"textContent\", \"innerText\", \"children\"]);\nconst Aliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /* @__PURE__ */ Object.assign(/* @__PURE__ */ Object.create(null), {\n class: \"className\",\n formnovalidate: \"formNoValidate\",\n ismap: \"isMap\",\n nomodule: \"noModule\",\n playsinline: \"playsInline\",\n readonly: \"readOnly\"\n});\nconst DelegatedEvents = /* @__PURE__ */ new Set([\"beforeinput\", \"click\", \"dblclick\", \"contextmenu\", \"focusin\", \"focusout\", \"input\", \"keydown\", \"keyup\", \"mousedown\", \"mousemove\", \"mouseout\", \"mouseover\", \"mouseup\", \"pointerdown\", \"pointermove\", \"pointerout\", \"pointerover\", \"pointerup\", \"touchend\", \"touchmove\", \"touchstart\"]);\nconst SVGElements = /* @__PURE__ */ new Set([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animate\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"circle\",\n \"clipPath\",\n \"color-profile\",\n \"cursor\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"filter\",\n \"font\",\n \"font-face\",\n \"font-face-format\",\n \"font-face-name\",\n \"font-face-src\",\n \"font-face-uri\",\n \"foreignObject\",\n \"g\",\n \"glyph\",\n \"glyphRef\",\n \"hkern\",\n \"image\",\n \"line\",\n \"linearGradient\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"missing-glyph\",\n \"mpath\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"radialGradient\",\n \"rect\",\n \"set\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"textPath\",\n \"tref\",\n \"tspan\",\n \"use\",\n \"view\",\n \"vkern\"\n]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nfunction reconcileArrays(parentNode, a2, b) {\n let bLength = b.length, aEnd = a2.length, bEnd = bLength, aStart = 0, bStart = 0, after = a2[aEnd - 1].nextSibling, map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a2[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a2[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;\n while (bStart < bEnd)\n parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a2[aStart]))\n a2[aStart].remove();\n aStart++;\n }\n } else if (a2[aStart] === b[bEnd - 1] && b[bStart] === a2[aEnd - 1]) {\n const node = a2[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a2[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a2[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = /* @__PURE__ */ new Map();\n let i2 = bStart;\n while (i2 < bEnd)\n map.set(b[i2], i2++);\n }\n const index = map.get(a2[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i2 = aStart, sequence = 1, t2;\n while (++i2 < aEnd && i2 < bEnd) {\n if ((t2 = map.get(a2[i2])) == null || t2 !== index + sequence)\n break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a2[aStart];\n while (bStart < index)\n parentNode.insertBefore(b[bStart++], node);\n } else\n parentNode.replaceChild(b[bStart++], a2[aStart++]);\n } else\n aStart++;\n } else\n a2[aStart++].remove();\n }\n }\n}\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot((dispose2) => {\n disposer = dispose2;\n element === document ? code() : insert(element, code(), element.firstChild ? null : void 0, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template$1(html, check, isSVG) {\n const t2 = document.createElement(\"template\");\n t2.innerHTML = html;\n let node = t2.content.firstChild;\n if (isSVG)\n node = node.firstChild;\n return node;\n}\nfunction delegateEvents(eventNames, document2 = window.document) {\n const e2 = document2[$$EVENTS] || (document2[$$EVENTS] = /* @__PURE__ */ new Set());\n for (let i2 = 0, l2 = eventNames.length; i2 < l2; i2++) {\n const name = eventNames[i2];\n if (!e2.has(name)) {\n e2.add(name);\n document2.addEventListener(name, eventHandler);\n }\n }\n}\nfunction setAttribute(node, name, value) {\n if (value == null)\n node.removeAttribute(name);\n else\n node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (value == null)\n node.removeAttributeNS(namespace, name);\n else\n node.setAttributeNS(namespace, name, value);\n}\nfunction className(node, value) {\n if (value == null)\n node.removeAttribute(\"class\");\n else\n node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else\n node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, handler[0] = (e2) => handlerFn.call(node, handler[1], e2));\n } else\n node.addEventListener(name, handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}), prevKeys = Object.keys(prev);\n let i2, len;\n for (i2 = 0, len = prevKeys.length; i2 < len; i2++) {\n const key = prevKeys[i2];\n if (!key || key === \"undefined\" || value[key])\n continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i2 = 0, len = classKeys.length; i2 < len; i2++) {\n const key = classKeys[i2], classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue)\n continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value)\n return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\")\n return nodeStyle.cssText = value;\n typeof prev === \"string\" && (nodeStyle.cssText = prev = void 0);\n prev || (prev = {});\n value || (value = {});\n let v, s2;\n for (s2 in prev) {\n value[s2] == null && nodeStyle.removeProperty(s2);\n delete prev[s2];\n }\n for (s2 in value) {\n v = value[s2];\n if (v !== prev[s2]) {\n nodeStyle.setProperty(s2, v);\n prev[s2] = v;\n }\n }\n return prev;\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));\n }\n createRenderEffect(() => props.ref && props.ref(node));\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== void 0 && !initial)\n initial = [];\n if (typeof accessor !== \"function\")\n return insertExpression(parent, accessor, initial, marker);\n createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\")\n continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren)\n insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef);\n }\n}\nfunction getNextElement(template2) {\n let node, key;\n if (!sharedConfig.context || !(node = sharedConfig.registry.get(key = getHydrationKey()))) {\n return template2.cloneNode(true);\n }\n if (sharedConfig.completed)\n sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i2 = 0, nameLen = classNames.length; i2 < nameLen; i2++)\n node.classList.toggle(classNames[i2], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef) {\n let isCE, isProp, isChildProp;\n if (prop === \"style\")\n return style(node, value, prev);\n if (prop === \"classList\")\n return classList(node, value, prev);\n if (value === prev)\n return prev;\n if (prop === \"ref\") {\n if (!skipRef)\n value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e2 = prop.slice(3);\n prev && node.removeEventListener(e2, prev);\n value && node.addEventListener(e2, value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e2 = prop.slice(10);\n prev && node.removeEventListener(e2, prev, true);\n value && node.addEventListener(e2, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h2 = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h2);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if ((isChildProp = ChildProperties.has(prop)) || !isSVG && (PropAliases[prop] || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes(\"-\"))) {\n if (prop === \"class\" || prop === \"className\")\n className(node, value);\n else if (isCE && !isProp && !isChildProp)\n node[toPropertyName(prop)] = value;\n else\n node[PropAliases[prop] || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns)\n setAttributeNS(node, ns, prop, value);\n else\n setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e2) {\n const key = `$$${e2.type}`;\n let node = e2.composedPath && e2.composedPath()[0] || e2.target;\n if (e2.target !== node) {\n Object.defineProperty(e2, \"target\", {\n configurable: true,\n value: node\n });\n }\n Object.defineProperty(e2, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) {\n sharedConfig.done = true;\n document.querySelectorAll(\"[id^=pl-]\").forEach((elem) => elem.remove());\n }\n while (node) {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== void 0 ? handler.call(node, data, e2) : handler.call(node, e2);\n if (e2.cancelBubble)\n return;\n }\n node = node._$host || node.parentNode || node.host;\n }\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n if (sharedConfig.context && !current)\n current = [...parent.childNodes];\n while (typeof current === \"function\")\n current = current();\n if (value === current)\n return current;\n const t2 = typeof value, multi = marker !== void 0;\n parent = multi && current[0] && current[0].parentNode || parent;\n if (t2 === \"string\" || t2 === \"number\") {\n if (sharedConfig.context)\n return current;\n if (t2 === \"number\")\n value = value.toString();\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data = value;\n } else\n node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else\n current = parent.textContent = value;\n }\n } else if (value == null || t2 === \"boolean\") {\n if (sharedConfig.context)\n return current;\n current = cleanChildren(parent, current, marker);\n } else if (t2 === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\")\n v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));\n return () => current;\n }\n if (sharedConfig.context) {\n if (!array.length)\n return current;\n for (let i2 = 0; i2 < array.length; i2++) {\n if (array[i2].parentNode)\n return current = array;\n }\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi)\n return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else\n reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value instanceof Node) {\n if (sharedConfig.context && value.parentNode)\n return current = multi ? [value] : value;\n if (Array.isArray(current)) {\n if (multi)\n return current = cleanChildren(parent, current, marker, value);\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else\n parent.replaceChild(value, parent.firstChild);\n current = value;\n } else\n ;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap2) {\n let dynamic = false;\n for (let i2 = 0, len = array.length; i2 < len; i2++) {\n let item = array[i2], prev = current && current[i2];\n if (item instanceof Node) {\n normalized.push(item);\n } else if (item == null || item === true || item === false)\n ;\n else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (typeof item === \"function\") {\n if (unwrap2) {\n while (typeof item === \"function\")\n item = item();\n dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) {\n normalized.push(prev);\n } else\n normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i2 = 0, len = array.length; i2 < len; i2++)\n parent.insertBefore(array[i2], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === void 0)\n return parent.textContent = \"\";\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i2 = current.length - 1; i2 >= 0; i2--) {\n const el = current[i2];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i2)\n isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);\n else\n isParent && el.remove();\n } else\n inserted = true;\n }\n } else\n parent.insertBefore(node, marker);\n return [node];\n}\nfunction getHydrationKey() {\n const hydrate = sharedConfig.context;\n return `${hydrate.id}${hydrate.count++}`;\n}\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);\n}\nfunction Portal(props) {\n const {\n useShadow\n } = props, marker = document.createTextNode(\"\"), mount = props.mount || document.body;\n function renderPortal() {\n if (sharedConfig.context) {\n const [s2, set] = createSignal(false);\n queueMicrotask(() => set(true));\n return () => s2() && props.children;\n } else\n return () => props.children;\n }\n if (mount instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot((dispose2) => insert(mount, () => !clean() ? renderPortal()() : dispose2(), null));\n onCleanup(() => {\n if (sharedConfig.context)\n queueMicrotask(cleanup);\n else\n cleanup();\n });\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG), renderRoot = useShadow && container.attachShadow ? container.attachShadow({\n mode: \"open\"\n }) : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, renderPortal());\n mount.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => mount.removeChild(container));\n }\n return marker;\n}\nfunction Dynamic(props) {\n const [p2, others] = splitProps(props, [\"component\"]);\n const cached = createMemo(() => p2.component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(others));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);\n spread(el, others, isSvg);\n return el;\n }\n });\n}\nconst [walletsModalOpen, setWalletsModalOpen] = createSignal(false);\nconst [lastSelectedWalletInfo, setLastSelectedWalletInfo] = createSignal(\n null\n);\nconst [action, setAction] = createSignal(null);\nlet e = { data: \"\" }, t = (t2) => \"object\" == typeof window ? ((t2 ? t2.querySelector(\"#_goober\") : window._goober) || Object.assign((t2 || document.head).appendChild(document.createElement(\"style\")), { innerHTML: \" \", id: \"_goober\" })).firstChild : t2 || e, l = /(?:([\\u0080-\\uFFFF\\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\\s*)/g, a = /\\/\\*[^]*?\\*\\/| +/g, n = /\\n+/g, o = (e2, t2) => {\n let r = \"\", l2 = \"\", a2 = \"\";\n for (let n2 in e2) {\n let c2 = e2[n2];\n \"@\" == n2[0] ? \"i\" == n2[1] ? r = n2 + \" \" + c2 + \";\" : l2 += \"f\" == n2[1] ? o(c2, n2) : n2 + \"{\" + o(c2, \"k\" == n2[1] ? \"\" : t2) + \"}\" : \"object\" == typeof c2 ? l2 += o(c2, t2 ? t2.replace(/([^,])+/g, (e3) => n2.replace(/(^:.*)|([^,])+/g, (t3) => /&/.test(t3) ? t3.replace(/&/g, e3) : e3 ? e3 + \" \" + t3 : t3)) : n2) : null != c2 && (n2 = /^--/.test(n2) ? n2 : n2.replace(/[A-Z]/g, \"-$&\").toLowerCase(), a2 += o.p ? o.p(n2, c2) : n2 + \":\" + c2 + \";\");\n }\n return r + (t2 && a2 ? t2 + \"{\" + a2 + \"}\" : a2) + l2;\n}, c = {}, s = (e2) => {\n if (\"object\" == typeof e2) {\n let t2 = \"\";\n for (let r in e2)\n t2 += r + s(e2[r]);\n return t2;\n }\n return e2;\n}, i = (e2, t2, r, i2, p2) => {\n let u2 = s(e2), d = c[u2] || (c[u2] = ((e3) => {\n let t3 = 0, r2 = 11;\n for (; t3 < e3.length; )\n r2 = 101 * r2 + e3.charCodeAt(t3++) >>> 0;\n return \"go\" + r2;\n })(u2));\n if (!c[d]) {\n let t3 = u2 !== e2 ? e2 : ((e3) => {\n let t4, r2, o2 = [{}];\n for (; t4 = l.exec(e3.replace(a, \"\")); )\n t4[4] ? o2.shift() : t4[3] ? (r2 = t4[3].replace(n, \" \").trim(), o2.unshift(o2[0][r2] = o2[0][r2] || {})) : o2[0][t4[1]] = t4[2].replace(n, \" \").trim();\n return o2[0];\n })(e2);\n c[d] = o(p2 ? { [\"@keyframes \" + d]: t3 } : t3, r ? \"\" : \".\" + d);\n }\n let f = r && c.g ? c.g : null;\n return r && (c.g = c[d]), ((e3, t3, r2, l2) => {\n l2 ? t3.data = t3.data.replace(l2, e3) : -1 === t3.data.indexOf(e3) && (t3.data = r2 ? e3 + t3.data : t3.data + e3);\n })(c[d], t2, i2, f), d;\n}, p = (e2, t2, r) => e2.reduce((e3, l2, a2) => {\n let n2 = t2[a2];\n if (n2 && n2.call) {\n let e4 = n2(r), t3 = e4 && e4.props && e4.props.className || /^go/.test(e4) && e4;\n n2 = t3 ? \".\" + t3 : e4 && \"object\" == typeof e4 ? e4.props ? \"\" : o(e4, \"\") : false === e4 ? \"\" : e4;\n }\n return e3 + l2 + (null == n2 ? \"\" : n2);\n}, \"\");\nfunction u(e2) {\n let r = this || {}, l2 = e2.call ? e2(r.p) : e2;\n return i(l2.unshift ? l2.raw ? p(l2, [].slice.call(arguments, 1), r.p) : l2.reduce((e3, t2) => Object.assign(e3, t2 && t2.call ? t2(r.p) : t2), {}) : l2, t(r.target), r.g, r.o, r.k);\n}\nu.bind({ g: 1 });\nlet h = u.bind({ k: 1 });\nconst ThemeContext = createContext();\nfunction ThemeProvider(props) {\n return createComponent(ThemeContext.Provider, {\n value: props.theme,\n get children() {\n return props.children;\n }\n });\n}\nfunction useTheme() {\n return useContext(ThemeContext);\n}\nfunction makeStyled(tag) {\n let _ctx = this || {};\n return (...args) => {\n const Styled = (props) => {\n const theme = useContext(ThemeContext);\n const withTheme = mergeProps(props, { theme });\n const clone = mergeProps(withTheme, {\n get class() {\n const pClass = withTheme.class, append = \"class\" in withTheme && /^go[0-9]+/.test(pClass);\n let className2 = u.apply(\n { target: _ctx.target, o: append, p: withTheme, g: _ctx.g },\n args\n );\n return [pClass, className2].filter(Boolean).join(\" \");\n }\n });\n const [local, newProps] = splitProps(clone, [\"as\", \"theme\"]);\n const htmlProps = newProps;\n const createTag = local.as || tag;\n let el;\n if (typeof createTag === \"function\") {\n el = createTag(htmlProps);\n } else {\n {\n if (_ctx.g == 1) {\n el = document.createElement(createTag);\n spread(el, htmlProps);\n } else {\n el = Dynamic(mergeProps({ component: createTag }, htmlProps));\n }\n }\n }\n return el;\n };\n Styled.class = (props) => {\n return untrack(() => {\n return u.apply({ target: _ctx.target, p: props, g: _ctx.g }, args);\n });\n };\n return Styled;\n };\n}\nconst styled = new Proxy(makeStyled, {\n get(target, tag) {\n return target(tag);\n }\n});\nfunction createGlobalStyles() {\n const fn = makeStyled.call({ g: 1 }, \"div\").apply(null, arguments);\n return function GlobalStyles2(props) {\n fn(props);\n return null;\n };\n}\nconst common$1 = {\n close: \"Close\"\n};\nconst button$1 = {\n connectWallet: \"Connect Wallet\",\n dropdown: {\n copy: \"Copy address\",\n copied: \"Address copied!\",\n disconnect: \"Disconnect\"\n }\n};\nconst notifications$1 = {\n confirm: {\n header: \"Confirm action in\\xA0your wallet\"\n },\n transactionSent: {\n header: \"Transaction sent\",\n text: \"Your transaction has been sent to\\xA0the\\xA0network and\\xA0will be\\xA0processed in\\xA0a\\xA0few seconds.\"\n },\n transactionCanceled: {\n header: \"Action cancelled\",\n text: \"The\\xA0action was canceled because there\\xA0were no\\xA0expected changes in\\xA0the\\xA0blockchain.\"\n }\n};\nconst walletModal$1 = {\n loading: \"Wallets list is loading\",\n selectWalletModal: {\n connectWallet: \"Connect a\\xA0Wallet\",\n selectWallet: \"Choose your preferred wallet from the\\xA0options to\\xA0get\\xA0started.\",\n learnMore: \"Learn more\"\n },\n qrCodeModal: {\n connectWith: \"Connect with {{ name }}\",\n scan: \"Scan QR\\xA0code with your phone\\u2019s or\\xA0{{ name }}\\u2019s\\xA0camera.\",\n openWallet: \"Open {{ name }}\",\n openExtension: \"Open Extension\",\n dontHave: \"Don't have {{ name }}?\",\n get: \"GET\"\n }\n};\nconst actionModal$1 = {\n confirmTransaction: {\n header: \"Confirm action in\\xA0your\\xA0wallet\",\n text: \"Checking after confirmation usually takes\\xA0some time.\"\n },\n transactionSent: \"$notifications.transactionSent\",\n transactionCanceled: \"$notifications.transactionCanceled\"\n};\nconst en = {\n common: common$1,\n button: button$1,\n notifications: notifications$1,\n walletModal: walletModal$1,\n actionModal: actionModal$1\n};\nconst common = {\n close: \"\\u0417\\u0430\\u043A\\u0440\\u044B\\u0442\\u044C\"\n};\nconst button = {\n connectWallet: \"\\u041F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A\",\n dropdown: {\n copy: \"\\u0421\\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u0442\\u044C \\u0430\\u0434\\u0440\\u0435\\u0441\",\n copied: \"\\u0410\\u0434\\u0440\\u0435\\u0441 \\u0441\\u043A\\u043E\\u043F\\u0438\\u0440\\u043E\\u0432\\u0430\\u043D!\",\n disconnect: \"\\u041E\\u0442\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A\"\n }\n};\nconst notifications = {\n confirm: {\n header: \"\\u041F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0438\\u0442\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\xA0\\u0441\\u0432\\u043E\\u0451\\u043C \\u043A\\u043E\\u0448\\u0435\\u043B\\u044C\\u043A\\u0435\"\n },\n transactionSent: {\n header: \"\\u0422\\u0440\\u0430\\u043D\\u0437\\u0430\\u043A\\u0446\\u0438\\u044F \\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0430\",\n text: \"\\u0412\\u0430\\u0448\\u0430 \\u0442\\u0440\\u0430\\u043D\\u0437\\u0430\\u043A\\u0446\\u0438\\u044F \\u043E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043B\\u0435\\u043D\\u0430 \\u0432\\xA0\\u0441\\u0435\\u0442\\u044C \\u0438\\xA0\\u0431\\u0443\\u0434\\u0435\\u0442 \\u043E\\u0431\\u0440\\u0430\\u0431\\u043E\\u0442\\u0430\\u043D\\u0430 \\u0447\\u0435\\u0440\\u0435\\u0437\\xA0\\u043D\\u0435\\u0441\\u043A\\u043E\\u043B\\u044C\\u043A\\u043E \\u0441\\u0435\\u043A\\u0443\\u043D\\u0434.\"\n },\n transactionCanceled: {\n header: \"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043E\\u0442\\u043C\\u0435\\u043D\\u0435\\u043D\\u043E\",\n text: \"\\u0414\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u043F\\u0440\\u0435\\u0440\\u0432\\u0430\\u043D\\u043E \\u043F\\u043E\\u0442\\u043E\\u043C\\u0443 \\u0447\\u0442\\u043E \\u0432\\xA0\\u0431\\u043B\\u043E\\u043A\\u0447\\u0435\\u0439\\u043D\\u0435 \\u043D\\u0435\\u0442\\xA0\\u043E\\u0436\\u0438\\u0434\\u0430\\u0435\\u043C\\u044B\\u0445 \\u0438\\u0437\\u043C\\u0435\\u043D\\u0435\\u043D\\u0438\\u0439.\"\n }\n};\nconst walletModal = {\n loading: \"\\u0421\\u043F\\u0438\\u0441\\u043E\\u043A \\u043A\\u043E\\u0448\\u0435\\u043B\\u044C\\u043A\\u043E\\u0432 \\u0437\\u0430\\u0433\\u0440\\u0443\\u0436\\u0430\\u0435\\u0442\\u0441\\u044F\",\n selectWalletModal: {\n connectWallet: \"\\u041F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u0435 \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A\",\n selectWallet: \"\\u0412\\u044B\\u0431\\u0435\\u0440\\u0438\\u0442\\u0435 \\u0441\\u0432\\u043E\\u0439 \\u043A\\u043E\\u0448\\u0435\\u043B\\u0451\\u043A \\u0438\\u0437 \\u043F\\u0440\\u0435\\u0434\\u043B\\u043E\\u0436\\u0435\\u043D\\u043D\\u044B\\u0445 \\u043D\\u0438\\u0436\\u0435.\",\n learnMore: \"\\u041F\\u043E\\u0434\\u0440\\u043E\\u0431\\u043D\\u0435\\u0435\"\n },\n qrCodeModal: {\n connectWith: \"\\u041F\\u043E\\u0434\\u043A\\u043B\\u044E\\u0447\\u0438\\u0442\\u044C\\u0441\\u044F \\u0441 \\u043F\\u043E\\u043C\\u043E\\u0449\\u044C\\u044E {{ name }}\",\n scan: \"\\u041E\\u0442\\u0441\\u043A\\u0430\\u043D\\u0438\\u0440\\u0443\\u0439\\u0442\\u0435 QR-\\u043A\\u043E\\u0434 \\u043A\\u0430\\u043C\\u0435\\u0440\\u043E\\u0439 \\u0442\\u0435\\u043B\\u0435\\u0444\\u043E\\u043D\\u0430 \\u0438\\u043B\\u0438\\xA0\\u043F\\u0440\\u0438\\u043B\\u043E\\u0436\\u0435\\u043D\\u0438\\u044F\\xA0{{ name }}.\",\n openWallet: \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C {{ name }}\",\n openExtension: \"\\u041E\\u0442\\u043A\\u0440\\u044B\\u0442\\u044C \\u0440\\u0430\\u0441\\u0448\\u0438\\u0440\\u0435\\u043D\\u0438\\u0435\",\n dontHave: \"\\u0423 \\u0432\\u0430\\u0441 \\u043D\\u0435\\u0442 {{ name }}?\",\n get: \"\\u0421\\u043A\\u0430\\u0447\\u0430\\u0442\\u044C\"\n }\n};\nconst actionModal = {\n confirmTransaction: {\n header: \"\\u041F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0434\\u0438\\u0442\\u0435 \\u0434\\u0435\\u0439\\u0441\\u0442\\u0432\\u0438\\u0435 \\u0432\\xA0\\u0441\\u0432\\u043E\\u0451\\u043C \\u043A\\u043E\\u0448\\u0435\\u043B\\u044C\\u043A\\u0435\",\n text: \"\\u041E\\u0442\\u043F\\u0440\\u0430\\u0432\\u043A\\u0430 \\u0442\\u0440\\u0430\\u043D\\u0437\\u0430\\u043A\\u0446\\u0438\\u0438 \\u043F\\u043E\\u0441\\u043B\\u0435 \\u043F\\u043E\\u0434\\u0442\\u0432\\u0435\\u0440\\u0436\\u0434\\u0435\\u043D\\u0438\\u044F \\u043E\\u0431\\u044B\\u0447\\u043D\\u043E \\u0437\\u0430\\u043D\\u0438\\u043C\\u0430\\u0435\\u0442 \\u043D\\u0435\\u043A\\u043E\\u0442\\u043E\\u0440\\u043E\\u0435 \\u0432\\u0440\\u0435\\u043C\\u044F.\"\n },\n transactionSent: \"$notifications.transactionSent\",\n transactionCanceled: \"$notifications.transactionCanceled\"\n};\nconst ru = {\n common,\n button,\n notifications,\n walletModal,\n actionModal\n};\nconst i18nDictionary = {\n en: parseDictionary(en),\n ru: parseDictionary(ru)\n};\nfunction parseDictionary(dictionary) {\n const refSymbol = \"$\";\n const iterate = (subDictionary) => {\n Object.entries(subDictionary).forEach(([key, value]) => {\n if (typeof value === \"object\" && value) {\n return iterate(value);\n }\n if (typeof value === \"string\") {\n if (value[0] === refSymbol) {\n const path = value.slice(1).split(\".\");\n let obj = dictionary;\n path.forEach((item) => {\n if (item in obj) {\n obj = obj[item];\n } else {\n throw new Error(\n `Cannot parse translations: there is no property ${item} in translation`\n );\n }\n });\n subDictionary[key] = obj;\n }\n if (value.slice(0, 2) === `\\\\${refSymbol}`) {\n subDictionary[key] = value.slice(1);\n }\n }\n });\n };\n iterate(dictionary);\n return dictionary;\n}\nconst ConnectorContext = createContext();\nconst $RAW = Symbol(\"store-raw\"), $NODE = Symbol(\"store-node\"), $NAME = Symbol(\"store-name\");\nfunction wrap$1(value, name) {\n let p2 = value[$PROXY];\n if (!p2) {\n Object.defineProperty(value, $PROXY, {\n value: p2 = new Proxy(value, proxyTraps$1)\n });\n if (!Array.isArray(value)) {\n const keys = Object.keys(value), desc = Object.getOwnPropertyDescriptors(value);\n for (let i2 = 0, l2 = keys.length; i2 < l2; i2++) {\n const prop = keys[i2];\n if (desc[prop].get) {\n Object.defineProperty(value, prop, {\n enumerable: desc[prop].enumerable,\n get: desc[prop].get.bind(p2)\n });\n }\n }\n }\n }\n return p2;\n}\nfunction isWrappable(obj) {\n let proto;\n return obj != null && typeof obj === \"object\" && (obj[$PROXY] || !(proto = Object.getPrototypeOf(obj)) || proto === Object.prototype || Array.isArray(obj));\n}\nfunction unwrap(item, set = /* @__PURE__ */ new Set()) {\n let result, unwrapped, v, prop;\n if (result = item != null && item[$RAW])\n return result;\n if (!isWrappable(item) || set.has(item))\n return item;\n if (Array.isArray(item)) {\n if (Object.isFrozen(item))\n item = item.slice(0);\n else\n set.add(item);\n for (let i2 = 0, l2 = item.length; i2 < l2; i2++) {\n v = item[i2];\n if ((unwrapped = unwrap(v, set)) !== v)\n item[i2] = unwrapped;\n }\n } else {\n if (Object.isFrozen(item))\n item = Object.assign({}, item);\n else\n set.add(item);\n const keys = Object.keys(item), desc = Object.getOwnPropertyDescriptors(item);\n for (let i2 = 0, l2 = keys.length; i2 < l2; i2++) {\n prop = keys[i2];\n if (desc[prop].get)\n continue;\n v = item[prop];\n if ((unwrapped = unwrap(v, set)) !== v)\n item[prop] = unwrapped;\n }\n }\n return item;\n}\nfunction getDataNodes(target) {\n let nodes = target[$NODE];\n if (!nodes)\n Object.defineProperty(target, $NODE, {\n value: nodes = {}\n });\n return nodes;\n}\nfunction getDataNode(nodes, property, value) {\n return nodes[property] || (nodes[property] = createDataNode(value));\n}\nfunction proxyDescriptor$1(target, property) {\n const desc = Reflect.getOwnPropertyDescriptor(target, property);\n if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME)\n return desc;\n delete desc.value;\n delete desc.writable;\n desc.get = () => target[$PROXY][property];\n return desc;\n}\nfunction trackSelf(target) {\n if (getListener()) {\n const nodes = getDataNodes(target);\n (nodes._ || (nodes._ = createDataNode()))();\n }\n}\nfunction ownKeys(target) {\n trackSelf(target);\n return Reflect.ownKeys(target);\n}\nfunction createDataNode(value) {\n const [s2, set] = createSignal(value, {\n equals: false,\n internal: true\n });\n s2.$ = set;\n return s2;\n}\nconst proxyTraps$1 = {\n get(target, property, receiver) {\n if (property === $RAW)\n return target;\n if (property === $PROXY)\n return receiver;\n if (property === $TRACK) {\n trackSelf(target);\n return receiver;\n }\n const nodes = getDataNodes(target);\n const tracked = nodes.hasOwnProperty(property);\n let value = tracked ? nodes[property]() : target[property];\n if (property === $NODE || property === \"__proto__\")\n return value;\n if (!tracked) {\n const desc = Object.getOwnPropertyDescriptor(target, property);\n if (getListener() && (typeof value !== \"function\" || target.hasOwnProperty(property)) && !(desc && desc.get))\n value = getDataNode(nodes, property, value)();\n }\n return isWrappable(value) ? wrap$1(value) : value;\n },\n has(target, property) {\n if (property === $RAW || property === $PROXY || property === $TRACK || property === $NODE || property === \"__proto__\")\n return true;\n this.get(target, property, target);\n return property in target;\n },\n set() {\n return true;\n },\n deleteProperty() {\n return true;\n },\n ownKeys,\n getOwnPropertyDescriptor: proxyDescriptor$1\n};\nfunction setProperty(state, property, value, deleting = false) {\n if (!deleting && state[property] === value)\n return;\n const prev = state[property], len = state.length;\n if (value === void 0)\n delete state[property];\n else\n state[property] = value;\n let nodes = getDataNodes(state), node;\n if (node = getDataNode(nodes, property, prev))\n node.$(() => value);\n if (Array.isArray(state) && state.length !== len)\n (node = getDataNode(nodes, \"length\", len)) && node.$(state.length);\n (node = nodes._) && node.$();\n}\nfunction mergeStoreNode(state, value) {\n const keys = Object.keys(value);\n for (let i2 = 0; i2 < keys.length; i2 += 1) {\n const key = keys[i2];\n setProperty(state, key, value[key]);\n }\n}\nfunction updateArray(current, next) {\n if (typeof next === \"function\")\n next = next(current);\n next = unwrap(next);\n if (Array.isArray(next)) {\n if (current === next)\n return;\n let i2 = 0, len = next.length;\n for (; i2 < len; i2++) {\n const value = next[i2];\n if (current[i2] !== value)\n setProperty(current, i2, value);\n }\n setProperty(current, \"length\", len);\n } else\n mergeStoreNode(current, next);\n}\nfunction updatePath(current, path, traversed = []) {\n let part, prev = current;\n if (path.length > 1) {\n part = path.shift();\n const partType = typeof part, isArray = Array.isArray(current);\n if (Array.isArray(part)) {\n for (let i2 = 0; i2 < part.length; i2++) {\n updatePath(current, [part[i2]].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"function\") {\n for (let i2 = 0; i2 < current.length; i2++) {\n if (part(current[i2], i2))\n updatePath(current, [i2].concat(path), traversed);\n }\n return;\n } else if (isArray && partType === \"object\") {\n const {\n from = 0,\n to = current.length - 1,\n by = 1\n } = part;\n for (let i2 = from; i2 <= to; i2 += by) {\n updatePath(current, [i2].concat(path), traversed);\n }\n return;\n } else if (path.length > 1) {\n updatePath(current[part], path, [part].concat(traversed));\n return;\n }\n prev = current[part];\n traversed = [part].concat(traversed);\n }\n let value = path[0];\n if (typeof value === \"function\") {\n value = value(prev, traversed);\n if (value === prev)\n return;\n }\n if (part === void 0 && value == void 0)\n return;\n value = unwrap(value);\n if (part === void 0 || isWrappable(prev) && isWrappable(value) && !Array.isArray(value)) {\n mergeStoreNode(prev, value);\n } else\n setProperty(current, part, value);\n}\nfunction createStore(...[store, options]) {\n const unwrappedStore = unwrap(store || {});\n const isArray = Array.isArray(unwrappedStore);\n const wrappedStore = wrap$1(unwrappedStore);\n function setStore(...args) {\n batch(() => {\n isArray && args.length === 1 ? updateArray(unwrappedStore, args[0]) : updatePath(unwrappedStore, args);\n });\n }\n return [wrappedStore, setStore];\n}\nvar THEME = /* @__PURE__ */ ((THEME2) => {\n THEME2[\"DARK\"] = \"DARK\";\n THEME2[\"LIGHT\"] = \"LIGHT\";\n return THEME2;\n})(THEME || {});\nconst defaultLightColorsSet = {\n constant: {\n black: \"#000000\",\n white: \"#FFFFFF\"\n },\n connectButton: {\n background: \"#31A6F5\",\n foreground: \"#FFFFFF\"\n },\n accent: \"#31A6F5\",\n icon: {\n primary: \"#0F0F0F\",\n secondary: \"#7A8999\",\n tertiary: \"#C1CAD2\",\n success: \"#29CC6A\"\n },\n background: {\n primary: \"#FFFFFF\",\n secondary: \"#F1F3F5\"\n },\n text: {\n primary: \"#0F0F0F\",\n secondary: \"#7A8999\",\n subhead: \"#6A7785\"\n }\n};\nconst defaultDarkColorsSet = {\n constant: {\n black: \"#000000\",\n white: \"#FFFFFF\"\n },\n connectButton: {\n background: \"#31A6F5\",\n foreground: \"#FFFFFF\"\n },\n accent: \"#E5E5EA\",\n icon: {\n primary: \"#E5E5EA\",\n secondary: \"#909099\",\n tertiary: \"#434347\",\n success: \"#29CC6A\"\n },\n background: {\n primary: \"#121214\",\n secondary: \"#18181A\"\n },\n text: {\n primary: \"#E5E5EA\",\n secondary: \"#7D7D85\",\n subhead: \"#8C8C93\"\n }\n};\nvar isMergeableObject = function isMergeableObject2(value) {\n return isNonNullObject(value) && !isSpecial(value);\n};\nfunction isNonNullObject(value) {\n return !!value && typeof value === \"object\";\n}\nfunction isSpecial(value) {\n var stringValue = Object.prototype.toString.call(value);\n return stringValue === \"[object RegExp]\" || stringValue === \"[object Date]\" || isReactElement(value);\n}\nvar canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 60103;\nfunction isReactElement(value) {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {};\n}\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n return options.clone !== false && options.isMergeableObject(value) ? deepmerge(emptyTarget(value), value, options) : value;\n}\nfunction defaultArrayMerge(target, source, options) {\n return target.concat(source).map(function(element) {\n return cloneUnlessOtherwiseSpecified(element, options);\n });\n}\nfunction getMergeFunction(key, options) {\n if (!options.customMerge) {\n return deepmerge;\n }\n var customMerge = options.customMerge(key);\n return typeof customMerge === \"function\" ? customMerge : deepmerge;\n}\nfunction getEnumerableOwnPropertySymbols(target) {\n return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n return target.propertyIsEnumerable(symbol);\n }) : [];\n}\nfunction getKeys(target) {\n return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));\n}\nfunction propertyIsOnObject(object, property) {\n try {\n return property in object;\n } catch (_) {\n return false;\n }\n}\nfunction propertyIsUnsafe(target, key) {\n return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));\n}\nfunction mergeObject(target, source, options) {\n var destination = {};\n if (options.isMergeableObject(target)) {\n getKeys(target).forEach(function(key) {\n destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n });\n }\n getKeys(source).forEach(function(key) {\n if (propertyIsUnsafe(target, key)) {\n return;\n }\n if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n destination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n } else {\n destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n }\n });\n return destination;\n}\nfunction deepmerge(target, source, options) {\n options = options || {};\n options.arrayMerge = options.arrayMerge || defaultArrayMerge;\n options.isMergeableObject = options.isMergeableObject || isMergeableObject;\n options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n if (!sourceAndTargetTypesMatch) {\n return cloneUnlessOtherwiseSpecified(source, options);\n } else if (sourceIsArray) {\n return options.arrayMerge(target, source, options);\n } else {\n return mergeObject(target, source, options);\n }\n}\ndeepmerge.all = function deepmergeAll(array, options) {\n if (!Array.isArray(array)) {\n throw new Error(\"first argument should be an array\");\n }\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, options);\n }, {});\n};\nvar deepmerge_1 = deepmerge;\nvar cjs = deepmerge_1;\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\nfunction isObject(o2) {\n return Object.prototype.toString.call(o2) === \"[object Object]\";\n}\nfunction isPlainObject(o2) {\n var ctor, prot;\n if (isObject(o2) === false)\n return false;\n ctor = o2.constructor;\n if (ctor === void 0)\n return true;\n prot = ctor.prototype;\n if (isObject(prot) === false)\n return false;\n if (prot.hasOwnProperty(\"isPrototypeOf\") === false) {\n return false;\n }\n return true;\n}\nfunction mergeOptions(options, defaultOptions) {\n if (!options) {\n return defaultOptions;\n }\n const overwriteMerge = (_, sourceArray, __) => sourceArray;\n return cjs(defaultOptions, options, {\n arrayMerge: overwriteMerge,\n isMergeableObject: isPlainObject\n });\n}\nconst [themeState, setThemeState] = createStore({\n theme: THEME.LIGHT,\n colors: defaultLightColorsSet,\n borderRadius: \"m\"\n});\nconst themeColorsMappingDefault = {\n [THEME.LIGHT]: defaultLightColorsSet,\n [THEME.DARK]: defaultDarkColorsSet\n};\nconst themeCustomColors = {\n [THEME.LIGHT]: void 0,\n [THEME.DARK]: void 0\n};\nfunction setTheme(theme, colorsSet) {\n if (colorsSet) {\n themeCustomColors[THEME.DARK] = mergeOptions(\n colorsSet[THEME.DARK],\n themeCustomColors[THEME.DARK]\n );\n themeCustomColors[THEME.LIGHT] = mergeOptions(\n colorsSet[THEME.LIGHT],\n themeCustomColors[THEME.LIGHT]\n );\n }\n setThemeState({\n theme,\n colors: mergeOptions(themeCustomColors[theme], themeColorsMappingDefault[theme])\n });\n}\nfunction setBorderRadius(borderRadius) {\n setThemeState({ borderRadius });\n}\nfunction setColors(colorsSet) {\n themeCustomColors[THEME.DARK] = mergeOptions(\n colorsSet[THEME.DARK],\n themeCustomColors[THEME.DARK]\n );\n themeCustomColors[THEME.LIGHT] = mergeOptions(\n colorsSet[THEME.LIGHT],\n themeCustomColors[THEME.LIGHT]\n );\n setThemeState((state) => ({\n colors: mergeOptions(\n themeCustomColors[state.theme],\n themeColorsMappingDefault[state.theme]\n )\n }));\n}\nconst GlobalStyles = () => {\n document.body.addEventListener(\"mousedown\", () => document.body.classList.add(\"using-mouse\"));\n document.body.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Tab\") {\n document.body.classList.remove(\"using-mouse\");\n }\n });\n const Styles = createGlobalStyles`\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-family: SF Pro, Roboto, sans-serif;\n }\n html, body {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n \n *:focus {\n outline: #08f auto 2px;\n }\n\n body.using-mouse :focus {\n outline: none;\n }\n \n li {\n list-style: none;\n }\n button {\n outline: none;\n }\n`;\n return createComponent(Styles, {});\n};\nfunction hexToRgb(hex) {\n if (hex[0] === \"#\") {\n hex = hex.slice(1);\n }\n const bigint = parseInt(hex, 16);\n const r = bigint >> 16 & 255;\n const g = bigint >> 8 & 255;\n const b = bigint & 255;\n return [r, g, b].join(\",\");\n}\nfunction rgba(color, opacity) {\n if (color[0] === \"#\") {\n color = hexToRgb(color);\n }\n return `rgba(${color}, ${opacity})`;\n}\nconst borders$3 = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst ButtonStyled$2 = styled.button`\n background-color: ${(props) => rgba(props.theme.colors.accent, 0.12)};\n color: ${(props) => props.theme.colors.accent};\n\n padding: 9px 16px;\n border: none;\n border-radius: ${(props) => borders$3[props.theme.borderRadius]};\n cursor: pointer;\n\n font-size: 14px;\n font-weight: 590;\n line-height: 18px;\n letter-spacing: -0.154px;\n\n transition: transform 0.1s ease-in-out;\n\n &:hover {\n transform: scale(1.04);\n }\n\n &:active {\n transform: scale(0.96);\n }\n`;\nconst Button = (props) => {\n return createComponent(ButtonStyled$2, {\n get [\"class\"]() {\n return props.class;\n },\n get id() {\n return props.id;\n },\n onClick: () => props.onClick(),\n ref(r$) {\n const _ref$ = props.ref;\n typeof _ref$ === \"function\" ? _ref$(r$) : props.ref = r$;\n },\n get children() {\n return props.children;\n }\n });\n};\nvar classnames = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(module) {\n (function() {\n var hasOwn = {}.hasOwnProperty;\n function classNames() {\n var classes = [];\n for (var i2 = 0; i2 < arguments.length; i2++) {\n var arg = arguments[i2];\n if (!arg)\n continue;\n var argType = typeof arg;\n if (argType === \"string\" || argType === \"number\") {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === \"object\") {\n if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes(\"[native code]\")) {\n classes.push(arg.toString());\n continue;\n }\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n return classes.join(\" \");\n }\n if (module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else {\n window.classNames = classNames;\n }\n })();\n})(classnames);\nconst cn = classnames.exports;\nfunction nextFrame(fn) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\nconst Transition = (props) => {\n let el;\n let first = true;\n const [s1, set1] = createSignal();\n const [s2, set2] = createSignal();\n const resolved = children(() => props.children);\n const {\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeExit,\n onExit,\n onAfterExit\n } = props;\n const classnames2 = createMemo(() => {\n const name = props.name || \"s\";\n return {\n enterActiveClass: props.enterActiveClass || name + \"-enter-active\",\n enterClass: props.enterClass || name + \"-enter\",\n enterToClass: props.enterToClass || name + \"-enter-to\",\n exitActiveClass: props.exitActiveClass || name + \"-exit-active\",\n exitClass: props.exitClass || name + \"-exit\",\n exitToClass: props.exitToClass || name + \"-exit-to\"\n };\n });\n function enterTransition(el2, prev) {\n if (!first || props.appear) {\n let endTransition = function(e2) {\n if (el2 && (!e2 || e2.target === el2)) {\n el2.removeEventListener(\"transitionend\", endTransition);\n el2.removeEventListener(\"animationend\", endTransition);\n el2.classList.remove(...enterActiveClasses);\n el2.classList.remove(...enterToClasses);\n batch(() => {\n s1() !== el2 && set1(el2);\n s2() === el2 && set2(void 0);\n });\n onAfterEnter && onAfterEnter(el2);\n if (props.mode === \"inout\")\n exitTransition(el2, prev);\n }\n };\n const enterClasses = classnames2().enterClass.split(\" \");\n const enterActiveClasses = classnames2().enterActiveClass.split(\" \");\n const enterToClasses = classnames2().enterToClass.split(\" \");\n onBeforeEnter && onBeforeEnter(el2);\n el2.classList.add(...enterClasses);\n el2.classList.add(...enterActiveClasses);\n nextFrame(() => {\n el2.classList.remove(...enterClasses);\n el2.classList.add(...enterToClasses);\n onEnter && onEnter(el2, () => endTransition());\n if (!onEnter || onEnter.length < 2) {\n el2.addEventListener(\"transitionend\", endTransition);\n el2.addEventListener(\"animationend\", endTransition);\n }\n });\n }\n prev && !props.mode ? set2(el2) : set1(el2);\n }\n function exitTransition(el2, prev) {\n const exitClasses = classnames2().exitClass.split(\" \");\n const exitActiveClasses = classnames2().exitActiveClass.split(\" \");\n const exitToClasses = classnames2().exitToClass.split(\" \");\n if (!prev.parentNode)\n return endTransition();\n onBeforeExit && onBeforeExit(prev);\n prev.classList.add(...exitClasses);\n prev.classList.add(...exitActiveClasses);\n nextFrame(() => {\n prev.classList.remove(...exitClasses);\n prev.classList.add(...exitToClasses);\n });\n onExit && onExit(prev, () => endTransition());\n if (!onExit || onExit.length < 2) {\n prev.addEventListener(\"transitionend\", endTransition);\n prev.addEventListener(\"animationend\", endTransition);\n }\n function endTransition(e2) {\n if (!e2 || e2.target === prev) {\n prev.removeEventListener(\"transitionend\", endTransition);\n prev.removeEventListener(\"animationend\", endTransition);\n prev.classList.remove(...exitActiveClasses);\n prev.classList.remove(...exitToClasses);\n s1() === prev && set1(void 0);\n onAfterExit && onAfterExit(prev);\n if (props.mode === \"outin\")\n enterTransition(el2, prev);\n }\n }\n }\n createComputed((prev) => {\n el = resolved();\n while (typeof el === \"function\")\n el = el();\n return untrack(() => {\n if (el && el !== prev) {\n if (props.mode !== \"outin\")\n enterTransition(el, prev);\n else if (first)\n set1(el);\n }\n if (prev && prev !== el && props.mode !== \"inout\")\n exitTransition(el, prev);\n first = false;\n return el;\n });\n });\n return [s1, s2];\n};\nfunction getRect(element) {\n const {\n top,\n bottom,\n left,\n right,\n width,\n height\n } = element.getBoundingClientRect();\n const parentRect = element.parentNode.getBoundingClientRect();\n return {\n top: top - parentRect.top,\n bottom,\n left: left - parentRect.left,\n right,\n width,\n height\n };\n}\nconst TransitionGroup = (props) => {\n const resolved = children(() => props.children);\n const classnames2 = createMemo(() => {\n const name = props.name || \"s\";\n return {\n enterActiveClass: props.enterActiveClass || name + \"-enter-active\",\n enterClass: props.enterClass || name + \"-enter\",\n enterToClass: props.enterToClass || name + \"-enter-to\",\n exitActiveClass: props.exitActiveClass || name + \"-exit-active\",\n exitClass: props.exitClass || name + \"-exit\",\n exitToClass: props.exitToClass || name + \"-exit-to\",\n moveClass: props.moveClass || name + \"-move\"\n };\n });\n const {\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeExit,\n onExit,\n onAfterExit\n } = props;\n const [combined, setCombined] = createSignal();\n let p2 = [];\n let first = true;\n createComputed(() => {\n const c2 = resolved();\n const comb = [...c2];\n const next = new Set(c2);\n const prev = new Set(p2);\n const enterClasses = classnames2().enterClass.split(\" \");\n const enterActiveClasses = classnames2().enterActiveClass.split(\" \");\n const enterToClasses = classnames2().enterToClass.split(\" \");\n const exitClasses = classnames2().exitClass.split(\" \");\n const exitActiveClasses = classnames2().exitActiveClass.split(\" \");\n const exitToClasses = classnames2().exitToClass.split(\" \");\n for (let i2 = 0; i2 < c2.length; i2++) {\n const el = c2[i2];\n if (!first && !prev.has(el)) {\n let endTransition = function(e2) {\n if (el && (!e2 || e2.target === el)) {\n el.removeEventListener(\"transitionend\", endTransition);\n el.removeEventListener(\"animationend\", endTransition);\n el.classList.remove(...enterActiveClasses);\n el.classList.remove(...enterToClasses);\n onAfterEnter && onAfterEnter(el);\n }\n };\n onBeforeEnter && onBeforeEnter(el);\n el.classList.add(...enterClasses);\n el.classList.add(...enterActiveClasses);\n nextFrame(() => {\n el.classList.remove(...enterClasses);\n el.classList.add(...enterToClasses);\n onEnter && onEnter(el, () => endTransition());\n if (!onEnter || onEnter.length < 2) {\n el.addEventListener(\"transitionend\", endTransition);\n el.addEventListener(\"animationend\", endTransition);\n }\n });\n }\n }\n for (let i2 = 0; i2 < p2.length; i2++) {\n const old = p2[i2];\n if (!next.has(old) && old.parentNode) {\n let endTransition = function(e2) {\n if (!e2 || e2.target === old) {\n old.removeEventListener(\"transitionend\", endTransition);\n old.removeEventListener(\"animationend\", endTransition);\n old.classList.remove(...exitActiveClasses);\n old.classList.remove(...exitToClasses);\n onAfterExit && onAfterExit(old);\n p2 = p2.filter((i3) => i3 !== old);\n setCombined(p2);\n }\n };\n comb.splice(i2, 0, old);\n onBeforeExit && onBeforeExit(old);\n old.classList.add(...exitClasses);\n old.classList.add(...exitActiveClasses);\n nextFrame(() => {\n old.classList.remove(...exitClasses);\n old.classList.add(...exitToClasses);\n });\n onExit && onExit(old, () => endTransition());\n if (!onExit || onExit.length < 2) {\n old.addEventListener(\"transitionend\", endTransition);\n old.addEventListener(\"animationend\", endTransition);\n }\n }\n }\n p2 = comb;\n setCombined(comb);\n });\n createEffect((nodes) => {\n const c2 = combined();\n c2.forEach((child) => {\n let n2;\n if (!(n2 = nodes.get(child))) {\n nodes.set(child, n2 = {\n pos: getRect(child),\n new: !first\n });\n } else if (n2.new) {\n n2.new = false;\n n2.newPos = getRect(child);\n }\n if (n2.new) {\n child.addEventListener(\"transitionend\", () => {\n n2.new = false;\n child.parentNode && (n2.newPos = getRect(child));\n }, {\n once: true\n });\n }\n n2.newPos && (n2.pos = n2.newPos);\n n2.newPos = getRect(child);\n });\n if (first) {\n first = false;\n return nodes;\n }\n c2.forEach((child) => {\n const c3 = nodes.get(child);\n const oldPos = c3.pos;\n const newPos = c3.newPos;\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c3.moved = true;\n const s2 = child.style;\n s2.transform = `translate(${dx}px,${dy}px)`;\n s2.transitionDuration = \"0s\";\n }\n });\n document.body.offsetHeight;\n c2.forEach((child) => {\n const c3 = nodes.get(child);\n if (c3.moved) {\n let endTransition = function(e2) {\n if (e2 && e2.target !== child || !child.parentNode)\n return;\n if (!e2 || /transform$/.test(e2.propertyName)) {\n child.removeEventListener(\"transitionend\", endTransition);\n child.classList.remove(...moveClasses);\n }\n };\n c3.moved = false;\n const s2 = child.style;\n const moveClasses = classnames2().moveClass.split(\" \");\n child.classList.add(...moveClasses);\n s2.transform = s2.transitionDuration = \"\";\n child.addEventListener(\"transitionend\", endTransition);\n }\n });\n return nodes;\n }, /* @__PURE__ */ new Map());\n return combined;\n};\nfunction clickOutside$1(el, accessor) {\n const onClick = (e2) => {\n var _a;\n return !el.contains(e2.target) && ((_a = accessor()) == null ? void 0 : _a());\n };\n document.body.addEventListener(\"click\", onClick);\n onCleanup(() => document.body.removeEventListener(\"click\", onClick));\n}\nfunction escPressed(_, accessor) {\n const onKeyPress = (e2) => {\n var _a, _b;\n if (e2.key === \"Escape\") {\n (_a = document.activeElement) == null ? void 0 : _a.blur();\n (_b = accessor()) == null ? void 0 : _b();\n }\n };\n document.body.addEventListener(\"keydown\", onKeyPress);\n onCleanup(() => document.body.removeEventListener(\"keydown\", onKeyPress));\n}\nconst maxWidth = {\n mobile: 440,\n tablet: 1020\n};\nfunction isDevice(device) {\n const width = window.innerWidth;\n switch (device) {\n case \"desktop\":\n return width > maxWidth.tablet;\n case \"tablet\":\n return width > maxWidth.mobile;\n default:\n case \"mobile\":\n return width <= maxWidth.mobile;\n }\n}\nfunction media(device) {\n switch (device) {\n case \"mobile\":\n return `@media (max-width: ${maxWidth.mobile}px)`;\n case \"tablet\":\n return `@media (max-width: ${maxWidth.tablet}px) (min-width: ${maxWidth.mobile}px)`;\n default:\n case \"desktop\":\n return `@media (min-width: ${maxWidth.tablet}px)`;\n }\n}\nconst _tmpl$$f = /* @__PURE__ */ template$1(`<svg><path d=\"M5.1 1.40012L1.5 6.0001L5.1 10.6001\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`, 4, true);\nconst rotationDegrees = {\n left: 0,\n top: 90,\n right: 180,\n bottom: 270\n};\nconst ArrowIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.secondary;\n const direction = () => props.direction || \"left\";\n const Svg = styled(\"svg\")`\n transform: rotate(${(props2) => rotationDegrees[props2.svgDirection]}deg);\n transition: transform 0.1s ease-in-out;\n `;\n return createComponent(Svg, {\n width: \"6\",\n height: \"12\",\n viewBox: \"0 0 6 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n get svgDirection() {\n return direction();\n },\n get children() {\n const _el$ = _tmpl$$f.cloneNode(true);\n createRenderEffect(() => setAttribute(_el$, \"stroke\", fill()));\n return _el$;\n }\n });\n};\nconst _tmpl$$e = /* @__PURE__ */ template$1(`<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0.900031 0.900397L5.00002 5.00039M5.00002 5.00039L9.10003 9.1004M5.00002 5.00039L9.10003 0.900391M5.00002 5.00039L0.900024 9.1004\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst CloseIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.secondary;\n return (() => {\n const _el$ = _tmpl$$e.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"stroke\", fill()));\n return _el$;\n })();\n};\nconst IconButtonStyled = styled.button`\n padding: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: ${(props) => props.theme.colors.background.secondary};\n border: none;\n cursor: pointer;\n\n transition: transform 0.1s ease-in-out;\n\n &:hover {\n transform: scale(1.04);\n }\n\n &:active {\n transform: scale(0.96);\n }\n`;\nconst IconButton = (props) => {\n const icon = () => props.icon || \"close\";\n return createComponent(IconButtonStyled, {\n get [\"class\"]() {\n return props.class;\n },\n onClick: () => props.onClick(),\n get children() {\n return [createComponent(Show, {\n get when() {\n return !!props.children;\n },\n get children() {\n return props.children;\n }\n }), createComponent(Show, {\n get when() {\n return !props.children;\n },\n get children() {\n return createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return icon() === \"close\";\n },\n get children() {\n return createComponent(CloseIcon, {\n get fill() {\n return props.fill;\n }\n });\n }\n }), createComponent(Match, {\n get when() {\n return icon() === \"arrow\";\n },\n get children() {\n return createComponent(ArrowIcon, {\n get fill() {\n return props.fill;\n }\n });\n }\n })];\n }\n });\n }\n })];\n }\n });\n};\nconst ModalBackgroundStyled = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n z-index: 1000;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.4);\n\n ${media(\"mobile\")} {\n align-items: flex-end;\n }\n`;\nconst ModalWrapperClass = u`\n position: relative;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 16px 64px rgba(0, 0, 0, 0.16);\n min-height: 100px;\n width: 440px;\n padding: 44px 56px 24px;\n\n ${media(\"mobile\")} {\n width: 100%;\n }\n`;\nconst CloseButtonStyled = styled(IconButton)`\n position: absolute;\n right: 16px;\n top: 16px;\n`;\nconst _tmpl$$d = /* @__PURE__ */ template$1(`<div></div>`);\nconst clickOutside = clickOutside$1;\nconst keyPressed = escPressed;\nconst borders$2 = {\n m: \"24px\",\n s: \"16px\",\n none: \"0\"\n};\nconst Modal = (props) => {\n const theme = useTheme();\n return createComponent(Transition, {\n onBeforeEnter: (el) => {\n const duration = isDevice(\"mobile\") ? 200 : 100;\n el.animate([{\n opacity: 0\n }, {\n opacity: 1\n }], {\n duration\n });\n if (isDevice(\"mobile\")) {\n el.firstElementChild.animate([{\n transform: \"translateY(390px)\"\n }, {\n transform: \"translateY(0)\"\n }], {\n duration\n });\n }\n },\n onExit: (el, done) => {\n const duration = isDevice(\"mobile\") ? 200 : 100;\n const backgroundAnimation = el.animate([{\n opacity: 1\n }, {\n opacity: 0\n }], {\n duration\n });\n if (isDevice(\"mobile\")) {\n const contentAnimation = el.firstElementChild.animate([{\n transform: \"translateY(0)\"\n }, {\n transform: \"translateY(390px)\"\n }], {\n duration\n });\n Promise.all([backgroundAnimation.finished, contentAnimation.finished]).then(done);\n } else {\n backgroundAnimation.finished.then(done);\n }\n },\n get children() {\n return createComponent(Show, {\n get when() {\n return props.opened;\n },\n get children() {\n return createComponent(ModalBackgroundStyled, {\n get children() {\n const _el$ = _tmpl$$d.cloneNode(true);\n use(keyPressed, _el$, () => () => props.onClose());\n use(clickOutside, _el$, () => () => props.onClose());\n insert(_el$, createComponent(CloseButtonStyled, {\n icon: \"close\",\n onClick: () => props.onClose()\n }), null);\n insert(_el$, () => props.children, null);\n createRenderEffect((_p$) => {\n const _v$ = props.id, _v$2 = cn(ModalWrapperClass, props.class, u`\n background-color: ${theme.colors.background.primary};\n border-radius: ${borders$2[theme.borderRadius]};\n\n ${media(\"mobile\")} {\n border-radius: ${borders$2[theme.borderRadius]}\n ${borders$2[theme.borderRadius]} 0 0;\n }\n `);\n _v$ !== _p$._v$ && setAttribute(_el$, \"id\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && className(_el$, _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n }\n });\n }\n });\n }\n });\n};\nvar deepReadObject = (obj, path, defaultValue) => {\n const value = path.trim().split(\".\").reduce((a2, b) => a2 ? a2[b] : void 0, obj);\n return value !== void 0 ? value : defaultValue;\n};\nvar template = (str, params, reg = /{{(.*?)}}/g) => str.replace(reg, (_, key) => deepReadObject(params, key, \"\"));\nvar createI18nContext = (init = {}, lang = navigator.language in init ? navigator.language : Object.keys(init)[0]) => {\n const [locale, setLocale] = createSignal(lang);\n const [dict, setDict] = createStore(init);\n const translate = (key, params, defaultValue) => {\n const val = deepReadObject(dict[locale()], key, defaultValue || \"\");\n if (typeof val === \"function\")\n return val(params);\n if (typeof val === \"string\")\n return template(val, params || {});\n return val;\n };\n const actions = {\n add(lang2, table) {\n setDict(lang2, (t2) => Object.assign(t2 || {}, table));\n },\n locale: (lang2) => lang2 ? setLocale(lang2) : locale(),\n dict: (lang2) => deepReadObject(dict, lang2)\n };\n return [translate, actions];\n};\nvar I18nContext = createContext({});\nvar useI18n = () => useContext(I18nContext);\nconst H1Styled$2 = styled.h1`\n font-style: normal;\n font-weight: 700;\n font-size: 24px;\n line-height: 30px;\n\n text-align: center;\n letter-spacing: 0.072px;\n\n color: ${(props) => props.theme.colors.text.primary};\n\n margin-top: 0;\n margin-bottom: 6px;\n`;\nconst H1 = (props) => {\n const [t2] = useI18n();\n return createComponent(H1Styled$2, {\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst H2Styled$1 = styled.h2`\n font-style: normal;\n font-weight: 510;\n font-size: 16px;\n line-height: 22px;\n\n text-align: center;\n letter-spacing: -0.32px;\n\n color: ${(props) => props.theme.colors.text.secondary};\n\n margin-top: 0;\n margin-bottom: 32px;\n`;\nconst H2 = (props) => {\n const [t2] = useI18n();\n return createComponent(H2Styled$1, {\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst H3Styled = styled.h3`\n font-style: normal;\n font-weight: 590;\n font-size: 15px;\n line-height: 20px;\n\n letter-spacing: -0.24px;\n\n color: ${(props) => props.theme.colors.text.primary};\n\n margin-top: 0;\n margin-bottom: 0;\n`;\nconst H3 = (props) => {\n const [t2] = useI18n();\n return createComponent(H3Styled, {\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst TextStyled$3 = styled.div`\n font-style: normal;\n font-weight: ${(props) => props.fontWeight};\n font-size: ${(props) => props.fontSize};\n line-height: ${(props) => props.lineHeight};\n letter-spacing: ${(props) => props.letterSpacing};\n\n color: ${(props) => props.color};\n`;\nconst Text = (inputs) => {\n const theme = useTheme();\n const [t2] = useI18n();\n const color = () => inputs.color || theme.colors.text.primary;\n const props = mergeProps({\n fontSize: \"14px\",\n fontWeight: \"510\",\n lineHeight: \"130%\",\n letterSpacing: \"-0.154px\"\n }, inputs);\n return createComponent(TextStyled$3, {\n get fontSize() {\n return props.fontSize;\n },\n get fontWeight() {\n return props.fontWeight;\n },\n get lineHeight() {\n return props.lineHeight;\n },\n get letterSpacing() {\n return props.letterSpacing;\n },\n get color() {\n return color();\n },\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n var _a;\n return createMemo(() => !!props.translationKey)() ? t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString()) : props.children;\n }\n });\n};\nconst _tmpl$$c = /* @__PURE__ */ template$1(`<svg width=\"16\" height=\"15\" viewBox=\"0 0 16 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.1839 12.7069C9.6405 13.6507 9.36881 14.1226 9.05907 14.348C8.42775 14.8074 7.57228 14.8074 6.94096 14.348C6.63122 14.1226 6.35952 13.6507 5.81613 12.7069L1.52066 5.24638C0.768635 3.94024 0.392625 3.28717 0.337617 2.75894C0.225505 1.68236 0.818944 0.655911 1.80788 0.215893C2.29309 0 3.04667 0 4.55383 0H11.4462C12.9534 0 13.7069 0 14.1922 0.215893C15.1811 0.655911 15.7745 1.68236 15.6624 2.75894C15.6074 3.28717 15.2314 3.94024 14.4794 5.24638L10.1839 12.7069ZM7.10002 11.3412L2.56139 3.48002C2.31995 3.06185 2.19924 2.85276 2.18146 2.68365C2.14523 2.33896 2.33507 2.01015 2.65169 1.86919C2.80703 1.80002 3.04847 1.80002 3.53133 1.80002H3.53134L7.10002 1.80002V11.3412ZM8.90001 11.3412L13.4387 3.48002C13.6801 3.06185 13.8008 2.85276 13.8186 2.68365C13.8548 2.33896 13.665 2.01015 13.3484 1.86919C13.193 1.80002 12.9516 1.80002 12.4687 1.80002L8.90001 1.80002V11.3412Z\"></path></svg>`);\nconst TonIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.primary;\n return (() => {\n const _el$ = _tmpl$$c.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"fill\", fill()));\n return _el$;\n })();\n};\nconst _tmpl$$b = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12\" cy=\"12\" r=\"11\"></circle><path d=\"M7.5 13L10 15.5L16.5 9\" stroke=\"white\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst SuccessIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.success;\n return (() => {\n const _el$ = _tmpl$$b.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect((_p$) => {\n const _v$ = props.class, _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$, \"class\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$2, \"fill\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst _tmpl$$a = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"12\" cy=\"12\" r=\"11\"></circle><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.86358 9.13637C7.51211 8.7849 7.51211 8.21505 7.86358 7.86358C8.21505 7.51211 8.7849 7.51211 9.13637 7.86358L12 10.7272L14.8636 7.86358C15.2151 7.51211 15.7849 7.51211 16.1364 7.86358C16.4878 8.21505 16.4878 8.7849 16.1364 9.13637L13.2728 12L16.1364 14.8636C16.4878 15.2151 16.4878 15.7849 16.1364 16.1364C15.7849 16.4878 15.2151 16.4878 14.8636 16.1364L12 13.2728L9.13637 16.1364C8.7849 16.4878 8.21505 16.4878 7.86358 16.1364C7.51211 15.7849 7.51211 15.2151 7.86358 14.8636L10.7272 12L7.86358 9.13637Z\" fill=\"white\"></path></svg>`);\nconst ErrorIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.secondary;\n return (() => {\n const _el$ = _tmpl$$a.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect((_p$) => {\n const _v$ = props.class, _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$, \"class\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$2, \"fill\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst _tmpl$$9 = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.00002 18.9282C11.8264 21.1373 16.7191 19.8263 18.9282 16C21.1374 12.1736 19.8264 7.28092 16 5.07178C12.1737 2.86264 7.28096 4.17364 5.07182 7.99998\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst LoaderIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.tertiary;\n const rotateAnimation = h`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n `;\n const svgClass = u`\n animation: ${rotateAnimation} 1s linear infinite;\n `;\n return (() => {\n const _el$ = _tmpl$$9.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect((_p$) => {\n const _v$ = cn(svgClass, props.class), _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$, \"class\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$2, \"stroke\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst TonConnectUiContext = createContext();\nconst _tmpl$$8 = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.76228 2.09998H7.79998H10.2001H10.2378H10.2378H10.2378C11.0459 2.09997 11.7067 2.09996 12.2438 2.14384C12.7997 2.18926 13.3017 2.28614 13.7706 2.52505C14.5045 2.89896 15.1011 3.49558 15.475 4.22941C15.7139 4.6983 15.8108 5.20038 15.8562 5.75629C15.9001 6.29337 15.9001 6.95422 15.9001 7.76227V7.79998V8.1H16.2H16.2377C17.0457 8.09999 17.7066 8.09998 18.2437 8.14386C18.7996 8.18928 19.3017 8.28616 19.7705 8.52507C20.5044 8.89898 21.101 9.4956 21.4749 10.2294C21.7138 10.6983 21.8107 11.2004 21.8561 11.7563C21.9 12.2934 21.9 12.9542 21.9 13.7623V13.8V16.2V16.2377C21.9 17.0458 21.9 17.7066 21.8561 18.2437C21.8107 18.7996 21.7138 19.3017 21.4749 19.7706C21.101 20.5044 20.5044 21.101 19.7705 21.4749C19.3017 21.7138 18.7996 21.8107 18.2437 21.8561C17.7066 21.9 17.0458 21.9 16.2378 21.9H16.2377H16.2H13.8H13.7623H13.7622C12.9542 21.9 12.2934 21.9 11.7563 21.8561C11.2004 21.8107 10.6983 21.7138 10.2294 21.4749C9.49561 21.101 8.89898 20.5044 8.52507 19.7706C8.28616 19.3017 8.18928 18.7996 8.14386 18.2437C8.09998 17.7066 8.09999 17.0458 8.1 16.2377V16.2V15.9H7.79998H7.76227H7.76218C6.95417 15.9 6.29335 15.9 5.75629 15.8561C5.20038 15.8107 4.6983 15.7138 4.22941 15.4749C3.49558 15.101 2.89896 14.5044 2.52505 13.7705C2.28614 13.3017 2.18926 12.7996 2.14384 12.2437C2.09996 11.7066 2.09997 11.0458 2.09998 10.2377V10.2377V10.2377V10.2V7.79998V7.76228V7.76225V7.76224C2.09997 6.9542 2.09996 6.29336 2.14384 5.75629C2.18926 5.20038 2.28614 4.6983 2.52505 4.22941C2.89896 3.49558 3.49558 2.89896 4.22941 2.52505C4.6983 2.28614 5.20038 2.18926 5.75629 2.14384C6.29336 2.09996 6.95419 2.09997 7.76222 2.09998H7.76224H7.76228ZM8.1 14.1V13.8V13.7623C8.09999 12.9542 8.09998 12.2934 8.14386 11.7563C8.18928 11.2004 8.28616 10.6983 8.52507 10.2294C8.89898 9.4956 9.49561 8.89898 10.2294 8.52507C10.6983 8.28616 11.2004 8.18928 11.7563 8.14386C12.2934 8.09998 12.9542 8.09999 13.7623 8.1H13.8H14.1001V7.79998C14.1001 6.94505 14.0994 6.35798 14.0622 5.90287C14.0259 5.45827 13.9593 5.21944 13.8712 5.0466C13.6699 4.65146 13.3486 4.3302 12.9535 4.12886C12.7806 4.04079 12.5418 3.97419 12.0972 3.93786C11.6421 3.90068 11.055 3.89998 10.2001 3.89998H7.79998C6.94505 3.89998 6.35798 3.90068 5.90287 3.93786C5.45827 3.97419 5.21944 4.04079 5.0466 4.12886C4.65146 4.3302 4.3302 4.65146 4.12886 5.0466C4.04079 5.21944 3.97419 5.45827 3.93786 5.90287C3.90068 6.35798 3.89998 6.94505 3.89998 7.79998V10.2C3.89998 11.0549 3.90068 11.642 3.93786 12.0971C3.97419 12.5417 4.04079 12.7805 4.12886 12.9534C4.3302 13.3485 4.65146 13.6698 5.0466 13.8711C5.21944 13.9592 5.45827 14.0258 5.90287 14.0621C6.35798 14.0993 6.94505 14.1 7.79998 14.1H8.1ZM11.0466 10.1289C11.2195 10.0408 11.4583 9.97421 11.9029 9.93788C12.358 9.9007 12.9451 9.9 13.8 9.9H16.2C17.0549 9.9 17.642 9.9007 18.0971 9.93788C18.5417 9.97421 18.7805 10.0408 18.9534 10.1289C19.3485 10.3302 19.6698 10.6515 19.8711 11.0466C19.9592 11.2195 20.0258 11.4583 20.0621 11.9029C20.0993 12.358 20.1 12.9451 20.1 13.8V16.2C20.1 17.0549 20.0993 17.642 20.0621 18.0971C20.0258 18.5417 19.9592 18.7805 19.8711 18.9534C19.6698 19.3485 19.3485 19.6698 18.9534 19.8711C18.7805 19.9592 18.5417 20.0258 18.0971 20.0621C17.642 20.0993 17.0549 20.1 16.2 20.1H13.8C12.9451 20.1 12.358 20.0993 11.9029 20.0621C11.4583 20.0258 11.2195 19.9592 11.0466 19.8711C10.6515 19.6698 10.3302 19.3485 10.1289 18.9534C10.0408 18.7805 9.97421 18.5417 9.93788 18.0971C9.9007 17.642 9.9 17.0549 9.9 16.2V13.8C9.9 12.9451 9.9007 12.358 9.93788 11.9029C9.97421 11.4583 10.0408 11.2195 10.1289 11.0466C10.3302 10.6515 10.6515 10.3302 11.0466 10.1289Z\"></path></svg>`);\nconst CopyIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.primary;\n return (() => {\n const _el$ = _tmpl$$8.cloneNode(true), _el$2 = _el$.firstChild;\n createRenderEffect(() => setAttribute(_el$2, \"fill\", fill()));\n return _el$;\n })();\n};\nconst _tmpl$$7 = /* @__PURE__ */ template$1(`<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.0001 4.00003H8.80012C7.11996 4.00003 6.27989 4.00003 5.63815 4.32701C5.07366 4.61463 4.61472 5.07357 4.3271 5.63806C4.00012 6.27979 4.00012 7.11987 4.00012 8.80003V15.2C4.00012 16.8802 4.00012 17.7203 4.3271 18.362C4.61472 18.9265 5.07366 19.3854 5.63815 19.6731C6.27989 20 7.11996 20 8.80012 20H12.0001\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path><path d=\"M9 12H21M21 12L17 8M21 12L17 16\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>`);\nconst DisconnectIcon = (props) => {\n const theme = useTheme();\n const fill = () => props.fill || theme.colors.icon.primary;\n return (() => {\n const _el$ = _tmpl$$7.cloneNode(true), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;\n createRenderEffect((_p$) => {\n const _v$ = fill(), _v$2 = fill();\n _v$ !== _p$._v$ && setAttribute(_el$2, \"stroke\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$3, \"stroke\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nfunction copyToClipboard(text) {\n if (navigator == null ? void 0 : navigator.clipboard) {\n return navigator.clipboard.writeText(text);\n }\n fallbackCopyTextToClipboard(text);\n return Promise.resolve();\n}\nfunction fallbackCopyTextToClipboard(text) {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n textArea.style.top = \"0\";\n textArea.style.left = \"0\";\n textArea.style.position = \"fixed\";\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n try {\n document.execCommand(\"copy\");\n } finally {\n document.body.removeChild(textArea);\n }\n}\nconst hoverBorders = {\n m: \"8px\",\n s: \"4px\",\n none: \"0\"\n};\nconst dropdownBorders = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst AccountButtonDropdownStyled = styled.div`\n width: 256px;\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);\n border-radius: ${(props) => dropdownBorders[props.theme.borderRadius]};\n\n background-color: ${(props) => props.theme.colors.background.primary}\n \n color: ${(props) => props.theme.colors.text.primary}\n`;\nconst UlStyled$1 = styled.ul`\n background-color: ${(props) => props.theme.colors.background.primary};\n padding: 8px;\n`;\nconst MenuButtonStyled = styled.button`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n width: 100%;\n\n background-color: ${(props) => props.theme.colors.background.primary};\n border: none;\n border-radius: ${(props) => hoverBorders[props.theme.borderRadius]};\n cursor: pointer;\n\n transition: background-color, transform 0.1s ease-in-out;\n\n &:hover {\n background-color: ${(props) => props.theme.colors.background.secondary};\n }\n\n &:active {\n transform: scale(0.96);\n }\n`;\nconst _tmpl$$6 = /* @__PURE__ */ template$1(`<li></li>`);\nconst MenuItemText = (props) => createComponent(Text, {\n get translationKey() {\n return props.translationKey;\n },\n fontSize: \"15px\",\n letterSpacing: \"-0.24px\",\n fontWeight: \"590\",\n get children() {\n return props.children;\n }\n});\nconst AccountButtonDropdown = (props) => {\n const tonConnectUi = useContext(TonConnectUiContext);\n const connector = useContext(ConnectorContext);\n const [isCopiedShown, setIsCopiedShown] = createSignal(false);\n const onCopy = () => __async(void 0, null, function* () {\n const userFriendlyAddress = toUserFriendlyAddress(tonConnectUi.account.address, tonConnectUi.account.chain === CHAIN.TESTNET);\n yield copyToClipboard(userFriendlyAddress);\n setIsCopiedShown(true);\n setTimeout(() => setIsCopiedShown(false), 1e3);\n });\n const onDisconnect = () => {\n connector.disconnect();\n props.onClose();\n };\n return createComponent(AccountButtonDropdownStyled, {\n ref(r$) {\n const _ref$ = props.ref;\n typeof _ref$ === \"function\" ? _ref$(r$) : props.ref = r$;\n },\n get [\"class\"]() {\n return props.class;\n },\n get id() {\n return props.id;\n },\n get children() {\n return createComponent(UlStyled$1, {\n get children() {\n return [(() => {\n const _el$ = _tmpl$$6.cloneNode(true);\n insert(_el$, createComponent(MenuButtonStyled, {\n onClick: () => onCopy(),\n get children() {\n return [createComponent(CopyIcon, {}), createComponent(Show, {\n get when() {\n return !isCopiedShown();\n },\n get children() {\n return createComponent(MenuItemText, {\n translationKey: \"button.dropdown.copy\",\n children: \"Copy address\"\n });\n }\n }), createComponent(Show, {\n get when() {\n return isCopiedShown();\n },\n get children() {\n return createComponent(MenuItemText, {\n translationKey: \"button.dropdown.copied\",\n children: \"Address copied!\"\n });\n }\n })];\n }\n }));\n return _el$;\n })(), (() => {\n const _el$2 = _tmpl$$6.cloneNode(true);\n insert(_el$2, createComponent(MenuButtonStyled, {\n onClick: () => onDisconnect(),\n get children() {\n return [createComponent(DisconnectIcon, {}), createComponent(MenuItemText, {\n translationKey: \"button.dropdown.disconnect\",\n children: \"Disconnect\"\n })];\n }\n }));\n return _el$2;\n })()];\n }\n });\n }\n });\n};\nconst borders$1 = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst NotificationStyled = styled.div`\n width: 256px;\n padding: 12px 16px;\n display: flex;\n gap: 9px;\n\n background-color: ${(props) => props.theme.colors.background.primary};\n box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);\n border-radius: ${(props) => borders$1[props.theme.borderRadius]};\n`;\nconst TextStyled$2 = styled(Text)`\n margin-top: 4px;\n color: ${(props) => props.theme.colors.text.secondary};\n`;\nconst _tmpl$$5 = /* @__PURE__ */ template$1(`<div></div>`);\nconst Notification = (props) => {\n return createComponent(NotificationStyled, {\n get [\"class\"]() {\n return props.class;\n },\n get children() {\n return [(() => {\n const _el$ = _tmpl$$5.cloneNode(true);\n insert(_el$, createComponent(H3, {\n get translationKey() {\n return props.header.translationKey;\n },\n get translationValues() {\n return props.header.translationValues;\n },\n get children() {\n return props.children;\n }\n }), null);\n insert(_el$, createComponent(Show, {\n get when() {\n return props.text;\n },\n get children() {\n return createComponent(TextStyled$2, {\n get translationKey() {\n return props.text.translationKey;\n },\n get translationValues() {\n return props.text.translationValues;\n }\n });\n }\n }), null);\n return _el$;\n })(), createMemo(() => props.icon)];\n }\n });\n};\nconst LoaderIconStyled$2 = styled(LoaderIcon)`\n align-self: center;\n min-width: 22px;\n min-height: 22px;\n`;\nconst ConfirmOperationNotification = (props) => {\n return createComponent(Notification, {\n header: {\n translationKey: \"notifications.confirm.header\"\n },\n get [\"class\"]() {\n return props.class;\n },\n get icon() {\n return createComponent(LoaderIconStyled$2, {});\n },\n children: \"Confirm operation in your wallet\"\n });\n};\nconst ErrorIconStyled$1 = styled(ErrorIcon)`\n min-width: 22px;\n min-height: 22px;\n`;\nconst ErrorTransactionNotification = (props) => {\n return createComponent(Notification, {\n header: {\n translationKey: \"notifications.transactionCanceled.header\"\n },\n text: {\n translationKey: \"notifications.transactionCanceled.text\"\n },\n get icon() {\n return createComponent(ErrorIconStyled$1, {});\n },\n get [\"class\"]() {\n return props.class;\n },\n children: \"Transaction cancelled\"\n });\n};\nconst SuccessIconStyled$1 = styled(SuccessIcon)`\n min-width: 22px;\n min-height: 22px;\n`;\nconst SuccessTransactionNotification = (props) => {\n return createComponent(Notification, {\n header: {\n translationKey: \"notifications.transactionSent.header\"\n },\n text: {\n translationKey: \"notifications.transactionSent.text\"\n },\n get icon() {\n return createComponent(SuccessIconStyled$1, {});\n },\n get [\"class\"]() {\n return cn(props.class, \"tc-notification\");\n },\n children: \"Transaction sent\"\n });\n};\nconst NotificationClass = u`\n transform: translateY(-8px);\n margin-bottom: 12px;\n`;\nconst _tmpl$$4 = /* @__PURE__ */ template$1(`<div></div>`);\nconst Notifications = (props) => {\n let lastId = -1;\n const liveTimeoutMs = 4500;\n const [openedNotifications, setOpenedNotifications] = createSignal([]);\n createEffect(on(action, (action2) => {\n if (action2 && action2.showNotification) {\n lastId++;\n const id = lastId;\n setOpenedNotifications((notifications2) => notifications2.filter((notification) => notification.action !== \"confirm-transaction\").concat({\n id,\n action: action2.name\n }));\n setTimeout(() => setOpenedNotifications((notifications2) => notifications2.filter((notification) => notification.id !== id)), liveTimeoutMs);\n }\n }));\n return (() => {\n const _el$ = _tmpl$$4.cloneNode(true);\n insert(_el$, createComponent(TransitionGroup, {\n onBeforeEnter: (el) => {\n el.animate([{\n opacity: 0,\n transform: \"translateY(0)\"\n }, {\n opacity: 1,\n transform: \"translateY(-8px)\"\n }], {\n duration: 200\n });\n },\n onExit: (el, done) => {\n const a2 = el.animate([{\n opacity: 1,\n transform: \"translateY(-8px)\"\n }, {\n opacity: 0,\n transform: \"translateY(-30px)\"\n }], {\n duration: 200\n });\n a2.finished.then(done);\n },\n get children() {\n return createComponent(For, {\n get each() {\n return openedNotifications();\n },\n children: (openedNotification) => createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return openedNotification.action === \"transaction-sent\";\n },\n get children() {\n return createComponent(SuccessTransactionNotification, {\n \"class\": NotificationClass\n });\n }\n }), createComponent(Match, {\n get when() {\n return openedNotification.action === \"transaction-canceled\";\n },\n get children() {\n return createComponent(ErrorTransactionNotification, {\n \"class\": NotificationClass\n });\n }\n }), createComponent(Match, {\n get when() {\n return openedNotification.action === \"confirm-transaction\";\n },\n get children() {\n return createComponent(ConfirmOperationNotification, {\n \"class\": NotificationClass\n });\n }\n })];\n }\n })\n });\n }\n }));\n createRenderEffect((_p$) => {\n const _v$ = props.class, _v$2 = props.id;\n _v$ !== _p$._v$ && className(_el$, _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && setAttribute(_el$, \"id\", _p$._v$2 = _v$2);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0\n });\n return _el$;\n })();\n};\nconst AccountButtonStyled = styled(Button)`\n background-color: ${(props) => props.theme.colors.connectButton.background};\n color: ${(props) => props.theme.colors.connectButton.foreground};\n box-shadow: ${(props) => `0 4px 24px ${rgba(props.theme.colors.constant.black, 0.16)}`};\n\n display: flex;\n align-items: center;\n gap: 9px;\n\n transition: all 0.1s ease-in-out;\n\n &:hover:not(:active) {\n transform: scale(1);\n }\n\n &:hover {\n filter: ${(props) => `brightness(${props.theme.theme === THEME.DARK ? 1.07 : 0.95})`};\n }\n`;\nconst DropdownButtonStyled = styled(AccountButtonStyled)`\n background-color: ${(props) => props.theme.colors.background.primary};\n`;\nconst DropdownContainerStyled = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n`;\nconst DropdownStyled = styled(AccountButtonDropdown)`\n box-sizing: border-box;\n overflow: hidden;\n margin-top: 12px;\n`;\nconst NotificationsStyled = styled(Notifications)`\n > div:first-child {\n margin-top: 20px;\n }\n`;\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getMainAxisFromPlacement(placement) {\n return [\"top\", \"bottom\"].includes(getSide(placement)) ? \"x\" : \"y\";\n}\nfunction getLengthFromAxis(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n const commonAlign = reference[length] / 2 - floating[length] / 2;\n const side = getSide(placement);\n const isVertical = mainAxis === \"x\";\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[mainAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[mainAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\nconst computePosition$1 = (reference, floating, config) => __async(void 0, null, function* () {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = yield platform2.isRTL == null ? void 0 : platform2.isRTL(floating);\n if ({}.NODE_ENV !== \"production\") {\n if (platform2 == null) {\n console.error([\"Floating UI: `platform` property was not passed to config. If you\", \"want to use Floating UI on the web, install @floating-ui/dom\", \"instead of the /core package. Otherwise, you can create your own\", \"`platform`: https://floating-ui.com/docs/platform\"].join(\" \"));\n }\n if (validMiddleware.filter((_ref) => {\n let {\n name\n } = _ref;\n return name === \"autoPlacement\" || name === \"flip\";\n }).length > 1) {\n throw new Error([\"Floating UI: duplicate `flip` and/or `autoPlacement` middleware\", \"detected. This will lead to an infinite loop. Ensure only one of\", \"either has been passed to the `middleware` array.\"].join(\" \"));\n }\n if (!reference || !floating) {\n console.error([\"Floating UI: The reference and/or floating element was not defined\", \"when `computePosition()` was called. Ensure that both elements have\", \"been created and can be measured.\"].join(\" \"));\n }\n }\n let rects = yield platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i2 = 0; i2 < validMiddleware.length; i2++) {\n const {\n name,\n fn\n } = validMiddleware[i2];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = yield fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platform2,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = __spreadProps(__spreadValues({}, middlewareData), {\n [name]: __spreadValues(__spreadValues({}, middlewareData[name]), data)\n });\n if ({}.NODE_ENV !== \"production\") {\n if (resetCount > 50) {\n console.warn([\"Floating UI: The middleware lifecycle appears to be running in an\", \"infinite loop. This is usually caused by a `reset` continually\", \"being returned without a break condition.\"].join(\" \"));\n }\n }\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? yield platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i2 = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n});\nfunction rectToClientRect(rect) {\n return __spreadProps(__spreadValues({}, rect), {\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeName(node) {\n return isNode(node) ? (node.nodeName || \"\").toLowerCase() : \"\";\n}\nlet uaString;\nfunction getUAString() {\n if (uaString) {\n return uaString;\n }\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n uaString = uaData.brands.map((item) => item.brand + \"/\" + item.version).join(\" \");\n return uaString;\n }\n return navigator.userAgent;\n}\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n if (typeof ShadowRoot === \"undefined\") {\n return false;\n }\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && ![\"inline\", \"contents\"].includes(display);\n}\nfunction isTableElement(element) {\n return [\"table\", \"td\", \"th\"].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const isFirefox = /firefox/i.test(getUAString());\n const css = getComputedStyle(element);\n const backdropFilter = css.backdropFilter || css.WebkitBackdropFilter;\n return css.transform !== \"none\" || css.perspective !== \"none\" || (backdropFilter ? backdropFilter !== \"none\" : false) || isFirefox && css.willChange === \"filter\" || isFirefox && (css.filter ? css.filter !== \"none\" : false) || [\"transform\", \"perspective\"].some((value) => css.willChange.includes(value)) || [\"paint\", \"layout\", \"strict\", \"content\"].some(\n (value) => {\n const contain = css.contain;\n return contain != null ? contain.includes(value) : false;\n }\n );\n}\nfunction isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}\nfunction isLastTraversableNode(node) {\n return [\"html\", \"body\", \"#document\"].includes(getNodeName(node));\n}\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst FALLBACK_SCALE = {\n x: 1,\n y: 1\n};\nfunction getScale(element) {\n const domElement = !isElement(element) && element.contextElement ? element.contextElement : isElement(element) ? element : null;\n if (!domElement) {\n return FALLBACK_SCALE;\n }\n const rect = domElement.getBoundingClientRect();\n const css = getComputedStyle(domElement);\n if (css.boxSizing !== \"border-box\") {\n if (!isHTMLElement(domElement)) {\n return FALLBACK_SCALE;\n }\n return {\n x: domElement.offsetWidth > 0 ? round(rect.width) / domElement.offsetWidth || 1 : 1,\n y: domElement.offsetHeight > 0 ? round(rect.height) / domElement.offsetHeight || 1 : 1\n };\n }\n let x = rect.width / parseFloat(css.width);\n let y = rect.height / parseFloat(css.height);\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n var _win$visualViewport$o, _win$visualViewport, _win$visualViewport$o2, _win$visualViewport2;\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n let scale = FALLBACK_SCALE;\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const win = isElement(element) ? getWindow(element) : window;\n const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n const x = (clientRect.left + (addVisualOffsets ? (_win$visualViewport$o = (_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) != null ? _win$visualViewport$o : 0 : 0)) / scale.x;\n const y = (clientRect.top + (addVisualOffsets ? (_win$visualViewport$o2 = (_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) != null ? _win$visualViewport$o2 : 0 : 0)) / scale.y;\n const width = clientRect.width / scale.x;\n const height = clientRect.height / scale.y;\n return {\n width,\n height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x,\n y\n };\n}\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getWindowScrollBarX(element) {\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, true, strategy === \"fixed\", offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== \"fixed\") {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = node.assignedSlot || node.parentNode || (isShadowRoot(node) ? node.host : null) || getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === \"fixed\") {\n return null;\n }\n return element.offsetParent;\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction getOffsetParent(element) {\n const window2 = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === \"static\") {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n if (offsetParent && (getNodeName(offsetParent) === \"html\" || getNodeName(offsetParent) === \"body\" && getComputedStyle(offsetParent).position === \"static\" && !isContainingBlock(offsetParent))) {\n return window2;\n }\n return offsetParent || getContainingBlock(element) || window2;\n}\nfunction getDimensions(element) {\n if (isHTMLElement(element)) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n }\n const rect = getBoundingClientRect(element);\n return {\n width: rect.width,\n height: rect.height\n };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = {\n x: 1,\n y: 1\n };\n const offsets = {\n x: 0,\n y: 0\n };\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== \"fixed\") {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const layoutViewport = isLayoutViewport();\n if (layoutViewport || !layoutViewport && strategy === \"fixed\") {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body || html).direction === \"rtl\") {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list) {\n var _node$ownerDocument;\n if (list === void 0) {\n list = [];\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));\n}\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : {\n x: 1,\n y: 1\n };\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y,\n width,\n height\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n if (clippingAncestor === \"viewport\") {\n return rectToClientRect(getViewportRect(element, strategy));\n }\n if (isElement(clippingAncestor)) {\n return getInnerBoundingClientRect(clippingAncestor, strategy);\n }\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n}\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const containingBlock = isContainingBlock(currentNode);\n const shouldDropCurrentNode = elementIsFixed ? !containingBlock && !currentContainingBlockComputedStyle : !containingBlock && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && [\"absolute\", \"fixed\"].includes(currentContainingBlockComputedStyle.position);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\nconst platform = {\n getClippingRect,\n convertOffsetParentRelativeRectToViewportRelativeRect,\n isElement,\n getDimensions,\n getOffsetParent,\n getDocumentElement,\n getScale,\n getElementRects(_ref) {\n return __async(this, null, function* () {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, yield getOffsetParentFn(floating), strategy),\n floating: __spreadValues({\n x: 0,\n y: 0\n }, yield getDimensionsFn(floating))\n };\n });\n },\n getClientRects: (element) => Array.from(element.getClientRects()),\n isRTL: (element) => getComputedStyle(element).direction === \"rtl\"\n};\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll: _ancestorScroll = true,\n ancestorResize = true,\n elementResize = true,\n animationFrame = false\n } = options;\n const ancestorScroll = _ancestorScroll && !animationFrame;\n const ancestors = ancestorScroll || ancestorResize ? [...isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : [], ...getOverflowAncestors(floating)] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n let observer = null;\n if (elementResize) {\n let initialUpdate = true;\n observer = new ResizeObserver(() => {\n if (!initialUpdate) {\n update();\n }\n initialUpdate = false;\n });\n isElement(reference) && !animationFrame && observer.observe(reference);\n if (!isElement(reference) && reference.contextElement && !animationFrame) {\n observer.observe(reference.contextElement);\n }\n observer.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _observer;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n (_observer = observer) == null ? void 0 : _observer.disconnect();\n observer = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\nconst computePosition = (reference, floating, options) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = __spreadValues({\n platform\n }, options);\n const platformWithCache = __spreadProps(__spreadValues({}, mergedOptions.platform), {\n _c: cache\n });\n return computePosition$1(reference, floating, __spreadProps(__spreadValues({}, mergedOptions), {\n platform: platformWithCache\n }));\n};\nfunction P(l2, u2, e2) {\n let c2 = () => {\n var t2;\n return (t2 = e2 == null ? void 0 : e2.placement) != null ? t2 : \"bottom\";\n }, d = () => {\n var t2;\n return (t2 = e2 == null ? void 0 : e2.strategy) != null ? t2 : \"absolute\";\n }, [n2, o2] = createSignal({ x: null, y: null, placement: c2(), strategy: d(), middlewareData: {} }), [x, F] = createSignal();\n createEffect(() => {\n let t2 = x();\n if (t2)\n throw t2.value;\n });\n let s2 = createMemo(() => (l2(), u2(), {}));\n function i2() {\n let t2 = l2(), r = u2();\n if (t2 && r) {\n let a2 = s2();\n computePosition(t2, r, { middleware: e2 == null ? void 0 : e2.middleware, placement: c2(), strategy: d() }).then((m) => {\n a2 === s2() && o2(m);\n }, (m) => {\n F(m);\n });\n }\n }\n return createEffect(() => {\n let t2 = l2(), r = u2();\n if (e2 == null || e2.middleware, c2(), d(), t2 && r)\n if (e2 != null && e2.whileElementsMounted) {\n let a2 = e2.whileElementsMounted(t2, r, i2);\n a2 && onCleanup(a2);\n } else\n i2();\n }), { get x() {\n return n2().x;\n }, get y() {\n return n2().y;\n }, get placement() {\n return n2().placement;\n }, get strategy() {\n return n2().strategy;\n }, get middlewareData() {\n return n2().middlewareData;\n }, update: i2 };\n}\nconst _tmpl$$3 = /* @__PURE__ */ template$1(`<div id=\"tc-dropdown-container\"></div>`);\nconst AccountButton = () => {\n const theme = useTheme();\n const connector = useContext(ConnectorContext);\n const tonConnectUI = useContext(TonConnectUiContext);\n const [isOpened, setIsOpened] = createSignal(false);\n const [account, setAccount] = createSignal(null);\n let dropDownRef;\n const [floating, setFloating] = createSignal();\n const [anchor, setAnchor] = createSignal();\n const position = P(anchor, floating, {\n whileElementsMounted: autoUpdate,\n placement: \"bottom-end\"\n });\n const normalizedAddress = () => {\n const acc = account();\n if (acc) {\n const userFriendlyAddress = toUserFriendlyAddress(acc.address, acc.chain === CHAIN.TESTNET);\n return userFriendlyAddress.slice(0, 4) + \"...\" + userFriendlyAddress.slice(-4);\n }\n return \"\";\n };\n const unsubscribe = connector.onStatusChange((wallet) => {\n if (!wallet) {\n setIsOpened(false);\n setAccount(null);\n return;\n }\n setAccount(wallet.account);\n });\n const onClick = (e2) => {\n if (!account() || !isOpened()) {\n return;\n }\n const clickToButton = anchor().contains(e2.target);\n const clickToDropdown = dropDownRef.contains(e2.target);\n if (!clickToButton && !clickToDropdown) {\n setIsOpened(false);\n }\n };\n onMount(() => {\n document.body.addEventListener(\"click\", onClick);\n });\n onCleanup(() => {\n document.body.removeEventListener(\"click\", onClick);\n unsubscribe();\n });\n return [createComponent(Show, {\n get when() {\n return !account();\n },\n get children() {\n return createComponent(AccountButtonStyled, {\n onClick: () => tonConnectUI.connectWallet(),\n id: \"tc-connect-button\",\n get children() {\n return [createComponent(TonIcon, {\n get fill() {\n return theme.colors.connectButton.foreground;\n }\n }), createComponent(Text, {\n translationKey: \"button.connectWallet\",\n fontSize: \"15px\",\n letterSpacing: \"-0.24px\",\n fontWeight: \"590\",\n get color() {\n return theme.colors.connectButton.foreground;\n },\n children: \"Connect wallet\"\n })];\n }\n });\n }\n }), createComponent(Show, {\n get when() {\n return account();\n },\n get children() {\n return createComponent(DropdownContainerStyled, {\n get children() {\n return [createComponent(DropdownButtonStyled, {\n onClick: () => setIsOpened((v) => !v),\n ref: setAnchor,\n id: \"tc-dropdown-button\",\n get children() {\n return [createComponent(Text, {\n fontSize: \"15px\",\n letterSpacing: \"-0.24px\",\n fontWeight: \"590\",\n get children() {\n return normalizedAddress();\n }\n }), createComponent(ArrowIcon, {\n direction: \"bottom\"\n })];\n }\n }), createComponent(Portal, {\n get children() {\n const _el$ = _tmpl$$3.cloneNode(true);\n use(setFloating, _el$);\n _el$.style.setProperty(\"z-index\", \"999\");\n insert(_el$, createComponent(Transition, {\n onBeforeEnter: (el) => {\n el.animate([{\n opacity: 0,\n transform: \"translateY(-8px)\"\n }, {\n opacity: 1,\n transform: \"translateY(0)\"\n }], {\n duration: 150\n });\n },\n onExit: (el, done) => {\n const a2 = el.animate([{\n opacity: 1,\n transform: \"translateY(0)\"\n }, {\n opacity: 0,\n transform: \"translateY(-8px)\"\n }], {\n duration: 150\n });\n a2.finished.then(done);\n },\n get children() {\n return createComponent(Show, {\n get when() {\n return isOpened();\n },\n get children() {\n return createComponent(DropdownStyled, {\n get hidden() {\n return !isOpened();\n },\n onClose: () => setIsOpened(false),\n ref(r$) {\n const _ref$ = dropDownRef;\n typeof _ref$ === \"function\" ? _ref$(r$) : dropDownRef = r$;\n },\n id: \"tc-dropdown\"\n });\n }\n });\n }\n }), null);\n insert(_el$, createComponent(NotificationsStyled, {\n id: \"tc-notifications\"\n }), null);\n createRenderEffect((_p$) => {\n var _a, _b;\n const _v$ = position.strategy, _v$2 = `${(_a = position.y) != null ? _a : 0}px`, _v$3 = `${(_b = position.x) != null ? _b : 0}px`;\n _v$ !== _p$._v$ && _el$.style.setProperty(\"position\", _p$._v$ = _v$);\n _v$2 !== _p$._v$2 && _el$.style.setProperty(\"top\", _p$._v$2 = _v$2);\n _v$3 !== _p$._v$3 && _el$.style.setProperty(\"left\", _p$._v$3 = _v$3);\n return _p$;\n }, {\n _v$: void 0,\n _v$2: void 0,\n _v$3: void 0\n });\n return _el$;\n }\n })];\n }\n });\n }\n })];\n};\nconst QrCodeStyled = styled.div`\n position: relative;\n\n > div:first-child {\n height: 276px;\n width: 276px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n > svg {\n height: 276px;\n width: 276px;\n }\n }\n\n rect {\n fill: transparent;\n }\n\n path {\n fill: ${(props) => props.theme.colors.text.primary};\n }\n`;\nconst ImageBackground = styled.div`\n position: absolute;\n width: 52px;\n height: 52px;\n background: ${(props) => props.theme.colors.background.secondary};\n padding: 7px;\n top: 112px;\n left: 112px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n > img {\n width: 46px;\n height: 46px;\n border-radius: 12px;\n }\n`;\nvar qrcode$1 = { exports: {} };\n(function(module, exports) {\n var qrcode2 = function() {\n var qrcode3 = function(typeNumber, errorCorrectionLevel) {\n var PAD0 = 236;\n var PAD1 = 17;\n var _typeNumber = typeNumber;\n var _errorCorrectionLevel = QRErrorCorrectionLevel[errorCorrectionLevel];\n var _modules = null;\n var _moduleCount = 0;\n var _dataCache = null;\n var _dataList = [];\n var _this = {};\n var makeImpl = function(test, maskPattern) {\n _moduleCount = _typeNumber * 4 + 17;\n _modules = function(moduleCount) {\n var modules = new Array(moduleCount);\n for (var row = 0; row < moduleCount; row += 1) {\n modules[row] = new Array(moduleCount);\n for (var col = 0; col < moduleCount; col += 1) {\n modules[row][col] = null;\n }\n }\n return modules;\n }(_moduleCount);\n setupPositionProbePattern(0, 0);\n setupPositionProbePattern(_moduleCount - 7, 0);\n setupPositionProbePattern(0, _moduleCount - 7);\n setupPositionAdjustPattern();\n setupTimingPattern();\n setupTypeInfo(test, maskPattern);\n if (_typeNumber >= 7) {\n setupTypeNumber(test);\n }\n if (_dataCache == null) {\n _dataCache = createData(_typeNumber, _errorCorrectionLevel, _dataList);\n }\n mapData(_dataCache, maskPattern);\n };\n var setupPositionProbePattern = function(row, col) {\n for (var r = -1; r <= 7; r += 1) {\n if (row + r <= -1 || _moduleCount <= row + r)\n continue;\n for (var c2 = -1; c2 <= 7; c2 += 1) {\n if (col + c2 <= -1 || _moduleCount <= col + c2)\n continue;\n if (0 <= r && r <= 6 && (c2 == 0 || c2 == 6) || 0 <= c2 && c2 <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c2 && c2 <= 4) {\n _modules[row + r][col + c2] = true;\n } else {\n _modules[row + r][col + c2] = false;\n }\n }\n }\n };\n var getBestMaskPattern = function() {\n var minLostPoint = 0;\n var pattern = 0;\n for (var i2 = 0; i2 < 8; i2 += 1) {\n makeImpl(true, i2);\n var lostPoint = QRUtil.getLostPoint(_this);\n if (i2 == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint;\n pattern = i2;\n }\n }\n return pattern;\n };\n var setupTimingPattern = function() {\n for (var r = 8; r < _moduleCount - 8; r += 1) {\n if (_modules[r][6] != null) {\n continue;\n }\n _modules[r][6] = r % 2 == 0;\n }\n for (var c2 = 8; c2 < _moduleCount - 8; c2 += 1) {\n if (_modules[6][c2] != null) {\n continue;\n }\n _modules[6][c2] = c2 % 2 == 0;\n }\n };\n var setupPositionAdjustPattern = function() {\n var pos = QRUtil.getPatternPosition(_typeNumber);\n for (var i2 = 0; i2 < pos.length; i2 += 1) {\n for (var j = 0; j < pos.length; j += 1) {\n var row = pos[i2];\n var col = pos[j];\n if (_modules[row][col] != null) {\n continue;\n }\n for (var r = -2; r <= 2; r += 1) {\n for (var c2 = -2; c2 <= 2; c2 += 1) {\n if (r == -2 || r == 2 || c2 == -2 || c2 == 2 || r == 0 && c2 == 0) {\n _modules[row + r][col + c2] = true;\n } else {\n _modules[row + r][col + c2] = false;\n }\n }\n }\n }\n }\n };\n var setupTypeNumber = function(test) {\n var bits = QRUtil.getBCHTypeNumber(_typeNumber);\n for (var i2 = 0; i2 < 18; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n _modules[Math.floor(i2 / 3)][i2 % 3 + _moduleCount - 8 - 3] = mod;\n }\n for (var i2 = 0; i2 < 18; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n _modules[i2 % 3 + _moduleCount - 8 - 3][Math.floor(i2 / 3)] = mod;\n }\n };\n var setupTypeInfo = function(test, maskPattern) {\n var data = _errorCorrectionLevel << 3 | maskPattern;\n var bits = QRUtil.getBCHTypeInfo(data);\n for (var i2 = 0; i2 < 15; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n if (i2 < 6) {\n _modules[i2][8] = mod;\n } else if (i2 < 8) {\n _modules[i2 + 1][8] = mod;\n } else {\n _modules[_moduleCount - 15 + i2][8] = mod;\n }\n }\n for (var i2 = 0; i2 < 15; i2 += 1) {\n var mod = !test && (bits >> i2 & 1) == 1;\n if (i2 < 8) {\n _modules[8][_moduleCount - i2 - 1] = mod;\n } else if (i2 < 9) {\n _modules[8][15 - i2 - 1 + 1] = mod;\n } else {\n _modules[8][15 - i2 - 1] = mod;\n }\n }\n _modules[_moduleCount - 8][8] = !test;\n };\n var mapData = function(data, maskPattern) {\n var inc = -1;\n var row = _moduleCount - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n var maskFunc = QRUtil.getMaskFunction(maskPattern);\n for (var col = _moduleCount - 1; col > 0; col -= 2) {\n if (col == 6)\n col -= 1;\n while (true) {\n for (var c2 = 0; c2 < 2; c2 += 1) {\n if (_modules[row][col - c2] == null) {\n var dark = false;\n if (byteIndex < data.length) {\n dark = (data[byteIndex] >>> bitIndex & 1) == 1;\n }\n var mask = maskFunc(row, col - c2);\n if (mask) {\n dark = !dark;\n }\n _modules[row][col - c2] = dark;\n bitIndex -= 1;\n if (bitIndex == -1) {\n byteIndex += 1;\n bitIndex = 7;\n }\n }\n }\n row += inc;\n if (row < 0 || _moduleCount <= row) {\n row -= inc;\n inc = -inc;\n break;\n }\n }\n }\n };\n var createBytes = function(buffer, rsBlocks) {\n var offset = 0;\n var maxDcCount = 0;\n var maxEcCount = 0;\n var dcdata = new Array(rsBlocks.length);\n var ecdata = new Array(rsBlocks.length);\n for (var r = 0; r < rsBlocks.length; r += 1) {\n var dcCount = rsBlocks[r].dataCount;\n var ecCount = rsBlocks[r].totalCount - dcCount;\n maxDcCount = Math.max(maxDcCount, dcCount);\n maxEcCount = Math.max(maxEcCount, ecCount);\n dcdata[r] = new Array(dcCount);\n for (var i2 = 0; i2 < dcdata[r].length; i2 += 1) {\n dcdata[r][i2] = 255 & buffer.getBuffer()[i2 + offset];\n }\n offset += dcCount;\n var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n var rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1);\n var modPoly = rawPoly.mod(rsPoly);\n ecdata[r] = new Array(rsPoly.getLength() - 1);\n for (var i2 = 0; i2 < ecdata[r].length; i2 += 1) {\n var modIndex = i2 + modPoly.getLength() - ecdata[r].length;\n ecdata[r][i2] = modIndex >= 0 ? modPoly.getAt(modIndex) : 0;\n }\n }\n var totalCodeCount = 0;\n for (var i2 = 0; i2 < rsBlocks.length; i2 += 1) {\n totalCodeCount += rsBlocks[i2].totalCount;\n }\n var data = new Array(totalCodeCount);\n var index = 0;\n for (var i2 = 0; i2 < maxDcCount; i2 += 1) {\n for (var r = 0; r < rsBlocks.length; r += 1) {\n if (i2 < dcdata[r].length) {\n data[index] = dcdata[r][i2];\n index += 1;\n }\n }\n }\n for (var i2 = 0; i2 < maxEcCount; i2 += 1) {\n for (var r = 0; r < rsBlocks.length; r += 1) {\n if (i2 < ecdata[r].length) {\n data[index] = ecdata[r][i2];\n index += 1;\n }\n }\n }\n return data;\n };\n var createData = function(typeNumber2, errorCorrectionLevel2, dataList) {\n var rsBlocks = QRRSBlock.getRSBlocks(typeNumber2, errorCorrectionLevel2);\n var buffer = qrBitBuffer();\n for (var i2 = 0; i2 < dataList.length; i2 += 1) {\n var data = dataList[i2];\n buffer.put(data.getMode(), 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber2));\n data.write(buffer);\n }\n var totalDataCount = 0;\n for (var i2 = 0; i2 < rsBlocks.length; i2 += 1) {\n totalDataCount += rsBlocks[i2].dataCount;\n }\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw \"code length overflow. (\" + buffer.getLengthInBits() + \">\" + totalDataCount * 8 + \")\";\n }\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4);\n }\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false);\n }\n while (true) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(PAD0, 8);\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break;\n }\n buffer.put(PAD1, 8);\n }\n return createBytes(buffer, rsBlocks);\n };\n _this.addData = function(data, mode) {\n mode = mode || \"Byte\";\n var newData = null;\n switch (mode) {\n case \"Numeric\":\n newData = qrNumber(data);\n break;\n case \"Alphanumeric\":\n newData = qrAlphaNum(data);\n break;\n case \"Byte\":\n newData = qr8BitByte(data);\n break;\n case \"Kanji\":\n newData = qrKanji(data);\n break;\n default:\n throw \"mode:\" + mode;\n }\n _dataList.push(newData);\n _dataCache = null;\n };\n _this.isDark = function(row, col) {\n if (row < 0 || _moduleCount <= row || col < 0 || _moduleCount <= col) {\n throw row + \",\" + col;\n }\n return _modules[row][col];\n };\n _this.getModuleCount = function() {\n return _moduleCount;\n };\n _this.make = function() {\n if (_typeNumber < 1) {\n var typeNumber2 = 1;\n for (; typeNumber2 < 40; typeNumber2++) {\n var rsBlocks = QRRSBlock.getRSBlocks(typeNumber2, _errorCorrectionLevel);\n var buffer = qrBitBuffer();\n for (var i2 = 0; i2 < _dataList.length; i2++) {\n var data = _dataList[i2];\n buffer.put(data.getMode(), 4);\n buffer.put(data.getLength(), QRUtil.getLengthInBits(data.getMode(), typeNumber2));\n data.write(buffer);\n }\n var totalDataCount = 0;\n for (var i2 = 0; i2 < rsBlocks.length; i2++) {\n totalDataCount += rsBlocks[i2].dataCount;\n }\n if (buffer.getLengthInBits() <= totalDataCount * 8) {\n break;\n }\n }\n _typeNumber = typeNumber2;\n }\n makeImpl(false, getBestMaskPattern());\n };\n _this.createTableTag = function(cellSize, margin) {\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n var qrHtml = \"\";\n qrHtml += '<table style=\"';\n qrHtml += \" border-width: 0px; border-style: none;\";\n qrHtml += \" border-collapse: collapse;\";\n qrHtml += \" padding: 0px; margin: \" + margin + \"px;\";\n qrHtml += '\">';\n qrHtml += \"<tbody>\";\n for (var r = 0; r < _this.getModuleCount(); r += 1) {\n qrHtml += \"<tr>\";\n for (var c2 = 0; c2 < _this.getModuleCount(); c2 += 1) {\n qrHtml += '<td style=\"';\n qrHtml += \" border-width: 0px; border-style: none;\";\n qrHtml += \" border-collapse: collapse;\";\n qrHtml += \" padding: 0px; margin: 0px;\";\n qrHtml += \" width: \" + cellSize + \"px;\";\n qrHtml += \" height: \" + cellSize + \"px;\";\n qrHtml += \" background-color: \";\n qrHtml += _this.isDark(r, c2) ? \"#000000\" : \"#ffffff\";\n qrHtml += \";\";\n qrHtml += '\"/>';\n }\n qrHtml += \"</tr>\";\n }\n qrHtml += \"</tbody>\";\n qrHtml += \"</table>\";\n return qrHtml;\n };\n _this.createSvgTag = function(cellSize, margin, alt, title) {\n var opts = {};\n if (typeof arguments[0] == \"object\") {\n opts = arguments[0];\n cellSize = opts.cellSize;\n margin = opts.margin;\n alt = opts.alt;\n title = opts.title;\n }\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n alt = typeof alt === \"string\" ? { text: alt } : alt || {};\n alt.text = alt.text || null;\n alt.id = alt.text ? alt.id || \"qrcode-description\" : null;\n title = typeof title === \"string\" ? { text: title } : title || {};\n title.text = title.text || null;\n title.id = title.text ? title.id || \"qrcode-title\" : null;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var c2, mc, r, mr, qrSvg = \"\", rect;\n rect = \"l\" + cellSize + \",0 0,\" + cellSize + \" -\" + cellSize + \",0 0,-\" + cellSize + \"z \";\n qrSvg += '<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"';\n qrSvg += !opts.scalable ? ' width=\"' + size + 'px\" height=\"' + size + 'px\"' : \"\";\n qrSvg += ' viewBox=\"0 0 ' + size + \" \" + size + '\" ';\n qrSvg += ' preserveAspectRatio=\"xMinYMin meet\"';\n qrSvg += title.text || alt.text ? ' role=\"img\" aria-labelledby=\"' + escapeXml([title.id, alt.id].join(\" \").trim()) + '\"' : \"\";\n qrSvg += \">\";\n qrSvg += title.text ? '<title id=\"' + escapeXml(title.id) + '\">' + escapeXml(title.text) + \"</title>\" : \"\";\n qrSvg += alt.text ? '<description id=\"' + escapeXml(alt.id) + '\">' + escapeXml(alt.text) + \"</description>\" : \"\";\n qrSvg += '<rect width=\"100%\" height=\"100%\" fill=\"white\" cx=\"0\" cy=\"0\"/>';\n qrSvg += '<path d=\"';\n for (r = 0; r < _this.getModuleCount(); r += 1) {\n mr = r * cellSize + margin;\n for (c2 = 0; c2 < _this.getModuleCount(); c2 += 1) {\n if (_this.isDark(r, c2)) {\n mc = c2 * cellSize + margin;\n qrSvg += \"M\" + mc + \",\" + mr + rect;\n }\n }\n }\n qrSvg += '\" stroke=\"transparent\" fill=\"black\"/>';\n qrSvg += \"</svg>\";\n return qrSvg;\n };\n _this.createDataURL = function(cellSize, margin) {\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var min2 = margin;\n var max2 = size - margin;\n return createDataURL(size, size, function(x, y) {\n if (min2 <= x && x < max2 && min2 <= y && y < max2) {\n var c2 = Math.floor((x - min2) / cellSize);\n var r = Math.floor((y - min2) / cellSize);\n return _this.isDark(r, c2) ? 0 : 1;\n } else {\n return 1;\n }\n });\n };\n _this.createImgTag = function(cellSize, margin, alt) {\n cellSize = cellSize || 2;\n margin = typeof margin == \"undefined\" ? cellSize * 4 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var img = \"\";\n img += \"<img\";\n img += ' src=\"';\n img += _this.createDataURL(cellSize, margin);\n img += '\"';\n img += ' width=\"';\n img += size;\n img += '\"';\n img += ' height=\"';\n img += size;\n img += '\"';\n if (alt) {\n img += ' alt=\"';\n img += escapeXml(alt);\n img += '\"';\n }\n img += \"/>\";\n return img;\n };\n var escapeXml = function(s2) {\n var escaped = \"\";\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n var c2 = s2.charAt(i2);\n switch (c2) {\n case \"<\":\n escaped += \"<\";\n break;\n case \">\":\n escaped += \">\";\n break;\n case \"&\":\n escaped += \"&\";\n break;\n case '\"':\n escaped += \""\";\n break;\n default:\n escaped += c2;\n break;\n }\n }\n return escaped;\n };\n var _createHalfASCII = function(margin) {\n var cellSize = 1;\n margin = typeof margin == \"undefined\" ? cellSize * 2 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var min2 = margin;\n var max2 = size - margin;\n var y, x, r1, r2, p2;\n var blocks = {\n \"\\u2588\\u2588\": \"\\u2588\",\n \"\\u2588 \": \"\\u2580\",\n \" \\u2588\": \"\\u2584\",\n \" \": \" \"\n };\n var blocksLastLineNoMargin = {\n \"\\u2588\\u2588\": \"\\u2580\",\n \"\\u2588 \": \"\\u2580\",\n \" \\u2588\": \" \",\n \" \": \" \"\n };\n var ascii = \"\";\n for (y = 0; y < size; y += 2) {\n r1 = Math.floor((y - min2) / cellSize);\n r2 = Math.floor((y + 1 - min2) / cellSize);\n for (x = 0; x < size; x += 1) {\n p2 = \"\\u2588\";\n if (min2 <= x && x < max2 && min2 <= y && y < max2 && _this.isDark(r1, Math.floor((x - min2) / cellSize))) {\n p2 = \" \";\n }\n if (min2 <= x && x < max2 && min2 <= y + 1 && y + 1 < max2 && _this.isDark(r2, Math.floor((x - min2) / cellSize))) {\n p2 += \" \";\n } else {\n p2 += \"\\u2588\";\n }\n ascii += margin < 1 && y + 1 >= max2 ? blocksLastLineNoMargin[p2] : blocks[p2];\n }\n ascii += \"\\n\";\n }\n if (size % 2 && margin > 0) {\n return ascii.substring(0, ascii.length - size - 1) + Array(size + 1).join(\"\\u2580\");\n }\n return ascii.substring(0, ascii.length - 1);\n };\n _this.createASCII = function(cellSize, margin) {\n cellSize = cellSize || 1;\n if (cellSize < 2) {\n return _createHalfASCII(margin);\n }\n cellSize -= 1;\n margin = typeof margin == \"undefined\" ? cellSize * 2 : margin;\n var size = _this.getModuleCount() * cellSize + margin * 2;\n var min2 = margin;\n var max2 = size - margin;\n var y, x, r, p2;\n var white = Array(cellSize + 1).join(\"\\u2588\\u2588\");\n var black = Array(cellSize + 1).join(\" \");\n var ascii = \"\";\n var line = \"\";\n for (y = 0; y < size; y += 1) {\n r = Math.floor((y - min2) / cellSize);\n line = \"\";\n for (x = 0; x < size; x += 1) {\n p2 = 1;\n if (min2 <= x && x < max2 && min2 <= y && y < max2 && _this.isDark(r, Math.floor((x - min2) / cellSize))) {\n p2 = 0;\n }\n line += p2 ? white : black;\n }\n for (r = 0; r < cellSize; r += 1) {\n ascii += line + \"\\n\";\n }\n }\n return ascii.substring(0, ascii.length - 1);\n };\n _this.renderTo2dContext = function(context, cellSize) {\n cellSize = cellSize || 2;\n var length = _this.getModuleCount();\n for (var row = 0; row < length; row++) {\n for (var col = 0; col < length; col++) {\n context.fillStyle = _this.isDark(row, col) ? \"black\" : \"white\";\n context.fillRect(row * cellSize, col * cellSize, cellSize, cellSize);\n }\n }\n };\n return _this;\n };\n qrcode3.stringToBytesFuncs = {\n \"default\": function(s2) {\n var bytes = [];\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n var c2 = s2.charCodeAt(i2);\n bytes.push(c2 & 255);\n }\n return bytes;\n }\n };\n qrcode3.stringToBytes = qrcode3.stringToBytesFuncs[\"default\"];\n qrcode3.createStringToBytes = function(unicodeData, numChars) {\n var unicodeMap = function() {\n var bin = base64DecodeInputStream(unicodeData);\n var read = function() {\n var b = bin.read();\n if (b == -1)\n throw \"eof\";\n return b;\n };\n var count = 0;\n var unicodeMap2 = {};\n while (true) {\n var b0 = bin.read();\n if (b0 == -1)\n break;\n var b1 = read();\n var b2 = read();\n var b3 = read();\n var k = String.fromCharCode(b0 << 8 | b1);\n var v = b2 << 8 | b3;\n unicodeMap2[k] = v;\n count += 1;\n }\n if (count != numChars) {\n throw count + \" != \" + numChars;\n }\n return unicodeMap2;\n }();\n var unknownChar = \"?\".charCodeAt(0);\n return function(s2) {\n var bytes = [];\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n var c2 = s2.charCodeAt(i2);\n if (c2 < 128) {\n bytes.push(c2);\n } else {\n var b = unicodeMap[s2.charAt(i2)];\n if (typeof b == \"number\") {\n if ((b & 255) == b) {\n bytes.push(b);\n } else {\n bytes.push(b >>> 8);\n bytes.push(b & 255);\n }\n } else {\n bytes.push(unknownChar);\n }\n }\n }\n return bytes;\n };\n };\n var QRMode = {\n MODE_NUMBER: 1 << 0,\n MODE_ALPHA_NUM: 1 << 1,\n MODE_8BIT_BYTE: 1 << 2,\n MODE_KANJI: 1 << 3\n };\n var QRErrorCorrectionLevel = {\n L: 1,\n M: 0,\n Q: 3,\n H: 2\n };\n var QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n };\n var QRUtil = function() {\n var PATTERN_POSITION_TABLE = [\n [],\n [6, 18],\n [6, 22],\n [6, 26],\n [6, 30],\n [6, 34],\n [6, 22, 38],\n [6, 24, 42],\n [6, 26, 46],\n [6, 28, 50],\n [6, 30, 54],\n [6, 32, 58],\n [6, 34, 62],\n [6, 26, 46, 66],\n [6, 26, 48, 70],\n [6, 26, 50, 74],\n [6, 30, 54, 78],\n [6, 30, 56, 82],\n [6, 30, 58, 86],\n [6, 34, 62, 90],\n [6, 28, 50, 72, 94],\n [6, 26, 50, 74, 98],\n [6, 30, 54, 78, 102],\n [6, 28, 54, 80, 106],\n [6, 32, 58, 84, 110],\n [6, 30, 58, 86, 114],\n [6, 34, 62, 90, 118],\n [6, 26, 50, 74, 98, 122],\n [6, 30, 54, 78, 102, 126],\n [6, 26, 52, 78, 104, 130],\n [6, 30, 56, 82, 108, 134],\n [6, 34, 60, 86, 112, 138],\n [6, 30, 58, 86, 114, 142],\n [6, 34, 62, 90, 118, 146],\n [6, 30, 54, 78, 102, 126, 150],\n [6, 24, 50, 76, 102, 128, 154],\n [6, 28, 54, 80, 106, 132, 158],\n [6, 32, 58, 84, 110, 136, 162],\n [6, 26, 54, 82, 110, 138, 166],\n [6, 30, 58, 86, 114, 142, 170]\n ];\n var G15 = 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0;\n var G18 = 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0;\n var G15_MASK = 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1;\n var _this = {};\n var getBCHDigit = function(data) {\n var digit = 0;\n while (data != 0) {\n digit += 1;\n data >>>= 1;\n }\n return digit;\n };\n _this.getBCHTypeInfo = function(data) {\n var d = data << 10;\n while (getBCHDigit(d) - getBCHDigit(G15) >= 0) {\n d ^= G15 << getBCHDigit(d) - getBCHDigit(G15);\n }\n return (data << 10 | d) ^ G15_MASK;\n };\n _this.getBCHTypeNumber = function(data) {\n var d = data << 12;\n while (getBCHDigit(d) - getBCHDigit(G18) >= 0) {\n d ^= G18 << getBCHDigit(d) - getBCHDigit(G18);\n }\n return data << 12 | d;\n };\n _this.getPatternPosition = function(typeNumber) {\n return PATTERN_POSITION_TABLE[typeNumber - 1];\n };\n _this.getMaskFunction = function(maskPattern) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return function(i2, j) {\n return (i2 + j) % 2 == 0;\n };\n case QRMaskPattern.PATTERN001:\n return function(i2, j) {\n return i2 % 2 == 0;\n };\n case QRMaskPattern.PATTERN010:\n return function(i2, j) {\n return j % 3 == 0;\n };\n case QRMaskPattern.PATTERN011:\n return function(i2, j) {\n return (i2 + j) % 3 == 0;\n };\n case QRMaskPattern.PATTERN100:\n return function(i2, j) {\n return (Math.floor(i2 / 2) + Math.floor(j / 3)) % 2 == 0;\n };\n case QRMaskPattern.PATTERN101:\n return function(i2, j) {\n return i2 * j % 2 + i2 * j % 3 == 0;\n };\n case QRMaskPattern.PATTERN110:\n return function(i2, j) {\n return (i2 * j % 2 + i2 * j % 3) % 2 == 0;\n };\n case QRMaskPattern.PATTERN111:\n return function(i2, j) {\n return (i2 * j % 3 + (i2 + j) % 2) % 2 == 0;\n };\n default:\n throw \"bad maskPattern:\" + maskPattern;\n }\n };\n _this.getErrorCorrectPolynomial = function(errorCorrectLength) {\n var a2 = qrPolynomial([1], 0);\n for (var i2 = 0; i2 < errorCorrectLength; i2 += 1) {\n a2 = a2.multiply(qrPolynomial([1, QRMath.gexp(i2)], 0));\n }\n return a2;\n };\n _this.getLengthInBits = function(mode, type) {\n if (1 <= type && type < 10) {\n switch (mode) {\n case QRMode.MODE_NUMBER:\n return 10;\n case QRMode.MODE_ALPHA_NUM:\n return 9;\n case QRMode.MODE_8BIT_BYTE:\n return 8;\n case QRMode.MODE_KANJI:\n return 8;\n default:\n throw \"mode:\" + mode;\n }\n } else if (type < 27) {\n switch (mode) {\n case QRMode.MODE_NUMBER:\n return 12;\n case QRMode.MODE_ALPHA_NUM:\n return 11;\n case QRMode.MODE_8BIT_BYTE:\n return 16;\n case QRMode.MODE_KANJI:\n return 10;\n default:\n throw \"mode:\" + mode;\n }\n } else if (type < 41) {\n switch (mode) {\n case QRMode.MODE_NUMBER:\n return 14;\n case QRMode.MODE_ALPHA_NUM:\n return 13;\n case QRMode.MODE_8BIT_BYTE:\n return 16;\n case QRMode.MODE_KANJI:\n return 12;\n default:\n throw \"mode:\" + mode;\n }\n } else {\n throw \"type:\" + type;\n }\n };\n _this.getLostPoint = function(qrcode4) {\n var moduleCount = qrcode4.getModuleCount();\n var lostPoint = 0;\n for (var row = 0; row < moduleCount; row += 1) {\n for (var col = 0; col < moduleCount; col += 1) {\n var sameCount = 0;\n var dark = qrcode4.isDark(row, col);\n for (var r = -1; r <= 1; r += 1) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue;\n }\n for (var c2 = -1; c2 <= 1; c2 += 1) {\n if (col + c2 < 0 || moduleCount <= col + c2) {\n continue;\n }\n if (r == 0 && c2 == 0) {\n continue;\n }\n if (dark == qrcode4.isDark(row + r, col + c2)) {\n sameCount += 1;\n }\n }\n }\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5;\n }\n }\n }\n for (var row = 0; row < moduleCount - 1; row += 1) {\n for (var col = 0; col < moduleCount - 1; col += 1) {\n var count = 0;\n if (qrcode4.isDark(row, col))\n count += 1;\n if (qrcode4.isDark(row + 1, col))\n count += 1;\n if (qrcode4.isDark(row, col + 1))\n count += 1;\n if (qrcode4.isDark(row + 1, col + 1))\n count += 1;\n if (count == 0 || count == 4) {\n lostPoint += 3;\n }\n }\n }\n for (var row = 0; row < moduleCount; row += 1) {\n for (var col = 0; col < moduleCount - 6; col += 1) {\n if (qrcode4.isDark(row, col) && !qrcode4.isDark(row, col + 1) && qrcode4.isDark(row, col + 2) && qrcode4.isDark(row, col + 3) && qrcode4.isDark(row, col + 4) && !qrcode4.isDark(row, col + 5) && qrcode4.isDark(row, col + 6)) {\n lostPoint += 40;\n }\n }\n }\n for (var col = 0; col < moduleCount; col += 1) {\n for (var row = 0; row < moduleCount - 6; row += 1) {\n if (qrcode4.isDark(row, col) && !qrcode4.isDark(row + 1, col) && qrcode4.isDark(row + 2, col) && qrcode4.isDark(row + 3, col) && qrcode4.isDark(row + 4, col) && !qrcode4.isDark(row + 5, col) && qrcode4.isDark(row + 6, col)) {\n lostPoint += 40;\n }\n }\n }\n var darkCount = 0;\n for (var col = 0; col < moduleCount; col += 1) {\n for (var row = 0; row < moduleCount; row += 1) {\n if (qrcode4.isDark(row, col)) {\n darkCount += 1;\n }\n }\n }\n var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n lostPoint += ratio * 10;\n return lostPoint;\n };\n return _this;\n }();\n var QRMath = function() {\n var EXP_TABLE = new Array(256);\n var LOG_TABLE = new Array(256);\n for (var i2 = 0; i2 < 8; i2 += 1) {\n EXP_TABLE[i2] = 1 << i2;\n }\n for (var i2 = 8; i2 < 256; i2 += 1) {\n EXP_TABLE[i2] = EXP_TABLE[i2 - 4] ^ EXP_TABLE[i2 - 5] ^ EXP_TABLE[i2 - 6] ^ EXP_TABLE[i2 - 8];\n }\n for (var i2 = 0; i2 < 255; i2 += 1) {\n LOG_TABLE[EXP_TABLE[i2]] = i2;\n }\n var _this = {};\n _this.glog = function(n2) {\n if (n2 < 1) {\n throw \"glog(\" + n2 + \")\";\n }\n return LOG_TABLE[n2];\n };\n _this.gexp = function(n2) {\n while (n2 < 0) {\n n2 += 255;\n }\n while (n2 >= 256) {\n n2 -= 255;\n }\n return EXP_TABLE[n2];\n };\n return _this;\n }();\n function qrPolynomial(num, shift) {\n if (typeof num.length == \"undefined\") {\n throw num.length + \"/\" + shift;\n }\n var _num = function() {\n var offset = 0;\n while (offset < num.length && num[offset] == 0) {\n offset += 1;\n }\n var _num2 = new Array(num.length - offset + shift);\n for (var i2 = 0; i2 < num.length - offset; i2 += 1) {\n _num2[i2] = num[i2 + offset];\n }\n return _num2;\n }();\n var _this = {};\n _this.getAt = function(index) {\n return _num[index];\n };\n _this.getLength = function() {\n return _num.length;\n };\n _this.multiply = function(e2) {\n var num2 = new Array(_this.getLength() + e2.getLength() - 1);\n for (var i2 = 0; i2 < _this.getLength(); i2 += 1) {\n for (var j = 0; j < e2.getLength(); j += 1) {\n num2[i2 + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i2)) + QRMath.glog(e2.getAt(j)));\n }\n }\n return qrPolynomial(num2, 0);\n };\n _this.mod = function(e2) {\n if (_this.getLength() - e2.getLength() < 0) {\n return _this;\n }\n var ratio = QRMath.glog(_this.getAt(0)) - QRMath.glog(e2.getAt(0));\n var num2 = new Array(_this.getLength());\n for (var i2 = 0; i2 < _this.getLength(); i2 += 1) {\n num2[i2] = _this.getAt(i2);\n }\n for (var i2 = 0; i2 < e2.getLength(); i2 += 1) {\n num2[i2] ^= QRMath.gexp(QRMath.glog(e2.getAt(i2)) + ratio);\n }\n return qrPolynomial(num2, 0).mod(e2);\n };\n return _this;\n }\n var QRRSBlock = function() {\n var RS_BLOCK_TABLE = [\n [1, 26, 19],\n [1, 26, 16],\n [1, 26, 13],\n [1, 26, 9],\n [1, 44, 34],\n [1, 44, 28],\n [1, 44, 22],\n [1, 44, 16],\n [1, 70, 55],\n [1, 70, 44],\n [2, 35, 17],\n [2, 35, 13],\n [1, 100, 80],\n [2, 50, 32],\n [2, 50, 24],\n [4, 25, 9],\n [1, 134, 108],\n [2, 67, 43],\n [2, 33, 15, 2, 34, 16],\n [2, 33, 11, 2, 34, 12],\n [2, 86, 68],\n [4, 43, 27],\n [4, 43, 19],\n [4, 43, 15],\n [2, 98, 78],\n [4, 49, 31],\n [2, 32, 14, 4, 33, 15],\n [4, 39, 13, 1, 40, 14],\n [2, 121, 97],\n [2, 60, 38, 2, 61, 39],\n [4, 40, 18, 2, 41, 19],\n [4, 40, 14, 2, 41, 15],\n [2, 146, 116],\n [3, 58, 36, 2, 59, 37],\n [4, 36, 16, 4, 37, 17],\n [4, 36, 12, 4, 37, 13],\n [2, 86, 68, 2, 87, 69],\n [4, 69, 43, 1, 70, 44],\n [6, 43, 19, 2, 44, 20],\n [6, 43, 15, 2, 44, 16],\n [4, 101, 81],\n [1, 80, 50, 4, 81, 51],\n [4, 50, 22, 4, 51, 23],\n [3, 36, 12, 8, 37, 13],\n [2, 116, 92, 2, 117, 93],\n [6, 58, 36, 2, 59, 37],\n [4, 46, 20, 6, 47, 21],\n [7, 42, 14, 4, 43, 15],\n [4, 133, 107],\n [8, 59, 37, 1, 60, 38],\n [8, 44, 20, 4, 45, 21],\n [12, 33, 11, 4, 34, 12],\n [3, 145, 115, 1, 146, 116],\n [4, 64, 40, 5, 65, 41],\n [11, 36, 16, 5, 37, 17],\n [11, 36, 12, 5, 37, 13],\n [5, 109, 87, 1, 110, 88],\n [5, 65, 41, 5, 66, 42],\n [5, 54, 24, 7, 55, 25],\n [11, 36, 12, 7, 37, 13],\n [5, 122, 98, 1, 123, 99],\n [7, 73, 45, 3, 74, 46],\n [15, 43, 19, 2, 44, 20],\n [3, 45, 15, 13, 46, 16],\n [1, 135, 107, 5, 136, 108],\n [10, 74, 46, 1, 75, 47],\n [1, 50, 22, 15, 51, 23],\n [2, 42, 14, 17, 43, 15],\n [5, 150, 120, 1, 151, 121],\n [9, 69, 43, 4, 70, 44],\n [17, 50, 22, 1, 51, 23],\n [2, 42, 14, 19, 43, 15],\n [3, 141, 113, 4, 142, 114],\n [3, 70, 44, 11, 71, 45],\n [17, 47, 21, 4, 48, 22],\n [9, 39, 13, 16, 40, 14],\n [3, 135, 107, 5, 136, 108],\n [3, 67, 41, 13, 68, 42],\n [15, 54, 24, 5, 55, 25],\n [15, 43, 15, 10, 44, 16],\n [4, 144, 116, 4, 145, 117],\n [17, 68, 42],\n [17, 50, 22, 6, 51, 23],\n [19, 46, 16, 6, 47, 17],\n [2, 139, 111, 7, 140, 112],\n [17, 74, 46],\n [7, 54, 24, 16, 55, 25],\n [34, 37, 13],\n [4, 151, 121, 5, 152, 122],\n [4, 75, 47, 14, 76, 48],\n [11, 54, 24, 14, 55, 25],\n [16, 45, 15, 14, 46, 16],\n [6, 147, 117, 4, 148, 118],\n [6, 73, 45, 14, 74, 46],\n [11, 54, 24, 16, 55, 25],\n [30, 46, 16, 2, 47, 17],\n [8, 132, 106, 4, 133, 107],\n [8, 75, 47, 13, 76, 48],\n [7, 54, 24, 22, 55, 25],\n [22, 45, 15, 13, 46, 16],\n [10, 142, 114, 2, 143, 115],\n [19, 74, 46, 4, 75, 47],\n [28, 50, 22, 6, 51, 23],\n [33, 46, 16, 4, 47, 17],\n [8, 152, 122, 4, 153, 123],\n [22, 73, 45, 3, 74, 46],\n [8, 53, 23, 26, 54, 24],\n [12, 45, 15, 28, 46, 16],\n [3, 147, 117, 10, 148, 118],\n [3, 73, 45, 23, 74, 46],\n [4, 54, 24, 31, 55, 25],\n [11, 45, 15, 31, 46, 16],\n [7, 146, 116, 7, 147, 117],\n [21, 73, 45, 7, 74, 46],\n [1, 53, 23, 37, 54, 24],\n [19, 45, 15, 26, 46, 16],\n [5, 145, 115, 10, 146, 116],\n [19, 75, 47, 10, 76, 48],\n [15, 54, 24, 25, 55, 25],\n [23, 45, 15, 25, 46, 16],\n [13, 145, 115, 3, 146, 116],\n [2, 74, 46, 29, 75, 47],\n [42, 54, 24, 1, 55, 25],\n [23, 45, 15, 28, 46, 16],\n [17, 145, 115],\n [10, 74, 46, 23, 75, 47],\n [10, 54, 24, 35, 55, 25],\n [19, 45, 15, 35, 46, 16],\n [17, 145, 115, 1, 146, 116],\n [14, 74, 46, 21, 75, 47],\n [29, 54, 24, 19, 55, 25],\n [11, 45, 15, 46, 46, 16],\n [13, 145, 115, 6, 146, 116],\n [14, 74, 46, 23, 75, 47],\n [44, 54, 24, 7, 55, 25],\n [59, 46, 16, 1, 47, 17],\n [12, 151, 121, 7, 152, 122],\n [12, 75, 47, 26, 76, 48],\n [39, 54, 24, 14, 55, 25],\n [22, 45, 15, 41, 46, 16],\n [6, 151, 121, 14, 152, 122],\n [6, 75, 47, 34, 76, 48],\n [46, 54, 24, 10, 55, 25],\n [2, 45, 15, 64, 46, 16],\n [17, 152, 122, 4, 153, 123],\n [29, 74, 46, 14, 75, 47],\n [49, 54, 24, 10, 55, 25],\n [24, 45, 15, 46, 46, 16],\n [4, 152, 122, 18, 153, 123],\n [13, 74, 46, 32, 75, 47],\n [48, 54, 24, 14, 55, 25],\n [42, 45, 15, 32, 46, 16],\n [20, 147, 117, 4, 148, 118],\n [40, 75, 47, 7, 76, 48],\n [43, 54, 24, 22, 55, 25],\n [10, 45, 15, 67, 46, 16],\n [19, 148, 118, 6, 149, 119],\n [18, 75, 47, 31, 76, 48],\n [34, 54, 24, 34, 55, 25],\n [20, 45, 15, 61, 46, 16]\n ];\n var qrRSBlock = function(totalCount, dataCount) {\n var _this2 = {};\n _this2.totalCount = totalCount;\n _this2.dataCount = dataCount;\n return _this2;\n };\n var _this = {};\n var getRsBlockTable = function(typeNumber, errorCorrectionLevel) {\n switch (errorCorrectionLevel) {\n case QRErrorCorrectionLevel.L:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n case QRErrorCorrectionLevel.M:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n case QRErrorCorrectionLevel.Q:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n case QRErrorCorrectionLevel.H:\n return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n default:\n return void 0;\n }\n };\n _this.getRSBlocks = function(typeNumber, errorCorrectionLevel) {\n var rsBlock = getRsBlockTable(typeNumber, errorCorrectionLevel);\n if (typeof rsBlock == \"undefined\") {\n throw \"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectionLevel:\" + errorCorrectionLevel;\n }\n var length = rsBlock.length / 3;\n var list = [];\n for (var i2 = 0; i2 < length; i2 += 1) {\n var count = rsBlock[i2 * 3 + 0];\n var totalCount = rsBlock[i2 * 3 + 1];\n var dataCount = rsBlock[i2 * 3 + 2];\n for (var j = 0; j < count; j += 1) {\n list.push(qrRSBlock(totalCount, dataCount));\n }\n }\n return list;\n };\n return _this;\n }();\n var qrBitBuffer = function() {\n var _buffer = [];\n var _length = 0;\n var _this = {};\n _this.getBuffer = function() {\n return _buffer;\n };\n _this.getAt = function(index) {\n var bufIndex = Math.floor(index / 8);\n return (_buffer[bufIndex] >>> 7 - index % 8 & 1) == 1;\n };\n _this.put = function(num, length) {\n for (var i2 = 0; i2 < length; i2 += 1) {\n _this.putBit((num >>> length - i2 - 1 & 1) == 1);\n }\n };\n _this.getLengthInBits = function() {\n return _length;\n };\n _this.putBit = function(bit) {\n var bufIndex = Math.floor(_length / 8);\n if (_buffer.length <= bufIndex) {\n _buffer.push(0);\n }\n if (bit) {\n _buffer[bufIndex] |= 128 >>> _length % 8;\n }\n _length += 1;\n };\n return _this;\n };\n var qrNumber = function(data) {\n var _mode = QRMode.MODE_NUMBER;\n var _data = data;\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return _data.length;\n };\n _this.write = function(buffer) {\n var data2 = _data;\n var i2 = 0;\n while (i2 + 2 < data2.length) {\n buffer.put(strToNum(data2.substring(i2, i2 + 3)), 10);\n i2 += 3;\n }\n if (i2 < data2.length) {\n if (data2.length - i2 == 1) {\n buffer.put(strToNum(data2.substring(i2, i2 + 1)), 4);\n } else if (data2.length - i2 == 2) {\n buffer.put(strToNum(data2.substring(i2, i2 + 2)), 7);\n }\n }\n };\n var strToNum = function(s2) {\n var num = 0;\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n num = num * 10 + chatToNum(s2.charAt(i2));\n }\n return num;\n };\n var chatToNum = function(c2) {\n if (\"0\" <= c2 && c2 <= \"9\") {\n return c2.charCodeAt(0) - \"0\".charCodeAt(0);\n }\n throw \"illegal char :\" + c2;\n };\n return _this;\n };\n var qrAlphaNum = function(data) {\n var _mode = QRMode.MODE_ALPHA_NUM;\n var _data = data;\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return _data.length;\n };\n _this.write = function(buffer) {\n var s2 = _data;\n var i2 = 0;\n while (i2 + 1 < s2.length) {\n buffer.put(\n getCode(s2.charAt(i2)) * 45 + getCode(s2.charAt(i2 + 1)),\n 11\n );\n i2 += 2;\n }\n if (i2 < s2.length) {\n buffer.put(getCode(s2.charAt(i2)), 6);\n }\n };\n var getCode = function(c2) {\n if (\"0\" <= c2 && c2 <= \"9\") {\n return c2.charCodeAt(0) - \"0\".charCodeAt(0);\n } else if (\"A\" <= c2 && c2 <= \"Z\") {\n return c2.charCodeAt(0) - \"A\".charCodeAt(0) + 10;\n } else {\n switch (c2) {\n case \" \":\n return 36;\n case \"$\":\n return 37;\n case \"%\":\n return 38;\n case \"*\":\n return 39;\n case \"+\":\n return 40;\n case \"-\":\n return 41;\n case \".\":\n return 42;\n case \"/\":\n return 43;\n case \":\":\n return 44;\n default:\n throw \"illegal char :\" + c2;\n }\n }\n };\n return _this;\n };\n var qr8BitByte = function(data) {\n var _mode = QRMode.MODE_8BIT_BYTE;\n var _bytes = qrcode3.stringToBytes(data);\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return _bytes.length;\n };\n _this.write = function(buffer) {\n for (var i2 = 0; i2 < _bytes.length; i2 += 1) {\n buffer.put(_bytes[i2], 8);\n }\n };\n return _this;\n };\n var qrKanji = function(data) {\n var _mode = QRMode.MODE_KANJI;\n var stringToBytes = qrcode3.stringToBytesFuncs[\"SJIS\"];\n if (!stringToBytes) {\n throw \"sjis not supported.\";\n }\n !function(c2, code) {\n var test = stringToBytes(c2);\n if (test.length != 2 || (test[0] << 8 | test[1]) != code) {\n throw \"sjis not supported.\";\n }\n }(\"\\u53CB\", 38726);\n var _bytes = stringToBytes(data);\n var _this = {};\n _this.getMode = function() {\n return _mode;\n };\n _this.getLength = function(buffer) {\n return ~~(_bytes.length / 2);\n };\n _this.write = function(buffer) {\n var data2 = _bytes;\n var i2 = 0;\n while (i2 + 1 < data2.length) {\n var c2 = (255 & data2[i2]) << 8 | 255 & data2[i2 + 1];\n if (33088 <= c2 && c2 <= 40956) {\n c2 -= 33088;\n } else if (57408 <= c2 && c2 <= 60351) {\n c2 -= 49472;\n } else {\n throw \"illegal char at \" + (i2 + 1) + \"/\" + c2;\n }\n c2 = (c2 >>> 8 & 255) * 192 + (c2 & 255);\n buffer.put(c2, 13);\n i2 += 2;\n }\n if (i2 < data2.length) {\n throw \"illegal char at \" + (i2 + 1);\n }\n };\n return _this;\n };\n var byteArrayOutputStream = function() {\n var _bytes = [];\n var _this = {};\n _this.writeByte = function(b) {\n _bytes.push(b & 255);\n };\n _this.writeShort = function(i2) {\n _this.writeByte(i2);\n _this.writeByte(i2 >>> 8);\n };\n _this.writeBytes = function(b, off, len) {\n off = off || 0;\n len = len || b.length;\n for (var i2 = 0; i2 < len; i2 += 1) {\n _this.writeByte(b[i2 + off]);\n }\n };\n _this.writeString = function(s2) {\n for (var i2 = 0; i2 < s2.length; i2 += 1) {\n _this.writeByte(s2.charCodeAt(i2));\n }\n };\n _this.toByteArray = function() {\n return _bytes;\n };\n _this.toString = function() {\n var s2 = \"\";\n s2 += \"[\";\n for (var i2 = 0; i2 < _bytes.length; i2 += 1) {\n if (i2 > 0) {\n s2 += \",\";\n }\n s2 += _bytes[i2];\n }\n s2 += \"]\";\n return s2;\n };\n return _this;\n };\n var base64EncodeOutputStream = function() {\n var _buffer = 0;\n var _buflen = 0;\n var _length = 0;\n var _base64 = \"\";\n var _this = {};\n var writeEncoded = function(b) {\n _base64 += String.fromCharCode(encode2(b & 63));\n };\n var encode2 = function(n2) {\n if (n2 < 0)\n ;\n else if (n2 < 26) {\n return 65 + n2;\n } else if (n2 < 52) {\n return 97 + (n2 - 26);\n } else if (n2 < 62) {\n return 48 + (n2 - 52);\n } else if (n2 == 62) {\n return 43;\n } else if (n2 == 63) {\n return 47;\n }\n throw \"n:\" + n2;\n };\n _this.writeByte = function(n2) {\n _buffer = _buffer << 8 | n2 & 255;\n _buflen += 8;\n _length += 1;\n while (_buflen >= 6) {\n writeEncoded(_buffer >>> _buflen - 6);\n _buflen -= 6;\n }\n };\n _this.flush = function() {\n if (_buflen > 0) {\n writeEncoded(_buffer << 6 - _buflen);\n _buffer = 0;\n _buflen = 0;\n }\n if (_length % 3 != 0) {\n var padlen = 3 - _length % 3;\n for (var i2 = 0; i2 < padlen; i2 += 1) {\n _base64 += \"=\";\n }\n }\n };\n _this.toString = function() {\n return _base64;\n };\n return _this;\n };\n var base64DecodeInputStream = function(str) {\n var _str = str;\n var _pos = 0;\n var _buffer = 0;\n var _buflen = 0;\n var _this = {};\n _this.read = function() {\n while (_buflen < 8) {\n if (_pos >= _str.length) {\n if (_buflen == 0) {\n return -1;\n }\n throw \"unexpected end of file./\" + _buflen;\n }\n var c2 = _str.charAt(_pos);\n _pos += 1;\n if (c2 == \"=\") {\n _buflen = 0;\n return -1;\n } else if (c2.match(/^\\s$/)) {\n continue;\n }\n _buffer = _buffer << 6 | decode2(c2.charCodeAt(0));\n _buflen += 6;\n }\n var n2 = _buffer >>> _buflen - 8 & 255;\n _buflen -= 8;\n return n2;\n };\n var decode2 = function(c2) {\n if (65 <= c2 && c2 <= 90) {\n return c2 - 65;\n } else if (97 <= c2 && c2 <= 122) {\n return c2 - 97 + 26;\n } else if (48 <= c2 && c2 <= 57) {\n return c2 - 48 + 52;\n } else if (c2 == 43) {\n return 62;\n } else if (c2 == 47) {\n return 63;\n } else {\n throw \"c:\" + c2;\n }\n };\n return _this;\n };\n var gifImage = function(width, height) {\n var _width = width;\n var _height = height;\n var _data = new Array(width * height);\n var _this = {};\n _this.setPixel = function(x, y, pixel) {\n _data[y * _width + x] = pixel;\n };\n _this.write = function(out) {\n out.writeString(\"GIF87a\");\n out.writeShort(_width);\n out.writeShort(_height);\n out.writeByte(128);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(0);\n out.writeByte(255);\n out.writeByte(255);\n out.writeByte(255);\n out.writeString(\",\");\n out.writeShort(0);\n out.writeShort(0);\n out.writeShort(_width);\n out.writeShort(_height);\n out.writeByte(0);\n var lzwMinCodeSize = 2;\n var raster = getLZWRaster(lzwMinCodeSize);\n out.writeByte(lzwMinCodeSize);\n var offset = 0;\n while (raster.length - offset > 255) {\n out.writeByte(255);\n out.writeBytes(raster, offset, 255);\n offset += 255;\n }\n out.writeByte(raster.length - offset);\n out.writeBytes(raster, offset, raster.length - offset);\n out.writeByte(0);\n out.writeString(\";\");\n };\n var bitOutputStream = function(out) {\n var _out = out;\n var _bitLength = 0;\n var _bitBuffer = 0;\n var _this2 = {};\n _this2.write = function(data, length) {\n if (data >>> length != 0) {\n throw \"length over\";\n }\n while (_bitLength + length >= 8) {\n _out.writeByte(255 & (data << _bitLength | _bitBuffer));\n length -= 8 - _bitLength;\n data >>>= 8 - _bitLength;\n _bitBuffer = 0;\n _bitLength = 0;\n }\n _bitBuffer = data << _bitLength | _bitBuffer;\n _bitLength = _bitLength + length;\n };\n _this2.flush = function() {\n if (_bitLength > 0) {\n _out.writeByte(_bitBuffer);\n }\n };\n return _this2;\n };\n var getLZWRaster = function(lzwMinCodeSize) {\n var clearCode = 1 << lzwMinCodeSize;\n var endCode = (1 << lzwMinCodeSize) + 1;\n var bitLength = lzwMinCodeSize + 1;\n var table = lzwTable();\n for (var i2 = 0; i2 < clearCode; i2 += 1) {\n table.add(String.fromCharCode(i2));\n }\n table.add(String.fromCharCode(clearCode));\n table.add(String.fromCharCode(endCode));\n var byteOut = byteArrayOutputStream();\n var bitOut = bitOutputStream(byteOut);\n bitOut.write(clearCode, bitLength);\n var dataIndex = 0;\n var s2 = String.fromCharCode(_data[dataIndex]);\n dataIndex += 1;\n while (dataIndex < _data.length) {\n var c2 = String.fromCharCode(_data[dataIndex]);\n dataIndex += 1;\n if (table.contains(s2 + c2)) {\n s2 = s2 + c2;\n } else {\n bitOut.write(table.indexOf(s2), bitLength);\n if (table.size() < 4095) {\n if (table.size() == 1 << bitLength) {\n bitLength += 1;\n }\n table.add(s2 + c2);\n }\n s2 = c2;\n }\n }\n bitOut.write(table.indexOf(s2), bitLength);\n bitOut.write(endCode, bitLength);\n bitOut.flush();\n return byteOut.toByteArray();\n };\n var lzwTable = function() {\n var _map = {};\n var _size = 0;\n var _this2 = {};\n _this2.add = function(key) {\n if (_this2.contains(key)) {\n throw \"dup key:\" + key;\n }\n _map[key] = _size;\n _size += 1;\n };\n _this2.size = function() {\n return _size;\n };\n _this2.indexOf = function(key) {\n return _map[key];\n };\n _this2.contains = function(key) {\n return typeof _map[key] != \"undefined\";\n };\n return _this2;\n };\n return _this;\n };\n var createDataURL = function(width, height, getPixel) {\n var gif = gifImage(width, height);\n for (var y = 0; y < height; y += 1) {\n for (var x = 0; x < width; x += 1) {\n gif.setPixel(x, y, getPixel(x, y));\n }\n }\n var b = byteArrayOutputStream();\n gif.write(b);\n var base64 = base64EncodeOutputStream();\n var bytes = b.toByteArray();\n for (var i2 = 0; i2 < bytes.length; i2 += 1) {\n base64.writeByte(bytes[i2]);\n }\n base64.flush();\n return \"data:image/gif;base64,\" + base64;\n };\n return qrcode3;\n }();\n !function() {\n qrcode2.stringToBytesFuncs[\"UTF-8\"] = function(s2) {\n function toUTF8Array(str) {\n var utf8 = [];\n for (var i2 = 0; i2 < str.length; i2++) {\n var charcode = str.charCodeAt(i2);\n if (charcode < 128)\n utf8.push(charcode);\n else if (charcode < 2048) {\n utf8.push(\n 192 | charcode >> 6,\n 128 | charcode & 63\n );\n } else if (charcode < 55296 || charcode >= 57344) {\n utf8.push(\n 224 | charcode >> 12,\n 128 | charcode >> 6 & 63,\n 128 | charcode & 63\n );\n } else {\n i2++;\n charcode = 65536 + ((charcode & 1023) << 10 | str.charCodeAt(i2) & 1023);\n utf8.push(\n 240 | charcode >> 18,\n 128 | charcode >> 12 & 63,\n 128 | charcode >> 6 & 63,\n 128 | charcode & 63\n );\n }\n }\n return utf8;\n }\n return toUTF8Array(s2);\n };\n }();\n (function(factory) {\n {\n module.exports = factory();\n }\n })(function() {\n return qrcode2;\n });\n})(qrcode$1);\nconst qrcode = qrcode$1.exports;\nconst _tmpl$$2 = /* @__PURE__ */ template$1(`<div></div>`), _tmpl$2 = /* @__PURE__ */ template$1(`<img alt=\"\">`);\nconst QRCode = (props) => {\n let qrCodeCanvas;\n createEffect(() => {\n const errorCorrectionLevel = \"L\";\n const qr = qrcode(0, errorCorrectionLevel);\n qr.addData(props.sourceUrl);\n qr.make();\n qrCodeCanvas.innerHTML = qr.createSvgTag(4);\n });\n return createComponent(QrCodeStyled, {\n get children() {\n return [(() => {\n const _el$ = _tmpl$$2.cloneNode(true);\n const _ref$ = qrCodeCanvas;\n typeof _ref$ === \"function\" ? use(_ref$, _el$) : qrCodeCanvas = _el$;\n return _el$;\n })(), createComponent(ImageBackground, {\n get children() {\n const _el$2 = _tmpl$2.cloneNode(true);\n createRenderEffect(() => setAttribute(_el$2, \"src\", props.imageUrl));\n return _el$2;\n }\n })];\n }\n });\n};\nconst Translation = (props) => {\n var _a;\n const [t2] = useI18n();\n return t2(props.translationKey, props.translationValues, (_a = props.children) == null ? void 0 : _a.toString());\n};\nconst borders = {\n m: \"16px\",\n s: \"8px\",\n none: \"0\"\n};\nconst QrCodeModalStyled = styled.div`\n padding: 0 24px;\n`;\nconst StyledIconButton = styled(IconButton)`\n position: absolute;\n top: 16px;\n left: 16px;\n`;\nconst QRBackgroundStyled = styled.div`\n margin-bottom: 16px;\n background-color: ${(props) => props.theme.colors.background.secondary};\n border-radius: ${(props) => borders[props.theme.borderRadius]};\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px 0;\n`;\nconst ButtonsContainerStyled = styled.div`\n display: flex;\n gap: 16px;\n height: 56px;\n margin-bottom: 24px;\n`;\nconst ActionButtonStyled = styled(Button)`\n font-size: 16px;\n line-height: 20px;\n letter-spacing: -0.32px;\n width: 100%;\n border-radius: ${(props) => borders[props.theme.borderRadius]};\n`;\nconst GetWalletStyled = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst TextStyled$1 = styled(Text)`\n color: ${(props) => props.theme.colors.text.secondary};\n font-size: 16px;\n`;\nfunction openLink(href, target = \"_self\") {\n window.open(href, target, \"noreferrer noopener\");\n}\nfunction openLinkBlank(href) {\n openLink(href, \"_blank\");\n}\nfunction getSystemTheme() {\n if (window.matchMedia && window.matchMedia(\"(prefers-color-scheme: light)\").matches) {\n return THEME.LIGHT;\n }\n return THEME.DARK;\n}\nfunction subscribeToThemeChange(callback) {\n const handler = (event) => callback(event.matches ? THEME.DARK : THEME.LIGHT);\n window.matchMedia(\"(prefers-color-scheme: dark)\").addEventListener(\"change\", handler);\n return () => window.matchMedia(\"(prefers-color-scheme: dark)\").removeEventListener(\"change\", handler);\n}\nconst QrCodeModal = (props) => {\n const connector = useContext(ConnectorContext);\n const universalLink = connector.connect({\n universalLink: props.wallet.universalLink,\n bridgeUrl: props.wallet.bridgeUrl\n }, props.additionalRequest);\n return createComponent(QrCodeModalStyled, {\n get id() {\n return props.id;\n },\n get children() {\n return [createComponent(StyledIconButton, {\n icon: \"arrow\",\n onClick: () => props.onBackClick()\n }), createComponent(H1, {\n translationKey: \"walletModal.qrCodeModal.connectWith\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Connect with \", createMemo(() => props.wallet.name)];\n }\n }), createComponent(H2, {\n translationKey: \"walletModal.qrCodeModal.scan\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Scan QR code with your phone\\u2019s or \", createMemo(() => props.wallet.name), \"\\u2019s camera.\"];\n }\n }), createComponent(QRBackgroundStyled, {\n get children() {\n return createComponent(QRCode, {\n sourceUrl: universalLink,\n get imageUrl() {\n return props.wallet.imageUrl;\n }\n });\n }\n }), createComponent(ButtonsContainerStyled, {\n get children() {\n return [createComponent(ActionButtonStyled, {\n onClick: () => openLink(universalLink),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.qrCodeModal.openWallet\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Open \", createMemo(() => props.wallet.name)];\n }\n });\n }\n }), createComponent(Show, {\n get when() {\n return isWalletInfoInjected(props.wallet) && props.wallet.injected;\n },\n get children() {\n return createComponent(ActionButtonStyled, {\n onClick: () => connector.connect({\n jsBridgeKey: props.wallet.jsBridgeKey\n }, props.additionalRequest),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.qrCodeModal.openExtension\",\n children: \"Open Extension\"\n });\n }\n });\n }\n })];\n }\n }), createComponent(GetWalletStyled, {\n get children() {\n return [createComponent(TextStyled$1, {\n translationKey: \"walletModal.qrCodeModal.dontHave\",\n get translationValues() {\n return {\n name: props.wallet.name\n };\n },\n get children() {\n return [\"Don't have \", createMemo(() => props.wallet.name), \"?\"];\n }\n }), createComponent(Button, {\n onClick: () => openLinkBlank(props.wallet.aboutUrl),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.qrCodeModal.get\",\n children: \"GET\"\n });\n }\n })];\n }\n })];\n }\n });\n};\nconst WalletItemStyled = styled.button`\n cursor: pointer;\n display: block;\n border: none;\n background-color: unset;\n padding: 12px 12px 24px 12px;\n\n transition: transform 0.1s ease-in-out;\n\n &:hover {\n transform: scale(1.04);\n }\n\n &:active {\n transform: scale(0.96);\n }\n\n img {\n width: 72px;\n height: 72px;\n border-radius: 18px;\n\n margin-bottom: 8px;\n\n ${media(\"mobile\")} {\n width: 64px;\n height: 64px;\n border-radius: 16px;\n }\n }\n\n ${media(\"mobile\")} {\n padding: 10px 10px 20px 10px;\n }\n`;\nconst StyledText = styled(Text)`\n font-weight: 590;\n max-width: 72px;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n\n @supports (-webkit-line-clamp: 2) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: initial;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n`;\nconst _tmpl$$1 = /* @__PURE__ */ template$1(`<img alt=\"\">`);\nconst WalletItem = (props) => {\n return createComponent(WalletItemStyled, {\n onClick: () => props.onClick(),\n get children() {\n return [(() => {\n const _el$ = _tmpl$$1.cloneNode(true);\n createRenderEffect(() => setAttribute(_el$, \"src\", props.iconUrl));\n return _el$;\n })(), createComponent(StyledText, {\n get children() {\n return props.name;\n }\n })];\n }\n });\n};\nconst SelectWalletModalStyled = styled.div``;\nconst UlStyled = styled.ul`\n display: flex;\n margin: 0 auto 24px;\n width: fit-content;\n max-width: 100%;\n min-height: 140px;\n overflow: auto;\n padding: 0 24px;\n\n &&::-webkit-scrollbar {\n display: none;\n }\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ${media(\"mobile\")} {\n min-height: 126px;\n }\n`;\nconst H2Styled = styled(H2)`\n ${media(\"mobile\")} {\n margin-bottom: 24px;\n padding: 0 24px;\n min-height: 44px;\n }\n`;\nconst ButtonStyled$1 = styled(Button)`\n display: block;\n margin: 0 auto;\n`;\nconst _tmpl$ = /* @__PURE__ */ template$1(`<li></li>`);\nconst SelectWalletModal = (props) => {\n const learnMoreUrl = \"https://ton.org/wallets\";\n return createComponent(SelectWalletModalStyled, {\n get id() {\n return props.id;\n },\n get children() {\n return [createComponent(H1, {\n translationKey: \"walletModal.selectWalletModal.connectWallet\",\n children: \"Connect a wallet\"\n }), createComponent(H2Styled, {\n translationKey: \"walletModal.selectWalletModal.selectWallet\",\n children: \"Select your wallet from the options to get started.\"\n }), createComponent(UlStyled, {\n get children() {\n return createComponent(For, {\n get each() {\n return props.walletsList;\n },\n children: (wallet) => (() => {\n const _el$ = _tmpl$.cloneNode(true);\n insert(_el$, createComponent(WalletItem, {\n get iconUrl() {\n return wallet.imageUrl;\n },\n get name() {\n return wallet.name;\n },\n onClick: () => props.onSelect(wallet)\n }));\n return _el$;\n })()\n });\n }\n }), createComponent(ButtonStyled$1, {\n onClick: () => openLinkBlank(learnMoreUrl),\n get children() {\n return createComponent(Translation, {\n translationKey: \"walletModal.selectWalletModal.learnMore\",\n children: \"Learn more\"\n });\n }\n })];\n }\n });\n};\nconst StyledModal = styled(Modal)`\n padding-left: 0;\n padding-right: 0;\n\n ${media(\"mobile\")} {\n min-height: 390px;\n }\n`;\nconst H1Styled$1 = styled(H1)`\n margin-top: 12px;\n\n ${media(\"mobile\")} {\n padding: 0 10px;\n }\n`;\nconst LoaderIconStyled$1 = styled(LoaderIcon)`\n width: 70px;\n height: 70px;\n`;\nconst LoaderContainerStyled = styled.div`\n margin: 30px 0;\n width: 100%;\n display: flex;\n justify-content: center;\n\n ${media(\"mobile\")} {\n height: 160px;\n align-items: center;\n }\n`;\nconst [appState, setAppState] = createStore({\n buttonRootId: null,\n language: \"en\",\n walletsList: {}\n});\nfunction uiWalletToWalletInfo(uiWallet) {\n if (\"jsBridgeKey\" in uiWallet) {\n return __spreadProps(__spreadValues({}, uiWallet), {\n injected: TonConnect.isWalletInjected(uiWallet.jsBridgeKey),\n embedded: TonConnect.isInsideWalletBrowser(uiWallet.jsBridgeKey)\n });\n }\n return uiWallet;\n}\nfunction applyWalletsListConfiguration(walletsList, configuration) {\n var _a;\n if (!configuration) {\n return walletsList;\n }\n if (\"wallets\" in configuration) {\n return configuration.wallets.map((wallet) => {\n if (typeof wallet === \"string\") {\n const walletInfo = walletsList.find((item) => item.name === wallet);\n if (!walletInfo) {\n console.error(\n `Wallet with name === '${wallet}' wasn't found in the wallets list. Check '${wallet}' correctness. Available wallets names: ${walletsList.map((i2) => \"'\" + i2.name + \"'\").join(\", \")}`\n );\n return null;\n }\n return walletInfo;\n }\n return uiWalletToWalletInfo(wallet);\n }).filter((i2) => !!i2);\n }\n const filteredWalletsList = ((_a = configuration.excludeWallets) == null ? void 0 : _a.length) ? walletsList.filter(\n (wallet) => {\n var _a2;\n return (_a2 = configuration.excludeWallets) == null ? void 0 : _a2.every((item) => item !== wallet.name);\n }\n ) : walletsList;\n if (!configuration.includeWallets) {\n return filteredWalletsList;\n }\n if (configuration.includeWalletsOrder === \"start\") {\n return configuration.includeWallets.map(uiWalletToWalletInfo).concat(walletsList);\n }\n return walletsList.concat(configuration.includeWallets.map(uiWalletToWalletInfo));\n}\nconst WalletsModal = () => {\n const {\n locale\n } = useI18n()[1];\n createEffect(() => locale(appState.language));\n const connector = useContext(ConnectorContext);\n const tonConnectUI = useContext(TonConnectUiContext);\n const [fetchedWalletsList] = createResource(() => tonConnectUI.getWallets());\n const [fetchedAdditionalRequest, {\n refetch\n }] = createResource((_, {\n refetching\n }) => {\n var _a;\n if (refetching) {\n return (_a = appState.getConnectParameters) == null ? void 0 : _a.call(appState);\n }\n return void 0;\n });\n createEffect(on(walletsModalOpen, () => {\n if (walletsModalOpen() && fetchedAdditionalRequest.state !== \"refreshing\") {\n refetch();\n }\n }));\n const [selectedWalletInfo, setSelectedWalletInfo] = createSignal(null);\n const walletsList = createMemo(() => {\n if (fetchedWalletsList.state !== \"ready\") {\n return null;\n }\n return applyWalletsListConfiguration(fetchedWalletsList(), appState.walletsList);\n });\n const additionalRequestLoading = () => fetchedAdditionalRequest.state !== \"ready\" && fetchedAdditionalRequest.state !== \"errored\";\n const additionalRequest = createMemo(() => {\n if (fetchedAdditionalRequest.state !== \"ready\") {\n return void 0;\n }\n return fetchedAdditionalRequest();\n });\n const onClose = () => {\n setWalletsModalOpen(false);\n setSelectedWalletInfo(null);\n };\n const onSelect = (walletInfo) => {\n setLastSelectedWalletInfo(walletInfo);\n if (isDevice(\"mobile\") && \"universalLink\" in walletInfo) {\n return onSelectIfMobile(walletInfo);\n }\n if (isWalletInfoInjected(walletInfo) && walletInfo.injected) {\n return onSelectIfInjected(walletInfo);\n }\n if (\"bridgeUrl\" in walletInfo) {\n setSelectedWalletInfo(walletInfo);\n return;\n }\n openLink(walletInfo.aboutUrl, \"_blank\");\n };\n const onSelectIfMobile = (walletInfo) => {\n const universalLink = connector.connect({\n universalLink: walletInfo.universalLink,\n bridgeUrl: walletInfo.bridgeUrl\n }, additionalRequest());\n openLink(universalLink);\n };\n const onSelectIfInjected = (walletInfo) => {\n connector.connect({\n jsBridgeKey: walletInfo.jsBridgeKey\n }, additionalRequest());\n };\n const unsubscribe = connector.onStatusChange((wallet) => {\n if (wallet) {\n onClose();\n }\n });\n onCleanup(unsubscribe);\n return createComponent(StyledModal, {\n get opened() {\n return walletsModalOpen();\n },\n onClose,\n id: \"tc-wallets-modal-container\",\n get children() {\n return [createComponent(Show, {\n get when() {\n return !walletsList() || additionalRequestLoading();\n },\n get children() {\n return [createComponent(H1Styled$1, {\n translationKey: \"walletModal.loading\",\n children: \"Wallets list is loading\"\n }), createComponent(LoaderContainerStyled, {\n get children() {\n return createComponent(LoaderIconStyled$1, {});\n }\n })];\n }\n }), createComponent(Show, {\n get when() {\n return createMemo(() => !!walletsList())() && !additionalRequestLoading();\n },\n get children() {\n return [createComponent(Show, {\n get when() {\n return !selectedWalletInfo();\n },\n keyed: false,\n get children() {\n return createComponent(SelectWalletModal, {\n get walletsList() {\n return walletsList();\n },\n onSelect,\n id: \"tc-wallets-modal\"\n });\n }\n }), createComponent(Show, {\n get when() {\n return selectedWalletInfo();\n },\n keyed: false,\n get children() {\n return createComponent(QrCodeModal, {\n get additionalRequest() {\n return additionalRequest();\n },\n get wallet() {\n return selectedWalletInfo();\n },\n onBackClick: () => setSelectedWalletInfo(null),\n id: \"tc-qr-modal\"\n });\n }\n })];\n }\n })];\n }\n });\n};\nconst ActionModalStyled = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-bottom: 20px;\n`;\nconst H1Styled = styled(H1)`\n margin-top: 19px;\n`;\nconst TextStyled = styled(Text)`\n font-weight: 510;\n font-size: 16px;\n line-height: 22px;\n letter-spacing: -0.32px;\n text-align: center;\n max-width: 250px;\n\n color: ${(props) => props.theme.colors.text.secondary};\n`;\nconst ButtonStyled = styled(Button)`\n margin-top: 32px;\n`;\nconst ActionModal = (props) => {\n return createComponent(ActionModalStyled, {\n get id() {\n return props.id;\n },\n get children() {\n return [createMemo(() => props.icon), createComponent(H1Styled, {\n get translationKey() {\n return props.headerTranslationKey;\n }\n }), createComponent(TextStyled, {\n get translationKey() {\n return props.textTranslationKey;\n }\n }), createComponent(Show, {\n get when() {\n return props.showButton !== false;\n },\n get children() {\n return createComponent(ButtonStyled, {\n onClick: () => props.onClose(),\n get children() {\n return createComponent(Translation, {\n translationKey: \"common.close\",\n children: \"Close\"\n });\n }\n });\n }\n })];\n }\n });\n};\nconst LoaderIconStyled = styled(LoaderIcon)`\n height: 72px;\n width: 72px;\n`;\nconst ConfirmTransactionModal = (props) => {\n return createComponent(ActionModal, {\n headerTranslationKey: \"actionModal.confirmTransaction.header\",\n textTranslationKey: \"actionModal.confirmTransaction.text\",\n get icon() {\n return createComponent(LoaderIconStyled, {});\n },\n onClose: () => props.onClose(),\n showButton: false,\n get id() {\n return props.id;\n }\n });\n};\nconst ErrorIconStyled = styled(ErrorIcon)`\n height: 66px;\n width: 66px;\n`;\nconst TransactionCanceledModal = (props) => {\n return createComponent(ActionModal, {\n headerTranslationKey: \"actionModal.transactionCanceled.header\",\n textTranslationKey: \"actionModal.transactionCanceled.text\",\n get icon() {\n return createComponent(ErrorIconStyled, {});\n },\n onClose: () => props.onClose(),\n get id() {\n return props.id;\n }\n });\n};\nconst SuccessIconStyled = styled(SuccessIcon)`\n height: 66px;\n width: 66px;\n`;\nconst TransactionSentModal = (props) => {\n return createComponent(ActionModal, {\n headerTranslationKey: \"actionModal.transactionSent.header\",\n textTranslationKey: \"actionModal.transactionSent.text\",\n get icon() {\n return createComponent(SuccessIconStyled, {});\n },\n onClose: () => props.onClose(),\n get id() {\n return props.id;\n }\n });\n};\nconst ActionsModal = () => {\n return createComponent(Modal, {\n get opened() {\n var _a;\n return createMemo(() => action() !== null)() && ((_a = action()) == null ? void 0 : _a.openModal) === true;\n },\n onClose: () => setAction(null),\n id: \"tc-actions-modal-container\",\n get children() {\n return createComponent(Switch, {\n get children() {\n return [createComponent(Match, {\n get when() {\n return action().name === \"transaction-sent\";\n },\n get children() {\n return createComponent(TransactionSentModal, {\n onClose: () => setAction(null),\n id: \"tc-transaction-sent-modal\"\n });\n }\n }), createComponent(Match, {\n get when() {\n return action().name === \"transaction-canceled\";\n },\n get children() {\n return createComponent(TransactionCanceledModal, {\n onClose: () => setAction(null),\n id: \"tc-transaction-canceled-modal\"\n });\n }\n }), createComponent(Match, {\n get when() {\n return action().name === \"confirm-transaction\";\n },\n get children() {\n return createComponent(ConfirmTransactionModal, {\n onClose: () => setAction(null),\n id: \"tc-confirm-modal\"\n });\n }\n })];\n }\n });\n }\n });\n};\nconst App = (props) => {\n const translations = createI18nContext(i18nDictionary, appState.language);\n return createComponent(I18nContext.Provider, {\n value: translations,\n get children() {\n return createComponent(TonConnectUiContext.Provider, {\n get value() {\n return props.tonConnectUI;\n },\n get children() {\n return createComponent(ConnectorContext.Provider, {\n get value() {\n return appState.connector;\n },\n get children() {\n return [createComponent(GlobalStyles, {}), createComponent(ThemeProvider, {\n theme: themeState,\n get children() {\n return [createComponent(Show, {\n get when() {\n return appState.buttonRootId;\n },\n get children() {\n return createComponent(Portal, {\n get mount() {\n return document.getElementById(appState.buttonRootId);\n },\n get children() {\n return createComponent(AccountButton, {});\n }\n });\n }\n }), createComponent(WalletsModal, {}), createComponent(ActionsModal, {})];\n }\n })];\n }\n });\n }\n });\n }\n });\n};\nconst widgetController = {\n openWalletsModal: () => void setTimeout(() => setWalletsModalOpen(true)),\n closeWalletsModal: () => void setTimeout(() => setWalletsModalOpen(false)),\n setAction: (action2) => void setTimeout(() => setAction(action2)),\n clearAction: () => void setTimeout(() => setAction(null)),\n getSelectedWalletInfo: () => lastSelectedWalletInfo(),\n renderApp: (root, tonConnectUI) => render(() => createComponent(App, {\n tonConnectUI\n }), document.getElementById(root))\n};\nclass TonConnectUIError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, TonConnectUIError.prototype);\n }\n}\nclass WalletInfoStorage {\n constructor() {\n __publicField(this, \"localStorage\");\n __publicField(this, \"storageKey\", \"ton-connect-ui_wallet-info\");\n if (!localStorage) {\n throw new TonConnectUIError(\n \"window.localStorage is undefined. localStorage is required for TonConnectUI\"\n );\n }\n this.localStorage = localStorage;\n }\n setWalletInfo(walletInfo) {\n this.localStorage.setItem(this.storageKey, JSON.stringify(walletInfo));\n }\n getWalletInfo() {\n const walletInfoString = this.localStorage.getItem(this.storageKey);\n if (!walletInfoString) {\n return null;\n }\n return JSON.parse(walletInfoString);\n }\n removeWalletInfo() {\n this.localStorage.removeItem(this.storageKey);\n }\n}\nclass TonConnectUI {\n constructor(options) {\n __publicField(this, \"walletInfoStorage\", new WalletInfoStorage());\n __publicField(this, \"connector\");\n __publicField(this, \"_walletInfo\", null);\n __publicField(this, \"systemThemeChangeUnsubscribe\", null);\n __publicField(this, \"actionsConfiguration\");\n if (options && \"connector\" in options && options.connector) {\n this.connector = options.connector;\n } else if (options && \"manifestUrl\" in options && options.manifestUrl) {\n this.connector = new TonConnect({\n manifestUrl: options.manifestUrl,\n walletsListSource: options.walletsListSource\n });\n } else {\n throw new TonConnectUIError(\n \"You have to specify a `manifestUrl` or a `connector` in the options.\"\n );\n }\n this.getWallets();\n const rootId = this.normalizeWidgetRoot(options == null ? void 0 : options.widgetRootId);\n this.subscribeToWalletChange();\n if ((options == null ? void 0 : options.restoreConnection) !== false) {\n this.connector.restoreConnection().then(() => {\n if (!this.connector.connected) {\n this.walletInfoStorage.removeWalletInfo();\n }\n });\n }\n this.uiOptions = mergeOptions(options, { uiPreferences: { theme: \"SYSTEM\" } });\n setAppState({\n connector: this.connector,\n getConnectParameters: options == null ? void 0 : options.getConnectParameters\n });\n widgetController.renderApp(rootId, this);\n }\n static getWallets() {\n return TonConnect.getWallets();\n }\n get connected() {\n return this.connector.connected;\n }\n get account() {\n return this.connector.account;\n }\n get wallet() {\n return this.connector.wallet;\n }\n get walletInfo() {\n return this._walletInfo;\n }\n set uiOptions(options) {\n var _a, _b, _c, _d, _e;\n this.checkButtonRootExist(options.buttonRootId);\n this.actionsConfiguration = options.actionsConfiguration;\n if ((_a = options.uiPreferences) == null ? void 0 : _a.theme) {\n if (((_b = options.uiPreferences) == null ? void 0 : _b.theme) !== \"SYSTEM\") {\n (_c = this.systemThemeChangeUnsubscribe) == null ? void 0 : _c.call(this);\n setTheme(options.uiPreferences.theme, options.uiPreferences.colorsSet);\n } else {\n setTheme(getSystemTheme(), options.uiPreferences.colorsSet);\n if (!this.systemThemeChangeUnsubscribe) {\n this.systemThemeChangeUnsubscribe = subscribeToThemeChange(setTheme);\n }\n }\n } else {\n if ((_d = options.uiPreferences) == null ? void 0 : _d.colorsSet) {\n setColors(options.uiPreferences.colorsSet);\n }\n }\n if ((_e = options.uiPreferences) == null ? void 0 : _e.borderRadius) {\n setBorderRadius(options.uiPreferences.borderRadius);\n }\n setAppState((state) => {\n const merged = mergeOptions(\n __spreadValues(__spreadValues({}, options.language && { language: options.language }), !!options.walletsList && { walletsList: options.walletsList }),\n unwrap(state)\n );\n if (options.buttonRootId !== void 0) {\n merged.buttonRootId = options.buttonRootId;\n }\n return merged;\n });\n }\n getWallets() {\n return __async(this, null, function* () {\n return this.connector.getWallets();\n });\n }\n onStatusChange(callback, errorsHandler) {\n return this.connector.onStatusChange((wallet) => {\n if (wallet) {\n const lastSelectedWalletInfo2 = widgetController.getSelectedWalletInfo() || this.walletInfoStorage.getWalletInfo();\n callback(__spreadValues(__spreadValues({}, wallet), lastSelectedWalletInfo2));\n } else {\n callback(wallet);\n }\n }, errorsHandler);\n }\n connectWallet() {\n return __async(this, null, function* () {\n const walletsList = yield this.getWallets();\n const embeddedWallet = walletsList.find(\n (wallet) => \"embedded\" in wallet && wallet.embedded\n );\n if (embeddedWallet) {\n setLastSelectedWalletInfo(embeddedWallet);\n this.connector.connect({ jsBridgeKey: embeddedWallet.jsBridgeKey });\n } else {\n widgetController.openWalletsModal();\n }\n return new Promise((resolve, reject) => {\n const unsubscribe = this.connector.onStatusChange((wallet) => {\n unsubscribe();\n if (wallet) {\n const lastSelectedWalletInfo2 = widgetController.getSelectedWalletInfo() || this.walletInfoStorage.getWalletInfo();\n resolve(__spreadValues(__spreadValues({}, wallet), lastSelectedWalletInfo2));\n } else {\n reject(new TonConnectUIError(\"Wallet was not connected\"));\n }\n }, reject);\n });\n });\n }\n disconnect() {\n this.walletInfoStorage.removeWalletInfo();\n return this.connector.disconnect();\n }\n sendTransaction(tx, options) {\n return __async(this, null, function* () {\n if (!this.connected || !this.walletInfo) {\n throw new TonConnectUIError(\"Connect wallet to send a transaction.\");\n }\n if (!isDevice(\"desktop\") && \"universalLink\" in this.walletInfo) {\n openLink(this.walletInfo.universalLink);\n }\n const { notifications: notifications2, modals } = this.getModalsAndNotificationsConfiguration(options);\n widgetController.setAction({\n name: \"confirm-transaction\",\n showNotification: notifications2.includes(\"before\"),\n openModal: modals.includes(\"before\")\n });\n try {\n const result = yield this.connector.sendTransaction(tx);\n widgetController.setAction({\n name: \"transaction-sent\",\n showNotification: notifications2.includes(\"success\"),\n openModal: modals.includes(\"success\")\n });\n return result;\n } catch (e2) {\n widgetController.setAction({\n name: \"transaction-canceled\",\n showNotification: notifications2.includes(\"error\"),\n openModal: modals.includes(\"error\")\n });\n if (e2 instanceof TonConnectError) {\n throw e2;\n } else {\n console.error(e2);\n throw new TonConnectUIError(\"Unhandled error:\" + e2);\n }\n }\n });\n }\n subscribeToWalletChange() {\n this.connector.onStatusChange((wallet) => {\n if (wallet) {\n this.updateWalletInfo();\n } else {\n this.walletInfoStorage.removeWalletInfo();\n }\n });\n }\n updateWalletInfo() {\n const lastSelectedWalletInfo2 = widgetController.getSelectedWalletInfo();\n if (lastSelectedWalletInfo2) {\n this._walletInfo = lastSelectedWalletInfo2;\n this.walletInfoStorage.setWalletInfo(lastSelectedWalletInfo2);\n } else {\n this._walletInfo = this.walletInfoStorage.getWalletInfo();\n }\n }\n normalizeWidgetRoot(rootId) {\n if (!rootId || !document.getElementById(rootId)) {\n rootId = \"tc-widget-root\";\n const rootElement = document.createElement(\"div\");\n rootElement.id = rootId;\n document.body.appendChild(rootElement);\n }\n return rootId;\n }\n checkButtonRootExist(buttonRootId) {\n if (buttonRootId == null) {\n return;\n }\n if (!document.getElementById(buttonRootId)) {\n throw new TonConnectUIError(`${buttonRootId} element not found in the document.`);\n }\n }\n getModalsAndNotificationsConfiguration(options) {\n var _a, _b, _c;\n const allActions = [\n \"before\",\n \"success\",\n \"error\"\n ];\n let notifications2 = allActions;\n if (((_a = this.actionsConfiguration) == null ? void 0 : _a.notifications) && ((_b = this.actionsConfiguration) == null ? void 0 : _b.notifications) !== \"all\") {\n notifications2 = this.actionsConfiguration.notifications;\n }\n if (options == null ? void 0 : options.notifications) {\n if (options.notifications === \"all\") {\n notifications2 = allActions;\n } else {\n notifications2 = options.notifications;\n }\n }\n let modals = [\"before\"];\n if ((_c = this.actionsConfiguration) == null ? void 0 : _c.modals) {\n if (this.actionsConfiguration.modals === \"all\") {\n modals = allActions;\n } else {\n modals = this.actionsConfiguration.modals;\n }\n }\n if (options == null ? void 0 : options.modals) {\n if (options.modals === \"all\") {\n modals = allActions;\n } else {\n modals = options.modals;\n }\n }\n return {\n notifications: notifications2,\n modals\n };\n }\n}\nexport {\n THEME,\n TonConnectUI,\n TonConnectUIError,\n TonConnectUI as default\n};\n//# sourceMappingURL=index.js.map\n","import { createContext, FunctionComponent, memo } from 'react';\nimport {\n ActionConfiguration,\n Locales,\n Theme,\n TonConnectUI,\n UIPreferences,\n WalletsListConfiguration\n} from '@tonconnect/ui';\nimport type { ConnectAdditionalRequest, ITonConnect } from '@tonconnect/sdk';\n\nexport const TonConnectUIContext = createContext<TonConnectUI | null>(null);\n\nexport type TonConnectUIProviderProps = {\n children: JSX.Element;\n} & Partial<TonConnectUIProviderPropsBase> &\n Partial<TonConnectUIProviderPropsWithManifest | TonConnectUIProviderPropsWithConnector>;\n\nexport interface TonConnectUIProviderPropsWithManifest {\n /**\n * Url to the [manifest]{@link https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest} with the Dapp metadata that will be displayed in the user's wallet.\n * If not passed, manifest from `${window.location.origin}/tonconnect-manifest.json` will be taken.\n */\n manifestUrl: string;\n}\n\nexport interface TonConnectUIProviderPropsWithConnector {\n /**\n * TonConnect instance. Can be helpful if you use custom ITonConnect implementation, or use both of @tonconnect/sdk and @tonconnect/ui in your app.\n */\n connector: ITonConnect;\n}\n\nexport interface TonConnectUIProviderPropsBase {\n /**\n * Try to restore existing session and reconnect to the corresponding wallet.\n * @default true.\n */\n restoreConnection: boolean;\n\n /**\n * Color theme for the UI elements.\n * @default SYSTEM theme.\n */\n theme: Theme;\n\n /**\n * Language for the phrases it the UI elements.\n * @default system\n */\n language: Locales;\n\n /**\n * HTML element id to attach the modal window element. If not passed, `div#tc-widget-root` in the end of the <body> will be added and used.\n * @default `div#tc-widget-root`.\n */\n widgetRootId: string;\n\n /**\n * UI elements configuration.\n */\n uiPreferences?: UIPreferences;\n\n /**\n * Configuration for the wallets list in the connect wallet modal.\n */\n walletsList?: WalletsListConfiguration;\n\n /**\n * Configuration for action-period (e.g. sendTransaction) UI elements: modals and notifications.\n */\n actionsConfiguration?: ActionConfiguration;\n\n /**\n * Redefine wallets list source URL. Must be a link to a json file with [following structure]{@link https://github.com/ton-connect/wallets-list}\n * @default https://raw.githubusercontent.com/ton-connect/wallets-list/main/wallets.json\n * @\n */\n walletsListSource?: string;\n\n /**\n * Use it to customize ConnectRequest and add `tonProof` payload.\n * The function will be called after wallets modal opens, and wallets selection will be blocked until it's resolved.\n * If you have to make a http-request to your backend, it is better to do it after app initialization (if possible) and return (probably completed) promise to reduce loading time for the user.\n */\n getConnectParameters?: () => Promise<ConnectAdditionalRequest>;\n}\n\nlet tonConnectUI: TonConnectUI | null = null;\n\n/**\n * Add TonConnectUIProvider to the root of the app. You can specify UI options using props.\n * All TonConnect UI hooks calls and `<TonConnectButton />` component must be placed inside `<TonConnectUIProvider>`.\n * @param children JSX to insert.\n * @param [options] additional options.\n * @constructor\n */\nconst TonConnectUIProvider: FunctionComponent<TonConnectUIProviderProps> = ({\n children,\n ...options\n}) => {\n if (!tonConnectUI) {\n tonConnectUI = new TonConnectUI(options);\n }\n\n return (\n <TonConnectUIContext.Provider value={tonConnectUI}>{children}</TonConnectUIContext.Provider>\n );\n};\n\nexport default memo(TonConnectUIProvider);\n","import { TonConnectUIError } from '@tonconnect/ui';\n\n/**\n * Base class for TonConnectUIReact errors. You can check if the error was triggered by the @tonconnect/ui-react using `err instanceof TonConnectUIReactError`.\n */\nexport class TonConnectUIReactError extends TonConnectUIError {\n constructor(...args: ConstructorParameters<typeof Error>) {\n super(...args);\n\n Object.setPrototypeOf(this, TonConnectUIReactError.prototype);\n }\n}\n","import { TonConnectUIReactError } from './ton-connect-ui-react.error';\n\n/**\n * Thrown when either <TonConnectProvider> not added to the top of the tags tree,\n * either there is an attempt using TonConnect UI hook or <TonConnectButton> inside <TonConnectProvider>\n */\nexport class TonConnectProviderNotSetError extends TonConnectUIReactError {\n constructor(...args: ConstructorParameters<typeof Error>) {\n super(...args);\n\n Object.setPrototypeOf(this, TonConnectProviderNotSetError.prototype);\n }\n}\n","import { TonConnectUI } from '@tonconnect/ui';\nimport { TonConnectProviderNotSetError } from '../errors/ton-connect-provider-not-set.error';\n\nexport function checkProvider(provider: TonConnectUI | null): provider is TonConnectUI {\n if (!provider) {\n throw new TonConnectProviderNotSetError(\n 'You should add <TonConnectUIProvider> on the top of the app to use TonConnect'\n );\n }\n\n return true;\n}\n","import { useContext } from 'react';\nimport { TonConnectUIContext } from '../components/TonConnectUIProvider';\nimport { TonConnectUI, TonConnectUiOptions } from '@tonconnect/ui';\nimport { checkProvider } from '../utils/errors';\n\n/**\n * Use it to get access to the `TonConnectUI` instance and UI options updating function.\n */\nexport function useTonConnectUI(): [TonConnectUI, (options: TonConnectUiOptions) => void] {\n const tonConnectUI = useContext(TonConnectUIContext);\n checkProvider(tonConnectUI);\n const setOptions = (options: TonConnectUiOptions) => void (tonConnectUI!.uiOptions = options);\n return [tonConnectUI!, setOptions];\n}\n","import { CSSProperties, FunctionComponent, memo, useEffect } from 'react';\nimport { useTonConnectUI } from '../hooks/useTonConnectUI';\n\nconst buttonRootId = 'ton-connect-button';\n\nexport interface TonConnectButtonProps {\n className?: string;\n\n style?: CSSProperties;\n}\n\n/**\n * TonConnect Button is universal UI component for initializing connection. After wallet is connected it transforms to a wallet menu.\n * It is recommended to place it in the top right corner of your app.\n * @param [className] css class to add to the button container.\n * @param [style] style to add to the button container.\n * @constructor\n */\nconst TonConnectButton: FunctionComponent<TonConnectButtonProps> = ({ className, style }) => {\n const [_, setOptions] = useTonConnectUI();\n\n useEffect(() => {\n setOptions({ buttonRootId });\n }, []);\n\n return <div id={buttonRootId} className={className} style={style}></div>;\n};\n\nexport default memo(TonConnectButton);\n","import { useTonConnectUI } from './useTonConnectUI';\nimport { Wallet, WalletInfo } from '@tonconnect/sdk';\nimport { useEffect, useState } from 'react';\n\n/**\n * Use it to get user's current ton wallet. If wallet is not connected hook will return null.\n */\nexport function useTonWallet(): (Wallet & WalletInfo) | null {\n const [tonConnectUI] = useTonConnectUI();\n const [wallet, setWallet] = useState<(Wallet & WalletInfo) | null>(\n () => tonConnectUI.wallet && { ...tonConnectUI.wallet, ...tonConnectUI.walletInfo! }\n );\n\n useEffect(\n () =>\n tonConnectUI.onStatusChange(value => {\n setWallet(value);\n }),\n [tonConnectUI]\n );\n\n return wallet;\n}\n","/**\n * Base class for TonConnect errors. You can check if the error was triggered by the @tonconnect/sdk using `err instanceof TonConnectError`.\n */\nexport class TonConnectError extends Error {\n constructor(message, options) {\n if (message) {\n message = TonConnectError.prefix + ' ' + message;\n }\n super(message, options);\n Object.setPrototypeOf(this, TonConnectError.prototype);\n }\n}\nTonConnectError.prefix = '[TON_CONNECT_SDK_ERROR]';\n//# sourceMappingURL=ton-connect.error.js.map","import { TonConnectError } from \"../../../ton-connect.error\";\n/**\n * Thrown when passed manifest contains errors.\n */\nexport class ManifestContentErrorError extends TonConnectError {\n constructor(message) {\n super(message || '' + ManifestContentErrorError.additionalMessage);\n Object.setPrototypeOf(this, ManifestContentErrorError.prototype);\n }\n}\nManifestContentErrorError.additionalMessage = '\\nPassed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest';\n//# sourceMappingURL=manifest-content-error.error.js.map","import { TonConnectError } from \"../../../ton-connect.error\";\n/**\n * Thrown when wallet can't get manifest by passed manifestUrl.\n */\nexport class ManifestNotFoundError extends TonConnectError {\n constructor(message) {\n super(message || '' + ManifestNotFoundError.additionalMessage);\n Object.setPrototypeOf(this, ManifestNotFoundError.prototype);\n }\n}\nManifestNotFoundError.additionalMessage = '\\nManifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest';\n//# sourceMappingURL=manifest-not-found.error.js.map","import { TonConnectError } from \"../../../ton-connect.error\";\n/**\n * Thrown when user rejects the action in the wallet.\n */\nexport class UserRejectsError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UserRejectsError.prototype);\n }\n}\n//# sourceMappingURL=user-rejects.error.js.map","import { TonConnectError } from \"../../ton-connect.error\";\n/**\n * Thrown when request to the wallet contains errors.\n */\nexport class BadRequestError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, BadRequestError.prototype);\n }\n}\n//# sourceMappingURL=bad-request.error.js.map","import { TonConnectError } from \"../../ton-connect.error\";\n/**\n * Thrown when app tries to send rpc request to the injected wallet while not connected.\n */\nexport class UnknownAppError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownAppError.prototype);\n }\n}\n//# sourceMappingURL=unknown-app.error.js.map","import { TonConnectError } from \"../ton-connect.error\";\n/**\n * Thrown when passed address is in incorrect format.\n */\nexport class WrongAddressError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, WrongAddressError.prototype);\n }\n}\n//# sourceMappingURL=wrong-address.error.js.map","import { TonConnectError } from \"../ton-connect.error\";\n/**\n * Thrown when passed hex is in incorrect format.\n */\nexport class ParseHexError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, ParseHexError.prototype);\n }\n}\n//# sourceMappingURL=parse-hex.error.js.map","import { TonConnectError } from \"./ton-connect.error\";\n/**\n * Unhanded unknown error.\n */\nexport class UnknownError extends TonConnectError {\n constructor(...args) {\n super(...args);\n Object.setPrototypeOf(this, UnknownError.prototype);\n }\n}\n//# sourceMappingURL=unknown.error.js.map","export var CONNECT_EVENT_ERROR_CODES;\n(function (CONNECT_EVENT_ERROR_CODES) {\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"MANIFEST_NOT_FOUND_ERROR\"] = 2] = \"MANIFEST_NOT_FOUND_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"MANIFEST_CONTENT_ERROR\"] = 3] = \"MANIFEST_CONTENT_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n CONNECT_EVENT_ERROR_CODES[CONNECT_EVENT_ERROR_CODES[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_EVENT_ERROR_CODES || (CONNECT_EVENT_ERROR_CODES = {}));\nexport var CONNECT_ITEM_ERROR_CODES;\n(function (CONNECT_ITEM_ERROR_CODES) {\n CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n CONNECT_ITEM_ERROR_CODES[CONNECT_ITEM_ERROR_CODES[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(CONNECT_ITEM_ERROR_CODES || (CONNECT_ITEM_ERROR_CODES = {}));\n","export var SEND_TRANSACTION_ERROR_CODES;\n(function (SEND_TRANSACTION_ERROR_CODES) {\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"UNKNOWN_ERROR\"] = 0] = \"UNKNOWN_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"BAD_REQUEST_ERROR\"] = 1] = \"BAD_REQUEST_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"UNKNOWN_APP_ERROR\"] = 100] = \"UNKNOWN_APP_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"USER_REJECTS_ERROR\"] = 300] = \"USER_REJECTS_ERROR\";\n SEND_TRANSACTION_ERROR_CODES[SEND_TRANSACTION_ERROR_CODES[\"METHOD_NOT_SUPPORTED\"] = 400] = \"METHOD_NOT_SUPPORTED\";\n})(SEND_TRANSACTION_ERROR_CODES || (SEND_TRANSACTION_ERROR_CODES = {}));\n","export var CHAIN;\n(function (CHAIN) {\n CHAIN[\"MAINNET\"] = \"-239\";\n CHAIN[\"TESTNET\"] = \"-3\";\n})(CHAIN || (CHAIN = {}));\n","// Written in 2014-2016 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n(function(root, f) {\n 'use strict';\n if (typeof module !== 'undefined' && module.exports) module.exports = f();\n else if (root.nacl) root.nacl.util = f();\n else {\n root.nacl = {};\n root.nacl.util = f();\n }\n}(this, function() {\n 'use strict';\n\n var util = {};\n\n function validateBase64(s) {\n if (!(/^(?:[A-Za-z0-9+\\/]{2}[A-Za-z0-9+\\/]{2})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$/.test(s))) {\n throw new TypeError('invalid encoding');\n }\n }\n\n util.decodeUTF8 = function(s) {\n if (typeof s !== 'string') throw new TypeError('expected string');\n var i, d = unescape(encodeURIComponent(s)), b = new Uint8Array(d.length);\n for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i);\n return b;\n };\n\n util.encodeUTF8 = function(arr) {\n var i, s = [];\n for (i = 0; i < arr.length; i++) s.push(String.fromCharCode(arr[i]));\n return decodeURIComponent(escape(s.join('')));\n };\n\n if (typeof atob === 'undefined') {\n // Node.js\n\n if (typeof Buffer.from !== 'undefined') {\n // Node v6 and later\n util.encodeBase64 = function (arr) { // v6 and later\n return Buffer.from(arr).toString('base64');\n };\n\n util.decodeBase64 = function (s) {\n validateBase64(s);\n return new Uint8Array(Array.prototype.slice.call(Buffer.from(s, 'base64'), 0));\n };\n\n } else {\n // Node earlier than v6\n util.encodeBase64 = function (arr) { // v6 and later\n return (new Buffer(arr)).toString('base64');\n };\n\n util.decodeBase64 = function(s) {\n validateBase64(s);\n return new Uint8Array(Array.prototype.slice.call(new Buffer(s, 'base64'), 0));\n };\n }\n\n } else {\n // Browsers\n\n util.encodeBase64 = function(arr) {\n var i, s = [], len = arr.length;\n for (i = 0; i < len; i++) s.push(String.fromCharCode(arr[i]));\n return btoa(s.join(''));\n };\n\n util.decodeBase64 = function(s) {\n validateBase64(s);\n var i, d = atob(s), b = new Uint8Array(d.length);\n for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i);\n return b;\n };\n\n }\n\n return util;\n\n}));\n","import nacl from 'tweetnacl-util';\nfunction encodeUint8Array(value, urlSafe) {\n const encoded = nacl.encodeBase64(value);\n if (!urlSafe) {\n return encoded;\n }\n return encodeURIComponent(encoded);\n}\nfunction decodeToUint8Array(value, urlSafe) {\n if (urlSafe) {\n value = decodeURIComponent(value);\n }\n return nacl.decodeBase64(value);\n}\nfunction encode(value, urlSafe = false) {\n let uint8Array;\n if (value instanceof Uint8Array) {\n uint8Array = value;\n }\n else {\n if (typeof value !== 'string') {\n value = JSON.stringify(value);\n }\n uint8Array = nacl.decodeUTF8(value);\n }\n return encodeUint8Array(uint8Array, urlSafe);\n}\nfunction decode(value, urlSafe = false) {\n const decodedUint8Array = decodeToUint8Array(value, urlSafe);\n return {\n toString() {\n return nacl.encodeUTF8(decodedUint8Array);\n },\n toObject() {\n try {\n return JSON.parse(nacl.encodeUTF8(decodedUint8Array));\n }\n catch (e) {\n return null;\n }\n },\n toUint8Array() {\n return decodedUint8Array;\n }\n };\n}\nexport const Base64 = {\n encode,\n decode\n};\n","export function isNode() {\n return (typeof process !== 'undefined' && process.versions != null && process.versions.node != null);\n}\n","export default {}","(function(nacl) {\n'use strict';\n\n// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n//\n// Implementation derived from TweetNaCl version 20140427.\n// See for details: http://tweetnacl.cr.yp.to/\n\nvar gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for (i = 0; i < init.length; i++) r[i] = init[i];\n return r;\n};\n\n// Pluggable, initialized in high-level API below.\nvar randombytes = function(/* x, n */) { throw new Error('no PRNG'); };\n\nvar _0 = new Uint8Array(16);\nvar _9 = new Uint8Array(32); _9[0] = 9;\n\nvar gf0 = gf(),\n gf1 = gf([1]),\n _121665 = gf([0xdb41, 1]),\n D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\nfunction ts64(x, i, h, l) {\n x[i] = (h >> 24) & 0xff;\n x[i+1] = (h >> 16) & 0xff;\n x[i+2] = (h >> 8) & 0xff;\n x[i+3] = h & 0xff;\n x[i+4] = (l >> 24) & 0xff;\n x[i+5] = (l >> 16) & 0xff;\n x[i+6] = (l >> 8) & 0xff;\n x[i+7] = l & 0xff;\n}\n\nfunction vn(x, xi, y, yi, n) {\n var i,d = 0;\n for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i];\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\nfunction crypto_verify_16(x, xi, y, yi) {\n return vn(x,xi,y,yi,16);\n}\n\nfunction crypto_verify_32(x, xi, y, yi) {\n return vn(x,xi,y,yi,32);\n}\n\nfunction core_salsa20(o, p, k, c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24,\n j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24,\n j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24,\n j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24,\n j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24,\n j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24,\n j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24,\n j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24;\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u<<7 | u>>>(32-7);\n u = x4 + x0 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x4 | 0;\n x12 ^= u<<13 | u>>>(32-13);\n u = x12 + x8 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x1 | 0;\n x9 ^= u<<7 | u>>>(32-7);\n u = x9 + x5 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x9 | 0;\n x1 ^= u<<13 | u>>>(32-13);\n u = x1 + x13 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x6 | 0;\n x14 ^= u<<7 | u>>>(32-7);\n u = x14 + x10 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x14 | 0;\n x6 ^= u<<13 | u>>>(32-13);\n u = x6 + x2 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x11 | 0;\n x3 ^= u<<7 | u>>>(32-7);\n u = x3 + x15 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x3 | 0;\n x11 ^= u<<13 | u>>>(32-13);\n u = x11 + x7 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n\n u = x0 + x3 | 0;\n x1 ^= u<<7 | u>>>(32-7);\n u = x1 + x0 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x1 | 0;\n x3 ^= u<<13 | u>>>(32-13);\n u = x3 + x2 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x4 | 0;\n x6 ^= u<<7 | u>>>(32-7);\n u = x6 + x5 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x6 | 0;\n x4 ^= u<<13 | u>>>(32-13);\n u = x4 + x7 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x9 | 0;\n x11 ^= u<<7 | u>>>(32-7);\n u = x11 + x10 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x11 | 0;\n x9 ^= u<<13 | u>>>(32-13);\n u = x9 + x8 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x14 | 0;\n x12 ^= u<<7 | u>>>(32-7);\n u = x12 + x15 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x12 | 0;\n x14 ^= u<<13 | u>>>(32-13);\n u = x14 + x13 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n }\n x0 = x0 + j0 | 0;\n x1 = x1 + j1 | 0;\n x2 = x2 + j2 | 0;\n x3 = x3 + j3 | 0;\n x4 = x4 + j4 | 0;\n x5 = x5 + j5 | 0;\n x6 = x6 + j6 | 0;\n x7 = x7 + j7 | 0;\n x8 = x8 + j8 | 0;\n x9 = x9 + j9 | 0;\n x10 = x10 + j10 | 0;\n x11 = x11 + j11 | 0;\n x12 = x12 + j12 | 0;\n x13 = x13 + j13 | 0;\n x14 = x14 + j14 | 0;\n x15 = x15 + j15 | 0;\n\n o[ 0] = x0 >>> 0 & 0xff;\n o[ 1] = x0 >>> 8 & 0xff;\n o[ 2] = x0 >>> 16 & 0xff;\n o[ 3] = x0 >>> 24 & 0xff;\n\n o[ 4] = x1 >>> 0 & 0xff;\n o[ 5] = x1 >>> 8 & 0xff;\n o[ 6] = x1 >>> 16 & 0xff;\n o[ 7] = x1 >>> 24 & 0xff;\n\n o[ 8] = x2 >>> 0 & 0xff;\n o[ 9] = x2 >>> 8 & 0xff;\n o[10] = x2 >>> 16 & 0xff;\n o[11] = x2 >>> 24 & 0xff;\n\n o[12] = x3 >>> 0 & 0xff;\n o[13] = x3 >>> 8 & 0xff;\n o[14] = x3 >>> 16 & 0xff;\n o[15] = x3 >>> 24 & 0xff;\n\n o[16] = x4 >>> 0 & 0xff;\n o[17] = x4 >>> 8 & 0xff;\n o[18] = x4 >>> 16 & 0xff;\n o[19] = x4 >>> 24 & 0xff;\n\n o[20] = x5 >>> 0 & 0xff;\n o[21] = x5 >>> 8 & 0xff;\n o[22] = x5 >>> 16 & 0xff;\n o[23] = x5 >>> 24 & 0xff;\n\n o[24] = x6 >>> 0 & 0xff;\n o[25] = x6 >>> 8 & 0xff;\n o[26] = x6 >>> 16 & 0xff;\n o[27] = x6 >>> 24 & 0xff;\n\n o[28] = x7 >>> 0 & 0xff;\n o[29] = x7 >>> 8 & 0xff;\n o[30] = x7 >>> 16 & 0xff;\n o[31] = x7 >>> 24 & 0xff;\n\n o[32] = x8 >>> 0 & 0xff;\n o[33] = x8 >>> 8 & 0xff;\n o[34] = x8 >>> 16 & 0xff;\n o[35] = x8 >>> 24 & 0xff;\n\n o[36] = x9 >>> 0 & 0xff;\n o[37] = x9 >>> 8 & 0xff;\n o[38] = x9 >>> 16 & 0xff;\n o[39] = x9 >>> 24 & 0xff;\n\n o[40] = x10 >>> 0 & 0xff;\n o[41] = x10 >>> 8 & 0xff;\n o[42] = x10 >>> 16 & 0xff;\n o[43] = x10 >>> 24 & 0xff;\n\n o[44] = x11 >>> 0 & 0xff;\n o[45] = x11 >>> 8 & 0xff;\n o[46] = x11 >>> 16 & 0xff;\n o[47] = x11 >>> 24 & 0xff;\n\n o[48] = x12 >>> 0 & 0xff;\n o[49] = x12 >>> 8 & 0xff;\n o[50] = x12 >>> 16 & 0xff;\n o[51] = x12 >>> 24 & 0xff;\n\n o[52] = x13 >>> 0 & 0xff;\n o[53] = x13 >>> 8 & 0xff;\n o[54] = x13 >>> 16 & 0xff;\n o[55] = x13 >>> 24 & 0xff;\n\n o[56] = x14 >>> 0 & 0xff;\n o[57] = x14 >>> 8 & 0xff;\n o[58] = x14 >>> 16 & 0xff;\n o[59] = x14 >>> 24 & 0xff;\n\n o[60] = x15 >>> 0 & 0xff;\n o[61] = x15 >>> 8 & 0xff;\n o[62] = x15 >>> 16 & 0xff;\n o[63] = x15 >>> 24 & 0xff;\n}\n\nfunction core_hsalsa20(o,p,k,c) {\n var j0 = c[ 0] & 0xff | (c[ 1] & 0xff)<<8 | (c[ 2] & 0xff)<<16 | (c[ 3] & 0xff)<<24,\n j1 = k[ 0] & 0xff | (k[ 1] & 0xff)<<8 | (k[ 2] & 0xff)<<16 | (k[ 3] & 0xff)<<24,\n j2 = k[ 4] & 0xff | (k[ 5] & 0xff)<<8 | (k[ 6] & 0xff)<<16 | (k[ 7] & 0xff)<<24,\n j3 = k[ 8] & 0xff | (k[ 9] & 0xff)<<8 | (k[10] & 0xff)<<16 | (k[11] & 0xff)<<24,\n j4 = k[12] & 0xff | (k[13] & 0xff)<<8 | (k[14] & 0xff)<<16 | (k[15] & 0xff)<<24,\n j5 = c[ 4] & 0xff | (c[ 5] & 0xff)<<8 | (c[ 6] & 0xff)<<16 | (c[ 7] & 0xff)<<24,\n j6 = p[ 0] & 0xff | (p[ 1] & 0xff)<<8 | (p[ 2] & 0xff)<<16 | (p[ 3] & 0xff)<<24,\n j7 = p[ 4] & 0xff | (p[ 5] & 0xff)<<8 | (p[ 6] & 0xff)<<16 | (p[ 7] & 0xff)<<24,\n j8 = p[ 8] & 0xff | (p[ 9] & 0xff)<<8 | (p[10] & 0xff)<<16 | (p[11] & 0xff)<<24,\n j9 = p[12] & 0xff | (p[13] & 0xff)<<8 | (p[14] & 0xff)<<16 | (p[15] & 0xff)<<24,\n j10 = c[ 8] & 0xff | (c[ 9] & 0xff)<<8 | (c[10] & 0xff)<<16 | (c[11] & 0xff)<<24,\n j11 = k[16] & 0xff | (k[17] & 0xff)<<8 | (k[18] & 0xff)<<16 | (k[19] & 0xff)<<24,\n j12 = k[20] & 0xff | (k[21] & 0xff)<<8 | (k[22] & 0xff)<<16 | (k[23] & 0xff)<<24,\n j13 = k[24] & 0xff | (k[25] & 0xff)<<8 | (k[26] & 0xff)<<16 | (k[27] & 0xff)<<24,\n j14 = k[28] & 0xff | (k[29] & 0xff)<<8 | (k[30] & 0xff)<<16 | (k[31] & 0xff)<<24,\n j15 = c[12] & 0xff | (c[13] & 0xff)<<8 | (c[14] & 0xff)<<16 | (c[15] & 0xff)<<24;\n\n var x0 = j0, x1 = j1, x2 = j2, x3 = j3, x4 = j4, x5 = j5, x6 = j6, x7 = j7,\n x8 = j8, x9 = j9, x10 = j10, x11 = j11, x12 = j12, x13 = j13, x14 = j14,\n x15 = j15, u;\n\n for (var i = 0; i < 20; i += 2) {\n u = x0 + x12 | 0;\n x4 ^= u<<7 | u>>>(32-7);\n u = x4 + x0 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x4 | 0;\n x12 ^= u<<13 | u>>>(32-13);\n u = x12 + x8 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x1 | 0;\n x9 ^= u<<7 | u>>>(32-7);\n u = x9 + x5 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x9 | 0;\n x1 ^= u<<13 | u>>>(32-13);\n u = x1 + x13 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x6 | 0;\n x14 ^= u<<7 | u>>>(32-7);\n u = x14 + x10 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x14 | 0;\n x6 ^= u<<13 | u>>>(32-13);\n u = x6 + x2 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x11 | 0;\n x3 ^= u<<7 | u>>>(32-7);\n u = x3 + x15 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x3 | 0;\n x11 ^= u<<13 | u>>>(32-13);\n u = x11 + x7 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n\n u = x0 + x3 | 0;\n x1 ^= u<<7 | u>>>(32-7);\n u = x1 + x0 | 0;\n x2 ^= u<<9 | u>>>(32-9);\n u = x2 + x1 | 0;\n x3 ^= u<<13 | u>>>(32-13);\n u = x3 + x2 | 0;\n x0 ^= u<<18 | u>>>(32-18);\n\n u = x5 + x4 | 0;\n x6 ^= u<<7 | u>>>(32-7);\n u = x6 + x5 | 0;\n x7 ^= u<<9 | u>>>(32-9);\n u = x7 + x6 | 0;\n x4 ^= u<<13 | u>>>(32-13);\n u = x4 + x7 | 0;\n x5 ^= u<<18 | u>>>(32-18);\n\n u = x10 + x9 | 0;\n x11 ^= u<<7 | u>>>(32-7);\n u = x11 + x10 | 0;\n x8 ^= u<<9 | u>>>(32-9);\n u = x8 + x11 | 0;\n x9 ^= u<<13 | u>>>(32-13);\n u = x9 + x8 | 0;\n x10 ^= u<<18 | u>>>(32-18);\n\n u = x15 + x14 | 0;\n x12 ^= u<<7 | u>>>(32-7);\n u = x12 + x15 | 0;\n x13 ^= u<<9 | u>>>(32-9);\n u = x13 + x12 | 0;\n x14 ^= u<<13 | u>>>(32-13);\n u = x14 + x13 | 0;\n x15 ^= u<<18 | u>>>(32-18);\n }\n\n o[ 0] = x0 >>> 0 & 0xff;\n o[ 1] = x0 >>> 8 & 0xff;\n o[ 2] = x0 >>> 16 & 0xff;\n o[ 3] = x0 >>> 24 & 0xff;\n\n o[ 4] = x5 >>> 0 & 0xff;\n o[ 5] = x5 >>> 8 & 0xff;\n o[ 6] = x5 >>> 16 & 0xff;\n o[ 7] = x5 >>> 24 & 0xff;\n\n o[ 8] = x10 >>> 0 & 0xff;\n o[ 9] = x10 >>> 8 & 0xff;\n o[10] = x10 >>> 16 & 0xff;\n o[11] = x10 >>> 24 & 0xff;\n\n o[12] = x15 >>> 0 & 0xff;\n o[13] = x15 >>> 8 & 0xff;\n o[14] = x15 >>> 16 & 0xff;\n o[15] = x15 >>> 24 & 0xff;\n\n o[16] = x6 >>> 0 & 0xff;\n o[17] = x6 >>> 8 & 0xff;\n o[18] = x6 >>> 16 & 0xff;\n o[19] = x6 >>> 24 & 0xff;\n\n o[20] = x7 >>> 0 & 0xff;\n o[21] = x7 >>> 8 & 0xff;\n o[22] = x7 >>> 16 & 0xff;\n o[23] = x7 >>> 24 & 0xff;\n\n o[24] = x8 >>> 0 & 0xff;\n o[25] = x8 >>> 8 & 0xff;\n o[26] = x8 >>> 16 & 0xff;\n o[27] = x8 >>> 24 & 0xff;\n\n o[28] = x9 >>> 0 & 0xff;\n o[29] = x9 >>> 8 & 0xff;\n o[30] = x9 >>> 16 & 0xff;\n o[31] = x9 >>> 24 & 0xff;\n}\n\nfunction crypto_core_salsa20(out,inp,k,c) {\n core_salsa20(out,inp,k,c);\n}\n\nfunction crypto_core_hsalsa20(out,inp,k,c) {\n core_hsalsa20(out,inp,k,c);\n}\n\nvar sigma = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]);\n // \"expand 32-byte k\"\n\nfunction crypto_stream_salsa20_xor(c,cpos,m,mpos,b,n,k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n for (i = 0; i < 16; i++) z[i] = 0;\n for (i = 0; i < 8; i++) z[i] = n[i];\n while (b >= 64) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < 64; i++) c[cpos+i] = m[mpos+i] ^ x[i];\n u = 1;\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < b; i++) c[cpos+i] = m[mpos+i] ^ x[i];\n }\n return 0;\n}\n\nfunction crypto_stream_salsa20(c,cpos,b,n,k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n for (i = 0; i < 16; i++) z[i] = 0;\n for (i = 0; i < 8; i++) z[i] = n[i];\n while (b >= 64) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < 64; i++) c[cpos+i] = x[i];\n u = 1;\n for (i = 8; i < 16; i++) {\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x,z,k,sigma);\n for (i = 0; i < b; i++) c[cpos+i] = x[i];\n }\n return 0;\n}\n\nfunction crypto_stream(c,cpos,d,n,k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s,n,k,sigma);\n var sn = new Uint8Array(8);\n for (var i = 0; i < 8; i++) sn[i] = n[i+16];\n return crypto_stream_salsa20(c,cpos,d,sn,s);\n}\n\nfunction crypto_stream_xor(c,cpos,m,mpos,d,n,k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s,n,k,sigma);\n var sn = new Uint8Array(8);\n for (var i = 0; i < 8; i++) sn[i] = n[i+16];\n return crypto_stream_salsa20_xor(c,cpos,m,mpos,d,sn,s);\n}\n\n/*\n* Port of Andrew Moon's Poly1305-donna-16. Public domain.\n* https://github.com/floodyberry/poly1305-donna\n*/\n\nvar poly1305 = function(key) {\n this.buffer = new Uint8Array(16);\n this.r = new Uint16Array(10);\n this.h = new Uint16Array(10);\n this.pad = new Uint16Array(8);\n this.leftover = 0;\n this.fin = 0;\n\n var t0, t1, t2, t3, t4, t5, t6, t7;\n\n t0 = key[ 0] & 0xff | (key[ 1] & 0xff) << 8; this.r[0] = ( t0 ) & 0x1fff;\n t1 = key[ 2] & 0xff | (key[ 3] & 0xff) << 8; this.r[1] = ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = key[ 4] & 0xff | (key[ 5] & 0xff) << 8; this.r[2] = ((t1 >>> 10) | (t2 << 6)) & 0x1f03;\n t3 = key[ 6] & 0xff | (key[ 7] & 0xff) << 8; this.r[3] = ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = key[ 8] & 0xff | (key[ 9] & 0xff) << 8; this.r[4] = ((t3 >>> 4) | (t4 << 12)) & 0x00ff;\n this.r[5] = ((t4 >>> 1)) & 0x1ffe;\n t5 = key[10] & 0xff | (key[11] & 0xff) << 8; this.r[6] = ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = key[12] & 0xff | (key[13] & 0xff) << 8; this.r[7] = ((t5 >>> 11) | (t6 << 5)) & 0x1f81;\n t7 = key[14] & 0xff | (key[15] & 0xff) << 8; this.r[8] = ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n this.r[9] = ((t7 >>> 5)) & 0x007f;\n\n this.pad[0] = key[16] & 0xff | (key[17] & 0xff) << 8;\n this.pad[1] = key[18] & 0xff | (key[19] & 0xff) << 8;\n this.pad[2] = key[20] & 0xff | (key[21] & 0xff) << 8;\n this.pad[3] = key[22] & 0xff | (key[23] & 0xff) << 8;\n this.pad[4] = key[24] & 0xff | (key[25] & 0xff) << 8;\n this.pad[5] = key[26] & 0xff | (key[27] & 0xff) << 8;\n this.pad[6] = key[28] & 0xff | (key[29] & 0xff) << 8;\n this.pad[7] = key[30] & 0xff | (key[31] & 0xff) << 8;\n};\n\npoly1305.prototype.blocks = function(m, mpos, bytes) {\n var hibit = this.fin ? 0 : (1 << 11);\n var t0, t1, t2, t3, t4, t5, t6, t7, c;\n var d0, d1, d2, d3, d4, d5, d6, d7, d8, d9;\n\n var h0 = this.h[0],\n h1 = this.h[1],\n h2 = this.h[2],\n h3 = this.h[3],\n h4 = this.h[4],\n h5 = this.h[5],\n h6 = this.h[6],\n h7 = this.h[7],\n h8 = this.h[8],\n h9 = this.h[9];\n\n var r0 = this.r[0],\n r1 = this.r[1],\n r2 = this.r[2],\n r3 = this.r[3],\n r4 = this.r[4],\n r5 = this.r[5],\n r6 = this.r[6],\n r7 = this.r[7],\n r8 = this.r[8],\n r9 = this.r[9];\n\n while (bytes >= 16) {\n t0 = m[mpos+ 0] & 0xff | (m[mpos+ 1] & 0xff) << 8; h0 += ( t0 ) & 0x1fff;\n t1 = m[mpos+ 2] & 0xff | (m[mpos+ 3] & 0xff) << 8; h1 += ((t0 >>> 13) | (t1 << 3)) & 0x1fff;\n t2 = m[mpos+ 4] & 0xff | (m[mpos+ 5] & 0xff) << 8; h2 += ((t1 >>> 10) | (t2 << 6)) & 0x1fff;\n t3 = m[mpos+ 6] & 0xff | (m[mpos+ 7] & 0xff) << 8; h3 += ((t2 >>> 7) | (t3 << 9)) & 0x1fff;\n t4 = m[mpos+ 8] & 0xff | (m[mpos+ 9] & 0xff) << 8; h4 += ((t3 >>> 4) | (t4 << 12)) & 0x1fff;\n h5 += ((t4 >>> 1)) & 0x1fff;\n t5 = m[mpos+10] & 0xff | (m[mpos+11] & 0xff) << 8; h6 += ((t4 >>> 14) | (t5 << 2)) & 0x1fff;\n t6 = m[mpos+12] & 0xff | (m[mpos+13] & 0xff) << 8; h7 += ((t5 >>> 11) | (t6 << 5)) & 0x1fff;\n t7 = m[mpos+14] & 0xff | (m[mpos+15] & 0xff) << 8; h8 += ((t6 >>> 8) | (t7 << 8)) & 0x1fff;\n h9 += ((t7 >>> 5)) | hibit;\n\n c = 0;\n\n d0 = c;\n d0 += h0 * r0;\n d0 += h1 * (5 * r9);\n d0 += h2 * (5 * r8);\n d0 += h3 * (5 * r7);\n d0 += h4 * (5 * r6);\n c = (d0 >>> 13); d0 &= 0x1fff;\n d0 += h5 * (5 * r5);\n d0 += h6 * (5 * r4);\n d0 += h7 * (5 * r3);\n d0 += h8 * (5 * r2);\n d0 += h9 * (5 * r1);\n c += (d0 >>> 13); d0 &= 0x1fff;\n\n d1 = c;\n d1 += h0 * r1;\n d1 += h1 * r0;\n d1 += h2 * (5 * r9);\n d1 += h3 * (5 * r8);\n d1 += h4 * (5 * r7);\n c = (d1 >>> 13); d1 &= 0x1fff;\n d1 += h5 * (5 * r6);\n d1 += h6 * (5 * r5);\n d1 += h7 * (5 * r4);\n d1 += h8 * (5 * r3);\n d1 += h9 * (5 * r2);\n c += (d1 >>> 13); d1 &= 0x1fff;\n\n d2 = c;\n d2 += h0 * r2;\n d2 += h1 * r1;\n d2 += h2 * r0;\n d2 += h3 * (5 * r9);\n d2 += h4 * (5 * r8);\n c = (d2 >>> 13); d2 &= 0x1fff;\n d2 += h5 * (5 * r7);\n d2 += h6 * (5 * r6);\n d2 += h7 * (5 * r5);\n d2 += h8 * (5 * r4);\n d2 += h9 * (5 * r3);\n c += (d2 >>> 13); d2 &= 0x1fff;\n\n d3 = c;\n d3 += h0 * r3;\n d3 += h1 * r2;\n d3 += h2 * r1;\n d3 += h3 * r0;\n d3 += h4 * (5 * r9);\n c = (d3 >>> 13); d3 &= 0x1fff;\n d3 += h5 * (5 * r8);\n d3 += h6 * (5 * r7);\n d3 += h7 * (5 * r6);\n d3 += h8 * (5 * r5);\n d3 += h9 * (5 * r4);\n c += (d3 >>> 13); d3 &= 0x1fff;\n\n d4 = c;\n d4 += h0 * r4;\n d4 += h1 * r3;\n d4 += h2 * r2;\n d4 += h3 * r1;\n d4 += h4 * r0;\n c = (d4 >>> 13); d4 &= 0x1fff;\n d4 += h5 * (5 * r9);\n d4 += h6 * (5 * r8);\n d4 += h7 * (5 * r7);\n d4 += h8 * (5 * r6);\n d4 += h9 * (5 * r5);\n c += (d4 >>> 13); d4 &= 0x1fff;\n\n d5 = c;\n d5 += h0 * r5;\n d5 += h1 * r4;\n d5 += h2 * r3;\n d5 += h3 * r2;\n d5 += h4 * r1;\n c = (d5 >>> 13); d5 &= 0x1fff;\n d5 += h5 * r0;\n d5 += h6 * (5 * r9);\n d5 += h7 * (5 * r8);\n d5 += h8 * (5 * r7);\n d5 += h9 * (5 * r6);\n c += (d5 >>> 13); d5 &= 0x1fff;\n\n d6 = c;\n d6 += h0 * r6;\n d6 += h1 * r5;\n d6 += h2 * r4;\n d6 += h3 * r3;\n d6 += h4 * r2;\n c = (d6 >>> 13); d6 &= 0x1fff;\n d6 += h5 * r1;\n d6 += h6 * r0;\n d6 += h7 * (5 * r9);\n d6 += h8 * (5 * r8);\n d6 += h9 * (5 * r7);\n c += (d6 >>> 13); d6 &= 0x1fff;\n\n d7 = c;\n d7 += h0 * r7;\n d7 += h1 * r6;\n d7 += h2 * r5;\n d7 += h3 * r4;\n d7 += h4 * r3;\n c = (d7 >>> 13); d7 &= 0x1fff;\n d7 += h5 * r2;\n d7 += h6 * r1;\n d7 += h7 * r0;\n d7 += h8 * (5 * r9);\n d7 += h9 * (5 * r8);\n c += (d7 >>> 13); d7 &= 0x1fff;\n\n d8 = c;\n d8 += h0 * r8;\n d8 += h1 * r7;\n d8 += h2 * r6;\n d8 += h3 * r5;\n d8 += h4 * r4;\n c = (d8 >>> 13); d8 &= 0x1fff;\n d8 += h5 * r3;\n d8 += h6 * r2;\n d8 += h7 * r1;\n d8 += h8 * r0;\n d8 += h9 * (5 * r9);\n c += (d8 >>> 13); d8 &= 0x1fff;\n\n d9 = c;\n d9 += h0 * r9;\n d9 += h1 * r8;\n d9 += h2 * r7;\n d9 += h3 * r6;\n d9 += h4 * r5;\n c = (d9 >>> 13); d9 &= 0x1fff;\n d9 += h5 * r4;\n d9 += h6 * r3;\n d9 += h7 * r2;\n d9 += h8 * r1;\n d9 += h9 * r0;\n c += (d9 >>> 13); d9 &= 0x1fff;\n\n c = (((c << 2) + c)) | 0;\n c = (c + d0) | 0;\n d0 = c & 0x1fff;\n c = (c >>> 13);\n d1 += c;\n\n h0 = d0;\n h1 = d1;\n h2 = d2;\n h3 = d3;\n h4 = d4;\n h5 = d5;\n h6 = d6;\n h7 = d7;\n h8 = d8;\n h9 = d9;\n\n mpos += 16;\n bytes -= 16;\n }\n this.h[0] = h0;\n this.h[1] = h1;\n this.h[2] = h2;\n this.h[3] = h3;\n this.h[4] = h4;\n this.h[5] = h5;\n this.h[6] = h6;\n this.h[7] = h7;\n this.h[8] = h8;\n this.h[9] = h9;\n};\n\npoly1305.prototype.finish = function(mac, macpos) {\n var g = new Uint16Array(10);\n var c, mask, f, i;\n\n if (this.leftover) {\n i = this.leftover;\n this.buffer[i++] = 1;\n for (; i < 16; i++) this.buffer[i] = 0;\n this.fin = 1;\n this.blocks(this.buffer, 0, 16);\n }\n\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n for (i = 2; i < 10; i++) {\n this.h[i] += c;\n c = this.h[i] >>> 13;\n this.h[i] &= 0x1fff;\n }\n this.h[0] += (c * 5);\n c = this.h[0] >>> 13;\n this.h[0] &= 0x1fff;\n this.h[1] += c;\n c = this.h[1] >>> 13;\n this.h[1] &= 0x1fff;\n this.h[2] += c;\n\n g[0] = this.h[0] + 5;\n c = g[0] >>> 13;\n g[0] &= 0x1fff;\n for (i = 1; i < 10; i++) {\n g[i] = this.h[i] + c;\n c = g[i] >>> 13;\n g[i] &= 0x1fff;\n }\n g[9] -= (1 << 13);\n\n mask = (c ^ 1) - 1;\n for (i = 0; i < 10; i++) g[i] &= mask;\n mask = ~mask;\n for (i = 0; i < 10; i++) this.h[i] = (this.h[i] & mask) | g[i];\n\n this.h[0] = ((this.h[0] ) | (this.h[1] << 13) ) & 0xffff;\n this.h[1] = ((this.h[1] >>> 3) | (this.h[2] << 10) ) & 0xffff;\n this.h[2] = ((this.h[2] >>> 6) | (this.h[3] << 7) ) & 0xffff;\n this.h[3] = ((this.h[3] >>> 9) | (this.h[4] << 4) ) & 0xffff;\n this.h[4] = ((this.h[4] >>> 12) | (this.h[5] << 1) | (this.h[6] << 14)) & 0xffff;\n this.h[5] = ((this.h[6] >>> 2) | (this.h[7] << 11) ) & 0xffff;\n this.h[6] = ((this.h[7] >>> 5) | (this.h[8] << 8) ) & 0xffff;\n this.h[7] = ((this.h[8] >>> 8) | (this.h[9] << 5) ) & 0xffff;\n\n f = this.h[0] + this.pad[0];\n this.h[0] = f & 0xffff;\n for (i = 1; i < 8; i++) {\n f = (((this.h[i] + this.pad[i]) | 0) + (f >>> 16)) | 0;\n this.h[i] = f & 0xffff;\n }\n\n mac[macpos+ 0] = (this.h[0] >>> 0) & 0xff;\n mac[macpos+ 1] = (this.h[0] >>> 8) & 0xff;\n mac[macpos+ 2] = (this.h[1] >>> 0) & 0xff;\n mac[macpos+ 3] = (this.h[1] >>> 8) & 0xff;\n mac[macpos+ 4] = (this.h[2] >>> 0) & 0xff;\n mac[macpos+ 5] = (this.h[2] >>> 8) & 0xff;\n mac[macpos+ 6] = (this.h[3] >>> 0) & 0xff;\n mac[macpos+ 7] = (this.h[3] >>> 8) & 0xff;\n mac[macpos+ 8] = (this.h[4] >>> 0) & 0xff;\n mac[macpos+ 9] = (this.h[4] >>> 8) & 0xff;\n mac[macpos+10] = (this.h[5] >>> 0) & 0xff;\n mac[macpos+11] = (this.h[5] >>> 8) & 0xff;\n mac[macpos+12] = (this.h[6] >>> 0) & 0xff;\n mac[macpos+13] = (this.h[6] >>> 8) & 0xff;\n mac[macpos+14] = (this.h[7] >>> 0) & 0xff;\n mac[macpos+15] = (this.h[7] >>> 8) & 0xff;\n};\n\npoly1305.prototype.update = function(m, mpos, bytes) {\n var i, want;\n\n if (this.leftover) {\n want = (16 - this.leftover);\n if (want > bytes)\n want = bytes;\n for (i = 0; i < want; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n bytes -= want;\n mpos += want;\n this.leftover += want;\n if (this.leftover < 16)\n return;\n this.blocks(this.buffer, 0, 16);\n this.leftover = 0;\n }\n\n if (bytes >= 16) {\n want = bytes - (bytes % 16);\n this.blocks(m, mpos, want);\n mpos += want;\n bytes -= want;\n }\n\n if (bytes) {\n for (i = 0; i < bytes; i++)\n this.buffer[this.leftover + i] = m[mpos+i];\n this.leftover += bytes;\n }\n};\n\nfunction crypto_onetimeauth(out, outpos, m, mpos, n, k) {\n var s = new poly1305(k);\n s.update(m, mpos, n);\n s.finish(out, outpos);\n return 0;\n}\n\nfunction crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x,0,m,mpos,n,k);\n return crypto_verify_16(h,hpos,x,0);\n}\n\nfunction crypto_secretbox(c,m,d,n,k) {\n var i;\n if (d < 32) return -1;\n crypto_stream_xor(c,0,m,0,d,n,k);\n crypto_onetimeauth(c, 16, c, 32, d - 32, c);\n for (i = 0; i < 16; i++) c[i] = 0;\n return 0;\n}\n\nfunction crypto_secretbox_open(m,c,d,n,k) {\n var i;\n var x = new Uint8Array(32);\n if (d < 32) return -1;\n crypto_stream(x,0,32,n,k);\n if (crypto_onetimeauth_verify(c, 16,c, 32,d - 32,x) !== 0) return -1;\n crypto_stream_xor(m,0,c,0,d,n,k);\n for (i = 0; i < 32; i++) m[i] = 0;\n return 0;\n}\n\nfunction set25519(r, a) {\n var i;\n for (i = 0; i < 16; i++) r[i] = a[i]|0;\n}\n\nfunction car25519(o) {\n var i, v, c = 1;\n for (i = 0; i < 16; i++) {\n v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c-1 + 37 * (c-1);\n}\n\nfunction sel25519(p, q, b) {\n var t, c = ~(b-1);\n for (var i = 0; i < 16; i++) {\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for (i = 0; i < 16; i++) t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for (j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1);\n m[i-1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1);\n b = (m[15]>>16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1-b);\n }\n for (i = 0; i < 16; i++) {\n o[2*i] = t[i] & 0xff;\n o[2*i+1] = t[i]>>8;\n }\n}\n\nfunction neq25519(a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n}\n\nfunction par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o, n) {\n var i;\n for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8);\n o[15] &= 0x7fff;\n}\n\nfunction A(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] + b[i];\n}\n\nfunction Z(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] - b[i];\n}\n\nfunction M(o, a, b) {\n var v, c,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n o[ 0] = t0;\n o[ 1] = t1;\n o[ 2] = t2;\n o[ 3] = t3;\n o[ 4] = t4;\n o[ 5] = t5;\n o[ 6] = t6;\n o[ 7] = t7;\n o[ 8] = t8;\n o[ 9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction S(o, a) {\n M(o, a, a);\n}\n\nfunction inv25519(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 253; a >= 0; a--) {\n S(c, c);\n if(a !== 2 && a !== 4) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction pow2523(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 250; a >= 0; a--) {\n S(c, c);\n if(a !== 1) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i;\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n for (i = 0; i < 31; i++) z[i] = n[i];\n z[31]=(n[31]&127)|64;\n z[0]&=248;\n unpack25519(x,p);\n for (i = 0; i < 16; i++) {\n b[i]=x[i];\n d[i]=a[i]=c[i]=0;\n }\n a[0]=d[0]=1;\n for (i=254; i>=0; --i) {\n r=(z[i>>>3]>>>(i&7))&1;\n sel25519(a,b,r);\n sel25519(c,d,r);\n A(e,a,c);\n Z(a,a,c);\n A(c,b,d);\n Z(b,b,d);\n S(d,e);\n S(f,a);\n M(a,c,a);\n M(c,b,e);\n A(e,a,c);\n Z(a,a,c);\n S(b,a);\n Z(c,d,f);\n M(a,c,_121665);\n A(a,a,d);\n M(c,c,a);\n M(a,d,f);\n M(d,b,x);\n S(b,e);\n sel25519(a,b,r);\n sel25519(c,d,r);\n }\n for (i = 0; i < 16; i++) {\n x[i+16]=a[i];\n x[i+32]=c[i];\n x[i+48]=b[i];\n x[i+64]=d[i];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32,x32);\n M(x16,x16,x32);\n pack25519(q,x16);\n return 0;\n}\n\nfunction crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n}\n\nfunction crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n}\n\nfunction crypto_box_beforenm(k, y, x) {\n var s = new Uint8Array(32);\n crypto_scalarmult(s, x, y);\n return crypto_core_hsalsa20(k, _0, s, sigma);\n}\n\nvar crypto_box_afternm = crypto_secretbox;\nvar crypto_box_open_afternm = crypto_secretbox_open;\n\nfunction crypto_box(c, m, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c, m, d, n, k);\n}\n\nfunction crypto_box_open(m, c, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c, d, n, k);\n}\n\nvar 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\nfunction crypto_hashblocks_hl(hh, hl, m, n) {\n var wh = new Int32Array(16), wl = new Int32Array(16),\n bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7,\n bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7,\n th, tl, i, j, h, l, a, b, c, d;\n\n var ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n var pos = 0;\n while (n >= 128) {\n for (i = 0; i < 16; i++) {\n j = 8 * i + pos;\n wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3];\n wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7];\n }\n for (i = 0; i < 80; i++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32))));\n l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i*2];\n l = K[i*2+1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i%16];\n l = wl[i%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32))));\n l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i%16 === 15) {\n for (j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j+9)%16];\n l = wl[(j+9)%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j+1)%16];\n tl = wl[(j+1)%16];\n h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j+14)%16];\n tl = wl[(j+14)%16];\n h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n n -= 128;\n }\n\n return n;\n}\n\nfunction crypto_hash(out, m, n) {\n var hh = new Int32Array(8),\n hl = new Int32Array(8),\n x = new Uint8Array(256),\n i, b = n;\n\n hh[0] = 0x6a09e667;\n hh[1] = 0xbb67ae85;\n hh[2] = 0x3c6ef372;\n hh[3] = 0xa54ff53a;\n hh[4] = 0x510e527f;\n hh[5] = 0x9b05688c;\n hh[6] = 0x1f83d9ab;\n hh[7] = 0x5be0cd19;\n\n hl[0] = 0xf3bcc908;\n hl[1] = 0x84caa73b;\n hl[2] = 0xfe94f82b;\n hl[3] = 0x5f1d36f1;\n hl[4] = 0xade682d1;\n hl[5] = 0x2b3e6c1f;\n hl[6] = 0xfb41bd6b;\n hl[7] = 0x137e2179;\n\n crypto_hashblocks_hl(hh, hl, m, n);\n n %= 128;\n\n for (i = 0; i < n; i++) x[i] = m[b-n+i];\n x[n] = 128;\n\n n = 256-128*(n<112?1:0);\n x[n-9] = 0;\n ts64(x, n-8, (b / 0x20000000) | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n);\n\n for (i = 0; i < 8; i++) ts64(out, 8*i, hh[i], hl[i]);\n\n return 0;\n}\n\nfunction add(p, q) {\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n}\n\nfunction cswap(p, q, b) {\n var i;\n for (i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r, p) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (i = 255; i >= 0; --i) {\n b = (s[(i/8)|0] >> (i&7)) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p, s) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nfunction crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()];\n var i;\n\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n scalarbase(p, d);\n pack(pk, p);\n\n for (i = 0; i < 32; i++) sk[i+32] = pk[i];\n return 0;\n}\n\nvar L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\n\nfunction modL(r, x) {\n var carry, i, j, k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) x[j] -= carry * L[j];\n for (i = 0; i < 32; i++) {\n x[i+1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r) {\n var x = new Float64Array(64), i;\n for (i = 0; i < 64; i++) x[i] = r[i];\n for (i = 0; i < 64; i++) r[i] = 0;\n modL(r, x);\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n var i, j, x = new Float64Array(64);\n var p = [gf(), gf(), gf(), gf()];\n\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n var smlen = n + 64;\n for (i = 0; i < n; i++) sm[64 + i] = m[i];\n for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i];\n\n crypto_hash(r, sm.subarray(32), n+32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n\n for (i = 32; i < 64; i++) sm[i] = sk[i];\n crypto_hash(h, sm, n + 64);\n reduce(h);\n\n for (i = 0; i < 64; i++) x[i] = 0;\n for (i = 0; i < 32; i++) x[i] = r[i];\n for (i = 0; i < 32; i++) {\n for (j = 0; j < 32; j++) {\n x[i+j] += h[i] * d[j];\n }\n }\n\n modL(sm.subarray(32), x);\n return smlen;\n}\n\nfunction unpackneg(r, p) {\n var t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n\n if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]);\n\n M(r[3], r[0], r[1]);\n return 0;\n}\n\nfunction crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32), h = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()];\n\n if (n < 64) return -1;\n\n if (unpackneg(q, pk)) return -1;\n\n for (i = 0; i < n; i++) m[i] = sm[i];\n for (i = 0; i < 32; i++) m[i+32] = pk[i];\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n\n n -= 64;\n if (crypto_verify_32(sm, 0, t, 0)) {\n for (i = 0; i < n; i++) m[i] = 0;\n return -1;\n }\n\n for (i = 0; i < n; i++) m[i] = sm[i + 64];\n return n;\n}\n\nvar crypto_secretbox_KEYBYTES = 32,\n crypto_secretbox_NONCEBYTES = 24,\n crypto_secretbox_ZEROBYTES = 32,\n crypto_secretbox_BOXZEROBYTES = 16,\n crypto_scalarmult_BYTES = 32,\n crypto_scalarmult_SCALARBYTES = 32,\n crypto_box_PUBLICKEYBYTES = 32,\n crypto_box_SECRETKEYBYTES = 32,\n crypto_box_BEFORENMBYTES = 32,\n crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES,\n crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES,\n crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES,\n crypto_sign_BYTES = 64,\n crypto_sign_PUBLICKEYBYTES = 32,\n crypto_sign_SECRETKEYBYTES = 64,\n crypto_sign_SEEDBYTES = 32,\n crypto_hash_BYTES = 64;\n\nnacl.lowlevel = {\n crypto_core_hsalsa20: crypto_core_hsalsa20,\n crypto_stream_xor: crypto_stream_xor,\n crypto_stream: crypto_stream,\n crypto_stream_salsa20_xor: crypto_stream_salsa20_xor,\n crypto_stream_salsa20: crypto_stream_salsa20,\n crypto_onetimeauth: crypto_onetimeauth,\n crypto_onetimeauth_verify: crypto_onetimeauth_verify,\n crypto_verify_16: crypto_verify_16,\n crypto_verify_32: crypto_verify_32,\n crypto_secretbox: crypto_secretbox,\n crypto_secretbox_open: crypto_secretbox_open,\n crypto_scalarmult: crypto_scalarmult,\n crypto_scalarmult_base: crypto_scalarmult_base,\n crypto_box_beforenm: crypto_box_beforenm,\n crypto_box_afternm: crypto_box_afternm,\n crypto_box: crypto_box,\n crypto_box_open: crypto_box_open,\n crypto_box_keypair: crypto_box_keypair,\n crypto_hash: crypto_hash,\n crypto_sign: crypto_sign,\n crypto_sign_keypair: crypto_sign_keypair,\n crypto_sign_open: crypto_sign_open,\n\n crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES: crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES: crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES: crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES: crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES,\n crypto_hash_BYTES: crypto_hash_BYTES,\n\n gf: gf,\n D: D,\n L: L,\n pack25519: pack25519,\n unpack25519: unpack25519,\n M: M,\n A: A,\n S: S,\n Z: Z,\n pow2523: pow2523,\n add: add,\n set25519: set25519,\n modL: modL,\n scalarmult: scalarmult,\n scalarbase: scalarbase,\n};\n\n/* High-level API */\n\nfunction checkLengths(k, n) {\n if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size');\n if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size');\n}\n\nfunction checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size');\n if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n}\n\nfunction checkArrayTypes() {\n for (var i = 0; i < arguments.length; i++) {\n if (!(arguments[i] instanceof Uint8Array))\n throw new TypeError('unexpected type, use Uint8Array');\n }\n}\n\nfunction cleanup(arr) {\n for (var i = 0; i < arr.length; i++) arr[i] = 0;\n}\n\nnacl.randomBytes = function(n) {\n var b = new Uint8Array(n);\n randombytes(b, n);\n return b;\n};\n\nnacl.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c = new Uint8Array(m.length);\n for (var i = 0; i < msg.length; i++) m[i+crypto_secretbox_ZEROBYTES] = msg[i];\n crypto_secretbox(c, m, m.length, nonce, key);\n return c.subarray(crypto_secretbox_BOXZEROBYTES);\n};\n\nnacl.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c.length);\n for (var i = 0; i < box.length; i++) c[i+crypto_secretbox_BOXZEROBYTES] = box[i];\n if (c.length < 32) return null;\n if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n};\n\nnacl.secretbox.keyLength = crypto_secretbox_KEYBYTES;\nnacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\nnacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n\nnacl.scalarMult = function(n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n};\n\nnacl.scalarMult.base = function(n) {\n checkArrayTypes(n);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n);\n return q;\n};\n\nnacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\nnacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n\nnacl.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox(msg, nonce, k);\n};\n\nnacl.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n};\n\nnacl.box.after = nacl.secretbox;\n\nnacl.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox.open(msg, nonce, k);\n};\n\nnacl.box.open.after = nacl.secretbox.open;\n\nnacl.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\nnacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\nnacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\nnacl.box.nonceLength = crypto_box_NONCEBYTES;\nnacl.box.overheadLength = nacl.secretbox.overheadLength;\n\nnacl.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n};\n\nnacl.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0) return null;\n var m = new Uint8Array(mlen);\n for (var i = 0; i < m.length; i++) m[i] = tmp[i];\n return m;\n};\n\nnacl.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i];\n return sig;\n};\n\nnacl.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES)\n throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i];\n for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i];\n return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0);\n};\n\nnacl.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i];\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES)\n throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for (var i = 0; i < 32; i++) sk[i] = seed[i];\n crypto_sign_keypair(pk, sk, true);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\nnacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\nnacl.sign.seedLength = crypto_sign_SEEDBYTES;\nnacl.sign.signatureLength = crypto_sign_BYTES;\n\nnacl.hash = function(msg) {\n checkArrayTypes(msg);\n var h = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h, msg, msg.length);\n return h;\n};\n\nnacl.hash.hashLength = crypto_hash_BYTES;\n\nnacl.verify = function(x, y) {\n checkArrayTypes(x, y);\n // Zero length arguments are considered not equal.\n if (x.length === 0 || y.length === 0) return false;\n if (x.length !== y.length) return false;\n return (vn(x, 0, y, 0, x.length) === 0) ? true : false;\n};\n\nnacl.setPRNG = function(fn) {\n randombytes = fn;\n};\n\n(function() {\n // Initialize PRNG if environment provides CSPRNG.\n // If not, methods calling randombytes will throw.\n var crypto = typeof self !== 'undefined' ? (self.crypto || self.msCrypto) : null;\n if (crypto && crypto.getRandomValues) {\n // Browsers.\n var QUOTA = 65536;\n nacl.setPRNG(function(x, n) {\n var i, v = new Uint8Array(n);\n for (i = 0; i < n; i += QUOTA) {\n crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n } else if (typeof require !== 'undefined') {\n // Node.js.\n crypto = require('crypto');\n if (crypto && crypto.randomBytes) {\n nacl.setPRNG(function(x, n) {\n var i, v = crypto.randomBytes(n);\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n }\n }\n})();\n\n})(typeof module !== 'undefined' && module.exports ? module.exports : (self.nacl = self.nacl || {}));\n","import { concatUint8Arrays, hexToByteArray, splitToUint8Arrays, toHexString, isNode } from '../utils';\nimport nacl from 'tweetnacl';\nif (isNode()) {\n try {\n eval(\"global.crypto = require('crypto').webcrypto\");\n }\n catch (err) { }\n}\nexport class SessionCrypto {\n constructor(keyPair) {\n this.nonceLength = 24;\n this.keyPair = keyPair ? this.createKeypairFromString(keyPair) : this.createKeypair();\n this.sessionId = toHexString(this.keyPair.publicKey);\n }\n createKeypair() {\n return nacl.box.keyPair();\n }\n createKeypairFromString(keyPair) {\n return {\n publicKey: hexToByteArray(keyPair.publicKey),\n secretKey: hexToByteArray(keyPair.secretKey)\n };\n }\n createNonce() {\n const buffer = new Uint8Array(this.nonceLength);\n return crypto.getRandomValues(buffer);\n }\n encrypt(message, receiverPublicKey) {\n const encodedMessage = new TextEncoder().encode(message);\n const nonce = this.createNonce();\n const encrypted = nacl.box(encodedMessage, nonce, receiverPublicKey, this.keyPair.secretKey);\n return concatUint8Arrays(nonce, encrypted);\n }\n decrypt(message, senderPublicKey) {\n const [nonce, internalMessage] = splitToUint8Arrays(message, this.nonceLength);\n const decrypted = nacl.box.open(internalMessage, nonce, senderPublicKey, this.keyPair.secretKey);\n if (!decrypted) {\n throw new Error(`Decryption error: \\n message: ${message.toString()} \\n sender pubkey: ${senderPublicKey.toString()} \\n keypair pubkey: ${this.keyPair.publicKey.toString()} \\n keypair secretkey: ${this.keyPair.secretKey.toString()}`);\n }\n return new TextDecoder().decode(decrypted);\n }\n stringifyKeypair() {\n return {\n publicKey: toHexString(this.keyPair.publicKey),\n secretKey: toHexString(this.keyPair.secretKey)\n };\n }\n}\n","import { BadRequestError, UnknownAppError, UserRejectsError } from \"../errors\";\nimport { ManifestContentErrorError } from \"../errors/protocol/events/connect/manifest-content-error.error\";\nimport { ManifestNotFoundError } from \"../errors/protocol/events/connect/manifest-not-found.error\";\nimport { UnknownError } from \"../errors/unknown.error\";\nimport { CONNECT_EVENT_ERROR_CODES } from '@tonconnect/protocol';\nconst connectEventErrorsCodes = {\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [CONNECT_EVENT_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [CONNECT_EVENT_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [CONNECT_EVENT_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_NOT_FOUND_ERROR]: ManifestNotFoundError,\n [CONNECT_EVENT_ERROR_CODES.MANIFEST_CONTENT_ERROR]: ManifestContentErrorError\n};\nclass ConnectErrorsParser {\n parseError(error) {\n let ErrorConstructor = UnknownError;\n if (error.code in connectEventErrorsCodes) {\n ErrorConstructor = connectEventErrorsCodes[error.code] || UnknownError;\n }\n return new ErrorConstructor(error.message);\n }\n}\nexport const connectErrorsParser = new ConnectErrorsParser();\n//# sourceMappingURL=connect-errors-parser.js.map","import { SEND_TRANSACTION_ERROR_CODES } from '@tonconnect/protocol';\nimport { BadRequestError, UnknownAppError, UserRejectsError } from \"../errors\";\nimport { UnknownError } from \"../errors/unknown.error\";\nimport { RpcParser } from \"./rpc-parser\";\nconst sendTransactionErrors = {\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_ERROR]: UnknownError,\n [SEND_TRANSACTION_ERROR_CODES.USER_REJECTS_ERROR]: UserRejectsError,\n [SEND_TRANSACTION_ERROR_CODES.BAD_REQUEST_ERROR]: BadRequestError,\n [SEND_TRANSACTION_ERROR_CODES.UNKNOWN_APP_ERROR]: UnknownAppError\n};\nclass SendTransactionParser extends RpcParser {\n convertToRpcRequest(request) {\n return {\n method: 'sendTransaction',\n params: [JSON.stringify(request)]\n };\n }\n parseAndThrowError(response) {\n let ErrorConstructor = UnknownError;\n if (response.error.code in sendTransactionErrors) {\n ErrorConstructor = sendTransactionErrors[response.error.code] || UnknownError;\n }\n throw new ErrorConstructor(response.error.message);\n }\n convertFromRpcResponse(rpcResponse) {\n return {\n boc: rpcResponse.result\n };\n }\n}\nexport const sendTransactionParser = new SendTransactionParser();\n//# sourceMappingURL=send-transaction-parser.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport class HttpBridgeGatewayStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = 'ton-connect-storage_http-bridge-gateway';\n }\n storeLastEventId(lastEventId) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.storage.setItem(this.storeKey, lastEventId);\n });\n }\n removeLastEventId() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getLastEventId() {\n return __awaiter(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n return stored;\n });\n }\n}\n//# sourceMappingURL=http-bridge-gateway-storage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Base64, isNode } from '@tonconnect/protocol';\nimport { TonConnectError } from \"../../errors\";\nimport { HttpBridgeGatewayStorage } from \"../../storage/http-bridge-gateway-storage\";\nimport { addPathToUrl } from \"../../utils/url\";\nif (isNode()) {\n try {\n eval(\"global.EventSource = require('eventsource')\");\n eval(\"global.fetch = require('node-fetch')\");\n }\n catch (err) {\n console.error(err);\n }\n}\nexport class BridgeGateway {\n constructor(storage, bridgeUrl, sessionId, listener, errorsListener) {\n this.bridgeUrl = bridgeUrl;\n this.sessionId = sessionId;\n this.listener = listener;\n this.errorsListener = errorsListener;\n this.ssePath = 'events';\n this.postPath = 'message';\n this.heartbeatMessage = 'heartbeat';\n this.defaultTtl = 300;\n this.isClosed = false;\n this.bridgeGatewayStorage = new HttpBridgeGatewayStorage(storage);\n }\n registerSession() {\n return __awaiter(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.ssePath));\n url.searchParams.append('client_id', this.sessionId);\n const lastEventId = yield this.bridgeGatewayStorage.getLastEventId();\n if (lastEventId) {\n url.searchParams.append('last_event_id', lastEventId);\n }\n this.eventSource = new EventSource(url.toString());\n return new Promise((resolve, reject) => {\n this.eventSource.onerror = reject;\n this.eventSource.onopen = () => {\n this.eventSource.onerror = this.errorsHandler.bind(this);\n this.eventSource.onmessage = this.messagesHandler.bind(this);\n resolve();\n };\n });\n });\n }\n send(message, receiver, ttl) {\n return __awaiter(this, void 0, void 0, function* () {\n const url = new URL(addPathToUrl(this.bridgeUrl, this.postPath));\n url.searchParams.append('client_id', this.sessionId);\n url.searchParams.append('to', receiver);\n url.searchParams.append('ttl', (ttl || this.defaultTtl).toString());\n yield fetch(url, {\n method: 'post',\n body: Base64.encode(message)\n });\n });\n }\n close() {\n var _a;\n this.isClosed = true;\n (_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.close();\n }\n errorsHandler(e) {\n var _a, _b;\n if (!this.isClosed) {\n if (((_a = this.eventSource) === null || _a === void 0 ? void 0 : _a.readyState) === EventSource.CLOSED) {\n this.eventSource.close();\n this.registerSession();\n return;\n }\n if (((_b = this.eventSource) === null || _b === void 0 ? void 0 : _b.readyState) === EventSource.CONNECTING) {\n console.debug('[TON_CONNET_SDK_ERROR]: Bridge error', JSON.stringify(e));\n return;\n }\n this.errorsListener(e);\n }\n }\n messagesHandler(e) {\n return __awaiter(this, void 0, void 0, function* () {\n if (e.data === this.heartbeatMessage) {\n return;\n }\n yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId);\n if (!this.isClosed) {\n let bridgeIncomingMessage;\n try {\n bridgeIncomingMessage = JSON.parse(e.data);\n }\n catch (e) {\n throw new TonConnectError(`Bridge message parse failed, message ${e.data}`);\n }\n this.listener(bridgeIncomingMessage);\n }\n });\n }\n}\n//# sourceMappingURL=bridge-gateway.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { SessionCrypto } from '@tonconnect/protocol';\nimport { TonConnectError } from \"../errors\";\nexport class BridgeConnectionStorage {\n constructor(storage) {\n this.storage = storage;\n this.storeKey = 'ton-connect-storage_bridge-connection';\n }\n storeConnection(connection) {\n return __awaiter(this, void 0, void 0, function* () {\n if (connection.type === 'injected') {\n return this.storage.setItem(this.storeKey, JSON.stringify(connection));\n }\n const rawSession = {\n sessionKeyPair: connection.session.sessionCrypto.stringifyKeypair(),\n walletPublicKey: connection.session.walletPublicKey,\n walletConnectionSource: connection.session.walletConnectionSource\n };\n const rawConnection = {\n type: 'http',\n connectEvent: connection.connectEvent,\n session: rawSession\n };\n return this.storage.setItem(this.storeKey, JSON.stringify(rawConnection));\n });\n }\n removeConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.storage.removeItem(this.storeKey);\n });\n }\n getConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n if (connection.type === 'injected') {\n return connection;\n }\n const sessionCrypto = new SessionCrypto(connection.session.sessionKeyPair);\n return {\n type: 'http',\n connectEvent: connection.connectEvent,\n session: {\n sessionCrypto,\n walletConnectionSource: connection.session.walletConnectionSource,\n walletPublicKey: connection.session.walletPublicKey\n }\n };\n });\n }\n getHttpConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError('Trying to read HTTP connection source while nothing is stored');\n }\n if (connection.type === 'injected') {\n throw new TonConnectError('Trying to read HTTP connection source while injected connection is stored');\n }\n return connection;\n });\n }\n getInjectedConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const connection = yield this.getConnection();\n if (!connection) {\n throw new TonConnectError('Trying to read Injected bridge connection source while nothing is stored');\n }\n if ((connection === null || connection === void 0 ? void 0 : connection.type) === 'http') {\n throw new TonConnectError('Trying to read Injected bridge connection source while HTTP connection is stored');\n }\n return connection;\n });\n }\n storedConnectionType() {\n return __awaiter(this, void 0, void 0, function* () {\n const stored = yield this.storage.getItem(this.storeKey);\n if (!stored) {\n return null;\n }\n const connection = JSON.parse(stored);\n return connection.type;\n });\n }\n}\n//# sourceMappingURL=bridge-connection-storage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Base64, SessionCrypto, hexToByteArray } from '@tonconnect/protocol';\nimport { TonConnectError } from \"../../errors/ton-connect.error\";\nimport { BridgeGateway } from \"./bridge-gateway\";\nimport { BridgeConnectionStorage } from \"../../storage/bridge-connection-storage\";\nimport { PROTOCOL_VERSION } from \"../../resources/protocol\";\nexport class BridgeProvider {\n constructor(storage, walletConnectionSource) {\n this.storage = storage;\n this.walletConnectionSource = walletConnectionSource;\n this.type = 'http';\n this.pendingRequests = new Map();\n this.nextRequestId = 0;\n this.session = null;\n this.bridge = null;\n this.listeners = [];\n this.connectionStorage = new BridgeConnectionStorage(storage);\n }\n static fromStorage(storage) {\n return __awaiter(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getHttpConnection();\n return new BridgeProvider(storage, connection.session.walletConnectionSource);\n });\n }\n connect(message) {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const sessionCrypto = new SessionCrypto();\n this.session = {\n sessionCrypto,\n walletConnectionSource: this.walletConnectionSource\n };\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n this.bridge.registerSession();\n return this.generateUniversalLink(message);\n }\n restoreConnection() {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n const storedConnection = yield this.connectionStorage.getHttpConnection();\n if (!storedConnection) {\n return;\n }\n this.session = storedConnection.session;\n this.bridge = new BridgeGateway(this.storage, this.walletConnectionSource.bridgeUrl, storedConnection.session.sessionCrypto.sessionId, this.gatewayListener.bind(this), this.gatewayErrorsListener.bind(this));\n yield this.bridge.registerSession();\n this.listeners.forEach(listener => listener(storedConnection.connectEvent));\n });\n }\n sendRequest(request) {\n return new Promise((resolve, reject) => {\n const id = this.nextRequestId;\n this.nextRequestId++;\n if (!this.bridge || !this.session || !('walletPublicKey' in this.session)) {\n throw new TonConnectError('Trying to send bridge request without session');\n }\n const encodedRequest = this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({}, request), { id })), hexToByteArray(this.session.walletPublicKey));\n this.bridge.send(encodedRequest, this.session.walletPublicKey).catch(reject);\n this.pendingRequests.set(id.toString(), resolve);\n });\n }\n closeConnection() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n this.session = null;\n this.bridge = null;\n }\n disconnect() {\n var _a;\n (_a = this.bridge) === null || _a === void 0 ? void 0 : _a.close();\n this.listeners = [];\n return this.removeBridgeAndSession();\n }\n listen(callback) {\n this.listeners.push(callback);\n return () => (this.listeners = this.listeners.filter(listener => listener !== callback));\n }\n gatewayListener(bridgeIncomingMessage) {\n return __awaiter(this, void 0, void 0, function* () {\n const walletMessage = JSON.parse(this.session.sessionCrypto.decrypt(Base64.decode(bridgeIncomingMessage.message).toUint8Array(), hexToByteArray(bridgeIncomingMessage.from)));\n if (!('event' in walletMessage)) {\n const id = walletMessage.id.toString();\n const resolve = this.pendingRequests.get(id);\n if (!resolve) {\n throw new TonConnectError(`Response id ${id} doesn't match any request's id`);\n }\n resolve(walletMessage);\n this.pendingRequests.delete(id);\n return;\n }\n if (walletMessage.event === 'connect') {\n yield this.updateSession(walletMessage, bridgeIncomingMessage.from);\n }\n if (walletMessage.event === 'disconnect') {\n yield this.removeBridgeAndSession();\n }\n this.listeners.forEach(listener => listener(walletMessage));\n });\n }\n gatewayErrorsListener(e) {\n return __awaiter(this, void 0, void 0, function* () {\n throw new TonConnectError(`Bridge error ${JSON.stringify(e)}`);\n });\n }\n updateSession(connectEvent, walletPublicKey) {\n return __awaiter(this, void 0, void 0, function* () {\n this.session = Object.assign(Object.assign({}, this.session), { walletPublicKey });\n const tonAddrItem = connectEvent.payload.items.find(item => item.name === 'ton_addr');\n const connectEventToSave = Object.assign(Object.assign({}, connectEvent), { payload: Object.assign(Object.assign({}, connectEvent.payload), { items: [tonAddrItem] }) });\n yield this.connectionStorage.storeConnection({\n type: 'http',\n session: this.session,\n connectEvent: connectEventToSave\n });\n });\n }\n removeBridgeAndSession() {\n return __awaiter(this, void 0, void 0, function* () {\n this.session = null;\n this.bridge = null;\n yield this.connectionStorage.removeConnection();\n });\n }\n generateUniversalLink(message) {\n const url = new URL(this.walletConnectionSource.universalLink);\n url.searchParams.append('v', PROTOCOL_VERSION.toString());\n url.searchParams.append('id', this.session.sessionCrypto.sessionId);\n url.searchParams.append('r', JSON.stringify(message));\n return url.toString();\n }\n}\n//# sourceMappingURL=bridge-provider.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { WalletNotInjectedError } from \"../../errors/wallet/wallet-not-injected.error\";\nimport { BridgeConnectionStorage } from \"../../storage/bridge-connection-storage\";\nimport { getWindow } from \"../../utils/web-api\";\nimport { PROTOCOL_VERSION } from \"../../resources/protocol\";\nexport class InjectedProvider {\n constructor(storage, injectedWalletKey) {\n this.injectedWalletKey = injectedWalletKey;\n this.type = 'injected';\n this.unsubscribeCallback = null;\n this.listenSubscriptions = false;\n this.listeners = [];\n const window = InjectedProvider.window;\n if (!InjectedProvider.isWindowContainsWallet(window, injectedWalletKey)) {\n throw new WalletNotInjectedError();\n }\n this.connectionStorage = new BridgeConnectionStorage(storage);\n this.injectedWallet = window[injectedWalletKey].tonconnect;\n }\n static fromStorage(storage) {\n return __awaiter(this, void 0, void 0, function* () {\n const bridgeConnectionStorage = new BridgeConnectionStorage(storage);\n const connection = yield bridgeConnectionStorage.getInjectedConnection();\n return new InjectedProvider(storage, connection.jsBridgeKey);\n });\n }\n static isWalletInjected(injectedWalletKey) {\n return InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey);\n }\n static isInsideWalletBrowser(injectedWalletKey) {\n if (InjectedProvider.isWindowContainsWallet(this.window, injectedWalletKey)) {\n return this.window[injectedWalletKey].tonconnect.isWalletBrowser;\n }\n return false;\n }\n static isWindowContainsWallet(window, injectedWalletKey) {\n return (!!window &&\n injectedWalletKey in window &&\n typeof window[injectedWalletKey] === 'object' &&\n 'tonconnect' in window[injectedWalletKey]);\n }\n connect(message) {\n this._connect(PROTOCOL_VERSION, message);\n }\n restoreConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.restoreConnection();\n if (connectEvent.event === 'connect') {\n this.makeSubscriptions();\n this.listeners.forEach(listener => listener(connectEvent));\n }\n else {\n yield this.connectionStorage.removeConnection();\n }\n }\n catch (e) {\n yield this.connectionStorage.removeConnection();\n console.error(e);\n }\n });\n }\n closeConnection() {\n if (this.listenSubscriptions) {\n this.injectedWallet.disconnect();\n }\n this.closeAllListeners();\n }\n disconnect() {\n this.closeAllListeners();\n this.injectedWallet.disconnect();\n return this.connectionStorage.removeConnection();\n }\n closeAllListeners() {\n var _a;\n this.listenSubscriptions = false;\n this.listeners = [];\n (_a = this.unsubscribeCallback) === null || _a === void 0 ? void 0 : _a.call(this);\n }\n listen(eventsCallback) {\n this.listeners.push(eventsCallback);\n return () => (this.listeners = this.listeners.filter(listener => listener !== eventsCallback));\n }\n sendRequest(request) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.injectedWallet.send(Object.assign(Object.assign({}, request), { id: '0' }));\n });\n }\n _connect(protocolVersion, message) {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const connectEvent = yield this.injectedWallet.connect(protocolVersion, message);\n if (connectEvent.event === 'connect') {\n yield this.updateSession();\n this.makeSubscriptions();\n }\n this.listeners.forEach(listener => listener(connectEvent));\n }\n catch (e) {\n console.debug(e);\n const connectEventError = {\n event: 'connect_error',\n payload: {\n code: 0,\n message: e === null || e === void 0 ? void 0 : e.toString()\n }\n };\n this.listeners.forEach(listener => listener(connectEventError));\n }\n });\n }\n makeSubscriptions() {\n this.listenSubscriptions = true;\n this.unsubscribeCallback = this.injectedWallet.listen(e => {\n if (this.listenSubscriptions) {\n this.listeners.forEach(listener => listener(e));\n }\n if (e.event === 'disconnect') {\n this.disconnect();\n }\n });\n }\n updateSession() {\n return this.connectionStorage.storeConnection({\n type: 'injected',\n jsBridgeKey: this.injectedWalletKey\n });\n }\n}\nInjectedProvider.window = getWindow();\n//# sourceMappingURL=injected-provider.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { LocalstorageNotFoundError } from \"../errors/storage/localstorage-not-found.error\";\nimport { getWindow } from \"../utils/web-api\";\nexport class DefaultStorage {\n constructor() {\n const window = getWindow();\n if (!(window === null || window === void 0 ? void 0 : window.localStorage)) {\n throw new LocalstorageNotFoundError();\n }\n this.window = window;\n }\n getItem(key) {\n return __awaiter(this, void 0, void 0, function* () {\n return Promise.resolve(this.window.localStorage.getItem(key));\n });\n }\n removeItem(key) {\n return __awaiter(this, void 0, void 0, function* () {\n this.window.localStorage.removeItem(key);\n return Promise.resolve();\n });\n }\n setItem(key, value) {\n this.window.localStorage.setItem(key, value);\n return Promise.resolve();\n }\n}\n//# sourceMappingURL=default-storage.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { FetchWalletsError } from \"./errors/wallets-manager/fetch-wallets.error\";\nimport { isWalletInfoInjected } from \"./models/wallet/wallet-info\";\nimport { InjectedProvider } from \"./provider/injected/injected-provider\";\nexport class WalletsListManager {\n constructor(walletsListSource) {\n this.walletsListCache = null;\n this.walletsListSource = 'https://raw.githubusercontent.com/ton-connect/wallets-list/main/wallets.json';\n if (walletsListSource) {\n this.walletsListSource = walletsListSource;\n }\n }\n getWallets() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.walletsListCache) {\n this.walletsListCache = this.fetchWalletsList();\n this.walletsListCache.catch(() => (this.walletsListCache = null));\n }\n return this.walletsListCache;\n });\n }\n getEmbeddedWallet() {\n return __awaiter(this, void 0, void 0, function* () {\n const walletsList = yield this.getWallets();\n const embeddedWallets = walletsList.filter(item => isWalletInfoInjected(item) && item.embedded);\n if (embeddedWallets.length !== 1) {\n return null;\n }\n return embeddedWallets[0];\n });\n }\n fetchWalletsList() {\n return __awaiter(this, void 0, void 0, function* () {\n try {\n const walletsResponse = yield fetch(this.walletsListSource);\n const walletsList = yield walletsResponse.json();\n if (!Array.isArray(walletsList) ||\n !walletsList.every(wallet => this.isCorrectWalletConfigDTO(wallet))) {\n throw new FetchWalletsError('Wrong wallets list format');\n }\n return this.walletConfigDTOListToWalletConfigList(walletsList);\n }\n catch (e) {\n throw new FetchWalletsError(e);\n }\n });\n }\n walletConfigDTOListToWalletConfigList(walletConfigDTO) {\n return walletConfigDTO.map(walletConfigDTO => {\n const walletConfig = {\n name: walletConfigDTO.name,\n imageUrl: walletConfigDTO.image,\n aboutUrl: walletConfigDTO.about_url,\n tondns: walletConfigDTO.tondns\n };\n walletConfigDTO.bridge.forEach(bridge => {\n if (bridge.type === 'sse') {\n walletConfig.bridgeUrl = bridge.url;\n walletConfig.universalLink =\n walletConfigDTO.universal_url;\n walletConfig.deepLink = walletConfigDTO.deepLink;\n }\n if (bridge.type === 'js') {\n const jsBridgeKey = bridge.key;\n walletConfig.jsBridgeKey = jsBridgeKey;\n walletConfig.injected =\n InjectedProvider.isWalletInjected(jsBridgeKey);\n walletConfig.embedded =\n InjectedProvider.isInsideWalletBrowser(jsBridgeKey);\n }\n });\n return walletConfig;\n });\n }\n isCorrectWalletConfigDTO(value) {\n if (!value || !(typeof value === 'object')) {\n return false;\n }\n const containsName = 'name' in value;\n const containsImage = 'image' in value;\n const containsAbout = 'about_url' in value;\n if (!containsName || !containsImage || !containsAbout) {\n return false;\n }\n if (!('bridge' in value) ||\n !Array.isArray(value.bridge) ||\n !value.bridge.length) {\n return false;\n }\n const bridge = value.bridge;\n if (bridge.some(item => !item || typeof item !== 'object' || !('type' in item))) {\n return false;\n }\n const sseBridge = bridge.find(item => item.type === 'sse');\n if (sseBridge) {\n if (!('url' in sseBridge) ||\n !sseBridge.url ||\n !value.universal_url) {\n return false;\n }\n }\n const jsBridge = bridge.find(item => item.type === 'js');\n if (jsBridge) {\n if (!('key' in jsBridge) || !jsBridge.key) {\n return false;\n }\n }\n return true;\n }\n}\n//# sourceMappingURL=wallets-list-manager.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { DappMetadataError } from \"./errors/dapp/dapp-metadata.error\";\nimport { ManifestContentErrorError } from \"./errors/protocol/events/connect/manifest-content-error.error\";\nimport { ManifestNotFoundError } from \"./errors/protocol/events/connect/manifest-not-found.error\";\nimport { TonConnectError } from \"./errors/ton-connect.error\";\nimport { WalletAlreadyConnectedError } from \"./errors/wallet/wallet-already-connected.error\";\nimport { WalletNotConnectedError } from \"./errors/wallet/wallet-not-connected.error\";\nimport { WalletNotSupportFeatureError } from \"./errors/wallet/wallet-not-support-feature.error\";\nimport { isWalletConnectionSourceJS } from \"./models/wallet/wallet-connection-source\";\nimport { connectErrorsParser } from \"./parsers/connect-errors-parser\";\nimport { sendTransactionParser } from \"./parsers/send-transaction-parser\";\nimport { BridgeProvider } from \"./provider/bridge/bridge-provider\";\nimport { InjectedProvider } from \"./provider/injected/injected-provider\";\nimport { BridgeConnectionStorage } from \"./storage/bridge-connection-storage\";\nimport { DefaultStorage } from \"./storage/default-storage\";\nimport { getWebPageManifest } from \"./utils/web-api\";\nimport { WalletsListManager } from \"./wallets-list-manager\";\nexport class TonConnect {\n constructor(options) {\n this.walletsList = new WalletsListManager();\n this._wallet = null;\n this.provider = null;\n this.statusChangeSubscriptions = [];\n this.statusChangeErrorSubscriptions = [];\n this.dappSettings = {\n manifestUrl: (options === null || options === void 0 ? void 0 : options.manifestUrl) || getWebPageManifest(),\n storage: (options === null || options === void 0 ? void 0 : options.storage) || new DefaultStorage()\n };\n this.walletsList = new WalletsListManager(options === null || options === void 0 ? void 0 : options.walletsListSource);\n if (!this.dappSettings.manifestUrl) {\n throw new DappMetadataError('Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest');\n }\n this.bridgeConnectionStorage = new BridgeConnectionStorage(this.dappSettings.storage);\n }\n /**\n * Returns available wallets list.\n */\n static getWallets() {\n return this.walletsList.getWallets();\n }\n /**\n * Shows if the wallet is connected right now.\n */\n get connected() {\n return this._wallet !== null;\n }\n /**\n * Current connected account or null if no account is connected.\n */\n get account() {\n var _a;\n return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.account) || null;\n }\n /**\n * Current connected wallet or null if no account is connected.\n */\n get wallet() {\n return this._wallet;\n }\n set wallet(value) {\n this._wallet = value;\n this.statusChangeSubscriptions.forEach(callback => callback(this._wallet));\n }\n /**\n * Returns available wallets list.\n */\n getWallets() {\n return this.walletsList.getWallets();\n }\n /**\n * Allows to subscribe to connection status changes and handle connection errors.\n * @param callback will be called after connections status changes with actual wallet or null.\n * @param errorsHandler (optional) will be called with some instance of TonConnectError when connect error is received.\n * @returns unsubscribe callback.\n */\n onStatusChange(callback, errorsHandler) {\n this.statusChangeSubscriptions.push(callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions.push(errorsHandler);\n }\n return () => {\n this.statusChangeSubscriptions = this.statusChangeSubscriptions.filter(item => item !== callback);\n if (errorsHandler) {\n this.statusChangeErrorSubscriptions = this.statusChangeErrorSubscriptions.filter(item => item !== errorsHandler);\n }\n };\n }\n connect(wallet, request) {\n var _a;\n if (this.connected) {\n throw new WalletAlreadyConnectedError();\n }\n (_a = this.provider) === null || _a === void 0 ? void 0 : _a.closeConnection();\n this.provider = this.createProvider(wallet);\n return this.provider.connect(this.createConnectRequest(request));\n }\n /**\n * Try to restore existing session and reconnect to the corresponding wallet. Call it immediately when your app is loaded.\n */\n restoreConnection() {\n return __awaiter(this, void 0, void 0, function* () {\n const [bridgeConnectionType, embeddedWallet] = yield Promise.all([\n this.bridgeConnectionStorage.storedConnectionType(),\n this.walletsList.getEmbeddedWallet()\n ]);\n switch (bridgeConnectionType) {\n case 'http':\n this.provider = yield BridgeProvider.fromStorage(this.dappSettings.storage);\n break;\n case 'injected':\n this.provider = yield InjectedProvider.fromStorage(this.dappSettings.storage);\n break;\n default:\n if (embeddedWallet) {\n this.provider = yield this.createProvider(embeddedWallet);\n }\n else {\n return;\n }\n }\n this.provider.listen(this.walletEventsListener.bind(this));\n return this.provider.restoreConnection();\n });\n }\n /**\n * Asks connected wallet to sign and send the transaction.\n * @param transaction transaction to send.\n * @returns signed transaction boc that allows you to find the transaction in the blockchain.\n * If user rejects transaction, method will throw the corresponding error.\n */\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this.checkConnection();\n this.checkFeatureSupport('SendTransaction');\n const { validUntil } = transaction, tx = __rest(transaction, [\"validUntil\"]);\n const response = yield this.provider.sendRequest(sendTransactionParser.convertToRpcRequest(Object.assign(Object.assign({}, tx), { valid_until: validUntil })));\n if (sendTransactionParser.isError(response)) {\n return sendTransactionParser.parseAndThrowError(response);\n }\n return sendTransactionParser.convertFromRpcResponse(response);\n });\n }\n /**\n * Disconnect form thw connected wallet and drop current session.\n */\n disconnect() {\n return __awaiter(this, void 0, void 0, function* () {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n yield this.provider.disconnect();\n this.onWalletDisconnected();\n });\n }\n createProvider(wallet) {\n let provider;\n if (isWalletConnectionSourceJS(wallet)) {\n provider = new InjectedProvider(this.dappSettings.storage, wallet.jsBridgeKey);\n }\n else {\n provider = new BridgeProvider(this.dappSettings.storage, wallet);\n }\n provider.listen(this.walletEventsListener.bind(this));\n return provider;\n }\n walletEventsListener(e) {\n switch (e.event) {\n case 'connect':\n this.onWalletConnected(e.payload);\n break;\n case 'connect_error':\n this.onWalletConnectError(e.payload);\n break;\n case 'disconnect':\n this.onWalletDisconnected();\n }\n }\n onWalletConnected(connectEvent) {\n const tonAccountItem = connectEvent.items.find(item => item.name === 'ton_addr');\n const tonProofItem = connectEvent.items.find(item => item.name === 'ton_proof');\n if (!tonAccountItem) {\n throw new TonConnectError('ton_addr connection item was not found');\n }\n const wallet = {\n device: connectEvent.device,\n provider: this.provider.type,\n account: {\n address: tonAccountItem.address,\n chain: tonAccountItem.network,\n walletStateInit: tonAccountItem.walletStateInit\n }\n };\n if (tonProofItem) {\n wallet.connectItems = {\n tonProof: tonProofItem\n };\n }\n this.wallet = wallet;\n }\n onWalletConnectError(connectEventError) {\n const error = connectErrorsParser.parseError(connectEventError);\n this.statusChangeErrorSubscriptions.forEach(errorsHandler => errorsHandler(error));\n console.debug(error);\n if (error instanceof ManifestNotFoundError || error instanceof ManifestContentErrorError) {\n console.error(error);\n throw error;\n }\n }\n onWalletDisconnected() {\n this.wallet = null;\n }\n checkConnection() {\n if (!this.connected) {\n throw new WalletNotConnectedError();\n }\n }\n checkFeatureSupport(feature) {\n var _a;\n if (!((_a = this.wallet) === null || _a === void 0 ? void 0 : _a.device.features.includes(feature))) {\n throw new WalletNotSupportFeatureError();\n }\n }\n createConnectRequest(request) {\n const items = [\n {\n name: 'ton_addr'\n }\n ];\n if (request === null || request === void 0 ? void 0 : request.tonProof) {\n items.push({\n name: 'ton_proof',\n payload: request.tonProof\n });\n }\n return {\n manifestUrl: this.dappSettings.manifestUrl,\n items\n };\n }\n}\nTonConnect.walletsList = new WalletsListManager();\n/**\n * Check if specified wallet is injected and available to use with the app.\n * @param walletJSKey target wallet's js bridge key.\n */\nTonConnect.isWalletInjected = (walletJSKey) => InjectedProvider.isWalletInjected(walletJSKey);\n/**\n * Check if the app is opened inside specified wallet's browser.\n * @param walletJSKey target wallet's js bridge key.\n */\nTonConnect.isInsideWalletBrowser = (walletJSKey) => InjectedProvider.isInsideWalletBrowser(walletJSKey);\n//# sourceMappingURL=ton-connect.js.map","import { WrongAddressError, ParseHexError } from \"../errors\";\nimport { Base64 } from '@tonconnect/protocol';\nconst bounceableTag = 0x11;\nconst testOnlyTag = 0x80;\n/**\n * Converts raw TON address to bounceable user-friendly format. [See details]{@link https://ton.org/docs/learn/overviews/addresses#user-friendly-address}\n * @param hexAddress raw TON address formatted as \"0:<hex string without 0x>\".\n * @param [testOnly=false] convert address to test-only form. [See details]{@link https://ton.org/docs/learn/overviews/addresses#user-friendly-address}\n */\nexport function toUserFriendlyAddress(hexAddress, testOnly = false) {\n const { wc, hex } = parseHexAddress(hexAddress);\n let tag = bounceableTag;\n if (testOnly) {\n tag |= testOnlyTag;\n }\n const addr = new Int8Array(34);\n addr[0] = tag;\n addr[1] = wc;\n addr.set(hex, 2);\n const addressWithChecksum = new Uint8Array(36);\n addressWithChecksum.set(addr);\n addressWithChecksum.set(crc16(addr), 34);\n let addressBase64 = Base64.encode(addressWithChecksum);\n return addressBase64.replace(/\\+/g, '-').replace(/\\//g, '_');\n}\nfunction parseHexAddress(hexAddress) {\n if (!hexAddress.includes(':')) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\".`);\n }\n const parts = hexAddress.split(':');\n if (parts.length !== 2) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Address must include \":\" only once.`);\n }\n const wc = parseInt(parts[0]);\n if (wc !== 0 && wc !== -1) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. WC must be eq 0 or -1, but ${wc} received.`);\n }\n const hex = parts[1];\n if ((hex === null || hex === void 0 ? void 0 : hex.length) !== 64) {\n throw new WrongAddressError(`Wrong address ${hexAddress}. Hex part must be 64bytes length, but ${hex === null || hex === void 0 ? void 0 : hex.length} received.`);\n }\n return {\n wc,\n hex: hexToBytes(hex)\n };\n}\nfunction crc16(data) {\n const poly = 0x1021;\n let reg = 0;\n const message = new Uint8Array(data.length + 2);\n message.set(data);\n for (let byte of message) {\n let mask = 0x80;\n while (mask > 0) {\n reg <<= 1;\n if (byte & mask) {\n reg += 1;\n }\n mask >>= 1;\n if (reg > 0xffff) {\n reg &= 0xffff;\n reg ^= poly;\n }\n }\n }\n return new Uint8Array([Math.floor(reg / 256), reg % 256]);\n}\nconst toByteMap = {};\nfor (let ord = 0; ord <= 0xff; ord++) {\n let s = ord.toString(16);\n if (s.length < 2) {\n s = '0' + s;\n }\n toByteMap[s] = ord;\n}\nfunction hexToBytes(hex) {\n hex = hex.toLowerCase();\n const length2 = hex.length;\n if (length2 % 2 !== 0) {\n throw new ParseHexError('Hex string must have length a multiple of 2: ' + hex);\n }\n const length = length2 / 2;\n const result = new Uint8Array(length);\n for (let i = 0; i < length; i++) {\n const doubled = i * 2;\n const hexSubstring = hex.substring(doubled, doubled + 2);\n if (!toByteMap.hasOwnProperty(hexSubstring)) {\n throw new ParseHexError('Invalid hex character: ' + hexSubstring);\n }\n result[i] = toByteMap[hexSubstring];\n }\n return result;\n}\n//# sourceMappingURL=address.js.map","import { useTonWallet } from './useTonWallet';\nimport { CHAIN, toUserFriendlyAddress } from '@tonconnect/sdk';\n\n/**\n * Use it to get user's current ton wallet address. If wallet is not connected hook will return empty string.\n * @param [userFriendly=true] allows to choose format of the address.\n */\nexport function useTonAddress(userFriendly = true): string {\n const wallet = useTonWallet();\n\n if (wallet) {\n return userFriendly\n ? toUserFriendlyAddress(wallet.account.address, wallet.account.chain === CHAIN.TESTNET)\n : wallet.account.address;\n } else {\n return '';\n }\n}\n"],"names":["require$$0","l","n","p","c","a","e","h","REACT_ELEMENT_TYPE","ReactDebugCurrentFrame","assign","s","self","i","children","jsx","module","require$$1","TonConnectError","ManifestContentErrorError","ManifestNotFoundError","UserRejectsError","BadRequestError","UnknownAppError","WrongAddressError","ParseHexError","UnknownError","CONNECT_EVENT_ERROR_CODES","CONNECT_ITEM_ERROR_CODES","SEND_TRANSACTION_ERROR_CODES","CHAIN","naclUtil","encodeUint8Array","decodeToUint8Array","encode","decode","Base64","commonjsRequire","naclFast","__viteBrowserExternal","__viteBrowserExternal$1","nacl","bounceableTag","testOnlyTag","toUserFriendlyAddress","parseHexAddress","crc16","hexToBytes","toByteMap","isNode","tonConnectUI","exports","buttonRootId","createContext","memo","useContext","className","style","useEffect","useState","__spreadValues","this","o","u","t","crypto","require","P"],"mappings":"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K,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,KAAK,GAAG,MAAM,OAAO,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,GAAG,MAAM,OAAO,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ;AACxzC,YAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK;AAChK,iBAAS,KAAK,GAAG,KAAK,IAAI,MAAM,GAAG;AACjC,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,KAAK;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,KAAK;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,MAAM,KAAK;AAChB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,MAAM;AACjB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,KAAK;AAChB,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,MAAM,KAAK;AAChB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,KAAK,OAAO,KAAK;AAAA,QAC/B;AACD,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,aAAK,KAAK,KAAK;AACf,cAAM,MAAM,MAAM;AAClB,cAAM,MAAM,MAAM;AAClB,cAAM,MAAM,MAAM;AAClB,cAAM,MAAM,MAAM;AAClB,cAAM,MAAM,MAAM;AAClB,cAAM,MAAM,MAAM;AAClB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AAAA,MACvB;AACD,eAAS,cAAc,IAAI,IAAI,GAAG,IAAI;AACpC,YAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAM,EAAE,KAAK,QAAQ,IAAI,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,KAAK,GAAG,MAAM,OAAO,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,EAAE,MAAM,OAAO,EAAE,MAAM,QAAQ,KAAK,EAAE,MAAM,QAAQ,MAAM,EAAE,MAAM,QAAQ,IAAI,MAAM,GAAG,MAAM,OAAO,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,QAAQ,MAAM,GAAG,MAAM,QAAQ;AACxzC,YAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK;AAChK,iBAAS,KAAK,GAAG,KAAK,IAAI,MAAM,GAAG;AACjC,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,KAAK;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,KAAK;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,MAAM,KAAK;AAChB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,MAAM;AACjB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,KAAK;AAChB,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,MAAM,KAAK;AAChB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,gBAAM,MAAM,IAAI,OAAO,KAAK;AAC5B,eAAK,KAAK,MAAM;AAChB,gBAAM,MAAM,KAAK,OAAO,KAAK;AAC7B,eAAK,KAAK,KAAK;AACf,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,IAAI,OAAO,KAAK;AAC7B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,KAAK,OAAO,KAAK;AAC9B,eAAK,MAAM,MAAM;AACjB,iBAAO,MAAM,KAAK,OAAO,KAAK;AAAA,QAC/B;AACD,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,IAAI;AACnB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,OAAO,KAAK;AACpB,WAAG,KAAK,QAAQ,IAAI;AACpB,WAAG,KAAK,QAAQ,IAAI;AACpB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,IAAI;AACrB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,QAAQ,KAAK;AACtB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,IAAI;AACpB,WAAG,MAAM,OAAO,KAAK;AACrB,WAAG,MAAM,OAAO,KAAK;AAAA,MACtB;AACD,eAAS,oBAAoB,KAAK,KAAK,GAAG,IAAI;AAC5C,qBAAa,KAAK,KAAK,GAAG,EAAE;AAAA,MAC7B;AACD,eAAS,qBAAqB,KAAK,KAAK,GAAG,IAAI;AAC7C,sBAAc,KAAK,KAAK,GAAG,EAAE;AAAA,MAC9B;AACD,UAAI,QAAQ,IAAI,WAAW,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC;AACpG,eAAS,0BAA0B,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG;AAC9D,YAAI,IAAI,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI,WAAW,EAAE;AACjD,YAAI,IAAI;AACR,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,YAAE,MAAM;AACV,aAAK,KAAK,GAAG,KAAK,GAAG;AACnB,YAAE,MAAM,GAAG;AACb,eAAO,KAAK,IAAI;AACd,8BAAoB,GAAG,GAAG,GAAG,KAAK;AAClC,eAAK,KAAK,GAAG,KAAK,IAAI;AACpB,eAAG,OAAO,MAAM,EAAE,OAAO,MAAM,EAAE;AACnC,eAAK;AACL,eAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,iBAAK,MAAM,EAAE,MAAM,OAAO;AAC1B,cAAE,MAAM,KAAK;AACb,oBAAQ;AAAA,UACT;AACD,eAAK;AACL,kBAAQ;AACR,kBAAQ;AAAA,QACT;AACD,YAAI,IAAI,GAAG;AACT,8BAAoB,GAAG,GAAG,GAAG,KAAK;AAClC,eAAK,KAAK,GAAG,KAAK,GAAG;AACnB,eAAG,OAAO,MAAM,EAAE,OAAO,MAAM,EAAE;AAAA,QACpC;AACD,eAAO;AAAA,MACR;AACD,eAAS,sBAAsB,IAAI,MAAM,GAAG,IAAI,GAAG;AACjD,YAAI,IAAI,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI,WAAW,EAAE;AACjD,YAAI,IAAI;AACR,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,YAAE,MAAM;AACV,aAAK,KAAK,GAAG,KAAK,GAAG;AACnB,YAAE,MAAM,GAAG;AACb,eAAO,KAAK,IAAI;AACd,8BAAoB,GAAG,GAAG,GAAG,KAAK;AAClC,eAAK,KAAK,GAAG,KAAK,IAAI;AACpB,eAAG,OAAO,MAAM,EAAE;AACpB,eAAK;AACL,eAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,iBAAK,MAAM,EAAE,MAAM,OAAO;AAC1B,cAAE,MAAM,KAAK;AACb,oBAAQ;AAAA,UACT;AACD,eAAK;AACL,kBAAQ;AAAA,QACT;AACD,YAAI,IAAI,GAAG;AACT,8BAAoB,GAAG,GAAG,GAAG,KAAK;AAClC,eAAK,KAAK,GAAG,KAAK,GAAG;AACnB,eAAG,OAAO,MAAM,EAAE;AAAA,QACrB;AACD,eAAO;AAAA,MACR;AACD,eAAS,cAAc,IAAI,MAAM,GAAG,IAAI,GAAG;AACzC,YAAI,KAAK,IAAI,WAAW,EAAE;AAC1B,6BAAqB,IAAI,IAAI,GAAG,KAAK;AACrC,YAAI,KAAK,IAAI,WAAW,CAAC;AACzB,iBAAS,KAAK,GAAG,KAAK,GAAG;AACvB,aAAG,MAAM,GAAG,KAAK;AACnB,eAAO,sBAAsB,IAAI,MAAM,GAAG,IAAI,EAAE;AAAA,MACjD;AACD,eAAS,kBAAkB,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG;AACtD,YAAI,KAAK,IAAI,WAAW,EAAE;AAC1B,6BAAqB,IAAI,IAAI,GAAG,KAAK;AACrC,YAAI,KAAK,IAAI,WAAW,CAAC;AACzB,iBAAS,KAAK,GAAG,KAAK,GAAG;AACvB,aAAG,MAAM,GAAG,KAAK;AACnB,eAAO,0BAA0B,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE;AAAA,MAC9D;AACD,UAAI,WAAW,SAAS,KAAK;AAC3B,aAAK,SAAS,IAAI,WAAW,EAAE;AAC/B,aAAK,IAAI,IAAI,YAAY,EAAE;AAC3B,aAAK,IAAI,IAAI,YAAY,EAAE;AAC3B,aAAK,MAAM,IAAI,YAAY,CAAC;AAC5B,aAAK,WAAW;AAChB,aAAK,MAAM;AACX,YAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAChC,aAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ;AACtC,aAAK,EAAE,KAAK,KAAK;AACjB,aAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ;AACtC,aAAK,EAAE,MAAM,OAAO,KAAK,MAAM,KAAK;AACpC,aAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ;AACtC,aAAK,EAAE,MAAM,OAAO,KAAK,MAAM,KAAK;AACpC,aAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ;AACtC,aAAK,EAAE,MAAM,OAAO,IAAI,MAAM,KAAK;AACnC,aAAK,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ;AACtC,aAAK,EAAE,MAAM,OAAO,IAAI,MAAM,MAAM;AACpC,aAAK,EAAE,KAAK,OAAO,IAAI;AACvB,aAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACxC,aAAK,EAAE,MAAM,OAAO,KAAK,MAAM,KAAK;AACpC,aAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACxC,aAAK,EAAE,MAAM,OAAO,KAAK,MAAM,KAAK;AACpC,aAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACxC,aAAK,EAAE,MAAM,OAAO,IAAI,MAAM,KAAK;AACnC,aAAK,EAAE,KAAK,OAAO,IAAI;AACvB,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AACjD,aAAK,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AAAA,MACvD;AACI,eAAS,UAAU,SAAS,SAAS,GAAG,MAAM,OAAO;AACnD,YAAI,QAAQ,KAAK,MAAM,IAAI,KAAK;AAChC,YAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AACpC,YAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AACxC,YAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE;AAChK,YAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE;AAChK,eAAO,SAAS,IAAI;AAClB,eAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,QAAQ;AAChD,gBAAM,KAAK;AACX,eAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,QAAQ;AAChD,iBAAO,OAAO,KAAK,MAAM,KAAK;AAC9B,eAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,QAAQ;AAChD,iBAAO,OAAO,KAAK,MAAM,KAAK;AAC9B,eAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,QAAQ;AAChD,iBAAO,OAAO,IAAI,MAAM,KAAK;AAC7B,eAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO,KAAK,QAAQ;AAChD,iBAAO,OAAO,IAAI,MAAM,MAAM;AAC9B,gBAAM,OAAO,IAAI;AACjB,eAAK,EAAE,OAAO,MAAM,OAAO,EAAE,OAAO,MAAM,QAAQ;AAClD,iBAAO,OAAO,KAAK,MAAM,KAAK;AAC9B,eAAK,EAAE,OAAO,MAAM,OAAO,EAAE,OAAO,MAAM,QAAQ;AAClD,iBAAO,OAAO,KAAK,MAAM,KAAK;AAC9B,eAAK,EAAE,OAAO,MAAM,OAAO,EAAE,OAAO,MAAM,QAAQ;AAClD,iBAAO,OAAO,IAAI,MAAM,KAAK;AAC7B,gBAAM,OAAO,IAAI;AACjB,eAAK;AACL,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,MAAM,IAAI;AAChB,gBAAM,OAAO;AACb,gBAAM;AACN,eAAK;AACL,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,eAAK,OAAO;AACZ,gBAAM;AACN,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,KAAK;AACX,gBAAM,OAAO;AACb,gBAAM;AACN,gBAAM,MAAM,KAAK,KAAK;AACtB,eAAK,KAAK,KAAK;AACf,eAAK,KAAK;AACV,eAAK,OAAO;AACZ,gBAAM;AACN,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,eAAK;AACL,kBAAQ;AACR,mBAAS;AAAA,QACV;AACD,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AACZ,aAAK,EAAE,KAAK;AAAA,MAClB;AACI,eAAS,UAAU,SAAS,SAAS,KAAK,QAAQ;AAChD,YAAI,IAAI,IAAI,YAAY,EAAE;AAC1B,YAAI,IAAI,MAAM,GAAG;AACjB,YAAI,KAAK,UAAU;AACjB,eAAK,KAAK;AACV,eAAK,OAAO,QAAQ;AACpB,iBAAO,KAAK,IAAI;AACd,iBAAK,OAAO,MAAM;AACpB,eAAK,MAAM;AACX,eAAK,OAAO,KAAK,QAAQ,GAAG,EAAE;AAAA,QAC/B;AACD,aAAK,KAAK,EAAE,OAAO;AACnB,aAAK,EAAE,MAAM;AACb,aAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,eAAK,EAAE,OAAO;AACd,eAAK,KAAK,EAAE,QAAQ;AACpB,eAAK,EAAE,OAAO;AAAA,QACf;AACD,aAAK,EAAE,MAAM,KAAK;AAClB,aAAK,KAAK,EAAE,OAAO;AACnB,aAAK,EAAE,MAAM;AACb,aAAK,EAAE,MAAM;AACb,aAAK,KAAK,EAAE,OAAO;AACnB,aAAK,EAAE,MAAM;AACb,aAAK,EAAE,MAAM;AACb,UAAE,KAAK,KAAK,EAAE,KAAK;AACnB,aAAK,EAAE,OAAO;AACd,UAAE,MAAM;AACR,aAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,YAAE,MAAM,KAAK,EAAE,MAAM;AACrB,eAAK,EAAE,QAAQ;AACf,YAAE,OAAO;AAAA,QACV;AACD,UAAE,MAAM,KAAK;AACb,gBAAQ,KAAK,KAAK;AAClB,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,YAAE,OAAO;AACX,eAAO,CAAC;AACR,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,eAAK,EAAE,MAAM,KAAK,EAAE,MAAM,OAAO,EAAE;AACrC,aAAK,EAAE,MAAM,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,MAAM;AAC5C,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,MAAM;AAClD,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,KAAK;AACjD,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,KAAK;AACjD,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,MAAM;AACpE,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,MAAM;AAClD,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,KAAK;AACjD,aAAK,EAAE,MAAM,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,KAAK;AACjD,YAAI,KAAK,EAAE,KAAK,KAAK,IAAI;AACzB,aAAK,EAAE,KAAK,IAAI;AAChB,aAAK,KAAK,GAAG,KAAK,GAAG,MAAM;AACzB,eAAK,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,MAAM,MAAM,MAAM;AACnD,eAAK,EAAE,MAAM,IAAI;AAAA,QAClB;AACD,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,KAAK,KAAK,EAAE,OAAO,IAAI;AACpC,YAAI,SAAS,MAAM,KAAK,EAAE,OAAO,IAAI;AACrC,YAAI,SAAS,MAAM,KAAK,EAAE,OAAO,IAAI;AACrC,YAAI,SAAS,MAAM,KAAK,EAAE,OAAO,IAAI;AACrC,YAAI,SAAS,MAAM,KAAK,EAAE,OAAO,IAAI;AACrC,YAAI,SAAS,MAAM,KAAK,EAAE,OAAO,IAAI;AACrC,YAAI,SAAS,MAAM,KAAK,EAAE,OAAO,IAAI;AAAA,MAC3C;AACI,eAAS,UAAU,SAAS,SAAS,GAAG,MAAM,OAAO;AACnD,YAAI,IAAI;AACR,YAAI,KAAK,UAAU;AACjB,iBAAO,KAAK,KAAK;AACjB,cAAI,OAAO;AACT,mBAAO;AACT,eAAK,KAAK,GAAG,KAAK,MAAM;AACtB,iBAAK,OAAO,KAAK,WAAW,MAAM,EAAE,OAAO;AAC7C,mBAAS;AACT,kBAAQ;AACR,eAAK,YAAY;AACjB,cAAI,KAAK,WAAW;AAClB;AACF,eAAK,OAAO,KAAK,QAAQ,GAAG,EAAE;AAC9B,eAAK,WAAW;AAAA,QACjB;AACD,YAAI,SAAS,IAAI;AACf,iBAAO,QAAQ,QAAQ;AACvB,eAAK,OAAO,GAAG,MAAM,IAAI;AACzB,kBAAQ;AACR,mBAAS;AAAA,QACV;AACD,YAAI,OAAO;AACT,eAAK,KAAK,GAAG,KAAK,OAAO;AACvB,iBAAK,OAAO,KAAK,WAAW,MAAM,EAAE,OAAO;AAC7C,eAAK,YAAY;AAAA,QAClB;AAAA,MACP;AACI,eAAS,mBAAmB,KAAK,QAAQ,GAAG,MAAM,IAAI,GAAG;AACvD,YAAI,KAAK,IAAI,SAAS,CAAC;AACvB,WAAG,OAAO,GAAG,MAAM,EAAE;AACrB,WAAG,OAAO,KAAK,MAAM;AACrB,eAAO;AAAA,MACR;AACD,eAAS,0BAA0B,IAAI,MAAM,GAAG,MAAM,IAAI,GAAG;AAC3D,YAAI,IAAI,IAAI,WAAW,EAAE;AACzB,2BAAmB,GAAG,GAAG,GAAG,MAAM,IAAI,CAAC;AACvC,eAAO,iBAAiB,IAAI,MAAM,GAAG,CAAC;AAAA,MACvC;AACD,eAAS,iBAAiB,IAAI,GAAG,GAAG,IAAI,GAAG;AACzC,YAAI;AACJ,YAAI,IAAI;AACN,iBAAO;AACT,0BAAkB,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC,2BAAmB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAC7C,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,aAAG,MAAM;AACX,eAAO;AAAA,MACR;AACD,eAAS,sBAAsB,GAAG,IAAI,GAAG,IAAI,GAAG;AAC9C,YAAI;AACJ,YAAI,IAAI,IAAI,WAAW,EAAE;AACzB,YAAI,IAAI;AACN,iBAAO;AACT,sBAAc,GAAG,GAAG,IAAI,IAAI,CAAC;AAC7B,YAAI,0BAA0B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM;AAC3D,iBAAO;AACT,0BAAkB,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC;AACvC,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,YAAE,MAAM;AACV,eAAO;AAAA,MACR;AACD,eAAS,SAAS,GAAG,IAAI;AACvB,YAAI;AACJ,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,YAAE,MAAM,GAAG,MAAM;AAAA,MACpB;AACD,eAAS,SAAS,IAAI;AACpB,YAAI,IAAI,GAAG,KAAK;AAChB,aAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,cAAI,GAAG,MAAM,KAAK;AAClB,eAAK,KAAK,MAAM,IAAI,KAAK;AACzB,aAAG,MAAM,IAAI,KAAK;AAAA,QACnB;AACD,WAAG,MAAM,KAAK,IAAI,MAAM,KAAK;AAAA,MAC9B;AACD,eAAS,SAAS,IAAI,GAAG,GAAG;AAC1B,YAAI,IAAI,KAAK,EAAE,IAAI;AACnB,iBAAS,KAAK,GAAG,KAAK,IAAI,MAAM;AAC9B,eAAK,MAAM,GAAG,MAAM,EAAE;AACtB,aAAG,OAAO;AACV,YAAE,OAAO;AAAA,QACV;AAAA,MACF;AACD,eAAS,UAAU,IAAI,IAAI;AACzB,YAAI,IAAI,GAAG;AACX,YAAI,IAAI,GAAE,GAAI,KAAK,GAAE;AACrB,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,aAAG,MAAM,GAAG;AACd,iBAAS,EAAE;AACX,iBAAS,EAAE;AACX,iBAAS,EAAE;AACX,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,YAAE,KAAK,GAAG,KAAK;AACf,eAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,cAAE,MAAM,GAAG,MAAM,SAAS,EAAE,KAAK,MAAM,KAAK;AAC5C,cAAE,KAAK,MAAM;AAAA,UACd;AACD,YAAE,MAAM,GAAG,MAAM,SAAS,EAAE,OAAO,KAAK;AACxC,cAAI,EAAE,OAAO,KAAK;AAClB,YAAE,OAAO;AACT,mBAAS,IAAI,GAAG,IAAI,CAAC;AAAA,QACtB;AACD,aAAK,KAAK,GAAG,KAAK,IAAI,MAAM;AAC1B,aAAG,IAAI,MAAM,GAAG,MAAM;AACtB,aAAG,IAAI,KAAK,KAAK,GAAG,OAAO;AAAA,QAC5B;AAAA,MACF;AACD,eAAS,SAAS,IAAI,GAAG;AACvB,YAAI,KAAK,IAAI,WAAW,EAAE,GAAG,IAAI,IAAI,WAAW,EAAE;AAClD,kBAAU,IAAI,EAAE;AAChB,kBAAU,GAAG,CAAC;AACd,eAAO,iBAAiB,IAAI,GAAG,GAAG,CAAC;AAAA,MACpC;AACD,eAAS,SAAS,IAAI;AACpB,YAAI,IAAI,IAAI,WAAW,EAAE;AACzB,kBAAU,GAAG,EAAE;AACf,eAAO,EAAE,KAAK;AAAA,MACf;AACD,eAAS,YAAY,IAAI,IAAI;AAC3B,YAAI;AACJ,aAAK,KAAK,GAAG,KAAK,IAAI;AACpB,aAAG,MAAM,GAAG,IAAI,OAAO,GAAG,IAAI,KAAK,MAAM;AAC3C,WAAG,OAAO;AAAA,MACX;AACD,eAAS,EAAE,IAAI,IAAI,GAAG;AACpB,iBAAS,KAAK,GAAG,KAAK,IAAI;AACxB,aAAG,MAAM,GAAG,MAAM,EAAE;AAAA,MACvB;AACD,eAAS,EAAE,IAAI,IAAI,GAAG;AACpB,iBAAS,KAAK,GAAG,KAAK,IAAI;AACxB,aAAG,MAAM,GAAG,MAAM,EAAE;AAAA,MACvB;AACD,eAAS,EAAE,IAAI,IAAI,GAAG;AACpB,YAAI,GAAG,IAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,IAAI,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE;AAC/c,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAI,GAAG;AACP,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAA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AAO,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAAC;AAAA,MAC/C;AACD,UAAI,IAAI;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAC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,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,cAAM,IAAI;AACV,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,YAAIA,GAAE;AACN,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,IAAI;AACX,eAAO,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"}
|