@reown/walletkit 1.1.2-canary-wasm-5 → 1.1.2-canary.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.cjs.js +1 -17
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1 -17
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +12 -15
- package/dist/index.umd.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/client.d.ts +0 -5
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/constants/index.d.ts +0 -1
- package/dist/types/constants/index.d.ts.map +1 -1
- package/dist/types/controllers/engine.d.ts +0 -7
- package/dist/types/controllers/engine.d.ts.map +1 -1
- package/dist/types/types/client.d.ts +0 -5
- package/dist/types/types/client.d.ts.map +1 -1
- package/dist/types/types/engine.d.ts +0 -7
- package/dist/types/types/engine.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +0 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +0 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +7 -9
- package/dist/types/constants/chainAbstraction.d.ts +0 -11
- package/dist/types/constants/chainAbstraction.d.ts.map +0 -1
- package/dist/types/controllers/chainAbstraction.d.ts +0 -25
- package/dist/types/controllers/chainAbstraction.d.ts.map +0 -1
- package/dist/types/types/chainAbstraction.d.ts +0 -136
- package/dist/types/types/chainAbstraction.d.ts.map +0 -1
- package/dist/types/utils/decompress.d.ts +0 -2
- package/dist/types/utils/decompress.d.ts.map +0 -1
package/dist/index.umd.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
(function(
|
1
|
+
(function(kt,Nt){typeof exports=="object"&&typeof module<"u"?Nt(exports):typeof define=="function"&&define.amd?define(["exports"],Nt):(kt=typeof globalThis<"u"?globalThis:kt||self,Nt(kt["@reown/walletkit"]={}))})(this,function(kt){"use strict";var Nt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ha(t){var e=t.default;if(typeof e=="function"){var r=function(){return e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(i){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(r,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}),r}var jt={exports:{}},Sn=typeof Reflect=="object"?Reflect:null,Ec=Sn&&typeof Sn.apply=="function"?Sn.apply:function(e,r,i){return Function.prototype.apply.call(e,r,i)},Js;Sn&&typeof Sn.ownKeys=="function"?Js=Sn.ownKeys:Object.getOwnPropertySymbols?Js=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Js=function(e){return Object.getOwnPropertyNames(e)};function pp(t){console&&console.warn&&console.warn(t)}var Sc=Number.isNaN||function(e){return e!==e};function ot(){ot.init.call(this)}jt.exports=ot,jt.exports.once=yp,ot.EventEmitter=ot,ot.prototype._events=void 0,ot.prototype._eventsCount=0,ot.prototype._maxListeners=void 0;var Mc=10;function Ys(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ot,"defaultMaxListeners",{enumerable:!0,get:function(){return Mc},set:function(t){if(typeof t!="number"||t<0||Sc(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Mc=t}}),ot.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},ot.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Sc(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Ic(t){return t._maxListeners===void 0?ot.defaultMaxListeners:t._maxListeners}ot.prototype.getMaxListeners=function(){return Ic(this)},ot.prototype.emit=function(e){for(var r=[],i=1;i<arguments.length;i++)r.push(arguments[i]);var n=e==="error",s=this._events;if(s!==void 0)n=n&&s.error===void 0;else if(!n)return!1;if(n){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")Ec(c,this,r);else for(var h=c.length,l=Rc(c,h),i=0;i<h;++i)Ec(l[i],this,r);return!0};function Ac(t,e,r,i){var n,s,o;if(Ys(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),n=Ic(t),n>0&&o.length>n&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,pp(a)}return t}ot.prototype.addListener=function(e,r){return Ac(this,e,r,!1)},ot.prototype.on=ot.prototype.addListener,ot.prototype.prependListener=function(e,r){return Ac(this,e,r,!0)};function gp(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Dc(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=gp.bind(i);return n.listener=r,i.wrapFn=n,n}ot.prototype.once=function(e,r){return Ys(r),this.on(e,Dc(this,e,r)),this},ot.prototype.prependOnceListener=function(e,r){return Ys(r),this.prependListener(e,Dc(this,e,r)),this},ot.prototype.removeListener=function(e,r){var i,n,s,o,a;if(Ys(r),n=this._events,n===void 0)return this;if(i=n[e],i===void 0)return this;if(i===r||i.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,i.listener||r));else if(typeof i!="function"){for(s=-1,o=i.length-1;o>=0;o--)if(i[o]===r||i[o].listener===r){a=i[o].listener,s=o;break}if(s<0)return this;s===0?i.shift():bp(i,s),i.length===1&&(n[e]=i[0]),n.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this},ot.prototype.off=ot.prototype.removeListener,ot.prototype.removeAllListeners=function(e){var r,i,n;if(i=this._events,i===void 0)return this;if(i.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):i[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete i[e]),this;if(arguments.length===0){var s=Object.keys(i),o;for(n=0;n<s.length;++n)o=s[n],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=i[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(n=r.length-1;n>=0;n--)this.removeListener(e,r[n]);return this};function Oc(t,e,r){var i=t._events;if(i===void 0)return[];var n=i[e];return n===void 0?[]:typeof n=="function"?r?[n.listener||n]:[n]:r?vp(n):Rc(n,n.length)}ot.prototype.listeners=function(e){return Oc(this,e,!0)},ot.prototype.rawListeners=function(e){return Oc(this,e,!1)},ot.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Pc.call(t,e)},ot.prototype.listenerCount=Pc;function Pc(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ot.prototype.eventNames=function(){return this._eventsCount>0?Js(this._events):[]};function Rc(t,e){for(var r=new Array(e),i=0;i<e;++i)r[i]=t[i];return r}function bp(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function vp(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function yp(t,e){return new Promise(function(r,i){function n(o){t.removeListener(e,s),i(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",n),r([].slice.call(arguments))}$c(t,e,s,{once:!0}),e!=="error"&&mp(t,n,{once:!0})})}function mp(t,e,r){typeof t.on=="function"&&$c(t,"error",e,r)}function $c(t,e,r,i){if(typeof t.on=="function")i.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function n(s){i.once&&t.removeEventListener(e,n),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}const Nc="wc",wp=2,ua="WalletKit",_p=`${Nc}@2:${ua}:`,xp={database:":memory:"},Ep="request";var Y={};/*! *****************************************************************************
|
2
2
|
Copyright (c) Microsoft Corporation.
|
3
3
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
@@ -11,23 +11,23 @@
|
|
11
11
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
12
12
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
13
13
|
PERFORMANCE OF THIS SOFTWARE.
|
14
|
-
***************************************************************************** */var df=function(r,e){return df=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var n in i)i.hasOwnProperty(n)&&(t[n]=i[n])},df(r,e)};function $1(r,e){df(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var uf=function(){return uf=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},uf.apply(this,arguments)};function ep(r,e){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(r,i[n])&&(t[i[n]]=r[i[n]]);return t}function tp(r,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,i);else for(var h=r.length-1;h>=0;h--)(f=r[h])&&(s=(n<3?f(s):n>3?f(e,t,s):f(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s}function rp(r,e){return function(t,i){e(t,i,r)}}function ip(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function np(r,e,t,i){function n(s){return s instanceof t?s:new t(function(f){f(s)})}return new(t||(t=Promise))(function(s,f){function h(m){try{p(i.next(m))}catch(y){f(y)}}function l(m){try{p(i.throw(m))}catch(y){f(y)}}function p(m){m.done?s(m.value):n(m.value).then(h,l)}p((i=i.apply(r,e||[])).next())})}function sp(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,f;return f={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(f[Symbol.iterator]=function(){return this}),f;function h(p){return function(m){return l([p,m])}}function l(p){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=p[0]&2?n.return:p[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,p[1])).done)return s;switch(n=0,s&&(p=[p[0]&2,s.value]),p[0]){case 0:case 1:s=p;break;case 4:return t.label++,{value:p[1],done:!1};case 5:t.label++,n=p[1],p=[0];continue;case 7:p=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]<s[3])){t.label=p[1];break}if(p[0]===6&&t.label<s[1]){t.label=s[1],s=p;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(p);break}s[2]&&t.ops.pop(),t.trys.pop();continue}p=e.call(r,t)}catch(m){p=[6,m],n=0}finally{i=s=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function ap(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function op(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function lf(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function w0(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],f;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(h){f={error:h}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(f)throw f.error}}return s}function fp(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(w0(arguments[e]));return r}function cp(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),n=0,e=0;e<t;e++)for(var s=arguments[e],f=0,h=s.length;f<h;f++,n++)i[n]=s[f];return i}function Cs(r){return this instanceof Cs?(this.v=r,this):new Cs(r)}function hp(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,s=[];return n={},f("next"),f("throw"),f("return"),n[Symbol.asyncIterator]=function(){return this},n;function f(E){i[E]&&(n[E]=function(I){return new Promise(function(N,F){s.push([E,I,N,F])>1||h(E,I)})})}function h(E,I){try{l(i[E](I))}catch(N){y(s[0][3],N)}}function l(E){E.value instanceof Cs?Promise.resolve(E.value.v).then(p,m):y(s[0][2],E)}function p(E){h("next",E)}function m(E){h("throw",E)}function y(E,I){E(I),s.shift(),s.length&&h(s[0][0],s[0][1])}}function dp(r){var e,t;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,s){e[n]=r[n]?function(f){return(t=!t)?{value:Cs(r[n](f)),done:n==="return"}:s?s(f):f}:s}}function up(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof lf=="function"?lf(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=r[s]&&function(f){return new Promise(function(h,l){f=r[s](f),n(h,l,f.done,f.value)})}}function n(s,f,h,l){Promise.resolve(l).then(function(p){s({value:p,done:h})},f)}}function lp(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function pp(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e}function bp(r){return r&&r.__esModule?r:{default:r}}function vp(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function gp(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}var mp=Object.freeze({__proto__:null,__extends:$1,get __assign(){return uf},__rest:ep,__decorate:tp,__param:rp,__metadata:ip,__awaiter:np,__generator:sp,__createBinding:ap,__exportStar:op,__values:lf,__read:w0,__spread:fp,__spreadArrays:cp,__await:Cs,__asyncGenerator:hp,__asyncDelegator:dp,__asyncValues:up,__makeTemplateObject:lp,__importStar:pp,__importDefault:bp,__classPrivateFieldGet:vp,__classPrivateFieldSet:gp}),Ra=ff(mp),pf={},Fs={},x0;function yp(){if(x0)return Fs;x0=1,Object.defineProperty(Fs,"__esModule",{value:!0}),Fs.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return Fs.delay=r,Fs}var mn={},bf={},yn={},A0;function wp(){return A0||(A0=1,Object.defineProperty(yn,"__esModule",{value:!0}),yn.ONE_THOUSAND=yn.ONE_HUNDRED=void 0,yn.ONE_HUNDRED=100,yn.ONE_THOUSAND=1e3),yn}var vf={},M0;function xp(){return M0||(M0=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.ONE_YEAR=r.FOUR_WEEKS=r.THREE_WEEKS=r.TWO_WEEKS=r.ONE_WEEK=r.THIRTY_DAYS=r.SEVEN_DAYS=r.FIVE_DAYS=r.THREE_DAYS=r.ONE_DAY=r.TWENTY_FOUR_HOURS=r.TWELVE_HOURS=r.SIX_HOURS=r.THREE_HOURS=r.ONE_HOUR=r.SIXTY_MINUTES=r.THIRTY_MINUTES=r.TEN_MINUTES=r.FIVE_MINUTES=r.ONE_MINUTE=r.SIXTY_SECONDS=r.THIRTY_SECONDS=r.TEN_SECONDS=r.FIVE_SECONDS=r.ONE_SECOND=void 0,r.ONE_SECOND=1,r.FIVE_SECONDS=5,r.TEN_SECONDS=10,r.THIRTY_SECONDS=30,r.SIXTY_SECONDS=60,r.ONE_MINUTE=r.SIXTY_SECONDS,r.FIVE_MINUTES=r.ONE_MINUTE*5,r.TEN_MINUTES=r.ONE_MINUTE*10,r.THIRTY_MINUTES=r.ONE_MINUTE*30,r.SIXTY_MINUTES=r.ONE_MINUTE*60,r.ONE_HOUR=r.SIXTY_MINUTES,r.THREE_HOURS=r.ONE_HOUR*3,r.SIX_HOURS=r.ONE_HOUR*6,r.TWELVE_HOURS=r.ONE_HOUR*12,r.TWENTY_FOUR_HOURS=r.ONE_HOUR*24,r.ONE_DAY=r.TWENTY_FOUR_HOURS,r.THREE_DAYS=r.ONE_DAY*3,r.FIVE_DAYS=r.ONE_DAY*5,r.SEVEN_DAYS=r.ONE_DAY*7,r.THIRTY_DAYS=r.ONE_DAY*30,r.ONE_WEEK=r.SEVEN_DAYS,r.TWO_WEEKS=r.ONE_WEEK*2,r.THREE_WEEKS=r.ONE_WEEK*3,r.FOUR_WEEKS=r.ONE_WEEK*4,r.ONE_YEAR=r.ONE_DAY*365}(vf)),vf}var S0;function E0(){return S0||(S0=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ra;e.__exportStar(wp(),r),e.__exportStar(xp(),r)}(bf)),bf}var I0;function Ap(){if(I0)return mn;I0=1,Object.defineProperty(mn,"__esModule",{value:!0}),mn.fromMiliseconds=mn.toMiliseconds=void 0;const r=E0();function e(i){return i*r.ONE_THOUSAND}mn.toMiliseconds=e;function t(i){return Math.floor(i/r.ONE_THOUSAND)}return mn.fromMiliseconds=t,mn}var P0;function Mp(){return P0||(P0=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ra;e.__exportStar(yp(),r),e.__exportStar(Ap(),r)}(pf)),pf}var Xn={},O0;function Sp(){if(O0)return Xn;O0=1,Object.defineProperty(Xn,"__esModule",{value:!0}),Xn.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(t){if(this.timestamps.has(t))throw new Error(`Watch already started for label: ${t}`);this.timestamps.set(t,{started:Date.now()})}stop(t){const i=this.get(t);if(typeof i.elapsed<"u")throw new Error(`Watch already stopped for label: ${t}`);const n=Date.now()-i.started;this.timestamps.set(t,{started:i.started,elapsed:n})}get(t){const i=this.timestamps.get(t);if(typeof i>"u")throw new Error(`No timestamp found for label: ${t}`);return i}elapsed(t){const i=this.get(t);return i.elapsed||Date.now()-i.started}}return Xn.Watch=r,Xn.default=r,Xn}var gf={},qs={},N0;function Ep(){if(N0)return qs;N0=1,Object.defineProperty(qs,"__esModule",{value:!0}),qs.IWatch=void 0;class r{}return qs.IWatch=r,qs}var D0;function Ip(){return D0||(D0=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Ra.__exportStar(Ep(),r)}(gf)),gf}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Ra;e.__exportStar(Mp(),r),e.__exportStar(Sp(),r),e.__exportStar(Ip(),r),e.__exportStar(E0(),r)})(ye);class wn{}class Pp extends wn{constructor(e){super()}}const R0=ye.FIVE_SECONDS,_n={pulse:"heartbeat_pulse"};class mf extends Pp{constructor(e){super(e),this.events=new fr.exports.EventEmitter,this.interval=R0,this.interval=e?.interval||R0}static async init(e){const t=new mf(e);return await t.init(),t}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),ye.toMiliseconds(this.interval))}pulse(){this.events.emit(_n.pulse)}}const Op=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Np=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Dp=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Rp(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){Tp(r);return}return e}function Tp(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function Ta(r,e={}){if(typeof r!="string")return r;const t=r.trim();if(r[0]==='"'&&r.endsWith('"')&&!r.includes("\\"))return t.slice(1,-1);if(t.length<=9){const i=t.toLowerCase();if(i==="true")return!0;if(i==="false")return!1;if(i==="undefined")return;if(i==="null")return null;if(i==="nan")return Number.NaN;if(i==="infinity")return Number.POSITIVE_INFINITY;if(i==="-infinity")return Number.NEGATIVE_INFINITY}if(!Dp.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(Op.test(r)||Np.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,Rp)}return JSON.parse(r)}catch(i){if(e.strict)throw i;return r}}function Cp(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function Ut(r,...e){try{return Cp(r(...e))}catch(t){return Promise.reject(t)}}function Fp(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function qp(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function Ca(r){if(Fp(r))return String(r);if(qp(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return Ca(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function T0(){if(typeof Buffer>"u")throw new TypeError("[unstorage] Buffer is not supported!")}const yf="base64:";function Lp(r){if(typeof r=="string")return r;T0();const e=Buffer.from(r).toString("base64");return yf+e}function Bp(r){return typeof r!="string"||!r.startsWith(yf)?r:(T0(),Buffer.from(r.slice(yf.length),"base64"))}function Er(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function Up(...r){return Er(r.join(":"))}function Fa(r){return r=Er(r),r?r+":":""}function aA(r){return r}const zp="memory",kp=()=>{const r=new Map;return{name:zp,getInstance:()=>r,hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return[...r.keys()]},clear(){r.clear()},dispose(){r.clear()}}};function Vp(r={}){const e={mounts:{"":r.driver||kp()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=p=>{for(const m of e.mountpoints)if(p.startsWith(m))return{base:m,relativeKey:p.slice(m.length),driver:e.mounts[m]};return{base:"",relativeKey:p,driver:e.mounts[""]}},i=(p,m)=>e.mountpoints.filter(y=>y.startsWith(p)||m&&p.startsWith(y)).map(y=>({relativeBase:p.length>y.length?p.slice(y.length):void 0,mountpoint:y,driver:e.mounts[y]})),n=(p,m)=>{if(e.watching){m=Er(m);for(const y of e.watchListeners)y(p,m)}},s=async()=>{if(!e.watching){e.watching=!0;for(const p in e.mounts)e.unwatch[p]=await C0(e.mounts[p],n,p)}},f=async()=>{if(e.watching){for(const p in e.unwatch)await e.unwatch[p]();e.unwatch={},e.watching=!1}},h=(p,m,y)=>{const E=new Map,I=N=>{let F=E.get(N.base);return F||(F={driver:N.driver,base:N.base,items:[]},E.set(N.base,F)),F};for(const N of p){const F=typeof N=="string",k=Er(F?N:N.key),H=F?void 0:N.value,L=F||!N.options?m:{...m,...N.options},W=t(k);I(W).items.push({key:k,value:H,relativeKey:W.relativeKey,options:L})}return Promise.all([...E.values()].map(N=>y(N))).then(N=>N.flat())},l={hasItem(p,m={}){p=Er(p);const{relativeKey:y,driver:E}=t(p);return Ut(E.hasItem,y,m)},getItem(p,m={}){p=Er(p);const{relativeKey:y,driver:E}=t(p);return Ut(E.getItem,y,m).then(I=>Ta(I))},getItems(p,m){return h(p,m,y=>y.driver.getItems?Ut(y.driver.getItems,y.items.map(E=>({key:E.relativeKey,options:E.options})),m).then(E=>E.map(I=>({key:Up(y.base,I.key),value:Ta(I.value)}))):Promise.all(y.items.map(E=>Ut(y.driver.getItem,E.relativeKey,E.options).then(I=>({key:E.key,value:Ta(I)})))))},getItemRaw(p,m={}){p=Er(p);const{relativeKey:y,driver:E}=t(p);return E.getItemRaw?Ut(E.getItemRaw,y,m):Ut(E.getItem,y,m).then(I=>Bp(I))},async setItem(p,m,y={}){if(m===void 0)return l.removeItem(p);p=Er(p);const{relativeKey:E,driver:I}=t(p);I.setItem&&(await Ut(I.setItem,E,Ca(m),y),I.watch||n("update",p))},async setItems(p,m){await h(p,m,async y=>{if(y.driver.setItems)return Ut(y.driver.setItems,y.items.map(E=>({key:E.relativeKey,value:Ca(E.value),options:E.options})),m);y.driver.setItem&&await Promise.all(y.items.map(E=>Ut(y.driver.setItem,E.relativeKey,Ca(E.value),E.options)))})},async setItemRaw(p,m,y={}){if(m===void 0)return l.removeItem(p,y);p=Er(p);const{relativeKey:E,driver:I}=t(p);if(I.setItemRaw)await Ut(I.setItemRaw,E,m,y);else if(I.setItem)await Ut(I.setItem,E,Lp(m),y);else return;I.watch||n("update",p)},async removeItem(p,m={}){typeof m=="boolean"&&(m={removeMeta:m}),p=Er(p);const{relativeKey:y,driver:E}=t(p);E.removeItem&&(await Ut(E.removeItem,y,m),(m.removeMeta||m.removeMata)&&await Ut(E.removeItem,y+"$",m),E.watch||n("remove",p))},async getMeta(p,m={}){typeof m=="boolean"&&(m={nativeOnly:m}),p=Er(p);const{relativeKey:y,driver:E}=t(p),I=Object.create(null);if(E.getMeta&&Object.assign(I,await Ut(E.getMeta,y,m)),!m.nativeOnly){const N=await Ut(E.getItem,y+"$",m).then(F=>Ta(F));N&&typeof N=="object"&&(typeof N.atime=="string"&&(N.atime=new Date(N.atime)),typeof N.mtime=="string"&&(N.mtime=new Date(N.mtime)),Object.assign(I,N))}return I},setMeta(p,m,y={}){return this.setItem(p+"$",m,y)},removeMeta(p,m={}){return this.removeItem(p+"$",m)},async getKeys(p,m={}){p=Fa(p);const y=i(p,!0);let E=[];const I=[];for(const N of y){const F=await Ut(N.driver.getKeys,N.relativeBase,m);for(const k of F){const H=N.mountpoint+Er(k);E.some(L=>H.startsWith(L))||I.push(H)}E=[N.mountpoint,...E.filter(k=>!k.startsWith(N.mountpoint))]}return p?I.filter(N=>N.startsWith(p)&&N[N.length-1]!=="$"):I.filter(N=>N[N.length-1]!=="$")},async clear(p,m={}){p=Fa(p),await Promise.all(i(p,!1).map(async y=>{if(y.driver.clear)return Ut(y.driver.clear,y.relativeBase,m);if(y.driver.removeItem){const E=await y.driver.getKeys(y.relativeBase||"",m);return Promise.all(E.map(I=>y.driver.removeItem(I,m)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(p=>F0(p)))},async watch(p){return await s(),e.watchListeners.push(p),async()=>{e.watchListeners=e.watchListeners.filter(m=>m!==p),e.watchListeners.length===0&&await f()}},async unwatch(){e.watchListeners=[],await f()},mount(p,m){if(p=Fa(p),p&&e.mounts[p])throw new Error(`already mounted at ${p}`);return p&&(e.mountpoints.push(p),e.mountpoints.sort((y,E)=>E.length-y.length)),e.mounts[p]=m,e.watching&&Promise.resolve(C0(m,n,p)).then(y=>{e.unwatch[p]=y}).catch(console.error),l},async unmount(p,m=!0){p=Fa(p),!(!p||!e.mounts[p])&&(e.watching&&p in e.unwatch&&(e.unwatch[p](),delete e.unwatch[p]),m&&await F0(e.mounts[p]),e.mountpoints=e.mountpoints.filter(y=>y!==p),delete e.mounts[p])},getMount(p=""){p=Er(p)+":";const m=t(p);return{driver:m.driver,base:m.base}},getMounts(p="",m={}){return p=Er(p),i(p,m.parents).map(E=>({driver:E.driver,base:E.mountpoint}))},keys:(p,m={})=>l.getKeys(p,m),get:(p,m={})=>l.getItem(p,m),set:(p,m,y={})=>l.setItem(p,m,y),has:(p,m={})=>l.hasItem(p,m),del:(p,m={})=>l.removeItem(p,m),remove:(p,m={})=>l.removeItem(p,m)};return l}function C0(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function F0(r){typeof r.dispose=="function"&&await Ut(r.dispose)}function xn(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function q0(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=xn(t);return(n,s)=>i.then(f=>s(f.transaction(e,n).objectStore(e)))}let wf;function Ls(){return wf||(wf=q0("keyval-store","keyval")),wf}function L0(r,e=Ls()){return e("readonly",t=>xn(t.get(r)))}function Hp(r,e,t=Ls()){return t("readwrite",i=>(i.put(e,r),xn(i.transaction)))}function Kp(r,e=Ls()){return e("readwrite",t=>(t.delete(r),xn(t.transaction)))}function jp(r=Ls()){return r("readwrite",e=>(e.clear(),xn(e.transaction)))}function Zp(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},xn(r.transaction)}function Wp(r=Ls()){return r("readonly",e=>{if(e.getAllKeys)return xn(e.getAllKeys());const t=[];return Zp(e,i=>t.push(i.key)).then(()=>t)})}const Jp=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),Gp=r=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function $n(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return Gp(r)}catch{return r}}function An(r){return typeof r=="string"?r:Jp(r)||""}const Qp="idb-keyval";var Yp=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=q0(r.dbName,r.storeName)),{name:Qp,options:r,async hasItem(n){return!(typeof await L0(t(n),i)>"u")},async getItem(n){return await L0(t(n),i)??null},setItem(n,s){return Hp(t(n),s,i)},removeItem(n){return Kp(t(n),i)},getKeys(){return Wp(i)},clear(){return jp(i)}}};const Xp="WALLET_CONNECT_V2_INDEXED_DB",_p="keyvaluestorage";class $p{constructor(){this.indexedDb=Vp({driver:Yp({dbName:Xp,storeName:_p})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,An(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var xf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},qa={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof xf<"u"&&xf.localStorage?qa.exports=xf.localStorage:typeof window<"u"&&window.localStorage?qa.exports=window.localStorage:qa.exports=new e})();function eb(r){var e;return[r[0],$n((e=r[1])!=null?e:"")]}class tb{constructor(){this.localStorage=qa.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(eb)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return $n(t)}async setItem(e,t){this.localStorage.setItem(e,An(t))}async removeItem(e){this.localStorage.removeItem(e)}}const rb="wc_storage_version",B0=1,ib=async(r,e,t)=>{const i=rb,n=await e.getItem(i);if(n&&n>=B0){t(e);return}const s=await r.getKeys();if(!s.length){t(e);return}const f=[];for(;s.length;){const h=s.shift();if(!h)continue;const l=h.toLowerCase();if(l.includes("wc@")||l.includes("walletconnect")||l.includes("wc_")||l.includes("wallet_connect")){const p=await r.getItem(h);await e.setItem(h,p),f.push(h)}}await e.setItem(i,B0),t(e),nb(r,f)},nb=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};class sb{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new tb;this.storage=e;try{const t=new $p;ib(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}}function ab(r){try{return JSON.stringify(r)}catch{return'"[Circular]"'}}var ob=fb;function fb(r,e,t){var i=t&&t.stringify||ab,n=1;if(typeof r=="object"&&r!==null){var s=e.length+n;if(s===1)return r;var f=new Array(s);f[0]=i(r);for(var h=1;h<s;h++)f[h]=i(e[h]);return f.join(" ")}if(typeof r!="string")return r;var l=e.length;if(l===0)return r;for(var p="",m=1-n,y=-1,E=r&&r.length||0,I=0;I<E;){if(r.charCodeAt(I)===37&&I+1<E){switch(y=y>-1?y:0,r.charCodeAt(I+1)){case 100:case 102:if(m>=l||e[m]==null)break;y<I&&(p+=r.slice(y,I)),p+=Number(e[m]),y=I+2,I++;break;case 105:if(m>=l||e[m]==null)break;y<I&&(p+=r.slice(y,I)),p+=Math.floor(Number(e[m])),y=I+2,I++;break;case 79:case 111:case 106:if(m>=l||e[m]===void 0)break;y<I&&(p+=r.slice(y,I));var N=typeof e[m];if(N==="string"){p+="'"+e[m]+"'",y=I+2,I++;break}if(N==="function"){p+=e[m].name||"<anonymous>",y=I+2,I++;break}p+=i(e[m]),y=I+2,I++;break;case 115:if(m>=l)break;y<I&&(p+=r.slice(y,I)),p+=String(e[m]),y=I+2,I++;break;case 37:y<I&&(p+=r.slice(y,I)),p+="%",y=I+2,I++,m--;break}++m}++I}return y===-1?r:(y<E&&(p+=r.slice(y)),p)}const U0=ob;var Li=vi;const Bs=mb().console||{},cb={mapHttpRequest:Ba,mapHttpResponse:Ba,wrapRequestSerializer:Mf,wrapResponseSerializer:Mf,wrapErrorSerializer:Mf,req:Ba,res:Ba,err:pb};function hb(r,e){return Array.isArray(r)?r.filter(function(i){return i!=="!stdSerializers.err"}):r===!0?Object.keys(e):!1}function vi(r){r=r||{},r.browser=r.browser||{};const e=r.browser.transmit;if(e&&typeof e.send!="function")throw Error("pino: transmit option must have a send function");const t=r.browser.write||Bs;r.browser.write&&(r.browser.asObject=!0);const i=r.serializers||{},n=hb(r.browser.serialize,i);let s=r.browser.serialize;Array.isArray(r.browser.serialize)&&r.browser.serialize.indexOf("!stdSerializers.err")>-1&&(s=!1);const f=["error","fatal","warn","info","debug","trace"];typeof t=="function"&&(t.error=t.fatal=t.warn=t.info=t.debug=t.trace=t),r.enabled===!1&&(r.level="silent");const h=r.level||"info",l=Object.create(t);l.log||(l.log=Us),Object.defineProperty(l,"levelVal",{get:m}),Object.defineProperty(l,"level",{get:y,set:E});const p={transmit:e,serialize:n,asObject:r.browser.asObject,levels:f,timestamp:bb(r)};l.levels=vi.levels,l.level=h,l.setMaxListeners=l.getMaxListeners=l.emit=l.addListener=l.on=l.prependListener=l.once=l.prependOnceListener=l.removeListener=l.removeAllListeners=l.listeners=l.listenerCount=l.eventNames=l.write=l.flush=Us,l.serializers=i,l._serialize=n,l._stdErrSerialize=s,l.child=I,e&&(l._logEvent=Af());function m(){return this.level==="silent"?1/0:this.levels.values[this.level]}function y(){return this._level}function E(N){if(N!=="silent"&&!this.levels.values[N])throw Error("unknown level "+N);this._level=N,es(p,l,"error","log"),es(p,l,"fatal","error"),es(p,l,"warn","error"),es(p,l,"info","log"),es(p,l,"debug","log"),es(p,l,"trace","log")}function I(N,F){if(!N)throw new Error("missing bindings for child Pino");F=F||{},n&&N.serializers&&(F.serializers=N.serializers);const k=F.serializers;if(n&&k){var H=Object.assign({},i,k),L=r.browser.serialize===!0?Object.keys(H):n;delete N.serializers,La([N],L,H,this._stdErrSerialize)}function W(z){this._childLevel=(z._childLevel|0)+1,this.error=ts(z,N,"error"),this.fatal=ts(z,N,"fatal"),this.warn=ts(z,N,"warn"),this.info=ts(z,N,"info"),this.debug=ts(z,N,"debug"),this.trace=ts(z,N,"trace"),H&&(this.serializers=H,this._serialize=L),e&&(this._logEvent=Af([].concat(z._logEvent.bindings,N)))}return W.prototype=this,new W(this)}return l}vi.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},vi.stdSerializers=cb,vi.stdTimeFunctions=Object.assign({},{nullTime:z0,epochTime:k0,unixTime:vb,isoTime:gb});function es(r,e,t,i){const n=Object.getPrototypeOf(e);e[t]=e.levelVal>e.levels.values[t]?Us:n[t]?n[t]:Bs[t]||Bs[i]||Us,db(r,e,t)}function db(r,e,t){!r.transmit&&e[t]===Us||(e[t]=function(i){return function(){const s=r.timestamp(),f=new Array(arguments.length),h=Object.getPrototypeOf&&Object.getPrototypeOf(this)===Bs?Bs:this;for(var l=0;l<f.length;l++)f[l]=arguments[l];if(r.serialize&&!r.asObject&&La(f,this._serialize,this.serializers,this._stdErrSerialize),r.asObject?i.call(h,ub(this,t,f,s)):i.apply(h,f),r.transmit){const p=r.transmit.level||e.level,m=vi.levels.values[p],y=vi.levels.values[t];if(y<m)return;lb(this,{ts:s,methodLevel:t,methodValue:y,transmitLevel:p,transmitValue:vi.levels.values[r.transmit.level||e.level],send:r.transmit.send,val:e.levelVal},f)}}}(e[t]))}function ub(r,e,t,i){r._serialize&&La(t,r._serialize,r.serializers,r._stdErrSerialize);const n=t.slice();let s=n[0];const f={};i&&(f.time=i),f.level=vi.levels.values[e];let h=(r._childLevel|0)+1;if(h<1&&(h=1),s!==null&&typeof s=="object"){for(;h--&&typeof n[0]=="object";)Object.assign(f,n.shift());s=n.length?U0(n.shift(),n):void 0}else typeof s=="string"&&(s=U0(n.shift(),n));return s!==void 0&&(f.msg=s),f}function La(r,e,t,i){for(const n in r)if(i&&r[n]instanceof Error)r[n]=vi.stdSerializers.err(r[n]);else if(typeof r[n]=="object"&&!Array.isArray(r[n]))for(const s in r[n])e&&e.indexOf(s)>-1&&s in t&&(r[n][s]=t[s](r[n][s]))}function ts(r,e,t){return function(){const i=new Array(1+arguments.length);i[0]=e;for(var n=1;n<i.length;n++)i[n]=arguments[n-1];return r[t].apply(this,i)}}function lb(r,e,t){const i=e.send,n=e.ts,s=e.methodLevel,f=e.methodValue,h=e.val,l=r._logEvent.bindings;La(t,r._serialize||Object.keys(r.serializers),r.serializers,r._stdErrSerialize===void 0?!0:r._stdErrSerialize),r._logEvent.ts=n,r._logEvent.messages=t.filter(function(p){return l.indexOf(p)===-1}),r._logEvent.level.label=s,r._logEvent.level.value=f,i(s,r._logEvent,h),r._logEvent=Af(l)}function Af(r){return{ts:0,messages:[],bindings:r||[],level:{label:"",value:0}}}function pb(r){const e={type:r.constructor.name,msg:r.message,stack:r.stack};for(const t in r)e[t]===void 0&&(e[t]=r[t]);return e}function bb(r){return typeof r.timestamp=="function"?r.timestamp:r.timestamp===!1?z0:k0}function Ba(){return{}}function Mf(r){return r}function Us(){}function z0(){return!1}function k0(){return Date.now()}function vb(){return Math.round(Date.now()/1e3)}function gb(){return new Date(Date.now()).toISOString()}function mb(){function r(e){return typeof e<"u"&&e}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return r(self)||r(window)||r(this)||{}}}const yb={level:"info"},zs="custom_context",Sf=1e3*1024;class wb{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class V0{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new wb(e);if(t.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=t),this.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const t=e.value;return e=e.next,{done:!1,value:t}}}}}class H0{constructor(e,t=Sf){this.level=e??"error",this.levelValue=Li.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new V0(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===Li.levels.values.error?console.error(e):t===Li.levels.values.warn?console.warn(e):t===Li.levels.values.debug?console.debug(e):t===Li.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(An({timestamp:new Date().toISOString(),log:e}));const t=typeof e=="string"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new V0(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(An({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class xb{constructor(e,t=Sf){this.baseChunkLogger=new H0(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const t=URL.createObjectURL(this.logsToBlob(e)),i=document.createElement("a");i.href=t,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)}}class Ab{constructor(e,t=Sf){this.baseChunkLogger=new H0(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var Mb=Object.defineProperty,Sb=Object.defineProperties,Eb=Object.getOwnPropertyDescriptors,K0=Object.getOwnPropertySymbols,Ib=Object.prototype.hasOwnProperty,Pb=Object.prototype.propertyIsEnumerable,j0=(r,e,t)=>e in r?Mb(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ua=(r,e)=>{for(var t in e||(e={}))Ib.call(e,t)&&j0(r,t,e[t]);if(K0)for(var t of K0(e))Pb.call(e,t)&&j0(r,t,e[t]);return r},za=(r,e)=>Sb(r,Eb(e));function Ef(r){return za(Ua({},r),{level:r?.level||yb.level})}function Ob(r,e=zs){return r[e]||""}function Nb(r,e,t=zs){return r[t]=e,r}function Ir(r,e=zs){let t="";return typeof r.bindings>"u"?t=Ob(r,e):t=r.bindings().context||"",t}function Db(r,e,t=zs){const i=Ir(r,t);return i.trim()?`${i}/${e}`:e}function gr(r,e,t=zs){const i=Db(r,e,t),n=r.child({context:i});return Nb(n,i,t)}function Rb(r){var e,t;const i=new xb((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Li(za(Ua({},r.opts),{level:"trace",browser:za(Ua({},(t=r.opts)==null?void 0:t.browser),{write:n=>i.write(n)})})),chunkLoggerController:i}}function Tb(r){var e;const t=new Ab((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Li(za(Ua({},r.opts),{level:"trace"})),chunkLoggerController:t}}function Cb(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?Rb(r):Tb(r)}class Fb extends wn{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}class qb extends wn{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}}class Lb{constructor(e,t){this.logger=e,this.core=t}}class Bb extends wn{constructor(e,t){super(),this.relayer=e,this.logger=t}}class Ub extends wn{constructor(e){super()}}class zb{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}}class kb extends wn{constructor(e,t){super(),this.relayer=e,this.logger=t}}class Vb extends wn{constructor(e,t){super(),this.core=e,this.logger=t}}class Hb{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}}class Kb{constructor(e,t){this.projectId=e,this.logger=t}}class jb{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}}class Zb{constructor(e){this.opts=e,this.protocol="wc",this.version=2}}class Wb{constructor(e){this.client=e}}var If={},$i={},ka={},Va={};Object.defineProperty(Va,"__esModule",{value:!0}),Va.BrowserRandomSource=void 0;const Z0=65536;class Jb{constructor(){this.isAvailable=!1,this.isInstantiated=!1;const e=typeof self<"u"?self.crypto||self.msCrypto:null;e&&e.getRandomValues!==void 0&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Browser random byte generator is not available.");const t=new Uint8Array(e);for(let i=0;i<t.length;i+=Z0)this._crypto.getRandomValues(t.subarray(i,i+Math.min(t.length-i,Z0)));return t}}Va.BrowserRandomSource=Jb;function Gb(r){throw new Error('Could not dynamically require "'+r+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ha={},Tr={};Object.defineProperty(Tr,"__esModule",{value:!0});function Qb(r){for(var e=0;e<r.length;e++)r[e]=0;return r}Tr.wipe=Qb;var Yb={},Xb=Object.freeze({__proto__:null,default:Yb}),ks=ff(Xb);Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.NodeRandomSource=void 0;const _b=Tr;class $b{constructor(){if(this.isAvailable=!1,this.isInstantiated=!1,typeof Gb<"u"){const e=ks;e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Node.js random byte generator is not available.");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error("NodeRandomSource: got fewer bytes than requested");const i=new Uint8Array(e);for(let n=0;n<i.length;n++)i[n]=t[n];return(0,_b.wipe)(t),i}}Ha.NodeRandomSource=$b,Object.defineProperty(ka,"__esModule",{value:!0}),ka.SystemRandomSource=void 0;const e2=Va,t2=Ha;class r2{constructor(){if(this.isAvailable=!1,this.name="",this._source=new e2.BrowserRandomSource,this._source.isAvailable){this.isAvailable=!0,this.name="Browser";return}if(this._source=new t2.NodeRandomSource,this._source.isAvailable){this.isAvailable=!0,this.name="Node";return}}randomBytes(e){if(!this.isAvailable)throw new Error("System random byte generator is not available.");return this._source.randomBytes(e)}}ka.SystemRandomSource=r2;var et={},W0={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});function e(h,l){var p=h>>>16&65535,m=h&65535,y=l>>>16&65535,E=l&65535;return m*E+(p*E+m*y<<16>>>0)|0}r.mul=Math.imul||e;function t(h,l){return h+l|0}r.add=t;function i(h,l){return h-l|0}r.sub=i;function n(h,l){return h<<l|h>>>32-l}r.rotl=n;function s(h,l){return h<<32-l|h>>>l}r.rotr=s;function f(h){return typeof h=="number"&&isFinite(h)&&Math.floor(h)===h}r.isInteger=Number.isInteger||f,r.MAX_SAFE_INTEGER=9007199254740991,r.isSafeInteger=function(h){return r.isInteger(h)&&h>=-r.MAX_SAFE_INTEGER&&h<=r.MAX_SAFE_INTEGER}})(W0),Object.defineProperty(et,"__esModule",{value:!0});var J0=W0;function i2(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])<<16>>16}et.readInt16BE=i2;function n2(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])>>>0}et.readUint16BE=n2;function s2(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])<<16>>16}et.readInt16LE=s2;function a2(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])>>>0}et.readUint16LE=a2;function G0(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>8,e[t+1]=r>>>0,e}et.writeUint16BE=G0,et.writeInt16BE=G0;function Q0(r,e,t){return e===void 0&&(e=new Uint8Array(2)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e}et.writeUint16LE=Q0,et.writeInt16LE=Q0;function Pf(r,e){return e===void 0&&(e=0),r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}et.readInt32BE=Pf;function Of(r,e){return e===void 0&&(e=0),(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}et.readUint32BE=Of;function Nf(r,e){return e===void 0&&(e=0),r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e]}et.readInt32LE=Nf;function Df(r,e){return e===void 0&&(e=0),(r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e])>>>0}et.readUint32LE=Df;function Ka(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>24,e[t+1]=r>>>16,e[t+2]=r>>>8,e[t+3]=r>>>0,e}et.writeUint32BE=Ka,et.writeInt32BE=Ka;function ja(r,e,t){return e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0),e[t+0]=r>>>0,e[t+1]=r>>>8,e[t+2]=r>>>16,e[t+3]=r>>>24,e}et.writeUint32LE=ja,et.writeInt32LE=ja;function o2(r,e){e===void 0&&(e=0);var t=Pf(r,e),i=Pf(r,e+4);return t*4294967296+i-(i>>31)*4294967296}et.readInt64BE=o2;function f2(r,e){e===void 0&&(e=0);var t=Of(r,e),i=Of(r,e+4);return t*4294967296+i}et.readUint64BE=f2;function c2(r,e){e===void 0&&(e=0);var t=Nf(r,e),i=Nf(r,e+4);return i*4294967296+t-(t>>31)*4294967296}et.readInt64LE=c2;function h2(r,e){e===void 0&&(e=0);var t=Df(r,e),i=Df(r,e+4);return i*4294967296+t}et.readUint64LE=h2;function Y0(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),Ka(r/4294967296>>>0,e,t),Ka(r>>>0,e,t+4),e}et.writeUint64BE=Y0,et.writeInt64BE=Y0;function X0(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),ja(r>>>0,e,t),ja(r/4294967296>>>0,e,t+4),e}et.writeUint64LE=X0,et.writeInt64LE=X0;function d2(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintBE: array is too short for the given bitLength");for(var i=0,n=1,s=r/8+t-1;s>=t;s--)i+=e[s]*n,n*=256;return i}et.readUintBE=d2;function u2(r,e,t){if(t===void 0&&(t=0),r%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(r/8>e.length-t)throw new Error("readUintLE: array is too short for the given bitLength");for(var i=0,n=1,s=t;s<t+r/8;s++)i+=e[s]*n,n*=256;return i}et.readUintLE=u2;function l2(r,e,t,i){if(t===void 0&&(t=new Uint8Array(r/8)),i===void 0&&(i=0),r%8!==0)throw new Error("writeUintBE supports only bitLengths divisible by 8");if(!J0.isSafeInteger(e))throw new Error("writeUintBE value must be an integer");for(var n=1,s=r/8+i-1;s>=i;s--)t[s]=e/n&255,n*=256;return t}et.writeUintBE=l2;function p2(r,e,t,i){if(t===void 0&&(t=new Uint8Array(r/8)),i===void 0&&(i=0),r%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!J0.isSafeInteger(e))throw new Error("writeUintLE value must be an integer");for(var n=1,s=i;s<i+r/8;s++)t[s]=e/n&255,n*=256;return t}et.writeUintLE=p2;function b2(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat32(e)}et.readFloat32BE=b2;function v2(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat32(e,!0)}et.readFloat32LE=v2;function g2(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat64(e)}et.readFloat64BE=g2;function m2(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat64(e,!0)}et.readFloat64LE=m2;function y2(r,e,t){e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat32(t,r),e}et.writeFloat32BE=y2;function w2(r,e,t){e===void 0&&(e=new Uint8Array(4)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat32(t,r,!0),e}et.writeFloat32LE=w2;function x2(r,e,t){e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat64(t,r),e}et.writeFloat64BE=x2;function A2(r,e,t){e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0);var i=new DataView(e.buffer,e.byteOffset,e.byteLength);return i.setFloat64(t,r,!0),e}et.writeFloat64LE=A2,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.randomStringForEntropy=r.randomString=r.randomUint32=r.randomBytes=r.defaultRandomSource=void 0;const e=ka,t=et,i=Tr;r.defaultRandomSource=new e.SystemRandomSource;function n(p,m=r.defaultRandomSource){return m.randomBytes(p)}r.randomBytes=n;function s(p=r.defaultRandomSource){const m=n(4,p),y=(0,t.readUint32LE)(m);return(0,i.wipe)(m),y}r.randomUint32=s;const f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function h(p,m=f,y=r.defaultRandomSource){if(m.length<2)throw new Error("randomString charset is too short");if(m.length>256)throw new Error("randomString charset is too long");let E="";const I=m.length,N=256-256%I;for(;p>0;){const F=n(Math.ceil(p*256/N),y);for(let k=0;k<F.length&&p>0;k++){const H=F[k];H<N&&(E+=m.charAt(H%I),p--)}(0,i.wipe)(F)}return E}r.randomString=h;function l(p,m=f,y=r.defaultRandomSource){const E=Math.ceil(p/(Math.log(m.length)/Math.LN2));return h(E,m,y)}r.randomStringForEntropy=l}($i);var _0={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=et,t=Tr;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function h(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._stateHi=new Int32Array(8),this._stateLo=new Int32Array(8),this._tempHi=new Int32Array(16),this._tempLo=new Int32Array(16),this._buffer=new Uint8Array(256),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return h.prototype._initState=function(){this._stateHi[0]=1779033703,this._stateHi[1]=3144134277,this._stateHi[2]=1013904242,this._stateHi[3]=2773480762,this._stateHi[4]=1359893119,this._stateHi[5]=2600822924,this._stateHi[6]=528734635,this._stateHi[7]=1541459225,this._stateLo[0]=4089235720,this._stateLo[1]=2227873595,this._stateLo[2]=4271175723,this._stateLo[3]=1595750129,this._stateLo[4]=2917565137,this._stateLo[5]=725511199,this._stateLo[6]=4215389547,this._stateLo[7]=327033209},h.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},h.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},h.prototype.update=function(l,p){if(p===void 0&&(p=l.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var m=0;if(this._bytesHashed+=p,this._bufferLength>0){for(;this._bufferLength<r.BLOCK_SIZE&&p>0;)this._buffer[this._bufferLength++]=l[m++],p--;this._bufferLength===this.blockSize&&(s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(p>=this.blockSize&&(m=s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,l,m,p),p%=this.blockSize);p>0;)this._buffer[this._bufferLength++]=l[m++],p--;return this},h.prototype.finish=function(l){if(!this._finished){var p=this._bytesHashed,m=this._bufferLength,y=p/536870912|0,E=p<<3,I=p%128<112?128:256;this._buffer[m]=128;for(var N=m+1;N<I-8;N++)this._buffer[N]=0;e.writeUint32BE(y,this._buffer,I-8),e.writeUint32BE(E,this._buffer,I-4),s(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,I),this._finished=!0}for(var N=0;N<this.digestLength/8;N++)e.writeUint32BE(this._stateHi[N],l,N*8),e.writeUint32BE(this._stateLo[N],l,N*8+4);return this},h.prototype.digest=function(){var l=new Uint8Array(this.digestLength);return this.finish(l),l},h.prototype.saveState=function(){if(this._finished)throw new Error("SHA256: cannot save finished state");return{stateHi:new Int32Array(this._stateHi),stateLo:new Int32Array(this._stateLo),buffer:this._bufferLength>0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},h.prototype.restoreState=function(l){return this._stateHi.set(l.stateHi),this._stateLo.set(l.stateLo),this._bufferLength=l.bufferLength,l.buffer&&this._buffer.set(l.buffer),this._bytesHashed=l.bytesHashed,this._finished=!1,this},h.prototype.cleanSavedState=function(l){t.wipe(l.stateHi),t.wipe(l.stateLo),l.buffer&&t.wipe(l.buffer),l.bufferLength=0,l.bytesHashed=0},h}();r.SHA512=i;var n=new Int32Array([1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591]);function s(h,l,p,m,y,E,I){for(var N=p[0],F=p[1],k=p[2],H=p[3],L=p[4],W=p[5],z=p[6],R=p[7],V=m[0],S=m[1],B=m[2],G=m[3],ie=m[4],P=m[5],o=m[6],d=m[7],a,u,b,w,A,g,c,v;I>=128;){for(var M=0;M<16;M++){var D=8*M+E;h[M]=e.readUint32BE(y,D),l[M]=e.readUint32BE(y,D+4)}for(var M=0;M<80;M++){var J=N,O=F,Z=k,U=H,q=L,T=W,x=z,C=R,j=V,Q=S,_=B,X=G,ne=ie,ae=P,$=o,he=d;if(a=R,u=d,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=(L>>>14|ie<<32-14)^(L>>>18|ie<<32-18)^(ie>>>41-32|L<<32-(41-32)),u=(ie>>>14|L<<32-14)^(ie>>>18|L<<32-18)^(L>>>41-32|ie<<32-(41-32)),A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,a=L&W^~L&z,u=ie&P^~ie&o,A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,a=n[M*2],u=n[M*2+1],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,a=h[M%16],u=l[M%16],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,b=c&65535|v<<16,w=A&65535|g<<16,a=b,u=w,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=(N>>>28|V<<32-28)^(V>>>34-32|N<<32-(34-32))^(V>>>39-32|N<<32-(39-32)),u=(V>>>28|N<<32-28)^(N>>>34-32|V<<32-(34-32))^(N>>>39-32|V<<32-(39-32)),A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,a=N&F^N&k^F&k,u=V&S^V&B^S&B,A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,C=c&65535|v<<16,he=A&65535|g<<16,a=U,u=X,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=b,u=w,A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,U=c&65535|v<<16,X=A&65535|g<<16,F=J,k=O,H=Z,L=U,W=q,z=T,R=x,N=C,S=j,B=Q,G=_,ie=X,P=ne,o=ae,d=$,V=he,M%16===15)for(var D=0;D<16;D++)a=h[D],u=l[D],A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=h[(D+9)%16],u=l[(D+9)%16],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,b=h[(D+1)%16],w=l[(D+1)%16],a=(b>>>1|w<<32-1)^(b>>>8|w<<32-8)^b>>>7,u=(w>>>1|b<<32-1)^(w>>>8|b<<32-8)^(w>>>7|b<<32-7),A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,b=h[(D+14)%16],w=l[(D+14)%16],a=(b>>>19|w<<32-19)^(w>>>61-32|b<<32-(61-32))^b>>>6,u=(w>>>19|b<<32-19)^(b>>>61-32|w<<32-(61-32))^(w>>>6|b<<32-6),A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,h[D]=c&65535|v<<16,l[D]=A&65535|g<<16}a=N,u=V,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[0],u=m[0],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[0]=N=c&65535|v<<16,m[0]=V=A&65535|g<<16,a=F,u=S,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[1],u=m[1],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[1]=F=c&65535|v<<16,m[1]=S=A&65535|g<<16,a=k,u=B,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[2],u=m[2],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[2]=k=c&65535|v<<16,m[2]=B=A&65535|g<<16,a=H,u=G,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[3],u=m[3],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[3]=H=c&65535|v<<16,m[3]=G=A&65535|g<<16,a=L,u=ie,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[4],u=m[4],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[4]=L=c&65535|v<<16,m[4]=ie=A&65535|g<<16,a=W,u=P,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[5],u=m[5],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[5]=W=c&65535|v<<16,m[5]=P=A&65535|g<<16,a=z,u=o,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[6],u=m[6],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[6]=z=c&65535|v<<16,m[6]=o=A&65535|g<<16,a=R,u=d,A=u&65535,g=u>>>16,c=a&65535,v=a>>>16,a=p[7],u=m[7],A+=u&65535,g+=u>>>16,c+=a&65535,v+=a>>>16,g+=A>>>16,c+=g>>>16,v+=c>>>16,p[7]=R=c&65535|v<<16,m[7]=d=A&65535|g<<16,E+=128,I-=128}return E}function f(h){var l=new i;l.update(h);var p=l.digest();return l.clean(),p}r.hash=f})(_0),function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.convertSecretKeyToX25519=r.convertPublicKeyToX25519=r.verify=r.sign=r.extractPublicKeyFromSecretKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.SEED_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=r.SIGNATURE_LENGTH=void 0;const e=$i,t=_0,i=Tr;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n(U){const q=new Float64Array(16);if(U)for(let T=0;T<U.length;T++)q[T]=U[T];return q}const s=new Uint8Array(32);s[0]=9;const f=n(),h=n([1]),l=n([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),p=n([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),m=n([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),y=n([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),E=n([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function I(U,q){for(let T=0;T<16;T++)U[T]=q[T]|0}function N(U){let q=1;for(let T=0;T<16;T++){let x=U[T]+q+65535;q=Math.floor(x/65536),U[T]=x-q*65536}U[0]+=q-1+37*(q-1)}function F(U,q,T){const x=~(T-1);for(let C=0;C<16;C++){const j=x&(U[C]^q[C]);U[C]^=j,q[C]^=j}}function k(U,q){const T=n(),x=n();for(let C=0;C<16;C++)x[C]=q[C];N(x),N(x),N(x);for(let C=0;C<2;C++){T[0]=x[0]-65517;for(let Q=1;Q<15;Q++)T[Q]=x[Q]-65535-(T[Q-1]>>16&1),T[Q-1]&=65535;T[15]=x[15]-32767-(T[14]>>16&1);const j=T[15]>>16&1;T[14]&=65535,F(x,T,1-j)}for(let C=0;C<16;C++)U[2*C]=x[C]&255,U[2*C+1]=x[C]>>8}function H(U,q){let T=0;for(let x=0;x<32;x++)T|=U[x]^q[x];return(1&T-1>>>8)-1}function L(U,q){const T=new Uint8Array(32),x=new Uint8Array(32);return k(T,U),k(x,q),H(T,x)}function W(U){const q=new Uint8Array(32);return k(q,U),q[0]&1}function z(U,q){for(let T=0;T<16;T++)U[T]=q[2*T]+(q[2*T+1]<<8);U[15]&=32767}function R(U,q,T){for(let x=0;x<16;x++)U[x]=q[x]+T[x]}function V(U,q,T){for(let x=0;x<16;x++)U[x]=q[x]-T[x]}function S(U,q,T){let x,C,j=0,Q=0,_=0,X=0,ne=0,ae=0,$=0,he=0,Pe=0,se=0,de=0,Se=0,re=0,ce=0,xe=0,ee=0,ve=0,qe=0,te=0,we=0,Ne=0,oe=0,pe=0,ze=0,Ae=0,ke=0,_e=0,Me=0,Ke=0,it=0,Oe=0,Ce=T[0],je=T[1],be=T[2],Fe=T[3],Je=T[4],le=T[5],Be=T[6],Ge=T[7],ge=T[8],Le=T[9],Qe=T[10],ue=T[11],Re=T[12],He=T[13],me=T[14],Ue=T[15];x=q[0],j+=x*Ce,Q+=x*je,_+=x*be,X+=x*Fe,ne+=x*Je,ae+=x*le,$+=x*Be,he+=x*Ge,Pe+=x*ge,se+=x*Le,de+=x*Qe,Se+=x*ue,re+=x*Re,ce+=x*He,xe+=x*me,ee+=x*Ue,x=q[1],Q+=x*Ce,_+=x*je,X+=x*be,ne+=x*Fe,ae+=x*Je,$+=x*le,he+=x*Be,Pe+=x*Ge,se+=x*ge,de+=x*Le,Se+=x*Qe,re+=x*ue,ce+=x*Re,xe+=x*He,ee+=x*me,ve+=x*Ue,x=q[2],_+=x*Ce,X+=x*je,ne+=x*be,ae+=x*Fe,$+=x*Je,he+=x*le,Pe+=x*Be,se+=x*Ge,de+=x*ge,Se+=x*Le,re+=x*Qe,ce+=x*ue,xe+=x*Re,ee+=x*He,ve+=x*me,qe+=x*Ue,x=q[3],X+=x*Ce,ne+=x*je,ae+=x*be,$+=x*Fe,he+=x*Je,Pe+=x*le,se+=x*Be,de+=x*Ge,Se+=x*ge,re+=x*Le,ce+=x*Qe,xe+=x*ue,ee+=x*Re,ve+=x*He,qe+=x*me,te+=x*Ue,x=q[4],ne+=x*Ce,ae+=x*je,$+=x*be,he+=x*Fe,Pe+=x*Je,se+=x*le,de+=x*Be,Se+=x*Ge,re+=x*ge,ce+=x*Le,xe+=x*Qe,ee+=x*ue,ve+=x*Re,qe+=x*He,te+=x*me,we+=x*Ue,x=q[5],ae+=x*Ce,$+=x*je,he+=x*be,Pe+=x*Fe,se+=x*Je,de+=x*le,Se+=x*Be,re+=x*Ge,ce+=x*ge,xe+=x*Le,ee+=x*Qe,ve+=x*ue,qe+=x*Re,te+=x*He,we+=x*me,Ne+=x*Ue,x=q[6],$+=x*Ce,he+=x*je,Pe+=x*be,se+=x*Fe,de+=x*Je,Se+=x*le,re+=x*Be,ce+=x*Ge,xe+=x*ge,ee+=x*Le,ve+=x*Qe,qe+=x*ue,te+=x*Re,we+=x*He,Ne+=x*me,oe+=x*Ue,x=q[7],he+=x*Ce,Pe+=x*je,se+=x*be,de+=x*Fe,Se+=x*Je,re+=x*le,ce+=x*Be,xe+=x*Ge,ee+=x*ge,ve+=x*Le,qe+=x*Qe,te+=x*ue,we+=x*Re,Ne+=x*He,oe+=x*me,pe+=x*Ue,x=q[8],Pe+=x*Ce,se+=x*je,de+=x*be,Se+=x*Fe,re+=x*Je,ce+=x*le,xe+=x*Be,ee+=x*Ge,ve+=x*ge,qe+=x*Le,te+=x*Qe,we+=x*ue,Ne+=x*Re,oe+=x*He,pe+=x*me,ze+=x*Ue,x=q[9],se+=x*Ce,de+=x*je,Se+=x*be,re+=x*Fe,ce+=x*Je,xe+=x*le,ee+=x*Be,ve+=x*Ge,qe+=x*ge,te+=x*Le,we+=x*Qe,Ne+=x*ue,oe+=x*Re,pe+=x*He,ze+=x*me,Ae+=x*Ue,x=q[10],de+=x*Ce,Se+=x*je,re+=x*be,ce+=x*Fe,xe+=x*Je,ee+=x*le,ve+=x*Be,qe+=x*Ge,te+=x*ge,we+=x*Le,Ne+=x*Qe,oe+=x*ue,pe+=x*Re,ze+=x*He,Ae+=x*me,ke+=x*Ue,x=q[11],Se+=x*Ce,re+=x*je,ce+=x*be,xe+=x*Fe,ee+=x*Je,ve+=x*le,qe+=x*Be,te+=x*Ge,we+=x*ge,Ne+=x*Le,oe+=x*Qe,pe+=x*ue,ze+=x*Re,Ae+=x*He,ke+=x*me,_e+=x*Ue,x=q[12],re+=x*Ce,ce+=x*je,xe+=x*be,ee+=x*Fe,ve+=x*Je,qe+=x*le,te+=x*Be,we+=x*Ge,Ne+=x*ge,oe+=x*Le,pe+=x*Qe,ze+=x*ue,Ae+=x*Re,ke+=x*He,_e+=x*me,Me+=x*Ue,x=q[13],ce+=x*Ce,xe+=x*je,ee+=x*be,ve+=x*Fe,qe+=x*Je,te+=x*le,we+=x*Be,Ne+=x*Ge,oe+=x*ge,pe+=x*Le,ze+=x*Qe,Ae+=x*ue,ke+=x*Re,_e+=x*He,Me+=x*me,Ke+=x*Ue,x=q[14],xe+=x*Ce,ee+=x*je,ve+=x*be,qe+=x*Fe,te+=x*Je,we+=x*le,Ne+=x*Be,oe+=x*Ge,pe+=x*ge,ze+=x*Le,Ae+=x*Qe,ke+=x*ue,_e+=x*Re,Me+=x*He,Ke+=x*me,it+=x*Ue,x=q[15],ee+=x*Ce,ve+=x*je,qe+=x*be,te+=x*Fe,we+=x*Je,Ne+=x*le,oe+=x*Be,pe+=x*Ge,ze+=x*ge,Ae+=x*Le,ke+=x*Qe,_e+=x*ue,Me+=x*Re,Ke+=x*He,it+=x*me,Oe+=x*Ue,j+=38*ve,Q+=38*qe,_+=38*te,X+=38*we,ne+=38*Ne,ae+=38*oe,$+=38*pe,he+=38*ze,Pe+=38*Ae,se+=38*ke,de+=38*_e,Se+=38*Me,re+=38*Ke,ce+=38*it,xe+=38*Oe,C=1,x=j+C+65535,C=Math.floor(x/65536),j=x-C*65536,x=Q+C+65535,C=Math.floor(x/65536),Q=x-C*65536,x=_+C+65535,C=Math.floor(x/65536),_=x-C*65536,x=X+C+65535,C=Math.floor(x/65536),X=x-C*65536,x=ne+C+65535,C=Math.floor(x/65536),ne=x-C*65536,x=ae+C+65535,C=Math.floor(x/65536),ae=x-C*65536,x=$+C+65535,C=Math.floor(x/65536),$=x-C*65536,x=he+C+65535,C=Math.floor(x/65536),he=x-C*65536,x=Pe+C+65535,C=Math.floor(x/65536),Pe=x-C*65536,x=se+C+65535,C=Math.floor(x/65536),se=x-C*65536,x=de+C+65535,C=Math.floor(x/65536),de=x-C*65536,x=Se+C+65535,C=Math.floor(x/65536),Se=x-C*65536,x=re+C+65535,C=Math.floor(x/65536),re=x-C*65536,x=ce+C+65535,C=Math.floor(x/65536),ce=x-C*65536,x=xe+C+65535,C=Math.floor(x/65536),xe=x-C*65536,x=ee+C+65535,C=Math.floor(x/65536),ee=x-C*65536,j+=C-1+37*(C-1),C=1,x=j+C+65535,C=Math.floor(x/65536),j=x-C*65536,x=Q+C+65535,C=Math.floor(x/65536),Q=x-C*65536,x=_+C+65535,C=Math.floor(x/65536),_=x-C*65536,x=X+C+65535,C=Math.floor(x/65536),X=x-C*65536,x=ne+C+65535,C=Math.floor(x/65536),ne=x-C*65536,x=ae+C+65535,C=Math.floor(x/65536),ae=x-C*65536,x=$+C+65535,C=Math.floor(x/65536),$=x-C*65536,x=he+C+65535,C=Math.floor(x/65536),he=x-C*65536,x=Pe+C+65535,C=Math.floor(x/65536),Pe=x-C*65536,x=se+C+65535,C=Math.floor(x/65536),se=x-C*65536,x=de+C+65535,C=Math.floor(x/65536),de=x-C*65536,x=Se+C+65535,C=Math.floor(x/65536),Se=x-C*65536,x=re+C+65535,C=Math.floor(x/65536),re=x-C*65536,x=ce+C+65535,C=Math.floor(x/65536),ce=x-C*65536,x=xe+C+65535,C=Math.floor(x/65536),xe=x-C*65536,x=ee+C+65535,C=Math.floor(x/65536),ee=x-C*65536,j+=C-1+37*(C-1),U[0]=j,U[1]=Q,U[2]=_,U[3]=X,U[4]=ne,U[5]=ae,U[6]=$,U[7]=he,U[8]=Pe,U[9]=se,U[10]=de,U[11]=Se,U[12]=re,U[13]=ce,U[14]=xe,U[15]=ee}function B(U,q){S(U,q,q)}function G(U,q){const T=n();let x;for(x=0;x<16;x++)T[x]=q[x];for(x=253;x>=0;x--)B(T,T),x!==2&&x!==4&&S(T,T,q);for(x=0;x<16;x++)U[x]=T[x]}function ie(U,q){const T=n();let x;for(x=0;x<16;x++)T[x]=q[x];for(x=250;x>=0;x--)B(T,T),x!==1&&S(T,T,q);for(x=0;x<16;x++)U[x]=T[x]}function P(U,q){const T=n(),x=n(),C=n(),j=n(),Q=n(),_=n(),X=n(),ne=n(),ae=n();V(T,U[1],U[0]),V(ae,q[1],q[0]),S(T,T,ae),R(x,U[0],U[1]),R(ae,q[0],q[1]),S(x,x,ae),S(C,U[3],q[3]),S(C,C,p),S(j,U[2],q[2]),R(j,j,j),V(Q,x,T),V(_,j,C),R(X,j,C),R(ne,x,T),S(U[0],Q,_),S(U[1],ne,X),S(U[2],X,_),S(U[3],Q,ne)}function o(U,q,T){for(let x=0;x<4;x++)F(U[x],q[x],T)}function d(U,q){const T=n(),x=n(),C=n();G(C,q[2]),S(T,q[0],C),S(x,q[1],C),k(U,x),U[31]^=W(T)<<7}function a(U,q,T){I(U[0],f),I(U[1],h),I(U[2],h),I(U[3],f);for(let x=255;x>=0;--x){const C=T[x/8|0]>>(x&7)&1;o(U,q,C),P(q,U),P(U,U),o(U,q,C)}}function u(U,q){const T=[n(),n(),n(),n()];I(T[0],m),I(T[1],y),I(T[2],h),S(T[3],m,y),a(U,T,q)}function b(U){if(U.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const q=(0,t.hash)(U);q[0]&=248,q[31]&=127,q[31]|=64;const T=new Uint8Array(32),x=[n(),n(),n(),n()];u(x,q),d(T,x);const C=new Uint8Array(64);return C.set(U),C.set(T,32),{publicKey:T,secretKey:C}}r.generateKeyPairFromSeed=b;function w(U){const q=(0,e.randomBytes)(32,U),T=b(q);return(0,i.wipe)(q),T}r.generateKeyPair=w;function A(U){if(U.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(U.subarray(32))}r.extractPublicKeyFromSecretKey=A;const g=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]);function c(U,q){let T,x,C,j;for(x=63;x>=32;--x){for(T=0,C=x-32,j=x-12;C<j;++C)q[C]+=T-16*q[x]*g[C-(x-32)],T=Math.floor((q[C]+128)/256),q[C]-=T*256;q[C]+=T,q[x]=0}for(T=0,C=0;C<32;C++)q[C]+=T-(q[31]>>4)*g[C],T=q[C]>>8,q[C]&=255;for(C=0;C<32;C++)q[C]-=T*g[C];for(x=0;x<32;x++)q[x+1]+=q[x]>>8,U[x]=q[x]&255}function v(U){const q=new Float64Array(64);for(let T=0;T<64;T++)q[T]=U[T];for(let T=0;T<64;T++)U[T]=0;c(U,q)}function M(U,q){const T=new Float64Array(64),x=[n(),n(),n(),n()],C=(0,t.hash)(U.subarray(0,32));C[0]&=248,C[31]&=127,C[31]|=64;const j=new Uint8Array(64);j.set(C.subarray(32),32);const Q=new t.SHA512;Q.update(j.subarray(32)),Q.update(q);const _=Q.digest();Q.clean(),v(_),u(x,_),d(j,x),Q.reset(),Q.update(j.subarray(0,32)),Q.update(U.subarray(32)),Q.update(q);const X=Q.digest();v(X);for(let ne=0;ne<32;ne++)T[ne]=_[ne];for(let ne=0;ne<32;ne++)for(let ae=0;ae<32;ae++)T[ne+ae]+=X[ne]*C[ae];return c(j.subarray(32),T),j}r.sign=M;function D(U,q){const T=n(),x=n(),C=n(),j=n(),Q=n(),_=n(),X=n();return I(U[2],h),z(U[1],q),B(C,U[1]),S(j,C,l),V(C,C,U[2]),R(j,U[2],j),B(Q,j),B(_,Q),S(X,_,Q),S(T,X,C),S(T,T,j),ie(T,T),S(T,T,C),S(T,T,j),S(T,T,j),S(U[0],T,j),B(x,U[0]),S(x,x,j),L(x,C)&&S(U[0],U[0],E),B(x,U[0]),S(x,x,j),L(x,C)?-1:(W(U[0])===q[31]>>7&&V(U[0],f,U[0]),S(U[3],U[0],U[1]),0)}function J(U,q,T){const x=new Uint8Array(32),C=[n(),n(),n(),n()],j=[n(),n(),n(),n()];if(T.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(D(j,U))return!1;const Q=new t.SHA512;Q.update(T.subarray(0,32)),Q.update(U),Q.update(q);const _=Q.digest();return v(_),a(C,j,_),u(j,T.subarray(32)),P(C,j),d(x,C),!H(T,x)}r.verify=J;function O(U){let q=[n(),n(),n(),n()];if(D(q,U))throw new Error("Ed25519: invalid public key");let T=n(),x=n(),C=q[1];R(T,h,C),V(x,h,C),G(x,x),S(T,T,x);let j=new Uint8Array(32);return k(j,T),j}r.convertPublicKeyToX25519=O;function Z(U){const q=(0,t.hash)(U.subarray(0,32));q[0]&=248,q[31]&=127,q[31]|=64;const T=new Uint8Array(q.subarray(0,32));return(0,i.wipe)(q),T}r.convertSecretKeyToX25519=Z}(If);const M2="EdDSA",S2="JWT",Za=".",Wa="base64url",$0="utf8",eh="utf8",E2=":",I2="did",P2="key",th="base58btc",O2="z",N2="K36",D2=32;function rh(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function Ja(r,e){e||(e=r.reduce((n,s)=>n+s.length,0));const t=rh(e);let i=0;for(const n of r)t.set(n,i),i+=n.length;return t}function R2(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var n=0;n<r.length;n++){var s=r.charAt(n),f=s.charCodeAt(0);if(t[f]!==255)throw new TypeError(s+" is ambiguous");t[f]=n}var h=r.length,l=r.charAt(0),p=Math.log(h)/Math.log(256),m=Math.log(256)/Math.log(h);function y(N){if(N instanceof Uint8Array||(ArrayBuffer.isView(N)?N=new Uint8Array(N.buffer,N.byteOffset,N.byteLength):Array.isArray(N)&&(N=Uint8Array.from(N))),!(N instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(N.length===0)return"";for(var F=0,k=0,H=0,L=N.length;H!==L&&N[H]===0;)H++,F++;for(var W=(L-H)*m+1>>>0,z=new Uint8Array(W);H!==L;){for(var R=N[H],V=0,S=W-1;(R!==0||V<k)&&S!==-1;S--,V++)R+=256*z[S]>>>0,z[S]=R%h>>>0,R=R/h>>>0;if(R!==0)throw new Error("Non-zero carry");k=V,H++}for(var B=W-k;B!==W&&z[B]===0;)B++;for(var G=l.repeat(F);B<W;++B)G+=r.charAt(z[B]);return G}function E(N){if(typeof N!="string")throw new TypeError("Expected String");if(N.length===0)return new Uint8Array;var F=0;if(N[F]!==" "){for(var k=0,H=0;N[F]===l;)k++,F++;for(var L=(N.length-F)*p+1>>>0,W=new Uint8Array(L);N[F];){var z=t[N.charCodeAt(F)];if(z===255)return;for(var R=0,V=L-1;(z!==0||R<H)&&V!==-1;V--,R++)z+=h*W[V]>>>0,W[V]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");H=R,F++}if(N[F]!==" "){for(var S=L-H;S!==L&&W[S]===0;)S++;for(var B=new Uint8Array(k+(L-S)),G=k;S!==L;)B[G++]=W[S++];return B}}}function I(N){var F=E(N);if(F)return F;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:E,decode:I}}var T2=R2,C2=T2;const ih=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},F2=r=>new TextEncoder().encode(r),q2=r=>new TextDecoder().decode(r);class L2{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class B2{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return nh(this,e)}}class U2{constructor(e){this.decoders=e}or(e){return nh(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const nh=(r,e)=>new U2({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class z2{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new L2(e,t,i),this.decoder=new B2(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ga=({name:r,prefix:e,encode:t,decode:i})=>new z2(r,e,t,i),Vs=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=C2(t,e);return Ga({prefix:r,name:e,encode:i,decode:s=>ih(n(s))})},k2=(r,e,t,i)=>{const n={};for(let m=0;m<e.length;++m)n[e[m]]=m;let s=r.length;for(;r[s-1]==="=";)--s;const f=new Uint8Array(s*t/8|0);let h=0,l=0,p=0;for(let m=0;m<s;++m){const y=n[r[m]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);l=l<<t|y,h+=t,h>=8&&(h-=8,f[p++]=255&l>>h)}if(h>=t||255&l<<8-h)throw new SyntaxError("Unexpected end of data");return f},V2=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let s="",f=0,h=0;for(let l=0;l<r.length;++l)for(h=h<<8|r[l],f+=8;f>t;)f-=t,s+=e[n&h>>f];if(f&&(s+=e[n&h<<t-f]),i)for(;s.length*t&7;)s+="=";return s},_t=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ga({prefix:e,name:r,encode(n){return V2(n,i,t)},decode(n){return k2(n,i,t,r)}}),H2=Ga({prefix:"\0",name:"identity",encode:r=>q2(r),decode:r=>F2(r)});var K2=Object.freeze({__proto__:null,identity:H2});const j2=_t({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Z2=Object.freeze({__proto__:null,base2:j2});const W2=_t({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var J2=Object.freeze({__proto__:null,base8:W2});const G2=Vs({prefix:"9",name:"base10",alphabet:"0123456789"});var Q2=Object.freeze({__proto__:null,base10:G2});const Y2=_t({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),X2=_t({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var _2=Object.freeze({__proto__:null,base16:Y2,base16upper:X2});const $2=_t({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ev=_t({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),tv=_t({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),rv=_t({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),iv=_t({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nv=_t({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),sv=_t({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),av=_t({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ov=_t({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var fv=Object.freeze({__proto__:null,base32:$2,base32upper:ev,base32pad:tv,base32padupper:rv,base32hex:iv,base32hexupper:nv,base32hexpad:sv,base32hexpadupper:av,base32z:ov});const cv=Vs({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),hv=Vs({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var dv=Object.freeze({__proto__:null,base36:cv,base36upper:hv});const uv=Vs({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lv=Vs({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var pv=Object.freeze({__proto__:null,base58btc:uv,base58flickr:lv});const bv=_t({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),vv=_t({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gv=_t({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),mv=_t({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var yv=Object.freeze({__proto__:null,base64:bv,base64pad:vv,base64url:gv,base64urlpad:mv});const sh=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),wv=sh.reduce((r,e,t)=>(r[t]=e,r),[]),xv=sh.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Av(r){return r.reduce((e,t)=>(e+=wv[t],e),"")}function Mv(r){const e=[];for(const t of r){const i=xv[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Sv=Ga({prefix:"\u{1F680}",name:"base256emoji",encode:Av,decode:Mv});var Ev=Object.freeze({__proto__:null,base256emoji:Sv}),Iv=oh,ah=128,Pv=127,Ov=~Pv,Nv=Math.pow(2,31);function oh(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Nv;)e[t++]=r&255|ah,r/=128;for(;r&Ov;)e[t++]=r&255|ah,r>>>=7;return e[t]=r|0,oh.bytes=t-i+1,e}var Dv=Rf,Rv=128,fh=127;function Rf(r,i){var t=0,i=i||0,n=0,s=i,f,h=r.length;do{if(s>=h)throw Rf.bytes=0,new RangeError("Could not decode varint");f=r[s++],t+=n<28?(f&fh)<<n:(f&fh)*Math.pow(2,n),n+=7}while(f>=Rv);return Rf.bytes=s-i,t}var Tv=Math.pow(2,7),Cv=Math.pow(2,14),Fv=Math.pow(2,21),qv=Math.pow(2,28),Lv=Math.pow(2,35),Bv=Math.pow(2,42),Uv=Math.pow(2,49),zv=Math.pow(2,56),kv=Math.pow(2,63),Vv=function(r){return r<Tv?1:r<Cv?2:r<Fv?3:r<qv?4:r<Lv?5:r<Bv?6:r<Uv?7:r<zv?8:r<kv?9:10},Hv={encode:Iv,decode:Dv,encodingLength:Vv},ch=Hv;const hh=(r,e,t=0)=>(ch.encode(r,e,t),e),dh=r=>ch.encodingLength(r),Tf=(r,e)=>{const t=e.byteLength,i=dh(r),n=i+dh(t),s=new Uint8Array(n+t);return hh(r,s,0),hh(t,s,i),s.set(e,n),new Kv(r,t,e,s)};class Kv{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const uh=({name:r,code:e,encode:t})=>new jv(r,e,t);class jv{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Tf(this.code,t):t.then(i=>Tf(this.code,i))}else throw Error("Unknown type, must be binary type")}}const lh=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Zv=uh({name:"sha2-256",code:18,encode:lh("SHA-256")}),Wv=uh({name:"sha2-512",code:19,encode:lh("SHA-512")});var Jv=Object.freeze({__proto__:null,sha256:Zv,sha512:Wv});const ph=0,Gv="identity",bh=ih;var Qv=Object.freeze({__proto__:null,identity:{code:ph,name:Gv,encode:bh,digest:r=>Tf(ph,bh(r))}});new TextEncoder,new TextDecoder;const vh={...K2,...Z2,...J2,...Q2,..._2,...fv,...dv,...pv,...yv,...Ev};({...Jv,...Qv});function gh(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const mh=gh("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Cf=gh("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=rh(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),yh={utf8:mh,"utf-8":mh,hex:vh.base16,latin1:Cf,ascii:Cf,binary:Cf,...vh};function zt(r,e="utf8"){const t=yh[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}function kt(r,e="utf8"){const t=yh[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,"utf8"):t.decoder.decode(`${t.prefix}${r}`)}function wh(r){return $n(zt(kt(r,Wa),$0))}function Qa(r){return zt(kt(An(r),$0),Wa)}function xh(r){const e=kt(N2,th),t=O2+zt(Ja([e,r]),th);return[I2,P2,t].join(E2)}function Yv(r){return zt(r,Wa)}function Xv(r){return kt(r,Wa)}function _v(r){return kt([Qa(r.header),Qa(r.payload)].join(Za),eh)}function $v(r){return[Qa(r.header),Qa(r.payload),Yv(r.signature)].join(Za)}function Ff(r){const e=r.split(Za),t=wh(e[0]),i=wh(e[1]),n=Xv(e[2]),s=kt(e.slice(0,2).join(Za),eh);return{header:t,payload:i,signature:n,data:s}}function Ah(r=$i.randomBytes(D2)){return If.generateKeyPairFromSeed(r)}async function e3(r,e,t,i,n=ye.fromMiliseconds(Date.now())){const s={alg:M2,typ:S2},f=xh(i.publicKey),h=n+t,l={iss:f,sub:r,aud:e,iat:n,exp:h},p=_v({header:s,payload:l}),m=If.sign(i.secretKey,p);return $v({header:s,payload:l,signature:m})}var Mh=function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return r.concat(s||Array.prototype.slice.call(e))},t3=function(){function r(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"}return r}(),r3=function(){function r(e){this.version=e,this.type="node",this.name="node",this.os=process.platform}return r}(),i3=function(){function r(e,t,i,n){this.name=e,this.version=t,this.os=i,this.bot=n,this.type="bot-device"}return r}(),n3=function(){function r(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return r}(),s3=function(){function r(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return r}(),a3=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,o3=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Sh=3,f3=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",a3]],Eh=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function c3(r){return r?Ih(r):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new s3:typeof navigator<"u"?Ih(navigator.userAgent):u3()}function h3(r){return r!==""&&f3.reduce(function(e,t){var i=t[0],n=t[1];if(e)return e;var s=n.exec(r);return!!s&&[i,s]},!1)}function Ih(r){var e=h3(r);if(!e)return null;var t=e[0],i=e[1];if(t==="searchbot")return new n3;var n=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);n?n.length<Sh&&(n=Mh(Mh([],n,!0),l3(Sh-n.length),!0)):n=[];var s=n.join("."),f=d3(r),h=o3.exec(r);return h&&h[1]?new i3(t,s,f,h[1]):new t3(t,s,f)}function d3(r){for(var e=0,t=Eh.length;e<t;e++){var i=Eh[e],n=i[0],s=i[1],f=s.exec(r);if(f)return n}return null}function u3(){var r=typeof process<"u"&&process.version;return r?new r3(process.version.slice(1)):null}function l3(r){for(var e=[],t=0;t<r;t++)e.push("0");return e}var pt={};Object.defineProperty(pt,"__esModule",{value:!0}),pt.getLocalStorage=pt.getLocalStorageOrThrow=pt.getCrypto=pt.getCryptoOrThrow=Ph=pt.getLocation=pt.getLocationOrThrow=Hs=pt.getNavigator=pt.getNavigatorOrThrow=Sn=pt.getDocument=pt.getDocumentOrThrow=pt.getFromWindowOrThrow=pt.getFromWindow=void 0;function Mn(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}pt.getFromWindow=Mn;function rs(r){const e=Mn(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}pt.getFromWindowOrThrow=rs;function p3(){return rs("document")}pt.getDocumentOrThrow=p3;function b3(){return Mn("document")}var Sn=pt.getDocument=b3;function v3(){return rs("navigator")}pt.getNavigatorOrThrow=v3;function g3(){return Mn("navigator")}var Hs=pt.getNavigator=g3;function m3(){return rs("location")}pt.getLocationOrThrow=m3;function y3(){return Mn("location")}var Ph=pt.getLocation=y3;function w3(){return rs("crypto")}pt.getCryptoOrThrow=w3;function x3(){return Mn("crypto")}pt.getCrypto=x3;function A3(){return rs("localStorage")}pt.getLocalStorageOrThrow=A3;function M3(){return Mn("localStorage")}pt.getLocalStorage=M3;var qf={};Object.defineProperty(qf,"__esModule",{value:!0});var Oh=qf.getWindowMetadata=void 0;const Nh=pt;function S3(){let r,e;try{r=Nh.getDocumentOrThrow(),e=Nh.getLocationOrThrow()}catch{return null}function t(){const y=r.getElementsByTagName("link"),E=[];for(let I=0;I<y.length;I++){const N=y[I],F=N.getAttribute("rel");if(F&&F.toLowerCase().indexOf("icon")>-1){const k=N.getAttribute("href");if(k)if(k.toLowerCase().indexOf("https:")===-1&&k.toLowerCase().indexOf("http:")===-1&&k.indexOf("//")!==0){let H=e.protocol+"//"+e.host;if(k.indexOf("/")===0)H+=k;else{const L=e.pathname.split("/");L.pop();const W=L.join("/");H+=W+"/"+k}E.push(H)}else if(k.indexOf("//")===0){const H=e.protocol+k;E.push(H)}else E.push(k)}}return E}function i(...y){const E=r.getElementsByTagName("meta");for(let I=0;I<E.length;I++){const N=E[I],F=["itemprop","property","name"].map(k=>N.getAttribute(k)).filter(k=>k?y.includes(k):!1);if(F.length&&F){const k=N.getAttribute("content");if(k)return k}}return""}function n(){let y=i("name","og:site_name","og:title","twitter:title");return y||(y=r.title),y}function s(){return i("description","og:description","twitter:description","keywords")}const f=n(),h=s(),l=e.origin,p=t();return{description:h,url:l,icons:p,name:f}}Oh=qf.getWindowMetadata=S3;var Ks={},E3=r=>encodeURIComponent(r).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),Dh="%[a-f0-9]{2}",Rh=new RegExp("("+Dh+")|([^%]+?)","gi"),Th=new RegExp("("+Dh+")+","gi");function Lf(r,e){try{return[decodeURIComponent(r.join(""))]}catch{}if(r.length===1)return r;e=e||1;var t=r.slice(0,e),i=r.slice(e);return Array.prototype.concat.call([],Lf(t),Lf(i))}function I3(r){try{return decodeURIComponent(r)}catch{for(var e=r.match(Rh)||[],t=1;t<e.length;t++)r=Lf(e,t).join(""),e=r.match(Rh)||[];return r}}function P3(r){for(var e={"%FE%FF":"\uFFFD\uFFFD","%FF%FE":"\uFFFD\uFFFD"},t=Th.exec(r);t;){try{e[t[0]]=decodeURIComponent(t[0])}catch{var i=I3(t[0]);i!==t[0]&&(e[t[0]]=i)}t=Th.exec(r)}e["%C2"]="\uFFFD";for(var n=Object.keys(e),s=0;s<n.length;s++){var f=n[s];r=r.replace(new RegExp(f,"g"),e[f])}return r}var O3=function(r){if(typeof r!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof r+"`");try{return r=r.replace(/\+/g," "),decodeURIComponent(r)}catch{return P3(r)}},N3=(r,e)=>{if(!(typeof r=="string"&&typeof e=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(e==="")return[r];const t=r.indexOf(e);return t===-1?[r]:[r.slice(0,t),r.slice(t+e.length)]},D3=function(r,e){for(var t={},i=Object.keys(r),n=Array.isArray(e),s=0;s<i.length;s++){var f=i[s],h=r[f];(n?e.indexOf(f)!==-1:e(f,h,r))&&(t[f]=h)}return t};(function(r){const e=E3,t=O3,i=N3,n=D3,s=L=>L==null,f=Symbol("encodeFragmentIdentifier");function h(L){switch(L.arrayFormat){case"index":return W=>(z,R)=>{const V=z.length;return R===void 0||L.skipNull&&R===null||L.skipEmptyString&&R===""?z:R===null?[...z,[m(W,L),"[",V,"]"].join("")]:[...z,[m(W,L),"[",m(V,L),"]=",m(R,L)].join("")]};case"bracket":return W=>(z,R)=>R===void 0||L.skipNull&&R===null||L.skipEmptyString&&R===""?z:R===null?[...z,[m(W,L),"[]"].join("")]:[...z,[m(W,L),"[]=",m(R,L)].join("")];case"colon-list-separator":return W=>(z,R)=>R===void 0||L.skipNull&&R===null||L.skipEmptyString&&R===""?z:R===null?[...z,[m(W,L),":list="].join("")]:[...z,[m(W,L),":list=",m(R,L)].join("")];case"comma":case"separator":case"bracket-separator":{const W=L.arrayFormat==="bracket-separator"?"[]=":"=";return z=>(R,V)=>V===void 0||L.skipNull&&V===null||L.skipEmptyString&&V===""?R:(V=V===null?"":V,R.length===0?[[m(z,L),W,m(V,L)].join("")]:[[R,m(V,L)].join(L.arrayFormatSeparator)])}default:return W=>(z,R)=>R===void 0||L.skipNull&&R===null||L.skipEmptyString&&R===""?z:R===null?[...z,m(W,L)]:[...z,[m(W,L),"=",m(R,L)].join("")]}}function l(L){let W;switch(L.arrayFormat){case"index":return(z,R,V)=>{if(W=/\[(\d*)\]$/.exec(z),z=z.replace(/\[\d*\]$/,""),!W){V[z]=R;return}V[z]===void 0&&(V[z]={}),V[z][W[1]]=R};case"bracket":return(z,R,V)=>{if(W=/(\[\])$/.exec(z),z=z.replace(/\[\]$/,""),!W){V[z]=R;return}if(V[z]===void 0){V[z]=[R];return}V[z]=[].concat(V[z],R)};case"colon-list-separator":return(z,R,V)=>{if(W=/(:list)$/.exec(z),z=z.replace(/:list$/,""),!W){V[z]=R;return}if(V[z]===void 0){V[z]=[R];return}V[z]=[].concat(V[z],R)};case"comma":case"separator":return(z,R,V)=>{const S=typeof R=="string"&&R.includes(L.arrayFormatSeparator),B=typeof R=="string"&&!S&&y(R,L).includes(L.arrayFormatSeparator);R=B?y(R,L):R;const G=S||B?R.split(L.arrayFormatSeparator).map(ie=>y(ie,L)):R===null?R:y(R,L);V[z]=G};case"bracket-separator":return(z,R,V)=>{const S=/(\[\])$/.test(z);if(z=z.replace(/\[\]$/,""),!S){V[z]=R&&y(R,L);return}const B=R===null?[]:R.split(L.arrayFormatSeparator).map(G=>y(G,L));if(V[z]===void 0){V[z]=B;return}V[z]=[].concat(V[z],B)};default:return(z,R,V)=>{if(V[z]===void 0){V[z]=R;return}V[z]=[].concat(V[z],R)}}}function p(L){if(typeof L!="string"||L.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function m(L,W){return W.encode?W.strict?e(L):encodeURIComponent(L):L}function y(L,W){return W.decode?t(L):L}function E(L){return Array.isArray(L)?L.sort():typeof L=="object"?E(Object.keys(L)).sort((W,z)=>Number(W)-Number(z)).map(W=>L[W]):L}function I(L){const W=L.indexOf("#");return W!==-1&&(L=L.slice(0,W)),L}function N(L){let W="";const z=L.indexOf("#");return z!==-1&&(W=L.slice(z)),W}function F(L){L=I(L);const W=L.indexOf("?");return W===-1?"":L.slice(W+1)}function k(L,W){return W.parseNumbers&&!Number.isNaN(Number(L))&&typeof L=="string"&&L.trim()!==""?L=Number(L):W.parseBooleans&&L!==null&&(L.toLowerCase()==="true"||L.toLowerCase()==="false")&&(L=L.toLowerCase()==="true"),L}function H(L,W){W=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},W),p(W.arrayFormatSeparator);const z=l(W),R=Object.create(null);if(typeof L!="string"||(L=L.trim().replace(/^[?#&]/,""),!L))return R;for(const V of L.split("&")){if(V==="")continue;let[S,B]=i(W.decode?V.replace(/\+/g," "):V,"=");B=B===void 0?null:["comma","separator","bracket-separator"].includes(W.arrayFormat)?B:y(B,W),z(y(S,W),B,R)}for(const V of Object.keys(R)){const S=R[V];if(typeof S=="object"&&S!==null)for(const B of Object.keys(S))S[B]=k(S[B],W);else R[V]=k(S,W)}return W.sort===!1?R:(W.sort===!0?Object.keys(R).sort():Object.keys(R).sort(W.sort)).reduce((V,S)=>{const B=R[S];return B&&typeof B=="object"&&!Array.isArray(B)?V[S]=E(B):V[S]=B,V},Object.create(null))}r.extract=F,r.parse=H,r.stringify=(L,W)=>{if(!L)return"";W=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},W),p(W.arrayFormatSeparator);const z=B=>W.skipNull&&s(L[B])||W.skipEmptyString&&L[B]==="",R=h(W),V={};for(const B of Object.keys(L))z(B)||(V[B]=L[B]);const S=Object.keys(V);return W.sort!==!1&&S.sort(W.sort),S.map(B=>{const G=L[B];return G===void 0?"":G===null?m(B,W):Array.isArray(G)?G.length===0&&W.arrayFormat==="bracket-separator"?m(B,W)+"[]":G.reduce(R(B),[]).join("&"):m(B,W)+"="+m(G,W)}).filter(B=>B.length>0).join("&")},r.parseUrl=(L,W)=>{W=Object.assign({decode:!0},W);const[z,R]=i(L,"#");return Object.assign({url:z.split("?")[0]||"",query:H(F(L),W)},W&&W.parseFragmentIdentifier&&R?{fragmentIdentifier:y(R,W)}:{})},r.stringifyUrl=(L,W)=>{W=Object.assign({encode:!0,strict:!0,[f]:!0},W);const z=I(L.url).split("?")[0]||"",R=r.extract(L.url),V=r.parse(R,{sort:!1}),S=Object.assign(V,L.query);let B=r.stringify(S,W);B&&(B=`?${B}`);let G=N(L.url);return L.fragmentIdentifier&&(G=`#${W[f]?m(L.fragmentIdentifier,W):L.fragmentIdentifier}`),`${z}${B}${G}`},r.pick=(L,W,z)=>{z=Object.assign({parseFragmentIdentifier:!0,[f]:!1},z);const{url:R,query:V,fragmentIdentifier:S}=r.parseUrl(L,z);return r.stringifyUrl({url:R,query:n(V,W),fragmentIdentifier:S},z)},r.exclude=(L,W,z)=>{const R=Array.isArray(W)?V=>!W.includes(V):(V,S)=>!W(V,S);return r.pick(L,R,z)}})(Ks);var Ch={exports:{}};/**
|
14
|
+
***************************************************************************** */var da=function(t,e){return da=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var n in i)i.hasOwnProperty(n)&&(r[n]=i[n])},da(t,e)};function Sp(t,e){da(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var la=function(){return la=Object.assign||function(e){for(var r,i=1,n=arguments.length;i<n;i++){r=arguments[i];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},la.apply(this,arguments)};function Mp(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]]);return r}function Ip(t,e,r,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(n<3?o(s):n>3?o(e,r,s):o(e,r))||s);return n>3&&s&&Object.defineProperty(e,r,s),s}function Ap(t,e){return function(r,i){e(r,i,t)}}function Dp(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function Op(t,e,r,i){function n(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{h(i.next(l))}catch(y){o(y)}}function c(l){try{h(i.throw(l))}catch(y){o(y)}}function h(l){l.done?s(l.value):n(l.value).then(a,c)}h((i=i.apply(t,e||[])).next())})}function Pp(t,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(h){return function(l){return c([h,l])}}function c(h){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(s=h[0]&2?n.return:h[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,h[1])).done)return s;switch(n=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,n=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]<s[3])){r.label=h[1];break}if(h[0]===6&&r.label<s[1]){r.label=s[1],s=h;break}if(s&&r.label<s[2]){r.label=s[2],r.ops.push(h);break}s[2]&&r.ops.pop(),r.trys.pop();continue}h=e.call(t,r)}catch(l){h=[6,l],n=0}finally{i=s=0}if(h[0]&5)throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}}function Rp(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}function $p(t,e){for(var r in t)r!=="default"&&!e.hasOwnProperty(r)&&(e[r]=t[r])}function pa(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Tc(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var i=r.call(t),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function Np(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Tc(arguments[e]));return t}function Tp(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;for(var i=Array(t),n=0,e=0;e<r;e++)for(var s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function is(t){return this instanceof is?(this.v=t,this):new is(t)}function Fp(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=r.apply(t,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(M){i[M]&&(n[M]=function(I){return new Promise(function(S,D){s.push([M,I,S,D])>1||a(M,I)})})}function a(M,I){try{c(i[M](I))}catch(S){y(s[0][3],S)}}function c(M){M.value instanceof is?Promise.resolve(M.value.v).then(h,l):y(s[0][2],M)}function h(M){a("next",M)}function l(M){a("throw",M)}function y(M,I){M(I),s.shift(),s.length&&a(s[0][0],s[0][1])}}function Cp(t){var e,r;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,s){e[n]=t[n]?function(o){return(r=!r)?{value:is(t[n](o)),done:n==="return"}:s?s(o):o}:s}}function Bp(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof pa=="function"?pa(t):t[Symbol.iterator](),r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r);function i(s){r[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(h){s({value:h,done:a})},o)}}function Lp(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function qp(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function Up(t){return t&&t.__esModule?t:{default:t}}function zp(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function kp(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}var jp=Object.freeze({__proto__:null,__extends:Sp,get __assign(){return la},__rest:Mp,__decorate:Ip,__param:Ap,__metadata:Dp,__awaiter:Op,__generator:Pp,__createBinding:Rp,__exportStar:$p,__values:pa,__read:Tc,__spread:Np,__spreadArrays:Tp,__await:is,__asyncGenerator:Fp,__asyncDelegator:Cp,__asyncValues:Bp,__makeTemplateObject:Lp,__importStar:qp,__importDefault:Up,__classPrivateFieldGet:zp,__classPrivateFieldSet:kp}),Xs=ha(jp),ga={},ns={},Fc;function Kp(){if(Fc)return ns;Fc=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.delay=void 0;function t(e){return new Promise(r=>{setTimeout(()=>{r(!0)},e)})}return ns.delay=t,ns}var Xi={},ba={},Zi={},Cc;function Vp(){return Cc||(Cc=1,Object.defineProperty(Zi,"__esModule",{value:!0}),Zi.ONE_THOUSAND=Zi.ONE_HUNDRED=void 0,Zi.ONE_HUNDRED=100,Zi.ONE_THOUSAND=1e3),Zi}var va={},Bc;function Hp(){return Bc||(Bc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=t.ONE_MINUTE*5,t.TEN_MINUTES=t.ONE_MINUTE*10,t.THIRTY_MINUTES=t.ONE_MINUTE*30,t.SIXTY_MINUTES=t.ONE_MINUTE*60,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=t.ONE_HOUR*3,t.SIX_HOURS=t.ONE_HOUR*6,t.TWELVE_HOURS=t.ONE_HOUR*12,t.TWENTY_FOUR_HOURS=t.ONE_HOUR*24,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=t.ONE_DAY*3,t.FIVE_DAYS=t.ONE_DAY*5,t.SEVEN_DAYS=t.ONE_DAY*7,t.THIRTY_DAYS=t.ONE_DAY*30,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=t.ONE_WEEK*2,t.THREE_WEEKS=t.ONE_WEEK*3,t.FOUR_WEEKS=t.ONE_WEEK*4,t.ONE_YEAR=t.ONE_DAY*365}(va)),va}var Lc;function qc(){return Lc||(Lc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Xs;e.__exportStar(Vp(),t),e.__exportStar(Hp(),t)}(ba)),ba}var Uc;function Wp(){if(Uc)return Xi;Uc=1,Object.defineProperty(Xi,"__esModule",{value:!0}),Xi.fromMiliseconds=Xi.toMiliseconds=void 0;const t=qc();function e(i){return i*t.ONE_THOUSAND}Xi.toMiliseconds=e;function r(i){return Math.floor(i/t.ONE_THOUSAND)}return Xi.fromMiliseconds=r,Xi}var zc;function Gp(){return zc||(zc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Xs;e.__exportStar(Kp(),t),e.__exportStar(Wp(),t)}(ga)),ga}var Mn={},kc;function Jp(){if(kc)return Mn;kc=1,Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.Watch=void 0;class t{constructor(){this.timestamps=new Map}start(r){if(this.timestamps.has(r))throw new Error(`Watch already started for label: ${r}`);this.timestamps.set(r,{started:Date.now()})}stop(r){const i=this.get(r);if(typeof i.elapsed<"u")throw new Error(`Watch already stopped for label: ${r}`);const n=Date.now()-i.started;this.timestamps.set(r,{started:i.started,elapsed:n})}get(r){const i=this.timestamps.get(r);if(typeof i>"u")throw new Error(`No timestamp found for label: ${r}`);return i}elapsed(r){const i=this.get(r);return i.elapsed||Date.now()-i.started}}return Mn.Watch=t,Mn.default=t,Mn}var ya={},ss={},jc;function Yp(){if(jc)return ss;jc=1,Object.defineProperty(ss,"__esModule",{value:!0}),ss.IWatch=void 0;class t{}return ss.IWatch=t,ss}var Kc;function Xp(){return Kc||(Kc=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),Xs.__exportStar(Yp(),t)}(ya)),ya}(function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=Xs;e.__exportStar(Gp(),t),e.__exportStar(Jp(),t),e.__exportStar(Xp(),t),e.__exportStar(qc(),t)})(Y);class Qi{}class Zp extends Qi{constructor(e){super()}}const Vc=Y.FIVE_SECONDS,In={pulse:"heartbeat_pulse"};class ma extends Zp{constructor(e){super(e),this.events=new jt.exports.EventEmitter,this.interval=Vc,this.interval=e?.interval||Vc}static async init(e){const r=new ma(e);return await r.init(),r}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async initialize(){this.intervalRef=setInterval(()=>this.pulse(),Y.toMiliseconds(this.interval))}pulse(){this.events.emit(In.pulse)}}const Qp=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,e1=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,t1=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function r1(t,e){if(t==="__proto__"||t==="constructor"&&e&&typeof e=="object"&&"prototype"in e){i1(t);return}return e}function i1(t){console.warn(`[destr] Dropping "${t}" key to prevent prototype pollution.`)}function Zs(t,e={}){if(typeof t!="string")return t;const r=t.trim();if(t[0]==='"'&&t.endsWith('"')&&!t.includes("\\"))return r.slice(1,-1);if(r.length<=9){const i=r.toLowerCase();if(i==="true")return!0;if(i==="false")return!1;if(i==="undefined")return;if(i==="null")return null;if(i==="nan")return Number.NaN;if(i==="infinity")return Number.POSITIVE_INFINITY;if(i==="-infinity")return Number.NEGATIVE_INFINITY}if(!t1.test(t)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return t}try{if(Qp.test(t)||e1.test(t)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(t,r1)}return JSON.parse(t)}catch(i){if(e.strict)throw i;return t}}function n1(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function St(t,...e){try{return n1(t(...e))}catch(r){return Promise.reject(r)}}function s1(t){const e=typeof t;return t===null||e!=="object"&&e!=="function"}function o1(t){const e=Object.getPrototypeOf(t);return!e||e.isPrototypeOf(Object)}function Qs(t){if(s1(t))return String(t);if(o1(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return Qs(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Hc(){if(typeof Buffer>"u")throw new TypeError("[unstorage] Buffer is not supported!")}const wa="base64:";function a1(t){if(typeof t=="string")return t;Hc();const e=Buffer.from(t).toString("base64");return wa+e}function f1(t){return typeof t!="string"||!t.startsWith(wa)?t:(Hc(),Buffer.from(t.slice(wa.length),"base64"))}function er(t){return t?t.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function c1(...t){return er(t.join(":"))}function eo(t){return t=er(t),t?t+":":""}function Sx(t){return t}const h1="memory",u1=()=>{const t=new Map;return{name:h1,getInstance:()=>t,hasItem(e){return t.has(e)},getItem(e){return t.get(e)??null},getItemRaw(e){return t.get(e)??null},setItem(e,r){t.set(e,r)},setItemRaw(e,r){t.set(e,r)},removeItem(e){t.delete(e)},getKeys(){return[...t.keys()]},clear(){t.clear()},dispose(){t.clear()}}};function d1(t={}){const e={mounts:{"":t.driver||u1()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=h=>{for(const l of e.mountpoints)if(h.startsWith(l))return{base:l,relativeKey:h.slice(l.length),driver:e.mounts[l]};return{base:"",relativeKey:h,driver:e.mounts[""]}},i=(h,l)=>e.mountpoints.filter(y=>y.startsWith(h)||l&&h.startsWith(y)).map(y=>({relativeBase:h.length>y.length?h.slice(y.length):void 0,mountpoint:y,driver:e.mounts[y]})),n=(h,l)=>{if(e.watching){l=er(l);for(const y of e.watchListeners)y(h,l)}},s=async()=>{if(!e.watching){e.watching=!0;for(const h in e.mounts)e.unwatch[h]=await Wc(e.mounts[h],n,h)}},o=async()=>{if(e.watching){for(const h in e.unwatch)await e.unwatch[h]();e.unwatch={},e.watching=!1}},a=(h,l,y)=>{const M=new Map,I=S=>{let D=M.get(S.base);return D||(D={driver:S.driver,base:S.base,items:[]},M.set(S.base,D)),D};for(const S of h){const D=typeof S=="string",R=er(D?S:S.key),$=D?void 0:S.value,T=D||!S.options?l:{...l,...S.options},C=r(R);I(C).items.push({key:R,value:$,relativeKey:C.relativeKey,options:T})}return Promise.all([...M.values()].map(S=>y(S))).then(S=>S.flat())},c={hasItem(h,l={}){h=er(h);const{relativeKey:y,driver:M}=r(h);return St(M.hasItem,y,l)},getItem(h,l={}){h=er(h);const{relativeKey:y,driver:M}=r(h);return St(M.getItem,y,l).then(I=>Zs(I))},getItems(h,l){return a(h,l,y=>y.driver.getItems?St(y.driver.getItems,y.items.map(M=>({key:M.relativeKey,options:M.options})),l).then(M=>M.map(I=>({key:c1(y.base,I.key),value:Zs(I.value)}))):Promise.all(y.items.map(M=>St(y.driver.getItem,M.relativeKey,M.options).then(I=>({key:M.key,value:Zs(I)})))))},getItemRaw(h,l={}){h=er(h);const{relativeKey:y,driver:M}=r(h);return M.getItemRaw?St(M.getItemRaw,y,l):St(M.getItem,y,l).then(I=>f1(I))},async setItem(h,l,y={}){if(l===void 0)return c.removeItem(h);h=er(h);const{relativeKey:M,driver:I}=r(h);I.setItem&&(await St(I.setItem,M,Qs(l),y),I.watch||n("update",h))},async setItems(h,l){await a(h,l,async y=>{if(y.driver.setItems)return St(y.driver.setItems,y.items.map(M=>({key:M.relativeKey,value:Qs(M.value),options:M.options})),l);y.driver.setItem&&await Promise.all(y.items.map(M=>St(y.driver.setItem,M.relativeKey,Qs(M.value),M.options)))})},async setItemRaw(h,l,y={}){if(l===void 0)return c.removeItem(h,y);h=er(h);const{relativeKey:M,driver:I}=r(h);if(I.setItemRaw)await St(I.setItemRaw,M,l,y);else if(I.setItem)await St(I.setItem,M,a1(l),y);else return;I.watch||n("update",h)},async removeItem(h,l={}){typeof l=="boolean"&&(l={removeMeta:l}),h=er(h);const{relativeKey:y,driver:M}=r(h);M.removeItem&&(await St(M.removeItem,y,l),(l.removeMeta||l.removeMata)&&await St(M.removeItem,y+"$",l),M.watch||n("remove",h))},async getMeta(h,l={}){typeof l=="boolean"&&(l={nativeOnly:l}),h=er(h);const{relativeKey:y,driver:M}=r(h),I=Object.create(null);if(M.getMeta&&Object.assign(I,await St(M.getMeta,y,l)),!l.nativeOnly){const S=await St(M.getItem,y+"$",l).then(D=>Zs(D));S&&typeof S=="object"&&(typeof S.atime=="string"&&(S.atime=new Date(S.atime)),typeof S.mtime=="string"&&(S.mtime=new Date(S.mtime)),Object.assign(I,S))}return I},setMeta(h,l,y={}){return this.setItem(h+"$",l,y)},removeMeta(h,l={}){return this.removeItem(h+"$",l)},async getKeys(h,l={}){h=eo(h);const y=i(h,!0);let M=[];const I=[];for(const S of y){const D=await St(S.driver.getKeys,S.relativeBase,l);for(const R of D){const $=S.mountpoint+er(R);M.some(T=>$.startsWith(T))||I.push($)}M=[S.mountpoint,...M.filter(R=>!R.startsWith(S.mountpoint))]}return h?I.filter(S=>S.startsWith(h)&&S[S.length-1]!=="$"):I.filter(S=>S[S.length-1]!=="$")},async clear(h,l={}){h=eo(h),await Promise.all(i(h,!1).map(async y=>{if(y.driver.clear)return St(y.driver.clear,y.relativeBase,l);if(y.driver.removeItem){const M=await y.driver.getKeys(y.relativeBase||"",l);return Promise.all(M.map(I=>y.driver.removeItem(I,l)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(h=>Gc(h)))},async watch(h){return await s(),e.watchListeners.push(h),async()=>{e.watchListeners=e.watchListeners.filter(l=>l!==h),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(h,l){if(h=eo(h),h&&e.mounts[h])throw new Error(`already mounted at ${h}`);return h&&(e.mountpoints.push(h),e.mountpoints.sort((y,M)=>M.length-y.length)),e.mounts[h]=l,e.watching&&Promise.resolve(Wc(l,n,h)).then(y=>{e.unwatch[h]=y}).catch(console.error),c},async unmount(h,l=!0){h=eo(h),!(!h||!e.mounts[h])&&(e.watching&&h in e.unwatch&&(e.unwatch[h](),delete e.unwatch[h]),l&&await Gc(e.mounts[h]),e.mountpoints=e.mountpoints.filter(y=>y!==h),delete e.mounts[h])},getMount(h=""){h=er(h)+":";const l=r(h);return{driver:l.driver,base:l.base}},getMounts(h="",l={}){return h=er(h),i(h,l.parents).map(M=>({driver:M.driver,base:M.mountpoint}))},keys:(h,l={})=>c.getKeys(h,l),get:(h,l={})=>c.getItem(h,l),set:(h,l,y={})=>c.setItem(h,l,y),has:(h,l={})=>c.hasItem(h,l),del:(h,l={})=>c.removeItem(h,l),remove:(h,l={})=>c.removeItem(h,l)};return c}function Wc(t,e,r){return t.watch?t.watch((i,n)=>e(i,r+n)):()=>{}}async function Gc(t){typeof t.dispose=="function"&&await St(t.dispose)}function en(t){return new Promise((e,r)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>r(t.error)})}function Jc(t,e){const r=indexedDB.open(t);r.onupgradeneeded=()=>r.result.createObjectStore(e);const i=en(r);return(n,s)=>i.then(o=>s(o.transaction(e,n).objectStore(e)))}let _a;function os(){return _a||(_a=Jc("keyval-store","keyval")),_a}function Yc(t,e=os()){return e("readonly",r=>en(r.get(t)))}function l1(t,e,r=os()){return r("readwrite",i=>(i.put(e,t),en(i.transaction)))}function p1(t,e=os()){return e("readwrite",r=>(r.delete(t),en(r.transaction)))}function g1(t=os()){return t("readwrite",e=>(e.clear(),en(e.transaction)))}function b1(t,e){return t.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},en(t.transaction)}function v1(t=os()){return t("readonly",e=>{if(e.getAllKeys)return en(e.getAllKeys());const r=[];return b1(e,i=>r.push(i.key)).then(()=>r)})}const y1=t=>JSON.stringify(t,(e,r)=>typeof r=="bigint"?r.toString()+"n":r),m1=t=>{const e=/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,r=t.replace(e,'$1"$2n"$3');return JSON.parse(r,(i,n)=>typeof n=="string"&&n.match(/^\d+n$/)?BigInt(n.substring(0,n.length-1)):n)};function An(t){if(typeof t!="string")throw new Error(`Cannot safe json parse value of type ${typeof t}`);try{return m1(t)}catch{return t}}function tn(t){return typeof t=="string"?t:y1(t)||""}const w1="idb-keyval";var _1=(t={})=>{const e=t.base&&t.base.length>0?`${t.base}:`:"",r=n=>e+n;let i;return t.dbName&&t.storeName&&(i=Jc(t.dbName,t.storeName)),{name:w1,options:t,async hasItem(n){return!(typeof await Yc(r(n),i)>"u")},async getItem(n){return await Yc(r(n),i)??null},setItem(n,s){return l1(r(n),s,i)},removeItem(n){return p1(r(n),i)},getKeys(){return v1(i)},clear(){return g1(i)}}};const x1="WALLET_CONNECT_V2_INDEXED_DB",E1="keyvaluestorage";class S1{constructor(){this.indexedDb=d1({driver:_1({dbName:x1,storeName:E1})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const r=await this.indexedDb.getItem(e);if(r!==null)return r}async setItem(e,r){await this.indexedDb.setItem(e,tn(r))}async removeItem(e){await this.indexedDb.removeItem(e)}}var xa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},to={exports:{}};(function(){let t;function e(){}t=e,t.prototype.getItem=function(r){return this.hasOwnProperty(r)?String(this[r]):null},t.prototype.setItem=function(r,i){this[r]=String(i)},t.prototype.removeItem=function(r){delete this[r]},t.prototype.clear=function(){const r=this;Object.keys(r).forEach(function(i){r[i]=void 0,delete r[i]})},t.prototype.key=function(r){return r=r||0,Object.keys(this)[r]},t.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof xa<"u"&&xa.localStorage?to.exports=xa.localStorage:typeof window<"u"&&window.localStorage?to.exports=window.localStorage:to.exports=new e})();function M1(t){var e;return[t[0],An((e=t[1])!=null?e:"")]}class I1{constructor(){this.localStorage=to.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(M1)}async getItem(e){const r=this.localStorage.getItem(e);if(r!==null)return An(r)}async setItem(e,r){this.localStorage.setItem(e,tn(r))}async removeItem(e){this.localStorage.removeItem(e)}}const A1="wc_storage_version",Xc=1,D1=async(t,e,r)=>{const i=A1,n=await e.getItem(i);if(n&&n>=Xc){r(e);return}const s=await t.getKeys();if(!s.length){r(e);return}const o=[];for(;s.length;){const a=s.shift();if(!a)continue;const c=a.toLowerCase();if(c.includes("wc@")||c.includes("walletconnect")||c.includes("wc_")||c.includes("wallet_connect")){const h=await t.getItem(a);await e.setItem(a,h),o.push(a)}}await e.setItem(i,Xc),r(e),O1(t,o)},O1=async(t,e)=>{e.length&&e.forEach(async r=>{await t.removeItem(r)})};class P1{constructor(){this.initialized=!1,this.setInitialized=r=>{this.storage=r,this.initialized=!0};const e=new I1;this.storage=e;try{const r=new S1;D1(e,r,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,r){return await this.initialize(),this.storage.setItem(e,r)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const r=setInterval(()=>{this.initialized&&(clearInterval(r),e())},20)})}}function R1(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}var $1=N1;function N1(t,e,r){var i=r&&r.stringify||R1,n=1;if(typeof t=="object"&&t!==null){var s=e.length+n;if(s===1)return t;var o=new Array(s);o[0]=i(t);for(var a=1;a<s;a++)o[a]=i(e[a]);return o.join(" ")}if(typeof t!="string")return t;var c=e.length;if(c===0)return t;for(var h="",l=1-n,y=-1,M=t&&t.length||0,I=0;I<M;){if(t.charCodeAt(I)===37&&I+1<M){switch(y=y>-1?y:0,t.charCodeAt(I+1)){case 100:case 102:if(l>=c||e[l]==null)break;y<I&&(h+=t.slice(y,I)),h+=Number(e[l]),y=I+2,I++;break;case 105:if(l>=c||e[l]==null)break;y<I&&(h+=t.slice(y,I)),h+=Math.floor(Number(e[l])),y=I+2,I++;break;case 79:case 111:case 106:if(l>=c||e[l]===void 0)break;y<I&&(h+=t.slice(y,I));var S=typeof e[l];if(S==="string"){h+="'"+e[l]+"'",y=I+2,I++;break}if(S==="function"){h+=e[l].name||"<anonymous>",y=I+2,I++;break}h+=i(e[l]),y=I+2,I++;break;case 115:if(l>=c)break;y<I&&(h+=t.slice(y,I)),h+=String(e[l]),y=I+2,I++;break;case 37:y<I&&(h+=t.slice(y,I)),h+="%",y=I+2,I++,l--;break}++l}++I}return y===-1?t:(y<M&&(h+=t.slice(y)),h)}const Zc=$1;var ai=Kr;const as=j1().console||{},T1={mapHttpRequest:io,mapHttpResponse:io,wrapRequestSerializer:Sa,wrapResponseSerializer:Sa,wrapErrorSerializer:Sa,req:io,res:io,err:q1};function F1(t,e){return Array.isArray(t)?t.filter(function(i){return i!=="!stdSerializers.err"}):t===!0?Object.keys(e):!1}function Kr(t){t=t||{},t.browser=t.browser||{};const e=t.browser.transmit;if(e&&typeof e.send!="function")throw Error("pino: transmit option must have a send function");const r=t.browser.write||as;t.browser.write&&(t.browser.asObject=!0);const i=t.serializers||{},n=F1(t.browser.serialize,i);let s=t.browser.serialize;Array.isArray(t.browser.serialize)&&t.browser.serialize.indexOf("!stdSerializers.err")>-1&&(s=!1);const o=["error","fatal","warn","info","debug","trace"];typeof r=="function"&&(r.error=r.fatal=r.warn=r.info=r.debug=r.trace=r),t.enabled===!1&&(t.level="silent");const a=t.level||"info",c=Object.create(r);c.log||(c.log=fs),Object.defineProperty(c,"levelVal",{get:l}),Object.defineProperty(c,"level",{get:y,set:M});const h={transmit:e,serialize:n,asObject:t.browser.asObject,levels:o,timestamp:U1(t)};c.levels=Kr.levels,c.level=a,c.setMaxListeners=c.getMaxListeners=c.emit=c.addListener=c.on=c.prependListener=c.once=c.prependOnceListener=c.removeListener=c.removeAllListeners=c.listeners=c.listenerCount=c.eventNames=c.write=c.flush=fs,c.serializers=i,c._serialize=n,c._stdErrSerialize=s,c.child=I,e&&(c._logEvent=Ea());function l(){return this.level==="silent"?1/0:this.levels.values[this.level]}function y(){return this._level}function M(S){if(S!=="silent"&&!this.levels.values[S])throw Error("unknown level "+S);this._level=S,Dn(h,c,"error","log"),Dn(h,c,"fatal","error"),Dn(h,c,"warn","error"),Dn(h,c,"info","log"),Dn(h,c,"debug","log"),Dn(h,c,"trace","log")}function I(S,D){if(!S)throw new Error("missing bindings for child Pino");D=D||{},n&&S.serializers&&(D.serializers=S.serializers);const R=D.serializers;if(n&&R){var $=Object.assign({},i,R),T=t.browser.serialize===!0?Object.keys($):n;delete S.serializers,ro([S],T,$,this._stdErrSerialize)}function C(L){this._childLevel=(L._childLevel|0)+1,this.error=On(L,S,"error"),this.fatal=On(L,S,"fatal"),this.warn=On(L,S,"warn"),this.info=On(L,S,"info"),this.debug=On(L,S,"debug"),this.trace=On(L,S,"trace"),$&&(this.serializers=$,this._serialize=T),e&&(this._logEvent=Ea([].concat(L._logEvent.bindings,S)))}return C.prototype=this,new C(this)}return c}Kr.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},Kr.stdSerializers=T1,Kr.stdTimeFunctions=Object.assign({},{nullTime:Qc,epochTime:eh,unixTime:z1,isoTime:k1});function Dn(t,e,r,i){const n=Object.getPrototypeOf(e);e[r]=e.levelVal>e.levels.values[r]?fs:n[r]?n[r]:as[r]||as[i]||fs,C1(t,e,r)}function C1(t,e,r){!t.transmit&&e[r]===fs||(e[r]=function(i){return function(){const s=t.timestamp(),o=new Array(arguments.length),a=Object.getPrototypeOf&&Object.getPrototypeOf(this)===as?as:this;for(var c=0;c<o.length;c++)o[c]=arguments[c];if(t.serialize&&!t.asObject&&ro(o,this._serialize,this.serializers,this._stdErrSerialize),t.asObject?i.call(a,B1(this,r,o,s)):i.apply(a,o),t.transmit){const h=t.transmit.level||e.level,l=Kr.levels.values[h],y=Kr.levels.values[r];if(y<l)return;L1(this,{ts:s,methodLevel:r,methodValue:y,transmitLevel:h,transmitValue:Kr.levels.values[t.transmit.level||e.level],send:t.transmit.send,val:e.levelVal},o)}}}(e[r]))}function B1(t,e,r,i){t._serialize&&ro(r,t._serialize,t.serializers,t._stdErrSerialize);const n=r.slice();let s=n[0];const o={};i&&(o.time=i),o.level=Kr.levels.values[e];let a=(t._childLevel|0)+1;if(a<1&&(a=1),s!==null&&typeof s=="object"){for(;a--&&typeof n[0]=="object";)Object.assign(o,n.shift());s=n.length?Zc(n.shift(),n):void 0}else typeof s=="string"&&(s=Zc(n.shift(),n));return s!==void 0&&(o.msg=s),o}function ro(t,e,r,i){for(const n in t)if(i&&t[n]instanceof Error)t[n]=Kr.stdSerializers.err(t[n]);else if(typeof t[n]=="object"&&!Array.isArray(t[n]))for(const s in t[n])e&&e.indexOf(s)>-1&&s in r&&(t[n][s]=r[s](t[n][s]))}function On(t,e,r){return function(){const i=new Array(1+arguments.length);i[0]=e;for(var n=1;n<i.length;n++)i[n]=arguments[n-1];return t[r].apply(this,i)}}function L1(t,e,r){const i=e.send,n=e.ts,s=e.methodLevel,o=e.methodValue,a=e.val,c=t._logEvent.bindings;ro(r,t._serialize||Object.keys(t.serializers),t.serializers,t._stdErrSerialize===void 0?!0:t._stdErrSerialize),t._logEvent.ts=n,t._logEvent.messages=r.filter(function(h){return c.indexOf(h)===-1}),t._logEvent.level.label=s,t._logEvent.level.value=o,i(s,t._logEvent,a),t._logEvent=Ea(c)}function Ea(t){return{ts:0,messages:[],bindings:t||[],level:{label:"",value:0}}}function q1(t){const e={type:t.constructor.name,msg:t.message,stack:t.stack};for(const r in t)e[r]===void 0&&(e[r]=t[r]);return e}function U1(t){return typeof t.timestamp=="function"?t.timestamp:t.timestamp===!1?Qc:eh}function io(){return{}}function Sa(t){return t}function fs(){}function Qc(){return!1}function eh(){return Date.now()}function z1(){return Math.round(Date.now()/1e3)}function k1(){return new Date(Date.now()).toISOString()}function j1(){function t(e){return typeof e<"u"&&e}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return t(self)||t(window)||t(this)||{}}}const K1={level:"info"},cs="custom_context",Ma=1e3*1024;class V1{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class th{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const r=new V1(e);if(r.size>this.maxSizeInBytes)throw new Error(`[LinkedList] Value too big to insert into list: ${e} with size ${r.size}`);for(;this.size+r.size>this.maxSizeInBytes;)this.shift();this.head?(this.tail&&(this.tail.next=r),this.tail=r):(this.head=r,this.tail=r),this.lengthInNodes++,this.sizeInBytes+=r.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let r=this.head;for(;r!==null;)e.push(r.value),r=r.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const r=e.value;return e=e.next,{done:!1,value:r}}}}}class rh{constructor(e,r=Ma){this.level=e??"error",this.levelValue=ai.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=r,this.logs=new th(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,r){r===ai.levels.values.error?console.error(e):r===ai.levels.values.warn?console.warn(e):r===ai.levels.values.debug?console.debug(e):r===ai.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(tn({timestamp:new Date().toISOString(),log:e}));const r=typeof e=="string"?JSON.parse(e).level:e.level;r>=this.levelValue&&this.forwardToConsole(e,r)}getLogs(){return this.logs}clearLogs(){this.logs=new th(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const r=this.getLogArray();return r.push(tn({extraMetadata:e})),new Blob(r,{type:"application/json"})}}class H1{constructor(e,r=Ma){this.baseChunkLogger=new rh(e,r)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){const r=URL.createObjectURL(this.logsToBlob(e)),i=document.createElement("a");i.href=r,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}}class W1{constructor(e,r=Ma){this.baseChunkLogger=new rh(e,r)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var G1=Object.defineProperty,J1=Object.defineProperties,Y1=Object.getOwnPropertyDescriptors,ih=Object.getOwnPropertySymbols,X1=Object.prototype.hasOwnProperty,Z1=Object.prototype.propertyIsEnumerable,nh=(t,e,r)=>e in t?G1(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,no=(t,e)=>{for(var r in e||(e={}))X1.call(e,r)&&nh(t,r,e[r]);if(ih)for(var r of ih(e))Z1.call(e,r)&&nh(t,r,e[r]);return t},so=(t,e)=>J1(t,Y1(e));function Ia(t){return so(no({},t),{level:t?.level||K1.level})}function Q1(t,e=cs){return t[e]||""}function eg(t,e,r=cs){return t[r]=e,t}function tr(t,e=cs){let r="";return typeof t.bindings>"u"?r=Q1(t,e):r=t.bindings().context||"",r}function tg(t,e,r=cs){const i=tr(t,r);return i.trim()?`${i}/${e}`:e}function Jt(t,e,r=cs){const i=tg(t,e,r),n=t.child({context:i});return eg(n,i,r)}function rg(t){var e,r;const i=new H1((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:ai(so(no({},t.opts),{level:"trace",browser:so(no({},(r=t.opts)==null?void 0:r.browser),{write:n=>i.write(n)})})),chunkLoggerController:i}}function ig(t){var e;const r=new W1((e=t.opts)==null?void 0:e.level,t.maxSizeInBytes);return{logger:ai(so(no({},t.opts),{level:"trace"})),chunkLoggerController:r}}function ng(t){return typeof t.loggerOverride<"u"&&typeof t.loggerOverride!="string"?{logger:t.loggerOverride,chunkLoggerController:null}:typeof window<"u"?rg(t):ig(t)}class sg extends Qi{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}}class og extends Qi{constructor(e,r){super(),this.core=e,this.logger=r,this.records=new Map}}class ag{constructor(e,r){this.logger=e,this.core=r}}class fg extends Qi{constructor(e,r){super(),this.relayer=e,this.logger=r}}class cg extends Qi{constructor(e){super()}}class hg{constructor(e,r,i,n){this.core=e,this.logger=r,this.name=i}}class ug extends Qi{constructor(e,r){super(),this.relayer=e,this.logger=r}}class dg extends Qi{constructor(e,r){super(),this.core=e,this.logger=r}}class lg{constructor(e,r,i){this.core=e,this.logger=r,this.store=i}}class pg{constructor(e,r){this.projectId=e,this.logger=r}}class gg{constructor(e,r,i){this.core=e,this.logger=r,this.telemetryEnabled=i}}class bg{constructor(e){this.opts=e,this.protocol="wc",this.version=2}}class vg{constructor(e){this.client=e}}function yg(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function sh(t,...e){if(!yg(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function oh(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function mg(t,e){sh(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const Pn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Aa=t=>new DataView(t.buffer,t.byteOffset,t.byteLength);function wg(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function ah(t){return typeof t=="string"&&(t=wg(t)),sh(t),t}class _g{clone(){return this._cloneInto()}}function xg(t){const e=i=>t().update(ah(i)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function fh(t=32){if(Pn&&typeof Pn.getRandomValues=="function")return Pn.getRandomValues(new Uint8Array(t));if(Pn&&typeof Pn.randomBytes=="function")return Pn.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}function Eg(t,e,r,i){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;t.setUint32(e+c,o,i),t.setUint32(e+h,a,i)}class Sg extends _g{constructor(e,r,i,n){super(),this.blockLen=e,this.outputLen=r,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Aa(this.buffer)}update(e){oh(this);const{view:r,buffer:i,blockLen:n}=this;e=ah(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);if(a===n){const c=Aa(e);for(;n<=s-o;o+=n)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){oh(this),mg(e,this),this.finished=!0;const{buffer:r,view:i,blockLen:n,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(i,0),o=0);for(let y=o;y<n;y++)r[y]=0;Eg(i,n-8,BigInt(this.length*8),s),this.process(i,0);const a=Aa(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=c/4,l=this.get();if(h>l.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<h;y++)a.setUint32(4*y,l[y],s)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const i=e.slice(0,r);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:i,length:n,finished:s,destroyed:o,pos:a}=this;return e.length=n,e.pos=a,e.finished=s,e.destroyed=o,n%r&&e.buffer.set(i),e}}const oo=BigInt(2**32-1),Da=BigInt(32);function ch(t,e=!1){return e?{h:Number(t&oo),l:Number(t>>Da&oo)}:{h:Number(t>>Da&oo)|0,l:Number(t&oo)|0}}function Mg(t,e=!1){let r=new Uint32Array(t.length),i=new Uint32Array(t.length);for(let n=0;n<t.length;n++){const{h:s,l:o}=ch(t[n],e);[r[n],i[n]]=[s,o]}return[r,i]}const Ig=(t,e)=>BigInt(t>>>0)<<Da|BigInt(e>>>0),Ag=(t,e,r)=>t>>>r,Dg=(t,e,r)=>t<<32-r|e>>>r,Og=(t,e,r)=>t>>>r|e<<32-r,Pg=(t,e,r)=>t<<32-r|e>>>r,Rg=(t,e,r)=>t<<64-r|e>>>r-32,$g=(t,e,r)=>t>>>r-32|e<<64-r,Ng=(t,e)=>e,Tg=(t,e)=>t,Fg=(t,e,r)=>t<<r|e>>>32-r,Cg=(t,e,r)=>e<<r|t>>>32-r,Bg=(t,e,r)=>e<<r-32|t>>>64-r,Lg=(t,e,r)=>t<<r-32|e>>>64-r;function qg(t,e,r,i){const n=(e>>>0)+(i>>>0);return{h:t+r+(n/2**32|0)|0,l:n|0}}const Ug=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),zg=(t,e,r,i)=>e+r+i+(t/2**32|0)|0,kg=(t,e,r,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0),jg=(t,e,r,i,n)=>e+r+i+n+(t/2**32|0)|0,Kg=(t,e,r,i,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(i>>>0)+(n>>>0),Vg=(t,e,r,i,n,s)=>e+r+i+n+s+(t/2**32|0)|0,_e={fromBig:ch,split:Mg,toBig:Ig,shrSH:Ag,shrSL:Dg,rotrSH:Og,rotrSL:Pg,rotrBH:Rg,rotrBL:$g,rotr32H:Ng,rotr32L:Tg,rotlSH:Fg,rotlSL:Cg,rotlBH:Bg,rotlBL:Lg,add:qg,add3L:Ug,add3H:zg,add4L:kg,add4H:jg,add5H:Vg,add5L:Kg},[Hg,Wg]=(()=>_e.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),Ni=new Uint32Array(80),Ti=new Uint32Array(80);class Gg extends Sg{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:r,Bh:i,Bl:n,Ch:s,Cl:o,Dh:a,Dl:c,Eh:h,El:l,Fh:y,Fl:M,Gh:I,Gl:S,Hh:D,Hl:R}=this;return[e,r,i,n,s,o,a,c,h,l,y,M,I,S,D,R]}set(e,r,i,n,s,o,a,c,h,l,y,M,I,S,D,R){this.Ah=e|0,this.Al=r|0,this.Bh=i|0,this.Bl=n|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=h|0,this.El=l|0,this.Fh=y|0,this.Fl=M|0,this.Gh=I|0,this.Gl=S|0,this.Hh=D|0,this.Hl=R|0}process(e,r){for(let C=0;C<16;C++,r+=4)Ni[C]=e.getUint32(r),Ti[C]=e.getUint32(r+=4);for(let C=16;C<80;C++){const L=Ni[C-15]|0,k=Ti[C-15]|0,j=_e.rotrSH(L,k,1)^_e.rotrSH(L,k,8)^_e.shrSH(L,k,7),G=_e.rotrSL(L,k,1)^_e.rotrSL(L,k,8)^_e.shrSL(L,k,7),K=Ni[C-2]|0,V=Ti[C-2]|0,re=_e.rotrSH(K,V,19)^_e.rotrBH(K,V,61)^_e.shrSH(K,V,6),O=_e.rotrSL(K,V,19)^_e.rotrBL(K,V,61)^_e.shrSL(K,V,6),g=_e.add4L(G,O,Ti[C-7],Ti[C-16]),p=_e.add4H(g,j,re,Ni[C-7],Ni[C-16]);Ni[C]=p|0,Ti[C]=g|0}let{Ah:i,Al:n,Bh:s,Bl:o,Ch:a,Cl:c,Dh:h,Dl:l,Eh:y,El:M,Fh:I,Fl:S,Gh:D,Gl:R,Hh:$,Hl:T}=this;for(let C=0;C<80;C++){const L=_e.rotrSH(y,M,14)^_e.rotrSH(y,M,18)^_e.rotrBH(y,M,41),k=_e.rotrSL(y,M,14)^_e.rotrSL(y,M,18)^_e.rotrBL(y,M,41),j=y&I^~y&D,G=M&S^~M&R,K=_e.add5L(T,k,G,Wg[C],Ti[C]),V=_e.add5H(K,$,L,j,Hg[C],Ni[C]),re=K|0,O=_e.rotrSH(i,n,28)^_e.rotrBH(i,n,34)^_e.rotrBH(i,n,39),g=_e.rotrSL(i,n,28)^_e.rotrBL(i,n,34)^_e.rotrBL(i,n,39),p=i&s^i&a^s&a,f=n&o^n&c^o&c;$=D|0,T=R|0,D=I|0,R=S|0,I=y|0,S=M|0,{h:y,l:M}=_e.add(h|0,l|0,V|0,re|0),h=a|0,l=c|0,a=s|0,c=o|0,s=i|0,o=n|0;const u=_e.add3L(re,g,f);i=_e.add3H(u,V,O,p),n=u|0}({h:i,l:n}=_e.add(this.Ah|0,this.Al|0,i|0,n|0)),{h:s,l:o}=_e.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=_e.add(this.Ch|0,this.Cl|0,a|0,c|0),{h,l}=_e.add(this.Dh|0,this.Dl|0,h|0,l|0),{h:y,l:M}=_e.add(this.Eh|0,this.El|0,y|0,M|0),{h:I,l:S}=_e.add(this.Fh|0,this.Fl|0,I|0,S|0),{h:D,l:R}=_e.add(this.Gh|0,this.Gl|0,D|0,R|0),{h:$,l:T}=_e.add(this.Hh|0,this.Hl|0,$|0,T|0),this.set(i,n,s,o,a,c,h,l,y,M,I,S,D,R,$,T)}roundClean(){Ni.fill(0),Ti.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Jg=xg(()=>new Gg);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Oa=BigInt(0),hh=BigInt(1),Yg=BigInt(2);function Pa(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ra(t){if(!Pa(t))throw new Error("Uint8Array expected")}function $a(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}const Xg=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Na(t){Ra(t);let e="";for(let r=0;r<t.length;r++)e+=Xg[t[r]];return e}function uh(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Oa:BigInt("0x"+t)}const fi={_0:48,_9:57,A:65,F:70,a:97,f:102};function dh(t){if(t>=fi._0&&t<=fi._9)return t-fi._0;if(t>=fi.A&&t<=fi.F)return t-(fi.A-10);if(t>=fi.a&&t<=fi.f)return t-(fi.a-10)}function lh(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(r);for(let n=0,s=0;n<r;n++,s+=2){const o=dh(t.charCodeAt(s)),a=dh(t.charCodeAt(s+1));if(o===void 0||a===void 0){const c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}i[n]=o*16+a}return i}function Zg(t){return uh(Na(t))}function ao(t){return Ra(t),uh(Na(Uint8Array.from(t).reverse()))}function ph(t,e){return lh(t.toString(16).padStart(e*2,"0"))}function Ta(t,e){return ph(t,e).reverse()}function ci(t,e,r){let i;if(typeof e=="string")try{i=lh(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if(Pa(e))i=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const n=i.length;if(typeof r=="number"&&n!==r)throw new Error(t+" of length "+r+" expected, got "+n);return i}function gh(...t){let e=0;for(let i=0;i<t.length;i++){const n=t[i];Ra(n),e+=n.length}const r=new Uint8Array(e);for(let i=0,n=0;i<t.length;i++){const s=t[i];r.set(s,n),n+=s.length}return r}const Fa=t=>typeof t=="bigint"&&Oa<=t;function Qg(t,e,r){return Fa(t)&&Fa(e)&&Fa(r)&&e<=t&&t<r}function hs(t,e,r,i){if(!Qg(e,r,i))throw new Error("expected valid "+t+": "+r+" <= n < "+i+", got "+e)}function eb(t){let e;for(e=0;t>Oa;t>>=hh,e+=1);return e}const tb=t=>(Yg<<BigInt(t-1))-hh,rb={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Pa(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Ca(t,e,r={}){const i=(n,s,o)=>{const a=rb[s];if(typeof a!="function")throw new Error("invalid validator function");const c=t[n];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+s+", got "+c)};for(const[n,s]of Object.entries(e))i(n,s,!1);for(const[n,s]of Object.entries(r))i(n,s,!0);return t}function bh(t){const e=new WeakMap;return(r,...i)=>{const n=e.get(r);if(n!==void 0)return n;const s=t(r,...i);return e.set(r,s),s}}const Mt=BigInt(0),vt=BigInt(1),rn=BigInt(2),ib=BigInt(3),Ba=BigInt(4),vh=BigInt(5),yh=BigInt(8);function _t(t,e){const r=t%e;return r>=Mt?r:e+r}function nb(t,e,r){if(e<Mt)throw new Error("invalid exponent, negatives unsupported");if(r<=Mt)throw new Error("invalid modulus");if(r===vt)return Mt;let i=vt;for(;e>Mt;)e&vt&&(i=i*t%r),t=t*t%r,e>>=vt;return i}function Vr(t,e,r){let i=t;for(;e-- >Mt;)i*=i,i%=r;return i}function mh(t,e){if(t===Mt)throw new Error("invert: expected non-zero number");if(e<=Mt)throw new Error("invert: expected positive modulus, got "+e);let r=_t(t,e),i=e,n=Mt,s=vt;for(;r!==Mt;){const o=i/r,a=i%r,c=n-s*o;i=r,r=a,n=s,s=c}if(i!==vt)throw new Error("invert: does not exist");return _t(n,e)}function sb(t){const e=(t-vt)/rn;let r,i,n;for(r=t-vt,i=0;r%rn===Mt;r/=rn,i++);for(n=rn;n<t&&nb(n,e,t)!==t-vt;n++)if(n>1e3)throw new Error("Cannot find square root: likely non-prime P");if(i===1){const o=(t+vt)/Ba;return function(a,c){const h=a.pow(c,o);if(!a.eql(a.sqr(h),c))throw new Error("Cannot find square root");return h}}const s=(r+vt)/rn;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=i,h=o.pow(o.mul(o.ONE,n),r),l=o.pow(a,s),y=o.pow(a,r);for(;!o.eql(y,o.ONE);){if(o.eql(y,o.ZERO))return o.ZERO;let M=1;for(let S=o.sqr(y);M<c&&!o.eql(S,o.ONE);M++)S=o.sqr(S);const I=o.pow(h,vt<<BigInt(c-M-1));h=o.sqr(I),l=o.mul(l,I),y=o.mul(y,h),c=M}return l}}function ob(t){if(t%Ba===ib){const e=(t+vt)/Ba;return function(r,i){const n=r.pow(i,e);if(!r.eql(r.sqr(n),i))throw new Error("Cannot find square root");return n}}if(t%yh===vh){const e=(t-vh)/yh;return function(r,i){const n=r.mul(i,rn),s=r.pow(n,e),o=r.mul(i,s),a=r.mul(r.mul(o,rn),s),c=r.mul(o,r.sub(a,r.ONE));if(!r.eql(r.sqr(c),i))throw new Error("Cannot find square root");return c}}return sb(t)}const ab=(t,e)=>(_t(t,e)&vt)===vt,fb=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function cb(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=fb.reduce((i,n)=>(i[n]="function",i),e);return Ca(t,r)}function hb(t,e,r){if(r<Mt)throw new Error("invalid exponent, negatives unsupported");if(r===Mt)return t.ONE;if(r===vt)return e;let i=t.ONE,n=e;for(;r>Mt;)r&vt&&(i=t.mul(i,n)),n=t.sqr(n),r>>=vt;return i}function ub(t,e){const r=new Array(e.length),i=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),n=t.inv(i);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),n),r}function wh(t,e){const r=e!==void 0?e:t.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}function _h(t,e,r=!1,i={}){if(t<=Mt)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:n,nByteLength:s}=wh(t,e);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:r,BITS:n,BYTES:s,MASK:tb(n),ZERO:Mt,ONE:vt,create:c=>_t(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Mt<=c&&c<t},is0:c=>c===Mt,isOdd:c=>(c&vt)===vt,neg:c=>_t(-c,t),eql:(c,h)=>c===h,sqr:c=>_t(c*c,t),add:(c,h)=>_t(c+h,t),sub:(c,h)=>_t(c-h,t),mul:(c,h)=>_t(c*h,t),pow:(c,h)=>hb(a,c,h),div:(c,h)=>_t(c*mh(h,t),t),sqrN:c=>c*c,addN:(c,h)=>c+h,subN:(c,h)=>c-h,mulN:(c,h)=>c*h,inv:c=>mh(c,t),sqrt:i.sqrt||(c=>(o||(o=ob(t)),o(a,c))),invertBatch:c=>ub(a,c),cmov:(c,h,l)=>l?h:c,toBytes:c=>r?Ta(c,s):ph(c,s),fromBytes:c=>{if(c.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+c.length);return r?ao(c):Zg(c)}});return Object.freeze(a)}const xh=BigInt(0),fo=BigInt(1);function La(t,e){const r=e.negate();return t?r:e}function Eh(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function qa(t,e){Eh(t,e);const r=Math.ceil(e/t)+1,i=2**(t-1);return{windows:r,windowSize:i}}function db(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((r,i)=>{if(!(r instanceof e))throw new Error("invalid point at index "+i)})}function lb(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((r,i)=>{if(!e.isValid(r))throw new Error("invalid scalar at index "+i)})}const Ua=new WeakMap,Sh=new WeakMap;function za(t){return Sh.get(t)||1}function pb(t,e){return{constTimeNegate:La,hasPrecomputes(r){return za(r)!==1},unsafeLadder(r,i,n=t.ZERO){let s=r;for(;i>xh;)i&fo&&(n=n.add(s)),s=s.double(),i>>=fo;return n},precomputeWindow(r,i){const{windows:n,windowSize:s}=qa(i,e),o=[];let a=r,c=a;for(let h=0;h<n;h++){c=a,o.push(c);for(let l=1;l<s;l++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(r,i,n){const{windows:s,windowSize:o}=qa(r,e);let a=t.ZERO,c=t.BASE;const h=BigInt(2**r-1),l=2**r,y=BigInt(r);for(let M=0;M<s;M++){const I=M*o;let S=Number(n&h);n>>=y,S>o&&(S-=l,n+=fo);const D=I,R=I+Math.abs(S)-1,$=M%2!==0,T=S<0;S===0?c=c.add(La($,i[D])):a=a.add(La(T,i[R]))}return{p:a,f:c}},wNAFUnsafe(r,i,n,s=t.ZERO){const{windows:o,windowSize:a}=qa(r,e),c=BigInt(2**r-1),h=2**r,l=BigInt(r);for(let y=0;y<o;y++){const M=y*a;if(n===xh)break;let I=Number(n&c);if(n>>=l,I>a&&(I-=h,n+=fo),I===0)continue;let S=i[M+Math.abs(I)-1];I<0&&(S=S.negate()),s=s.add(S)}return s},getPrecomputes(r,i,n){let s=Ua.get(i);return s||(s=this.precomputeWindow(i,r),r!==1&&Ua.set(i,n(s))),s},wNAFCached(r,i,n){const s=za(r);return this.wNAF(s,this.getPrecomputes(s,r,n),i)},wNAFCachedUnsafe(r,i,n,s){const o=za(r);return o===1?this.unsafeLadder(r,i,s):this.wNAFUnsafe(o,this.getPrecomputes(o,r,n),i,s)},setWindowSize(r,i){Eh(i,e),Sh.set(r,i),Ua.delete(r)}}}function gb(t,e,r,i){if(db(r,t),lb(i,e),r.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const n=t.ZERO,s=eb(BigInt(r.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,c=new Array(a+1).fill(n),h=Math.floor((e.BITS-1)/o)*o;let l=n;for(let y=h;y>=0;y-=o){c.fill(n);for(let I=0;I<i.length;I++){const S=i[I],D=Number(S>>BigInt(y)&BigInt(a));c[D]=c[D].add(r[I])}let M=n;for(let I=c.length-1,S=n;I>0;I--)S=S.add(c[I]),M=M.add(S);if(l=l.add(M),y!==0)for(let I=0;I<o;I++)l=l.double()}return l}function bb(t){return cb(t.Fp),Ca(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...wh(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}const Nr=BigInt(0),rr=BigInt(1),co=BigInt(2),vb=BigInt(8),yb={zip215:!0};function mb(t){const e=bb(t);return Ca(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function wb(t){const e=mb(t),{Fp:r,n:i,prehash:n,hash:s,randomBytes:o,nByteLength:a,h:c}=e,h=co<<BigInt(a*8)-rr,l=r.create,y=_h(e.n,e.nBitLength),M=e.uvRatio||((u,b)=>{try{return{isValid:!0,value:r.sqrt(u*r.inv(b))}}catch{return{isValid:!1,value:Nr}}}),I=e.adjustScalarBytes||(u=>u),S=e.domain||((u,b,_)=>{if($a("phflag",_),b.length||_)throw new Error("Contexts/pre-hash are not supported");return u});function D(u,b){hs("coordinate "+u,b,Nr,h)}function R(u){if(!(u instanceof C))throw new Error("ExtendedPoint expected")}const $=bh((u,b)=>{const{ex:_,ey:E,ez:w}=u,d=u.is0();b==null&&(b=d?vb:r.inv(w));const m=l(_*b),v=l(E*b),A=l(w*b);if(d)return{x:Nr,y:rr};if(A!==rr)throw new Error("invZ was invalid");return{x:m,y:v}}),T=bh(u=>{const{a:b,d:_}=e;if(u.is0())throw new Error("bad point: ZERO");const{ex:E,ey:w,ez:d,et:m}=u,v=l(E*E),A=l(w*w),U=l(d*d),x=l(U*U),N=l(v*b),B=l(U*l(N+A)),q=l(x+l(_*l(v*A)));if(B!==q)throw new Error("bad point: equation left != right (1)");const z=l(E*w),J=l(d*m);if(z!==J)throw new Error("bad point: equation left != right (2)");return!0});class C{constructor(b,_,E,w){this.ex=b,this.ey=_,this.ez=E,this.et=w,D("x",b),D("y",_),D("z",E),D("t",w),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(b){if(b instanceof C)throw new Error("extended point not allowed");const{x:_,y:E}=b||{};return D("x",_),D("y",E),new C(_,E,rr,l(_*E))}static normalizeZ(b){const _=r.invertBatch(b.map(E=>E.ez));return b.map((E,w)=>E.toAffine(_[w])).map(C.fromAffine)}static msm(b,_){return gb(C,y,b,_)}_setWindowSize(b){j.setWindowSize(this,b)}assertValidity(){T(this)}equals(b){R(b);const{ex:_,ey:E,ez:w}=this,{ex:d,ey:m,ez:v}=b,A=l(_*v),U=l(d*w),x=l(E*v),N=l(m*w);return A===U&&x===N}is0(){return this.equals(C.ZERO)}negate(){return new C(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){const{a:b}=e,{ex:_,ey:E,ez:w}=this,d=l(_*_),m=l(E*E),v=l(co*l(w*w)),A=l(b*d),U=_+E,x=l(l(U*U)-d-m),N=A+m,B=N-v,q=A-m,z=l(x*B),J=l(N*q),X=l(x*q),W=l(B*N);return new C(z,J,W,X)}add(b){R(b);const{a:_,d:E}=e,{ex:w,ey:d,ez:m,et:v}=this,{ex:A,ey:U,ez:x,et:N}=b;if(_===BigInt(-1)){const Pe=l((d-w)*(U+A)),Re=l((d+w)*(U-A)),ae=l(Re-Pe);if(ae===Nr)return this.double();const $e=l(m*co*N),Ne=l(v*co*x),ce=Ne+$e,Te=Re+Pe,Fe=Ne-$e,oe=l(ce*ae),De=l(Te*Fe),Ce=l(ce*Fe),ie=l(ae*Te);return new C(oe,De,ie,Ce)}const B=l(w*A),q=l(d*U),z=l(v*E*N),J=l(m*x),X=l((w+d)*(A+U)-B-q),W=J-z,ne=J+z,Q=l(q-_*B),ee=l(X*W),qe=l(ne*Q),Ue=l(X*Q),he=l(W*ne);return new C(ee,qe,he,Ue)}subtract(b){return this.add(b.negate())}wNAF(b){return j.wNAFCached(this,b,C.normalizeZ)}multiply(b){const _=b;hs("scalar",_,rr,i);const{p:E,f:w}=this.wNAF(_);return C.normalizeZ([E,w])[0]}multiplyUnsafe(b,_=C.ZERO){const E=b;return hs("scalar",E,Nr,i),E===Nr?k:this.is0()||E===rr?this:j.wNAFCachedUnsafe(this,E,C.normalizeZ,_)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return j.unsafeLadder(this,i).is0()}toAffine(b){return $(this,b)}clearCofactor(){const{h:b}=e;return b===rr?this:this.multiplyUnsafe(b)}static fromHex(b,_=!1){const{d:E,a:w}=e,d=r.BYTES;b=ci("pointHex",b,d),$a("zip215",_);const m=b.slice(),v=b[d-1];m[d-1]=v&-129;const A=ao(m),U=_?h:r.ORDER;hs("pointHex.y",A,Nr,U);const x=l(A*A),N=l(x-rr),B=l(E*x-w);let{isValid:q,value:z}=M(N,B);if(!q)throw new Error("Point.fromHex: invalid y coordinate");const J=(z&rr)===rr,X=(v&128)!==0;if(!_&&z===Nr&&X)throw new Error("Point.fromHex: x=0 and x_0=1");return X!==J&&(z=l(-z)),C.fromAffine({x:z,y:A})}static fromPrivateKey(b){return V(b).point}toRawBytes(){const{x:b,y:_}=this.toAffine(),E=Ta(_,r.BYTES);return E[E.length-1]|=b&rr?128:0,E}toHex(){return Na(this.toRawBytes())}}C.BASE=new C(e.Gx,e.Gy,rr,l(e.Gx*e.Gy)),C.ZERO=new C(Nr,rr,rr,Nr);const{BASE:L,ZERO:k}=C,j=pb(C,a*8);function G(u){return _t(u,i)}function K(u){return G(ao(u))}function V(u){const b=r.BYTES;u=ci("private key",u,b);const _=ci("hashed private key",s(u),2*b),E=I(_.slice(0,b)),w=_.slice(b,2*b),d=K(E),m=L.multiply(d),v=m.toRawBytes();return{head:E,prefix:w,scalar:d,point:m,pointBytes:v}}function re(u){return V(u).pointBytes}function O(u=new Uint8Array,...b){const _=gh(...b);return K(s(S(_,ci("context",u),!!n)))}function g(u,b,_={}){u=ci("message",u),n&&(u=n(u));const{prefix:E,scalar:w,pointBytes:d}=V(b),m=O(_.context,E,u),v=L.multiply(m).toRawBytes(),A=O(_.context,v,d,u),U=G(m+A*w);hs("signature.s",U,Nr,i);const x=gh(v,Ta(U,r.BYTES));return ci("result",x,r.BYTES*2)}const p=yb;function f(u,b,_,E=p){const{context:w,zip215:d}=E,m=r.BYTES;u=ci("signature",u,2*m),b=ci("message",b),_=ci("publicKey",_,m),d!==void 0&&$a("zip215",d),n&&(b=n(b));const v=ao(u.slice(m,2*m));let A,U,x;try{A=C.fromHex(_,d),U=C.fromHex(u.slice(0,m),d),x=L.multiplyUnsafe(v)}catch{return!1}if(!d&&A.isSmallOrder())return!1;const N=O(w,U.toRawBytes(),A.toRawBytes(),b);return U.add(A.multiplyUnsafe(N)).subtract(x).clearCofactor().equals(C.ZERO)}return L._setWindowSize(8),{CURVE:e,getPublicKey:re,sign:g,verify:f,ExtendedPoint:C,utils:{getExtendedPublicKey:V,randomPrivateKey:()=>o(r.BYTES),precompute(u=8,b=C.BASE){return b._setWindowSize(u),b.multiply(BigInt(3)),b}}}}BigInt(0),BigInt(1);const ka=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Mh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const _b=BigInt(1),Ih=BigInt(2);BigInt(3);const xb=BigInt(5),Eb=BigInt(8);function Sb(t){const e=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),s=ka,o=t*t%s*t%s,a=Vr(o,Ih,s)*o%s,c=Vr(a,_b,s)*t%s,h=Vr(c,xb,s)*c%s,l=Vr(h,e,s)*h%s,y=Vr(l,r,s)*l%s,M=Vr(y,i,s)*y%s,I=Vr(M,n,s)*M%s,S=Vr(I,n,s)*M%s,D=Vr(S,e,s)*h%s;return{pow_p_5_8:Vr(D,Ih,s)*t%s,b2:o}}function Mb(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Ib(t,e){const r=ka,i=_t(e*e*e,r),n=_t(i*i*e,r),s=Sb(t*n).pow_p_5_8;let o=_t(t*i*s,r);const a=_t(e*o*o,r),c=o,h=_t(o*Mh,r),l=a===t,y=a===_t(-t,r),M=a===_t(-t*Mh,r);return l&&(o=c),(y||M)&&(o=h),ab(o,r)&&(o=_t(-o,r)),{isValid:l||y,value:o}}const Ab=(()=>_h(ka,void 0,!0))(),Db=(()=>({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ab,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Eb,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Jg,randomBytes:fh,adjustScalarBytes:Mb,uvRatio:Ib}))(),Ah=(()=>wb(Db))(),Ob="EdDSA",Pb="JWT",ho=".",uo="base64url",Dh="utf8",Oh="utf8",Rb=":",$b="did",Nb="key",Ph="base58btc",Tb="z",Fb="K36",Cb=32;function ja(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Rh(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ja(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function $h(t,e){e||(e=t.reduce((n,s)=>n+s.length,0));const r=Rh(e);let i=0;for(const n of t)r.set(n,i),i+=n.length;return ja(r)}function Bb(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=n}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function y(S){if(S instanceof Uint8Array||(ArrayBuffer.isView(S)?S=new Uint8Array(S.buffer,S.byteOffset,S.byteLength):Array.isArray(S)&&(S=Uint8Array.from(S))),!(S instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(S.length===0)return"";for(var D=0,R=0,$=0,T=S.length;$!==T&&S[$]===0;)$++,D++;for(var C=(T-$)*l+1>>>0,L=new Uint8Array(C);$!==T;){for(var k=S[$],j=0,G=C-1;(k!==0||j<R)&&G!==-1;G--,j++)k+=256*L[G]>>>0,L[G]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");R=j,$++}for(var K=C-R;K!==C&&L[K]===0;)K++;for(var V=c.repeat(D);K<C;++K)V+=t.charAt(L[K]);return V}function M(S){if(typeof S!="string")throw new TypeError("Expected String");if(S.length===0)return new Uint8Array;var D=0;if(S[D]!==" "){for(var R=0,$=0;S[D]===c;)R++,D++;for(var T=(S.length-D)*h+1>>>0,C=new Uint8Array(T);S[D];){var L=r[S.charCodeAt(D)];if(L===255)return;for(var k=0,j=T-1;(L!==0||k<$)&&j!==-1;j--,k++)L+=a*C[j]>>>0,C[j]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");$=k,D++}if(S[D]!==" "){for(var G=T-$;G!==T&&C[G]===0;)G++;for(var K=new Uint8Array(R+(T-G)),V=R;G!==T;)K[V++]=C[G++];return K}}}function I(S){var D=M(S);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:M,decode:I}}var Lb=Bb,qb=Lb;const Nh=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},Ub=t=>new TextEncoder().encode(t),zb=t=>new TextDecoder().decode(t);class kb{constructor(e,r,i){this.name=e,this.prefix=r,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class jb{constructor(e,r,i){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Th(this,e)}}class Kb{constructor(e){this.decoders=e}or(e){return Th(this,e)}decode(e){const r=e[0],i=this.decoders[r];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Th=(t,e)=>new Kb({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class Vb{constructor(e,r,i,n){this.name=e,this.prefix=r,this.baseEncode=i,this.baseDecode=n,this.encoder=new kb(e,r,i),this.decoder=new jb(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const lo=({name:t,prefix:e,encode:r,decode:i})=>new Vb(t,e,r,i),us=({prefix:t,name:e,alphabet:r})=>{const{encode:i,decode:n}=qb(r,e);return lo({prefix:t,name:e,encode:i,decode:s=>Nh(n(s))})},Hb=(t,e,r,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let l=0;l<s;++l){const y=n[t[l]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<r|y,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Wb=(t,e,r)=>{const i=e[e.length-1]==="=",n=(1<<r)-1;let s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[n&a>>o];if(o&&(s+=e[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s},Tt=({name:t,prefix:e,bitsPerChar:r,alphabet:i})=>lo({prefix:e,name:t,encode(n){return Wb(n,i,r)},decode(n){return Hb(n,i,r,t)}}),Gb=lo({prefix:"\0",name:"identity",encode:t=>zb(t),decode:t=>Ub(t)});var Jb=Object.freeze({__proto__:null,identity:Gb});const Yb=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xb=Object.freeze({__proto__:null,base2:Yb});const Zb=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Qb=Object.freeze({__proto__:null,base8:Zb});const ev=us({prefix:"9",name:"base10",alphabet:"0123456789"});var tv=Object.freeze({__proto__:null,base10:ev});const rv=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),iv=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var nv=Object.freeze({__proto__:null,base16:rv,base16upper:iv});const sv=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ov=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),av=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),fv=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),cv=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),hv=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),uv=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),dv=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),lv=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var pv=Object.freeze({__proto__:null,base32:sv,base32upper:ov,base32pad:av,base32padupper:fv,base32hex:cv,base32hexupper:hv,base32hexpad:uv,base32hexpadupper:dv,base32z:lv});const gv=us({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),bv=us({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var vv=Object.freeze({__proto__:null,base36:gv,base36upper:bv});const yv=us({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),mv=us({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var wv=Object.freeze({__proto__:null,base58btc:yv,base58flickr:mv});const _v=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),xv=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ev=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sv=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Mv=Object.freeze({__proto__:null,base64:_v,base64pad:xv,base64url:Ev,base64urlpad:Sv});const Fh=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Iv=Fh.reduce((t,e,r)=>(t[r]=e,t),[]),Av=Fh.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Dv(t){return t.reduce((e,r)=>(e+=Iv[r],e),"")}function Ov(t){const e=[];for(const r of t){const i=Av[r.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}const Pv=lo({prefix:"\u{1F680}",name:"base256emoji",encode:Dv,decode:Ov});var Rv=Object.freeze({__proto__:null,base256emoji:Pv}),$v=Bh,Ch=128,Nv=127,Tv=~Nv,Fv=Math.pow(2,31);function Bh(t,e,r){e=e||[],r=r||0;for(var i=r;t>=Fv;)e[r++]=t&255|Ch,t/=128;for(;t&Tv;)e[r++]=t&255|Ch,t>>>=7;return e[r]=t|0,Bh.bytes=r-i+1,e}var Cv=Ka,Bv=128,Lh=127;function Ka(t,i){var r=0,i=i||0,n=0,s=i,o,a=t.length;do{if(s>=a)throw Ka.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=n<28?(o&Lh)<<n:(o&Lh)*Math.pow(2,n),n+=7}while(o>=Bv);return Ka.bytes=s-i,r}var Lv=Math.pow(2,7),qv=Math.pow(2,14),Uv=Math.pow(2,21),zv=Math.pow(2,28),kv=Math.pow(2,35),jv=Math.pow(2,42),Kv=Math.pow(2,49),Vv=Math.pow(2,56),Hv=Math.pow(2,63),Wv=function(t){return t<Lv?1:t<qv?2:t<Uv?3:t<zv?4:t<kv?5:t<jv?6:t<Kv?7:t<Vv?8:t<Hv?9:10},Gv={encode:$v,decode:Cv,encodingLength:Wv},qh=Gv;const Uh=(t,e,r=0)=>(qh.encode(t,e,r),e),zh=t=>qh.encodingLength(t),Va=(t,e)=>{const r=e.byteLength,i=zh(t),n=i+zh(r),s=new Uint8Array(n+r);return Uh(t,s,0),Uh(r,s,i),s.set(e,n),new Jv(t,r,e,s)};class Jv{constructor(e,r,i,n){this.code=e,this.size=r,this.digest=i,this.bytes=n}}const kh=({name:t,code:e,encode:r})=>new Yv(t,e,r);class Yv{constructor(e,r,i){this.name=e,this.code=r,this.encode=i}digest(e){if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?Va(this.code,r):r.then(i=>Va(this.code,i))}else throw Error("Unknown type, must be binary type")}}const jh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Xv=kh({name:"sha2-256",code:18,encode:jh("SHA-256")}),Zv=kh({name:"sha2-512",code:19,encode:jh("SHA-512")});var Qv=Object.freeze({__proto__:null,sha256:Xv,sha512:Zv});const Kh=0,ey="identity",Vh=Nh;var ty=Object.freeze({__proto__:null,identity:{code:Kh,name:ey,encode:Vh,digest:t=>Va(Kh,Vh(t))}});new TextEncoder,new TextDecoder;const Hh={...Jb,...Xb,...Qb,...tv,...nv,...pv,...vv,...wv,...Mv,...Rv};({...Qv,...ty});function Wh(t,e,r,i){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:i}}}const Gh=Wh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ha=Wh("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);const e=Rh(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Jh={utf8:Gh,"utf-8":Gh,hex:Hh.base16,latin1:Ha,ascii:Ha,binary:Ha,...Hh};function po(t,e="utf8"){const r=Jh[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Rn(t,e="utf8"){const r=Jh[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ja(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Yh(t){return An(po(Rn(t,uo),Dh))}function go(t){return po(Rn(tn(t),Dh),uo)}function Xh(t){const e=Rn(Fb,Ph),r=Tb+po($h([e,t]),Ph);return[$b,Nb,r].join(Rb)}function ry(t){return po(t,uo)}function iy(t){return Rn(t,uo)}function ny(t){return Rn([go(t.header),go(t.payload)].join(ho),Oh)}function sy(t){return[go(t.header),go(t.payload),ry(t.signature)].join(ho)}function Wa(t){const e=t.split(ho),r=Yh(e[0]),i=Yh(e[1]),n=iy(e[2]),s=Rn(e.slice(0,2).join(ho),Oh);return{header:r,payload:i,signature:n,data:s}}function Zh(t=fh(Cb)){const e=Ah.getPublicKey(t);return{secretKey:$h([t,e]),publicKey:e}}async function oy(t,e,r,i,n=Y.fromMiliseconds(Date.now())){const s={alg:Ob,typ:Pb},o=Xh(i.publicKey),a=n+r,c={iss:o,sub:t,aud:e,iat:n,exp:a},h=ny({header:s,payload:c}),l=Ah.sign(h,i.secretKey.slice(0,32));return sy({header:s,payload:c,signature:l})}var Qh=function(t,e,r){if(r||arguments.length===2)for(var i=0,n=e.length,s;i<n;i++)(s||!(i in e))&&(s||(s=Array.prototype.slice.call(e,0,i)),s[i]=e[i]);return t.concat(s||Array.prototype.slice.call(e))},ay=function(){function t(e,r,i){this.name=e,this.version=r,this.os=i,this.type="browser"}return t}(),fy=function(){function t(e){this.version=e,this.type="node",this.name="node",this.os=process.platform}return t}(),cy=function(){function t(e,r,i,n){this.name=e,this.version=r,this.os=i,this.bot=n,this.type="bot-device"}return t}(),hy=function(){function t(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return t}(),uy=function(){function t(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return t}(),dy=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,ly=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,eu=3,py=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",dy]],tu=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function gy(t){return t?ru(t):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new uy:typeof navigator<"u"?ru(navigator.userAgent):yy()}function by(t){return t!==""&&py.reduce(function(e,r){var i=r[0],n=r[1];if(e)return e;var s=n.exec(t);return!!s&&[i,s]},!1)}function ru(t){var e=by(t);if(!e)return null;var r=e[0],i=e[1];if(r==="searchbot")return new hy;var n=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);n?n.length<eu&&(n=Qh(Qh([],n,!0),my(eu-n.length),!0)):n=[];var s=n.join("."),o=vy(t),a=ly.exec(t);return a&&a[1]?new cy(r,s,o,a[1]):new ay(r,s,o)}function vy(t){for(var e=0,r=tu.length;e<r;e++){var i=tu[e],n=i[0],s=i[1],o=s.exec(t);if(o)return n}return null}function yy(){var t=typeof process<"u"&&process.version;return t?new fy(process.version.slice(1)):null}function my(t){for(var e=[],r=0;r<t;r++)e.push("0");return e}var at={};Object.defineProperty(at,"__esModule",{value:!0}),at.getLocalStorage=at.getLocalStorageOrThrow=at.getCrypto=at.getCryptoOrThrow=iu=at.getLocation=at.getLocationOrThrow=Ga=at.getNavigator=at.getNavigatorOrThrow=ds=at.getDocument=at.getDocumentOrThrow=at.getFromWindowOrThrow=at.getFromWindow=void 0;function nn(t){let e;return typeof window<"u"&&typeof window[t]<"u"&&(e=window[t]),e}at.getFromWindow=nn;function $n(t){const e=nn(t);if(!e)throw new Error(`${t} is not defined in Window`);return e}at.getFromWindowOrThrow=$n;function wy(){return $n("document")}at.getDocumentOrThrow=wy;function _y(){return nn("document")}var ds=at.getDocument=_y;function xy(){return $n("navigator")}at.getNavigatorOrThrow=xy;function Ey(){return nn("navigator")}var Ga=at.getNavigator=Ey;function Sy(){return $n("location")}at.getLocationOrThrow=Sy;function My(){return nn("location")}var iu=at.getLocation=My;function Iy(){return $n("crypto")}at.getCryptoOrThrow=Iy;function Ay(){return nn("crypto")}at.getCrypto=Ay;function Dy(){return $n("localStorage")}at.getLocalStorageOrThrow=Dy;function Oy(){return nn("localStorage")}at.getLocalStorage=Oy;var Ja={};Object.defineProperty(Ja,"__esModule",{value:!0});var nu=Ja.getWindowMetadata=void 0;const su=at;function Py(){let t,e;try{t=su.getDocumentOrThrow(),e=su.getLocationOrThrow()}catch{return null}function r(){const y=t.getElementsByTagName("link"),M=[];for(let I=0;I<y.length;I++){const S=y[I],D=S.getAttribute("rel");if(D&&D.toLowerCase().indexOf("icon")>-1){const R=S.getAttribute("href");if(R)if(R.toLowerCase().indexOf("https:")===-1&&R.toLowerCase().indexOf("http:")===-1&&R.indexOf("//")!==0){let $=e.protocol+"//"+e.host;if(R.indexOf("/")===0)$+=R;else{const T=e.pathname.split("/");T.pop();const C=T.join("/");$+=C+"/"+R}M.push($)}else if(R.indexOf("//")===0){const $=e.protocol+R;M.push($)}else M.push(R)}}return M}function i(...y){const M=t.getElementsByTagName("meta");for(let I=0;I<M.length;I++){const S=M[I],D=["itemprop","property","name"].map(R=>S.getAttribute(R)).filter(R=>R?y.includes(R):!1);if(D.length&&D){const R=S.getAttribute("content");if(R)return R}}return""}function n(){let y=i("name","og:site_name","og:title","twitter:title");return y||(y=t.title),y}function s(){return i("description","og:description","twitter:description","keywords")}const o=n(),a=s(),c=e.origin,h=r();return{description:a,url:c,icons:h,name:o}}nu=Ja.getWindowMetadata=Py;const Ry="logger/5.7.0";let ou=!1,au=!1;const bo={debug:1,default:2,info:2,warning:3,error:4,off:5};let fu=bo.default,Ya=null;function $y(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}const cu=$y();var Xa;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(Xa||(Xa={}));var Tr;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(Tr||(Tr={}));const hu="0123456789abcdef";class Ee{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){const i=e.toLowerCase();bo[i]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(fu>bo[i])&&console.log.apply(console,r)}debug(...e){this._log(Ee.levels.DEBUG,e)}info(...e){this._log(Ee.levels.INFO,e)}warn(...e){this._log(Ee.levels.WARNING,e)}makeError(e,r,i){if(au)return this.makeError("censored error",r,{});r||(r=Ee.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(c=>{const h=i[c];try{if(h instanceof Uint8Array){let l="";for(let y=0;y<h.length;y++)l+=hu[h[y]>>4],l+=hu[h[y]&15];n.push(c+"=Uint8Array(0x"+l+")")}else n.push(c+"="+JSON.stringify(h))}catch{n.push(c+"="+JSON.stringify(i[c].toString()))}}),n.push(`code=${r}`),n.push(`version=${this.version}`);const s=e;let o="";switch(r){case Tr.NUMERIC_FAULT:{o="NUMERIC_FAULT";const c=e;switch(c){case"overflow":case"underflow":case"division-by-zero":o+="-"+c;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result";break}break}case Tr.CALL_EXCEPTION:case Tr.INSUFFICIENT_FUNDS:case Tr.MISSING_NEW:case Tr.NONCE_EXPIRED:case Tr.REPLACEMENT_UNDERPRICED:case Tr.TRANSACTION_REPLACED:case Tr.UNPREDICTABLE_GAS_LIMIT:o=r;break}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const a=new Error(e);return a.reason=s,a.code=r,Object.keys(i).forEach(function(c){a[c]=i[c]}),a}throwError(e,r,i){throw this.makeError(e,r,i)}throwArgumentError(e,r,i){return this.throwError(e,Ee.errors.INVALID_ARGUMENT,{argument:r,value:i})}assert(e,r,i,n){e||this.throwError(r,i,n)}assertArgument(e,r,i,n){e||this.throwArgumentError(r,i,n)}checkNormalize(e){cu&&this.throwError("platform missing String.prototype.normalize",Ee.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:cu})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,Ee.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,Ee.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,i){i?i=": "+i:i="",e<r&&this.throwError("missing argument"+i,Ee.errors.MISSING_ARGUMENT,{count:e,expectedCount:r}),e>r&&this.throwError("too many arguments"+i,Ee.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",Ee.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",Ee.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",Ee.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return Ya||(Ya=new Ee(Ry)),Ya}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",Ee.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),ou){if(!e)return;this.globalLogger().throwError("error censorship permanent",Ee.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}au=!!e,ou=!!r}static setLogLevel(e){const r=bo[e.toLowerCase()];if(r==null){Ee.globalLogger().warn("invalid log level - "+e);return}fu=r}static from(e){return new Ee(e)}}Ee.errors=Tr,Ee.levels=Xa;const Ny="bytes/5.7.0",yt=new Ee(Ny);function uu(t){return!!t.toHexString}function ls(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return ls(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Ty(t){return ur(t)&&!(t.length%2)||Nn(t)}function du(t){return typeof t=="number"&&t==t&&t%1===0}function Nn(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!du(t.length)||t.length<0)return!1;for(let e=0;e<t.length;e++){const r=t[e];if(!du(r)||r<0||r>=256)return!1}return!0}function xt(t,e){if(e||(e={}),typeof t=="number"){yt.checkSafeUint53(t,"invalid arrayify value");const r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),ls(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),uu(t)&&(t=t.toHexString()),ur(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":yt.throwArgumentError("hex data is odd-length","value",t));const i=[];for(let n=0;n<r.length;n+=2)i.push(parseInt(r.substring(n,n+2),16));return ls(new Uint8Array(i))}return Nn(t)?ls(new Uint8Array(t)):yt.throwArgumentError("invalid arrayify value","value",t)}function Fy(t,e){t=xt(t),t.length>e&&yt.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),ls(r)}function ur(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}const Za="0123456789abcdef";function Yt(t,e){if(e||(e={}),typeof t=="number"){yt.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=Za[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),uu(t))return t.toHexString();if(ur(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":yt.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(Nn(t)){let r="0x";for(let i=0;i<t.length;i++){let n=t[i];r+=Za[(n&240)>>4]+Za[n&15]}return r}return yt.throwArgumentError("invalid hexlify value","value",t)}function Cy(t){if(typeof t!="string")t=Yt(t);else if(!ur(t)||t.length%2)return null;return(t.length-2)/2}function lu(t,e,r){return typeof t!="string"?t=Yt(t):(!ur(t)||t.length%2)&&yt.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function Fi(t,e){for(typeof t!="string"?t=Yt(t):ur(t)||yt.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&yt.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function pu(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Ty(t)){let r=xt(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=Yt(r.slice(0,32)),e.s=Yt(r.slice(32,64))):r.length===65?(e.r=Yt(r.slice(0,32)),e.s=Yt(r.slice(32,64)),e.v=r[64]):yt.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:yt.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=Yt(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){const n=Fy(xt(e._vs),32);e._vs=Yt(n);const s=n[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&yt.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),n[0]&=127;const o=Yt(n);e.s==null?e.s=o:e.s!==o&&yt.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?yt.throwArgumentError("signature missing v and recoveryParam","signature",t):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const n=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==n&&yt.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!ur(e.r)?yt.throwArgumentError("signature missing or invalid r","signature",t):e.r=Fi(e.r,32),e.s==null||!ur(e.s)?yt.throwArgumentError("signature missing or invalid s","signature",t):e.s=Fi(e.s,32);const r=xt(e.s);r[0]>=128&&yt.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const i=Yt(r);e._vs&&(ur(e._vs)||yt.throwArgumentError("signature invalid _vs","signature",t),e._vs=Fi(e._vs,32)),e._vs==null?e._vs=i:e._vs!==i&&yt.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}var gu={exports:{}},By={},Ly=Object.freeze({__proto__:null,default:By}),Qa=ha(Ly);(function(t){(function(e,r){function i(p,f){if(!p)throw new Error(f||"Assertion failed")}function n(p,f){p.super_=f;var u=function(){};u.prototype=f.prototype,p.prototype=new u,p.prototype.constructor=p}function s(p,f,u){if(s.isBN(p))return p;this.negative=0,this.words=null,this.length=0,this.red=null,p!==null&&((f==="le"||f==="be")&&(u=f,f=10),this._init(p||0,f||10,u||"be"))}typeof e=="object"?e.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Qa.Buffer}catch{}s.isBN=function(f){return f instanceof s?!0:f!==null&&typeof f=="object"&&f.constructor.wordSize===s.wordSize&&Array.isArray(f.words)},s.max=function(f,u){return f.cmp(u)>0?f:u},s.min=function(f,u){return f.cmp(u)<0?f:u},s.prototype._init=function(f,u,b){if(typeof f=="number")return this._initNumber(f,u,b);if(typeof f=="object")return this._initArray(f,u,b);u==="hex"&&(u=16),i(u===(u|0)&&u>=2&&u<=36),f=f.toString().replace(/\s+/g,"");var _=0;f[0]==="-"&&(_++,this.negative=1),_<f.length&&(u===16?this._parseHex(f,_,b):(this._parseBase(f,u,_),b==="le"&&this._initArray(this.toArray(),u,b)))},s.prototype._initNumber=function(f,u,b){f<0&&(this.negative=1,f=-f),f<67108864?(this.words=[f&67108863],this.length=1):f<4503599627370496?(this.words=[f&67108863,f/67108864&67108863],this.length=2):(i(f<9007199254740992),this.words=[f&67108863,f/67108864&67108863,1],this.length=3),b==="le"&&this._initArray(this.toArray(),u,b)},s.prototype._initArray=function(f,u,b){if(i(typeof f.length=="number"),f.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(f.length/3),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var E,w,d=0;if(b==="be")for(_=f.length-1,E=0;_>=0;_-=3)w=f[_]|f[_-1]<<8|f[_-2]<<16,this.words[E]|=w<<d&67108863,this.words[E+1]=w>>>26-d&67108863,d+=24,d>=26&&(d-=26,E++);else if(b==="le")for(_=0,E=0;_<f.length;_+=3)w=f[_]|f[_+1]<<8|f[_+2]<<16,this.words[E]|=w<<d&67108863,this.words[E+1]=w>>>26-d&67108863,d+=24,d>=26&&(d-=26,E++);return this._strip()};function a(p,f){var u=p.charCodeAt(f);if(u>=48&&u<=57)return u-48;if(u>=65&&u<=70)return u-55;if(u>=97&&u<=102)return u-87;i(!1,"Invalid character in "+p)}function c(p,f,u){var b=a(p,u);return u-1>=f&&(b|=a(p,u-1)<<4),b}s.prototype._parseHex=function(f,u,b){this.length=Math.ceil((f.length-u)/6),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var E=0,w=0,d;if(b==="be")for(_=f.length-1;_>=u;_-=2)d=c(f,u,_)<<E,this.words[w]|=d&67108863,E>=18?(E-=18,w+=1,this.words[w]|=d>>>26):E+=8;else{var m=f.length-u;for(_=m%2===0?u+1:u;_<f.length;_+=2)d=c(f,u,_)<<E,this.words[w]|=d&67108863,E>=18?(E-=18,w+=1,this.words[w]|=d>>>26):E+=8}this._strip()};function h(p,f,u,b){for(var _=0,E=0,w=Math.min(p.length,u),d=f;d<w;d++){var m=p.charCodeAt(d)-48;_*=b,m>=49?E=m-49+10:m>=17?E=m-17+10:E=m,i(m>=0&&E<b,"Invalid character"),_+=E}return _}s.prototype._parseBase=function(f,u,b){this.words=[0],this.length=1;for(var _=0,E=1;E<=67108863;E*=u)_++;_--,E=E/u|0;for(var w=f.length-b,d=w%_,m=Math.min(w,w-d)+b,v=0,A=b;A<m;A+=_)v=h(f,A,A+_,u),this.imuln(E),this.words[0]+v<67108864?this.words[0]+=v:this._iaddn(v);if(d!==0){var U=1;for(v=h(f,A,f.length,u),A=0;A<d;A++)U*=u;this.imuln(U),this.words[0]+v<67108864?this.words[0]+=v:this._iaddn(v)}this._strip()},s.prototype.copy=function(f){f.words=new Array(this.length);for(var u=0;u<this.length;u++)f.words[u]=this.words[u];f.length=this.length,f.negative=this.negative,f.red=this.red};function l(p,f){p.words=f.words,p.length=f.length,p.negative=f.negative,p.red=f.red}if(s.prototype._move=function(f){l(f,this)},s.prototype.clone=function(){var f=new s(null);return this.copy(f),f},s.prototype._expand=function(f){for(;this.length<f;)this.words[this.length++]=0;return this},s.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=y}catch{s.prototype.inspect=y}else s.prototype.inspect=y;function y(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var M=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],S=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(f,u){f=f||10,u=u|0||1;var b;if(f===16||f==="hex"){b="";for(var _=0,E=0,w=0;w<this.length;w++){var d=this.words[w],m=((d<<_|E)&16777215).toString(16);E=d>>>24-_&16777215,_+=2,_>=26&&(_-=26,w--),E!==0||w!==this.length-1?b=M[6-m.length]+m+b:b=m+b}for(E!==0&&(b=E.toString(16)+b);b.length%u!==0;)b="0"+b;return this.negative!==0&&(b="-"+b),b}if(f===(f|0)&&f>=2&&f<=36){var v=I[f],A=S[f];b="";var U=this.clone();for(U.negative=0;!U.isZero();){var x=U.modrn(A).toString(f);U=U.idivn(A),U.isZero()?b=x+b:b=M[v-x.length]+x+b}for(this.isZero()&&(b="0"+b);b.length%u!==0;)b="0"+b;return this.negative!==0&&(b="-"+b),b}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var f=this.words[0];return this.length===2?f+=this.words[1]*67108864:this.length===3&&this.words[2]===1?f+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-f:f},s.prototype.toJSON=function(){return this.toString(16,2)},o&&(s.prototype.toBuffer=function(f,u){return this.toArrayLike(o,f,u)}),s.prototype.toArray=function(f,u){return this.toArrayLike(Array,f,u)};var D=function(f,u){return f.allocUnsafe?f.allocUnsafe(u):new f(u)};s.prototype.toArrayLike=function(f,u,b){this._strip();var _=this.byteLength(),E=b||Math.max(1,_);i(_<=E,"byte array longer than desired length"),i(E>0,"Requested array length <= 0");var w=D(f,E),d=u==="le"?"LE":"BE";return this["_toArrayLike"+d](w,_),w},s.prototype._toArrayLikeLE=function(f,u){for(var b=0,_=0,E=0,w=0;E<this.length;E++){var d=this.words[E]<<w|_;f[b++]=d&255,b<f.length&&(f[b++]=d>>8&255),b<f.length&&(f[b++]=d>>16&255),w===6?(b<f.length&&(f[b++]=d>>24&255),_=0,w=0):(_=d>>>24,w+=2)}if(b<f.length)for(f[b++]=_;b<f.length;)f[b++]=0},s.prototype._toArrayLikeBE=function(f,u){for(var b=f.length-1,_=0,E=0,w=0;E<this.length;E++){var d=this.words[E]<<w|_;f[b--]=d&255,b>=0&&(f[b--]=d>>8&255),b>=0&&(f[b--]=d>>16&255),w===6?(b>=0&&(f[b--]=d>>24&255),_=0,w=0):(_=d>>>24,w+=2)}if(b>=0)for(f[b--]=_;b>=0;)f[b--]=0},Math.clz32?s.prototype._countBits=function(f){return 32-Math.clz32(f)}:s.prototype._countBits=function(f){var u=f,b=0;return u>=4096&&(b+=13,u>>>=13),u>=64&&(b+=7,u>>>=7),u>=8&&(b+=4,u>>>=4),u>=2&&(b+=2,u>>>=2),b+u},s.prototype._zeroBits=function(f){if(f===0)return 26;var u=f,b=0;return u&8191||(b+=13,u>>>=13),u&127||(b+=7,u>>>=7),u&15||(b+=4,u>>>=4),u&3||(b+=2,u>>>=2),u&1||b++,b},s.prototype.bitLength=function(){var f=this.words[this.length-1],u=this._countBits(f);return(this.length-1)*26+u};function R(p){for(var f=new Array(p.bitLength()),u=0;u<f.length;u++){var b=u/26|0,_=u%26;f[u]=p.words[b]>>>_&1}return f}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var f=0,u=0;u<this.length;u++){var b=this._zeroBits(this.words[u]);if(f+=b,b!==26)break}return f},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(f){return this.negative!==0?this.abs().inotn(f).iaddn(1):this.clone()},s.prototype.fromTwos=function(f){return this.testn(f-1)?this.notn(f).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(f){for(;this.length<f.length;)this.words[this.length++]=0;for(var u=0;u<f.length;u++)this.words[u]=this.words[u]|f.words[u];return this._strip()},s.prototype.ior=function(f){return i((this.negative|f.negative)===0),this.iuor(f)},s.prototype.or=function(f){return this.length>f.length?this.clone().ior(f):f.clone().ior(this)},s.prototype.uor=function(f){return this.length>f.length?this.clone().iuor(f):f.clone().iuor(this)},s.prototype.iuand=function(f){var u;this.length>f.length?u=f:u=this;for(var b=0;b<u.length;b++)this.words[b]=this.words[b]&f.words[b];return this.length=u.length,this._strip()},s.prototype.iand=function(f){return i((this.negative|f.negative)===0),this.iuand(f)},s.prototype.and=function(f){return this.length>f.length?this.clone().iand(f):f.clone().iand(this)},s.prototype.uand=function(f){return this.length>f.length?this.clone().iuand(f):f.clone().iuand(this)},s.prototype.iuxor=function(f){var u,b;this.length>f.length?(u=this,b=f):(u=f,b=this);for(var _=0;_<b.length;_++)this.words[_]=u.words[_]^b.words[_];if(this!==u)for(;_<u.length;_++)this.words[_]=u.words[_];return this.length=u.length,this._strip()},s.prototype.ixor=function(f){return i((this.negative|f.negative)===0),this.iuxor(f)},s.prototype.xor=function(f){return this.length>f.length?this.clone().ixor(f):f.clone().ixor(this)},s.prototype.uxor=function(f){return this.length>f.length?this.clone().iuxor(f):f.clone().iuxor(this)},s.prototype.inotn=function(f){i(typeof f=="number"&&f>=0);var u=Math.ceil(f/26)|0,b=f%26;this._expand(u),b>0&&u--;for(var _=0;_<u;_++)this.words[_]=~this.words[_]&67108863;return b>0&&(this.words[_]=~this.words[_]&67108863>>26-b),this._strip()},s.prototype.notn=function(f){return this.clone().inotn(f)},s.prototype.setn=function(f,u){i(typeof f=="number"&&f>=0);var b=f/26|0,_=f%26;return this._expand(b+1),u?this.words[b]=this.words[b]|1<<_:this.words[b]=this.words[b]&~(1<<_),this._strip()},s.prototype.iadd=function(f){var u;if(this.negative!==0&&f.negative===0)return this.negative=0,u=this.isub(f),this.negative^=1,this._normSign();if(this.negative===0&&f.negative!==0)return f.negative=0,u=this.isub(f),f.negative=1,u._normSign();var b,_;this.length>f.length?(b=this,_=f):(b=f,_=this);for(var E=0,w=0;w<_.length;w++)u=(b.words[w]|0)+(_.words[w]|0)+E,this.words[w]=u&67108863,E=u>>>26;for(;E!==0&&w<b.length;w++)u=(b.words[w]|0)+E,this.words[w]=u&67108863,E=u>>>26;if(this.length=b.length,E!==0)this.words[this.length]=E,this.length++;else if(b!==this)for(;w<b.length;w++)this.words[w]=b.words[w];return this},s.prototype.add=function(f){var u;return f.negative!==0&&this.negative===0?(f.negative=0,u=this.sub(f),f.negative^=1,u):f.negative===0&&this.negative!==0?(this.negative=0,u=f.sub(this),this.negative=1,u):this.length>f.length?this.clone().iadd(f):f.clone().iadd(this)},s.prototype.isub=function(f){if(f.negative!==0){f.negative=0;var u=this.iadd(f);return f.negative=1,u._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(f),this.negative=1,this._normSign();var b=this.cmp(f);if(b===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,E;b>0?(_=this,E=f):(_=f,E=this);for(var w=0,d=0;d<E.length;d++)u=(_.words[d]|0)-(E.words[d]|0)+w,w=u>>26,this.words[d]=u&67108863;for(;w!==0&&d<_.length;d++)u=(_.words[d]|0)+w,w=u>>26,this.words[d]=u&67108863;if(w===0&&d<_.length&&_!==this)for(;d<_.length;d++)this.words[d]=_.words[d];return this.length=Math.max(this.length,d),_!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(f){return this.clone().isub(f)};function $(p,f,u){u.negative=f.negative^p.negative;var b=p.length+f.length|0;u.length=b,b=b-1|0;var _=p.words[0]|0,E=f.words[0]|0,w=_*E,d=w&67108863,m=w/67108864|0;u.words[0]=d;for(var v=1;v<b;v++){for(var A=m>>>26,U=m&67108863,x=Math.min(v,f.length-1),N=Math.max(0,v-p.length+1);N<=x;N++){var B=v-N|0;_=p.words[B]|0,E=f.words[N]|0,w=_*E+U,A+=w/67108864|0,U=w&67108863}u.words[v]=U|0,m=A|0}return m!==0?u.words[v]=m|0:u.length--,u._strip()}var T=function(f,u,b){var _=f.words,E=u.words,w=b.words,d=0,m,v,A,U=_[0]|0,x=U&8191,N=U>>>13,B=_[1]|0,q=B&8191,z=B>>>13,J=_[2]|0,X=J&8191,W=J>>>13,ne=_[3]|0,Q=ne&8191,ee=ne>>>13,qe=_[4]|0,Ue=qe&8191,he=qe>>>13,Pe=_[5]|0,Re=Pe&8191,ae=Pe>>>13,$e=_[6]|0,Ne=$e&8191,ce=$e>>>13,Te=_[7]|0,Fe=Te&8191,oe=Te>>>13,De=_[8]|0,Ce=De&8191,ie=De>>>13,Ve=_[9]|0,He=Ve&8191,pe=Ve>>>13,We=E[0]|0,Be=We&8191,de=We>>>13,Ge=E[1]|0,Xe=Ge&8191,se=Ge>>>13,Je=E[2]|0,Ze=Je&8191,ge=Je>>>13,ze=E[3]|0,Oe=ze&8191,ue=ze>>>13,ke=E[4]|0,je=ke&8191,fe=ke>>>13,Qe=E[5]|0,et=Qe&8191,be=Qe>>>13,tt=E[6]|0,rt=tt&8191,le=tt>>>13,Ke=E[7]|0,Ae=Ke&8191,ve=Ke>>>13,it=E[8]|0,nt=it&8191,ye=it>>>13,st=E[9]|0,xe=st&8191,Ye=st>>>13;b.negative=f.negative^u.negative,b.length=19,m=Math.imul(x,Be),v=Math.imul(x,de),v=v+Math.imul(N,Be)|0,A=Math.imul(N,de);var ar=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(ar>>>26)|0,ar&=67108863,m=Math.imul(q,Be),v=Math.imul(q,de),v=v+Math.imul(z,Be)|0,A=Math.imul(z,de),m=m+Math.imul(x,Xe)|0,v=v+Math.imul(x,se)|0,v=v+Math.imul(N,Xe)|0,A=A+Math.imul(N,se)|0;var fr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(fr>>>26)|0,fr&=67108863,m=Math.imul(X,Be),v=Math.imul(X,de),v=v+Math.imul(W,Be)|0,A=Math.imul(W,de),m=m+Math.imul(q,Xe)|0,v=v+Math.imul(q,se)|0,v=v+Math.imul(z,Xe)|0,A=A+Math.imul(z,se)|0,m=m+Math.imul(x,Ze)|0,v=v+Math.imul(x,ge)|0,v=v+Math.imul(N,Ze)|0,A=A+Math.imul(N,ge)|0;var cr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(cr>>>26)|0,cr&=67108863,m=Math.imul(Q,Be),v=Math.imul(Q,de),v=v+Math.imul(ee,Be)|0,A=Math.imul(ee,de),m=m+Math.imul(X,Xe)|0,v=v+Math.imul(X,se)|0,v=v+Math.imul(W,Xe)|0,A=A+Math.imul(W,se)|0,m=m+Math.imul(q,Ze)|0,v=v+Math.imul(q,ge)|0,v=v+Math.imul(z,Ze)|0,A=A+Math.imul(z,ge)|0,m=m+Math.imul(x,Oe)|0,v=v+Math.imul(x,ue)|0,v=v+Math.imul(N,Oe)|0,A=A+Math.imul(N,ue)|0;var hr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(hr>>>26)|0,hr&=67108863,m=Math.imul(Ue,Be),v=Math.imul(Ue,de),v=v+Math.imul(he,Be)|0,A=Math.imul(he,de),m=m+Math.imul(Q,Xe)|0,v=v+Math.imul(Q,se)|0,v=v+Math.imul(ee,Xe)|0,A=A+Math.imul(ee,se)|0,m=m+Math.imul(X,Ze)|0,v=v+Math.imul(X,ge)|0,v=v+Math.imul(W,Ze)|0,A=A+Math.imul(W,ge)|0,m=m+Math.imul(q,Oe)|0,v=v+Math.imul(q,ue)|0,v=v+Math.imul(z,Oe)|0,A=A+Math.imul(z,ue)|0,m=m+Math.imul(x,je)|0,v=v+Math.imul(x,fe)|0,v=v+Math.imul(N,je)|0,A=A+Math.imul(N,fe)|0;var wt=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(wt>>>26)|0,wt&=67108863,m=Math.imul(Re,Be),v=Math.imul(Re,de),v=v+Math.imul(ae,Be)|0,A=Math.imul(ae,de),m=m+Math.imul(Ue,Xe)|0,v=v+Math.imul(Ue,se)|0,v=v+Math.imul(he,Xe)|0,A=A+Math.imul(he,se)|0,m=m+Math.imul(Q,Ze)|0,v=v+Math.imul(Q,ge)|0,v=v+Math.imul(ee,Ze)|0,A=A+Math.imul(ee,ge)|0,m=m+Math.imul(X,Oe)|0,v=v+Math.imul(X,ue)|0,v=v+Math.imul(W,Oe)|0,A=A+Math.imul(W,ue)|0,m=m+Math.imul(q,je)|0,v=v+Math.imul(q,fe)|0,v=v+Math.imul(z,je)|0,A=A+Math.imul(z,fe)|0,m=m+Math.imul(x,et)|0,v=v+Math.imul(x,be)|0,v=v+Math.imul(N,et)|0,A=A+Math.imul(N,be)|0;var xi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(xi>>>26)|0,xi&=67108863,m=Math.imul(Ne,Be),v=Math.imul(Ne,de),v=v+Math.imul(ce,Be)|0,A=Math.imul(ce,de),m=m+Math.imul(Re,Xe)|0,v=v+Math.imul(Re,se)|0,v=v+Math.imul(ae,Xe)|0,A=A+Math.imul(ae,se)|0,m=m+Math.imul(Ue,Ze)|0,v=v+Math.imul(Ue,ge)|0,v=v+Math.imul(he,Ze)|0,A=A+Math.imul(he,ge)|0,m=m+Math.imul(Q,Oe)|0,v=v+Math.imul(Q,ue)|0,v=v+Math.imul(ee,Oe)|0,A=A+Math.imul(ee,ue)|0,m=m+Math.imul(X,je)|0,v=v+Math.imul(X,fe)|0,v=v+Math.imul(W,je)|0,A=A+Math.imul(W,fe)|0,m=m+Math.imul(q,et)|0,v=v+Math.imul(q,be)|0,v=v+Math.imul(z,et)|0,A=A+Math.imul(z,be)|0,m=m+Math.imul(x,rt)|0,v=v+Math.imul(x,le)|0,v=v+Math.imul(N,rt)|0,A=A+Math.imul(N,le)|0;var Ei=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,m=Math.imul(Fe,Be),v=Math.imul(Fe,de),v=v+Math.imul(oe,Be)|0,A=Math.imul(oe,de),m=m+Math.imul(Ne,Xe)|0,v=v+Math.imul(Ne,se)|0,v=v+Math.imul(ce,Xe)|0,A=A+Math.imul(ce,se)|0,m=m+Math.imul(Re,Ze)|0,v=v+Math.imul(Re,ge)|0,v=v+Math.imul(ae,Ze)|0,A=A+Math.imul(ae,ge)|0,m=m+Math.imul(Ue,Oe)|0,v=v+Math.imul(Ue,ue)|0,v=v+Math.imul(he,Oe)|0,A=A+Math.imul(he,ue)|0,m=m+Math.imul(Q,je)|0,v=v+Math.imul(Q,fe)|0,v=v+Math.imul(ee,je)|0,A=A+Math.imul(ee,fe)|0,m=m+Math.imul(X,et)|0,v=v+Math.imul(X,be)|0,v=v+Math.imul(W,et)|0,A=A+Math.imul(W,be)|0,m=m+Math.imul(q,rt)|0,v=v+Math.imul(q,le)|0,v=v+Math.imul(z,rt)|0,A=A+Math.imul(z,le)|0,m=m+Math.imul(x,Ae)|0,v=v+Math.imul(x,ve)|0,v=v+Math.imul(N,Ae)|0,A=A+Math.imul(N,ve)|0;var Si=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Si>>>26)|0,Si&=67108863,m=Math.imul(Ce,Be),v=Math.imul(Ce,de),v=v+Math.imul(ie,Be)|0,A=Math.imul(ie,de),m=m+Math.imul(Fe,Xe)|0,v=v+Math.imul(Fe,se)|0,v=v+Math.imul(oe,Xe)|0,A=A+Math.imul(oe,se)|0,m=m+Math.imul(Ne,Ze)|0,v=v+Math.imul(Ne,ge)|0,v=v+Math.imul(ce,Ze)|0,A=A+Math.imul(ce,ge)|0,m=m+Math.imul(Re,Oe)|0,v=v+Math.imul(Re,ue)|0,v=v+Math.imul(ae,Oe)|0,A=A+Math.imul(ae,ue)|0,m=m+Math.imul(Ue,je)|0,v=v+Math.imul(Ue,fe)|0,v=v+Math.imul(he,je)|0,A=A+Math.imul(he,fe)|0,m=m+Math.imul(Q,et)|0,v=v+Math.imul(Q,be)|0,v=v+Math.imul(ee,et)|0,A=A+Math.imul(ee,be)|0,m=m+Math.imul(X,rt)|0,v=v+Math.imul(X,le)|0,v=v+Math.imul(W,rt)|0,A=A+Math.imul(W,le)|0,m=m+Math.imul(q,Ae)|0,v=v+Math.imul(q,ve)|0,v=v+Math.imul(z,Ae)|0,A=A+Math.imul(z,ve)|0,m=m+Math.imul(x,nt)|0,v=v+Math.imul(x,ye)|0,v=v+Math.imul(N,nt)|0,A=A+Math.imul(N,ye)|0;var Mi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,m=Math.imul(He,Be),v=Math.imul(He,de),v=v+Math.imul(pe,Be)|0,A=Math.imul(pe,de),m=m+Math.imul(Ce,Xe)|0,v=v+Math.imul(Ce,se)|0,v=v+Math.imul(ie,Xe)|0,A=A+Math.imul(ie,se)|0,m=m+Math.imul(Fe,Ze)|0,v=v+Math.imul(Fe,ge)|0,v=v+Math.imul(oe,Ze)|0,A=A+Math.imul(oe,ge)|0,m=m+Math.imul(Ne,Oe)|0,v=v+Math.imul(Ne,ue)|0,v=v+Math.imul(ce,Oe)|0,A=A+Math.imul(ce,ue)|0,m=m+Math.imul(Re,je)|0,v=v+Math.imul(Re,fe)|0,v=v+Math.imul(ae,je)|0,A=A+Math.imul(ae,fe)|0,m=m+Math.imul(Ue,et)|0,v=v+Math.imul(Ue,be)|0,v=v+Math.imul(he,et)|0,A=A+Math.imul(he,be)|0,m=m+Math.imul(Q,rt)|0,v=v+Math.imul(Q,le)|0,v=v+Math.imul(ee,rt)|0,A=A+Math.imul(ee,le)|0,m=m+Math.imul(X,Ae)|0,v=v+Math.imul(X,ve)|0,v=v+Math.imul(W,Ae)|0,A=A+Math.imul(W,ve)|0,m=m+Math.imul(q,nt)|0,v=v+Math.imul(q,ye)|0,v=v+Math.imul(z,nt)|0,A=A+Math.imul(z,ye)|0,m=m+Math.imul(x,xe)|0,v=v+Math.imul(x,Ye)|0,v=v+Math.imul(N,xe)|0,A=A+Math.imul(N,Ye)|0;var Ii=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ii>>>26)|0,Ii&=67108863,m=Math.imul(He,Xe),v=Math.imul(He,se),v=v+Math.imul(pe,Xe)|0,A=Math.imul(pe,se),m=m+Math.imul(Ce,Ze)|0,v=v+Math.imul(Ce,ge)|0,v=v+Math.imul(ie,Ze)|0,A=A+Math.imul(ie,ge)|0,m=m+Math.imul(Fe,Oe)|0,v=v+Math.imul(Fe,ue)|0,v=v+Math.imul(oe,Oe)|0,A=A+Math.imul(oe,ue)|0,m=m+Math.imul(Ne,je)|0,v=v+Math.imul(Ne,fe)|0,v=v+Math.imul(ce,je)|0,A=A+Math.imul(ce,fe)|0,m=m+Math.imul(Re,et)|0,v=v+Math.imul(Re,be)|0,v=v+Math.imul(ae,et)|0,A=A+Math.imul(ae,be)|0,m=m+Math.imul(Ue,rt)|0,v=v+Math.imul(Ue,le)|0,v=v+Math.imul(he,rt)|0,A=A+Math.imul(he,le)|0,m=m+Math.imul(Q,Ae)|0,v=v+Math.imul(Q,ve)|0,v=v+Math.imul(ee,Ae)|0,A=A+Math.imul(ee,ve)|0,m=m+Math.imul(X,nt)|0,v=v+Math.imul(X,ye)|0,v=v+Math.imul(W,nt)|0,A=A+Math.imul(W,ye)|0,m=m+Math.imul(q,xe)|0,v=v+Math.imul(q,Ye)|0,v=v+Math.imul(z,xe)|0,A=A+Math.imul(z,Ye)|0;var Pr=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,m=Math.imul(He,Ze),v=Math.imul(He,ge),v=v+Math.imul(pe,Ze)|0,A=Math.imul(pe,ge),m=m+Math.imul(Ce,Oe)|0,v=v+Math.imul(Ce,ue)|0,v=v+Math.imul(ie,Oe)|0,A=A+Math.imul(ie,ue)|0,m=m+Math.imul(Fe,je)|0,v=v+Math.imul(Fe,fe)|0,v=v+Math.imul(oe,je)|0,A=A+Math.imul(oe,fe)|0,m=m+Math.imul(Ne,et)|0,v=v+Math.imul(Ne,be)|0,v=v+Math.imul(ce,et)|0,A=A+Math.imul(ce,be)|0,m=m+Math.imul(Re,rt)|0,v=v+Math.imul(Re,le)|0,v=v+Math.imul(ae,rt)|0,A=A+Math.imul(ae,le)|0,m=m+Math.imul(Ue,Ae)|0,v=v+Math.imul(Ue,ve)|0,v=v+Math.imul(he,Ae)|0,A=A+Math.imul(he,ve)|0,m=m+Math.imul(Q,nt)|0,v=v+Math.imul(Q,ye)|0,v=v+Math.imul(ee,nt)|0,A=A+Math.imul(ee,ye)|0,m=m+Math.imul(X,xe)|0,v=v+Math.imul(X,Ye)|0,v=v+Math.imul(W,xe)|0,A=A+Math.imul(W,Ye)|0;var Ai=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,m=Math.imul(He,Oe),v=Math.imul(He,ue),v=v+Math.imul(pe,Oe)|0,A=Math.imul(pe,ue),m=m+Math.imul(Ce,je)|0,v=v+Math.imul(Ce,fe)|0,v=v+Math.imul(ie,je)|0,A=A+Math.imul(ie,fe)|0,m=m+Math.imul(Fe,et)|0,v=v+Math.imul(Fe,be)|0,v=v+Math.imul(oe,et)|0,A=A+Math.imul(oe,be)|0,m=m+Math.imul(Ne,rt)|0,v=v+Math.imul(Ne,le)|0,v=v+Math.imul(ce,rt)|0,A=A+Math.imul(ce,le)|0,m=m+Math.imul(Re,Ae)|0,v=v+Math.imul(Re,ve)|0,v=v+Math.imul(ae,Ae)|0,A=A+Math.imul(ae,ve)|0,m=m+Math.imul(Ue,nt)|0,v=v+Math.imul(Ue,ye)|0,v=v+Math.imul(he,nt)|0,A=A+Math.imul(he,ye)|0,m=m+Math.imul(Q,xe)|0,v=v+Math.imul(Q,Ye)|0,v=v+Math.imul(ee,xe)|0,A=A+Math.imul(ee,Ye)|0;var Di=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Di>>>26)|0,Di&=67108863,m=Math.imul(He,je),v=Math.imul(He,fe),v=v+Math.imul(pe,je)|0,A=Math.imul(pe,fe),m=m+Math.imul(Ce,et)|0,v=v+Math.imul(Ce,be)|0,v=v+Math.imul(ie,et)|0,A=A+Math.imul(ie,be)|0,m=m+Math.imul(Fe,rt)|0,v=v+Math.imul(Fe,le)|0,v=v+Math.imul(oe,rt)|0,A=A+Math.imul(oe,le)|0,m=m+Math.imul(Ne,Ae)|0,v=v+Math.imul(Ne,ve)|0,v=v+Math.imul(ce,Ae)|0,A=A+Math.imul(ce,ve)|0,m=m+Math.imul(Re,nt)|0,v=v+Math.imul(Re,ye)|0,v=v+Math.imul(ae,nt)|0,A=A+Math.imul(ae,ye)|0,m=m+Math.imul(Ue,xe)|0,v=v+Math.imul(Ue,Ye)|0,v=v+Math.imul(he,xe)|0,A=A+Math.imul(he,Ye)|0;var Wt=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,m=Math.imul(He,et),v=Math.imul(He,be),v=v+Math.imul(pe,et)|0,A=Math.imul(pe,be),m=m+Math.imul(Ce,rt)|0,v=v+Math.imul(Ce,le)|0,v=v+Math.imul(ie,rt)|0,A=A+Math.imul(ie,le)|0,m=m+Math.imul(Fe,Ae)|0,v=v+Math.imul(Fe,ve)|0,v=v+Math.imul(oe,Ae)|0,A=A+Math.imul(oe,ve)|0,m=m+Math.imul(Ne,nt)|0,v=v+Math.imul(Ne,ye)|0,v=v+Math.imul(ce,nt)|0,A=A+Math.imul(ce,ye)|0,m=m+Math.imul(Re,xe)|0,v=v+Math.imul(Re,Ye)|0,v=v+Math.imul(ae,xe)|0,A=A+Math.imul(ae,Ye)|0;var Oi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,m=Math.imul(He,rt),v=Math.imul(He,le),v=v+Math.imul(pe,rt)|0,A=Math.imul(pe,le),m=m+Math.imul(Ce,Ae)|0,v=v+Math.imul(Ce,ve)|0,v=v+Math.imul(ie,Ae)|0,A=A+Math.imul(ie,ve)|0,m=m+Math.imul(Fe,nt)|0,v=v+Math.imul(Fe,ye)|0,v=v+Math.imul(oe,nt)|0,A=A+Math.imul(oe,ye)|0,m=m+Math.imul(Ne,xe)|0,v=v+Math.imul(Ne,Ye)|0,v=v+Math.imul(ce,xe)|0,A=A+Math.imul(ce,Ye)|0;var Pi=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,m=Math.imul(He,Ae),v=Math.imul(He,ve),v=v+Math.imul(pe,Ae)|0,A=Math.imul(pe,ve),m=m+Math.imul(Ce,nt)|0,v=v+Math.imul(Ce,ye)|0,v=v+Math.imul(ie,nt)|0,A=A+Math.imul(ie,ye)|0,m=m+Math.imul(Fe,xe)|0,v=v+Math.imul(Fe,Ye)|0,v=v+Math.imul(oe,xe)|0,A=A+Math.imul(oe,Ye)|0;var Ri=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,m=Math.imul(He,nt),v=Math.imul(He,ye),v=v+Math.imul(pe,nt)|0,A=Math.imul(pe,ye),m=m+Math.imul(Ce,xe)|0,v=v+Math.imul(Ce,Ye)|0,v=v+Math.imul(ie,xe)|0,A=A+Math.imul(ie,Ye)|0;var Vs=(d+m|0)+((v&8191)<<13)|0;d=(A+(v>>>13)|0)+(Vs>>>26)|0,Vs&=67108863,m=Math.imul(He,xe),v=Math.imul(He,Ye),v=v+Math.imul(pe,xe)|0,A=Math.imul(pe,Ye);var Hs=(d+m|0)+((v&8191)<<13)|0;return d=(A+(v>>>13)|0)+(Hs>>>26)|0,Hs&=67108863,w[0]=ar,w[1]=fr,w[2]=cr,w[3]=hr,w[4]=wt,w[5]=xi,w[6]=Ei,w[7]=Si,w[8]=Mi,w[9]=Ii,w[10]=Pr,w[11]=Ai,w[12]=Di,w[13]=Wt,w[14]=Oi,w[15]=Pi,w[16]=Ri,w[17]=Vs,w[18]=Hs,d!==0&&(w[19]=d,b.length++),b};Math.imul||(T=$);function C(p,f,u){u.negative=f.negative^p.negative,u.length=p.length+f.length;for(var b=0,_=0,E=0;E<u.length-1;E++){var w=_;_=0;for(var d=b&67108863,m=Math.min(E,f.length-1),v=Math.max(0,E-p.length+1);v<=m;v++){var A=E-v,U=p.words[A]|0,x=f.words[v]|0,N=U*x,B=N&67108863;w=w+(N/67108864|0)|0,B=B+d|0,d=B&67108863,w=w+(B>>>26)|0,_+=w>>>26,w&=67108863}u.words[E]=d,b=w,w=_}return b!==0?u.words[E]=b:u.length--,u._strip()}function L(p,f,u){return C(p,f,u)}s.prototype.mulTo=function(f,u){var b,_=this.length+f.length;return this.length===10&&f.length===10?b=T(this,f,u):_<63?b=$(this,f,u):_<1024?b=C(this,f,u):b=L(this,f,u),b},s.prototype.mul=function(f){var u=new s(null);return u.words=new Array(this.length+f.length),this.mulTo(f,u)},s.prototype.mulf=function(f){var u=new s(null);return u.words=new Array(this.length+f.length),L(this,f,u)},s.prototype.imul=function(f){return this.clone().mulTo(f,this)},s.prototype.imuln=function(f){var u=f<0;u&&(f=-f),i(typeof f=="number"),i(f<67108864);for(var b=0,_=0;_<this.length;_++){var E=(this.words[_]|0)*f,w=(E&67108863)+(b&67108863);b>>=26,b+=E/67108864|0,b+=w>>>26,this.words[_]=w&67108863}return b!==0&&(this.words[_]=b,this.length++),u?this.ineg():this},s.prototype.muln=function(f){return this.clone().imuln(f)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(f){var u=R(f);if(u.length===0)return new s(1);for(var b=this,_=0;_<u.length&&u[_]===0;_++,b=b.sqr());if(++_<u.length)for(var E=b.sqr();_<u.length;_++,E=E.sqr())u[_]!==0&&(b=b.mul(E));return b},s.prototype.iushln=function(f){i(typeof f=="number"&&f>=0);var u=f%26,b=(f-u)/26,_=67108863>>>26-u<<26-u,E;if(u!==0){var w=0;for(E=0;E<this.length;E++){var d=this.words[E]&_,m=(this.words[E]|0)-d<<u;this.words[E]=m|w,w=d>>>26-u}w&&(this.words[E]=w,this.length++)}if(b!==0){for(E=this.length-1;E>=0;E--)this.words[E+b]=this.words[E];for(E=0;E<b;E++)this.words[E]=0;this.length+=b}return this._strip()},s.prototype.ishln=function(f){return i(this.negative===0),this.iushln(f)},s.prototype.iushrn=function(f,u,b){i(typeof f=="number"&&f>=0);var _;u?_=(u-u%26)/26:_=0;var E=f%26,w=Math.min((f-E)/26,this.length),d=67108863^67108863>>>E<<E,m=b;if(_-=w,_=Math.max(0,_),m){for(var v=0;v<w;v++)m.words[v]=this.words[v];m.length=w}if(w!==0)if(this.length>w)for(this.length-=w,v=0;v<this.length;v++)this.words[v]=this.words[v+w];else this.words[0]=0,this.length=1;var A=0;for(v=this.length-1;v>=0&&(A!==0||v>=_);v--){var U=this.words[v]|0;this.words[v]=A<<26-E|U>>>E,A=U&d}return m&&A!==0&&(m.words[m.length++]=A),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(f,u,b){return i(this.negative===0),this.iushrn(f,u,b)},s.prototype.shln=function(f){return this.clone().ishln(f)},s.prototype.ushln=function(f){return this.clone().iushln(f)},s.prototype.shrn=function(f){return this.clone().ishrn(f)},s.prototype.ushrn=function(f){return this.clone().iushrn(f)},s.prototype.testn=function(f){i(typeof f=="number"&&f>=0);var u=f%26,b=(f-u)/26,_=1<<u;if(this.length<=b)return!1;var E=this.words[b];return!!(E&_)},s.prototype.imaskn=function(f){i(typeof f=="number"&&f>=0);var u=f%26,b=(f-u)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=b)return this;if(u!==0&&b++,this.length=Math.min(b,this.length),u!==0){var _=67108863^67108863>>>u<<u;this.words[this.length-1]&=_}return this._strip()},s.prototype.maskn=function(f){return this.clone().imaskn(f)},s.prototype.iaddn=function(f){return i(typeof f=="number"),i(f<67108864),f<0?this.isubn(-f):this.negative!==0?this.length===1&&(this.words[0]|0)<=f?(this.words[0]=f-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(f),this.negative=1,this):this._iaddn(f)},s.prototype._iaddn=function(f){this.words[0]+=f;for(var u=0;u<this.length&&this.words[u]>=67108864;u++)this.words[u]-=67108864,u===this.length-1?this.words[u+1]=1:this.words[u+1]++;return this.length=Math.max(this.length,u+1),this},s.prototype.isubn=function(f){if(i(typeof f=="number"),i(f<67108864),f<0)return this.iaddn(-f);if(this.negative!==0)return this.negative=0,this.iaddn(f),this.negative=1,this;if(this.words[0]-=f,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var u=0;u<this.length&&this.words[u]<0;u++)this.words[u]+=67108864,this.words[u+1]-=1;return this._strip()},s.prototype.addn=function(f){return this.clone().iaddn(f)},s.prototype.subn=function(f){return this.clone().isubn(f)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(f,u,b){var _=f.length+b,E;this._expand(_);var w,d=0;for(E=0;E<f.length;E++){w=(this.words[E+b]|0)+d;var m=(f.words[E]|0)*u;w-=m&67108863,d=(w>>26)-(m/67108864|0),this.words[E+b]=w&67108863}for(;E<this.length-b;E++)w=(this.words[E+b]|0)+d,d=w>>26,this.words[E+b]=w&67108863;if(d===0)return this._strip();for(i(d===-1),d=0,E=0;E<this.length;E++)w=-(this.words[E]|0)+d,d=w>>26,this.words[E]=w&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(f,u){var b=this.length-f.length,_=this.clone(),E=f,w=E.words[E.length-1]|0,d=this._countBits(w);b=26-d,b!==0&&(E=E.ushln(b),_.iushln(b),w=E.words[E.length-1]|0);var m=_.length-E.length,v;if(u!=="mod"){v=new s(null),v.length=m+1,v.words=new Array(v.length);for(var A=0;A<v.length;A++)v.words[A]=0}var U=_.clone()._ishlnsubmul(E,1,m);U.negative===0&&(_=U,v&&(v.words[m]=1));for(var x=m-1;x>=0;x--){var N=(_.words[E.length+x]|0)*67108864+(_.words[E.length+x-1]|0);for(N=Math.min(N/w|0,67108863),_._ishlnsubmul(E,N,x);_.negative!==0;)N--,_.negative=0,_._ishlnsubmul(E,1,x),_.isZero()||(_.negative^=1);v&&(v.words[x]=N)}return v&&v._strip(),_._strip(),u!=="div"&&b!==0&&_.iushrn(b),{div:v||null,mod:_}},s.prototype.divmod=function(f,u,b){if(i(!f.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var _,E,w;return this.negative!==0&&f.negative===0?(w=this.neg().divmod(f,u),u!=="mod"&&(_=w.div.neg()),u!=="div"&&(E=w.mod.neg(),b&&E.negative!==0&&E.iadd(f)),{div:_,mod:E}):this.negative===0&&f.negative!==0?(w=this.divmod(f.neg(),u),u!=="mod"&&(_=w.div.neg()),{div:_,mod:w.mod}):this.negative&f.negative?(w=this.neg().divmod(f.neg(),u),u!=="div"&&(E=w.mod.neg(),b&&E.negative!==0&&E.isub(f)),{div:w.div,mod:E}):f.length>this.length||this.cmp(f)<0?{div:new s(0),mod:this}:f.length===1?u==="div"?{div:this.divn(f.words[0]),mod:null}:u==="mod"?{div:null,mod:new s(this.modrn(f.words[0]))}:{div:this.divn(f.words[0]),mod:new s(this.modrn(f.words[0]))}:this._wordDiv(f,u)},s.prototype.div=function(f){return this.divmod(f,"div",!1).div},s.prototype.mod=function(f){return this.divmod(f,"mod",!1).mod},s.prototype.umod=function(f){return this.divmod(f,"mod",!0).mod},s.prototype.divRound=function(f){var u=this.divmod(f);if(u.mod.isZero())return u.div;var b=u.div.negative!==0?u.mod.isub(f):u.mod,_=f.ushrn(1),E=f.andln(1),w=b.cmp(_);return w<0||E===1&&w===0?u.div:u.div.negative!==0?u.div.isubn(1):u.div.iaddn(1)},s.prototype.modrn=function(f){var u=f<0;u&&(f=-f),i(f<=67108863);for(var b=(1<<26)%f,_=0,E=this.length-1;E>=0;E--)_=(b*_+(this.words[E]|0))%f;return u?-_:_},s.prototype.modn=function(f){return this.modrn(f)},s.prototype.idivn=function(f){var u=f<0;u&&(f=-f),i(f<=67108863);for(var b=0,_=this.length-1;_>=0;_--){var E=(this.words[_]|0)+b*67108864;this.words[_]=E/f|0,b=E%f}return this._strip(),u?this.ineg():this},s.prototype.divn=function(f){return this.clone().idivn(f)},s.prototype.egcd=function(f){i(f.negative===0),i(!f.isZero());var u=this,b=f.clone();u.negative!==0?u=u.umod(f):u=u.clone();for(var _=new s(1),E=new s(0),w=new s(0),d=new s(1),m=0;u.isEven()&&b.isEven();)u.iushrn(1),b.iushrn(1),++m;for(var v=b.clone(),A=u.clone();!u.isZero();){for(var U=0,x=1;!(u.words[0]&x)&&U<26;++U,x<<=1);if(U>0)for(u.iushrn(U);U-- >0;)(_.isOdd()||E.isOdd())&&(_.iadd(v),E.isub(A)),_.iushrn(1),E.iushrn(1);for(var N=0,B=1;!(b.words[0]&B)&&N<26;++N,B<<=1);if(N>0)for(b.iushrn(N);N-- >0;)(w.isOdd()||d.isOdd())&&(w.iadd(v),d.isub(A)),w.iushrn(1),d.iushrn(1);u.cmp(b)>=0?(u.isub(b),_.isub(w),E.isub(d)):(b.isub(u),w.isub(_),d.isub(E))}return{a:w,b:d,gcd:b.iushln(m)}},s.prototype._invmp=function(f){i(f.negative===0),i(!f.isZero());var u=this,b=f.clone();u.negative!==0?u=u.umod(f):u=u.clone();for(var _=new s(1),E=new s(0),w=b.clone();u.cmpn(1)>0&&b.cmpn(1)>0;){for(var d=0,m=1;!(u.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(u.iushrn(d);d-- >0;)_.isOdd()&&_.iadd(w),_.iushrn(1);for(var v=0,A=1;!(b.words[0]&A)&&v<26;++v,A<<=1);if(v>0)for(b.iushrn(v);v-- >0;)E.isOdd()&&E.iadd(w),E.iushrn(1);u.cmp(b)>=0?(u.isub(b),_.isub(E)):(b.isub(u),E.isub(_))}var U;return u.cmpn(1)===0?U=_:U=E,U.cmpn(0)<0&&U.iadd(f),U},s.prototype.gcd=function(f){if(this.isZero())return f.abs();if(f.isZero())return this.abs();var u=this.clone(),b=f.clone();u.negative=0,b.negative=0;for(var _=0;u.isEven()&&b.isEven();_++)u.iushrn(1),b.iushrn(1);do{for(;u.isEven();)u.iushrn(1);for(;b.isEven();)b.iushrn(1);var E=u.cmp(b);if(E<0){var w=u;u=b,b=w}else if(E===0||b.cmpn(1)===0)break;u.isub(b)}while(!0);return b.iushln(_)},s.prototype.invm=function(f){return this.egcd(f).a.umod(f)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(f){return this.words[0]&f},s.prototype.bincn=function(f){i(typeof f=="number");var u=f%26,b=(f-u)/26,_=1<<u;if(this.length<=b)return this._expand(b+1),this.words[b]|=_,this;for(var E=_,w=b;E!==0&&w<this.length;w++){var d=this.words[w]|0;d+=E,E=d>>>26,d&=67108863,this.words[w]=d}return E!==0&&(this.words[w]=E,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(f){var u=f<0;if(this.negative!==0&&!u)return-1;if(this.negative===0&&u)return 1;this._strip();var b;if(this.length>1)b=1;else{u&&(f=-f),i(f<=67108863,"Number is too big");var _=this.words[0]|0;b=_===f?0:_<f?-1:1}return this.negative!==0?-b|0:b},s.prototype.cmp=function(f){if(this.negative!==0&&f.negative===0)return-1;if(this.negative===0&&f.negative!==0)return 1;var u=this.ucmp(f);return this.negative!==0?-u|0:u},s.prototype.ucmp=function(f){if(this.length>f.length)return 1;if(this.length<f.length)return-1;for(var u=0,b=this.length-1;b>=0;b--){var _=this.words[b]|0,E=f.words[b]|0;if(_!==E){_<E?u=-1:_>E&&(u=1);break}}return u},s.prototype.gtn=function(f){return this.cmpn(f)===1},s.prototype.gt=function(f){return this.cmp(f)===1},s.prototype.gten=function(f){return this.cmpn(f)>=0},s.prototype.gte=function(f){return this.cmp(f)>=0},s.prototype.ltn=function(f){return this.cmpn(f)===-1},s.prototype.lt=function(f){return this.cmp(f)===-1},s.prototype.lten=function(f){return this.cmpn(f)<=0},s.prototype.lte=function(f){return this.cmp(f)<=0},s.prototype.eqn=function(f){return this.cmpn(f)===0},s.prototype.eq=function(f){return this.cmp(f)===0},s.red=function(f){return new O(f)},s.prototype.toRed=function(f){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),f.convertTo(this)._forceRed(f)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(f){return this.red=f,this},s.prototype.forceRed=function(f){return i(!this.red,"Already a number in reduction context"),this._forceRed(f)},s.prototype.redAdd=function(f){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,f)},s.prototype.redIAdd=function(f){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,f)},s.prototype.redSub=function(f){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,f)},s.prototype.redISub=function(f){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,f)},s.prototype.redShl=function(f){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,f)},s.prototype.redMul=function(f){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.mul(this,f)},s.prototype.redIMul=function(f){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,f),this.red.imul(this,f)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(f){return i(this.red&&!f.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,f)};var k={k256:null,p224:null,p192:null,p25519:null};function j(p,f){this.name=p,this.p=new s(f,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}j.prototype._tmp=function(){var f=new s(null);return f.words=new Array(Math.ceil(this.n/13)),f},j.prototype.ireduce=function(f){var u=f,b;do this.split(u,this.tmp),u=this.imulK(u),u=u.iadd(this.tmp),b=u.bitLength();while(b>this.n);var _=b<this.n?-1:u.ucmp(this.p);return _===0?(u.words[0]=0,u.length=1):_>0?u.isub(this.p):u.strip!==void 0?u.strip():u._strip(),u},j.prototype.split=function(f,u){f.iushrn(this.n,0,u)},j.prototype.imulK=function(f){return f.imul(this.k)};function G(){j.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(G,j),G.prototype.split=function(f,u){for(var b=4194303,_=Math.min(f.length,9),E=0;E<_;E++)u.words[E]=f.words[E];if(u.length=_,f.length<=9){f.words[0]=0,f.length=1;return}var w=f.words[9];for(u.words[u.length++]=w&b,E=10;E<f.length;E++){var d=f.words[E]|0;f.words[E-10]=(d&b)<<4|w>>>22,w=d}w>>>=22,f.words[E-10]=w,w===0&&f.length>10?f.length-=10:f.length-=9},G.prototype.imulK=function(f){f.words[f.length]=0,f.words[f.length+1]=0,f.length+=2;for(var u=0,b=0;b<f.length;b++){var _=f.words[b]|0;u+=_*977,f.words[b]=u&67108863,u=_*64+(u/67108864|0)}return f.words[f.length-1]===0&&(f.length--,f.words[f.length-1]===0&&f.length--),f};function K(){j.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(K,j);function V(){j.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(V,j);function re(){j.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(re,j),re.prototype.imulK=function(f){for(var u=0,b=0;b<f.length;b++){var _=(f.words[b]|0)*19+u,E=_&67108863;_>>>=26,f.words[b]=E,u=_}return u!==0&&(f.words[f.length++]=u),f},s._prime=function(f){if(k[f])return k[f];var u;if(f==="k256")u=new G;else if(f==="p224")u=new K;else if(f==="p192")u=new V;else if(f==="p25519")u=new re;else throw new Error("Unknown prime "+f);return k[f]=u,u};function O(p){if(typeof p=="string"){var f=s._prime(p);this.m=f.p,this.prime=f}else i(p.gtn(1),"modulus must be greater than 1"),this.m=p,this.prime=null}O.prototype._verify1=function(f){i(f.negative===0,"red works only with positives"),i(f.red,"red works only with red numbers")},O.prototype._verify2=function(f,u){i((f.negative|u.negative)===0,"red works only with positives"),i(f.red&&f.red===u.red,"red works only with red numbers")},O.prototype.imod=function(f){return this.prime?this.prime.ireduce(f)._forceRed(this):(l(f,f.umod(this.m)._forceRed(this)),f)},O.prototype.neg=function(f){return f.isZero()?f.clone():this.m.sub(f)._forceRed(this)},O.prototype.add=function(f,u){this._verify2(f,u);var b=f.add(u);return b.cmp(this.m)>=0&&b.isub(this.m),b._forceRed(this)},O.prototype.iadd=function(f,u){this._verify2(f,u);var b=f.iadd(u);return b.cmp(this.m)>=0&&b.isub(this.m),b},O.prototype.sub=function(f,u){this._verify2(f,u);var b=f.sub(u);return b.cmpn(0)<0&&b.iadd(this.m),b._forceRed(this)},O.prototype.isub=function(f,u){this._verify2(f,u);var b=f.isub(u);return b.cmpn(0)<0&&b.iadd(this.m),b},O.prototype.shl=function(f,u){return this._verify1(f),this.imod(f.ushln(u))},O.prototype.imul=function(f,u){return this._verify2(f,u),this.imod(f.imul(u))},O.prototype.mul=function(f,u){return this._verify2(f,u),this.imod(f.mul(u))},O.prototype.isqr=function(f){return this.imul(f,f.clone())},O.prototype.sqr=function(f){return this.mul(f,f)},O.prototype.sqrt=function(f){if(f.isZero())return f.clone();var u=this.m.andln(3);if(i(u%2===1),u===3){var b=this.m.add(new s(1)).iushrn(2);return this.pow(f,b)}for(var _=this.m.subn(1),E=0;!_.isZero()&&_.andln(1)===0;)E++,_.iushrn(1);i(!_.isZero());var w=new s(1).toRed(this),d=w.redNeg(),m=this.m.subn(1).iushrn(1),v=this.m.bitLength();for(v=new s(2*v*v).toRed(this);this.pow(v,m).cmp(d)!==0;)v.redIAdd(d);for(var A=this.pow(v,_),U=this.pow(f,_.addn(1).iushrn(1)),x=this.pow(f,_),N=E;x.cmp(w)!==0;){for(var B=x,q=0;B.cmp(w)!==0;q++)B=B.redSqr();i(q<N);var z=this.pow(A,new s(1).iushln(N-q-1));U=U.redMul(z),A=z.redSqr(),x=x.redMul(A),N=q}return U},O.prototype.invm=function(f){var u=f._invmp(this.m);return u.negative!==0?(u.negative=0,this.imod(u).redNeg()):this.imod(u)},O.prototype.pow=function(f,u){if(u.isZero())return new s(1).toRed(this);if(u.cmpn(1)===0)return f.clone();var b=4,_=new Array(1<<b);_[0]=new s(1).toRed(this),_[1]=f;for(var E=2;E<_.length;E++)_[E]=this.mul(_[E-1],f);var w=_[0],d=0,m=0,v=u.bitLength()%26;for(v===0&&(v=26),E=u.length-1;E>=0;E--){for(var A=u.words[E],U=v-1;U>=0;U--){var x=A>>U&1;if(w!==_[0]&&(w=this.sqr(w)),x===0&&d===0){m=0;continue}d<<=1,d|=x,m++,!(m!==b&&(E!==0||U!==0))&&(w=this.mul(w,_[d]),m=0,d=0)}v=26}return w},O.prototype.convertTo=function(f){var u=f.umod(this.m);return u===f?u.clone():u},O.prototype.convertFrom=function(f){var u=f.clone();return u.red=null,u},s.mont=function(f){return new g(f)};function g(p){O.call(this,p),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(g,O),g.prototype.convertTo=function(f){return this.imod(f.ushln(this.shift))},g.prototype.convertFrom=function(f){var u=this.imod(f.mul(this.rinv));return u.red=null,u},g.prototype.imul=function(f,u){if(f.isZero()||u.isZero())return f.words[0]=0,f.length=1,f;var b=f.imul(u),_=b.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=b.isub(_).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},g.prototype.mul=function(f,u){if(f.isZero()||u.isZero())return new s(0)._forceRed(this);var b=f.mul(u),_=b.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),E=b.isub(_).iushrn(this.shift),w=E;return E.cmp(this.m)>=0?w=E.isub(this.m):E.cmpn(0)<0&&(w=E.iadd(this.m)),w._forceRed(this)},g.prototype.invm=function(f){var u=this.imod(f._invmp(this.m).mul(this.r2));return u._forceRed(this)}})(t,Nt)})(gu);var me=gu.exports;const bu="bignumber/5.7.0";var vo=me.BN;const hi=new Ee(bu),ef={},vu=9007199254740991;function qy(t){return t!=null&&(lt.isBigNumber(t)||typeof t=="number"&&t%1===0||typeof t=="string"&&!!t.match(/^-?[0-9]+$/)||ur(t)||typeof t=="bigint"||Nn(t))}let yu=!1;class lt{constructor(e,r){e!==ef&&hi.throwError("cannot call constructor directly; use BigNumber.from",Ee.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return ir(Me(this).fromTwos(e))}toTwos(e){return ir(Me(this).toTwos(e))}abs(){return this._hex[0]==="-"?lt.from(this._hex.substring(1)):this}add(e){return ir(Me(this).add(Me(e)))}sub(e){return ir(Me(this).sub(Me(e)))}div(e){return lt.from(e).isZero()&&mr("division-by-zero","div"),ir(Me(this).div(Me(e)))}mul(e){return ir(Me(this).mul(Me(e)))}mod(e){const r=Me(e);return r.isNeg()&&mr("division-by-zero","mod"),ir(Me(this).umod(r))}pow(e){const r=Me(e);return r.isNeg()&&mr("negative-power","pow"),ir(Me(this).pow(r))}and(e){const r=Me(e);return(this.isNegative()||r.isNeg())&&mr("unbound-bitwise-result","and"),ir(Me(this).and(r))}or(e){const r=Me(e);return(this.isNegative()||r.isNeg())&&mr("unbound-bitwise-result","or"),ir(Me(this).or(r))}xor(e){const r=Me(e);return(this.isNegative()||r.isNeg())&&mr("unbound-bitwise-result","xor"),ir(Me(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&mr("negative-width","mask"),ir(Me(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&mr("negative-width","shl"),ir(Me(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&mr("negative-width","shr"),ir(Me(this).shrn(e))}eq(e){return Me(this).eq(Me(e))}lt(e){return Me(this).lt(Me(e))}lte(e){return Me(this).lte(Me(e))}gt(e){return Me(this).gt(Me(e))}gte(e){return Me(this).gte(Me(e))}isNegative(){return this._hex[0]==="-"}isZero(){return Me(this).isZero()}toNumber(){try{return Me(this).toNumber()}catch{mr("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return hi.throwError("this platform does not support BigInt",Ee.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?yu||(yu=!0,hi.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?hi.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Ee.errors.UNEXPECTED_ARGUMENT,{}):hi.throwError("BigNumber.toString does not accept parameters",Ee.errors.UNEXPECTED_ARGUMENT,{})),Me(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof lt)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new lt(ef,ps(e)):e.match(/^-?[0-9]+$/)?new lt(ef,ps(new vo(e))):hi.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&mr("underflow","BigNumber.from",e),(e>=vu||e<=-vu)&&mr("overflow","BigNumber.from",e),lt.from(String(e));const r=e;if(typeof r=="bigint")return lt.from(r.toString());if(Nn(r))return lt.from(Yt(r));if(r)if(r.toHexString){const i=r.toHexString();if(typeof i=="string")return lt.from(i)}else{let i=r._hex;if(i==null&&r.type==="BigNumber"&&(i=r.hex),typeof i=="string"&&(ur(i)||i[0]==="-"&&ur(i.substring(1))))return lt.from(i)}return hi.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function ps(t){if(typeof t!="string")return ps(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&hi.throwArgumentError("invalid hex","value",t),t=ps(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function ir(t){return lt.from(ps(t))}function Me(t){const e=lt.from(t).toHexString();return e[0]==="-"?new vo("-"+e.substring(3),16):new vo(e.substring(2),16)}function mr(t,e,r){const i={fault:t,operation:e};return r!=null&&(i.value=r),hi.throwError(t,Ee.errors.NUMERIC_FAULT,i)}function Uy(t){return new vo(t,36).toString(16)}const Xt=new Ee(bu),gs={},mu=lt.from(0),wu=lt.from(-1);function _u(t,e,r,i){const n={fault:e,operation:r};return i!==void 0&&(n.value=i),Xt.throwError(t,Ee.errors.NUMERIC_FAULT,n)}let bs="0";for(;bs.length<256;)bs+=bs;function tf(t){if(typeof t!="number")try{t=lt.from(t).toNumber()}catch{}return typeof t=="number"&&t>=0&&t<=256&&!(t%1)?"1"+bs.substring(0,t):Xt.throwArgumentError("invalid decimal size","decimals",t)}function rf(t,e){e==null&&(e=0);const r=tf(e);t=lt.from(t);const i=t.lt(mu);i&&(t=t.mul(wu));let n=t.mod(r).toString();for(;n.length<r.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const s=t.div(r).toString();return r.length===1?t=s:t=s+"."+n,i&&(t="-"+t),t}function ui(t,e){e==null&&(e=0);const r=tf(e);(typeof t!="string"||!t.match(/^-?[0-9.]+$/))&&Xt.throwArgumentError("invalid decimal value","value",t);const i=t.substring(0,1)==="-";i&&(t=t.substring(1)),t==="."&&Xt.throwArgumentError("missing value","value",t);const n=t.split(".");n.length>2&&Xt.throwArgumentError("too many decimal points","value",t);let s=n[0],o=n[1];for(s||(s="0"),o||(o="0");o[o.length-1]==="0";)o=o.substring(0,o.length-1);for(o.length>r.length-1&&_u("fractional component exceeds decimals","underflow","parseFixed"),o===""&&(o="0");o.length<r.length-1;)o+="0";const a=lt.from(s),c=lt.from(o);let h=a.mul(r).add(c);return i&&(h=h.mul(wu)),h}class Tn{constructor(e,r,i,n){e!==gs&&Xt.throwError("cannot use FixedFormat constructor; use FixedFormat.from",Ee.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=r,this.width=i,this.decimals=n,this.name=(r?"":"u")+"fixed"+String(i)+"x"+String(n),this._multiplier=tf(n),Object.freeze(this)}static from(e){if(e instanceof Tn)return e;typeof e=="number"&&(e=`fixed128x${e}`);let r=!0,i=128,n=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")r=!1;else{const s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);s||Xt.throwArgumentError("invalid fixed format","format",e),r=s[1]!=="u",i=parseInt(s[2]),n=parseInt(s[3])}}else if(e){const s=(o,a,c)=>e[o]==null?c:(typeof e[o]!==a&&Xt.throwArgumentError("invalid fixed format ("+o+" not "+a+")","format."+o,e[o]),e[o]);r=s("signed","boolean",r),i=s("width","number",i),n=s("decimals","number",n)}return i%8&&Xt.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",i),n>80&&Xt.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new Tn(gs,r,i,n)}}class Ft{constructor(e,r,i,n){e!==gs&&Xt.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Ee.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=n,this._hex=r,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&Xt.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.add(i),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.sub(i),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const r=ui(this._value,this.format.decimals),i=ui(e._value,e.format.decimals);return Ft.fromValue(r.mul(this.format._multiplier).div(i),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let r=Ft.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return this.isNegative()&&i&&(r=r.subUnsafe(xu.toFormat(r.format))),r}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let r=Ft.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return!this.isNegative()&&i&&(r=r.addUnsafe(xu.toFormat(r.format))),r}round(e){e==null&&(e=0);const r=this.toString().split(".");if(r.length===1&&r.push("0"),(e<0||e>80||e%1)&&Xt.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;const i=Ft.from("1"+bs.substring(0,e),this.format),n=zy.toFormat(this.format);return this.mulUnsafe(i).addUnsafe(n).floor().divUnsafe(i)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&Xt.throwArgumentError("invalid byte width","width",e);const r=lt.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Fi(r,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Ft.fromString(this._value,e)}static fromValue(e,r,i){return i==null&&r!=null&&!qy(r)&&(i=r,r=null),r==null&&(r=0),i==null&&(i="fixed"),Ft.fromString(rf(e,r),Tn.from(i))}static fromString(e,r){r==null&&(r="fixed");const i=Tn.from(r),n=ui(e,i.decimals);!i.signed&&n.lt(mu)&&_u("unsigned value cannot be negative","overflow","value",e);let s=null;i.signed?s=n.toTwos(i.width).toHexString():(s=n.toHexString(),s=Fi(s,i.width/8));const o=rf(n,i.decimals);return new Ft(gs,s,o,i)}static fromBytes(e,r){r==null&&(r="fixed");const i=Tn.from(r);if(xt(e).length>i.width/8)throw new Error("overflow");let n=lt.from(e);i.signed&&(n=n.fromTwos(i.width));const s=n.toTwos((i.signed?0:1)+i.width).toHexString(),o=rf(n,i.decimals);return new Ft(gs,s,o,i)}static from(e,r){if(typeof e=="string")return Ft.fromString(e,r);if(Nn(e))return Ft.fromBytes(e,r);try{return Ft.fromValue(e,0,r)}catch(i){if(i.code!==Ee.errors.INVALID_ARGUMENT)throw i}return Xt.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}}const xu=Ft.from(1),zy=Ft.from("0.5");var Eu={exports:{}};/**
|
15
15
|
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
16
16
|
*
|
17
17
|
* @version 0.8.0
|
18
18
|
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
19
19
|
* @copyright Chen, Yi-Cyuan 2015-2018
|
20
20
|
* @license MIT
|
21
|
-
*/(function(r){(function(){var e="input is invalid type",t="finalize already called",i=typeof window=="object",n=i?window:{};n.JS_SHA3_NO_WINDOW&&(i=!1);var s=!i&&typeof self=="object",f=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;f?n=Bt:s&&(n=self);var h=!n.JS_SHA3_NO_COMMON_JS&&!0&&r.exports,l=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",p="0123456789abcdef".split(""),m=[31,7936,2031616,520093696],y=[4,1024,262144,67108864],E=[1,256,65536,16777216],I=[6,1536,393216,100663296],N=[0,8,16,24],F=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],k=[224,256,384,512],H=[128,256],L=["hex","buffer","arrayBuffer","array","digest"],W={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(O){return Object.prototype.toString.call(O)==="[object Array]"}),l&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(O){return typeof O=="object"&&O.buffer&&O.buffer.constructor===ArrayBuffer});for(var z=function(O,Z,U){return function(q){return new M(O,Z,O).update(q)[U]()}},R=function(O,Z,U){return function(q,T){return new M(O,Z,T).update(q)[U]()}},V=function(O,Z,U){return function(q,T,x,C){return a["cshake"+O].update(q,T,x,C)[U]()}},S=function(O,Z,U){return function(q,T,x,C){return a["kmac"+O].update(q,T,x,C)[U]()}},B=function(O,Z,U,q){for(var T=0;T<L.length;++T){var x=L[T];O[x]=Z(U,q,x)}return O},G=function(O,Z){var U=z(O,Z,"hex");return U.create=function(){return new M(O,Z,O)},U.update=function(q){return U.create().update(q)},B(U,z,O,Z)},ie=function(O,Z){var U=R(O,Z,"hex");return U.create=function(q){return new M(O,Z,q)},U.update=function(q,T){return U.create(T).update(q)},B(U,R,O,Z)},P=function(O,Z){var U=W[O],q=V(O,Z,"hex");return q.create=function(T,x,C){return!x&&!C?a["shake"+O].create(T):new M(O,Z,T).bytepad([x,C],U)},q.update=function(T,x,C,j){return q.create(x,C,j).update(T)},B(q,V,O,Z)},o=function(O,Z){var U=W[O],q=S(O,Z,"hex");return q.create=function(T,x,C){return new D(O,Z,x).bytepad(["KMAC",C],U).bytepad([T],U)},q.update=function(T,x,C,j){return q.create(T,C,j).update(x)},B(q,S,O,Z)},d=[{name:"keccak",padding:E,bits:k,createMethod:G},{name:"sha3",padding:I,bits:k,createMethod:G},{name:"shake",padding:m,bits:H,createMethod:ie},{name:"cshake",padding:y,bits:H,createMethod:P},{name:"kmac",padding:y,bits:H,createMethod:o}],a={},u=[],b=0;b<d.length;++b)for(var w=d[b],A=w.bits,g=0;g<A.length;++g){var c=w.name+"_"+A[g];if(u.push(c),a[c]=w.createMethod(A[g],w.padding),w.name!=="sha3"){var v=w.name+A[g];u.push(v),a[v]=a[c]}}function M(O,Z,U){this.blocks=[],this.s=[],this.padding=Z,this.outputBits=U,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(O<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=U>>5,this.extraBytes=(U&31)>>3;for(var q=0;q<50;++q)this.s[q]=0}M.prototype.update=function(O){if(this.finalized)throw new Error(t);var Z,U=typeof O;if(U!=="string"){if(U==="object"){if(O===null)throw new Error(e);if(l&&O.constructor===ArrayBuffer)O=new Uint8Array(O);else if(!Array.isArray(O)&&(!l||!ArrayBuffer.isView(O)))throw new Error(e)}else throw new Error(e);Z=!0}for(var q=this.blocks,T=this.byteCount,x=O.length,C=this.blockCount,j=0,Q=this.s,_,X;j<x;){if(this.reset)for(this.reset=!1,q[0]=this.block,_=1;_<C+1;++_)q[_]=0;if(Z)for(_=this.start;j<x&&_<T;++j)q[_>>2]|=O[j]<<N[_++&3];else for(_=this.start;j<x&&_<T;++j)X=O.charCodeAt(j),X<128?q[_>>2]|=X<<N[_++&3]:X<2048?(q[_>>2]|=(192|X>>6)<<N[_++&3],q[_>>2]|=(128|X&63)<<N[_++&3]):X<55296||X>=57344?(q[_>>2]|=(224|X>>12)<<N[_++&3],q[_>>2]|=(128|X>>6&63)<<N[_++&3],q[_>>2]|=(128|X&63)<<N[_++&3]):(X=65536+((X&1023)<<10|O.charCodeAt(++j)&1023),q[_>>2]|=(240|X>>18)<<N[_++&3],q[_>>2]|=(128|X>>12&63)<<N[_++&3],q[_>>2]|=(128|X>>6&63)<<N[_++&3],q[_>>2]|=(128|X&63)<<N[_++&3]);if(this.lastByteIndex=_,_>=T){for(this.start=_-T,this.block=q[C],_=0;_<C;++_)Q[_]^=q[_];J(Q),this.reset=!0}else this.start=_}return this},M.prototype.encode=function(O,Z){var U=O&255,q=1,T=[U];for(O=O>>8,U=O&255;U>0;)T.unshift(U),O=O>>8,U=O&255,++q;return Z?T.push(q):T.unshift(q),this.update(T),T.length},M.prototype.encodeString=function(O){var Z,U=typeof O;if(U!=="string"){if(U==="object"){if(O===null)throw new Error(e);if(l&&O.constructor===ArrayBuffer)O=new Uint8Array(O);else if(!Array.isArray(O)&&(!l||!ArrayBuffer.isView(O)))throw new Error(e)}else throw new Error(e);Z=!0}var q=0,T=O.length;if(Z)q=T;else for(var x=0;x<O.length;++x){var C=O.charCodeAt(x);C<128?q+=1:C<2048?q+=2:C<55296||C>=57344?q+=3:(C=65536+((C&1023)<<10|O.charCodeAt(++x)&1023),q+=4)}return q+=this.encode(q*8),this.update(O),q},M.prototype.bytepad=function(O,Z){for(var U=this.encode(Z),q=0;q<O.length;++q)U+=this.encodeString(O[q]);var T=Z-U%Z,x=[];return x.length=T,this.update(x),this},M.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var O=this.blocks,Z=this.lastByteIndex,U=this.blockCount,q=this.s;if(O[Z>>2]|=this.padding[Z&3],this.lastByteIndex===this.byteCount)for(O[0]=O[U],Z=1;Z<U+1;++Z)O[Z]=0;for(O[U-1]|=2147483648,Z=0;Z<U;++Z)q[Z]^=O[Z];J(q)}},M.prototype.toString=M.prototype.hex=function(){this.finalize();for(var O=this.blockCount,Z=this.s,U=this.outputBlocks,q=this.extraBytes,T=0,x=0,C="",j;x<U;){for(T=0;T<O&&x<U;++T,++x)j=Z[T],C+=p[j>>4&15]+p[j&15]+p[j>>12&15]+p[j>>8&15]+p[j>>20&15]+p[j>>16&15]+p[j>>28&15]+p[j>>24&15];x%O===0&&(J(Z),T=0)}return q&&(j=Z[T],C+=p[j>>4&15]+p[j&15],q>1&&(C+=p[j>>12&15]+p[j>>8&15]),q>2&&(C+=p[j>>20&15]+p[j>>16&15])),C},M.prototype.arrayBuffer=function(){this.finalize();var O=this.blockCount,Z=this.s,U=this.outputBlocks,q=this.extraBytes,T=0,x=0,C=this.outputBits>>3,j;q?j=new ArrayBuffer(U+1<<2):j=new ArrayBuffer(C);for(var Q=new Uint32Array(j);x<U;){for(T=0;T<O&&x<U;++T,++x)Q[x]=Z[T];x%O===0&&J(Z)}return q&&(Q[T]=Z[T],j=j.slice(0,C)),j},M.prototype.buffer=M.prototype.arrayBuffer,M.prototype.digest=M.prototype.array=function(){this.finalize();for(var O=this.blockCount,Z=this.s,U=this.outputBlocks,q=this.extraBytes,T=0,x=0,C=[],j,Q;x<U;){for(T=0;T<O&&x<U;++T,++x)j=x<<2,Q=Z[T],C[j]=Q&255,C[j+1]=Q>>8&255,C[j+2]=Q>>16&255,C[j+3]=Q>>24&255;x%O===0&&J(Z)}return q&&(j=x<<2,Q=Z[T],C[j]=Q&255,q>1&&(C[j+1]=Q>>8&255),q>2&&(C[j+2]=Q>>16&255)),C};function D(O,Z,U){M.call(this,O,Z,U)}D.prototype=new M,D.prototype.finalize=function(){return this.encode(this.outputBits,!0),M.prototype.finalize.call(this)};var J=function(O){var Z,U,q,T,x,C,j,Q,_,X,ne,ae,$,he,Pe,se,de,Se,re,ce,xe,ee,ve,qe,te,we,Ne,oe,pe,ze,Ae,ke,_e,Me,Ke,it,Oe,Ce,je,be,Fe,Je,le,Be,Ge,ge,Le,Qe,ue,Re,He,me,Ue,ft,Te,Ze,Xe,nt,It,ct,ht,lt,dt;for(q=0;q<48;q+=2)T=O[0]^O[10]^O[20]^O[30]^O[40],x=O[1]^O[11]^O[21]^O[31]^O[41],C=O[2]^O[12]^O[22]^O[32]^O[42],j=O[3]^O[13]^O[23]^O[33]^O[43],Q=O[4]^O[14]^O[24]^O[34]^O[44],_=O[5]^O[15]^O[25]^O[35]^O[45],X=O[6]^O[16]^O[26]^O[36]^O[46],ne=O[7]^O[17]^O[27]^O[37]^O[47],ae=O[8]^O[18]^O[28]^O[38]^O[48],$=O[9]^O[19]^O[29]^O[39]^O[49],Z=ae^(C<<1|j>>>31),U=$^(j<<1|C>>>31),O[0]^=Z,O[1]^=U,O[10]^=Z,O[11]^=U,O[20]^=Z,O[21]^=U,O[30]^=Z,O[31]^=U,O[40]^=Z,O[41]^=U,Z=T^(Q<<1|_>>>31),U=x^(_<<1|Q>>>31),O[2]^=Z,O[3]^=U,O[12]^=Z,O[13]^=U,O[22]^=Z,O[23]^=U,O[32]^=Z,O[33]^=U,O[42]^=Z,O[43]^=U,Z=C^(X<<1|ne>>>31),U=j^(ne<<1|X>>>31),O[4]^=Z,O[5]^=U,O[14]^=Z,O[15]^=U,O[24]^=Z,O[25]^=U,O[34]^=Z,O[35]^=U,O[44]^=Z,O[45]^=U,Z=Q^(ae<<1|$>>>31),U=_^($<<1|ae>>>31),O[6]^=Z,O[7]^=U,O[16]^=Z,O[17]^=U,O[26]^=Z,O[27]^=U,O[36]^=Z,O[37]^=U,O[46]^=Z,O[47]^=U,Z=X^(T<<1|x>>>31),U=ne^(x<<1|T>>>31),O[8]^=Z,O[9]^=U,O[18]^=Z,O[19]^=U,O[28]^=Z,O[29]^=U,O[38]^=Z,O[39]^=U,O[48]^=Z,O[49]^=U,he=O[0],Pe=O[1],ge=O[11]<<4|O[10]>>>28,Le=O[10]<<4|O[11]>>>28,oe=O[20]<<3|O[21]>>>29,pe=O[21]<<3|O[20]>>>29,ct=O[31]<<9|O[30]>>>23,ht=O[30]<<9|O[31]>>>23,Je=O[40]<<18|O[41]>>>14,le=O[41]<<18|O[40]>>>14,Me=O[2]<<1|O[3]>>>31,Ke=O[3]<<1|O[2]>>>31,se=O[13]<<12|O[12]>>>20,de=O[12]<<12|O[13]>>>20,Qe=O[22]<<10|O[23]>>>22,ue=O[23]<<10|O[22]>>>22,ze=O[33]<<13|O[32]>>>19,Ae=O[32]<<13|O[33]>>>19,lt=O[42]<<2|O[43]>>>30,dt=O[43]<<2|O[42]>>>30,ft=O[5]<<30|O[4]>>>2,Te=O[4]<<30|O[5]>>>2,it=O[14]<<6|O[15]>>>26,Oe=O[15]<<6|O[14]>>>26,Se=O[25]<<11|O[24]>>>21,re=O[24]<<11|O[25]>>>21,Re=O[34]<<15|O[35]>>>17,He=O[35]<<15|O[34]>>>17,ke=O[45]<<29|O[44]>>>3,_e=O[44]<<29|O[45]>>>3,qe=O[6]<<28|O[7]>>>4,te=O[7]<<28|O[6]>>>4,Ze=O[17]<<23|O[16]>>>9,Xe=O[16]<<23|O[17]>>>9,Ce=O[26]<<25|O[27]>>>7,je=O[27]<<25|O[26]>>>7,ce=O[36]<<21|O[37]>>>11,xe=O[37]<<21|O[36]>>>11,me=O[47]<<24|O[46]>>>8,Ue=O[46]<<24|O[47]>>>8,Be=O[8]<<27|O[9]>>>5,Ge=O[9]<<27|O[8]>>>5,we=O[18]<<20|O[19]>>>12,Ne=O[19]<<20|O[18]>>>12,nt=O[29]<<7|O[28]>>>25,It=O[28]<<7|O[29]>>>25,be=O[38]<<8|O[39]>>>24,Fe=O[39]<<8|O[38]>>>24,ee=O[48]<<14|O[49]>>>18,ve=O[49]<<14|O[48]>>>18,O[0]=he^~se&Se,O[1]=Pe^~de&re,O[10]=qe^~we&oe,O[11]=te^~Ne&pe,O[20]=Me^~it&Ce,O[21]=Ke^~Oe&je,O[30]=Be^~ge&Qe,O[31]=Ge^~Le&ue,O[40]=ft^~Ze&nt,O[41]=Te^~Xe&It,O[2]=se^~Se&ce,O[3]=de^~re&xe,O[12]=we^~oe&ze,O[13]=Ne^~pe&Ae,O[22]=it^~Ce&be,O[23]=Oe^~je&Fe,O[32]=ge^~Qe&Re,O[33]=Le^~ue&He,O[42]=Ze^~nt&ct,O[43]=Xe^~It&ht,O[4]=Se^~ce&ee,O[5]=re^~xe&ve,O[14]=oe^~ze&ke,O[15]=pe^~Ae&_e,O[24]=Ce^~be&Je,O[25]=je^~Fe&le,O[34]=Qe^~Re&me,O[35]=ue^~He&Ue,O[44]=nt^~ct<,O[45]=It^~ht&dt,O[6]=ce^~ee&he,O[7]=xe^~ve&Pe,O[16]=ze^~ke&qe,O[17]=Ae^~_e&te,O[26]=be^~Je&Me,O[27]=Fe^~le&Ke,O[36]=Re^~me&Be,O[37]=He^~Ue&Ge,O[46]=ct^~lt&ft,O[47]=ht^~dt&Te,O[8]=ee^~he&se,O[9]=ve^~Pe&de,O[18]=ke^~qe&we,O[19]=_e^~te&Ne,O[28]=Je^~Me&it,O[29]=le^~Ke&Oe,O[38]=me^~Be&ge,O[39]=Ue^~Ge&Le,O[48]=lt^~ft&Ze,O[49]=dt^~Te&Xe,O[0]^=F[q],O[1]^=F[q+1]};if(h)r.exports=a;else for(b=0;b<u.length;++b)n[u[b]]=a[u[b]]})()})(Ch);var R3=Ch.exports;const T3="logger/5.7.0";let Fh=!1,qh=!1;const Ya={debug:1,default:2,info:2,warning:3,error:4,off:5};let Lh=Ya.default,Bf=null;function C3(){try{const r=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{r.push(e)}}),r.length)throw new Error("missing "+r.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(r){return r.message}return null}const Bh=C3();var Uf;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(Uf||(Uf={}));var si;(function(r){r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",r.NETWORK_ERROR="NETWORK_ERROR",r.SERVER_ERROR="SERVER_ERROR",r.TIMEOUT="TIMEOUT",r.BUFFER_OVERRUN="BUFFER_OVERRUN",r.NUMERIC_FAULT="NUMERIC_FAULT",r.MISSING_NEW="MISSING_NEW",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",r.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",r.TRANSACTION_REPLACED="TRANSACTION_REPLACED",r.ACTION_REJECTED="ACTION_REJECTED"})(si||(si={}));const Uh="0123456789abcdef";class tt{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const i=e.toLowerCase();Ya[i]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(Lh>Ya[i])&&console.log.apply(console,t)}debug(...e){this._log(tt.levels.DEBUG,e)}info(...e){this._log(tt.levels.INFO,e)}warn(...e){this._log(tt.levels.WARNING,e)}makeError(e,t,i){if(qh)return this.makeError("censored error",t,{});t||(t=tt.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(l=>{const p=i[l];try{if(p instanceof Uint8Array){let m="";for(let y=0;y<p.length;y++)m+=Uh[p[y]>>4],m+=Uh[p[y]&15];n.push(l+"=Uint8Array(0x"+m+")")}else n.push(l+"="+JSON.stringify(p))}catch{n.push(l+"="+JSON.stringify(i[l].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);const s=e;let f="";switch(t){case si.NUMERIC_FAULT:{f="NUMERIC_FAULT";const l=e;switch(l){case"overflow":case"underflow":case"division-by-zero":f+="-"+l;break;case"negative-power":case"negative-width":f+="-unsupported";break;case"unbound-bitwise-result":f+="-unbound-result";break}break}case si.CALL_EXCEPTION:case si.INSUFFICIENT_FUNDS:case si.MISSING_NEW:case si.NONCE_EXPIRED:case si.REPLACEMENT_UNDERPRICED:case si.TRANSACTION_REPLACED:case si.UNPREDICTABLE_GAS_LIMIT:f=t;break}f&&(e+=" [ See: https://links.ethers.org/v5-errors-"+f+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const h=new Error(e);return h.reason=s,h.code=t,Object.keys(i).forEach(function(l){h[l]=i[l]}),h}throwError(e,t,i){throw this.makeError(e,t,i)}throwArgumentError(e,t,i){return this.throwError(e,tt.errors.INVALID_ARGUMENT,{argument:t,value:i})}assert(e,t,i,n){e||this.throwError(t,i,n)}assertArgument(e,t,i,n){e||this.throwArgumentError(t,i,n)}checkNormalize(e){Bh&&this.throwError("platform missing String.prototype.normalize",tt.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Bh})}checkSafeUint53(e,t){typeof e=="number"&&(t==null&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,tt.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,tt.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,i){i?i=": "+i:i="",e<t&&this.throwError("missing argument"+i,tt.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+i,tt.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||e==null)&&this.throwError("missing new",tt.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",tt.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",tt.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return Bf||(Bf=new tt(T3)),Bf}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",tt.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Fh){if(!e)return;this.globalLogger().throwError("error censorship permanent",tt.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}qh=!!e,Fh=!!t}static setLogLevel(e){const t=Ya[e.toLowerCase()];if(t==null){tt.globalLogger().warn("invalid log level - "+e);return}Lh=t}static from(e){return new tt(e)}}tt.errors=si,tt.levels=Uf;const F3="bytes/5.7.0",Nt=new tt(F3);function zh(r){return!!r.toHexString}function is(r){return r.slice||(r.slice=function(){const e=Array.prototype.slice.call(arguments);return is(new Uint8Array(Array.prototype.slice.apply(r,e)))}),r}function q3(r){return Cr(r)&&!(r.length%2)||ns(r)}function kh(r){return typeof r=="number"&&r==r&&r%1===0}function ns(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!kh(r.length)||r.length<0)return!1;for(let e=0;e<r.length;e++){const t=r[e];if(!kh(t)||t<0||t>=256)return!1}return!0}function At(r,e){if(e||(e={}),typeof r=="number"){Nt.checkSafeUint53(r,"invalid arrayify value");const t=[];for(;r;)t.unshift(r&255),r=parseInt(String(r/256));return t.length===0&&t.push(0),is(new Uint8Array(t))}if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),zh(r)&&(r=r.toHexString()),Cr(r)){let t=r.substring(2);t.length%2&&(e.hexPad==="left"?t="0"+t:e.hexPad==="right"?t+="0":Nt.throwArgumentError("hex data is odd-length","value",r));const i=[];for(let n=0;n<t.length;n+=2)i.push(parseInt(t.substring(n,n+2),16));return is(new Uint8Array(i))}return ns(r)?is(new Uint8Array(r)):Nt.throwArgumentError("invalid arrayify value","value",r)}function L3(r){const e=r.map(n=>At(n)),t=e.reduce((n,s)=>n+s.length,0),i=new Uint8Array(t);return e.reduce((n,s)=>(i.set(s,n),n+s.length),0),is(i)}function B3(r,e){r=At(r),r.length>e&&Nt.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(r,e-r.length),is(t)}function Cr(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}const zf="0123456789abcdef";function mr(r,e){if(e||(e={}),typeof r=="number"){Nt.checkSafeUint53(r,"invalid hexlify value");let t="";for(;r;)t=zf[r&15]+t,r=Math.floor(r/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if(typeof r=="bigint")return r=r.toString(16),r.length%2?"0x0"+r:"0x"+r;if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),zh(r))return r.toHexString();if(Cr(r))return r.length%2&&(e.hexPad==="left"?r="0x0"+r.substring(2):e.hexPad==="right"?r+="0":Nt.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(ns(r)){let t="0x";for(let i=0;i<r.length;i++){let n=r[i];t+=zf[(n&240)>>4]+zf[n&15]}return t}return Nt.throwArgumentError("invalid hexlify value","value",r)}function U3(r){if(typeof r!="string")r=mr(r);else if(!Cr(r)||r.length%2)return null;return(r.length-2)/2}function Vh(r,e,t){return typeof r!="string"?r=mr(r):(!Cr(r)||r.length%2)&&Nt.throwArgumentError("invalid hexData","value",r),e=2+2*e,t!=null?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function gi(r,e){for(typeof r!="string"?r=mr(r):Cr(r)||Nt.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&Nt.throwArgumentError("value out of range","value",arguments[1]);r.length<2*e+2;)r="0x0"+r.substring(2);return r}function Hh(r){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(q3(r)){let t=At(r);t.length===64?(e.v=27+(t[32]>>7),t[32]&=127,e.r=mr(t.slice(0,32)),e.s=mr(t.slice(32,64))):t.length===65?(e.r=mr(t.slice(0,32)),e.s=mr(t.slice(32,64)),e.v=t[64]):Nt.throwArgumentError("invalid signature string","signature",r),e.v<27&&(e.v===0||e.v===1?e.v+=27:Nt.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=mr(t.slice(32,64))}else{if(e.r=r.r,e.s=r.s,e.v=r.v,e.recoveryParam=r.recoveryParam,e._vs=r._vs,e._vs!=null){const n=B3(At(e._vs),32);e._vs=mr(n);const s=n[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=s:e.recoveryParam!==s&&Nt.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),n[0]&=127;const f=mr(n);e.s==null?e.s=f:e.s!==f&&Nt.throwArgumentError("signature v mismatch _vs","signature",r)}if(e.recoveryParam==null)e.v==null?Nt.throwArgumentError("signature missing v and recoveryParam","signature",r):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const n=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==n&&Nt.throwArgumentError("signature recoveryParam mismatch v","signature",r)}e.r==null||!Cr(e.r)?Nt.throwArgumentError("signature missing or invalid r","signature",r):e.r=gi(e.r,32),e.s==null||!Cr(e.s)?Nt.throwArgumentError("signature missing or invalid s","signature",r):e.s=gi(e.s,32);const t=At(e.s);t[0]>=128&&Nt.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(t[0]|=128);const i=mr(t);e._vs&&(Cr(e._vs)||Nt.throwArgumentError("signature invalid _vs","signature",r),e._vs=gi(e._vs,32)),e._vs==null?e._vs=i:e._vs!==i&&Nt.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function kf(r){return"0x"+R3.keccak_256(At(r))}var Kh={exports:{}};(function(r){(function(e,t){function i(d,a){if(!d)throw new Error(a||"Assertion failed")}function n(d,a){d.super_=a;var u=function(){};u.prototype=a.prototype,d.prototype=new u,d.prototype.constructor=d}function s(d,a,u){if(s.isBN(d))return d;this.negative=0,this.words=null,this.length=0,this.red=null,d!==null&&((a==="le"||a==="be")&&(u=a,a=10),this._init(d||0,a||10,u||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=ks.Buffer}catch{}s.isBN=function(a){return a instanceof s?!0:a!==null&&typeof a=="object"&&a.constructor.wordSize===s.wordSize&&Array.isArray(a.words)},s.max=function(a,u){return a.cmp(u)>0?a:u},s.min=function(a,u){return a.cmp(u)<0?a:u},s.prototype._init=function(a,u,b){if(typeof a=="number")return this._initNumber(a,u,b);if(typeof a=="object")return this._initArray(a,u,b);u==="hex"&&(u=16),i(u===(u|0)&&u>=2&&u<=36),a=a.toString().replace(/\s+/g,"");var w=0;a[0]==="-"&&(w++,this.negative=1),w<a.length&&(u===16?this._parseHex(a,w,b):(this._parseBase(a,u,w),b==="le"&&this._initArray(this.toArray(),u,b)))},s.prototype._initNumber=function(a,u,b){a<0&&(this.negative=1,a=-a),a<67108864?(this.words=[a&67108863],this.length=1):a<4503599627370496?(this.words=[a&67108863,a/67108864&67108863],this.length=2):(i(a<9007199254740992),this.words=[a&67108863,a/67108864&67108863,1],this.length=3),b==="le"&&this._initArray(this.toArray(),u,b)},s.prototype._initArray=function(a,u,b){if(i(typeof a.length=="number"),a.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(a.length/3),this.words=new Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var A,g,c=0;if(b==="be")for(w=a.length-1,A=0;w>=0;w-=3)g=a[w]|a[w-1]<<8|a[w-2]<<16,this.words[A]|=g<<c&67108863,this.words[A+1]=g>>>26-c&67108863,c+=24,c>=26&&(c-=26,A++);else if(b==="le")for(w=0,A=0;w<a.length;w+=3)g=a[w]|a[w+1]<<8|a[w+2]<<16,this.words[A]|=g<<c&67108863,this.words[A+1]=g>>>26-c&67108863,c+=24,c>=26&&(c-=26,A++);return this._strip()};function h(d,a){var u=d.charCodeAt(a);if(u>=48&&u<=57)return u-48;if(u>=65&&u<=70)return u-55;if(u>=97&&u<=102)return u-87;i(!1,"Invalid character in "+d)}function l(d,a,u){var b=h(d,u);return u-1>=a&&(b|=h(d,u-1)<<4),b}s.prototype._parseHex=function(a,u,b){this.length=Math.ceil((a.length-u)/6),this.words=new Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var A=0,g=0,c;if(b==="be")for(w=a.length-1;w>=u;w-=2)c=l(a,u,w)<<A,this.words[g]|=c&67108863,A>=18?(A-=18,g+=1,this.words[g]|=c>>>26):A+=8;else{var v=a.length-u;for(w=v%2===0?u+1:u;w<a.length;w+=2)c=l(a,u,w)<<A,this.words[g]|=c&67108863,A>=18?(A-=18,g+=1,this.words[g]|=c>>>26):A+=8}this._strip()};function p(d,a,u,b){for(var w=0,A=0,g=Math.min(d.length,u),c=a;c<g;c++){var v=d.charCodeAt(c)-48;w*=b,v>=49?A=v-49+10:v>=17?A=v-17+10:A=v,i(v>=0&&A<b,"Invalid character"),w+=A}return w}s.prototype._parseBase=function(a,u,b){this.words=[0],this.length=1;for(var w=0,A=1;A<=67108863;A*=u)w++;w--,A=A/u|0;for(var g=a.length-b,c=g%w,v=Math.min(g,g-c)+b,M=0,D=b;D<v;D+=w)M=p(a,D,D+w,u),this.imuln(A),this.words[0]+M<67108864?this.words[0]+=M:this._iaddn(M);if(c!==0){var J=1;for(M=p(a,D,a.length,u),D=0;D<c;D++)J*=u;this.imuln(J),this.words[0]+M<67108864?this.words[0]+=M:this._iaddn(M)}this._strip()},s.prototype.copy=function(a){a.words=new Array(this.length);for(var u=0;u<this.length;u++)a.words[u]=this.words[u];a.length=this.length,a.negative=this.negative,a.red=this.red};function m(d,a){d.words=a.words,d.length=a.length,d.negative=a.negative,d.red=a.red}if(s.prototype._move=function(a){m(a,this)},s.prototype.clone=function(){var a=new s(null);return this.copy(a),a},s.prototype._expand=function(a){for(;this.length<a;)this.words[this.length++]=0;return this},s.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=y}catch{s.prototype.inspect=y}else s.prototype.inspect=y;function y(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var E=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],I=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],N=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(a,u){a=a||10,u=u|0||1;var b;if(a===16||a==="hex"){b="";for(var w=0,A=0,g=0;g<this.length;g++){var c=this.words[g],v=((c<<w|A)&16777215).toString(16);A=c>>>24-w&16777215,w+=2,w>=26&&(w-=26,g--),A!==0||g!==this.length-1?b=E[6-v.length]+v+b:b=v+b}for(A!==0&&(b=A.toString(16)+b);b.length%u!==0;)b="0"+b;return this.negative!==0&&(b="-"+b),b}if(a===(a|0)&&a>=2&&a<=36){var M=I[a],D=N[a];b="";var J=this.clone();for(J.negative=0;!J.isZero();){var O=J.modrn(D).toString(a);J=J.idivn(D),J.isZero()?b=O+b:b=E[M-O.length]+O+b}for(this.isZero()&&(b="0"+b);b.length%u!==0;)b="0"+b;return this.negative!==0&&(b="-"+b),b}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var a=this.words[0];return this.length===2?a+=this.words[1]*67108864:this.length===3&&this.words[2]===1?a+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-a:a},s.prototype.toJSON=function(){return this.toString(16,2)},f&&(s.prototype.toBuffer=function(a,u){return this.toArrayLike(f,a,u)}),s.prototype.toArray=function(a,u){return this.toArrayLike(Array,a,u)};var F=function(a,u){return a.allocUnsafe?a.allocUnsafe(u):new a(u)};s.prototype.toArrayLike=function(a,u,b){this._strip();var w=this.byteLength(),A=b||Math.max(1,w);i(w<=A,"byte array longer than desired length"),i(A>0,"Requested array length <= 0");var g=F(a,A),c=u==="le"?"LE":"BE";return this["_toArrayLike"+c](g,w),g},s.prototype._toArrayLikeLE=function(a,u){for(var b=0,w=0,A=0,g=0;A<this.length;A++){var c=this.words[A]<<g|w;a[b++]=c&255,b<a.length&&(a[b++]=c>>8&255),b<a.length&&(a[b++]=c>>16&255),g===6?(b<a.length&&(a[b++]=c>>24&255),w=0,g=0):(w=c>>>24,g+=2)}if(b<a.length)for(a[b++]=w;b<a.length;)a[b++]=0},s.prototype._toArrayLikeBE=function(a,u){for(var b=a.length-1,w=0,A=0,g=0;A<this.length;A++){var c=this.words[A]<<g|w;a[b--]=c&255,b>=0&&(a[b--]=c>>8&255),b>=0&&(a[b--]=c>>16&255),g===6?(b>=0&&(a[b--]=c>>24&255),w=0,g=0):(w=c>>>24,g+=2)}if(b>=0)for(a[b--]=w;b>=0;)a[b--]=0},Math.clz32?s.prototype._countBits=function(a){return 32-Math.clz32(a)}:s.prototype._countBits=function(a){var u=a,b=0;return u>=4096&&(b+=13,u>>>=13),u>=64&&(b+=7,u>>>=7),u>=8&&(b+=4,u>>>=4),u>=2&&(b+=2,u>>>=2),b+u},s.prototype._zeroBits=function(a){if(a===0)return 26;var u=a,b=0;return u&8191||(b+=13,u>>>=13),u&127||(b+=7,u>>>=7),u&15||(b+=4,u>>>=4),u&3||(b+=2,u>>>=2),u&1||b++,b},s.prototype.bitLength=function(){var a=this.words[this.length-1],u=this._countBits(a);return(this.length-1)*26+u};function k(d){for(var a=new Array(d.bitLength()),u=0;u<a.length;u++){var b=u/26|0,w=u%26;a[u]=d.words[b]>>>w&1}return a}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var a=0,u=0;u<this.length;u++){var b=this._zeroBits(this.words[u]);if(a+=b,b!==26)break}return a},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(a){return this.negative!==0?this.abs().inotn(a).iaddn(1):this.clone()},s.prototype.fromTwos=function(a){return this.testn(a-1)?this.notn(a).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(a){for(;this.length<a.length;)this.words[this.length++]=0;for(var u=0;u<a.length;u++)this.words[u]=this.words[u]|a.words[u];return this._strip()},s.prototype.ior=function(a){return i((this.negative|a.negative)===0),this.iuor(a)},s.prototype.or=function(a){return this.length>a.length?this.clone().ior(a):a.clone().ior(this)},s.prototype.uor=function(a){return this.length>a.length?this.clone().iuor(a):a.clone().iuor(this)},s.prototype.iuand=function(a){var u;this.length>a.length?u=a:u=this;for(var b=0;b<u.length;b++)this.words[b]=this.words[b]&a.words[b];return this.length=u.length,this._strip()},s.prototype.iand=function(a){return i((this.negative|a.negative)===0),this.iuand(a)},s.prototype.and=function(a){return this.length>a.length?this.clone().iand(a):a.clone().iand(this)},s.prototype.uand=function(a){return this.length>a.length?this.clone().iuand(a):a.clone().iuand(this)},s.prototype.iuxor=function(a){var u,b;this.length>a.length?(u=this,b=a):(u=a,b=this);for(var w=0;w<b.length;w++)this.words[w]=u.words[w]^b.words[w];if(this!==u)for(;w<u.length;w++)this.words[w]=u.words[w];return this.length=u.length,this._strip()},s.prototype.ixor=function(a){return i((this.negative|a.negative)===0),this.iuxor(a)},s.prototype.xor=function(a){return this.length>a.length?this.clone().ixor(a):a.clone().ixor(this)},s.prototype.uxor=function(a){return this.length>a.length?this.clone().iuxor(a):a.clone().iuxor(this)},s.prototype.inotn=function(a){i(typeof a=="number"&&a>=0);var u=Math.ceil(a/26)|0,b=a%26;this._expand(u),b>0&&u--;for(var w=0;w<u;w++)this.words[w]=~this.words[w]&67108863;return b>0&&(this.words[w]=~this.words[w]&67108863>>26-b),this._strip()},s.prototype.notn=function(a){return this.clone().inotn(a)},s.prototype.setn=function(a,u){i(typeof a=="number"&&a>=0);var b=a/26|0,w=a%26;return this._expand(b+1),u?this.words[b]=this.words[b]|1<<w:this.words[b]=this.words[b]&~(1<<w),this._strip()},s.prototype.iadd=function(a){var u;if(this.negative!==0&&a.negative===0)return this.negative=0,u=this.isub(a),this.negative^=1,this._normSign();if(this.negative===0&&a.negative!==0)return a.negative=0,u=this.isub(a),a.negative=1,u._normSign();var b,w;this.length>a.length?(b=this,w=a):(b=a,w=this);for(var A=0,g=0;g<w.length;g++)u=(b.words[g]|0)+(w.words[g]|0)+A,this.words[g]=u&67108863,A=u>>>26;for(;A!==0&&g<b.length;g++)u=(b.words[g]|0)+A,this.words[g]=u&67108863,A=u>>>26;if(this.length=b.length,A!==0)this.words[this.length]=A,this.length++;else if(b!==this)for(;g<b.length;g++)this.words[g]=b.words[g];return this},s.prototype.add=function(a){var u;return a.negative!==0&&this.negative===0?(a.negative=0,u=this.sub(a),a.negative^=1,u):a.negative===0&&this.negative!==0?(this.negative=0,u=a.sub(this),this.negative=1,u):this.length>a.length?this.clone().iadd(a):a.clone().iadd(this)},s.prototype.isub=function(a){if(a.negative!==0){a.negative=0;var u=this.iadd(a);return a.negative=1,u._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(a),this.negative=1,this._normSign();var b=this.cmp(a);if(b===0)return this.negative=0,this.length=1,this.words[0]=0,this;var w,A;b>0?(w=this,A=a):(w=a,A=this);for(var g=0,c=0;c<A.length;c++)u=(w.words[c]|0)-(A.words[c]|0)+g,g=u>>26,this.words[c]=u&67108863;for(;g!==0&&c<w.length;c++)u=(w.words[c]|0)+g,g=u>>26,this.words[c]=u&67108863;if(g===0&&c<w.length&&w!==this)for(;c<w.length;c++)this.words[c]=w.words[c];return this.length=Math.max(this.length,c),w!==this&&(this.negative=1),this._strip()},s.prototype.sub=function(a){return this.clone().isub(a)};function H(d,a,u){u.negative=a.negative^d.negative;var b=d.length+a.length|0;u.length=b,b=b-1|0;var w=d.words[0]|0,A=a.words[0]|0,g=w*A,c=g&67108863,v=g/67108864|0;u.words[0]=c;for(var M=1;M<b;M++){for(var D=v>>>26,J=v&67108863,O=Math.min(M,a.length-1),Z=Math.max(0,M-d.length+1);Z<=O;Z++){var U=M-Z|0;w=d.words[U]|0,A=a.words[Z]|0,g=w*A+J,D+=g/67108864|0,J=g&67108863}u.words[M]=J|0,v=D|0}return v!==0?u.words[M]=v|0:u.length--,u._strip()}var L=function(a,u,b){var w=a.words,A=u.words,g=b.words,c=0,v,M,D,J=w[0]|0,O=J&8191,Z=J>>>13,U=w[1]|0,q=U&8191,T=U>>>13,x=w[2]|0,C=x&8191,j=x>>>13,Q=w[3]|0,_=Q&8191,X=Q>>>13,ne=w[4]|0,ae=ne&8191,$=ne>>>13,he=w[5]|0,Pe=he&8191,se=he>>>13,de=w[6]|0,Se=de&8191,re=de>>>13,ce=w[7]|0,xe=ce&8191,ee=ce>>>13,ve=w[8]|0,qe=ve&8191,te=ve>>>13,we=w[9]|0,Ne=we&8191,oe=we>>>13,pe=A[0]|0,ze=pe&8191,Ae=pe>>>13,ke=A[1]|0,_e=ke&8191,Me=ke>>>13,Ke=A[2]|0,it=Ke&8191,Oe=Ke>>>13,Ce=A[3]|0,je=Ce&8191,be=Ce>>>13,Fe=A[4]|0,Je=Fe&8191,le=Fe>>>13,Be=A[5]|0,Ge=Be&8191,ge=Be>>>13,Le=A[6]|0,Qe=Le&8191,ue=Le>>>13,Re=A[7]|0,He=Re&8191,me=Re>>>13,Ue=A[8]|0,ft=Ue&8191,Te=Ue>>>13,Ze=A[9]|0,Xe=Ze&8191,nt=Ze>>>13;b.negative=a.negative^u.negative,b.length=19,v=Math.imul(O,ze),M=Math.imul(O,Ae),M=M+Math.imul(Z,ze)|0,D=Math.imul(Z,Ae);var It=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(It>>>26)|0,It&=67108863,v=Math.imul(q,ze),M=Math.imul(q,Ae),M=M+Math.imul(T,ze)|0,D=Math.imul(T,Ae),v=v+Math.imul(O,_e)|0,M=M+Math.imul(O,Me)|0,M=M+Math.imul(Z,_e)|0,D=D+Math.imul(Z,Me)|0;var ct=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(ct>>>26)|0,ct&=67108863,v=Math.imul(C,ze),M=Math.imul(C,Ae),M=M+Math.imul(j,ze)|0,D=Math.imul(j,Ae),v=v+Math.imul(q,_e)|0,M=M+Math.imul(q,Me)|0,M=M+Math.imul(T,_e)|0,D=D+Math.imul(T,Me)|0,v=v+Math.imul(O,it)|0,M=M+Math.imul(O,Oe)|0,M=M+Math.imul(Z,it)|0,D=D+Math.imul(Z,Oe)|0;var ht=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(ht>>>26)|0,ht&=67108863,v=Math.imul(_,ze),M=Math.imul(_,Ae),M=M+Math.imul(X,ze)|0,D=Math.imul(X,Ae),v=v+Math.imul(C,_e)|0,M=M+Math.imul(C,Me)|0,M=M+Math.imul(j,_e)|0,D=D+Math.imul(j,Me)|0,v=v+Math.imul(q,it)|0,M=M+Math.imul(q,Oe)|0,M=M+Math.imul(T,it)|0,D=D+Math.imul(T,Oe)|0,v=v+Math.imul(O,je)|0,M=M+Math.imul(O,be)|0,M=M+Math.imul(Z,je)|0,D=D+Math.imul(Z,be)|0;var lt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(lt>>>26)|0,lt&=67108863,v=Math.imul(ae,ze),M=Math.imul(ae,Ae),M=M+Math.imul($,ze)|0,D=Math.imul($,Ae),v=v+Math.imul(_,_e)|0,M=M+Math.imul(_,Me)|0,M=M+Math.imul(X,_e)|0,D=D+Math.imul(X,Me)|0,v=v+Math.imul(C,it)|0,M=M+Math.imul(C,Oe)|0,M=M+Math.imul(j,it)|0,D=D+Math.imul(j,Oe)|0,v=v+Math.imul(q,je)|0,M=M+Math.imul(q,be)|0,M=M+Math.imul(T,je)|0,D=D+Math.imul(T,be)|0,v=v+Math.imul(O,Je)|0,M=M+Math.imul(O,le)|0,M=M+Math.imul(Z,Je)|0,D=D+Math.imul(Z,le)|0;var dt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(dt>>>26)|0,dt&=67108863,v=Math.imul(Pe,ze),M=Math.imul(Pe,Ae),M=M+Math.imul(se,ze)|0,D=Math.imul(se,Ae),v=v+Math.imul(ae,_e)|0,M=M+Math.imul(ae,Me)|0,M=M+Math.imul($,_e)|0,D=D+Math.imul($,Me)|0,v=v+Math.imul(_,it)|0,M=M+Math.imul(_,Oe)|0,M=M+Math.imul(X,it)|0,D=D+Math.imul(X,Oe)|0,v=v+Math.imul(C,je)|0,M=M+Math.imul(C,be)|0,M=M+Math.imul(j,je)|0,D=D+Math.imul(j,be)|0,v=v+Math.imul(q,Je)|0,M=M+Math.imul(q,le)|0,M=M+Math.imul(T,Je)|0,D=D+Math.imul(T,le)|0,v=v+Math.imul(O,Ge)|0,M=M+Math.imul(O,ge)|0,M=M+Math.imul(Z,Ge)|0,D=D+Math.imul(Z,ge)|0;var Rt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,v=Math.imul(Se,ze),M=Math.imul(Se,Ae),M=M+Math.imul(re,ze)|0,D=Math.imul(re,Ae),v=v+Math.imul(Pe,_e)|0,M=M+Math.imul(Pe,Me)|0,M=M+Math.imul(se,_e)|0,D=D+Math.imul(se,Me)|0,v=v+Math.imul(ae,it)|0,M=M+Math.imul(ae,Oe)|0,M=M+Math.imul($,it)|0,D=D+Math.imul($,Oe)|0,v=v+Math.imul(_,je)|0,M=M+Math.imul(_,be)|0,M=M+Math.imul(X,je)|0,D=D+Math.imul(X,be)|0,v=v+Math.imul(C,Je)|0,M=M+Math.imul(C,le)|0,M=M+Math.imul(j,Je)|0,D=D+Math.imul(j,le)|0,v=v+Math.imul(q,Ge)|0,M=M+Math.imul(q,ge)|0,M=M+Math.imul(T,Ge)|0,D=D+Math.imul(T,ge)|0,v=v+Math.imul(O,Qe)|0,M=M+Math.imul(O,ue)|0,M=M+Math.imul(Z,Qe)|0,D=D+Math.imul(Z,ue)|0;var Ft=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Ft>>>26)|0,Ft&=67108863,v=Math.imul(xe,ze),M=Math.imul(xe,Ae),M=M+Math.imul(ee,ze)|0,D=Math.imul(ee,Ae),v=v+Math.imul(Se,_e)|0,M=M+Math.imul(Se,Me)|0,M=M+Math.imul(re,_e)|0,D=D+Math.imul(re,Me)|0,v=v+Math.imul(Pe,it)|0,M=M+Math.imul(Pe,Oe)|0,M=M+Math.imul(se,it)|0,D=D+Math.imul(se,Oe)|0,v=v+Math.imul(ae,je)|0,M=M+Math.imul(ae,be)|0,M=M+Math.imul($,je)|0,D=D+Math.imul($,be)|0,v=v+Math.imul(_,Je)|0,M=M+Math.imul(_,le)|0,M=M+Math.imul(X,Je)|0,D=D+Math.imul(X,le)|0,v=v+Math.imul(C,Ge)|0,M=M+Math.imul(C,ge)|0,M=M+Math.imul(j,Ge)|0,D=D+Math.imul(j,ge)|0,v=v+Math.imul(q,Qe)|0,M=M+Math.imul(q,ue)|0,M=M+Math.imul(T,Qe)|0,D=D+Math.imul(T,ue)|0,v=v+Math.imul(O,He)|0,M=M+Math.imul(O,me)|0,M=M+Math.imul(Z,He)|0,D=D+Math.imul(Z,me)|0;var sr=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(sr>>>26)|0,sr&=67108863,v=Math.imul(qe,ze),M=Math.imul(qe,Ae),M=M+Math.imul(te,ze)|0,D=Math.imul(te,Ae),v=v+Math.imul(xe,_e)|0,M=M+Math.imul(xe,Me)|0,M=M+Math.imul(ee,_e)|0,D=D+Math.imul(ee,Me)|0,v=v+Math.imul(Se,it)|0,M=M+Math.imul(Se,Oe)|0,M=M+Math.imul(re,it)|0,D=D+Math.imul(re,Oe)|0,v=v+Math.imul(Pe,je)|0,M=M+Math.imul(Pe,be)|0,M=M+Math.imul(se,je)|0,D=D+Math.imul(se,be)|0,v=v+Math.imul(ae,Je)|0,M=M+Math.imul(ae,le)|0,M=M+Math.imul($,Je)|0,D=D+Math.imul($,le)|0,v=v+Math.imul(_,Ge)|0,M=M+Math.imul(_,ge)|0,M=M+Math.imul(X,Ge)|0,D=D+Math.imul(X,ge)|0,v=v+Math.imul(C,Qe)|0,M=M+Math.imul(C,ue)|0,M=M+Math.imul(j,Qe)|0,D=D+Math.imul(j,ue)|0,v=v+Math.imul(q,He)|0,M=M+Math.imul(q,me)|0,M=M+Math.imul(T,He)|0,D=D+Math.imul(T,me)|0,v=v+Math.imul(O,ft)|0,M=M+Math.imul(O,Te)|0,M=M+Math.imul(Z,ft)|0,D=D+Math.imul(Z,Te)|0;var lr=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(lr>>>26)|0,lr&=67108863,v=Math.imul(Ne,ze),M=Math.imul(Ne,Ae),M=M+Math.imul(oe,ze)|0,D=Math.imul(oe,Ae),v=v+Math.imul(qe,_e)|0,M=M+Math.imul(qe,Me)|0,M=M+Math.imul(te,_e)|0,D=D+Math.imul(te,Me)|0,v=v+Math.imul(xe,it)|0,M=M+Math.imul(xe,Oe)|0,M=M+Math.imul(ee,it)|0,D=D+Math.imul(ee,Oe)|0,v=v+Math.imul(Se,je)|0,M=M+Math.imul(Se,be)|0,M=M+Math.imul(re,je)|0,D=D+Math.imul(re,be)|0,v=v+Math.imul(Pe,Je)|0,M=M+Math.imul(Pe,le)|0,M=M+Math.imul(se,Je)|0,D=D+Math.imul(se,le)|0,v=v+Math.imul(ae,Ge)|0,M=M+Math.imul(ae,ge)|0,M=M+Math.imul($,Ge)|0,D=D+Math.imul($,ge)|0,v=v+Math.imul(_,Qe)|0,M=M+Math.imul(_,ue)|0,M=M+Math.imul(X,Qe)|0,D=D+Math.imul(X,ue)|0,v=v+Math.imul(C,He)|0,M=M+Math.imul(C,me)|0,M=M+Math.imul(j,He)|0,D=D+Math.imul(j,me)|0,v=v+Math.imul(q,ft)|0,M=M+Math.imul(q,Te)|0,M=M+Math.imul(T,ft)|0,D=D+Math.imul(T,Te)|0,v=v+Math.imul(O,Xe)|0,M=M+Math.imul(O,nt)|0,M=M+Math.imul(Z,Xe)|0,D=D+Math.imul(Z,nt)|0;var qt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(qt>>>26)|0,qt&=67108863,v=Math.imul(Ne,_e),M=Math.imul(Ne,Me),M=M+Math.imul(oe,_e)|0,D=Math.imul(oe,Me),v=v+Math.imul(qe,it)|0,M=M+Math.imul(qe,Oe)|0,M=M+Math.imul(te,it)|0,D=D+Math.imul(te,Oe)|0,v=v+Math.imul(xe,je)|0,M=M+Math.imul(xe,be)|0,M=M+Math.imul(ee,je)|0,D=D+Math.imul(ee,be)|0,v=v+Math.imul(Se,Je)|0,M=M+Math.imul(Se,le)|0,M=M+Math.imul(re,Je)|0,D=D+Math.imul(re,le)|0,v=v+Math.imul(Pe,Ge)|0,M=M+Math.imul(Pe,ge)|0,M=M+Math.imul(se,Ge)|0,D=D+Math.imul(se,ge)|0,v=v+Math.imul(ae,Qe)|0,M=M+Math.imul(ae,ue)|0,M=M+Math.imul($,Qe)|0,D=D+Math.imul($,ue)|0,v=v+Math.imul(_,He)|0,M=M+Math.imul(_,me)|0,M=M+Math.imul(X,He)|0,D=D+Math.imul(X,me)|0,v=v+Math.imul(C,ft)|0,M=M+Math.imul(C,Te)|0,M=M+Math.imul(j,ft)|0,D=D+Math.imul(j,Te)|0,v=v+Math.imul(q,Xe)|0,M=M+Math.imul(q,nt)|0,M=M+Math.imul(T,Xe)|0,D=D+Math.imul(T,nt)|0;var Lt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,v=Math.imul(Ne,it),M=Math.imul(Ne,Oe),M=M+Math.imul(oe,it)|0,D=Math.imul(oe,Oe),v=v+Math.imul(qe,je)|0,M=M+Math.imul(qe,be)|0,M=M+Math.imul(te,je)|0,D=D+Math.imul(te,be)|0,v=v+Math.imul(xe,Je)|0,M=M+Math.imul(xe,le)|0,M=M+Math.imul(ee,Je)|0,D=D+Math.imul(ee,le)|0,v=v+Math.imul(Se,Ge)|0,M=M+Math.imul(Se,ge)|0,M=M+Math.imul(re,Ge)|0,D=D+Math.imul(re,ge)|0,v=v+Math.imul(Pe,Qe)|0,M=M+Math.imul(Pe,ue)|0,M=M+Math.imul(se,Qe)|0,D=D+Math.imul(se,ue)|0,v=v+Math.imul(ae,He)|0,M=M+Math.imul(ae,me)|0,M=M+Math.imul($,He)|0,D=D+Math.imul($,me)|0,v=v+Math.imul(_,ft)|0,M=M+Math.imul(_,Te)|0,M=M+Math.imul(X,ft)|0,D=D+Math.imul(X,Te)|0,v=v+Math.imul(C,Xe)|0,M=M+Math.imul(C,nt)|0,M=M+Math.imul(j,Xe)|0,D=D+Math.imul(j,nt)|0;var pr=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(pr>>>26)|0,pr&=67108863,v=Math.imul(Ne,je),M=Math.imul(Ne,be),M=M+Math.imul(oe,je)|0,D=Math.imul(oe,be),v=v+Math.imul(qe,Je)|0,M=M+Math.imul(qe,le)|0,M=M+Math.imul(te,Je)|0,D=D+Math.imul(te,le)|0,v=v+Math.imul(xe,Ge)|0,M=M+Math.imul(xe,ge)|0,M=M+Math.imul(ee,Ge)|0,D=D+Math.imul(ee,ge)|0,v=v+Math.imul(Se,Qe)|0,M=M+Math.imul(Se,ue)|0,M=M+Math.imul(re,Qe)|0,D=D+Math.imul(re,ue)|0,v=v+Math.imul(Pe,He)|0,M=M+Math.imul(Pe,me)|0,M=M+Math.imul(se,He)|0,D=D+Math.imul(se,me)|0,v=v+Math.imul(ae,ft)|0,M=M+Math.imul(ae,Te)|0,M=M+Math.imul($,ft)|0,D=D+Math.imul($,Te)|0,v=v+Math.imul(_,Xe)|0,M=M+Math.imul(_,nt)|0,M=M+Math.imul(X,Xe)|0,D=D+Math.imul(X,nt)|0;var Sr=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Sr>>>26)|0,Sr&=67108863,v=Math.imul(Ne,Je),M=Math.imul(Ne,le),M=M+Math.imul(oe,Je)|0,D=Math.imul(oe,le),v=v+Math.imul(qe,Ge)|0,M=M+Math.imul(qe,ge)|0,M=M+Math.imul(te,Ge)|0,D=D+Math.imul(te,ge)|0,v=v+Math.imul(xe,Qe)|0,M=M+Math.imul(xe,ue)|0,M=M+Math.imul(ee,Qe)|0,D=D+Math.imul(ee,ue)|0,v=v+Math.imul(Se,He)|0,M=M+Math.imul(Se,me)|0,M=M+Math.imul(re,He)|0,D=D+Math.imul(re,me)|0,v=v+Math.imul(Pe,ft)|0,M=M+Math.imul(Pe,Te)|0,M=M+Math.imul(se,ft)|0,D=D+Math.imul(se,Te)|0,v=v+Math.imul(ae,Xe)|0,M=M+Math.imul(ae,nt)|0,M=M+Math.imul($,Xe)|0,D=D+Math.imul($,nt)|0;var Pt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,v=Math.imul(Ne,Ge),M=Math.imul(Ne,ge),M=M+Math.imul(oe,Ge)|0,D=Math.imul(oe,ge),v=v+Math.imul(qe,Qe)|0,M=M+Math.imul(qe,ue)|0,M=M+Math.imul(te,Qe)|0,D=D+Math.imul(te,ue)|0,v=v+Math.imul(xe,He)|0,M=M+Math.imul(xe,me)|0,M=M+Math.imul(ee,He)|0,D=D+Math.imul(ee,me)|0,v=v+Math.imul(Se,ft)|0,M=M+Math.imul(Se,Te)|0,M=M+Math.imul(re,ft)|0,D=D+Math.imul(re,Te)|0,v=v+Math.imul(Pe,Xe)|0,M=M+Math.imul(Pe,nt)|0,M=M+Math.imul(se,Xe)|0,D=D+Math.imul(se,nt)|0;var br=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(br>>>26)|0,br&=67108863,v=Math.imul(Ne,Qe),M=Math.imul(Ne,ue),M=M+Math.imul(oe,Qe)|0,D=Math.imul(oe,ue),v=v+Math.imul(qe,He)|0,M=M+Math.imul(qe,me)|0,M=M+Math.imul(te,He)|0,D=D+Math.imul(te,me)|0,v=v+Math.imul(xe,ft)|0,M=M+Math.imul(xe,Te)|0,M=M+Math.imul(ee,ft)|0,D=D+Math.imul(ee,Te)|0,v=v+Math.imul(Se,Xe)|0,M=M+Math.imul(Se,nt)|0,M=M+Math.imul(re,Xe)|0,D=D+Math.imul(re,nt)|0;var ar=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(ar>>>26)|0,ar&=67108863,v=Math.imul(Ne,He),M=Math.imul(Ne,me),M=M+Math.imul(oe,He)|0,D=Math.imul(oe,me),v=v+Math.imul(qe,ft)|0,M=M+Math.imul(qe,Te)|0,M=M+Math.imul(te,ft)|0,D=D+Math.imul(te,Te)|0,v=v+Math.imul(xe,Xe)|0,M=M+Math.imul(xe,nt)|0,M=M+Math.imul(ee,Xe)|0,D=D+Math.imul(ee,nt)|0;var Yt=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Yt>>>26)|0,Yt&=67108863,v=Math.imul(Ne,ft),M=Math.imul(Ne,Te),M=M+Math.imul(oe,ft)|0,D=Math.imul(oe,Te),v=v+Math.imul(qe,Xe)|0,M=M+Math.imul(qe,nt)|0,M=M+Math.imul(te,Xe)|0,D=D+Math.imul(te,nt)|0;var Ea=(c+v|0)+((M&8191)<<13)|0;c=(D+(M>>>13)|0)+(Ea>>>26)|0,Ea&=67108863,v=Math.imul(Ne,Xe),M=Math.imul(Ne,nt),M=M+Math.imul(oe,Xe)|0,D=Math.imul(oe,nt);var Ia=(c+v|0)+((M&8191)<<13)|0;return c=(D+(M>>>13)|0)+(Ia>>>26)|0,Ia&=67108863,g[0]=It,g[1]=ct,g[2]=ht,g[3]=lt,g[4]=dt,g[5]=Rt,g[6]=Ft,g[7]=sr,g[8]=lr,g[9]=qt,g[10]=Lt,g[11]=pr,g[12]=Sr,g[13]=Pt,g[14]=br,g[15]=ar,g[16]=Yt,g[17]=Ea,g[18]=Ia,c!==0&&(g[19]=c,b.length++),b};Math.imul||(L=H);function W(d,a,u){u.negative=a.negative^d.negative,u.length=d.length+a.length;for(var b=0,w=0,A=0;A<u.length-1;A++){var g=w;w=0;for(var c=b&67108863,v=Math.min(A,a.length-1),M=Math.max(0,A-d.length+1);M<=v;M++){var D=A-M,J=d.words[D]|0,O=a.words[M]|0,Z=J*O,U=Z&67108863;g=g+(Z/67108864|0)|0,U=U+c|0,c=U&67108863,g=g+(U>>>26)|0,w+=g>>>26,g&=67108863}u.words[A]=c,b=g,g=w}return b!==0?u.words[A]=b:u.length--,u._strip()}function z(d,a,u){return W(d,a,u)}s.prototype.mulTo=function(a,u){var b,w=this.length+a.length;return this.length===10&&a.length===10?b=L(this,a,u):w<63?b=H(this,a,u):w<1024?b=W(this,a,u):b=z(this,a,u),b},s.prototype.mul=function(a){var u=new s(null);return u.words=new Array(this.length+a.length),this.mulTo(a,u)},s.prototype.mulf=function(a){var u=new s(null);return u.words=new Array(this.length+a.length),z(this,a,u)},s.prototype.imul=function(a){return this.clone().mulTo(a,this)},s.prototype.imuln=function(a){var u=a<0;u&&(a=-a),i(typeof a=="number"),i(a<67108864);for(var b=0,w=0;w<this.length;w++){var A=(this.words[w]|0)*a,g=(A&67108863)+(b&67108863);b>>=26,b+=A/67108864|0,b+=g>>>26,this.words[w]=g&67108863}return b!==0&&(this.words[w]=b,this.length++),u?this.ineg():this},s.prototype.muln=function(a){return this.clone().imuln(a)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(a){var u=k(a);if(u.length===0)return new s(1);for(var b=this,w=0;w<u.length&&u[w]===0;w++,b=b.sqr());if(++w<u.length)for(var A=b.sqr();w<u.length;w++,A=A.sqr())u[w]!==0&&(b=b.mul(A));return b},s.prototype.iushln=function(a){i(typeof a=="number"&&a>=0);var u=a%26,b=(a-u)/26,w=67108863>>>26-u<<26-u,A;if(u!==0){var g=0;for(A=0;A<this.length;A++){var c=this.words[A]&w,v=(this.words[A]|0)-c<<u;this.words[A]=v|g,g=c>>>26-u}g&&(this.words[A]=g,this.length++)}if(b!==0){for(A=this.length-1;A>=0;A--)this.words[A+b]=this.words[A];for(A=0;A<b;A++)this.words[A]=0;this.length+=b}return this._strip()},s.prototype.ishln=function(a){return i(this.negative===0),this.iushln(a)},s.prototype.iushrn=function(a,u,b){i(typeof a=="number"&&a>=0);var w;u?w=(u-u%26)/26:w=0;var A=a%26,g=Math.min((a-A)/26,this.length),c=67108863^67108863>>>A<<A,v=b;if(w-=g,w=Math.max(0,w),v){for(var M=0;M<g;M++)v.words[M]=this.words[M];v.length=g}if(g!==0)if(this.length>g)for(this.length-=g,M=0;M<this.length;M++)this.words[M]=this.words[M+g];else this.words[0]=0,this.length=1;var D=0;for(M=this.length-1;M>=0&&(D!==0||M>=w);M--){var J=this.words[M]|0;this.words[M]=D<<26-A|J>>>A,D=J&c}return v&&D!==0&&(v.words[v.length++]=D),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},s.prototype.ishrn=function(a,u,b){return i(this.negative===0),this.iushrn(a,u,b)},s.prototype.shln=function(a){return this.clone().ishln(a)},s.prototype.ushln=function(a){return this.clone().iushln(a)},s.prototype.shrn=function(a){return this.clone().ishrn(a)},s.prototype.ushrn=function(a){return this.clone().iushrn(a)},s.prototype.testn=function(a){i(typeof a=="number"&&a>=0);var u=a%26,b=(a-u)/26,w=1<<u;if(this.length<=b)return!1;var A=this.words[b];return!!(A&w)},s.prototype.imaskn=function(a){i(typeof a=="number"&&a>=0);var u=a%26,b=(a-u)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=b)return this;if(u!==0&&b++,this.length=Math.min(b,this.length),u!==0){var w=67108863^67108863>>>u<<u;this.words[this.length-1]&=w}return this._strip()},s.prototype.maskn=function(a){return this.clone().imaskn(a)},s.prototype.iaddn=function(a){return i(typeof a=="number"),i(a<67108864),a<0?this.isubn(-a):this.negative!==0?this.length===1&&(this.words[0]|0)<=a?(this.words[0]=a-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(a),this.negative=1,this):this._iaddn(a)},s.prototype._iaddn=function(a){this.words[0]+=a;for(var u=0;u<this.length&&this.words[u]>=67108864;u++)this.words[u]-=67108864,u===this.length-1?this.words[u+1]=1:this.words[u+1]++;return this.length=Math.max(this.length,u+1),this},s.prototype.isubn=function(a){if(i(typeof a=="number"),i(a<67108864),a<0)return this.iaddn(-a);if(this.negative!==0)return this.negative=0,this.iaddn(a),this.negative=1,this;if(this.words[0]-=a,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var u=0;u<this.length&&this.words[u]<0;u++)this.words[u]+=67108864,this.words[u+1]-=1;return this._strip()},s.prototype.addn=function(a){return this.clone().iaddn(a)},s.prototype.subn=function(a){return this.clone().isubn(a)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(a,u,b){var w=a.length+b,A;this._expand(w);var g,c=0;for(A=0;A<a.length;A++){g=(this.words[A+b]|0)+c;var v=(a.words[A]|0)*u;g-=v&67108863,c=(g>>26)-(v/67108864|0),this.words[A+b]=g&67108863}for(;A<this.length-b;A++)g=(this.words[A+b]|0)+c,c=g>>26,this.words[A+b]=g&67108863;if(c===0)return this._strip();for(i(c===-1),c=0,A=0;A<this.length;A++)g=-(this.words[A]|0)+c,c=g>>26,this.words[A]=g&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(a,u){var b=this.length-a.length,w=this.clone(),A=a,g=A.words[A.length-1]|0,c=this._countBits(g);b=26-c,b!==0&&(A=A.ushln(b),w.iushln(b),g=A.words[A.length-1]|0);var v=w.length-A.length,M;if(u!=="mod"){M=new s(null),M.length=v+1,M.words=new Array(M.length);for(var D=0;D<M.length;D++)M.words[D]=0}var J=w.clone()._ishlnsubmul(A,1,v);J.negative===0&&(w=J,M&&(M.words[v]=1));for(var O=v-1;O>=0;O--){var Z=(w.words[A.length+O]|0)*67108864+(w.words[A.length+O-1]|0);for(Z=Math.min(Z/g|0,67108863),w._ishlnsubmul(A,Z,O);w.negative!==0;)Z--,w.negative=0,w._ishlnsubmul(A,1,O),w.isZero()||(w.negative^=1);M&&(M.words[O]=Z)}return M&&M._strip(),w._strip(),u!=="div"&&b!==0&&w.iushrn(b),{div:M||null,mod:w}},s.prototype.divmod=function(a,u,b){if(i(!a.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var w,A,g;return this.negative!==0&&a.negative===0?(g=this.neg().divmod(a,u),u!=="mod"&&(w=g.div.neg()),u!=="div"&&(A=g.mod.neg(),b&&A.negative!==0&&A.iadd(a)),{div:w,mod:A}):this.negative===0&&a.negative!==0?(g=this.divmod(a.neg(),u),u!=="mod"&&(w=g.div.neg()),{div:w,mod:g.mod}):this.negative&a.negative?(g=this.neg().divmod(a.neg(),u),u!=="div"&&(A=g.mod.neg(),b&&A.negative!==0&&A.isub(a)),{div:g.div,mod:A}):a.length>this.length||this.cmp(a)<0?{div:new s(0),mod:this}:a.length===1?u==="div"?{div:this.divn(a.words[0]),mod:null}:u==="mod"?{div:null,mod:new s(this.modrn(a.words[0]))}:{div:this.divn(a.words[0]),mod:new s(this.modrn(a.words[0]))}:this._wordDiv(a,u)},s.prototype.div=function(a){return this.divmod(a,"div",!1).div},s.prototype.mod=function(a){return this.divmod(a,"mod",!1).mod},s.prototype.umod=function(a){return this.divmod(a,"mod",!0).mod},s.prototype.divRound=function(a){var u=this.divmod(a);if(u.mod.isZero())return u.div;var b=u.div.negative!==0?u.mod.isub(a):u.mod,w=a.ushrn(1),A=a.andln(1),g=b.cmp(w);return g<0||A===1&&g===0?u.div:u.div.negative!==0?u.div.isubn(1):u.div.iaddn(1)},s.prototype.modrn=function(a){var u=a<0;u&&(a=-a),i(a<=67108863);for(var b=(1<<26)%a,w=0,A=this.length-1;A>=0;A--)w=(b*w+(this.words[A]|0))%a;return u?-w:w},s.prototype.modn=function(a){return this.modrn(a)},s.prototype.idivn=function(a){var u=a<0;u&&(a=-a),i(a<=67108863);for(var b=0,w=this.length-1;w>=0;w--){var A=(this.words[w]|0)+b*67108864;this.words[w]=A/a|0,b=A%a}return this._strip(),u?this.ineg():this},s.prototype.divn=function(a){return this.clone().idivn(a)},s.prototype.egcd=function(a){i(a.negative===0),i(!a.isZero());var u=this,b=a.clone();u.negative!==0?u=u.umod(a):u=u.clone();for(var w=new s(1),A=new s(0),g=new s(0),c=new s(1),v=0;u.isEven()&&b.isEven();)u.iushrn(1),b.iushrn(1),++v;for(var M=b.clone(),D=u.clone();!u.isZero();){for(var J=0,O=1;!(u.words[0]&O)&&J<26;++J,O<<=1);if(J>0)for(u.iushrn(J);J-- >0;)(w.isOdd()||A.isOdd())&&(w.iadd(M),A.isub(D)),w.iushrn(1),A.iushrn(1);for(var Z=0,U=1;!(b.words[0]&U)&&Z<26;++Z,U<<=1);if(Z>0)for(b.iushrn(Z);Z-- >0;)(g.isOdd()||c.isOdd())&&(g.iadd(M),c.isub(D)),g.iushrn(1),c.iushrn(1);u.cmp(b)>=0?(u.isub(b),w.isub(g),A.isub(c)):(b.isub(u),g.isub(w),c.isub(A))}return{a:g,b:c,gcd:b.iushln(v)}},s.prototype._invmp=function(a){i(a.negative===0),i(!a.isZero());var u=this,b=a.clone();u.negative!==0?u=u.umod(a):u=u.clone();for(var w=new s(1),A=new s(0),g=b.clone();u.cmpn(1)>0&&b.cmpn(1)>0;){for(var c=0,v=1;!(u.words[0]&v)&&c<26;++c,v<<=1);if(c>0)for(u.iushrn(c);c-- >0;)w.isOdd()&&w.iadd(g),w.iushrn(1);for(var M=0,D=1;!(b.words[0]&D)&&M<26;++M,D<<=1);if(M>0)for(b.iushrn(M);M-- >0;)A.isOdd()&&A.iadd(g),A.iushrn(1);u.cmp(b)>=0?(u.isub(b),w.isub(A)):(b.isub(u),A.isub(w))}var J;return u.cmpn(1)===0?J=w:J=A,J.cmpn(0)<0&&J.iadd(a),J},s.prototype.gcd=function(a){if(this.isZero())return a.abs();if(a.isZero())return this.abs();var u=this.clone(),b=a.clone();u.negative=0,b.negative=0;for(var w=0;u.isEven()&&b.isEven();w++)u.iushrn(1),b.iushrn(1);do{for(;u.isEven();)u.iushrn(1);for(;b.isEven();)b.iushrn(1);var A=u.cmp(b);if(A<0){var g=u;u=b,b=g}else if(A===0||b.cmpn(1)===0)break;u.isub(b)}while(!0);return b.iushln(w)},s.prototype.invm=function(a){return this.egcd(a).a.umod(a)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(a){return this.words[0]&a},s.prototype.bincn=function(a){i(typeof a=="number");var u=a%26,b=(a-u)/26,w=1<<u;if(this.length<=b)return this._expand(b+1),this.words[b]|=w,this;for(var A=w,g=b;A!==0&&g<this.length;g++){var c=this.words[g]|0;c+=A,A=c>>>26,c&=67108863,this.words[g]=c}return A!==0&&(this.words[g]=A,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(a){var u=a<0;if(this.negative!==0&&!u)return-1;if(this.negative===0&&u)return 1;this._strip();var b;if(this.length>1)b=1;else{u&&(a=-a),i(a<=67108863,"Number is too big");var w=this.words[0]|0;b=w===a?0:w<a?-1:1}return this.negative!==0?-b|0:b},s.prototype.cmp=function(a){if(this.negative!==0&&a.negative===0)return-1;if(this.negative===0&&a.negative!==0)return 1;var u=this.ucmp(a);return this.negative!==0?-u|0:u},s.prototype.ucmp=function(a){if(this.length>a.length)return 1;if(this.length<a.length)return-1;for(var u=0,b=this.length-1;b>=0;b--){var w=this.words[b]|0,A=a.words[b]|0;if(w!==A){w<A?u=-1:w>A&&(u=1);break}}return u},s.prototype.gtn=function(a){return this.cmpn(a)===1},s.prototype.gt=function(a){return this.cmp(a)===1},s.prototype.gten=function(a){return this.cmpn(a)>=0},s.prototype.gte=function(a){return this.cmp(a)>=0},s.prototype.ltn=function(a){return this.cmpn(a)===-1},s.prototype.lt=function(a){return this.cmp(a)===-1},s.prototype.lten=function(a){return this.cmpn(a)<=0},s.prototype.lte=function(a){return this.cmp(a)<=0},s.prototype.eqn=function(a){return this.cmpn(a)===0},s.prototype.eq=function(a){return this.cmp(a)===0},s.red=function(a){return new P(a)},s.prototype.toRed=function(a){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),a.convertTo(this)._forceRed(a)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(a){return this.red=a,this},s.prototype.forceRed=function(a){return i(!this.red,"Already a number in reduction context"),this._forceRed(a)},s.prototype.redAdd=function(a){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,a)},s.prototype.redIAdd=function(a){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,a)},s.prototype.redSub=function(a){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,a)},s.prototype.redISub=function(a){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,a)},s.prototype.redShl=function(a){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,a)},s.prototype.redMul=function(a){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,a),this.red.mul(this,a)},s.prototype.redIMul=function(a){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,a),this.red.imul(this,a)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(a){return i(this.red&&!a.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,a)};var R={k256:null,p224:null,p192:null,p25519:null};function V(d,a){this.name=d,this.p=new s(a,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}V.prototype._tmp=function(){var a=new s(null);return a.words=new Array(Math.ceil(this.n/13)),a},V.prototype.ireduce=function(a){var u=a,b;do this.split(u,this.tmp),u=this.imulK(u),u=u.iadd(this.tmp),b=u.bitLength();while(b>this.n);var w=b<this.n?-1:u.ucmp(this.p);return w===0?(u.words[0]=0,u.length=1):w>0?u.isub(this.p):u.strip!==void 0?u.strip():u._strip(),u},V.prototype.split=function(a,u){a.iushrn(this.n,0,u)},V.prototype.imulK=function(a){return a.imul(this.k)};function S(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(S,V),S.prototype.split=function(a,u){for(var b=4194303,w=Math.min(a.length,9),A=0;A<w;A++)u.words[A]=a.words[A];if(u.length=w,a.length<=9){a.words[0]=0,a.length=1;return}var g=a.words[9];for(u.words[u.length++]=g&b,A=10;A<a.length;A++){var c=a.words[A]|0;a.words[A-10]=(c&b)<<4|g>>>22,g=c}g>>>=22,a.words[A-10]=g,g===0&&a.length>10?a.length-=10:a.length-=9},S.prototype.imulK=function(a){a.words[a.length]=0,a.words[a.length+1]=0,a.length+=2;for(var u=0,b=0;b<a.length;b++){var w=a.words[b]|0;u+=w*977,a.words[b]=u&67108863,u=w*64+(u/67108864|0)}return a.words[a.length-1]===0&&(a.length--,a.words[a.length-1]===0&&a.length--),a};function B(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(B,V);function G(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(G,V);function ie(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(ie,V),ie.prototype.imulK=function(a){for(var u=0,b=0;b<a.length;b++){var w=(a.words[b]|0)*19+u,A=w&67108863;w>>>=26,a.words[b]=A,u=w}return u!==0&&(a.words[a.length++]=u),a},s._prime=function(a){if(R[a])return R[a];var u;if(a==="k256")u=new S;else if(a==="p224")u=new B;else if(a==="p192")u=new G;else if(a==="p25519")u=new ie;else throw new Error("Unknown prime "+a);return R[a]=u,u};function P(d){if(typeof d=="string"){var a=s._prime(d);this.m=a.p,this.prime=a}else i(d.gtn(1),"modulus must be greater than 1"),this.m=d,this.prime=null}P.prototype._verify1=function(a){i(a.negative===0,"red works only with positives"),i(a.red,"red works only with red numbers")},P.prototype._verify2=function(a,u){i((a.negative|u.negative)===0,"red works only with positives"),i(a.red&&a.red===u.red,"red works only with red numbers")},P.prototype.imod=function(a){return this.prime?this.prime.ireduce(a)._forceRed(this):(m(a,a.umod(this.m)._forceRed(this)),a)},P.prototype.neg=function(a){return a.isZero()?a.clone():this.m.sub(a)._forceRed(this)},P.prototype.add=function(a,u){this._verify2(a,u);var b=a.add(u);return b.cmp(this.m)>=0&&b.isub(this.m),b._forceRed(this)},P.prototype.iadd=function(a,u){this._verify2(a,u);var b=a.iadd(u);return b.cmp(this.m)>=0&&b.isub(this.m),b},P.prototype.sub=function(a,u){this._verify2(a,u);var b=a.sub(u);return b.cmpn(0)<0&&b.iadd(this.m),b._forceRed(this)},P.prototype.isub=function(a,u){this._verify2(a,u);var b=a.isub(u);return b.cmpn(0)<0&&b.iadd(this.m),b},P.prototype.shl=function(a,u){return this._verify1(a),this.imod(a.ushln(u))},P.prototype.imul=function(a,u){return this._verify2(a,u),this.imod(a.imul(u))},P.prototype.mul=function(a,u){return this._verify2(a,u),this.imod(a.mul(u))},P.prototype.isqr=function(a){return this.imul(a,a.clone())},P.prototype.sqr=function(a){return this.mul(a,a)},P.prototype.sqrt=function(a){if(a.isZero())return a.clone();var u=this.m.andln(3);if(i(u%2===1),u===3){var b=this.m.add(new s(1)).iushrn(2);return this.pow(a,b)}for(var w=this.m.subn(1),A=0;!w.isZero()&&w.andln(1)===0;)A++,w.iushrn(1);i(!w.isZero());var g=new s(1).toRed(this),c=g.redNeg(),v=this.m.subn(1).iushrn(1),M=this.m.bitLength();for(M=new s(2*M*M).toRed(this);this.pow(M,v).cmp(c)!==0;)M.redIAdd(c);for(var D=this.pow(M,w),J=this.pow(a,w.addn(1).iushrn(1)),O=this.pow(a,w),Z=A;O.cmp(g)!==0;){for(var U=O,q=0;U.cmp(g)!==0;q++)U=U.redSqr();i(q<Z);var T=this.pow(D,new s(1).iushln(Z-q-1));J=J.redMul(T),D=T.redSqr(),O=O.redMul(D),Z=q}return J},P.prototype.invm=function(a){var u=a._invmp(this.m);return u.negative!==0?(u.negative=0,this.imod(u).redNeg()):this.imod(u)},P.prototype.pow=function(a,u){if(u.isZero())return new s(1).toRed(this);if(u.cmpn(1)===0)return a.clone();var b=4,w=new Array(1<<b);w[0]=new s(1).toRed(this),w[1]=a;for(var A=2;A<w.length;A++)w[A]=this.mul(w[A-1],a);var g=w[0],c=0,v=0,M=u.bitLength()%26;for(M===0&&(M=26),A=u.length-1;A>=0;A--){for(var D=u.words[A],J=M-1;J>=0;J--){var O=D>>J&1;if(g!==w[0]&&(g=this.sqr(g)),O===0&&c===0){v=0;continue}c<<=1,c|=O,v++,!(v!==b&&(A!==0||J!==0))&&(g=this.mul(g,w[c]),v=0,c=0)}M=26}return g},P.prototype.convertTo=function(a){var u=a.umod(this.m);return u===a?u.clone():u},P.prototype.convertFrom=function(a){var u=a.clone();return u.red=null,u},s.mont=function(a){return new o(a)};function o(d){P.call(this,d),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(o,P),o.prototype.convertTo=function(a){return this.imod(a.ushln(this.shift))},o.prototype.convertFrom=function(a){var u=this.imod(a.mul(this.rinv));return u.red=null,u},o.prototype.imul=function(a,u){if(a.isZero()||u.isZero())return a.words[0]=0,a.length=1,a;var b=a.imul(u),w=b.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),A=b.isub(w).iushrn(this.shift),g=A;return A.cmp(this.m)>=0?g=A.isub(this.m):A.cmpn(0)<0&&(g=A.iadd(this.m)),g._forceRed(this)},o.prototype.mul=function(a,u){if(a.isZero()||u.isZero())return new s(0)._forceRed(this);var b=a.mul(u),w=b.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),A=b.isub(w).iushrn(this.shift),g=A;return A.cmp(this.m)>=0?g=A.isub(this.m):A.cmpn(0)<0&&(g=A.iadd(this.m)),g._forceRed(this)},o.prototype.invm=function(a){var u=this.imod(a._invmp(this.m).mul(this.r2));return u._forceRed(this)}})(r,Bt)})(Kh);var $e=Kh.exports;const jh="bignumber/5.7.0";var Xa=$e.BN;const Bi=new tt(jh),Vf={},Zh=9007199254740991;function z3(r){return r!=null&&(bt.isBigNumber(r)||typeof r=="number"&&r%1===0||typeof r=="string"&&!!r.match(/^-?[0-9]+$/)||Cr(r)||typeof r=="bigint"||ns(r))}let Wh=!1;class bt{constructor(e,t){e!==Vf&&Bi.throwError("cannot call constructor directly; use BigNumber.from",tt.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return Pr(at(this).fromTwos(e))}toTwos(e){return Pr(at(this).toTwos(e))}abs(){return this._hex[0]==="-"?bt.from(this._hex.substring(1)):this}add(e){return Pr(at(this).add(at(e)))}sub(e){return Pr(at(this).sub(at(e)))}div(e){return bt.from(e).isZero()&&kr("division-by-zero","div"),Pr(at(this).div(at(e)))}mul(e){return Pr(at(this).mul(at(e)))}mod(e){const t=at(e);return t.isNeg()&&kr("division-by-zero","mod"),Pr(at(this).umod(t))}pow(e){const t=at(e);return t.isNeg()&&kr("negative-power","pow"),Pr(at(this).pow(t))}and(e){const t=at(e);return(this.isNegative()||t.isNeg())&&kr("unbound-bitwise-result","and"),Pr(at(this).and(t))}or(e){const t=at(e);return(this.isNegative()||t.isNeg())&&kr("unbound-bitwise-result","or"),Pr(at(this).or(t))}xor(e){const t=at(e);return(this.isNegative()||t.isNeg())&&kr("unbound-bitwise-result","xor"),Pr(at(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&kr("negative-width","mask"),Pr(at(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&kr("negative-width","shl"),Pr(at(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&kr("negative-width","shr"),Pr(at(this).shrn(e))}eq(e){return at(this).eq(at(e))}lt(e){return at(this).lt(at(e))}lte(e){return at(this).lte(at(e))}gt(e){return at(this).gt(at(e))}gte(e){return at(this).gte(at(e))}isNegative(){return this._hex[0]==="-"}isZero(){return at(this).isZero()}toNumber(){try{return at(this).toNumber()}catch{kr("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return Bi.throwError("this platform does not support BigInt",tt.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?Wh||(Wh=!0,Bi.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?Bi.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",tt.errors.UNEXPECTED_ARGUMENT,{}):Bi.throwError("BigNumber.toString does not accept parameters",tt.errors.UNEXPECTED_ARGUMENT,{})),at(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof bt)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new bt(Vf,js(e)):e.match(/^-?[0-9]+$/)?new bt(Vf,js(new Xa(e))):Bi.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&kr("underflow","BigNumber.from",e),(e>=Zh||e<=-Zh)&&kr("overflow","BigNumber.from",e),bt.from(String(e));const t=e;if(typeof t=="bigint")return bt.from(t.toString());if(ns(t))return bt.from(mr(t));if(t)if(t.toHexString){const i=t.toHexString();if(typeof i=="string")return bt.from(i)}else{let i=t._hex;if(i==null&&t.type==="BigNumber"&&(i=t.hex),typeof i=="string"&&(Cr(i)||i[0]==="-"&&Cr(i.substring(1))))return bt.from(i)}return Bi.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function js(r){if(typeof r!="string")return js(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&Bi.throwArgumentError("invalid hex","value",r),r=js(r),r==="0x00"?r:"-"+r;if(r.substring(0,2)!=="0x"&&(r="0x"+r),r==="0x")return"0x00";for(r.length%2&&(r="0x0"+r.substring(2));r.length>4&&r.substring(0,4)==="0x00";)r="0x"+r.substring(4);return r}function Pr(r){return bt.from(js(r))}function at(r){const e=bt.from(r).toHexString();return e[0]==="-"?new Xa("-"+e.substring(3),16):new Xa(e.substring(2),16)}function kr(r,e,t){const i={fault:r,operation:e};return t!=null&&(i.value=t),Bi.throwError(r,tt.errors.NUMERIC_FAULT,i)}function k3(r){return new Xa(r,36).toString(16)}const yr=new tt(jh),Zs={},Jh=bt.from(0),Gh=bt.from(-1);function Qh(r,e,t,i){const n={fault:e,operation:t};return i!==void 0&&(n.value=i),yr.throwError(r,tt.errors.NUMERIC_FAULT,n)}let Ws="0";for(;Ws.length<256;)Ws+=Ws;function Hf(r){if(typeof r!="number")try{r=bt.from(r).toNumber()}catch{}return typeof r=="number"&&r>=0&&r<=256&&!(r%1)?"1"+Ws.substring(0,r):yr.throwArgumentError("invalid decimal size","decimals",r)}function Kf(r,e){e==null&&(e=0);const t=Hf(e);r=bt.from(r);const i=r.lt(Jh);i&&(r=r.mul(Gh));let n=r.mod(t).toString();for(;n.length<t.length-1;)n="0"+n;n=n.match(/^([0-9]*[1-9]|0)(0*)/)[1];const s=r.div(t).toString();return t.length===1?r=s:r=s+"."+n,i&&(r="-"+r),r}function Ui(r,e){e==null&&(e=0);const t=Hf(e);(typeof r!="string"||!r.match(/^-?[0-9.]+$/))&&yr.throwArgumentError("invalid decimal value","value",r);const i=r.substring(0,1)==="-";i&&(r=r.substring(1)),r==="."&&yr.throwArgumentError("missing value","value",r);const n=r.split(".");n.length>2&&yr.throwArgumentError("too many decimal points","value",r);let s=n[0],f=n[1];for(s||(s="0"),f||(f="0");f[f.length-1]==="0";)f=f.substring(0,f.length-1);for(f.length>t.length-1&&Qh("fractional component exceeds decimals","underflow","parseFixed"),f===""&&(f="0");f.length<t.length-1;)f+="0";const h=bt.from(s),l=bt.from(f);let p=h.mul(t).add(l);return i&&(p=p.mul(Gh)),p}class ss{constructor(e,t,i,n){e!==Zs&&yr.throwError("cannot use FixedFormat constructor; use FixedFormat.from",tt.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.signed=t,this.width=i,this.decimals=n,this.name=(t?"":"u")+"fixed"+String(i)+"x"+String(n),this._multiplier=Hf(n),Object.freeze(this)}static from(e){if(e instanceof ss)return e;typeof e=="number"&&(e=`fixed128x${e}`);let t=!0,i=128,n=18;if(typeof e=="string"){if(e!=="fixed")if(e==="ufixed")t=!1;else{const s=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);s||yr.throwArgumentError("invalid fixed format","format",e),t=s[1]!=="u",i=parseInt(s[2]),n=parseInt(s[3])}}else if(e){const s=(f,h,l)=>e[f]==null?l:(typeof e[f]!==h&&yr.throwArgumentError("invalid fixed format ("+f+" not "+h+")","format."+f,e[f]),e[f]);t=s("signed","boolean",t),i=s("width","number",i),n=s("decimals","number",n)}return i%8&&yr.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",i),n>80&&yr.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new ss(Zs,t,i,n)}}class $t{constructor(e,t,i,n){e!==Zs&&yr.throwError("cannot use FixedNumber constructor; use FixedNumber.from",tt.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=n,this._hex=t,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&yr.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=Ui(this._value,this.format.decimals),i=Ui(e._value,e.format.decimals);return $t.fromValue(t.add(i),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=Ui(this._value,this.format.decimals),i=Ui(e._value,e.format.decimals);return $t.fromValue(t.sub(i),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=Ui(this._value,this.format.decimals),i=Ui(e._value,e.format.decimals);return $t.fromValue(t.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=Ui(this._value,this.format.decimals),i=Ui(e._value,e.format.decimals);return $t.fromValue(t.mul(this.format._multiplier).div(i),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=$t.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return this.isNegative()&&i&&(t=t.subUnsafe(Yh.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=$t.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return!this.isNegative()&&i&&(t=t.addUnsafe(Yh.toFormat(t.format))),t}round(e){e==null&&(e=0);const t=this.toString().split(".");if(t.length===1&&t.push("0"),(e<0||e>80||e%1)&&yr.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const i=$t.from("1"+Ws.substring(0,e),this.format),n=V3.toFormat(this.format);return this.mulUnsafe(i).addUnsafe(n).floor().divUnsafe(i)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&yr.throwArgumentError("invalid byte width","width",e);const t=bt.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return gi(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return $t.fromString(this._value,e)}static fromValue(e,t,i){return i==null&&t!=null&&!z3(t)&&(i=t,t=null),t==null&&(t=0),i==null&&(i="fixed"),$t.fromString(Kf(e,t),ss.from(i))}static fromString(e,t){t==null&&(t="fixed");const i=ss.from(t),n=Ui(e,i.decimals);!i.signed&&n.lt(Jh)&&Qh("unsigned value cannot be negative","overflow","value",e);let s=null;i.signed?s=n.toTwos(i.width).toHexString():(s=n.toHexString(),s=gi(s,i.width/8));const f=Kf(n,i.decimals);return new $t(Zs,s,f,i)}static fromBytes(e,t){t==null&&(t="fixed");const i=ss.from(t);if(At(e).length>i.width/8)throw new Error("overflow");let n=bt.from(e);i.signed&&(n=n.fromTwos(i.width));const s=n.toTwos((i.signed?0:1)+i.width).toHexString(),f=Kf(n,i.decimals);return new $t(Zs,s,f,i)}static from(e,t){if(typeof e=="string")return $t.fromString(e,t);if(ns(e))return $t.fromBytes(e,t);try{return $t.fromValue(e,0,t)}catch(i){if(i.code!==tt.errors.INVALID_ARGUMENT)throw i}return yr.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}}const Yh=$t.from(1),V3=$t.from("0.5"),H3="strings/5.7.0",Xh=new tt(H3);var _a;(function(r){r.current="",r.NFC="NFC",r.NFD="NFD",r.NFKC="NFKC",r.NFKD="NFKD"})(_a||(_a={}));var as;(function(r){r.UNEXPECTED_CONTINUE="unexpected continuation byte",r.BAD_PREFIX="bad codepoint prefix",r.OVERRUN="string overrun",r.MISSING_CONTINUE="missing continuation byte",r.OUT_OF_RANGE="out of UTF-8 range",r.UTF16_SURROGATE="UTF-16 surrogate",r.OVERLONG="overlong representation"})(as||(as={}));function K3(r,e,t,i,n){return Xh.throwArgumentError(`invalid codepoint at offset ${e}; ${r}`,"bytes",t)}function _h(r,e,t,i,n){if(r===as.BAD_PREFIX||r===as.UNEXPECTED_CONTINUE){let s=0;for(let f=e+1;f<t.length&&t[f]>>6===2;f++)s++;return s}return r===as.OVERRUN?t.length-e-1:0}function j3(r,e,t,i,n){return r===as.OVERLONG?(i.push(n),0):(i.push(65533),_h(r,e,t))}Object.freeze({error:K3,ignore:_h,replace:j3});function jf(r,e=_a.current){e!=_a.current&&(Xh.checkNormalize(),r=r.normalize(e));let t=[];for(let i=0;i<r.length;i++){const n=r.charCodeAt(i);if(n<128)t.push(n);else if(n<2048)t.push(n>>6|192),t.push(n&63|128);else if((n&64512)==55296){i++;const s=r.charCodeAt(i);if(i>=r.length||(s&64512)!==56320)throw new Error("invalid utf-8 string");const f=65536+((n&1023)<<10)+(s&1023);t.push(f>>18|240),t.push(f>>12&63|128),t.push(f>>6&63|128),t.push(f&63|128)}else t.push(n>>12|224),t.push(n>>6&63|128),t.push(n&63|128)}return At(t)}function Z3(r){if(r.length%4!==0)throw new Error("bad data");let e=[];for(let t=0;t<r.length;t+=4)e.push(parseInt(r.substring(t,t+4),16));return e}function Zf(r,e){e||(e=function(n){return[parseInt(n,16)]});let t=0,i={};return r.split(",").forEach(n=>{let s=n.split(":");t+=parseInt(s[0],16),i[t]=e(s[1])}),i}function $h(r){let e=0;return r.split(",").map(t=>{let i=t.split("-");i.length===1?i[1]="0":i[1]===""&&(i[1]="1");let n=e+parseInt(i[0],16);return e=parseInt(i[1],16),{l:n,h:e}})}$h("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(r=>parseInt(r,16)),Zf("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Zf("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),Zf("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",Z3),$h("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");const ed="hash/5.7.0";function W3(r){r=atob(r);const e=[];for(let t=0;t<r.length;t++)e.push(r.charCodeAt(t));return At(e)}function td(r,e){e==null&&(e=1);const t=[],i=t.forEach,n=function(s,f){i.call(s,function(h){f>0&&Array.isArray(h)?n(h,f-1):t.push(h)})};return n(r,e),t}function J3(r){const e={};for(let t=0;t<r.length;t++){const i=r[t];e[i[0]]=i[1]}return e}function G3(r){let e=0;function t(){return r[e++]<<8|r[e++]}let i=t(),n=1,s=[0,1];for(let R=1;R<i;R++)s.push(n+=t());let f=t(),h=e;e+=f;let l=0,p=0;function m(){return l==0&&(p=p<<8|r[e++],l=8),p>>--l&1}const y=31,E=Math.pow(2,y),I=E>>>1,N=I>>1,F=E-1;let k=0;for(let R=0;R<y;R++)k=k<<1|m();let H=[],L=0,W=E;for(;;){let R=Math.floor(((k-L+1)*n-1)/W),V=0,S=i;for(;S-V>1;){let ie=V+S>>>1;R<s[ie]?S=ie:V=ie}if(V==0)break;H.push(V);let B=L+Math.floor(W*s[V]/n),G=L+Math.floor(W*s[V+1]/n)-1;for(;!((B^G)&I);)k=k<<1&F|m(),B=B<<1&F,G=G<<1&F|1;for(;B&~G&N;)k=k&I|k<<1&F>>>1|m(),B=B<<1^I,G=(G^I)<<1|I|1;L=B,W=1+G-B}let z=i-4;return H.map(R=>{switch(R-z){case 3:return z+65792+(r[h++]<<16|r[h++]<<8|r[h++]);case 2:return z+256+(r[h++]<<8|r[h++]);case 1:return z+r[h++];default:return R-1}})}function Q3(r){let e=0;return()=>r[e++]}function Y3(r){return Q3(G3(r))}function X3(r){return r&1?~r>>1:r>>1}function _3(r,e){let t=Array(r);for(let i=0;i<r;i++)t[i]=1+e();return t}function rd(r,e){let t=Array(r);for(let i=0,n=-1;i<r;i++)t[i]=n+=1+e();return t}function $3(r,e){let t=Array(r);for(let i=0,n=0;i<r;i++)t[i]=n+=X3(e());return t}function $a(r,e){let t=rd(r(),r),i=r(),n=rd(i,r),s=_3(i,r);for(let f=0;f<i;f++)for(let h=0;h<s[f];h++)t.push(n[f]+h);return e?t.map(f=>e[f]):t}function e6(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(r6(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(i6(t,r))}return J3(td(e))}function t6(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(t)}return e}function id(r,e,t){let i=Array(r).fill(void 0).map(()=>[]);for(let n=0;n<e;n++)$3(r,t).forEach((s,f)=>i[f].push(s));return i}function r6(r,e){let t=1+e(),i=e(),n=t6(e),s=id(n.length,1+r,e);return td(s.map((f,h)=>{const l=f[0],p=f.slice(1);return Array(n[h]).fill(void 0).map((m,y)=>{let E=y*i;return[l+y*t,p.map(I=>I+E)]})}))}function i6(r,e){let t=1+e();return id(t,1+r,e).map(n=>[n[0],n.slice(1)])}function n6(r){let e=$a(r).sort((i,n)=>i-n);return t();function t(){let i=[];for(;;){let p=$a(r,e);if(p.length==0)break;i.push({set:new Set(p),node:t()})}i.sort((p,m)=>m.set.size-p.set.size);let n=r(),s=n%3;n=n/3|0;let f=!!(n&1);n>>=1;let h=n==1,l=n==2;return{branches:i,valid:s,fe0f:f,save:h,check:l}}}function s6(){return Y3(W3("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"))}const eo=s6();new Set($a(eo)),new Set($a(eo)),e6(eo),n6(eo),new tt(ed),new Uint8Array(32).fill(0);const a6=`Ethereum Signed Message:
|
22
|
-
`;function nd(r){return typeof r=="string"&&(r=jf(r)),kf(L3([jf(a6),jf(String(r.length)),r]))}const o6="rlp/5.7.0";new tt(o6);const f6="address/5.7.0",Js=new tt(f6);function sd(r){Cr(r,20)||Js.throwArgumentError("invalid address","address",r),r=r.toLowerCase();const e=r.substring(2).split(""),t=new Uint8Array(40);for(let n=0;n<40;n++)t[n]=e[n].charCodeAt(0);const i=At(kf(t));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(e[n]=e[n].toUpperCase()),(i[n>>1]&15)>=8&&(e[n+1]=e[n+1].toUpperCase());return"0x"+e.join("")}const c6=9007199254740991;function h6(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const Wf={};for(let r=0;r<10;r++)Wf[String(r)]=String(r);for(let r=0;r<26;r++)Wf[String.fromCharCode(65+r)]=String(10+r);const ad=Math.floor(h6(c6));function d6(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(i=>Wf[i]).join("");for(;e.length>=ad;){let i=e.substring(0,ad);e=parseInt(i,10)%97+e.substring(i.length)}let t=String(98-parseInt(e,10)%97);for(;t.length<2;)t="0"+t;return t}function u6(r){let e=null;if(typeof r!="string"&&Js.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),e=sd(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==r&&Js.throwArgumentError("bad address checksum","address",r);else if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(r.substring(2,4)!==d6(r)&&Js.throwArgumentError("bad icap checksum","address",r),e=k3(r.substring(4));e.length<40;)e="0"+e;e=sd("0x"+e)}else Js.throwArgumentError("invalid address","address",r);return e}const l6="properties/5.7.0";new tt(l6);function Gs(r,e,t){Object.defineProperty(r,e,{enumerable:!0,value:t,writable:!1})}new tt(ed),new Uint8Array(32).fill(0),bt.from(-1);const p6=bt.from(0),b6=bt.from(1);bt.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),gi(b6.toHexString(),32),gi(p6.toHexString(),32);var wr={},ot={},en=od;function od(r,e){if(!r)throw new Error(e||"Assertion failed")}od.equal=function(e,t,i){if(e!=t)throw new Error(i||"Assertion failed: "+e+" != "+t)};var zi={exports:{}};typeof Object.create=="function"?zi.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:zi.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}};var v6=en,g6=zi.exports;ot.inherits=g6;function m6(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function y6(r,e){if(Array.isArray(r))return r.slice();if(!r)return[];var t=[];if(typeof r=="string")if(e){if(e==="hex")for(r=r.replace(/[^a-z0-9]+/ig,""),r.length%2!==0&&(r="0"+r),n=0;n<r.length;n+=2)t.push(parseInt(r[n]+r[n+1],16))}else for(var i=0,n=0;n<r.length;n++){var s=r.charCodeAt(n);s<128?t[i++]=s:s<2048?(t[i++]=s>>6|192,t[i++]=s&63|128):m6(r,n)?(s=65536+((s&1023)<<10)+(r.charCodeAt(++n)&1023),t[i++]=s>>18|240,t[i++]=s>>12&63|128,t[i++]=s>>6&63|128,t[i++]=s&63|128):(t[i++]=s>>12|224,t[i++]=s>>6&63|128,t[i++]=s&63|128)}else for(n=0;n<r.length;n++)t[n]=r[n]|0;return t}ot.toArray=y6;function w6(r){for(var e="",t=0;t<r.length;t++)e+=cd(r[t].toString(16));return e}ot.toHex=w6;function fd(r){var e=r>>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}ot.htonl=fd;function x6(r,e){for(var t="",i=0;i<r.length;i++){var n=r[i];e==="little"&&(n=fd(n)),t+=hd(n.toString(16))}return t}ot.toHex32=x6;function cd(r){return r.length===1?"0"+r:r}ot.zero2=cd;function hd(r){return r.length===7?"0"+r:r.length===6?"00"+r:r.length===5?"000"+r:r.length===4?"0000"+r:r.length===3?"00000"+r:r.length===2?"000000"+r:r.length===1?"0000000"+r:r}ot.zero8=hd;function A6(r,e,t,i){var n=t-e;v6(n%4===0);for(var s=new Array(n/4),f=0,h=e;f<s.length;f++,h+=4){var l;i==="big"?l=r[h]<<24|r[h+1]<<16|r[h+2]<<8|r[h+3]:l=r[h+3]<<24|r[h+2]<<16|r[h+1]<<8|r[h],s[f]=l>>>0}return s}ot.join32=A6;function M6(r,e){for(var t=new Array(r.length*4),i=0,n=0;i<r.length;i++,n+=4){var s=r[i];e==="big"?(t[n]=s>>>24,t[n+1]=s>>>16&255,t[n+2]=s>>>8&255,t[n+3]=s&255):(t[n+3]=s>>>24,t[n+2]=s>>>16&255,t[n+1]=s>>>8&255,t[n]=s&255)}return t}ot.split32=M6;function S6(r,e){return r>>>e|r<<32-e}ot.rotr32=S6;function E6(r,e){return r<<e|r>>>32-e}ot.rotl32=E6;function I6(r,e){return r+e>>>0}ot.sum32=I6;function P6(r,e,t){return r+e+t>>>0}ot.sum32_3=P6;function O6(r,e,t,i){return r+e+t+i>>>0}ot.sum32_4=O6;function N6(r,e,t,i,n){return r+e+t+i+n>>>0}ot.sum32_5=N6;function D6(r,e,t,i){var n=r[e],s=r[e+1],f=i+s>>>0,h=(f<i?1:0)+t+n;r[e]=h>>>0,r[e+1]=f}ot.sum64=D6;function R6(r,e,t,i){var n=e+i>>>0,s=(n<e?1:0)+r+t;return s>>>0}ot.sum64_hi=R6;function T6(r,e,t,i){var n=e+i;return n>>>0}ot.sum64_lo=T6;function C6(r,e,t,i,n,s,f,h){var l=0,p=e;p=p+i>>>0,l+=p<e?1:0,p=p+s>>>0,l+=p<s?1:0,p=p+h>>>0,l+=p<h?1:0;var m=r+t+n+f+l;return m>>>0}ot.sum64_4_hi=C6;function F6(r,e,t,i,n,s,f,h){var l=e+i+s+h;return l>>>0}ot.sum64_4_lo=F6;function q6(r,e,t,i,n,s,f,h,l,p){var m=0,y=e;y=y+i>>>0,m+=y<e?1:0,y=y+s>>>0,m+=y<s?1:0,y=y+h>>>0,m+=y<h?1:0,y=y+p>>>0,m+=y<p?1:0;var E=r+t+n+f+l+m;return E>>>0}ot.sum64_5_hi=q6;function L6(r,e,t,i,n,s,f,h,l,p){var m=e+i+s+h+p;return m>>>0}ot.sum64_5_lo=L6;function B6(r,e,t){var i=e<<32-t|r>>>t;return i>>>0}ot.rotr64_hi=B6;function U6(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}ot.rotr64_lo=U6;function z6(r,e,t){return r>>>t}ot.shr64_hi=z6;function k6(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}ot.shr64_lo=k6;var os={},dd=ot,V6=en;function to(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}os.BlockHash=to,to.prototype.update=function(e,t){if(e=dd.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var i=e.length%this._delta8;this.pending=e.slice(e.length-i,e.length),this.pending.length===0&&(this.pending=null),e=dd.join32(e,0,e.length-i,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},to.prototype.digest=function(e){return this.update(this._pad()),V6(this.pending===null),this._digest(e)},to.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,i=t-(e+this.padLength)%t,n=new Array(i+this.padLength);n[0]=128;for(var s=1;s<i;s++)n[s]=0;if(e<<=3,this.endian==="big"){for(var f=8;f<this.padLength;f++)n[s++]=0;n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=e>>>24&255,n[s++]=e>>>16&255,n[s++]=e>>>8&255,n[s++]=e&255}else for(n[s++]=e&255,n[s++]=e>>>8&255,n[s++]=e>>>16&255,n[s++]=e>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,f=8;f<this.padLength;f++)n[s++]=0;return n};var fs={},mi={},H6=ot,yi=H6.rotr32;function K6(r,e,t,i){if(r===0)return ud(e,t,i);if(r===1||r===3)return pd(e,t,i);if(r===2)return ld(e,t,i)}mi.ft_1=K6;function ud(r,e,t){return r&e^~r&t}mi.ch32=ud;function ld(r,e,t){return r&e^r&t^e&t}mi.maj32=ld;function pd(r,e,t){return r^e^t}mi.p32=pd;function j6(r){return yi(r,2)^yi(r,13)^yi(r,22)}mi.s0_256=j6;function Z6(r){return yi(r,6)^yi(r,11)^yi(r,25)}mi.s1_256=Z6;function W6(r){return yi(r,7)^yi(r,18)^r>>>3}mi.g0_256=W6;function J6(r){return yi(r,17)^yi(r,19)^r>>>10}mi.g1_256=J6;var cs=ot,G6=os,Q6=mi,Jf=cs.rotl32,Qs=cs.sum32,Y6=cs.sum32_5,X6=Q6.ft_1,bd=G6.BlockHash,_6=[1518500249,1859775393,2400959708,3395469782];function wi(){if(!(this instanceof wi))return new wi;bd.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}cs.inherits(wi,bd);var $6=wi;wi.blockSize=512,wi.outSize=160,wi.hmacStrength=80,wi.padLength=64,wi.prototype._update=function(e,t){for(var i=this.W,n=0;n<16;n++)i[n]=e[t+n];for(;n<i.length;n++)i[n]=Jf(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var s=this.h[0],f=this.h[1],h=this.h[2],l=this.h[3],p=this.h[4];for(n=0;n<i.length;n++){var m=~~(n/20),y=Y6(Jf(s,5),X6(m,f,h,l),p,i[n],_6[m]);p=l,l=h,h=Jf(f,30),f=s,s=y}this.h[0]=Qs(this.h[0],s),this.h[1]=Qs(this.h[1],f),this.h[2]=Qs(this.h[2],h),this.h[3]=Qs(this.h[3],l),this.h[4]=Qs(this.h[4],p)},wi.prototype._digest=function(e){return e==="hex"?cs.toHex32(this.h,"big"):cs.split32(this.h,"big")};var hs=ot,eg=os,ds=mi,tg=en,ai=hs.sum32,rg=hs.sum32_4,ig=hs.sum32_5,ng=ds.ch32,sg=ds.maj32,ag=ds.s0_256,og=ds.s1_256,fg=ds.g0_256,cg=ds.g1_256,vd=eg.BlockHash,hg=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function xi(){if(!(this instanceof xi))return new xi;vd.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=hg,this.W=new Array(64)}hs.inherits(xi,vd);var gd=xi;xi.blockSize=512,xi.outSize=256,xi.hmacStrength=192,xi.padLength=64,xi.prototype._update=function(e,t){for(var i=this.W,n=0;n<16;n++)i[n]=e[t+n];for(;n<i.length;n++)i[n]=rg(cg(i[n-2]),i[n-7],fg(i[n-15]),i[n-16]);var s=this.h[0],f=this.h[1],h=this.h[2],l=this.h[3],p=this.h[4],m=this.h[5],y=this.h[6],E=this.h[7];for(tg(this.k.length===i.length),n=0;n<i.length;n++){var I=ig(E,og(p),ng(p,m,y),this.k[n],i[n]),N=ai(ag(s),sg(s,f,h));E=y,y=m,m=p,p=ai(l,I),l=h,h=f,f=s,s=ai(I,N)}this.h[0]=ai(this.h[0],s),this.h[1]=ai(this.h[1],f),this.h[2]=ai(this.h[2],h),this.h[3]=ai(this.h[3],l),this.h[4]=ai(this.h[4],p),this.h[5]=ai(this.h[5],m),this.h[6]=ai(this.h[6],y),this.h[7]=ai(this.h[7],E)},xi.prototype._digest=function(e){return e==="hex"?hs.toHex32(this.h,"big"):hs.split32(this.h,"big")};var Gf=ot,md=gd;function ki(){if(!(this instanceof ki))return new ki;md.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Gf.inherits(ki,md);var dg=ki;ki.blockSize=512,ki.outSize=224,ki.hmacStrength=192,ki.padLength=64,ki.prototype._digest=function(e){return e==="hex"?Gf.toHex32(this.h.slice(0,7),"big"):Gf.split32(this.h.slice(0,7),"big")};var Or=ot,ug=os,lg=en,Ai=Or.rotr64_hi,Mi=Or.rotr64_lo,yd=Or.shr64_hi,wd=Or.shr64_lo,tn=Or.sum64,Qf=Or.sum64_hi,Yf=Or.sum64_lo,pg=Or.sum64_4_hi,bg=Or.sum64_4_lo,vg=Or.sum64_5_hi,gg=Or.sum64_5_lo,xd=ug.BlockHash,mg=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function oi(){if(!(this instanceof oi))return new oi;xd.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=mg,this.W=new Array(160)}Or.inherits(oi,xd);var Ad=oi;oi.blockSize=1024,oi.outSize=512,oi.hmacStrength=192,oi.padLength=128,oi.prototype._prepareBlock=function(e,t){for(var i=this.W,n=0;n<32;n++)i[n]=e[t+n];for(;n<i.length;n+=2){var s=Ng(i[n-4],i[n-3]),f=Dg(i[n-4],i[n-3]),h=i[n-14],l=i[n-13],p=Pg(i[n-30],i[n-29]),m=Og(i[n-30],i[n-29]),y=i[n-32],E=i[n-31];i[n]=pg(s,f,h,l,p,m,y,E),i[n+1]=bg(s,f,h,l,p,m,y,E)}},oi.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,n=this.h[0],s=this.h[1],f=this.h[2],h=this.h[3],l=this.h[4],p=this.h[5],m=this.h[6],y=this.h[7],E=this.h[8],I=this.h[9],N=this.h[10],F=this.h[11],k=this.h[12],H=this.h[13],L=this.h[14],W=this.h[15];lg(this.k.length===i.length);for(var z=0;z<i.length;z+=2){var R=L,V=W,S=Eg(E,I),B=Ig(E,I),G=yg(E,I,N,F,k),ie=wg(E,I,N,F,k,H),P=this.k[z],o=this.k[z+1],d=i[z],a=i[z+1],u=vg(R,V,S,B,G,ie,P,o,d,a),b=gg(R,V,S,B,G,ie,P,o,d,a);R=Mg(n,s),V=Sg(n,s),S=xg(n,s,f,h,l),B=Ag(n,s,f,h,l,p);var w=Qf(R,V,S,B),A=Yf(R,V,S,B);L=k,W=H,k=N,H=F,N=E,F=I,E=Qf(m,y,u,b),I=Yf(y,y,u,b),m=l,y=p,l=f,p=h,f=n,h=s,n=Qf(u,b,w,A),s=Yf(u,b,w,A)}tn(this.h,0,n,s),tn(this.h,2,f,h),tn(this.h,4,l,p),tn(this.h,6,m,y),tn(this.h,8,E,I),tn(this.h,10,N,F),tn(this.h,12,k,H),tn(this.h,14,L,W)},oi.prototype._digest=function(e){return e==="hex"?Or.toHex32(this.h,"big"):Or.split32(this.h,"big")};function yg(r,e,t,i,n){var s=r&t^~r&n;return s<0&&(s+=4294967296),s}function wg(r,e,t,i,n,s){var f=e&i^~e&s;return f<0&&(f+=4294967296),f}function xg(r,e,t,i,n){var s=r&t^r&n^t&n;return s<0&&(s+=4294967296),s}function Ag(r,e,t,i,n,s){var f=e&i^e&s^i&s;return f<0&&(f+=4294967296),f}function Mg(r,e){var t=Ai(r,e,28),i=Ai(e,r,2),n=Ai(e,r,7),s=t^i^n;return s<0&&(s+=4294967296),s}function Sg(r,e){var t=Mi(r,e,28),i=Mi(e,r,2),n=Mi(e,r,7),s=t^i^n;return s<0&&(s+=4294967296),s}function Eg(r,e){var t=Ai(r,e,14),i=Ai(r,e,18),n=Ai(e,r,9),s=t^i^n;return s<0&&(s+=4294967296),s}function Ig(r,e){var t=Mi(r,e,14),i=Mi(r,e,18),n=Mi(e,r,9),s=t^i^n;return s<0&&(s+=4294967296),s}function Pg(r,e){var t=Ai(r,e,1),i=Ai(r,e,8),n=yd(r,e,7),s=t^i^n;return s<0&&(s+=4294967296),s}function Og(r,e){var t=Mi(r,e,1),i=Mi(r,e,8),n=wd(r,e,7),s=t^i^n;return s<0&&(s+=4294967296),s}function Ng(r,e){var t=Ai(r,e,19),i=Ai(e,r,29),n=yd(r,e,6),s=t^i^n;return s<0&&(s+=4294967296),s}function Dg(r,e){var t=Mi(r,e,19),i=Mi(e,r,29),n=wd(r,e,6),s=t^i^n;return s<0&&(s+=4294967296),s}var Xf=ot,Md=Ad;function Vi(){if(!(this instanceof Vi))return new Vi;Md.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}Xf.inherits(Vi,Md);var Rg=Vi;Vi.blockSize=1024,Vi.outSize=384,Vi.hmacStrength=192,Vi.padLength=128,Vi.prototype._digest=function(e){return e==="hex"?Xf.toHex32(this.h.slice(0,12),"big"):Xf.split32(this.h.slice(0,12),"big")},fs.sha1=$6,fs.sha224=dg,fs.sha256=gd,fs.sha384=Rg,fs.sha512=Ad;var Sd={},En=ot,Tg=os,ro=En.rotl32,Ed=En.sum32,Ys=En.sum32_3,Id=En.sum32_4,Pd=Tg.BlockHash;function Si(){if(!(this instanceof Si))return new Si;Pd.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}En.inherits(Si,Pd),Sd.ripemd160=Si,Si.blockSize=512,Si.outSize=160,Si.hmacStrength=192,Si.padLength=64,Si.prototype._update=function(e,t){for(var i=this.h[0],n=this.h[1],s=this.h[2],f=this.h[3],h=this.h[4],l=i,p=n,m=s,y=f,E=h,I=0;I<80;I++){var N=Ed(ro(Id(i,Od(I,n,s,f),e[qg[I]+t],Cg(I)),Bg[I]),h);i=h,h=f,f=ro(s,10),s=n,n=N,N=Ed(ro(Id(l,Od(79-I,p,m,y),e[Lg[I]+t],Fg(I)),Ug[I]),E),l=E,E=y,y=ro(m,10),m=p,p=N}N=Ys(this.h[1],s,y),this.h[1]=Ys(this.h[2],f,E),this.h[2]=Ys(this.h[3],h,l),this.h[3]=Ys(this.h[4],i,p),this.h[4]=Ys(this.h[0],n,m),this.h[0]=N},Si.prototype._digest=function(e){return e==="hex"?En.toHex32(this.h,"little"):En.split32(this.h,"little")};function Od(r,e,t,i){return r<=15?e^t^i:r<=31?e&t|~e&i:r<=47?(e|~t)^i:r<=63?e&i|t&~i:e^(t|~i)}function Cg(r){return r<=15?0:r<=31?1518500249:r<=47?1859775393:r<=63?2400959708:2840853838}function Fg(r){return r<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0}var qg=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Lg=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Bg=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Ug=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],zg=ot,kg=en;function us(r,e,t){if(!(this instanceof us))return new us(r,e,t);this.Hash=r,this.blockSize=r.blockSize/8,this.outSize=r.outSize/8,this.inner=null,this.outer=null,this._init(zg.toArray(e,t))}var Vg=us;us.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),kg(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;for(this.inner=new this.Hash().update(e),t=0;t<e.length;t++)e[t]^=106;this.outer=new this.Hash().update(e)},us.prototype.update=function(e,t){return this.inner.update(e,t),this},us.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(r){var e=r;e.utils=ot,e.common=os,e.sha=fs,e.ripemd=Sd,e.hmac=Vg,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}(wr);function ls(r,e,t){return t={path:e,exports:{},require:function(i,n){return Hg(i,n??t.path)}},r(t,t.exports),t.exports}function Hg(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var _f=Nd;function Nd(r,e){if(!r)throw new Error(e||"Assertion failed")}Nd.equal=function(e,t,i){if(e!=t)throw new Error(i||"Assertion failed: "+e+" != "+t)};var fi=ls(function(r,e){var t=e;function i(f,h){if(Array.isArray(f))return f.slice();if(!f)return[];var l=[];if(typeof f!="string"){for(var p=0;p<f.length;p++)l[p]=f[p]|0;return l}if(h==="hex"){f=f.replace(/[^a-z0-9]+/ig,""),f.length%2!==0&&(f="0"+f);for(var p=0;p<f.length;p+=2)l.push(parseInt(f[p]+f[p+1],16))}else for(var p=0;p<f.length;p++){var m=f.charCodeAt(p),y=m>>8,E=m&255;y?l.push(y,E):l.push(E)}return l}t.toArray=i;function n(f){return f.length===1?"0"+f:f}t.zero2=n;function s(f){for(var h="",l=0;l<f.length;l++)h+=n(f[l].toString(16));return h}t.toHex=s,t.encode=function(h,l){return l==="hex"?s(h):h}}),Fr=ls(function(r,e){var t=e;t.assert=_f,t.toArray=fi.toArray,t.zero2=fi.zero2,t.toHex=fi.toHex,t.encode=fi.encode;function i(l,p,m){var y=new Array(Math.max(l.bitLength(),m)+1);y.fill(0);for(var E=1<<p+1,I=l.clone(),N=0;N<y.length;N++){var F,k=I.andln(E-1);I.isOdd()?(k>(E>>1)-1?F=(E>>1)-k:F=k,I.isubn(F)):F=0,y[N]=F,I.iushrn(1)}return y}t.getNAF=i;function n(l,p){var m=[[],[]];l=l.clone(),p=p.clone();for(var y=0,E=0,I;l.cmpn(-y)>0||p.cmpn(-E)>0;){var N=l.andln(3)+y&3,F=p.andln(3)+E&3;N===3&&(N=-1),F===3&&(F=-1);var k;N&1?(I=l.andln(7)+y&7,(I===3||I===5)&&F===2?k=-N:k=N):k=0,m[0].push(k);var H;F&1?(I=p.andln(7)+E&7,(I===3||I===5)&&N===2?H=-F:H=F):H=0,m[1].push(H),2*y===k+1&&(y=1-y),2*E===H+1&&(E=1-E),l.iushrn(1),p.iushrn(1)}return m}t.getJSF=n;function s(l,p,m){var y="_"+p;l.prototype[p]=function(){return this[y]!==void 0?this[y]:this[y]=m.call(this)}}t.cachedProperty=s;function f(l){return typeof l=="string"?t.toArray(l,"hex"):l}t.parseBytes=f;function h(l){return new $e(l,"hex","le")}t.intFromLE=h}),io=Fr.getNAF,Kg=Fr.getJSF,no=Fr.assert;function rn(r,e){this.type=r,this.p=new $e(e.p,16),this.red=e.prime?$e.red(e.prime):$e.mont(this.p),this.zero=new $e(0).toRed(this.red),this.one=new $e(1).toRed(this.red),this.two=new $e(2).toRed(this.red),this.n=e.n&&new $e(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var In=rn;rn.prototype.point=function(){throw new Error("Not implemented")},rn.prototype.validate=function(){throw new Error("Not implemented")},rn.prototype._fixedNafMul=function(e,t){no(e.precomputed);var i=e._getDoubles(),n=io(t,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var f=[],h,l;for(h=0;h<n.length;h+=i.step){l=0;for(var p=h+i.step-1;p>=h;p--)l=(l<<1)+n[p];f.push(l)}for(var m=this.jpoint(null,null,null),y=this.jpoint(null,null,null),E=s;E>0;E--){for(h=0;h<f.length;h++)l=f[h],l===E?y=y.mixedAdd(i.points[h]):l===-E&&(y=y.mixedAdd(i.points[h].neg()));m=m.add(y)}return m.toP()},rn.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,f=io(t,i,this._bitLength),h=this.jpoint(null,null,null),l=f.length-1;l>=0;l--){for(var p=0;l>=0&&f[l]===0;l--)p++;if(l>=0&&p++,h=h.dblp(p),l<0)break;var m=f[l];no(m!==0),e.type==="affine"?m>0?h=h.mixedAdd(s[m-1>>1]):h=h.mixedAdd(s[-m-1>>1].neg()):m>0?h=h.add(s[m-1>>1]):h=h.add(s[-m-1>>1].neg())}return e.type==="affine"?h.toP():h},rn.prototype._wnafMulAdd=function(e,t,i,n,s){var f=this._wnafT1,h=this._wnafT2,l=this._wnafT3,p=0,m,y,E;for(m=0;m<n;m++){E=t[m];var I=E._getNAFPoints(e);f[m]=I.wnd,h[m]=I.points}for(m=n-1;m>=1;m-=2){var N=m-1,F=m;if(f[N]!==1||f[F]!==1){l[N]=io(i[N],f[N],this._bitLength),l[F]=io(i[F],f[F],this._bitLength),p=Math.max(l[N].length,p),p=Math.max(l[F].length,p);continue}var k=[t[N],null,null,t[F]];t[N].y.cmp(t[F].y)===0?(k[1]=t[N].add(t[F]),k[2]=t[N].toJ().mixedAdd(t[F].neg())):t[N].y.cmp(t[F].y.redNeg())===0?(k[1]=t[N].toJ().mixedAdd(t[F]),k[2]=t[N].add(t[F].neg())):(k[1]=t[N].toJ().mixedAdd(t[F]),k[2]=t[N].toJ().mixedAdd(t[F].neg()));var H=[-3,-1,-5,-7,0,7,5,1,3],L=Kg(i[N],i[F]);for(p=Math.max(L[0].length,p),l[N]=new Array(p),l[F]=new Array(p),y=0;y<p;y++){var W=L[0][y]|0,z=L[1][y]|0;l[N][y]=H[(W+1)*3+(z+1)],l[F][y]=0,h[N]=k}}var R=this.jpoint(null,null,null),V=this._wnafT4;for(m=p;m>=0;m--){for(var S=0;m>=0;){var B=!0;for(y=0;y<n;y++)V[y]=l[y][m]|0,V[y]!==0&&(B=!1);if(!B)break;S++,m--}if(m>=0&&S++,R=R.dblp(S),m<0)break;for(y=0;y<n;y++){var G=V[y];G!==0&&(G>0?E=h[y][G-1>>1]:G<0&&(E=h[y][-G-1>>1].neg()),E.type==="affine"?R=R.mixedAdd(E):R=R.add(E))}}for(m=0;m<n;m++)h[m]=null;return s?R:R.toP()};function Vr(r,e){this.curve=r,this.type=e,this.precomputed=null}rn.BasePoint=Vr,Vr.prototype.eq=function(){throw new Error("Not implemented")},Vr.prototype.validate=function(){return this.curve.validate(this)},rn.prototype.decodePoint=function(e,t){e=Fr.toArray(e,t);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?no(e[e.length-1]%2===0):e[0]===7&&no(e[e.length-1]%2===1);var n=this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));return n}else if((e[0]===2||e[0]===3)&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),e[0]===3);throw new Error("Unknown point format")},Vr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Vr.prototype._encode=function(e){var t=this.curve.p.byteLength(),i=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",t))},Vr.prototype.encode=function(e,t){return Fr.encode(this._encode(t),e)},Vr.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},Vr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return t?t.points.length>=Math.ceil((e.bitLength()+1)/t.step):!1},Vr.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<t;s+=e){for(var f=0;f<e;f++)n=n.dbl();i.push(n)}return{step:e,points:i}},Vr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)t[s]=t[s-1].add(n);return{wnd:e,points:t}},Vr.prototype._getBeta=function(){return null},Vr.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var $f=ls(function(r){typeof Object.create=="function"?r.exports=function(t,i){i&&(t.super_=i,t.prototype=Object.create(i.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:r.exports=function(t,i){if(i){t.super_=i;var n=function(){};n.prototype=i.prototype,t.prototype=new n,t.prototype.constructor=t}}}),jg=Fr.assert;function Hr(r){In.call(this,"short",r),this.a=new $e(r.a,16).toRed(this.red),this.b=new $e(r.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}$f(Hr,In);var Zg=Hr;Hr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new $e(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=n[0].cmp(n[1])<0?n[0]:n[1],t=t.toRed(this.red)}if(e.lambda)i=new $e(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))===0?i=s[0]:(i=s[1],jg(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var f;return e.basis?f=e.basis.map(function(h){return{a:new $e(h.a,16),b:new $e(h.b,16)}}):f=this._getEndoBasis(i),{beta:t,lambda:i,basis:f}}},Hr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:$e.mont(e),i=new $e(2).toRed(t).redInvm(),n=i.redNeg(),s=new $e(3).toRed(t).redNeg().redSqrt().redMul(i),f=n.redAdd(s).fromRed(),h=n.redSub(s).fromRed();return[f,h]},Hr.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new $e(1),f=new $e(0),h=new $e(0),l=new $e(1),p,m,y,E,I,N,F,k=0,H,L;i.cmpn(0)!==0;){var W=n.div(i);H=n.sub(W.mul(i)),L=h.sub(W.mul(s));var z=l.sub(W.mul(f));if(!y&&H.cmp(t)<0)p=F.neg(),m=s,y=H.neg(),E=L;else if(y&&++k===2)break;F=H,n=i,i=H,h=s,s=L,l=f,f=z}I=H.neg(),N=L;var R=y.sqr().add(E.sqr()),V=I.sqr().add(N.sqr());return V.cmp(R)>=0&&(I=p,N=m),y.negative&&(y=y.neg(),E=E.neg()),I.negative&&(I=I.neg(),N=N.neg()),[{a:y,b:E},{a:I,b:N}]},Hr.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],s=n.b.mul(e).divRound(this.n),f=i.b.neg().mul(e).divRound(this.n),h=s.mul(i.a),l=f.mul(n.a),p=s.mul(i.b),m=f.mul(n.b),y=e.sub(h).sub(l),E=p.add(m).neg();return{k1:y,k2:E}},Hr.prototype.pointFromX=function(e,t){e=new $e(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},Hr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},Hr.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,f=0;f<e.length;f++){var h=this._endoSplit(t[f]),l=e[f],p=l._getBeta();h.k1.negative&&(h.k1.ineg(),l=l.neg(!0)),h.k2.negative&&(h.k2.ineg(),p=p.neg(!0)),n[f*2]=l,n[f*2+1]=p,s[f*2]=h.k1,s[f*2+1]=h.k2}for(var m=this._wnafMulAdd(1,n,s,f*2,i),y=0;y<f*2;y++)n[y]=null,s[y]=null;return m};function Vt(r,e,t,i){In.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new $e(e,16),this.y=new $e(t,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}$f(Vt,In.BasePoint),Hr.prototype.point=function(e,t,i){return new Vt(this,e,t,i)},Hr.prototype.pointFromJSON=function(e,t){return Vt.fromJSON(this,e,t)},Vt.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},Vt.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Vt.fromJSON=function(e,t,i){typeof t=="string"&&(t=JSON.parse(t));var n=e.point(t[0],t[1],i);if(!t[2])return n;function s(h){return e.point(h[0],h[1],i)}var f=t[2];return n.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[n].concat(f.doubles.points.map(s))},naf:f.naf&&{wnd:f.naf.wnd,points:[n].concat(f.naf.points.map(s))}},n},Vt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Vt.prototype.isInfinity=function(){return this.inf},Vt.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var i=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},Vt.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),f=s.redSqr().redISub(this.x.redAdd(this.x)),h=s.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,h)},Vt.prototype.getX=function(){return this.x.fromRed()},Vt.prototype.getY=function(){return this.y.fromRed()},Vt.prototype.mul=function(e){return e=new $e(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Vt.prototype.mulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},Vt.prototype.jmulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},Vt.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},Vt.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};t.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return t},Vt.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function er(r,e,t,i){In.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new $e(0)):(this.x=new $e(e,16),this.y=new $e(t,16),this.z=new $e(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}$f(er,In.BasePoint),Hr.prototype.jpoint=function(e,t,i){return new er(this,e,t,i)},er.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),i=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(i,n)},er.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},er.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(t),s=e.x.redMul(i),f=this.y.redMul(t.redMul(e.z)),h=e.y.redMul(i.redMul(this.z)),l=n.redSub(s),p=f.redSub(h);if(l.cmpn(0)===0)return p.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=l.redSqr(),y=m.redMul(l),E=n.redMul(m),I=p.redSqr().redIAdd(y).redISub(E).redISub(E),N=p.redMul(E.redISub(I)).redISub(f.redMul(y)),F=this.z.redMul(e.z).redMul(l);return this.curve.jpoint(I,N,F)},er.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),i=this.x,n=e.x.redMul(t),s=this.y,f=e.y.redMul(t).redMul(this.z),h=i.redSub(n),l=s.redSub(f);if(h.cmpn(0)===0)return l.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var p=h.redSqr(),m=p.redMul(h),y=i.redMul(p),E=l.redSqr().redIAdd(m).redISub(y).redISub(y),I=l.redMul(y.redISub(E)).redISub(s.redMul(m)),N=this.z.redMul(h);return this.curve.jpoint(E,I,N)},er.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var i=this;for(t=0;t<e;t++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,f=this.x,h=this.y,l=this.z,p=l.redSqr().redSqr(),m=h.redAdd(h);for(t=0;t<e;t++){var y=f.redSqr(),E=m.redSqr(),I=E.redSqr(),N=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(p)),F=f.redMul(E),k=N.redSqr().redISub(F.redAdd(F)),H=F.redISub(k),L=N.redMul(H);L=L.redIAdd(L).redISub(I);var W=m.redMul(l);t+1<e&&(p=p.redMul(I)),f=k,l=W,m=L}return this.curve.jpoint(f,m.redMul(s),l)},er.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},er.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),f=s.redSqr(),h=this.x.redAdd(s).redSqr().redISub(n).redISub(f);h=h.redIAdd(h);var l=n.redAdd(n).redIAdd(n),p=l.redSqr().redISub(h).redISub(h),m=f.redIAdd(f);m=m.redIAdd(m),m=m.redIAdd(m),e=p,t=l.redMul(h.redISub(p)).redISub(m),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),E=this.y.redSqr(),I=E.redSqr(),N=this.x.redAdd(E).redSqr().redISub(y).redISub(I);N=N.redIAdd(N);var F=y.redAdd(y).redIAdd(y),k=F.redSqr(),H=I.redIAdd(I);H=H.redIAdd(H),H=H.redIAdd(H),e=k.redISub(N).redISub(N),t=F.redMul(N.redISub(e)).redISub(H),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)},er.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),f=s.redSqr(),h=this.x.redAdd(s).redSqr().redISub(n).redISub(f);h=h.redIAdd(h);var l=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),p=l.redSqr().redISub(h).redISub(h);e=p;var m=f.redIAdd(f);m=m.redIAdd(m),m=m.redIAdd(m),t=l.redMul(h.redISub(p)).redISub(m),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),E=this.y.redSqr(),I=this.x.redMul(E),N=this.x.redSub(y).redMul(this.x.redAdd(y));N=N.redAdd(N).redIAdd(N);var F=I.redIAdd(I);F=F.redIAdd(F);var k=F.redAdd(F);e=N.redSqr().redISub(k),i=this.y.redAdd(this.z).redSqr().redISub(E).redISub(y);var H=E.redSqr();H=H.redIAdd(H),H=H.redIAdd(H),H=H.redIAdd(H),t=N.redMul(F.redISub(e)).redISub(H)}return this.curve.jpoint(e,t,i)},er.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),f=t.redSqr(),h=i.redSqr(),l=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(s)),p=t.redAdd(t);p=p.redIAdd(p);var m=p.redMul(h),y=l.redSqr().redISub(m.redAdd(m)),E=m.redISub(y),I=h.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var N=l.redMul(E).redISub(I),F=i.redAdd(i).redMul(n);return this.curve.jpoint(y,N,F)},er.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr(),n=t.redSqr(),s=e.redAdd(e).redIAdd(e),f=s.redSqr(),h=this.x.redAdd(t).redSqr().redISub(e).redISub(n);h=h.redIAdd(h),h=h.redAdd(h).redIAdd(h),h=h.redISub(f);var l=h.redSqr(),p=n.redIAdd(n);p=p.redIAdd(p),p=p.redIAdd(p),p=p.redIAdd(p);var m=s.redIAdd(h).redSqr().redISub(f).redISub(l).redISub(p),y=t.redMul(m);y=y.redIAdd(y),y=y.redIAdd(y);var E=this.x.redMul(l).redISub(y);E=E.redIAdd(E),E=E.redIAdd(E);var I=this.y.redMul(m.redMul(p.redISub(m)).redISub(h.redMul(l)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var N=this.z.redAdd(h).redSqr().redISub(i).redISub(l);return this.curve.jpoint(E,I,N)},er.prototype.mul=function(e,t){return e=new $e(e,t),this.curve._wnafMul(this,e)},er.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var n=t.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},er.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},er.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},er.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var so=ls(function(r,e){var t=e;t.base=In,t.short=Zg,t.mont=null,t.edwards=null}),ao=ls(function(r,e){var t=e,i=Fr.assert;function n(h){h.type==="short"?this.curve=new so.short(h):h.type==="edwards"?this.curve=new so.edwards(h):this.curve=new so.mont(h),this.g=this.curve.g,this.n=this.curve.n,this.hash=h.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}t.PresetCurve=n;function s(h,l){Object.defineProperty(t,h,{configurable:!0,enumerable:!0,get:function(){var p=new n(l);return Object.defineProperty(t,h,{configurable:!0,enumerable:!0,value:p}),p}})}s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:wr.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:wr.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:wr.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:wr.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:wr.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:wr.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:wr.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var f;try{f=null.crash()}catch{f=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:wr.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",f]})});function nn(r){if(!(this instanceof nn))return new nn(r);this.hash=r.hash,this.predResist=!!r.predResist,this.outLen=this.hash.outSize,this.minEntropy=r.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=fi.toArray(r.entropy,r.entropyEnc||"hex"),t=fi.toArray(r.nonce,r.nonceEnc||"hex"),i=fi.toArray(r.pers,r.persEnc||"hex");_f(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var Dd=nn;nn.prototype._init=function(e,t,i){var n=e.concat(t).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},nn.prototype._hmac=function(){return new wr.hmac(this.hash,this.K)},nn.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},nn.prototype.reseed=function(e,t,i,n){typeof t!="string"&&(n=i,i=t,t=null),e=fi.toArray(e,t),i=fi.toArray(i,n),_f(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},nn.prototype.generate=function(e,t,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof t!="string"&&(n=i,i=t,t=null),i&&(i=fi.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var f=s.slice(0,e);return this._update(i),this._reseed++,fi.encode(f,t)};var ec=Fr.assert;function cr(r,e){this.ec=r,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var tc=cr;cr.fromPublic=function(e,t,i){return t instanceof cr?t:new cr(e,{pub:t,pubEnc:i})},cr.fromPrivate=function(e,t,i){return t instanceof cr?t:new cr(e,{priv:t,privEnc:i})},cr.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},cr.prototype.getPublic=function(e,t){return typeof e=="string"&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},cr.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},cr.prototype._importPrivate=function(e,t){this.priv=new $e(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},cr.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?ec(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&ec(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},cr.prototype.derive=function(e){return e.validate()||ec(e.validate(),"public point not validated"),e.mul(this.priv).getX()},cr.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},cr.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},cr.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Wg=Fr.assert;function oo(r,e){if(r instanceof oo)return r;this._importDER(r,e)||(Wg(r.r&&r.s,"Signature without r or s"),this.r=new $e(r.r,16),this.s=new $e(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var fo=oo;function Jg(){this.place=0}function rc(r,e){var t=r[e.place++];if(!(t&128))return t;var i=t&15;if(i===0||i>4)return!1;for(var n=0,s=0,f=e.place;s<i;s++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function Rd(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e<t;)e++;return e===0?r:r.slice(e)}oo.prototype._importDER=function(e,t){e=Fr.toArray(e,t);var i=new Jg;if(e[i.place++]!==48)return!1;var n=rc(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=rc(e,i);if(s===!1)return!1;var f=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var h=rc(e,i);if(h===!1||e.length!==h+i.place)return!1;var l=e.slice(i.place,h+i.place);if(f[0]===0)if(f[1]&128)f=f.slice(1);else return!1;if(l[0]===0)if(l[1]&128)l=l.slice(1);else return!1;return this.r=new $e(f),this.s=new $e(l),this.recoveryParam=null,!0};function ic(r,e){if(e<128){r.push(e);return}var t=1+(Math.log(e)/Math.LN2>>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}oo.prototype.toDER=function(e){var t=this.r.toArray(),i=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),i[0]&128&&(i=[0].concat(i)),t=Rd(t),i=Rd(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];ic(n,t.length),n=n.concat(t),n.push(2),ic(n,i.length);var s=n.concat(i),f=[48];return ic(f,s.length),f=f.concat(s),Fr.encode(f,e)};var Gg=function(){throw new Error("unsupported")},Td=Fr.assert;function Kr(r){if(!(this instanceof Kr))return new Kr(r);typeof r=="string"&&(Td(Object.prototype.hasOwnProperty.call(ao,r),"Unknown curve "+r),r=ao[r]),r instanceof ao.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var Qg=Kr;Kr.prototype.keyPair=function(e){return new tc(this,e)},Kr.prototype.keyFromPrivate=function(e,t){return tc.fromPrivate(this,e,t)},Kr.prototype.keyFromPublic=function(e,t){return tc.fromPublic(this,e,t)},Kr.prototype.genKeyPair=function(e){e||(e={});for(var t=new Dd({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Gg(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new $e(2));;){var s=new $e(t.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Kr.prototype._truncateToN=function(e,t){var i=e.byteLength()*8-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Kr.prototype.sign=function(e,t,i,n){typeof i=="object"&&(n=i,i=null),n||(n={}),t=this.keyFromPrivate(t,i),e=this._truncateToN(new $e(e,16));for(var s=this.n.byteLength(),f=t.getPrivate().toArray("be",s),h=e.toArray("be",s),l=new Dd({hash:this.hash,entropy:f,nonce:h,pers:n.pers,persEnc:n.persEnc||"utf8"}),p=this.n.sub(new $e(1)),m=0;;m++){var y=n.k?n.k(m):new $e(l.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(p)>=0)){var E=this.g.mul(y);if(!E.isInfinity()){var I=E.getX(),N=I.umod(this.n);if(N.cmpn(0)!==0){var F=y.invm(this.n).mul(N.mul(t.getPrivate()).iadd(e));if(F=F.umod(this.n),F.cmpn(0)!==0){var k=(E.getY().isOdd()?1:0)|(I.cmp(N)!==0?2:0);return n.canonical&&F.cmp(this.nh)>0&&(F=this.n.sub(F),k^=1),new fo({r:N,s:F,recoveryParam:k})}}}}}},Kr.prototype.verify=function(e,t,i,n){e=this._truncateToN(new $e(e,16)),i=this.keyFromPublic(i,n),t=new fo(t,"hex");var s=t.r,f=t.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;var h=f.invm(this.n),l=h.mul(e).umod(this.n),p=h.mul(s).umod(this.n),m;return this.curve._maxwellTrick?(m=this.g.jmulAdd(l,i.getPublic(),p),m.isInfinity()?!1:m.eqXToP(s)):(m=this.g.mulAdd(l,i.getPublic(),p),m.isInfinity()?!1:m.getX().umod(this.n).cmp(s)===0)},Kr.prototype.recoverPubKey=function(r,e,t,i){Td((3&t)===t,"The recovery param is more than two bits"),e=new fo(e,i);var n=this.n,s=new $e(r),f=e.r,h=e.s,l=t&1,p=t>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&p)throw new Error("Unable to find sencond key candinate");p?f=this.curve.pointFromX(f.add(this.curve.n),l):f=this.curve.pointFromX(f,l);var m=e.r.invm(n),y=n.sub(s).mul(m).umod(n),E=h.mul(m).umod(n);return this.g.mulAdd(y,f,E)},Kr.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new fo(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(r,e,n)}catch{continue}if(s.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var Yg=ls(function(r,e){var t=e;t.version="6.5.4",t.utils=Fr,t.rand=function(){throw new Error("unsupported")},t.curve=so,t.curves=ao,t.ec=Qg,t.eddsa=null}),Xg=Yg.ec;const _g="signing-key/5.7.0",nc=new tt(_g);let sc=null;function Ei(){return sc||(sc=new Xg("secp256k1")),sc}class $g{constructor(e){Gs(this,"curve","secp256k1"),Gs(this,"privateKey",mr(e)),U3(this.privateKey)!==32&&nc.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=Ei().keyFromPrivate(At(this.privateKey));Gs(this,"publicKey","0x"+t.getPublic(!1,"hex")),Gs(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Gs(this,"_isSigningKey",!0)}_addPoint(e){const t=Ei().keyFromPublic(At(this.publicKey)),i=Ei().keyFromPublic(At(e));return"0x"+t.pub.add(i.pub).encodeCompressed("hex")}signDigest(e){const t=Ei().keyFromPrivate(At(this.privateKey)),i=At(e);i.length!==32&&nc.throwArgumentError("bad digest length","digest",e);const n=t.sign(i,{canonical:!0});return Hh({recoveryParam:n.recoveryParam,r:gi("0x"+n.r.toString(16),32),s:gi("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const t=Ei().keyFromPrivate(At(this.privateKey)),i=Ei().keyFromPublic(At(Cd(e)));return gi("0x"+t.derive(i.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function e4(r,e){const t=Hh(e),i={r:At(t.r),s:At(t.s)};return"0x"+Ei().recoverPubKey(At(r),i,t.recoveryParam).encode("hex",!1)}function Cd(r,e){const t=At(r);if(t.length===32){const i=new $g(t);return e?"0x"+Ei().keyFromPrivate(t).getPublic(!0,"hex"):i.publicKey}else{if(t.length===33)return e?mr(t):"0x"+Ei().keyFromPublic(t).getPublic(!1,"hex");if(t.length===65)return e?"0x"+Ei().keyFromPublic(t).getPublic(!0,"hex"):mr(t)}return nc.throwArgumentError("invalid public or private key","key","[REDACTED]")}const t4="transactions/5.7.0";new tt(t4);var Fd;(function(r){r[r.legacy=0]="legacy",r[r.eip2930=1]="eip2930",r[r.eip1559=2]="eip1559"})(Fd||(Fd={}));function r4(r){const e=Cd(r);return u6(Vh(kf(Vh(e,1)),12))}function i4(r,e){return r4(e4(At(r),e))}var ac={},co={};Object.defineProperty(co,"__esModule",{value:!0});var hr=et,oc=Tr,n4=20;function s4(r,e,t){for(var i=1634760805,n=857760878,s=2036477234,f=1797285236,h=t[3]<<24|t[2]<<16|t[1]<<8|t[0],l=t[7]<<24|t[6]<<16|t[5]<<8|t[4],p=t[11]<<24|t[10]<<16|t[9]<<8|t[8],m=t[15]<<24|t[14]<<16|t[13]<<8|t[12],y=t[19]<<24|t[18]<<16|t[17]<<8|t[16],E=t[23]<<24|t[22]<<16|t[21]<<8|t[20],I=t[27]<<24|t[26]<<16|t[25]<<8|t[24],N=t[31]<<24|t[30]<<16|t[29]<<8|t[28],F=e[3]<<24|e[2]<<16|e[1]<<8|e[0],k=e[7]<<24|e[6]<<16|e[5]<<8|e[4],H=e[11]<<24|e[10]<<16|e[9]<<8|e[8],L=e[15]<<24|e[14]<<16|e[13]<<8|e[12],W=i,z=n,R=s,V=f,S=h,B=l,G=p,ie=m,P=y,o=E,d=I,a=N,u=F,b=k,w=H,A=L,g=0;g<n4;g+=2)W=W+S|0,u^=W,u=u>>>32-16|u<<16,P=P+u|0,S^=P,S=S>>>32-12|S<<12,z=z+B|0,b^=z,b=b>>>32-16|b<<16,o=o+b|0,B^=o,B=B>>>32-12|B<<12,R=R+G|0,w^=R,w=w>>>32-16|w<<16,d=d+w|0,G^=d,G=G>>>32-12|G<<12,V=V+ie|0,A^=V,A=A>>>32-16|A<<16,a=a+A|0,ie^=a,ie=ie>>>32-12|ie<<12,R=R+G|0,w^=R,w=w>>>32-8|w<<8,d=d+w|0,G^=d,G=G>>>32-7|G<<7,V=V+ie|0,A^=V,A=A>>>32-8|A<<8,a=a+A|0,ie^=a,ie=ie>>>32-7|ie<<7,z=z+B|0,b^=z,b=b>>>32-8|b<<8,o=o+b|0,B^=o,B=B>>>32-7|B<<7,W=W+S|0,u^=W,u=u>>>32-8|u<<8,P=P+u|0,S^=P,S=S>>>32-7|S<<7,W=W+B|0,A^=W,A=A>>>32-16|A<<16,d=d+A|0,B^=d,B=B>>>32-12|B<<12,z=z+G|0,u^=z,u=u>>>32-16|u<<16,a=a+u|0,G^=a,G=G>>>32-12|G<<12,R=R+ie|0,b^=R,b=b>>>32-16|b<<16,P=P+b|0,ie^=P,ie=ie>>>32-12|ie<<12,V=V+S|0,w^=V,w=w>>>32-16|w<<16,o=o+w|0,S^=o,S=S>>>32-12|S<<12,R=R+ie|0,b^=R,b=b>>>32-8|b<<8,P=P+b|0,ie^=P,ie=ie>>>32-7|ie<<7,V=V+S|0,w^=V,w=w>>>32-8|w<<8,o=o+w|0,S^=o,S=S>>>32-7|S<<7,z=z+G|0,u^=z,u=u>>>32-8|u<<8,a=a+u|0,G^=a,G=G>>>32-7|G<<7,W=W+B|0,A^=W,A=A>>>32-8|A<<8,d=d+A|0,B^=d,B=B>>>32-7|B<<7;hr.writeUint32LE(W+i|0,r,0),hr.writeUint32LE(z+n|0,r,4),hr.writeUint32LE(R+s|0,r,8),hr.writeUint32LE(V+f|0,r,12),hr.writeUint32LE(S+h|0,r,16),hr.writeUint32LE(B+l|0,r,20),hr.writeUint32LE(G+p|0,r,24),hr.writeUint32LE(ie+m|0,r,28),hr.writeUint32LE(P+y|0,r,32),hr.writeUint32LE(o+E|0,r,36),hr.writeUint32LE(d+I|0,r,40),hr.writeUint32LE(a+N|0,r,44),hr.writeUint32LE(u+F|0,r,48),hr.writeUint32LE(b+k|0,r,52),hr.writeUint32LE(w+H|0,r,56),hr.writeUint32LE(A+L|0,r,60)}function qd(r,e,t,i,n){if(n===void 0&&(n=0),r.length!==32)throw new Error("ChaCha: key size must be 32 bytes");if(i.length<t.length)throw new Error("ChaCha: destination is shorter than source");var s,f;if(n===0){if(e.length!==8&&e.length!==12)throw new Error("ChaCha nonce must be 8 or 12 bytes");s=new Uint8Array(16),f=s.length-e.length,s.set(e,f)}else{if(e.length!==16)throw new Error("ChaCha nonce with counter must be 16 bytes");s=e,f=n}for(var h=new Uint8Array(64),l=0;l<t.length;l+=64){s4(h,s,r);for(var p=l;p<l+64&&p<t.length;p++)i[p]=t[p]^h[p-l];o4(s,0,f)}return oc.wipe(h),n===0&&oc.wipe(s),i}co.streamXOR=qd;function a4(r,e,t,i){return i===void 0&&(i=0),oc.wipe(t),qd(r,e,t,t,i)}co.stream=a4;function o4(r,e,t){for(var i=1;t--;)i=i+(r[e]&255)|0,r[e]=i&255,i>>>=8,e++;if(i>0)throw new Error("ChaCha: counter overflow")}var Ld={},sn={};Object.defineProperty(sn,"__esModule",{value:!0});function f4(r,e,t){return~(r-1)&e|r-1&t}sn.select=f4;function c4(r,e){return(r|0)-(e|0)-1>>>31&1}sn.lessOrEqual=c4;function Bd(r,e){if(r.length!==e.length)return 0;for(var t=0,i=0;i<r.length;i++)t|=r[i]^e[i];return 1&t-1>>>8}sn.compare=Bd;function h4(r,e){return r.length===0||e.length===0?!1:Bd(r,e)!==0}sn.equal=h4,function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=sn,t=Tr;r.DIGEST_LENGTH=16;var i=function(){function f(h){this.digestLength=r.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var l=h[0]|h[1]<<8;this._r[0]=l&8191;var p=h[2]|h[3]<<8;this._r[1]=(l>>>13|p<<3)&8191;var m=h[4]|h[5]<<8;this._r[2]=(p>>>10|m<<6)&7939;var y=h[6]|h[7]<<8;this._r[3]=(m>>>7|y<<9)&8191;var E=h[8]|h[9]<<8;this._r[4]=(y>>>4|E<<12)&255,this._r[5]=E>>>1&8190;var I=h[10]|h[11]<<8;this._r[6]=(E>>>14|I<<2)&8191;var N=h[12]|h[13]<<8;this._r[7]=(I>>>11|N<<5)&8065;var F=h[14]|h[15]<<8;this._r[8]=(N>>>8|F<<8)&8191,this._r[9]=F>>>5&127,this._pad[0]=h[16]|h[17]<<8,this._pad[1]=h[18]|h[19]<<8,this._pad[2]=h[20]|h[21]<<8,this._pad[3]=h[22]|h[23]<<8,this._pad[4]=h[24]|h[25]<<8,this._pad[5]=h[26]|h[27]<<8,this._pad[6]=h[28]|h[29]<<8,this._pad[7]=h[30]|h[31]<<8}return f.prototype._blocks=function(h,l,p){for(var m=this._fin?0:2048,y=this._h[0],E=this._h[1],I=this._h[2],N=this._h[3],F=this._h[4],k=this._h[5],H=this._h[6],L=this._h[7],W=this._h[8],z=this._h[9],R=this._r[0],V=this._r[1],S=this._r[2],B=this._r[3],G=this._r[4],ie=this._r[5],P=this._r[6],o=this._r[7],d=this._r[8],a=this._r[9];p>=16;){var u=h[l+0]|h[l+1]<<8;y+=u&8191;var b=h[l+2]|h[l+3]<<8;E+=(u>>>13|b<<3)&8191;var w=h[l+4]|h[l+5]<<8;I+=(b>>>10|w<<6)&8191;var A=h[l+6]|h[l+7]<<8;N+=(w>>>7|A<<9)&8191;var g=h[l+8]|h[l+9]<<8;F+=(A>>>4|g<<12)&8191,k+=g>>>1&8191;var c=h[l+10]|h[l+11]<<8;H+=(g>>>14|c<<2)&8191;var v=h[l+12]|h[l+13]<<8;L+=(c>>>11|v<<5)&8191;var M=h[l+14]|h[l+15]<<8;W+=(v>>>8|M<<8)&8191,z+=M>>>5|m;var D=0,J=D;J+=y*R,J+=E*(5*a),J+=I*(5*d),J+=N*(5*o),J+=F*(5*P),D=J>>>13,J&=8191,J+=k*(5*ie),J+=H*(5*G),J+=L*(5*B),J+=W*(5*S),J+=z*(5*V),D+=J>>>13,J&=8191;var O=D;O+=y*V,O+=E*R,O+=I*(5*a),O+=N*(5*d),O+=F*(5*o),D=O>>>13,O&=8191,O+=k*(5*P),O+=H*(5*ie),O+=L*(5*G),O+=W*(5*B),O+=z*(5*S),D+=O>>>13,O&=8191;var Z=D;Z+=y*S,Z+=E*V,Z+=I*R,Z+=N*(5*a),Z+=F*(5*d),D=Z>>>13,Z&=8191,Z+=k*(5*o),Z+=H*(5*P),Z+=L*(5*ie),Z+=W*(5*G),Z+=z*(5*B),D+=Z>>>13,Z&=8191;var U=D;U+=y*B,U+=E*S,U+=I*V,U+=N*R,U+=F*(5*a),D=U>>>13,U&=8191,U+=k*(5*d),U+=H*(5*o),U+=L*(5*P),U+=W*(5*ie),U+=z*(5*G),D+=U>>>13,U&=8191;var q=D;q+=y*G,q+=E*B,q+=I*S,q+=N*V,q+=F*R,D=q>>>13,q&=8191,q+=k*(5*a),q+=H*(5*d),q+=L*(5*o),q+=W*(5*P),q+=z*(5*ie),D+=q>>>13,q&=8191;var T=D;T+=y*ie,T+=E*G,T+=I*B,T+=N*S,T+=F*V,D=T>>>13,T&=8191,T+=k*R,T+=H*(5*a),T+=L*(5*d),T+=W*(5*o),T+=z*(5*P),D+=T>>>13,T&=8191;var x=D;x+=y*P,x+=E*ie,x+=I*G,x+=N*B,x+=F*S,D=x>>>13,x&=8191,x+=k*V,x+=H*R,x+=L*(5*a),x+=W*(5*d),x+=z*(5*o),D+=x>>>13,x&=8191;var C=D;C+=y*o,C+=E*P,C+=I*ie,C+=N*G,C+=F*B,D=C>>>13,C&=8191,C+=k*S,C+=H*V,C+=L*R,C+=W*(5*a),C+=z*(5*d),D+=C>>>13,C&=8191;var j=D;j+=y*d,j+=E*o,j+=I*P,j+=N*ie,j+=F*G,D=j>>>13,j&=8191,j+=k*B,j+=H*S,j+=L*V,j+=W*R,j+=z*(5*a),D+=j>>>13,j&=8191;var Q=D;Q+=y*a,Q+=E*d,Q+=I*o,Q+=N*P,Q+=F*ie,D=Q>>>13,Q&=8191,Q+=k*G,Q+=H*B,Q+=L*S,Q+=W*V,Q+=z*R,D+=Q>>>13,Q&=8191,D=(D<<2)+D|0,D=D+J|0,J=D&8191,D=D>>>13,O+=D,y=J,E=O,I=Z,N=U,F=q,k=T,H=x,L=C,W=j,z=Q,l+=16,p-=16}this._h[0]=y,this._h[1]=E,this._h[2]=I,this._h[3]=N,this._h[4]=F,this._h[5]=k,this._h[6]=H,this._h[7]=L,this._h[8]=W,this._h[9]=z},f.prototype.finish=function(h,l){l===void 0&&(l=0);var p=new Uint16Array(10),m,y,E,I;if(this._leftover){for(I=this._leftover,this._buffer[I++]=1;I<16;I++)this._buffer[I]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(m=this._h[1]>>>13,this._h[1]&=8191,I=2;I<10;I++)this._h[I]+=m,m=this._h[I]>>>13,this._h[I]&=8191;for(this._h[0]+=m*5,m=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=m,m=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=m,p[0]=this._h[0]+5,m=p[0]>>>13,p[0]&=8191,I=1;I<10;I++)p[I]=this._h[I]+m,m=p[I]>>>13,p[I]&=8191;for(p[9]-=8192,y=(m^1)-1,I=0;I<10;I++)p[I]&=y;for(y=~y,I=0;I<10;I++)this._h[I]=this._h[I]&y|p[I];for(this._h[0]=(this._h[0]|this._h[1]<<13)&65535,this._h[1]=(this._h[1]>>>3|this._h[2]<<10)&65535,this._h[2]=(this._h[2]>>>6|this._h[3]<<7)&65535,this._h[3]=(this._h[3]>>>9|this._h[4]<<4)&65535,this._h[4]=(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14)&65535,this._h[5]=(this._h[6]>>>2|this._h[7]<<11)&65535,this._h[6]=(this._h[7]>>>5|this._h[8]<<8)&65535,this._h[7]=(this._h[8]>>>8|this._h[9]<<5)&65535,E=this._h[0]+this._pad[0],this._h[0]=E&65535,I=1;I<8;I++)E=(this._h[I]+this._pad[I]|0)+(E>>>16)|0,this._h[I]=E&65535;return h[l+0]=this._h[0]>>>0,h[l+1]=this._h[0]>>>8,h[l+2]=this._h[1]>>>0,h[l+3]=this._h[1]>>>8,h[l+4]=this._h[2]>>>0,h[l+5]=this._h[2]>>>8,h[l+6]=this._h[3]>>>0,h[l+7]=this._h[3]>>>8,h[l+8]=this._h[4]>>>0,h[l+9]=this._h[4]>>>8,h[l+10]=this._h[5]>>>0,h[l+11]=this._h[5]>>>8,h[l+12]=this._h[6]>>>0,h[l+13]=this._h[6]>>>8,h[l+14]=this._h[7]>>>0,h[l+15]=this._h[7]>>>8,this._finished=!0,this},f.prototype.update=function(h){var l=0,p=h.length,m;if(this._leftover){m=16-this._leftover,m>p&&(m=p);for(var y=0;y<m;y++)this._buffer[this._leftover+y]=h[l+y];if(p-=m,l+=m,this._leftover+=m,this._leftover<16)return this;this._blocks(this._buffer,0,16),this._leftover=0}if(p>=16&&(m=p-p%16,this._blocks(h,l,m),l+=m,p-=m),p){for(var y=0;y<p;y++)this._buffer[this._leftover+y]=h[l+y];this._leftover+=p}return this},f.prototype.digest=function(){if(this._finished)throw new Error("Poly1305 was finished");var h=new Uint8Array(16);return this.finish(h),h},f.prototype.clean=function(){return t.wipe(this._buffer),t.wipe(this._r),t.wipe(this._h),t.wipe(this._pad),this._leftover=0,this._fin=0,this._finished=!0,this},f}();r.Poly1305=i;function n(f,h){var l=new i(f);l.update(h);var p=l.digest();return l.clean(),p}r.oneTimeAuth=n;function s(f,h){return f.length!==r.DIGEST_LENGTH||h.length!==r.DIGEST_LENGTH?!1:e.equal(f,h)}r.equal=s}(Ld),function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=co,t=Ld,i=Tr,n=et,s=sn;r.KEY_LENGTH=32,r.NONCE_LENGTH=12,r.TAG_LENGTH=16;var f=new Uint8Array(16),h=function(){function l(p){if(this.nonceLength=r.NONCE_LENGTH,this.tagLength=r.TAG_LENGTH,p.length!==r.KEY_LENGTH)throw new Error("ChaCha20Poly1305 needs 32-byte key");this._key=new Uint8Array(p)}return l.prototype.seal=function(p,m,y,E){if(p.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var I=new Uint8Array(16);I.set(p,I.length-p.length);var N=new Uint8Array(32);e.stream(this._key,I,N,4);var F=m.length+this.tagLength,k;if(E){if(E.length!==F)throw new Error("ChaCha20Poly1305: incorrect destination length");k=E}else k=new Uint8Array(F);return e.streamXOR(this._key,I,m,k,4),this._authenticate(k.subarray(k.length-this.tagLength,k.length),N,k.subarray(0,k.length-this.tagLength),y),i.wipe(I),k},l.prototype.open=function(p,m,y,E){if(p.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(m.length<this.tagLength)return null;var I=new Uint8Array(16);I.set(p,I.length-p.length);var N=new Uint8Array(32);e.stream(this._key,I,N,4);var F=new Uint8Array(this.tagLength);if(this._authenticate(F,N,m.subarray(0,m.length-this.tagLength),y),!s.equal(F,m.subarray(m.length-this.tagLength,m.length)))return null;var k=m.length-this.tagLength,H;if(E){if(E.length!==k)throw new Error("ChaCha20Poly1305: incorrect destination length");H=E}else H=new Uint8Array(k);return e.streamXOR(this._key,I,m.subarray(0,m.length-this.tagLength),H,4),i.wipe(I),H},l.prototype.clean=function(){return i.wipe(this._key),this},l.prototype._authenticate=function(p,m,y,E){var I=new t.Poly1305(m);E&&(I.update(E),E.length%16>0&&I.update(f.subarray(E.length%16))),I.update(y),y.length%16>0&&I.update(f.subarray(y.length%16));var N=new Uint8Array(8);E&&n.writeUint64LE(E.length,N),I.update(N),n.writeUint64LE(y.length,N),I.update(N);for(var F=I.digest(),k=0;k<F.length;k++)p[k]=F[k];I.clean(),i.wipe(F),i.wipe(N)},l}();r.ChaCha20Poly1305=h}(ac);var Ud={},Xs={},fc={};Object.defineProperty(fc,"__esModule",{value:!0});function d4(r){return typeof r.saveState<"u"&&typeof r.restoreState<"u"&&typeof r.cleanSavedState<"u"}fc.isSerializableHash=d4,Object.defineProperty(Xs,"__esModule",{value:!0});var Ii=fc,u4=sn,l4=Tr,zd=function(){function r(e,t){this._finished=!1,this._inner=new e,this._outer=new e,this.blockSize=this._outer.blockSize,this.digestLength=this._outer.digestLength;var i=new Uint8Array(this.blockSize);t.length>this.blockSize?this._inner.update(t).finish(i).clean():i.set(t);for(var n=0;n<i.length;n++)i[n]^=54;this._inner.update(i);for(var n=0;n<i.length;n++)i[n]^=106;this._outer.update(i),Ii.isSerializableHash(this._inner)&&Ii.isSerializableHash(this._outer)&&(this._innerKeyedState=this._inner.saveState(),this._outerKeyedState=this._outer.saveState()),l4.wipe(i)}return r.prototype.reset=function(){if(!Ii.isSerializableHash(this._inner)||!Ii.isSerializableHash(this._outer))throw new Error("hmac: can't reset() because hash doesn't implement restoreState()");return this._inner.restoreState(this._innerKeyedState),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this},r.prototype.clean=function(){Ii.isSerializableHash(this._inner)&&this._inner.cleanSavedState(this._innerKeyedState),Ii.isSerializableHash(this._outer)&&this._outer.cleanSavedState(this._outerKeyedState),this._inner.clean(),this._outer.clean()},r.prototype.update=function(e){return this._inner.update(e),this},r.prototype.finish=function(e){return this._finished?(this._outer.finish(e),this):(this._inner.finish(e),this._outer.update(e.subarray(0,this.digestLength)).finish(e),this._finished=!0,this)},r.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},r.prototype.saveState=function(){if(!Ii.isSerializableHash(this._inner))throw new Error("hmac: can't saveState() because hash doesn't implement it");return this._inner.saveState()},r.prototype.restoreState=function(e){if(!Ii.isSerializableHash(this._inner)||!Ii.isSerializableHash(this._outer))throw new Error("hmac: can't restoreState() because hash doesn't implement it");return this._inner.restoreState(e),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this},r.prototype.cleanSavedState=function(e){if(!Ii.isSerializableHash(this._inner))throw new Error("hmac: can't cleanSavedState() because hash doesn't implement it");this._inner.cleanSavedState(e)},r}();Xs.HMAC=zd;function p4(r,e,t){var i=new zd(r,e);i.update(t);var n=i.digest();return i.clean(),n}Xs.hmac=p4,Xs.equal=u4.equal,Object.defineProperty(Ud,"__esModule",{value:!0});var kd=Xs,Vd=Tr,b4=function(){function r(e,t,i,n){i===void 0&&(i=new Uint8Array(0)),this._counter=new Uint8Array(1),this._hash=e,this._info=n;var s=kd.hmac(this._hash,i,t);this._hmac=new kd.HMAC(e,s),this._buffer=new Uint8Array(this._hmac.digestLength),this._bufpos=this._buffer.length}return r.prototype._fillBuffer=function(){this._counter[0]++;var e=this._counter[0];if(e===0)throw new Error("hkdf: cannot expand more");this._hmac.reset(),e>1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0},r.prototype.expand=function(e){for(var t=new Uint8Array(e),i=0;i<t.length;i++)this._bufpos===this._buffer.length&&this._fillBuffer(),t[i]=this._buffer[this._bufpos++];return t},r.prototype.clean=function(){this._hmac.clean(),Vd.wipe(this._buffer),Vd.wipe(this._counter),this._bufpos=0},r}(),v4=Ud.HKDF=b4,_s={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=et,t=Tr;r.DIGEST_LENGTH=32,r.BLOCK_SIZE=64;var i=function(){function h(){this.digestLength=r.DIGEST_LENGTH,this.blockSize=r.BLOCK_SIZE,this._state=new Int32Array(8),this._temp=new Int32Array(64),this._buffer=new Uint8Array(128),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return h.prototype._initState=function(){this._state[0]=1779033703,this._state[1]=3144134277,this._state[2]=1013904242,this._state[3]=2773480762,this._state[4]=1359893119,this._state[5]=2600822924,this._state[6]=528734635,this._state[7]=1541459225},h.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},h.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._temp),this.reset()},h.prototype.update=function(l,p){if(p===void 0&&(p=l.length),this._finished)throw new Error("SHA256: can't update because hash was finished.");var m=0;if(this._bytesHashed+=p,this._bufferLength>0){for(;this._bufferLength<this.blockSize&&p>0;)this._buffer[this._bufferLength++]=l[m++],p--;this._bufferLength===this.blockSize&&(s(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(p>=this.blockSize&&(m=s(this._temp,this._state,l,m,p),p%=this.blockSize);p>0;)this._buffer[this._bufferLength++]=l[m++],p--;return this},h.prototype.finish=function(l){if(!this._finished){var p=this._bytesHashed,m=this._bufferLength,y=p/536870912|0,E=p<<3,I=p%64<56?64:128;this._buffer[m]=128;for(var N=m+1;N<I-8;N++)this._buffer[N]=0;e.writeUint32BE(y,this._buffer,I-8),e.writeUint32BE(E,this._buffer,I-4),s(this._temp,this._state,this._buffer,0,I),this._finished=!0}for(var N=0;N<this.digestLength/4;N++)e.writeUint32BE(this._state[N],l,N*4);return this},h.prototype.digest=function(){var l=new Uint8Array(this.digestLength);return this.finish(l),l},h.prototype.saveState=function(){if(this._finished)throw new Error("SHA256: cannot save finished state");return{state:new Int32Array(this._state),buffer:this._bufferLength>0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},h.prototype.restoreState=function(l){return this._state.set(l.state),this._bufferLength=l.bufferLength,l.buffer&&this._buffer.set(l.buffer),this._bytesHashed=l.bytesHashed,this._finished=!1,this},h.prototype.cleanSavedState=function(l){t.wipe(l.state),l.buffer&&t.wipe(l.buffer),l.bufferLength=0,l.bytesHashed=0},h}();r.SHA256=i;var n=new Int32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function s(h,l,p,m,y){for(;y>=64;){for(var E=l[0],I=l[1],N=l[2],F=l[3],k=l[4],H=l[5],L=l[6],W=l[7],z=0;z<16;z++){var R=m+z*4;h[z]=e.readUint32BE(p,R)}for(var z=16;z<64;z++){var V=h[z-2],S=(V>>>17|V<<32-17)^(V>>>19|V<<32-19)^V>>>10;V=h[z-15];var B=(V>>>7|V<<32-7)^(V>>>18|V<<32-18)^V>>>3;h[z]=(S+h[z-7]|0)+(B+h[z-16]|0)}for(var z=0;z<64;z++){var S=(((k>>>6|k<<26)^(k>>>11|k<<21)^(k>>>25|k<<7))+(k&H^~k&L)|0)+(W+(n[z]+h[z]|0)|0)|0,B=((E>>>2|E<<32-2)^(E>>>13|E<<32-13)^(E>>>22|E<<32-22))+(E&I^E&N^I&N)|0;W=L,L=H,H=k,k=F+S|0,F=N,N=I,I=E,E=S+B|0}l[0]+=E,l[1]+=I,l[2]+=N,l[3]+=F,l[4]+=k,l[5]+=H,l[6]+=L,l[7]+=W,m+=64,y-=64}return m}function f(h){var l=new i;l.update(h);var p=l.digest();return l.clean(),p}r.hash=f})(_s);var cc={};(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.sharedKey=r.generateKeyPair=r.generateKeyPairFromSeed=r.scalarMultBase=r.scalarMult=r.SHARED_KEY_LENGTH=r.SECRET_KEY_LENGTH=r.PUBLIC_KEY_LENGTH=void 0;const e=$i,t=Tr;r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=32,r.SHARED_KEY_LENGTH=32;function i(z){const R=new Float64Array(16);if(z)for(let V=0;V<z.length;V++)R[V]=z[V];return R}const n=new Uint8Array(32);n[0]=9;const s=i([56129,1]);function f(z){let R=1;for(let V=0;V<16;V++){let S=z[V]+R+65535;R=Math.floor(S/65536),z[V]=S-R*65536}z[0]+=R-1+37*(R-1)}function h(z,R,V){const S=~(V-1);for(let B=0;B<16;B++){const G=S&(z[B]^R[B]);z[B]^=G,R[B]^=G}}function l(z,R){const V=i(),S=i();for(let B=0;B<16;B++)S[B]=R[B];f(S),f(S),f(S);for(let B=0;B<2;B++){V[0]=S[0]-65517;for(let ie=1;ie<15;ie++)V[ie]=S[ie]-65535-(V[ie-1]>>16&1),V[ie-1]&=65535;V[15]=S[15]-32767-(V[14]>>16&1);const G=V[15]>>16&1;V[14]&=65535,h(S,V,1-G)}for(let B=0;B<16;B++)z[2*B]=S[B]&255,z[2*B+1]=S[B]>>8}function p(z,R){for(let V=0;V<16;V++)z[V]=R[2*V]+(R[2*V+1]<<8);z[15]&=32767}function m(z,R,V){for(let S=0;S<16;S++)z[S]=R[S]+V[S]}function y(z,R,V){for(let S=0;S<16;S++)z[S]=R[S]-V[S]}function E(z,R,V){let S,B,G=0,ie=0,P=0,o=0,d=0,a=0,u=0,b=0,w=0,A=0,g=0,c=0,v=0,M=0,D=0,J=0,O=0,Z=0,U=0,q=0,T=0,x=0,C=0,j=0,Q=0,_=0,X=0,ne=0,ae=0,$=0,he=0,Pe=V[0],se=V[1],de=V[2],Se=V[3],re=V[4],ce=V[5],xe=V[6],ee=V[7],ve=V[8],qe=V[9],te=V[10],we=V[11],Ne=V[12],oe=V[13],pe=V[14],ze=V[15];S=R[0],G+=S*Pe,ie+=S*se,P+=S*de,o+=S*Se,d+=S*re,a+=S*ce,u+=S*xe,b+=S*ee,w+=S*ve,A+=S*qe,g+=S*te,c+=S*we,v+=S*Ne,M+=S*oe,D+=S*pe,J+=S*ze,S=R[1],ie+=S*Pe,P+=S*se,o+=S*de,d+=S*Se,a+=S*re,u+=S*ce,b+=S*xe,w+=S*ee,A+=S*ve,g+=S*qe,c+=S*te,v+=S*we,M+=S*Ne,D+=S*oe,J+=S*pe,O+=S*ze,S=R[2],P+=S*Pe,o+=S*se,d+=S*de,a+=S*Se,u+=S*re,b+=S*ce,w+=S*xe,A+=S*ee,g+=S*ve,c+=S*qe,v+=S*te,M+=S*we,D+=S*Ne,J+=S*oe,O+=S*pe,Z+=S*ze,S=R[3],o+=S*Pe,d+=S*se,a+=S*de,u+=S*Se,b+=S*re,w+=S*ce,A+=S*xe,g+=S*ee,c+=S*ve,v+=S*qe,M+=S*te,D+=S*we,J+=S*Ne,O+=S*oe,Z+=S*pe,U+=S*ze,S=R[4],d+=S*Pe,a+=S*se,u+=S*de,b+=S*Se,w+=S*re,A+=S*ce,g+=S*xe,c+=S*ee,v+=S*ve,M+=S*qe,D+=S*te,J+=S*we,O+=S*Ne,Z+=S*oe,U+=S*pe,q+=S*ze,S=R[5],a+=S*Pe,u+=S*se,b+=S*de,w+=S*Se,A+=S*re,g+=S*ce,c+=S*xe,v+=S*ee,M+=S*ve,D+=S*qe,J+=S*te,O+=S*we,Z+=S*Ne,U+=S*oe,q+=S*pe,T+=S*ze,S=R[6],u+=S*Pe,b+=S*se,w+=S*de,A+=S*Se,g+=S*re,c+=S*ce,v+=S*xe,M+=S*ee,D+=S*ve,J+=S*qe,O+=S*te,Z+=S*we,U+=S*Ne,q+=S*oe,T+=S*pe,x+=S*ze,S=R[7],b+=S*Pe,w+=S*se,A+=S*de,g+=S*Se,c+=S*re,v+=S*ce,M+=S*xe,D+=S*ee,J+=S*ve,O+=S*qe,Z+=S*te,U+=S*we,q+=S*Ne,T+=S*oe,x+=S*pe,C+=S*ze,S=R[8],w+=S*Pe,A+=S*se,g+=S*de,c+=S*Se,v+=S*re,M+=S*ce,D+=S*xe,J+=S*ee,O+=S*ve,Z+=S*qe,U+=S*te,q+=S*we,T+=S*Ne,x+=S*oe,C+=S*pe,j+=S*ze,S=R[9],A+=S*Pe,g+=S*se,c+=S*de,v+=S*Se,M+=S*re,D+=S*ce,J+=S*xe,O+=S*ee,Z+=S*ve,U+=S*qe,q+=S*te,T+=S*we,x+=S*Ne,C+=S*oe,j+=S*pe,Q+=S*ze,S=R[10],g+=S*Pe,c+=S*se,v+=S*de,M+=S*Se,D+=S*re,J+=S*ce,O+=S*xe,Z+=S*ee,U+=S*ve,q+=S*qe,T+=S*te,x+=S*we,C+=S*Ne,j+=S*oe,Q+=S*pe,_+=S*ze,S=R[11],c+=S*Pe,v+=S*se,M+=S*de,D+=S*Se,J+=S*re,O+=S*ce,Z+=S*xe,U+=S*ee,q+=S*ve,T+=S*qe,x+=S*te,C+=S*we,j+=S*Ne,Q+=S*oe,_+=S*pe,X+=S*ze,S=R[12],v+=S*Pe,M+=S*se,D+=S*de,J+=S*Se,O+=S*re,Z+=S*ce,U+=S*xe,q+=S*ee,T+=S*ve,x+=S*qe,C+=S*te,j+=S*we,Q+=S*Ne,_+=S*oe,X+=S*pe,ne+=S*ze,S=R[13],M+=S*Pe,D+=S*se,J+=S*de,O+=S*Se,Z+=S*re,U+=S*ce,q+=S*xe,T+=S*ee,x+=S*ve,C+=S*qe,j+=S*te,Q+=S*we,_+=S*Ne,X+=S*oe,ne+=S*pe,ae+=S*ze,S=R[14],D+=S*Pe,J+=S*se,O+=S*de,Z+=S*Se,U+=S*re,q+=S*ce,T+=S*xe,x+=S*ee,C+=S*ve,j+=S*qe,Q+=S*te,_+=S*we,X+=S*Ne,ne+=S*oe,ae+=S*pe,$+=S*ze,S=R[15],J+=S*Pe,O+=S*se,Z+=S*de,U+=S*Se,q+=S*re,T+=S*ce,x+=S*xe,C+=S*ee,j+=S*ve,Q+=S*qe,_+=S*te,X+=S*we,ne+=S*Ne,ae+=S*oe,$+=S*pe,he+=S*ze,G+=38*O,ie+=38*Z,P+=38*U,o+=38*q,d+=38*T,a+=38*x,u+=38*C,b+=38*j,w+=38*Q,A+=38*_,g+=38*X,c+=38*ne,v+=38*ae,M+=38*$,D+=38*he,B=1,S=G+B+65535,B=Math.floor(S/65536),G=S-B*65536,S=ie+B+65535,B=Math.floor(S/65536),ie=S-B*65536,S=P+B+65535,B=Math.floor(S/65536),P=S-B*65536,S=o+B+65535,B=Math.floor(S/65536),o=S-B*65536,S=d+B+65535,B=Math.floor(S/65536),d=S-B*65536,S=a+B+65535,B=Math.floor(S/65536),a=S-B*65536,S=u+B+65535,B=Math.floor(S/65536),u=S-B*65536,S=b+B+65535,B=Math.floor(S/65536),b=S-B*65536,S=w+B+65535,B=Math.floor(S/65536),w=S-B*65536,S=A+B+65535,B=Math.floor(S/65536),A=S-B*65536,S=g+B+65535,B=Math.floor(S/65536),g=S-B*65536,S=c+B+65535,B=Math.floor(S/65536),c=S-B*65536,S=v+B+65535,B=Math.floor(S/65536),v=S-B*65536,S=M+B+65535,B=Math.floor(S/65536),M=S-B*65536,S=D+B+65535,B=Math.floor(S/65536),D=S-B*65536,S=J+B+65535,B=Math.floor(S/65536),J=S-B*65536,G+=B-1+37*(B-1),B=1,S=G+B+65535,B=Math.floor(S/65536),G=S-B*65536,S=ie+B+65535,B=Math.floor(S/65536),ie=S-B*65536,S=P+B+65535,B=Math.floor(S/65536),P=S-B*65536,S=o+B+65535,B=Math.floor(S/65536),o=S-B*65536,S=d+B+65535,B=Math.floor(S/65536),d=S-B*65536,S=a+B+65535,B=Math.floor(S/65536),a=S-B*65536,S=u+B+65535,B=Math.floor(S/65536),u=S-B*65536,S=b+B+65535,B=Math.floor(S/65536),b=S-B*65536,S=w+B+65535,B=Math.floor(S/65536),w=S-B*65536,S=A+B+65535,B=Math.floor(S/65536),A=S-B*65536,S=g+B+65535,B=Math.floor(S/65536),g=S-B*65536,S=c+B+65535,B=Math.floor(S/65536),c=S-B*65536,S=v+B+65535,B=Math.floor(S/65536),v=S-B*65536,S=M+B+65535,B=Math.floor(S/65536),M=S-B*65536,S=D+B+65535,B=Math.floor(S/65536),D=S-B*65536,S=J+B+65535,B=Math.floor(S/65536),J=S-B*65536,G+=B-1+37*(B-1),z[0]=G,z[1]=ie,z[2]=P,z[3]=o,z[4]=d,z[5]=a,z[6]=u,z[7]=b,z[8]=w,z[9]=A,z[10]=g,z[11]=c,z[12]=v,z[13]=M,z[14]=D,z[15]=J}function I(z,R){E(z,R,R)}function N(z,R){const V=i();for(let S=0;S<16;S++)V[S]=R[S];for(let S=253;S>=0;S--)I(V,V),S!==2&&S!==4&&E(V,V,R);for(let S=0;S<16;S++)z[S]=V[S]}function F(z,R){const V=new Uint8Array(32),S=new Float64Array(80),B=i(),G=i(),ie=i(),P=i(),o=i(),d=i();for(let w=0;w<31;w++)V[w]=z[w];V[31]=z[31]&127|64,V[0]&=248,p(S,R);for(let w=0;w<16;w++)G[w]=S[w];B[0]=P[0]=1;for(let w=254;w>=0;--w){const A=V[w>>>3]>>>(w&7)&1;h(B,G,A),h(ie,P,A),m(o,B,ie),y(B,B,ie),m(ie,G,P),y(G,G,P),I(P,o),I(d,B),E(B,ie,B),E(ie,G,o),m(o,B,ie),y(B,B,ie),I(G,B),y(ie,P,d),E(B,ie,s),m(B,B,P),E(ie,ie,B),E(B,P,d),E(P,G,S),I(G,o),h(B,G,A),h(ie,P,A)}for(let w=0;w<16;w++)S[w+16]=B[w],S[w+32]=ie[w],S[w+48]=G[w],S[w+64]=P[w];const a=S.subarray(32),u=S.subarray(16);N(a,a),E(u,u,a);const b=new Uint8Array(32);return l(b,u),b}r.scalarMult=F;function k(z){return F(z,n)}r.scalarMultBase=k;function H(z){if(z.length!==r.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${r.SECRET_KEY_LENGTH} bytes`);const R=new Uint8Array(z);return{publicKey:k(R),secretKey:R}}r.generateKeyPairFromSeed=H;function L(z){const R=(0,e.randomBytes)(32,z),V=H(R);return(0,t.wipe)(R),V}r.generateKeyPair=L;function W(z,R,V=!1){if(z.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(R.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const S=F(z,R);if(V){let B=0;for(let G=0;G<S.length;G++)B|=S[G];if(B===0)throw new Error("X25519: invalid shared key")}return S}r.sharedKey=W})(cc);var Hd={},g4="elliptic",m4="6.6.1",y4="EC cryptography",w4="lib/elliptic.js",x4=["lib"],A4={lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},M4={type:"git",url:"git@github.com:indutny/elliptic"},S4=["EC","Elliptic","curve","Cryptography"],E4="Fedor Indutny <fedor@indutny.com>",I4="MIT",P4={url:"https://github.com/indutny/elliptic/issues"},O4="https://github.com/indutny/elliptic",N4={brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},D4={"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},R4={name:g4,version:m4,description:y4,main:w4,files:x4,scripts:A4,repository:M4,keywords:S4,author:E4,license:I4,bugs:P4,homepage:O4,devDependencies:N4,dependencies:D4},qr={},Pi={exports:{}};(function(r){(function(e,t){function i(P,o){if(!P)throw new Error(o||"Assertion failed")}function n(P,o){P.super_=o;var d=function(){};d.prototype=o.prototype,P.prototype=new d,P.prototype.constructor=P}function s(P,o,d){if(s.isBN(P))return P;this.negative=0,this.words=null,this.length=0,this.red=null,P!==null&&((o==="le"||o==="be")&&(d=o,o=10),this._init(P||0,o||10,d||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=ks.Buffer}catch{}s.isBN=function(o){return o instanceof s?!0:o!==null&&typeof o=="object"&&o.constructor.wordSize===s.wordSize&&Array.isArray(o.words)},s.max=function(o,d){return o.cmp(d)>0?o:d},s.min=function(o,d){return o.cmp(d)<0?o:d},s.prototype._init=function(o,d,a){if(typeof o=="number")return this._initNumber(o,d,a);if(typeof o=="object")return this._initArray(o,d,a);d==="hex"&&(d=16),i(d===(d|0)&&d>=2&&d<=36),o=o.toString().replace(/\s+/g,"");var u=0;o[0]==="-"&&(u++,this.negative=1),u<o.length&&(d===16?this._parseHex(o,u,a):(this._parseBase(o,d,u),a==="le"&&this._initArray(this.toArray(),d,a)))},s.prototype._initNumber=function(o,d,a){o<0&&(this.negative=1,o=-o),o<67108864?(this.words=[o&67108863],this.length=1):o<4503599627370496?(this.words=[o&67108863,o/67108864&67108863],this.length=2):(i(o<9007199254740992),this.words=[o&67108863,o/67108864&67108863,1],this.length=3),a==="le"&&this._initArray(this.toArray(),d,a)},s.prototype._initArray=function(o,d,a){if(i(typeof o.length=="number"),o.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(o.length/3),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b,w,A=0;if(a==="be")for(u=o.length-1,b=0;u>=0;u-=3)w=o[u]|o[u-1]<<8|o[u-2]<<16,this.words[b]|=w<<A&67108863,this.words[b+1]=w>>>26-A&67108863,A+=24,A>=26&&(A-=26,b++);else if(a==="le")for(u=0,b=0;u<o.length;u+=3)w=o[u]|o[u+1]<<8|o[u+2]<<16,this.words[b]|=w<<A&67108863,this.words[b+1]=w>>>26-A&67108863,A+=24,A>=26&&(A-=26,b++);return this.strip()};function h(P,o){var d=P.charCodeAt(o);return d>=65&&d<=70?d-55:d>=97&&d<=102?d-87:d-48&15}function l(P,o,d){var a=h(P,d);return d-1>=o&&(a|=h(P,d-1)<<4),a}s.prototype._parseHex=function(o,d,a){this.length=Math.ceil((o.length-d)/6),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b=0,w=0,A;if(a==="be")for(u=o.length-1;u>=d;u-=2)A=l(o,d,u)<<b,this.words[w]|=A&67108863,b>=18?(b-=18,w+=1,this.words[w]|=A>>>26):b+=8;else{var g=o.length-d;for(u=g%2===0?d+1:d;u<o.length;u+=2)A=l(o,d,u)<<b,this.words[w]|=A&67108863,b>=18?(b-=18,w+=1,this.words[w]|=A>>>26):b+=8}this.strip()};function p(P,o,d,a){for(var u=0,b=Math.min(P.length,d),w=o;w<b;w++){var A=P.charCodeAt(w)-48;u*=a,A>=49?u+=A-49+10:A>=17?u+=A-17+10:u+=A}return u}s.prototype._parseBase=function(o,d,a){this.words=[0],this.length=1;for(var u=0,b=1;b<=67108863;b*=d)u++;u--,b=b/d|0;for(var w=o.length-a,A=w%u,g=Math.min(w,w-A)+a,c=0,v=a;v<g;v+=u)c=p(o,v,v+u,d),this.imuln(b),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(A!==0){var M=1;for(c=p(o,v,o.length,d),v=0;v<A;v++)M*=d;this.imuln(M),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this.strip()},s.prototype.copy=function(o){o.words=new Array(this.length);for(var d=0;d<this.length;d++)o.words[d]=this.words[d];o.length=this.length,o.negative=this.negative,o.red=this.red},s.prototype.clone=function(){var o=new s(null);return this.copy(o),o},s.prototype._expand=function(o){for(;this.length<o;)this.words[this.length++]=0;return this},s.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var m=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],y=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(o,d){o=o||10,d=d|0||1;var a;if(o===16||o==="hex"){a="";for(var u=0,b=0,w=0;w<this.length;w++){var A=this.words[w],g=((A<<u|b)&16777215).toString(16);b=A>>>24-u&16777215,u+=2,u>=26&&(u-=26,w--),b!==0||w!==this.length-1?a=m[6-g.length]+g+a:a=g+a}for(b!==0&&(a=b.toString(16)+a);a.length%d!==0;)a="0"+a;return this.negative!==0&&(a="-"+a),a}if(o===(o|0)&&o>=2&&o<=36){var c=y[o],v=E[o];a="";var M=this.clone();for(M.negative=0;!M.isZero();){var D=M.modn(v).toString(o);M=M.idivn(v),M.isZero()?a=D+a:a=m[c-D.length]+D+a}for(this.isZero()&&(a="0"+a);a.length%d!==0;)a="0"+a;return this.negative!==0&&(a="-"+a),a}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var o=this.words[0];return this.length===2?o+=this.words[1]*67108864:this.length===3&&this.words[2]===1?o+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-o:o},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(o,d){return i(typeof f<"u"),this.toArrayLike(f,o,d)},s.prototype.toArray=function(o,d){return this.toArrayLike(Array,o,d)},s.prototype.toArrayLike=function(o,d,a){var u=this.byteLength(),b=a||Math.max(1,u);i(u<=b,"byte array longer than desired length"),i(b>0,"Requested array length <= 0"),this.strip();var w=d==="le",A=new o(b),g,c,v=this.clone();if(w){for(c=0;!v.isZero();c++)g=v.andln(255),v.iushrn(8),A[c]=g;for(;c<b;c++)A[c]=0}else{for(c=0;c<b-u;c++)A[c]=0;for(c=0;!v.isZero();c++)g=v.andln(255),v.iushrn(8),A[b-c-1]=g}return A},Math.clz32?s.prototype._countBits=function(o){return 32-Math.clz32(o)}:s.prototype._countBits=function(o){var d=o,a=0;return d>=4096&&(a+=13,d>>>=13),d>=64&&(a+=7,d>>>=7),d>=8&&(a+=4,d>>>=4),d>=2&&(a+=2,d>>>=2),a+d},s.prototype._zeroBits=function(o){if(o===0)return 26;var d=o,a=0;return d&8191||(a+=13,d>>>=13),d&127||(a+=7,d>>>=7),d&15||(a+=4,d>>>=4),d&3||(a+=2,d>>>=2),d&1||a++,a},s.prototype.bitLength=function(){var o=this.words[this.length-1],d=this._countBits(o);return(this.length-1)*26+d};function I(P){for(var o=new Array(P.bitLength()),d=0;d<o.length;d++){var a=d/26|0,u=d%26;o[d]=(P.words[a]&1<<u)>>>u}return o}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var o=0,d=0;d<this.length;d++){var a=this._zeroBits(this.words[d]);if(o+=a,a!==26)break}return o},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(o){return this.negative!==0?this.abs().inotn(o).iaddn(1):this.clone()},s.prototype.fromTwos=function(o){return this.testn(o-1)?this.notn(o).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(o){for(;this.length<o.length;)this.words[this.length++]=0;for(var d=0;d<o.length;d++)this.words[d]=this.words[d]|o.words[d];return this.strip()},s.prototype.ior=function(o){return i((this.negative|o.negative)===0),this.iuor(o)},s.prototype.or=function(o){return this.length>o.length?this.clone().ior(o):o.clone().ior(this)},s.prototype.uor=function(o){return this.length>o.length?this.clone().iuor(o):o.clone().iuor(this)},s.prototype.iuand=function(o){var d;this.length>o.length?d=o:d=this;for(var a=0;a<d.length;a++)this.words[a]=this.words[a]&o.words[a];return this.length=d.length,this.strip()},s.prototype.iand=function(o){return i((this.negative|o.negative)===0),this.iuand(o)},s.prototype.and=function(o){return this.length>o.length?this.clone().iand(o):o.clone().iand(this)},s.prototype.uand=function(o){return this.length>o.length?this.clone().iuand(o):o.clone().iuand(this)},s.prototype.iuxor=function(o){var d,a;this.length>o.length?(d=this,a=o):(d=o,a=this);for(var u=0;u<a.length;u++)this.words[u]=d.words[u]^a.words[u];if(this!==d)for(;u<d.length;u++)this.words[u]=d.words[u];return this.length=d.length,this.strip()},s.prototype.ixor=function(o){return i((this.negative|o.negative)===0),this.iuxor(o)},s.prototype.xor=function(o){return this.length>o.length?this.clone().ixor(o):o.clone().ixor(this)},s.prototype.uxor=function(o){return this.length>o.length?this.clone().iuxor(o):o.clone().iuxor(this)},s.prototype.inotn=function(o){i(typeof o=="number"&&o>=0);var d=Math.ceil(o/26)|0,a=o%26;this._expand(d),a>0&&d--;for(var u=0;u<d;u++)this.words[u]=~this.words[u]&67108863;return a>0&&(this.words[u]=~this.words[u]&67108863>>26-a),this.strip()},s.prototype.notn=function(o){return this.clone().inotn(o)},s.prototype.setn=function(o,d){i(typeof o=="number"&&o>=0);var a=o/26|0,u=o%26;return this._expand(a+1),d?this.words[a]=this.words[a]|1<<u:this.words[a]=this.words[a]&~(1<<u),this.strip()},s.prototype.iadd=function(o){var d;if(this.negative!==0&&o.negative===0)return this.negative=0,d=this.isub(o),this.negative^=1,this._normSign();if(this.negative===0&&o.negative!==0)return o.negative=0,d=this.isub(o),o.negative=1,d._normSign();var a,u;this.length>o.length?(a=this,u=o):(a=o,u=this);for(var b=0,w=0;w<u.length;w++)d=(a.words[w]|0)+(u.words[w]|0)+b,this.words[w]=d&67108863,b=d>>>26;for(;b!==0&&w<a.length;w++)d=(a.words[w]|0)+b,this.words[w]=d&67108863,b=d>>>26;if(this.length=a.length,b!==0)this.words[this.length]=b,this.length++;else if(a!==this)for(;w<a.length;w++)this.words[w]=a.words[w];return this},s.prototype.add=function(o){var d;return o.negative!==0&&this.negative===0?(o.negative=0,d=this.sub(o),o.negative^=1,d):o.negative===0&&this.negative!==0?(this.negative=0,d=o.sub(this),this.negative=1,d):this.length>o.length?this.clone().iadd(o):o.clone().iadd(this)},s.prototype.isub=function(o){if(o.negative!==0){o.negative=0;var d=this.iadd(o);return o.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(o),this.negative=1,this._normSign();var a=this.cmp(o);if(a===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,b;a>0?(u=this,b=o):(u=o,b=this);for(var w=0,A=0;A<b.length;A++)d=(u.words[A]|0)-(b.words[A]|0)+w,w=d>>26,this.words[A]=d&67108863;for(;w!==0&&A<u.length;A++)d=(u.words[A]|0)+w,w=d>>26,this.words[A]=d&67108863;if(w===0&&A<u.length&&u!==this)for(;A<u.length;A++)this.words[A]=u.words[A];return this.length=Math.max(this.length,A),u!==this&&(this.negative=1),this.strip()},s.prototype.sub=function(o){return this.clone().isub(o)};function N(P,o,d){d.negative=o.negative^P.negative;var a=P.length+o.length|0;d.length=a,a=a-1|0;var u=P.words[0]|0,b=o.words[0]|0,w=u*b,A=w&67108863,g=w/67108864|0;d.words[0]=A;for(var c=1;c<a;c++){for(var v=g>>>26,M=g&67108863,D=Math.min(c,o.length-1),J=Math.max(0,c-P.length+1);J<=D;J++){var O=c-J|0;u=P.words[O]|0,b=o.words[J]|0,w=u*b+M,v+=w/67108864|0,M=w&67108863}d.words[c]=M|0,g=v|0}return g!==0?d.words[c]=g|0:d.length--,d.strip()}var F=function(o,d,a){var u=o.words,b=d.words,w=a.words,A=0,g,c,v,M=u[0]|0,D=M&8191,J=M>>>13,O=u[1]|0,Z=O&8191,U=O>>>13,q=u[2]|0,T=q&8191,x=q>>>13,C=u[3]|0,j=C&8191,Q=C>>>13,_=u[4]|0,X=_&8191,ne=_>>>13,ae=u[5]|0,$=ae&8191,he=ae>>>13,Pe=u[6]|0,se=Pe&8191,de=Pe>>>13,Se=u[7]|0,re=Se&8191,ce=Se>>>13,xe=u[8]|0,ee=xe&8191,ve=xe>>>13,qe=u[9]|0,te=qe&8191,we=qe>>>13,Ne=b[0]|0,oe=Ne&8191,pe=Ne>>>13,ze=b[1]|0,Ae=ze&8191,ke=ze>>>13,_e=b[2]|0,Me=_e&8191,Ke=_e>>>13,it=b[3]|0,Oe=it&8191,Ce=it>>>13,je=b[4]|0,be=je&8191,Fe=je>>>13,Je=b[5]|0,le=Je&8191,Be=Je>>>13,Ge=b[6]|0,ge=Ge&8191,Le=Ge>>>13,Qe=b[7]|0,ue=Qe&8191,Re=Qe>>>13,He=b[8]|0,me=He&8191,Ue=He>>>13,ft=b[9]|0,Te=ft&8191,Ze=ft>>>13;a.negative=o.negative^d.negative,a.length=19,g=Math.imul(D,oe),c=Math.imul(D,pe),c=c+Math.imul(J,oe)|0,v=Math.imul(J,pe);var Xe=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Xe>>>26)|0,Xe&=67108863,g=Math.imul(Z,oe),c=Math.imul(Z,pe),c=c+Math.imul(U,oe)|0,v=Math.imul(U,pe),g=g+Math.imul(D,Ae)|0,c=c+Math.imul(D,ke)|0,c=c+Math.imul(J,Ae)|0,v=v+Math.imul(J,ke)|0;var nt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(nt>>>26)|0,nt&=67108863,g=Math.imul(T,oe),c=Math.imul(T,pe),c=c+Math.imul(x,oe)|0,v=Math.imul(x,pe),g=g+Math.imul(Z,Ae)|0,c=c+Math.imul(Z,ke)|0,c=c+Math.imul(U,Ae)|0,v=v+Math.imul(U,ke)|0,g=g+Math.imul(D,Me)|0,c=c+Math.imul(D,Ke)|0,c=c+Math.imul(J,Me)|0,v=v+Math.imul(J,Ke)|0;var It=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(It>>>26)|0,It&=67108863,g=Math.imul(j,oe),c=Math.imul(j,pe),c=c+Math.imul(Q,oe)|0,v=Math.imul(Q,pe),g=g+Math.imul(T,Ae)|0,c=c+Math.imul(T,ke)|0,c=c+Math.imul(x,Ae)|0,v=v+Math.imul(x,ke)|0,g=g+Math.imul(Z,Me)|0,c=c+Math.imul(Z,Ke)|0,c=c+Math.imul(U,Me)|0,v=v+Math.imul(U,Ke)|0,g=g+Math.imul(D,Oe)|0,c=c+Math.imul(D,Ce)|0,c=c+Math.imul(J,Oe)|0,v=v+Math.imul(J,Ce)|0;var ct=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(ct>>>26)|0,ct&=67108863,g=Math.imul(X,oe),c=Math.imul(X,pe),c=c+Math.imul(ne,oe)|0,v=Math.imul(ne,pe),g=g+Math.imul(j,Ae)|0,c=c+Math.imul(j,ke)|0,c=c+Math.imul(Q,Ae)|0,v=v+Math.imul(Q,ke)|0,g=g+Math.imul(T,Me)|0,c=c+Math.imul(T,Ke)|0,c=c+Math.imul(x,Me)|0,v=v+Math.imul(x,Ke)|0,g=g+Math.imul(Z,Oe)|0,c=c+Math.imul(Z,Ce)|0,c=c+Math.imul(U,Oe)|0,v=v+Math.imul(U,Ce)|0,g=g+Math.imul(D,be)|0,c=c+Math.imul(D,Fe)|0,c=c+Math.imul(J,be)|0,v=v+Math.imul(J,Fe)|0;var ht=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(ht>>>26)|0,ht&=67108863,g=Math.imul($,oe),c=Math.imul($,pe),c=c+Math.imul(he,oe)|0,v=Math.imul(he,pe),g=g+Math.imul(X,Ae)|0,c=c+Math.imul(X,ke)|0,c=c+Math.imul(ne,Ae)|0,v=v+Math.imul(ne,ke)|0,g=g+Math.imul(j,Me)|0,c=c+Math.imul(j,Ke)|0,c=c+Math.imul(Q,Me)|0,v=v+Math.imul(Q,Ke)|0,g=g+Math.imul(T,Oe)|0,c=c+Math.imul(T,Ce)|0,c=c+Math.imul(x,Oe)|0,v=v+Math.imul(x,Ce)|0,g=g+Math.imul(Z,be)|0,c=c+Math.imul(Z,Fe)|0,c=c+Math.imul(U,be)|0,v=v+Math.imul(U,Fe)|0,g=g+Math.imul(D,le)|0,c=c+Math.imul(D,Be)|0,c=c+Math.imul(J,le)|0,v=v+Math.imul(J,Be)|0;var lt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(lt>>>26)|0,lt&=67108863,g=Math.imul(se,oe),c=Math.imul(se,pe),c=c+Math.imul(de,oe)|0,v=Math.imul(de,pe),g=g+Math.imul($,Ae)|0,c=c+Math.imul($,ke)|0,c=c+Math.imul(he,Ae)|0,v=v+Math.imul(he,ke)|0,g=g+Math.imul(X,Me)|0,c=c+Math.imul(X,Ke)|0,c=c+Math.imul(ne,Me)|0,v=v+Math.imul(ne,Ke)|0,g=g+Math.imul(j,Oe)|0,c=c+Math.imul(j,Ce)|0,c=c+Math.imul(Q,Oe)|0,v=v+Math.imul(Q,Ce)|0,g=g+Math.imul(T,be)|0,c=c+Math.imul(T,Fe)|0,c=c+Math.imul(x,be)|0,v=v+Math.imul(x,Fe)|0,g=g+Math.imul(Z,le)|0,c=c+Math.imul(Z,Be)|0,c=c+Math.imul(U,le)|0,v=v+Math.imul(U,Be)|0,g=g+Math.imul(D,ge)|0,c=c+Math.imul(D,Le)|0,c=c+Math.imul(J,ge)|0,v=v+Math.imul(J,Le)|0;var dt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(dt>>>26)|0,dt&=67108863,g=Math.imul(re,oe),c=Math.imul(re,pe),c=c+Math.imul(ce,oe)|0,v=Math.imul(ce,pe),g=g+Math.imul(se,Ae)|0,c=c+Math.imul(se,ke)|0,c=c+Math.imul(de,Ae)|0,v=v+Math.imul(de,ke)|0,g=g+Math.imul($,Me)|0,c=c+Math.imul($,Ke)|0,c=c+Math.imul(he,Me)|0,v=v+Math.imul(he,Ke)|0,g=g+Math.imul(X,Oe)|0,c=c+Math.imul(X,Ce)|0,c=c+Math.imul(ne,Oe)|0,v=v+Math.imul(ne,Ce)|0,g=g+Math.imul(j,be)|0,c=c+Math.imul(j,Fe)|0,c=c+Math.imul(Q,be)|0,v=v+Math.imul(Q,Fe)|0,g=g+Math.imul(T,le)|0,c=c+Math.imul(T,Be)|0,c=c+Math.imul(x,le)|0,v=v+Math.imul(x,Be)|0,g=g+Math.imul(Z,ge)|0,c=c+Math.imul(Z,Le)|0,c=c+Math.imul(U,ge)|0,v=v+Math.imul(U,Le)|0,g=g+Math.imul(D,ue)|0,c=c+Math.imul(D,Re)|0,c=c+Math.imul(J,ue)|0,v=v+Math.imul(J,Re)|0;var Rt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,g=Math.imul(ee,oe),c=Math.imul(ee,pe),c=c+Math.imul(ve,oe)|0,v=Math.imul(ve,pe),g=g+Math.imul(re,Ae)|0,c=c+Math.imul(re,ke)|0,c=c+Math.imul(ce,Ae)|0,v=v+Math.imul(ce,ke)|0,g=g+Math.imul(se,Me)|0,c=c+Math.imul(se,Ke)|0,c=c+Math.imul(de,Me)|0,v=v+Math.imul(de,Ke)|0,g=g+Math.imul($,Oe)|0,c=c+Math.imul($,Ce)|0,c=c+Math.imul(he,Oe)|0,v=v+Math.imul(he,Ce)|0,g=g+Math.imul(X,be)|0,c=c+Math.imul(X,Fe)|0,c=c+Math.imul(ne,be)|0,v=v+Math.imul(ne,Fe)|0,g=g+Math.imul(j,le)|0,c=c+Math.imul(j,Be)|0,c=c+Math.imul(Q,le)|0,v=v+Math.imul(Q,Be)|0,g=g+Math.imul(T,ge)|0,c=c+Math.imul(T,Le)|0,c=c+Math.imul(x,ge)|0,v=v+Math.imul(x,Le)|0,g=g+Math.imul(Z,ue)|0,c=c+Math.imul(Z,Re)|0,c=c+Math.imul(U,ue)|0,v=v+Math.imul(U,Re)|0,g=g+Math.imul(D,me)|0,c=c+Math.imul(D,Ue)|0,c=c+Math.imul(J,me)|0,v=v+Math.imul(J,Ue)|0;var Ft=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Ft>>>26)|0,Ft&=67108863,g=Math.imul(te,oe),c=Math.imul(te,pe),c=c+Math.imul(we,oe)|0,v=Math.imul(we,pe),g=g+Math.imul(ee,Ae)|0,c=c+Math.imul(ee,ke)|0,c=c+Math.imul(ve,Ae)|0,v=v+Math.imul(ve,ke)|0,g=g+Math.imul(re,Me)|0,c=c+Math.imul(re,Ke)|0,c=c+Math.imul(ce,Me)|0,v=v+Math.imul(ce,Ke)|0,g=g+Math.imul(se,Oe)|0,c=c+Math.imul(se,Ce)|0,c=c+Math.imul(de,Oe)|0,v=v+Math.imul(de,Ce)|0,g=g+Math.imul($,be)|0,c=c+Math.imul($,Fe)|0,c=c+Math.imul(he,be)|0,v=v+Math.imul(he,Fe)|0,g=g+Math.imul(X,le)|0,c=c+Math.imul(X,Be)|0,c=c+Math.imul(ne,le)|0,v=v+Math.imul(ne,Be)|0,g=g+Math.imul(j,ge)|0,c=c+Math.imul(j,Le)|0,c=c+Math.imul(Q,ge)|0,v=v+Math.imul(Q,Le)|0,g=g+Math.imul(T,ue)|0,c=c+Math.imul(T,Re)|0,c=c+Math.imul(x,ue)|0,v=v+Math.imul(x,Re)|0,g=g+Math.imul(Z,me)|0,c=c+Math.imul(Z,Ue)|0,c=c+Math.imul(U,me)|0,v=v+Math.imul(U,Ue)|0,g=g+Math.imul(D,Te)|0,c=c+Math.imul(D,Ze)|0,c=c+Math.imul(J,Te)|0,v=v+Math.imul(J,Ze)|0;var sr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(sr>>>26)|0,sr&=67108863,g=Math.imul(te,Ae),c=Math.imul(te,ke),c=c+Math.imul(we,Ae)|0,v=Math.imul(we,ke),g=g+Math.imul(ee,Me)|0,c=c+Math.imul(ee,Ke)|0,c=c+Math.imul(ve,Me)|0,v=v+Math.imul(ve,Ke)|0,g=g+Math.imul(re,Oe)|0,c=c+Math.imul(re,Ce)|0,c=c+Math.imul(ce,Oe)|0,v=v+Math.imul(ce,Ce)|0,g=g+Math.imul(se,be)|0,c=c+Math.imul(se,Fe)|0,c=c+Math.imul(de,be)|0,v=v+Math.imul(de,Fe)|0,g=g+Math.imul($,le)|0,c=c+Math.imul($,Be)|0,c=c+Math.imul(he,le)|0,v=v+Math.imul(he,Be)|0,g=g+Math.imul(X,ge)|0,c=c+Math.imul(X,Le)|0,c=c+Math.imul(ne,ge)|0,v=v+Math.imul(ne,Le)|0,g=g+Math.imul(j,ue)|0,c=c+Math.imul(j,Re)|0,c=c+Math.imul(Q,ue)|0,v=v+Math.imul(Q,Re)|0,g=g+Math.imul(T,me)|0,c=c+Math.imul(T,Ue)|0,c=c+Math.imul(x,me)|0,v=v+Math.imul(x,Ue)|0,g=g+Math.imul(Z,Te)|0,c=c+Math.imul(Z,Ze)|0,c=c+Math.imul(U,Te)|0,v=v+Math.imul(U,Ze)|0;var lr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(lr>>>26)|0,lr&=67108863,g=Math.imul(te,Me),c=Math.imul(te,Ke),c=c+Math.imul(we,Me)|0,v=Math.imul(we,Ke),g=g+Math.imul(ee,Oe)|0,c=c+Math.imul(ee,Ce)|0,c=c+Math.imul(ve,Oe)|0,v=v+Math.imul(ve,Ce)|0,g=g+Math.imul(re,be)|0,c=c+Math.imul(re,Fe)|0,c=c+Math.imul(ce,be)|0,v=v+Math.imul(ce,Fe)|0,g=g+Math.imul(se,le)|0,c=c+Math.imul(se,Be)|0,c=c+Math.imul(de,le)|0,v=v+Math.imul(de,Be)|0,g=g+Math.imul($,ge)|0,c=c+Math.imul($,Le)|0,c=c+Math.imul(he,ge)|0,v=v+Math.imul(he,Le)|0,g=g+Math.imul(X,ue)|0,c=c+Math.imul(X,Re)|0,c=c+Math.imul(ne,ue)|0,v=v+Math.imul(ne,Re)|0,g=g+Math.imul(j,me)|0,c=c+Math.imul(j,Ue)|0,c=c+Math.imul(Q,me)|0,v=v+Math.imul(Q,Ue)|0,g=g+Math.imul(T,Te)|0,c=c+Math.imul(T,Ze)|0,c=c+Math.imul(x,Te)|0,v=v+Math.imul(x,Ze)|0;var qt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(qt>>>26)|0,qt&=67108863,g=Math.imul(te,Oe),c=Math.imul(te,Ce),c=c+Math.imul(we,Oe)|0,v=Math.imul(we,Ce),g=g+Math.imul(ee,be)|0,c=c+Math.imul(ee,Fe)|0,c=c+Math.imul(ve,be)|0,v=v+Math.imul(ve,Fe)|0,g=g+Math.imul(re,le)|0,c=c+Math.imul(re,Be)|0,c=c+Math.imul(ce,le)|0,v=v+Math.imul(ce,Be)|0,g=g+Math.imul(se,ge)|0,c=c+Math.imul(se,Le)|0,c=c+Math.imul(de,ge)|0,v=v+Math.imul(de,Le)|0,g=g+Math.imul($,ue)|0,c=c+Math.imul($,Re)|0,c=c+Math.imul(he,ue)|0,v=v+Math.imul(he,Re)|0,g=g+Math.imul(X,me)|0,c=c+Math.imul(X,Ue)|0,c=c+Math.imul(ne,me)|0,v=v+Math.imul(ne,Ue)|0,g=g+Math.imul(j,Te)|0,c=c+Math.imul(j,Ze)|0,c=c+Math.imul(Q,Te)|0,v=v+Math.imul(Q,Ze)|0;var Lt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,g=Math.imul(te,be),c=Math.imul(te,Fe),c=c+Math.imul(we,be)|0,v=Math.imul(we,Fe),g=g+Math.imul(ee,le)|0,c=c+Math.imul(ee,Be)|0,c=c+Math.imul(ve,le)|0,v=v+Math.imul(ve,Be)|0,g=g+Math.imul(re,ge)|0,c=c+Math.imul(re,Le)|0,c=c+Math.imul(ce,ge)|0,v=v+Math.imul(ce,Le)|0,g=g+Math.imul(se,ue)|0,c=c+Math.imul(se,Re)|0,c=c+Math.imul(de,ue)|0,v=v+Math.imul(de,Re)|0,g=g+Math.imul($,me)|0,c=c+Math.imul($,Ue)|0,c=c+Math.imul(he,me)|0,v=v+Math.imul(he,Ue)|0,g=g+Math.imul(X,Te)|0,c=c+Math.imul(X,Ze)|0,c=c+Math.imul(ne,Te)|0,v=v+Math.imul(ne,Ze)|0;var pr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(pr>>>26)|0,pr&=67108863,g=Math.imul(te,le),c=Math.imul(te,Be),c=c+Math.imul(we,le)|0,v=Math.imul(we,Be),g=g+Math.imul(ee,ge)|0,c=c+Math.imul(ee,Le)|0,c=c+Math.imul(ve,ge)|0,v=v+Math.imul(ve,Le)|0,g=g+Math.imul(re,ue)|0,c=c+Math.imul(re,Re)|0,c=c+Math.imul(ce,ue)|0,v=v+Math.imul(ce,Re)|0,g=g+Math.imul(se,me)|0,c=c+Math.imul(se,Ue)|0,c=c+Math.imul(de,me)|0,v=v+Math.imul(de,Ue)|0,g=g+Math.imul($,Te)|0,c=c+Math.imul($,Ze)|0,c=c+Math.imul(he,Te)|0,v=v+Math.imul(he,Ze)|0;var Sr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Sr>>>26)|0,Sr&=67108863,g=Math.imul(te,ge),c=Math.imul(te,Le),c=c+Math.imul(we,ge)|0,v=Math.imul(we,Le),g=g+Math.imul(ee,ue)|0,c=c+Math.imul(ee,Re)|0,c=c+Math.imul(ve,ue)|0,v=v+Math.imul(ve,Re)|0,g=g+Math.imul(re,me)|0,c=c+Math.imul(re,Ue)|0,c=c+Math.imul(ce,me)|0,v=v+Math.imul(ce,Ue)|0,g=g+Math.imul(se,Te)|0,c=c+Math.imul(se,Ze)|0,c=c+Math.imul(de,Te)|0,v=v+Math.imul(de,Ze)|0;var Pt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,g=Math.imul(te,ue),c=Math.imul(te,Re),c=c+Math.imul(we,ue)|0,v=Math.imul(we,Re),g=g+Math.imul(ee,me)|0,c=c+Math.imul(ee,Ue)|0,c=c+Math.imul(ve,me)|0,v=v+Math.imul(ve,Ue)|0,g=g+Math.imul(re,Te)|0,c=c+Math.imul(re,Ze)|0,c=c+Math.imul(ce,Te)|0,v=v+Math.imul(ce,Ze)|0;var br=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(te,me),c=Math.imul(te,Ue),c=c+Math.imul(we,me)|0,v=Math.imul(we,Ue),g=g+Math.imul(ee,Te)|0,c=c+Math.imul(ee,Ze)|0,c=c+Math.imul(ve,Te)|0,v=v+Math.imul(ve,Ze)|0;var ar=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(ar>>>26)|0,ar&=67108863,g=Math.imul(te,Te),c=Math.imul(te,Ze),c=c+Math.imul(we,Te)|0,v=Math.imul(we,Ze);var Yt=(A+g|0)+((c&8191)<<13)|0;return A=(v+(c>>>13)|0)+(Yt>>>26)|0,Yt&=67108863,w[0]=Xe,w[1]=nt,w[2]=It,w[3]=ct,w[4]=ht,w[5]=lt,w[6]=dt,w[7]=Rt,w[8]=Ft,w[9]=sr,w[10]=lr,w[11]=qt,w[12]=Lt,w[13]=pr,w[14]=Sr,w[15]=Pt,w[16]=br,w[17]=ar,w[18]=Yt,A!==0&&(w[19]=A,a.length++),a};Math.imul||(F=N);function k(P,o,d){d.negative=o.negative^P.negative,d.length=P.length+o.length;for(var a=0,u=0,b=0;b<d.length-1;b++){var w=u;u=0;for(var A=a&67108863,g=Math.min(b,o.length-1),c=Math.max(0,b-P.length+1);c<=g;c++){var v=b-c,M=P.words[v]|0,D=o.words[c]|0,J=M*D,O=J&67108863;w=w+(J/67108864|0)|0,O=O+A|0,A=O&67108863,w=w+(O>>>26)|0,u+=w>>>26,w&=67108863}d.words[b]=A,a=w,w=u}return a!==0?d.words[b]=a:d.length--,d.strip()}function H(P,o,d){var a=new L;return a.mulp(P,o,d)}s.prototype.mulTo=function(o,d){var a,u=this.length+o.length;return this.length===10&&o.length===10?a=F(this,o,d):u<63?a=N(this,o,d):u<1024?a=k(this,o,d):a=H(this,o,d),a};function L(P,o){this.x=P,this.y=o}L.prototype.makeRBT=function(o){for(var d=new Array(o),a=s.prototype._countBits(o)-1,u=0;u<o;u++)d[u]=this.revBin(u,a,o);return d},L.prototype.revBin=function(o,d,a){if(o===0||o===a-1)return o;for(var u=0,b=0;b<d;b++)u|=(o&1)<<d-b-1,o>>=1;return u},L.prototype.permute=function(o,d,a,u,b,w){for(var A=0;A<w;A++)u[A]=d[o[A]],b[A]=a[o[A]]},L.prototype.transform=function(o,d,a,u,b,w){this.permute(w,o,d,a,u,b);for(var A=1;A<b;A<<=1)for(var g=A<<1,c=Math.cos(2*Math.PI/g),v=Math.sin(2*Math.PI/g),M=0;M<b;M+=g)for(var D=c,J=v,O=0;O<A;O++){var Z=a[M+O],U=u[M+O],q=a[M+O+A],T=u[M+O+A],x=D*q-J*T;T=D*T+J*q,q=x,a[M+O]=Z+q,u[M+O]=U+T,a[M+O+A]=Z-q,u[M+O+A]=U-T,O!==g&&(x=c*D-v*J,J=c*J+v*D,D=x)}},L.prototype.guessLen13b=function(o,d){var a=Math.max(d,o)|1,u=a&1,b=0;for(a=a/2|0;a;a=a>>>1)b++;return 1<<b+1+u},L.prototype.conjugate=function(o,d,a){if(!(a<=1))for(var u=0;u<a/2;u++){var b=o[u];o[u]=o[a-u-1],o[a-u-1]=b,b=d[u],d[u]=-d[a-u-1],d[a-u-1]=-b}},L.prototype.normalize13b=function(o,d){for(var a=0,u=0;u<d/2;u++){var b=Math.round(o[2*u+1]/d)*8192+Math.round(o[2*u]/d)+a;o[u]=b&67108863,b<67108864?a=0:a=b/67108864|0}return o},L.prototype.convert13b=function(o,d,a,u){for(var b=0,w=0;w<d;w++)b=b+(o[w]|0),a[2*w]=b&8191,b=b>>>13,a[2*w+1]=b&8191,b=b>>>13;for(w=2*d;w<u;++w)a[w]=0;i(b===0),i((b&-8192)===0)},L.prototype.stub=function(o){for(var d=new Array(o),a=0;a<o;a++)d[a]=0;return d},L.prototype.mulp=function(o,d,a){var u=2*this.guessLen13b(o.length,d.length),b=this.makeRBT(u),w=this.stub(u),A=new Array(u),g=new Array(u),c=new Array(u),v=new Array(u),M=new Array(u),D=new Array(u),J=a.words;J.length=u,this.convert13b(o.words,o.length,A,u),this.convert13b(d.words,d.length,v,u),this.transform(A,w,g,c,u,b),this.transform(v,w,M,D,u,b);for(var O=0;O<u;O++){var Z=g[O]*M[O]-c[O]*D[O];c[O]=g[O]*D[O]+c[O]*M[O],g[O]=Z}return this.conjugate(g,c,u),this.transform(g,c,J,w,u,b),this.conjugate(J,w,u),this.normalize13b(J,u),a.negative=o.negative^d.negative,a.length=o.length+d.length,a.strip()},s.prototype.mul=function(o){var d=new s(null);return d.words=new Array(this.length+o.length),this.mulTo(o,d)},s.prototype.mulf=function(o){var d=new s(null);return d.words=new Array(this.length+o.length),H(this,o,d)},s.prototype.imul=function(o){return this.clone().mulTo(o,this)},s.prototype.imuln=function(o){i(typeof o=="number"),i(o<67108864);for(var d=0,a=0;a<this.length;a++){var u=(this.words[a]|0)*o,b=(u&67108863)+(d&67108863);d>>=26,d+=u/67108864|0,d+=b>>>26,this.words[a]=b&67108863}return d!==0&&(this.words[a]=d,this.length++),this},s.prototype.muln=function(o){return this.clone().imuln(o)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(o){var d=I(o);if(d.length===0)return new s(1);for(var a=this,u=0;u<d.length&&d[u]===0;u++,a=a.sqr());if(++u<d.length)for(var b=a.sqr();u<d.length;u++,b=b.sqr())d[u]!==0&&(a=a.mul(b));return a},s.prototype.iushln=function(o){i(typeof o=="number"&&o>=0);var d=o%26,a=(o-d)/26,u=67108863>>>26-d<<26-d,b;if(d!==0){var w=0;for(b=0;b<this.length;b++){var A=this.words[b]&u,g=(this.words[b]|0)-A<<d;this.words[b]=g|w,w=A>>>26-d}w&&(this.words[b]=w,this.length++)}if(a!==0){for(b=this.length-1;b>=0;b--)this.words[b+a]=this.words[b];for(b=0;b<a;b++)this.words[b]=0;this.length+=a}return this.strip()},s.prototype.ishln=function(o){return i(this.negative===0),this.iushln(o)},s.prototype.iushrn=function(o,d,a){i(typeof o=="number"&&o>=0);var u;d?u=(d-d%26)/26:u=0;var b=o%26,w=Math.min((o-b)/26,this.length),A=67108863^67108863>>>b<<b,g=a;if(u-=w,u=Math.max(0,u),g){for(var c=0;c<w;c++)g.words[c]=this.words[c];g.length=w}if(w!==0)if(this.length>w)for(this.length-=w,c=0;c<this.length;c++)this.words[c]=this.words[c+w];else this.words[0]=0,this.length=1;var v=0;for(c=this.length-1;c>=0&&(v!==0||c>=u);c--){var M=this.words[c]|0;this.words[c]=v<<26-b|M>>>b,v=M&A}return g&&v!==0&&(g.words[g.length++]=v),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(o,d,a){return i(this.negative===0),this.iushrn(o,d,a)},s.prototype.shln=function(o){return this.clone().ishln(o)},s.prototype.ushln=function(o){return this.clone().iushln(o)},s.prototype.shrn=function(o){return this.clone().ishrn(o)},s.prototype.ushrn=function(o){return this.clone().iushrn(o)},s.prototype.testn=function(o){i(typeof o=="number"&&o>=0);var d=o%26,a=(o-d)/26,u=1<<d;if(this.length<=a)return!1;var b=this.words[a];return!!(b&u)},s.prototype.imaskn=function(o){i(typeof o=="number"&&o>=0);var d=o%26,a=(o-d)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=a)return this;if(d!==0&&a++,this.length=Math.min(a,this.length),d!==0){var u=67108863^67108863>>>d<<d;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(o){return this.clone().imaskn(o)},s.prototype.iaddn=function(o){return i(typeof o=="number"),i(o<67108864),o<0?this.isubn(-o):this.negative!==0?this.length===1&&(this.words[0]|0)<o?(this.words[0]=o-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(o),this.negative=1,this):this._iaddn(o)},s.prototype._iaddn=function(o){this.words[0]+=o;for(var d=0;d<this.length&&this.words[d]>=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},s.prototype.isubn=function(o){if(i(typeof o=="number"),i(o<67108864),o<0)return this.iaddn(-o);if(this.negative!==0)return this.negative=0,this.iaddn(o),this.negative=1,this;if(this.words[0]-=o,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d<this.length&&this.words[d]<0;d++)this.words[d]+=67108864,this.words[d+1]-=1;return this.strip()},s.prototype.addn=function(o){return this.clone().iaddn(o)},s.prototype.subn=function(o){return this.clone().isubn(o)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(o,d,a){var u=o.length+a,b;this._expand(u);var w,A=0;for(b=0;b<o.length;b++){w=(this.words[b+a]|0)+A;var g=(o.words[b]|0)*d;w-=g&67108863,A=(w>>26)-(g/67108864|0),this.words[b+a]=w&67108863}for(;b<this.length-a;b++)w=(this.words[b+a]|0)+A,A=w>>26,this.words[b+a]=w&67108863;if(A===0)return this.strip();for(i(A===-1),A=0,b=0;b<this.length;b++)w=-(this.words[b]|0)+A,A=w>>26,this.words[b]=w&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(o,d){var a=this.length-o.length,u=this.clone(),b=o,w=b.words[b.length-1]|0,A=this._countBits(w);a=26-A,a!==0&&(b=b.ushln(a),u.iushln(a),w=b.words[b.length-1]|0);var g=u.length-b.length,c;if(d!=="mod"){c=new s(null),c.length=g+1,c.words=new Array(c.length);for(var v=0;v<c.length;v++)c.words[v]=0}var M=u.clone()._ishlnsubmul(b,1,g);M.negative===0&&(u=M,c&&(c.words[g]=1));for(var D=g-1;D>=0;D--){var J=(u.words[b.length+D]|0)*67108864+(u.words[b.length+D-1]|0);for(J=Math.min(J/w|0,67108863),u._ishlnsubmul(b,J,D);u.negative!==0;)J--,u.negative=0,u._ishlnsubmul(b,1,D),u.isZero()||(u.negative^=1);c&&(c.words[D]=J)}return c&&c.strip(),u.strip(),d!=="div"&&a!==0&&u.iushrn(a),{div:c||null,mod:u}},s.prototype.divmod=function(o,d,a){if(i(!o.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,b,w;return this.negative!==0&&o.negative===0?(w=this.neg().divmod(o,d),d!=="mod"&&(u=w.div.neg()),d!=="div"&&(b=w.mod.neg(),a&&b.negative!==0&&b.iadd(o)),{div:u,mod:b}):this.negative===0&&o.negative!==0?(w=this.divmod(o.neg(),d),d!=="mod"&&(u=w.div.neg()),{div:u,mod:w.mod}):this.negative&o.negative?(w=this.neg().divmod(o.neg(),d),d!=="div"&&(b=w.mod.neg(),a&&b.negative!==0&&b.isub(o)),{div:w.div,mod:b}):o.length>this.length||this.cmp(o)<0?{div:new s(0),mod:this}:o.length===1?d==="div"?{div:this.divn(o.words[0]),mod:null}:d==="mod"?{div:null,mod:new s(this.modn(o.words[0]))}:{div:this.divn(o.words[0]),mod:new s(this.modn(o.words[0]))}:this._wordDiv(o,d)},s.prototype.div=function(o){return this.divmod(o,"div",!1).div},s.prototype.mod=function(o){return this.divmod(o,"mod",!1).mod},s.prototype.umod=function(o){return this.divmod(o,"mod",!0).mod},s.prototype.divRound=function(o){var d=this.divmod(o);if(d.mod.isZero())return d.div;var a=d.div.negative!==0?d.mod.isub(o):d.mod,u=o.ushrn(1),b=o.andln(1),w=a.cmp(u);return w<0||b===1&&w===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},s.prototype.modn=function(o){i(o<=67108863);for(var d=(1<<26)%o,a=0,u=this.length-1;u>=0;u--)a=(d*a+(this.words[u]|0))%o;return a},s.prototype.idivn=function(o){i(o<=67108863);for(var d=0,a=this.length-1;a>=0;a--){var u=(this.words[a]|0)+d*67108864;this.words[a]=u/o|0,d=u%o}return this.strip()},s.prototype.divn=function(o){return this.clone().idivn(o)},s.prototype.egcd=function(o){i(o.negative===0),i(!o.isZero());var d=this,a=o.clone();d.negative!==0?d=d.umod(o):d=d.clone();for(var u=new s(1),b=new s(0),w=new s(0),A=new s(1),g=0;d.isEven()&&a.isEven();)d.iushrn(1),a.iushrn(1),++g;for(var c=a.clone(),v=d.clone();!d.isZero();){for(var M=0,D=1;!(d.words[0]&D)&&M<26;++M,D<<=1);if(M>0)for(d.iushrn(M);M-- >0;)(u.isOdd()||b.isOdd())&&(u.iadd(c),b.isub(v)),u.iushrn(1),b.iushrn(1);for(var J=0,O=1;!(a.words[0]&O)&&J<26;++J,O<<=1);if(J>0)for(a.iushrn(J);J-- >0;)(w.isOdd()||A.isOdd())&&(w.iadd(c),A.isub(v)),w.iushrn(1),A.iushrn(1);d.cmp(a)>=0?(d.isub(a),u.isub(w),b.isub(A)):(a.isub(d),w.isub(u),A.isub(b))}return{a:w,b:A,gcd:a.iushln(g)}},s.prototype._invmp=function(o){i(o.negative===0),i(!o.isZero());var d=this,a=o.clone();d.negative!==0?d=d.umod(o):d=d.clone();for(var u=new s(1),b=new s(0),w=a.clone();d.cmpn(1)>0&&a.cmpn(1)>0;){for(var A=0,g=1;!(d.words[0]&g)&&A<26;++A,g<<=1);if(A>0)for(d.iushrn(A);A-- >0;)u.isOdd()&&u.iadd(w),u.iushrn(1);for(var c=0,v=1;!(a.words[0]&v)&&c<26;++c,v<<=1);if(c>0)for(a.iushrn(c);c-- >0;)b.isOdd()&&b.iadd(w),b.iushrn(1);d.cmp(a)>=0?(d.isub(a),u.isub(b)):(a.isub(d),b.isub(u))}var M;return d.cmpn(1)===0?M=u:M=b,M.cmpn(0)<0&&M.iadd(o),M},s.prototype.gcd=function(o){if(this.isZero())return o.abs();if(o.isZero())return this.abs();var d=this.clone(),a=o.clone();d.negative=0,a.negative=0;for(var u=0;d.isEven()&&a.isEven();u++)d.iushrn(1),a.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;a.isEven();)a.iushrn(1);var b=d.cmp(a);if(b<0){var w=d;d=a,a=w}else if(b===0||a.cmpn(1)===0)break;d.isub(a)}while(!0);return a.iushln(u)},s.prototype.invm=function(o){return this.egcd(o).a.umod(o)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(o){return this.words[0]&o},s.prototype.bincn=function(o){i(typeof o=="number");var d=o%26,a=(o-d)/26,u=1<<d;if(this.length<=a)return this._expand(a+1),this.words[a]|=u,this;for(var b=u,w=a;b!==0&&w<this.length;w++){var A=this.words[w]|0;A+=b,b=A>>>26,A&=67108863,this.words[w]=A}return b!==0&&(this.words[w]=b,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(o){var d=o<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this.strip();var a;if(this.length>1)a=1;else{d&&(o=-o),i(o<=67108863,"Number is too big");var u=this.words[0]|0;a=u===o?0:u<o?-1:1}return this.negative!==0?-a|0:a},s.prototype.cmp=function(o){if(this.negative!==0&&o.negative===0)return-1;if(this.negative===0&&o.negative!==0)return 1;var d=this.ucmp(o);return this.negative!==0?-d|0:d},s.prototype.ucmp=function(o){if(this.length>o.length)return 1;if(this.length<o.length)return-1;for(var d=0,a=this.length-1;a>=0;a--){var u=this.words[a]|0,b=o.words[a]|0;if(u!==b){u<b?d=-1:u>b&&(d=1);break}}return d},s.prototype.gtn=function(o){return this.cmpn(o)===1},s.prototype.gt=function(o){return this.cmp(o)===1},s.prototype.gten=function(o){return this.cmpn(o)>=0},s.prototype.gte=function(o){return this.cmp(o)>=0},s.prototype.ltn=function(o){return this.cmpn(o)===-1},s.prototype.lt=function(o){return this.cmp(o)===-1},s.prototype.lten=function(o){return this.cmpn(o)<=0},s.prototype.lte=function(o){return this.cmp(o)<=0},s.prototype.eqn=function(o){return this.cmpn(o)===0},s.prototype.eq=function(o){return this.cmp(o)===0},s.red=function(o){return new G(o)},s.prototype.toRed=function(o){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),o.convertTo(this)._forceRed(o)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(o){return this.red=o,this},s.prototype.forceRed=function(o){return i(!this.red,"Already a number in reduction context"),this._forceRed(o)},s.prototype.redAdd=function(o){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,o)},s.prototype.redIAdd=function(o){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,o)},s.prototype.redSub=function(o){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,o)},s.prototype.redISub=function(o){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,o)},s.prototype.redShl=function(o){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,o)},s.prototype.redMul=function(o){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.mul(this,o)},s.prototype.redIMul=function(o){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.imul(this,o)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(o){return i(this.red&&!o.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,o)};var W={k256:null,p224:null,p192:null,p25519:null};function z(P,o){this.name=P,this.p=new s(o,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}z.prototype._tmp=function(){var o=new s(null);return o.words=new Array(Math.ceil(this.n/13)),o},z.prototype.ireduce=function(o){var d=o,a;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),a=d.bitLength();while(a>this.n);var u=a<this.n?-1:d.ucmp(this.p);return u===0?(d.words[0]=0,d.length=1):u>0?d.isub(this.p):d.strip!==void 0?d.strip():d._strip(),d},z.prototype.split=function(o,d){o.iushrn(this.n,0,d)},z.prototype.imulK=function(o){return o.imul(this.k)};function R(){z.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(R,z),R.prototype.split=function(o,d){for(var a=4194303,u=Math.min(o.length,9),b=0;b<u;b++)d.words[b]=o.words[b];if(d.length=u,o.length<=9){o.words[0]=0,o.length=1;return}var w=o.words[9];for(d.words[d.length++]=w&a,b=10;b<o.length;b++){var A=o.words[b]|0;o.words[b-10]=(A&a)<<4|w>>>22,w=A}w>>>=22,o.words[b-10]=w,w===0&&o.length>10?o.length-=10:o.length-=9},R.prototype.imulK=function(o){o.words[o.length]=0,o.words[o.length+1]=0,o.length+=2;for(var d=0,a=0;a<o.length;a++){var u=o.words[a]|0;d+=u*977,o.words[a]=d&67108863,d=u*64+(d/67108864|0)}return o.words[o.length-1]===0&&(o.length--,o.words[o.length-1]===0&&o.length--),o};function V(){z.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(V,z);function S(){z.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(S,z);function B(){z.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(B,z),B.prototype.imulK=function(o){for(var d=0,a=0;a<o.length;a++){var u=(o.words[a]|0)*19+d,b=u&67108863;u>>>=26,o.words[a]=b,d=u}return d!==0&&(o.words[o.length++]=d),o},s._prime=function(o){if(W[o])return W[o];var d;if(o==="k256")d=new R;else if(o==="p224")d=new V;else if(o==="p192")d=new S;else if(o==="p25519")d=new B;else throw new Error("Unknown prime "+o);return W[o]=d,d};function G(P){if(typeof P=="string"){var o=s._prime(P);this.m=o.p,this.prime=o}else i(P.gtn(1),"modulus must be greater than 1"),this.m=P,this.prime=null}G.prototype._verify1=function(o){i(o.negative===0,"red works only with positives"),i(o.red,"red works only with red numbers")},G.prototype._verify2=function(o,d){i((o.negative|d.negative)===0,"red works only with positives"),i(o.red&&o.red===d.red,"red works only with red numbers")},G.prototype.imod=function(o){return this.prime?this.prime.ireduce(o)._forceRed(this):o.umod(this.m)._forceRed(this)},G.prototype.neg=function(o){return o.isZero()?o.clone():this.m.sub(o)._forceRed(this)},G.prototype.add=function(o,d){this._verify2(o,d);var a=o.add(d);return a.cmp(this.m)>=0&&a.isub(this.m),a._forceRed(this)},G.prototype.iadd=function(o,d){this._verify2(o,d);var a=o.iadd(d);return a.cmp(this.m)>=0&&a.isub(this.m),a},G.prototype.sub=function(o,d){this._verify2(o,d);var a=o.sub(d);return a.cmpn(0)<0&&a.iadd(this.m),a._forceRed(this)},G.prototype.isub=function(o,d){this._verify2(o,d);var a=o.isub(d);return a.cmpn(0)<0&&a.iadd(this.m),a},G.prototype.shl=function(o,d){return this._verify1(o),this.imod(o.ushln(d))},G.prototype.imul=function(o,d){return this._verify2(o,d),this.imod(o.imul(d))},G.prototype.mul=function(o,d){return this._verify2(o,d),this.imod(o.mul(d))},G.prototype.isqr=function(o){return this.imul(o,o.clone())},G.prototype.sqr=function(o){return this.mul(o,o)},G.prototype.sqrt=function(o){if(o.isZero())return o.clone();var d=this.m.andln(3);if(i(d%2===1),d===3){var a=this.m.add(new s(1)).iushrn(2);return this.pow(o,a)}for(var u=this.m.subn(1),b=0;!u.isZero()&&u.andln(1)===0;)b++,u.iushrn(1);i(!u.isZero());var w=new s(1).toRed(this),A=w.redNeg(),g=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new s(2*c*c).toRed(this);this.pow(c,g).cmp(A)!==0;)c.redIAdd(A);for(var v=this.pow(c,u),M=this.pow(o,u.addn(1).iushrn(1)),D=this.pow(o,u),J=b;D.cmp(w)!==0;){for(var O=D,Z=0;O.cmp(w)!==0;Z++)O=O.redSqr();i(Z<J);var U=this.pow(v,new s(1).iushln(J-Z-1));M=M.redMul(U),v=U.redSqr(),D=D.redMul(v),J=Z}return M},G.prototype.invm=function(o){var d=o._invmp(this.m);return d.negative!==0?(d.negative=0,this.imod(d).redNeg()):this.imod(d)},G.prototype.pow=function(o,d){if(d.isZero())return new s(1).toRed(this);if(d.cmpn(1)===0)return o.clone();var a=4,u=new Array(1<<a);u[0]=new s(1).toRed(this),u[1]=o;for(var b=2;b<u.length;b++)u[b]=this.mul(u[b-1],o);var w=u[0],A=0,g=0,c=d.bitLength()%26;for(c===0&&(c=26),b=d.length-1;b>=0;b--){for(var v=d.words[b],M=c-1;M>=0;M--){var D=v>>M&1;if(w!==u[0]&&(w=this.sqr(w)),D===0&&A===0){g=0;continue}A<<=1,A|=D,g++,!(g!==a&&(b!==0||M!==0))&&(w=this.mul(w,u[A]),g=0,A=0)}c=26}return w},G.prototype.convertTo=function(o){var d=o.umod(this.m);return d===o?d.clone():d},G.prototype.convertFrom=function(o){var d=o.clone();return d.red=null,d},s.mont=function(o){return new ie(o)};function ie(P){G.call(this,P),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(ie,G),ie.prototype.convertTo=function(o){return this.imod(o.ushln(this.shift))},ie.prototype.convertFrom=function(o){var d=this.imod(o.mul(this.rinv));return d.red=null,d},ie.prototype.imul=function(o,d){if(o.isZero()||d.isZero())return o.words[0]=0,o.length=1,o;var a=o.imul(d),u=a.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=a.isub(u).iushrn(this.shift),w=b;return b.cmp(this.m)>=0?w=b.isub(this.m):b.cmpn(0)<0&&(w=b.iadd(this.m)),w._forceRed(this)},ie.prototype.mul=function(o,d){if(o.isZero()||d.isZero())return new s(0)._forceRed(this);var a=o.mul(d),u=a.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=a.isub(u).iushrn(this.shift),w=b;return b.cmp(this.m)>=0?w=b.isub(this.m):b.cmpn(0)<0&&(w=b.iadd(this.m)),w._forceRed(this)},ie.prototype.invm=function(o){var d=this.imod(o._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(r,Bt)})(Pi);var ho={};(function(r){var e=r;function t(s,f){if(Array.isArray(s))return s.slice();if(!s)return[];var h=[];if(typeof s!="string"){for(var l=0;l<s.length;l++)h[l]=s[l]|0;return h}if(f==="hex"){s=s.replace(/[^a-z0-9]+/ig,""),s.length%2!==0&&(s="0"+s);for(var l=0;l<s.length;l+=2)h.push(parseInt(s[l]+s[l+1],16))}else for(var l=0;l<s.length;l++){var p=s.charCodeAt(l),m=p>>8,y=p&255;m?h.push(m,y):h.push(y)}return h}e.toArray=t;function i(s){return s.length===1?"0"+s:s}e.zero2=i;function n(s){for(var f="",h=0;h<s.length;h++)f+=i(s[h].toString(16));return f}e.toHex=n,e.encode=function(f,h){return h==="hex"?n(f):f}})(ho),function(r){var e=r,t=Pi.exports,i=en,n=ho;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function s(m,y,E){var I=new Array(Math.max(m.bitLength(),E)+1),N;for(N=0;N<I.length;N+=1)I[N]=0;var F=1<<y+1,k=m.clone();for(N=0;N<I.length;N++){var H,L=k.andln(F-1);k.isOdd()?(L>(F>>1)-1?H=(F>>1)-L:H=L,k.isubn(H)):H=0,I[N]=H,k.iushrn(1)}return I}e.getNAF=s;function f(m,y){var E=[[],[]];m=m.clone(),y=y.clone();for(var I=0,N=0,F;m.cmpn(-I)>0||y.cmpn(-N)>0;){var k=m.andln(3)+I&3,H=y.andln(3)+N&3;k===3&&(k=-1),H===3&&(H=-1);var L;k&1?(F=m.andln(7)+I&7,(F===3||F===5)&&H===2?L=-k:L=k):L=0,E[0].push(L);var W;H&1?(F=y.andln(7)+N&7,(F===3||F===5)&&k===2?W=-H:W=H):W=0,E[1].push(W),2*I===L+1&&(I=1-I),2*N===W+1&&(N=1-N),m.iushrn(1),y.iushrn(1)}return E}e.getJSF=f;function h(m,y,E){var I="_"+y;m.prototype[y]=function(){return this[I]!==void 0?this[I]:this[I]=E.call(this)}}e.cachedProperty=h;function l(m){return typeof m=="string"?e.toArray(m,"hex"):m}e.parseBytes=l;function p(m){return new t(m,"hex","le")}e.intFromLE=p}(qr);var ps={exports:{}},hc;ps.exports=function(e){return hc||(hc=new an(null)),hc.generate(e)};function an(r){this.rand=r}if(ps.exports.Rand=an,an.prototype.generate=function(e){return this._rand(e)},an.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),i=0;i<t.length;i++)t[i]=this.rand.getByte();return t},typeof self=="object")self.crypto&&self.crypto.getRandomValues?an.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?an.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window=="object"&&(an.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var Kd=ks;if(typeof Kd.randomBytes!="function")throw new Error("Not supported");an.prototype._rand=function(e){return Kd.randomBytes(e)}}catch{}var dc={},Pn=Pi.exports,$s=qr,uo=$s.getNAF,T4=$s.getJSF,lo=$s.assert;function on(r,e){this.type=r,this.p=new Pn(e.p,16),this.red=e.prime?Pn.red(e.prime):Pn.mont(this.p),this.zero=new Pn(0).toRed(this.red),this.one=new Pn(1).toRed(this.red),this.two=new Pn(2).toRed(this.red),this.n=e.n&&new Pn(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var po=on;on.prototype.point=function(){throw new Error("Not implemented")},on.prototype.validate=function(){throw new Error("Not implemented")},on.prototype._fixedNafMul=function(e,t){lo(e.precomputed);var i=e._getDoubles(),n=uo(t,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var f=[],h,l;for(h=0;h<n.length;h+=i.step){l=0;for(var p=h+i.step-1;p>=h;p--)l=(l<<1)+n[p];f.push(l)}for(var m=this.jpoint(null,null,null),y=this.jpoint(null,null,null),E=s;E>0;E--){for(h=0;h<f.length;h++)l=f[h],l===E?y=y.mixedAdd(i.points[h]):l===-E&&(y=y.mixedAdd(i.points[h].neg()));m=m.add(y)}return m.toP()},on.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,f=uo(t,i,this._bitLength),h=this.jpoint(null,null,null),l=f.length-1;l>=0;l--){for(var p=0;l>=0&&f[l]===0;l--)p++;if(l>=0&&p++,h=h.dblp(p),l<0)break;var m=f[l];lo(m!==0),e.type==="affine"?m>0?h=h.mixedAdd(s[m-1>>1]):h=h.mixedAdd(s[-m-1>>1].neg()):m>0?h=h.add(s[m-1>>1]):h=h.add(s[-m-1>>1].neg())}return e.type==="affine"?h.toP():h},on.prototype._wnafMulAdd=function(e,t,i,n,s){var f=this._wnafT1,h=this._wnafT2,l=this._wnafT3,p=0,m,y,E;for(m=0;m<n;m++){E=t[m];var I=E._getNAFPoints(e);f[m]=I.wnd,h[m]=I.points}for(m=n-1;m>=1;m-=2){var N=m-1,F=m;if(f[N]!==1||f[F]!==1){l[N]=uo(i[N],f[N],this._bitLength),l[F]=uo(i[F],f[F],this._bitLength),p=Math.max(l[N].length,p),p=Math.max(l[F].length,p);continue}var k=[t[N],null,null,t[F]];t[N].y.cmp(t[F].y)===0?(k[1]=t[N].add(t[F]),k[2]=t[N].toJ().mixedAdd(t[F].neg())):t[N].y.cmp(t[F].y.redNeg())===0?(k[1]=t[N].toJ().mixedAdd(t[F]),k[2]=t[N].add(t[F].neg())):(k[1]=t[N].toJ().mixedAdd(t[F]),k[2]=t[N].toJ().mixedAdd(t[F].neg()));var H=[-3,-1,-5,-7,0,7,5,1,3],L=T4(i[N],i[F]);for(p=Math.max(L[0].length,p),l[N]=new Array(p),l[F]=new Array(p),y=0;y<p;y++){var W=L[0][y]|0,z=L[1][y]|0;l[N][y]=H[(W+1)*3+(z+1)],l[F][y]=0,h[N]=k}}var R=this.jpoint(null,null,null),V=this._wnafT4;for(m=p;m>=0;m--){for(var S=0;m>=0;){var B=!0;for(y=0;y<n;y++)V[y]=l[y][m]|0,V[y]!==0&&(B=!1);if(!B)break;S++,m--}if(m>=0&&S++,R=R.dblp(S),m<0)break;for(y=0;y<n;y++){var G=V[y];G!==0&&(G>0?E=h[y][G-1>>1]:G<0&&(E=h[y][-G-1>>1].neg()),E.type==="affine"?R=R.mixedAdd(E):R=R.add(E))}}for(m=0;m<n;m++)h[m]=null;return s?R:R.toP()};function jr(r,e){this.curve=r,this.type=e,this.precomputed=null}on.BasePoint=jr,jr.prototype.eq=function(){throw new Error("Not implemented")},jr.prototype.validate=function(){return this.curve.validate(this)},on.prototype.decodePoint=function(e,t){e=$s.toArray(e,t);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?lo(e[e.length-1]%2===0):e[0]===7&&lo(e[e.length-1]%2===1);var n=this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));return n}else if((e[0]===2||e[0]===3)&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),e[0]===3);throw new Error("Unknown point format")},jr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},jr.prototype._encode=function(e){var t=this.curve.p.byteLength(),i=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",t))},jr.prototype.encode=function(e,t){return $s.encode(this._encode(t),e)},jr.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},jr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return t?t.points.length>=Math.ceil((e.bitLength()+1)/t.step):!1},jr.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<t;s+=e){for(var f=0;f<e;f++)n=n.dbl();i.push(n)}return{step:e,points:i}},jr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)t[s]=t[s-1].add(n);return{wnd:e,points:t}},jr.prototype._getBeta=function(){return null},jr.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var C4=qr,Mt=Pi.exports,uc=zi.exports,bs=po,F4=C4.assert;function Zr(r){bs.call(this,"short",r),this.a=new Mt(r.a,16).toRed(this.red),this.b=new Mt(r.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}uc(Zr,bs);var q4=Zr;Zr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new Mt(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=n[0].cmp(n[1])<0?n[0]:n[1],t=t.toRed(this.red)}if(e.lambda)i=new Mt(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))===0?i=s[0]:(i=s[1],F4(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var f;return e.basis?f=e.basis.map(function(h){return{a:new Mt(h.a,16),b:new Mt(h.b,16)}}):f=this._getEndoBasis(i),{beta:t,lambda:i,basis:f}}},Zr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:Mt.mont(e),i=new Mt(2).toRed(t).redInvm(),n=i.redNeg(),s=new Mt(3).toRed(t).redNeg().redSqrt().redMul(i),f=n.redAdd(s).fromRed(),h=n.redSub(s).fromRed();return[f,h]},Zr.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new Mt(1),f=new Mt(0),h=new Mt(0),l=new Mt(1),p,m,y,E,I,N,F,k=0,H,L;i.cmpn(0)!==0;){var W=n.div(i);H=n.sub(W.mul(i)),L=h.sub(W.mul(s));var z=l.sub(W.mul(f));if(!y&&H.cmp(t)<0)p=F.neg(),m=s,y=H.neg(),E=L;else if(y&&++k===2)break;F=H,n=i,i=H,h=s,s=L,l=f,f=z}I=H.neg(),N=L;var R=y.sqr().add(E.sqr()),V=I.sqr().add(N.sqr());return V.cmp(R)>=0&&(I=p,N=m),y.negative&&(y=y.neg(),E=E.neg()),I.negative&&(I=I.neg(),N=N.neg()),[{a:y,b:E},{a:I,b:N}]},Zr.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],s=n.b.mul(e).divRound(this.n),f=i.b.neg().mul(e).divRound(this.n),h=s.mul(i.a),l=f.mul(n.a),p=s.mul(i.b),m=f.mul(n.b),y=e.sub(h).sub(l),E=p.add(m).neg();return{k1:y,k2:E}},Zr.prototype.pointFromX=function(e,t){e=new Mt(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},Zr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},Zr.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,f=0;f<e.length;f++){var h=this._endoSplit(t[f]),l=e[f],p=l._getBeta();h.k1.negative&&(h.k1.ineg(),l=l.neg(!0)),h.k2.negative&&(h.k2.ineg(),p=p.neg(!0)),n[f*2]=l,n[f*2+1]=p,s[f*2]=h.k1,s[f*2+1]=h.k2}for(var m=this._wnafMulAdd(1,n,s,f*2,i),y=0;y<f*2;y++)n[y]=null,s[y]=null;return m};function Ht(r,e,t,i){bs.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new Mt(e,16),this.y=new Mt(t,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}uc(Ht,bs.BasePoint),Zr.prototype.point=function(e,t,i){return new Ht(this,e,t,i)},Zr.prototype.pointFromJSON=function(e,t){return Ht.fromJSON(this,e,t)},Ht.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},Ht.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Ht.fromJSON=function(e,t,i){typeof t=="string"&&(t=JSON.parse(t));var n=e.point(t[0],t[1],i);if(!t[2])return n;function s(h){return e.point(h[0],h[1],i)}var f=t[2];return n.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[n].concat(f.doubles.points.map(s))},naf:f.naf&&{wnd:f.naf.wnd,points:[n].concat(f.naf.points.map(s))}},n},Ht.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Ht.prototype.isInfinity=function(){return this.inf},Ht.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var i=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},Ht.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),f=s.redSqr().redISub(this.x.redAdd(this.x)),h=s.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,h)},Ht.prototype.getX=function(){return this.x.fromRed()},Ht.prototype.getY=function(){return this.y.fromRed()},Ht.prototype.mul=function(e){return e=new Mt(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Ht.prototype.mulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},Ht.prototype.jmulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},Ht.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},Ht.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};t.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return t},Ht.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function tr(r,e,t,i){bs.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Mt(0)):(this.x=new Mt(e,16),this.y=new Mt(t,16),this.z=new Mt(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}uc(tr,bs.BasePoint),Zr.prototype.jpoint=function(e,t,i){return new tr(this,e,t,i)},tr.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),i=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(i,n)},tr.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},tr.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(t),s=e.x.redMul(i),f=this.y.redMul(t.redMul(e.z)),h=e.y.redMul(i.redMul(this.z)),l=n.redSub(s),p=f.redSub(h);if(l.cmpn(0)===0)return p.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=l.redSqr(),y=m.redMul(l),E=n.redMul(m),I=p.redSqr().redIAdd(y).redISub(E).redISub(E),N=p.redMul(E.redISub(I)).redISub(f.redMul(y)),F=this.z.redMul(e.z).redMul(l);return this.curve.jpoint(I,N,F)},tr.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),i=this.x,n=e.x.redMul(t),s=this.y,f=e.y.redMul(t).redMul(this.z),h=i.redSub(n),l=s.redSub(f);if(h.cmpn(0)===0)return l.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var p=h.redSqr(),m=p.redMul(h),y=i.redMul(p),E=l.redSqr().redIAdd(m).redISub(y).redISub(y),I=l.redMul(y.redISub(E)).redISub(s.redMul(m)),N=this.z.redMul(h);return this.curve.jpoint(E,I,N)},tr.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var i=this;for(t=0;t<e;t++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,f=this.x,h=this.y,l=this.z,p=l.redSqr().redSqr(),m=h.redAdd(h);for(t=0;t<e;t++){var y=f.redSqr(),E=m.redSqr(),I=E.redSqr(),N=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(p)),F=f.redMul(E),k=N.redSqr().redISub(F.redAdd(F)),H=F.redISub(k),L=N.redMul(H);L=L.redIAdd(L).redISub(I);var W=m.redMul(l);t+1<e&&(p=p.redMul(I)),f=k,l=W,m=L}return this.curve.jpoint(f,m.redMul(s),l)},tr.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},tr.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),f=s.redSqr(),h=this.x.redAdd(s).redSqr().redISub(n).redISub(f);h=h.redIAdd(h);var l=n.redAdd(n).redIAdd(n),p=l.redSqr().redISub(h).redISub(h),m=f.redIAdd(f);m=m.redIAdd(m),m=m.redIAdd(m),e=p,t=l.redMul(h.redISub(p)).redISub(m),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),E=this.y.redSqr(),I=E.redSqr(),N=this.x.redAdd(E).redSqr().redISub(y).redISub(I);N=N.redIAdd(N);var F=y.redAdd(y).redIAdd(y),k=F.redSqr(),H=I.redIAdd(I);H=H.redIAdd(H),H=H.redIAdd(H),e=k.redISub(N).redISub(N),t=F.redMul(N.redISub(e)).redISub(H),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)},tr.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),f=s.redSqr(),h=this.x.redAdd(s).redSqr().redISub(n).redISub(f);h=h.redIAdd(h);var l=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),p=l.redSqr().redISub(h).redISub(h);e=p;var m=f.redIAdd(f);m=m.redIAdd(m),m=m.redIAdd(m),t=l.redMul(h.redISub(p)).redISub(m),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),E=this.y.redSqr(),I=this.x.redMul(E),N=this.x.redSub(y).redMul(this.x.redAdd(y));N=N.redAdd(N).redIAdd(N);var F=I.redIAdd(I);F=F.redIAdd(F);var k=F.redAdd(F);e=N.redSqr().redISub(k),i=this.y.redAdd(this.z).redSqr().redISub(E).redISub(y);var H=E.redSqr();H=H.redIAdd(H),H=H.redIAdd(H),H=H.redIAdd(H),t=N.redMul(F.redISub(e)).redISub(H)}return this.curve.jpoint(e,t,i)},tr.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),f=t.redSqr(),h=i.redSqr(),l=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(s)),p=t.redAdd(t);p=p.redIAdd(p);var m=p.redMul(h),y=l.redSqr().redISub(m.redAdd(m)),E=m.redISub(y),I=h.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var N=l.redMul(E).redISub(I),F=i.redAdd(i).redMul(n);return this.curve.jpoint(y,N,F)},tr.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr(),n=t.redSqr(),s=e.redAdd(e).redIAdd(e),f=s.redSqr(),h=this.x.redAdd(t).redSqr().redISub(e).redISub(n);h=h.redIAdd(h),h=h.redAdd(h).redIAdd(h),h=h.redISub(f);var l=h.redSqr(),p=n.redIAdd(n);p=p.redIAdd(p),p=p.redIAdd(p),p=p.redIAdd(p);var m=s.redIAdd(h).redSqr().redISub(f).redISub(l).redISub(p),y=t.redMul(m);y=y.redIAdd(y),y=y.redIAdd(y);var E=this.x.redMul(l).redISub(y);E=E.redIAdd(E),E=E.redIAdd(E);var I=this.y.redMul(m.redMul(p.redISub(m)).redISub(h.redMul(l)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var N=this.z.redAdd(h).redSqr().redISub(i).redISub(l);return this.curve.jpoint(E,I,N)},tr.prototype.mul=function(e,t){return e=new Mt(e,t),this.curve._wnafMul(this,e)},tr.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var n=t.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},tr.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},tr.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},tr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var vs=Pi.exports,jd=zi.exports,bo=po,L4=qr;function gs(r){bo.call(this,"mont",r),this.a=new vs(r.a,16).toRed(this.red),this.b=new vs(r.b,16).toRed(this.red),this.i4=new vs(4).toRed(this.red).redInvm(),this.two=new vs(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}jd(gs,bo);var B4=gs;gs.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),n=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t),s=n.redSqrt();return s.redSqr().cmp(n)===0};function Kt(r,e,t){bo.BasePoint.call(this,r,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new vs(e,16),this.z=new vs(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}jd(Kt,bo.BasePoint),gs.prototype.decodePoint=function(e,t){return this.point(L4.toArray(e,t),1)},gs.prototype.point=function(e,t){return new Kt(this,e,t)},gs.prototype.pointFromJSON=function(e){return Kt.fromJSON(this,e)},Kt.prototype.precompute=function(){},Kt.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Kt.fromJSON=function(e,t){return new Kt(e,t[0],t[1]||e.one)},Kt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Kt.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Kt.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),s=t.redSub(n),f=t.redMul(n),h=s.redMul(n.redAdd(this.curve.a24.redMul(s)));return this.curve.point(f,h)},Kt.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Kt.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),s=e.x.redAdd(e.z),f=e.x.redSub(e.z),h=f.redMul(i),l=s.redMul(n),p=t.z.redMul(h.redAdd(l).redSqr()),m=t.x.redMul(h.redISub(l).redSqr());return this.curve.point(p,m)},Kt.prototype.mul=function(e){for(var t=e.clone(),i=this,n=this.curve.point(null,null),s=this,f=[];t.cmpn(0)!==0;t.iushrn(1))f.push(t.andln(1));for(var h=f.length-1;h>=0;h--)f[h]===0?(i=i.diffAdd(n,s),n=n.dbl()):(n=i.diffAdd(n,s),i=i.dbl());return n},Kt.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Kt.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Kt.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},Kt.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Kt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var U4=qr,Hi=Pi.exports,Zd=zi.exports,vo=po,z4=U4.assert;function Oi(r){this.twisted=(r.a|0)!==1,this.mOneA=this.twisted&&(r.a|0)===-1,this.extended=this.mOneA,vo.call(this,"edwards",r),this.a=new Hi(r.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Hi(r.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Hi(r.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),z4(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(r.c|0)===1}Zd(Oi,vo);var k4=Oi;Oi.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},Oi.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},Oi.prototype.jpoint=function(e,t,i,n){return this.point(e,t,i,n)},Oi.prototype.pointFromX=function(e,t){e=new Hi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),f=n.redMul(s.redInvm()),h=f.redSqrt();if(h.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");var l=h.fromRed().isOdd();return(t&&!l||!t&&l)&&(h=h.redNeg()),this.point(e,h)},Oi.prototype.pointFromY=function(e,t){e=new Hi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),f=n.redMul(s.redInvm());if(f.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var h=f.redSqrt();if(h.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");return h.fromRed().isOdd()!==t&&(h=h.redNeg()),this.point(h,e)},Oi.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),i=e.y.redSqr(),n=t.redMul(this.a).redAdd(i),s=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(i)));return n.cmp(s)===0};function vt(r,e,t,i,n){vo.BasePoint.call(this,r,"projective"),e===null&&t===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Hi(e,16),this.y=new Hi(t,16),this.z=i?new Hi(i,16):this.curve.one,this.t=n&&new Hi(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Zd(vt,vo.BasePoint),Oi.prototype.pointFromJSON=function(e){return vt.fromJSON(this,e)},Oi.prototype.point=function(e,t,i,n){return new vt(this,e,t,i,n)},vt.fromJSON=function(e,t){return new vt(e,t[0],t[1],t[2])},vt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},vt.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},vt.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(e),s=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),f=n.redAdd(t),h=f.redSub(i),l=n.redSub(t),p=s.redMul(h),m=f.redMul(l),y=s.redMul(l),E=h.redMul(f);return this.curve.point(p,m,E,y)},vt.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),i=this.y.redSqr(),n,s,f,h,l,p;if(this.curve.twisted){h=this.curve._mulA(t);var m=h.redAdd(i);this.zOne?(n=e.redSub(t).redSub(i).redMul(m.redSub(this.curve.two)),s=m.redMul(h.redSub(i)),f=m.redSqr().redSub(m).redSub(m)):(l=this.z.redSqr(),p=m.redSub(l).redISub(l),n=e.redSub(t).redISub(i).redMul(p),s=m.redMul(h.redSub(i)),f=m.redMul(p))}else h=t.redAdd(i),l=this.curve._mulC(this.z).redSqr(),p=h.redSub(l).redSub(l),n=this.curve._mulC(e.redISub(h)).redMul(p),s=this.curve._mulC(h).redMul(t.redISub(i)),f=h.redMul(p);return this.curve.point(n,s,f)},vt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},vt.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),s=this.z.redMul(e.z.redAdd(e.z)),f=i.redSub(t),h=s.redSub(n),l=s.redAdd(n),p=i.redAdd(t),m=f.redMul(h),y=l.redMul(p),E=f.redMul(p),I=h.redMul(l);return this.curve.point(m,y,I,E)},vt.prototype._projAdd=function(e){var t=this.z.redMul(e.z),i=t.redSqr(),n=this.x.redMul(e.x),s=this.y.redMul(e.y),f=this.curve.d.redMul(n).redMul(s),h=i.redSub(f),l=i.redAdd(f),p=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(s),m=t.redMul(h).redMul(p),y,E;return this.curve.twisted?(y=t.redMul(l).redMul(s.redSub(this.curve._mulA(n))),E=h.redMul(l)):(y=t.redMul(l).redMul(s.redSub(n)),E=this.curve._mulC(h).redMul(l)),this.curve.point(m,y,E)},vt.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},vt.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},vt.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},vt.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},vt.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},vt.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},vt.prototype.getX=function(){return this.normalize(),this.x.fromRed()},vt.prototype.getY=function(){return this.normalize(),this.y.fromRed()},vt.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},vt.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var i=e.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),this.x.cmp(t)===0)return!0}},vt.prototype.toP=vt.prototype.normalize,vt.prototype.mixedAdd=vt.prototype.add,function(r){var e=r;e.base=po,e.short=q4,e.mont=B4,e.edwards=k4}(dc);var go={},lc,Wd;function V4(){return Wd||(Wd=1,lc={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}),lc}(function(r){var e=r,t=wr,i=dc,n=qr,s=n.assert;function f(p){p.type==="short"?this.curve=new i.short(p):p.type==="edwards"?this.curve=new i.edwards(p):this.curve=new i.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=f;function h(p,m){Object.defineProperty(e,p,{configurable:!0,enumerable:!0,get:function(){var y=new f(m);return Object.defineProperty(e,p,{configurable:!0,enumerable:!0,value:y}),y}})}h("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),h("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),h("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),h("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),h("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),h("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),h("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var l;try{l=V4()}catch{l=void 0}h("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",l]})})(go);var H4=wr,On=ho,Jd=en;function fn(r){if(!(this instanceof fn))return new fn(r);this.hash=r.hash,this.predResist=!!r.predResist,this.outLen=this.hash.outSize,this.minEntropy=r.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=On.toArray(r.entropy,r.entropyEnc||"hex"),t=On.toArray(r.nonce,r.nonceEnc||"hex"),i=On.toArray(r.pers,r.persEnc||"hex");Jd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var Gd=fn;fn.prototype._init=function(e,t,i){var n=e.concat(t).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},fn.prototype._hmac=function(){return new H4.hmac(this.hash,this.K)},fn.prototype._update=function(e){var t=this._hmac().update(this.V).update([0]);e&&(t=t.update(e)),this.K=t.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},fn.prototype.reseed=function(e,t,i,n){typeof t!="string"&&(n=i,i=t,t=null),e=On.toArray(e,t),i=On.toArray(i,n),Jd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},fn.prototype.generate=function(e,t,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof t!="string"&&(n=i,i=t,t=null),i&&(i=On.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var f=s.slice(0,e);return this._update(i),this._reseed++,On.encode(f,t)};var K4=Pi.exports,j4=qr,pc=j4.assert;function dr(r,e){this.ec=r,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Z4=dr;dr.fromPublic=function(e,t,i){return t instanceof dr?t:new dr(e,{pub:t,pubEnc:i})},dr.fromPrivate=function(e,t,i){return t instanceof dr?t:new dr(e,{priv:t,privEnc:i})},dr.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},dr.prototype.getPublic=function(e,t){return typeof e=="string"&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},dr.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},dr.prototype._importPrivate=function(e,t){this.priv=new K4(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},dr.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?pc(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&pc(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},dr.prototype.derive=function(e){return e.validate()||pc(e.validate(),"public point not validated"),e.mul(this.priv).getX()},dr.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},dr.prototype.verify=function(e,t,i){return this.ec.verify(e,t,this,void 0,i)},dr.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var mo=Pi.exports,bc=qr,W4=bc.assert;function yo(r,e){if(r instanceof yo)return r;this._importDER(r,e)||(W4(r.r&&r.s,"Signature without r or s"),this.r=new mo(r.r,16),this.s=new mo(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var J4=yo;function G4(){this.place=0}function vc(r,e){var t=r[e.place++];if(!(t&128))return t;var i=t&15;if(i===0||i>4||r[e.place]===0)return!1;for(var n=0,s=0,f=e.place;s<i;s++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function Qd(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e<t;)e++;return e===0?r:r.slice(e)}yo.prototype._importDER=function(e,t){e=bc.toArray(e,t);var i=new G4;if(e[i.place++]!==48)return!1;var n=vc(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=vc(e,i);if(s===!1||e[i.place]&128)return!1;var f=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var h=vc(e,i);if(h===!1||e.length!==h+i.place||e[i.place]&128)return!1;var l=e.slice(i.place,h+i.place);if(f[0]===0)if(f[1]&128)f=f.slice(1);else return!1;if(l[0]===0)if(l[1]&128)l=l.slice(1);else return!1;return this.r=new mo(f),this.s=new mo(l),this.recoveryParam=null,!0};function gc(r,e){if(e<128){r.push(e);return}var t=1+(Math.log(e)/Math.LN2>>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}yo.prototype.toDER=function(e){var t=this.r.toArray(),i=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),i[0]&128&&(i=[0].concat(i)),t=Qd(t),i=Qd(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];gc(n,t.length),n=n.concat(t),n.push(2),gc(n,i.length);var s=n.concat(i),f=[48];return gc(f,s.length),f=f.concat(s),bc.encode(f,e)};var ci=Pi.exports,Yd=Gd,Q4=qr,mc=go,Y4=ps.exports,Nn=Q4.assert,yc=Z4,wo=J4;function Wr(r){if(!(this instanceof Wr))return new Wr(r);typeof r=="string"&&(Nn(Object.prototype.hasOwnProperty.call(mc,r),"Unknown curve "+r),r=mc[r]),r instanceof mc.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var X4=Wr;Wr.prototype.keyPair=function(e){return new yc(this,e)},Wr.prototype.keyFromPrivate=function(e,t){return yc.fromPrivate(this,e,t)},Wr.prototype.keyFromPublic=function(e,t){return yc.fromPublic(this,e,t)},Wr.prototype.genKeyPair=function(e){e||(e={});for(var t=new Yd({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Y4(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new ci(2));;){var s=new ci(t.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Wr.prototype._truncateToN=function(e,t,i){var n;if(ci.isBN(e)||typeof e=="number")e=new ci(e,16),n=e.byteLength();else if(typeof e=="object")n=e.length,e=new ci(e,16);else{var s=e.toString();n=s.length+1>>>1,e=new ci(s,16)}typeof i!="number"&&(i=n*8);var f=i-this.n.bitLength();return f>0&&(e=e.ushrn(f)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Wr.prototype.sign=function(e,t,i,n){if(typeof i=="object"&&(n=i,i=null),n||(n={}),typeof e!="string"&&typeof e!="number"&&!ci.isBN(e)){Nn(typeof e=="object"&&e&&typeof e.length=="number","Expected message to be an array-like, a hex string, or a BN instance"),Nn(e.length>>>0===e.length);for(var s=0;s<e.length;s++)Nn((e[s]&255)===e[s])}t=this.keyFromPrivate(t,i),e=this._truncateToN(e,!1,n.msgBitLength),Nn(!e.isNeg(),"Can not sign a negative message");var f=this.n.byteLength(),h=t.getPrivate().toArray("be",f),l=e.toArray("be",f);Nn(new ci(l).eq(e),"Can not sign message");for(var p=new Yd({hash:this.hash,entropy:h,nonce:l,pers:n.pers,persEnc:n.persEnc||"utf8"}),m=this.n.sub(new ci(1)),y=0;;y++){var E=n.k?n.k(y):new ci(p.generate(this.n.byteLength()));if(E=this._truncateToN(E,!0),!(E.cmpn(1)<=0||E.cmp(m)>=0)){var I=this.g.mul(E);if(!I.isInfinity()){var N=I.getX(),F=N.umod(this.n);if(F.cmpn(0)!==0){var k=E.invm(this.n).mul(F.mul(t.getPrivate()).iadd(e));if(k=k.umod(this.n),k.cmpn(0)!==0){var H=(I.getY().isOdd()?1:0)|(N.cmp(F)!==0?2:0);return n.canonical&&k.cmp(this.nh)>0&&(k=this.n.sub(k),H^=1),new wo({r:F,s:k,recoveryParam:H})}}}}}},Wr.prototype.verify=function(e,t,i,n,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),i=this.keyFromPublic(i,n),t=new wo(t,"hex");var f=t.r,h=t.s;if(f.cmpn(1)<0||f.cmp(this.n)>=0||h.cmpn(1)<0||h.cmp(this.n)>=0)return!1;var l=h.invm(this.n),p=l.mul(e).umod(this.n),m=l.mul(f).umod(this.n),y;return this.curve._maxwellTrick?(y=this.g.jmulAdd(p,i.getPublic(),m),y.isInfinity()?!1:y.eqXToP(f)):(y=this.g.mulAdd(p,i.getPublic(),m),y.isInfinity()?!1:y.getX().umod(this.n).cmp(f)===0)},Wr.prototype.recoverPubKey=function(r,e,t,i){Nn((3&t)===t,"The recovery param is more than two bits"),e=new wo(e,i);var n=this.n,s=new ci(r),f=e.r,h=e.s,l=t&1,p=t>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&p)throw new Error("Unable to find sencond key candinate");p?f=this.curve.pointFromX(f.add(this.curve.n),l):f=this.curve.pointFromX(f,l);var m=e.r.invm(n),y=n.sub(s).mul(m).umod(n),E=h.mul(m).umod(n);return this.g.mulAdd(y,f,E)},Wr.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new wo(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(r,e,n)}catch{continue}if(s.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var ea=qr,Xd=ea.assert,_d=ea.parseBytes,ms=ea.cachedProperty;function jt(r,e){this.eddsa=r,this._secret=_d(e.secret),r.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=_d(e.pub)}jt.fromPublic=function(e,t){return t instanceof jt?t:new jt(e,{pub:t})},jt.fromSecret=function(e,t){return t instanceof jt?t:new jt(e,{secret:t})},jt.prototype.secret=function(){return this._secret},ms(jt,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),ms(jt,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),ms(jt,"privBytes",function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n}),ms(jt,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),ms(jt,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),ms(jt,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),jt.prototype.sign=function(e){return Xd(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},jt.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},jt.prototype.getSecret=function(e){return Xd(this._secret,"KeyPair is public only"),ea.encode(this.secret(),e)},jt.prototype.getPublic=function(e){return ea.encode(this.pubBytes(),e)};var _4=jt,$4=Pi.exports,xo=qr,$d=xo.assert,Ao=xo.cachedProperty,e5=xo.parseBytes;function Dn(r,e){this.eddsa=r,typeof e!="object"&&(e=e5(e)),Array.isArray(e)&&($d(e.length===r.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,r.encodingLength),S:e.slice(r.encodingLength)}),$d(e.R&&e.S,"Signature without R or S"),r.isPoint(e.R)&&(this._R=e.R),e.S instanceof $4&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}Ao(Dn,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),Ao(Dn,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),Ao(Dn,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),Ao(Dn,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),Dn.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Dn.prototype.toHex=function(){return xo.encode(this.toBytes(),"hex").toUpperCase()};var t5=Dn,r5=wr,i5=go,ys=qr,n5=ys.assert,eu=ys.parseBytes,tu=_4,ru=t5;function Nr(r){if(n5(r==="ed25519","only tested with ed25519 so far"),!(this instanceof Nr))return new Nr(r);r=i5[r].curve,this.curve=r,this.g=r.g,this.g.precompute(r.n.bitLength()+1),this.pointClass=r.point().constructor,this.encodingLength=Math.ceil(r.n.bitLength()/8),this.hash=r5.sha512}var s5=Nr;Nr.prototype.sign=function(e,t){e=eu(e);var i=this.keyFromSecret(t),n=this.hashInt(i.messagePrefix(),e),s=this.g.mul(n),f=this.encodePoint(s),h=this.hashInt(f,i.pubBytes(),e).mul(i.priv()),l=n.add(h).umod(this.curve.n);return this.makeSignature({R:s,S:l,Rencoded:f})},Nr.prototype.verify=function(e,t,i){if(e=eu(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var n=this.keyFromPublic(i),s=this.hashInt(t.Rencoded(),n.pubBytes(),e),f=this.g.mul(t.S()),h=t.R().add(n.pub().mul(s));return h.eq(f)},Nr.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return ys.intFromLE(e.digest()).umod(this.curve.n)},Nr.prototype.keyFromPublic=function(e){return tu.fromPublic(this,e)},Nr.prototype.keyFromSecret=function(e){return tu.fromSecret(this,e)},Nr.prototype.makeSignature=function(e){return e instanceof ru?e:new ru(this,e)},Nr.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},Nr.prototype.decodePoint=function(e){e=ys.parseBytes(e);var t=e.length-1,i=e.slice(0,t).concat(e[t]&-129),n=(e[t]&128)!==0,s=ys.intFromLE(i);return this.curve.pointFromY(s,n)},Nr.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},Nr.prototype.decodeInt=function(e){return ys.intFromLE(e)},Nr.prototype.isPoint=function(e){return e instanceof this.pointClass},function(r){var e=r;e.version=R4.version,e.utils=qr,e.rand=ps.exports,e.curve=dc,e.curves=go,e.ec=X4,e.eddsa=s5}(Hd);const a5={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}},o5=":";function Mo(r){const[e,t]=r.split(o5);return{namespace:e,reference:t}}function iu(r,e){return r.includes(":")?[r]:e.chains||[]}var f5=Object.defineProperty,nu=Object.getOwnPropertySymbols,c5=Object.prototype.hasOwnProperty,h5=Object.prototype.propertyIsEnumerable,su=(r,e,t)=>e in r?f5(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,au=(r,e)=>{for(var t in e||(e={}))c5.call(e,t)&&su(r,t,e[t]);if(nu)for(var t of nu(e))h5.call(e,t)&&su(r,t,e[t]);return r};const d5="ReactNative",Lr={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},u5="js";function So(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function cn(){return!Sn()&&!!Hs()&&navigator.product===d5}function l5(){return cn()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function p5(){return cn()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function ta(){return!So()&&!!Hs()&&!!Sn()}function ra(){return cn()?Lr.reactNative:So()?Lr.node:ta()?Lr.browser:Lr.unknown}function ou(){var r;try{return cn()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(r=global.Application)==null?void 0:r.applicationId:void 0}catch{return}}function b5(r,e){let t=Ks.parse(r);return t=au(au({},t),e),r=Ks.stringify(t),r}function fu(){return Oh()||{name:"",description:"",url:"",icons:[""]}}function v5(){if(ra()===Lr.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:t,Version:i}=global.Platform;return[t,i].join("-")}const r=c3();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function g5(){var r;const e=ra();return e===Lr.browser?[e,((r=Ph())==null?void 0:r.host)||"unknown"].join(":"):e}function cu(r,e,t){const i=v5(),n=g5();return[[r,e].join("-"),[u5,t].join("-"),i,n].join("/")}function m5({protocol:r,version:e,relayUrl:t,sdkVersion:i,auth:n,projectId:s,useOnCloseEvent:f,bundleId:h,packageName:l}){const p=t.split("?"),m=cu(r,e,i),y={auth:n,ua:m,projectId:s,useOnCloseEvent:f||void 0,packageName:l||void 0,bundleId:h||void 0},E=b5(p[1]||"",y);return p[0]+"?"+E}function Rn(r,e){return r.filter(t=>e.includes(t)).length===r.length}function hu(r){return Object.fromEntries(r.entries())}function du(r){return new Map(Object.entries(r))}function Tn(r=ye.FIVE_MINUTES,e){const t=ye.toMiliseconds(r||ye.FIVE_MINUTES);let i,n,s,f;return{resolve:h=>{s&&i&&(clearTimeout(s),i(h),f=Promise.resolve(h))},reject:h=>{s&&n&&(clearTimeout(s),n(h))},done:()=>new Promise((h,l)=>{if(f)return h(f);s=setTimeout(()=>{const p=new Error(e);f=Promise.reject(p),l(p)},t),i=h,n=l})}}function hn(r,e,t){return new Promise(async(i,n)=>{const s=setTimeout(()=>n(new Error(t)),e);try{const f=await r;i(f)}catch(f){n(f)}clearTimeout(s)})}function uu(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function y5(r){return uu("topic",r)}function w5(r){return uu("id",r)}function lu(r){const[e,t]=r.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function Ct(r,e){return ye.fromMiliseconds((e||Date.now())+ye.toMiliseconds(r))}function dn(r){return Date.now()>=ye.toMiliseconds(r)}function st(r,e){return`${r}${e?`:${e}`:""}`}function x5(r=[],e=[]){return[...new Set([...r,...e])]}async function A5({id:r,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t,s=n?.href;if(typeof s!="string")return;const f=M5(s,r,e),h=ra();if(h===Lr.browser){if(!((i=Sn())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}f.startsWith("https://")||f.startsWith("http://")?window.open(f,"_blank","noreferrer noopener"):window.open(f,E5()?"_blank":"_self","noreferrer noopener")}else h===Lr.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(f)}catch(n){console.error(n)}}function M5(r,e,t){const i=`requestId=${e}&sessionTopic=${t}`;r.endsWith("/")&&(r=r.slice(0,-1));let n=`${r}`;if(r.startsWith("https://t.me")){const s=r.includes("?")?"&startapp=":"?startapp=";n=`${n}${s}${I5(i,!0)}`}else n=`${n}/wc?${i}`;return n}async function S5(r,e){let t="";try{if(ta()&&(t=localStorage.getItem(e),t))return t;t=await r.getItem(e)}catch(i){console.error(i)}return t}function pu(r,e){if(!r.includes(e))return null;const t=r.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function bu(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})}function wc(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function E5(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function I5(r,e=!1){const t=Buffer.from(r).toString("base64");return e?t.replace(/[=]/g,""):t}function vu(r){return Buffer.from(r,"base64").toString("utf-8")}function P5(r){return new Promise(e=>setTimeout(e,r))}const O5="https://rpc.walletconnect.org/v1";async function N5(r,e,t,i,n,s){switch(t.t){case"eip191":return D5(r,e,t.s);case"eip1271":return await R5(r,e,t.s,i,n,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}function D5(r,e,t){return i4(nd(e),t).toLowerCase()===r.toLowerCase()}async function R5(r,e,t,i,n,s){const f=Mo(i);if(!f.namespace||!f.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const h="0x1626ba7e",l="0000000000000000000000000000000000000000000000000000000000000040",p="0000000000000000000000000000000000000000000000000000000000000041",m=t.substring(2),y=nd(e).substring(2),E=h+y+l+p+m,I=await fetch(`${s||O5}/?chainId=${i}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:T5(),jsonrpc:"2.0",method:"eth_call",params:[{to:r,data:E},"latest"]})}),{result:N}=await I.json();return N?N.slice(0,h.length).toLowerCase()===h.toLowerCase():!1}catch(h){return console.error("isValidEip1271Signature: ",h),!1}}function T5(){return Date.now()+Math.floor(Math.random()*1e3)}var C5=Object.defineProperty,F5=Object.defineProperties,q5=Object.getOwnPropertyDescriptors,gu=Object.getOwnPropertySymbols,L5=Object.prototype.hasOwnProperty,B5=Object.prototype.propertyIsEnumerable,mu=(r,e,t)=>e in r?C5(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,U5=(r,e)=>{for(var t in e||(e={}))L5.call(e,t)&&mu(r,t,e[t]);if(gu)for(var t of gu(e))B5.call(e,t)&&mu(r,t,e[t]);return r},z5=(r,e)=>F5(r,q5(e));const k5="did:pkh:",xc=r=>r?.split(":"),V5=r=>{const e=r&&xc(r);if(e)return r.includes(k5)?e[3]:e[1]},Ac=r=>{const e=r&&xc(r);if(e)return e[2]+":"+e[3]},Eo=r=>{const e=r&&xc(r);if(e)return e.pop()};async function yu(r){const{cacao:e,projectId:t}=r,{s:i,p:n}=e,s=wu(n,n.iss),f=Eo(n.iss);return await N5(f,s,i,Ac(n.iss),t)}const wu=(r,e)=>{const t=`${r.domain} wants you to sign in with your Ethereum account:`,i=Eo(e);if(!r.aud&&!r.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let n=r.statement||void 0;const s=`URI: ${r.aud||r.uri}`,f=`Version: ${r.version}`,h=`Chain ID: ${V5(e)}`,l=`Nonce: ${r.nonce}`,p=`Issued At: ${r.iat}`,m=r.exp?`Expiration Time: ${r.exp}`:void 0,y=r.nbf?`Not Before: ${r.nbf}`:void 0,E=r.requestId?`Request ID: ${r.requestId}`:void 0,I=r.resources?`Resources:${r.resources.map(F=>`
|
23
|
-
- ${
|
24
|
-
`)};function H5(r){return Buffer.from(JSON.stringify(r)).toString("base64")}function K5(r){return JSON.parse(Buffer.from(r,"base64").toString("utf-8"))}function Cn(r){if(!r)throw new Error("No recap provided, value is undefined");if(!r.att)throw new Error("No `att` property found");const e=Object.keys(r.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const i=r.att[t];if(Array.isArray(i))throw new Error(`Resource must be an object: ${t}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(i).forEach(n=>{const s=i[n];if(!Array.isArray(s))throw new Error(`Ability limits ${n} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);s.forEach(f=>{if(typeof f!="object")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${f}`)})})})}function j5(r,e,t,i={}){return t?.sort((n,s)=>n.localeCompare(s)),{att:{[r]:Z5(e,t,i)}}}function Z5(r,e,t={}){e=e?.sort((n,s)=>n.localeCompare(s));const i=e.map(n=>({[`${r}/${n}`]:[t]}));return Object.assign({},...i)}function xu(r){return Cn(r),`urn:recap:${H5(r).replace(/=/g,"")}`}function ia(r){const e=K5(r.replace("urn:recap:",""));return Cn(e),e}function W5(r,e,t){const i=j5(r,e,t);return xu(i)}function J5(r){return r&&r.includes("urn:recap:")}function G5(r,e){const t=ia(r),i=ia(e),n=Q5(t,i);return xu(n)}function Q5(r,e){Cn(r),Cn(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((n,s)=>n.localeCompare(s)),i={att:{}};return t.forEach(n=>{var s,f;Object.keys(((s=r.att)==null?void 0:s[n])||{}).concat(Object.keys(((f=e.att)==null?void 0:f[n])||{})).sort((h,l)=>h.localeCompare(l)).forEach(h=>{var l,p;i.att[n]=z5(U5({},i.att[n]),{[h]:((l=r.att[n])==null?void 0:l[h])||((p=e.att[n])==null?void 0:p[h])})})}),i}function Y5(r="",e){Cn(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(r.includes(t))return r;const i=[];let n=0;Object.keys(e.att).forEach(h=>{const l=Object.keys(e.att[h]).map(y=>({ability:y.split("/")[0],action:y.split("/")[1]}));l.sort((y,E)=>y.action.localeCompare(E.action));const p={};l.forEach(y=>{p[y.ability]||(p[y.ability]=[]),p[y.ability].push(y.action)});const m=Object.keys(p).map(y=>(n++,`(${n}) '${y}': '${p[y].join("', '")}' for '${h}'.`));i.push(m.join(", ").replace(".,","."))});const s=i.join(" "),f=`${t}${s}`;return`${r?r+" ":""}${f}`}function Au(r){var e;const t=ia(r);Cn(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(n=>n.split("/")[1]):[]}function Mu(r){const e=ia(r);Cn(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(n=>{var s;(s=n?.[0])!=null&&s.chains&&t.push(n[0].chains)})}),[...new Set(t.flat())]}function Io(r){if(!r)return;const e=r?.[r.length-1];return J5(e)?e:void 0}const Su="base10",xr="base16",un="base64pad",na="base64url",sa="utf8",Eu=0,Ki=1,aa=2,X5=0,Iu=1,oa=12,Mc=32;function _5(){const r=cc.generateKeyPair();return{privateKey:zt(r.secretKey,xr),publicKey:zt(r.publicKey,xr)}}function Sc(){const r=$i.randomBytes(Mc);return zt(r,xr)}function $5(r,e){const t=cc.sharedKey(kt(r,xr),kt(e,xr),!0),i=new v4(_s.SHA256,t).expand(Mc);return zt(i,xr)}function Po(r){const e=_s.hash(kt(r,xr));return zt(e,xr)}function ji(r){const e=_s.hash(kt(r,sa));return zt(e,xr)}function Pu(r){return kt(`${r}`,Su)}function Fn(r){return Number(zt(r,Su))}function em(r){const e=Pu(typeof r.type<"u"?r.type:Eu);if(Fn(e)===Ki&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?kt(r.senderPublicKey,xr):void 0,i=typeof r.iv<"u"?kt(r.iv,xr):$i.randomBytes(oa),n=new ac.ChaCha20Poly1305(kt(r.symKey,xr)).seal(i,kt(r.message,sa));return Ou({type:e,sealed:n,iv:i,senderPublicKey:t,encoding:r.encoding})}function tm(r,e){const t=Pu(aa),i=$i.randomBytes(oa),n=kt(r,sa);return Ou({type:t,sealed:n,iv:i,encoding:e})}function rm(r){const e=new ac.ChaCha20Poly1305(kt(r.symKey,xr)),{sealed:t,iv:i}=fa({encoded:r.encoded,encoding:r?.encoding}),n=e.open(i,t);if(n===null)throw new Error("Failed to decrypt");return zt(n,sa)}function im(r,e){const{sealed:t}=fa({encoded:r,encoding:e});return zt(t,sa)}function Ou(r){const{encoding:e=un}=r;if(Fn(r.type)===aa)return zt(Ja([r.type,r.sealed]),e);if(Fn(r.type)===Ki){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return zt(Ja([r.type,r.senderPublicKey,r.iv,r.sealed]),e)}return zt(Ja([r.type,r.iv,r.sealed]),e)}function fa(r){const{encoded:e,encoding:t=un}=r,i=kt(e,t),n=i.slice(X5,Iu),s=Iu;if(Fn(n)===Ki){const p=s+Mc,m=p+oa,y=i.slice(s,p),E=i.slice(p,m),I=i.slice(m);return{type:n,sealed:I,iv:E,senderPublicKey:y}}if(Fn(n)===aa){const p=i.slice(s),m=$i.randomBytes(oa);return{type:n,sealed:p,iv:m}}const f=s+oa,h=i.slice(s,f),l=i.slice(f);return{type:n,sealed:l,iv:h}}function nm(r,e){const t=fa({encoded:r,encoding:e?.encoding});return Nu({type:Fn(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?zt(t.senderPublicKey,xr):void 0,receiverPublicKey:e?.receiverPublicKey})}function Nu(r){const e=r?.type||Eu;if(e===Ki){if(typeof r?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof r?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r?.senderPublicKey,receiverPublicKey:r?.receiverPublicKey}}function Du(r){return r.type===Ki&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}function Ru(r){return r.type===aa}function sm(r){return new Hd.ec("p256").keyFromPublic({x:Buffer.from(r.x,"base64").toString("hex"),y:Buffer.from(r.y,"base64").toString("hex")},"hex")}function am(r){let e=r.replace(/-/g,"+").replace(/_/g,"/");const t=e.length%4;return t>0&&(e+="=".repeat(4-t)),e}function om(r){return Buffer.from(am(r),"base64")}function fm(r,e){const[t,i,n]=r.split("."),s=om(n);if(s.length!==64)throw new Error("Invalid signature length");const f=s.slice(0,32).toString("hex"),h=s.slice(32,64).toString("hex"),l=`${t}.${i}`,p=new _s.SHA256().update(Buffer.from(l)).digest(),m=sm(e),y=Buffer.from(p).toString("hex");if(!m.verify(y,{r:f,s:h}))throw new Error("Invalid signature");return Ff(r).payload}const cm="irn";function Oo(r){return r?.relay||{protocol:cm}}function ca(r){const e=a5[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var hm=Object.defineProperty,dm=Object.defineProperties,um=Object.getOwnPropertyDescriptors,Tu=Object.getOwnPropertySymbols,lm=Object.prototype.hasOwnProperty,pm=Object.prototype.propertyIsEnumerable,Cu=(r,e,t)=>e in r?hm(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fu=(r,e)=>{for(var t in e||(e={}))lm.call(e,t)&&Cu(r,t,e[t]);if(Tu)for(var t of Tu(e))pm.call(e,t)&&Cu(r,t,e[t]);return r},bm=(r,e)=>dm(r,um(e));function vm(r,e="-"){const t={},i="relay"+e;return Object.keys(r).forEach(n=>{if(n.startsWith(i)){const s=n.replace(i,""),f=r[n];t[s]=f}}),t}function qu(r){if(!r.includes("wc:")){const l=vu(r);l!=null&&l.includes("wc:")&&(r=l)}r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,i=r.substring(0,e),n=r.substring(e+1,t).split("@"),s=typeof t<"u"?r.substring(t):"",f=Ks.parse(s),h=typeof f.methods=="string"?f.methods.split(","):void 0;return{protocol:i,topic:gm(n[0]),version:parseInt(n[1],10),symKey:f.symKey,relay:vm(f),methods:h,expiryTimestamp:f.expiryTimestamp?parseInt(f.expiryTimestamp,10):void 0}}function gm(r){return r.startsWith("//")?r.substring(2):r}function mm(r,e="-"){const t="relay",i={};return Object.keys(r).forEach(n=>{const s=t+e+n;r[n]&&(i[s]=r[n])}),i}function Lu(r){return`${r.protocol}:${r.topic}@${r.version}?`+Ks.stringify(Fu(bm(Fu({symKey:r.symKey},mm(r.relay)),{expiryTimestamp:r.expiryTimestamp}),r.methods?{methods:r.methods.join(",")}:{}))}function No(r,e,t){return`${r}?wc_ev=${t}&topic=${e}`}function ws(r){const e=[];return r.forEach(t=>{const[i,n]=t.split(":");e.push(`${i}:${n}`)}),e}function ym(r){const e=[];return Object.values(r).forEach(t=>{e.push(...ws(t.accounts))}),e}function wm(r,e){const t=[];return Object.values(r).forEach(i=>{ws(i.accounts).includes(e)&&t.push(...i.methods)}),t}function xm(r,e){const t=[];return Object.values(r).forEach(i=>{ws(i.accounts).includes(e)&&t.push(...i.events)}),t}function Am(r){const e={};return r?.forEach(t=>{const[i,n]=t.split(":");e[i]||(e[i]={accounts:[],chains:[],events:[]}),e[i].accounts.push(t),e[i].chains.push(`${i}:${n}`)}),e}function Bu(r,e){e=e.map(i=>i.replace("did:pkh:",""));const t=Am(e);for(const[i,n]of Object.entries(t))n.methods?n.methods=x5(n.methods,r):n.methods=r,n.events=["chainChanged","accountsChanged"];return t}const Mm={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},Sm={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function Ee(r,e){const{message:t,code:i}=Sm[r];return{message:e?`${t} ${e}`:t,code:i}}function gt(r,e){const{message:t,code:i}=Mm[r];return{message:e?`${t} ${e}`:t,code:i}}function Do(r,e){return Array.isArray(r)?typeof e<"u"&&r.length?r.every(e):!0:!1}function Ro(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function Ar(r){return typeof r>"u"}function Dt(r,e){return e&&Ar(r)?!0:typeof r=="string"&&!!r.trim().length}function Ec(r,e){return e&&Ar(r)?!0:typeof r=="number"&&!isNaN(r)}function Em(r,e){const{requiredNamespaces:t}=e,i=Object.keys(r.namespaces),n=Object.keys(t);let s=!0;return Rn(n,i)?(i.forEach(f=>{const{accounts:h,methods:l,events:p}=r.namespaces[f],m=ws(h),y=t[f];(!Rn(iu(f,y),m)||!Rn(y.methods,l)||!Rn(y.events,p))&&(s=!1)}),s):!1}function To(r){return Dt(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function Im(r){if(Dt(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&To(t)}}return!1}function Pm(r){function e(t){try{return typeof new URL(t)<"u"}catch{return!1}}try{if(Dt(r,!1)){if(e(r))return!0;const t=vu(r);return e(t)}}catch{}return!1}function Om(r){var e;return(e=r?.proposer)==null?void 0:e.publicKey}function Nm(r){return r?.topic}function Dm(r,e){let t=null;return Dt(r?.publicKey,!1)||(t=Ee("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function Uu(r){let e=!0;return Do(r)?r.length&&(e=r.every(t=>Dt(t,!1))):e=!1,e}function Rm(r,e,t){let i=null;return Do(e)&&e.length?e.forEach(n=>{i||To(n)||(i=gt("UNSUPPORTED_CHAINS",`${t}, chain ${n} should be a string and conform to "namespace:chainId" format`))}):To(r)||(i=gt("UNSUPPORTED_CHAINS",`${t}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),i}function Tm(r,e,t){let i=null;return Object.entries(r).forEach(([n,s])=>{if(i)return;const f=Rm(n,iu(n,s),`${e} ${t}`);f&&(i=f)}),i}function Cm(r,e){let t=null;return Do(r)?r.forEach(i=>{t||Im(i)||(t=gt("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=gt("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function Fm(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=Cm(i?.accounts,`${e} namespace`);n&&(t=n)}),t}function qm(r,e){let t=null;return Uu(r?.methods)?Uu(r?.events)||(t=gt("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=gt("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function zu(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=qm(i,`${e}, namespace`);n&&(t=n)}),t}function Lm(r,e,t){let i=null;if(r&&Ro(r)){const n=zu(r,e);n&&(i=n);const s=Tm(r,e,t);s&&(i=s)}else i=Ee("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function Ic(r,e){let t=null;if(r&&Ro(r)){const i=zu(r,e);i&&(t=i);const n=Fm(r,e);n&&(t=n)}else t=Ee("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function ku(r){return Dt(r.protocol,!0)}function Bm(r,e){let t=!1;return e&&!r?t=!0:r&&Do(r)&&r.length&&r.forEach(i=>{t=ku(i)}),t}function Um(r){return typeof r=="number"}function Dr(r){return typeof r<"u"&&typeof r!==null}function zm(r){return!(!r||typeof r!="object"||!r.code||!Ec(r.code,!1)||!r.message||!Dt(r.message,!1))}function km(r){return!(Ar(r)||!Dt(r.method,!1))}function Vm(r){return!(Ar(r)||Ar(r.result)&&Ar(r.error)||!Ec(r.id,!1)||!Dt(r.jsonrpc,!1))}function Hm(r){return!(Ar(r)||!Dt(r.name,!1))}function Vu(r,e){return!(!To(e)||!ym(r).includes(e))}function Km(r,e,t){return Dt(t,!1)?wm(r,e).includes(t):!1}function jm(r,e,t){return Dt(t,!1)?xm(r,e).includes(t):!1}function Hu(r,e,t){let i=null;const n=Zm(r),s=Wm(e),f=Object.keys(n),h=Object.keys(s),l=Ku(Object.keys(r)),p=Ku(Object.keys(e)),m=l.filter(y=>!p.includes(y));return m.length&&(i=Ee("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces.
|
25
|
-
Required: ${
|
26
|
-
Received: ${Object.keys(e).toString()}`)),
|
27
|
-
Required: ${
|
28
|
-
Approved: ${
|
21
|
+
*/(function(t){(function(){var e="input is invalid type",r="finalize already called",i=typeof window=="object",n=i?window:{};n.JS_SHA3_NO_WINDOW&&(i=!1);var s=!i&&typeof self=="object",o=!n.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=Nt:s&&(n=self);var a=!n.JS_SHA3_NO_COMMON_JS&&!0&&t.exports,c=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",h="0123456789abcdef".split(""),l=[31,7936,2031616,520093696],y=[4,1024,262144,67108864],M=[1,256,65536,16777216],I=[6,1536,393216,100663296],S=[0,8,16,24],D=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],R=[224,256,384,512],$=[128,256],T=["hex","buffer","arrayBuffer","array","digest"],C={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}),c&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(x){return typeof x=="object"&&x.buffer&&x.buffer.constructor===ArrayBuffer});for(var L=function(x,N,B){return function(q){return new v(x,N,x).update(q)[B]()}},k=function(x,N,B){return function(q,z){return new v(x,N,z).update(q)[B]()}},j=function(x,N,B){return function(q,z,J,X){return f["cshake"+x].update(q,z,J,X)[B]()}},G=function(x,N,B){return function(q,z,J,X){return f["kmac"+x].update(q,z,J,X)[B]()}},K=function(x,N,B,q){for(var z=0;z<T.length;++z){var J=T[z];x[J]=N(B,q,J)}return x},V=function(x,N){var B=L(x,N,"hex");return B.create=function(){return new v(x,N,x)},B.update=function(q){return B.create().update(q)},K(B,L,x,N)},re=function(x,N){var B=k(x,N,"hex");return B.create=function(q){return new v(x,N,q)},B.update=function(q,z){return B.create(z).update(q)},K(B,k,x,N)},O=function(x,N){var B=C[x],q=j(x,N,"hex");return q.create=function(z,J,X){return!J&&!X?f["shake"+x].create(z):new v(x,N,z).bytepad([J,X],B)},q.update=function(z,J,X,W){return q.create(J,X,W).update(z)},K(q,j,x,N)},g=function(x,N){var B=C[x],q=G(x,N,"hex");return q.create=function(z,J,X){return new A(x,N,J).bytepad(["KMAC",X],B).bytepad([z],B)},q.update=function(z,J,X,W){return q.create(z,X,W).update(J)},K(q,G,x,N)},p=[{name:"keccak",padding:M,bits:R,createMethod:V},{name:"sha3",padding:I,bits:R,createMethod:V},{name:"shake",padding:l,bits:$,createMethod:re},{name:"cshake",padding:y,bits:$,createMethod:O},{name:"kmac",padding:y,bits:$,createMethod:g}],f={},u=[],b=0;b<p.length;++b)for(var _=p[b],E=_.bits,w=0;w<E.length;++w){var d=_.name+"_"+E[w];if(u.push(d),f[d]=_.createMethod(E[w],_.padding),_.name!=="sha3"){var m=_.name+E[w];u.push(m),f[m]=f[d]}}function v(x,N,B){this.blocks=[],this.s=[],this.padding=N,this.outputBits=B,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(x<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=B>>5,this.extraBytes=(B&31)>>3;for(var q=0;q<50;++q)this.s[q]=0}v.prototype.update=function(x){if(this.finalized)throw new Error(r);var N,B=typeof x;if(B!=="string"){if(B==="object"){if(x===null)throw new Error(e);if(c&&x.constructor===ArrayBuffer)x=new Uint8Array(x);else if(!Array.isArray(x)&&(!c||!ArrayBuffer.isView(x)))throw new Error(e)}else throw new Error(e);N=!0}for(var q=this.blocks,z=this.byteCount,J=x.length,X=this.blockCount,W=0,ne=this.s,Q,ee;W<J;){if(this.reset)for(this.reset=!1,q[0]=this.block,Q=1;Q<X+1;++Q)q[Q]=0;if(N)for(Q=this.start;W<J&&Q<z;++W)q[Q>>2]|=x[W]<<S[Q++&3];else for(Q=this.start;W<J&&Q<z;++W)ee=x.charCodeAt(W),ee<128?q[Q>>2]|=ee<<S[Q++&3]:ee<2048?(q[Q>>2]|=(192|ee>>6)<<S[Q++&3],q[Q>>2]|=(128|ee&63)<<S[Q++&3]):ee<55296||ee>=57344?(q[Q>>2]|=(224|ee>>12)<<S[Q++&3],q[Q>>2]|=(128|ee>>6&63)<<S[Q++&3],q[Q>>2]|=(128|ee&63)<<S[Q++&3]):(ee=65536+((ee&1023)<<10|x.charCodeAt(++W)&1023),q[Q>>2]|=(240|ee>>18)<<S[Q++&3],q[Q>>2]|=(128|ee>>12&63)<<S[Q++&3],q[Q>>2]|=(128|ee>>6&63)<<S[Q++&3],q[Q>>2]|=(128|ee&63)<<S[Q++&3]);if(this.lastByteIndex=Q,Q>=z){for(this.start=Q-z,this.block=q[X],Q=0;Q<X;++Q)ne[Q]^=q[Q];U(ne),this.reset=!0}else this.start=Q}return this},v.prototype.encode=function(x,N){var B=x&255,q=1,z=[B];for(x=x>>8,B=x&255;B>0;)z.unshift(B),x=x>>8,B=x&255,++q;return N?z.push(q):z.unshift(q),this.update(z),z.length},v.prototype.encodeString=function(x){var N,B=typeof x;if(B!=="string"){if(B==="object"){if(x===null)throw new Error(e);if(c&&x.constructor===ArrayBuffer)x=new Uint8Array(x);else if(!Array.isArray(x)&&(!c||!ArrayBuffer.isView(x)))throw new Error(e)}else throw new Error(e);N=!0}var q=0,z=x.length;if(N)q=z;else for(var J=0;J<x.length;++J){var X=x.charCodeAt(J);X<128?q+=1:X<2048?q+=2:X<55296||X>=57344?q+=3:(X=65536+((X&1023)<<10|x.charCodeAt(++J)&1023),q+=4)}return q+=this.encode(q*8),this.update(x),q},v.prototype.bytepad=function(x,N){for(var B=this.encode(N),q=0;q<x.length;++q)B+=this.encodeString(x[q]);var z=N-B%N,J=[];return J.length=z,this.update(J),this},v.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var x=this.blocks,N=this.lastByteIndex,B=this.blockCount,q=this.s;if(x[N>>2]|=this.padding[N&3],this.lastByteIndex===this.byteCount)for(x[0]=x[B],N=1;N<B+1;++N)x[N]=0;for(x[B-1]|=2147483648,N=0;N<B;++N)q[N]^=x[N];U(q)}},v.prototype.toString=v.prototype.hex=function(){this.finalize();for(var x=this.blockCount,N=this.s,B=this.outputBlocks,q=this.extraBytes,z=0,J=0,X="",W;J<B;){for(z=0;z<x&&J<B;++z,++J)W=N[z],X+=h[W>>4&15]+h[W&15]+h[W>>12&15]+h[W>>8&15]+h[W>>20&15]+h[W>>16&15]+h[W>>28&15]+h[W>>24&15];J%x===0&&(U(N),z=0)}return q&&(W=N[z],X+=h[W>>4&15]+h[W&15],q>1&&(X+=h[W>>12&15]+h[W>>8&15]),q>2&&(X+=h[W>>20&15]+h[W>>16&15])),X},v.prototype.arrayBuffer=function(){this.finalize();var x=this.blockCount,N=this.s,B=this.outputBlocks,q=this.extraBytes,z=0,J=0,X=this.outputBits>>3,W;q?W=new ArrayBuffer(B+1<<2):W=new ArrayBuffer(X);for(var ne=new Uint32Array(W);J<B;){for(z=0;z<x&&J<B;++z,++J)ne[J]=N[z];J%x===0&&U(N)}return q&&(ne[z]=N[z],W=W.slice(0,X)),W},v.prototype.buffer=v.prototype.arrayBuffer,v.prototype.digest=v.prototype.array=function(){this.finalize();for(var x=this.blockCount,N=this.s,B=this.outputBlocks,q=this.extraBytes,z=0,J=0,X=[],W,ne;J<B;){for(z=0;z<x&&J<B;++z,++J)W=J<<2,ne=N[z],X[W]=ne&255,X[W+1]=ne>>8&255,X[W+2]=ne>>16&255,X[W+3]=ne>>24&255;J%x===0&&U(N)}return q&&(W=J<<2,ne=N[z],X[W]=ne&255,q>1&&(X[W+1]=ne>>8&255),q>2&&(X[W+2]=ne>>16&255)),X};function A(x,N,B){v.call(this,x,N,B)}A.prototype=new v,A.prototype.finalize=function(){return this.encode(this.outputBits,!0),v.prototype.finalize.call(this)};var U=function(x){var N,B,q,z,J,X,W,ne,Q,ee,qe,Ue,he,Pe,Re,ae,$e,Ne,ce,Te,Fe,oe,De,Ce,ie,Ve,He,pe,We,Be,de,Ge,Xe,se,Je,Ze,ge,ze,Oe,ue,ke,je,fe,Qe,et,be,tt,rt,le,Ke,Ae,ve,it,nt,ye,st,xe,Ye,ar,fr,cr,hr,wt;for(q=0;q<48;q+=2)z=x[0]^x[10]^x[20]^x[30]^x[40],J=x[1]^x[11]^x[21]^x[31]^x[41],X=x[2]^x[12]^x[22]^x[32]^x[42],W=x[3]^x[13]^x[23]^x[33]^x[43],ne=x[4]^x[14]^x[24]^x[34]^x[44],Q=x[5]^x[15]^x[25]^x[35]^x[45],ee=x[6]^x[16]^x[26]^x[36]^x[46],qe=x[7]^x[17]^x[27]^x[37]^x[47],Ue=x[8]^x[18]^x[28]^x[38]^x[48],he=x[9]^x[19]^x[29]^x[39]^x[49],N=Ue^(X<<1|W>>>31),B=he^(W<<1|X>>>31),x[0]^=N,x[1]^=B,x[10]^=N,x[11]^=B,x[20]^=N,x[21]^=B,x[30]^=N,x[31]^=B,x[40]^=N,x[41]^=B,N=z^(ne<<1|Q>>>31),B=J^(Q<<1|ne>>>31),x[2]^=N,x[3]^=B,x[12]^=N,x[13]^=B,x[22]^=N,x[23]^=B,x[32]^=N,x[33]^=B,x[42]^=N,x[43]^=B,N=X^(ee<<1|qe>>>31),B=W^(qe<<1|ee>>>31),x[4]^=N,x[5]^=B,x[14]^=N,x[15]^=B,x[24]^=N,x[25]^=B,x[34]^=N,x[35]^=B,x[44]^=N,x[45]^=B,N=ne^(Ue<<1|he>>>31),B=Q^(he<<1|Ue>>>31),x[6]^=N,x[7]^=B,x[16]^=N,x[17]^=B,x[26]^=N,x[27]^=B,x[36]^=N,x[37]^=B,x[46]^=N,x[47]^=B,N=ee^(z<<1|J>>>31),B=qe^(J<<1|z>>>31),x[8]^=N,x[9]^=B,x[18]^=N,x[19]^=B,x[28]^=N,x[29]^=B,x[38]^=N,x[39]^=B,x[48]^=N,x[49]^=B,Pe=x[0],Re=x[1],be=x[11]<<4|x[10]>>>28,tt=x[10]<<4|x[11]>>>28,pe=x[20]<<3|x[21]>>>29,We=x[21]<<3|x[20]>>>29,fr=x[31]<<9|x[30]>>>23,cr=x[30]<<9|x[31]>>>23,je=x[40]<<18|x[41]>>>14,fe=x[41]<<18|x[40]>>>14,se=x[2]<<1|x[3]>>>31,Je=x[3]<<1|x[2]>>>31,ae=x[13]<<12|x[12]>>>20,$e=x[12]<<12|x[13]>>>20,rt=x[22]<<10|x[23]>>>22,le=x[23]<<10|x[22]>>>22,Be=x[33]<<13|x[32]>>>19,de=x[32]<<13|x[33]>>>19,hr=x[42]<<2|x[43]>>>30,wt=x[43]<<2|x[42]>>>30,nt=x[5]<<30|x[4]>>>2,ye=x[4]<<30|x[5]>>>2,Ze=x[14]<<6|x[15]>>>26,ge=x[15]<<6|x[14]>>>26,Ne=x[25]<<11|x[24]>>>21,ce=x[24]<<11|x[25]>>>21,Ke=x[34]<<15|x[35]>>>17,Ae=x[35]<<15|x[34]>>>17,Ge=x[45]<<29|x[44]>>>3,Xe=x[44]<<29|x[45]>>>3,Ce=x[6]<<28|x[7]>>>4,ie=x[7]<<28|x[6]>>>4,st=x[17]<<23|x[16]>>>9,xe=x[16]<<23|x[17]>>>9,ze=x[26]<<25|x[27]>>>7,Oe=x[27]<<25|x[26]>>>7,Te=x[36]<<21|x[37]>>>11,Fe=x[37]<<21|x[36]>>>11,ve=x[47]<<24|x[46]>>>8,it=x[46]<<24|x[47]>>>8,Qe=x[8]<<27|x[9]>>>5,et=x[9]<<27|x[8]>>>5,Ve=x[18]<<20|x[19]>>>12,He=x[19]<<20|x[18]>>>12,Ye=x[29]<<7|x[28]>>>25,ar=x[28]<<7|x[29]>>>25,ue=x[38]<<8|x[39]>>>24,ke=x[39]<<8|x[38]>>>24,oe=x[48]<<14|x[49]>>>18,De=x[49]<<14|x[48]>>>18,x[0]=Pe^~ae&Ne,x[1]=Re^~$e&ce,x[10]=Ce^~Ve&pe,x[11]=ie^~He&We,x[20]=se^~Ze&ze,x[21]=Je^~ge&Oe,x[30]=Qe^~be&rt,x[31]=et^~tt&le,x[40]=nt^~st&Ye,x[41]=ye^~xe&ar,x[2]=ae^~Ne&Te,x[3]=$e^~ce&Fe,x[12]=Ve^~pe&Be,x[13]=He^~We&de,x[22]=Ze^~ze&ue,x[23]=ge^~Oe&ke,x[32]=be^~rt&Ke,x[33]=tt^~le&Ae,x[42]=st^~Ye&fr,x[43]=xe^~ar&cr,x[4]=Ne^~Te&oe,x[5]=ce^~Fe&De,x[14]=pe^~Be&Ge,x[15]=We^~de&Xe,x[24]=ze^~ue&je,x[25]=Oe^~ke&fe,x[34]=rt^~Ke&ve,x[35]=le^~Ae&it,x[44]=Ye^~fr&hr,x[45]=ar^~cr&wt,x[6]=Te^~oe&Pe,x[7]=Fe^~De&Re,x[16]=Be^~Ge&Ce,x[17]=de^~Xe&ie,x[26]=ue^~je&se,x[27]=ke^~fe&Je,x[36]=Ke^~ve&Qe,x[37]=Ae^~it&et,x[46]=fr^~hr&nt,x[47]=cr^~wt&ye,x[8]=oe^~Pe&ae,x[9]=De^~Re&$e,x[18]=Ge^~Ce&Ve,x[19]=Xe^~ie&He,x[28]=je^~se&Ze,x[29]=fe^~Je&ge,x[38]=ve^~Qe&be,x[39]=it^~et&tt,x[48]=hr^~nt&st,x[49]=wt^~ye&xe,x[0]^=D[q],x[1]^=D[q+1]};if(a)t.exports=f;else for(b=0;b<u.length;++b)n[u[b]]=f[u[b]]})()})(Eu);var ky=Eu.exports;function Su(t){return"0x"+ky.keccak_256(xt(t))}const jy="rlp/5.7.0";new Ee(jy);const Ky="address/5.7.0",vs=new Ee(Ky);function Mu(t){ur(t,20)||vs.throwArgumentError("invalid address","address",t),t=t.toLowerCase();const e=t.substring(2).split(""),r=new Uint8Array(40);for(let n=0;n<40;n++)r[n]=e[n].charCodeAt(0);const i=xt(Su(r));for(let n=0;n<40;n+=2)i[n>>1]>>4>=8&&(e[n]=e[n].toUpperCase()),(i[n>>1]&15)>=8&&(e[n+1]=e[n+1].toUpperCase());return"0x"+e.join("")}const Vy=9007199254740991;function Hy(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}const nf={};for(let t=0;t<10;t++)nf[String(t)]=String(t);for(let t=0;t<26;t++)nf[String.fromCharCode(65+t)]=String(10+t);const Iu=Math.floor(Hy(Vy));function Wy(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(i=>nf[i]).join("");for(;e.length>=Iu;){let i=e.substring(0,Iu);e=parseInt(i,10)%97+e.substring(i.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function Gy(t){let e=null;if(typeof t!="string"&&vs.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=Mu(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&vs.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==Wy(t)&&vs.throwArgumentError("bad icap checksum","address",t),e=Uy(t.substring(4));e.length<40;)e="0"+e;e=Mu("0x"+e)}else vs.throwArgumentError("invalid address","address",t);return e}const Jy="properties/5.7.0";new Ee(Jy);function ys(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}var dr={},Ie={},sn=Au;function Au(t,e){if(!t)throw new Error(e||"Assertion failed")}Au.equal=function(e,r,i){if(e!=r)throw new Error(i||"Assertion failed: "+e+" != "+r)};var Fn={exports:{}};typeof Object.create=="function"?Fn.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Fn.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}};var Yy=sn,Xy=Fn.exports;Ie.inherits=Xy;function Zy(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function Qy(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(var i=0,n=0;n<t.length;n++){var s=t.charCodeAt(n);s<128?r[i++]=s:s<2048?(r[i++]=s>>6|192,r[i++]=s&63|128):Zy(t,n)?(s=65536+((s&1023)<<10)+(t.charCodeAt(++n)&1023),r[i++]=s>>18|240,r[i++]=s>>12&63|128,r[i++]=s>>6&63|128,r[i++]=s&63|128):(r[i++]=s>>12|224,r[i++]=s>>6&63|128,r[i++]=s&63|128)}else for(n=0;n<t.length;n++)r[n]=t[n]|0;return r}Ie.toArray=Qy;function em(t){for(var e="",r=0;r<t.length;r++)e+=Ou(t[r].toString(16));return e}Ie.toHex=em;function Du(t){var e=t>>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}Ie.htonl=Du;function tm(t,e){for(var r="",i=0;i<t.length;i++){var n=t[i];e==="little"&&(n=Du(n)),r+=Pu(n.toString(16))}return r}Ie.toHex32=tm;function Ou(t){return t.length===1?"0"+t:t}Ie.zero2=Ou;function Pu(t){return t.length===7?"0"+t:t.length===6?"00"+t:t.length===5?"000"+t:t.length===4?"0000"+t:t.length===3?"00000"+t:t.length===2?"000000"+t:t.length===1?"0000000"+t:t}Ie.zero8=Pu;function rm(t,e,r,i){var n=r-e;Yy(n%4===0);for(var s=new Array(n/4),o=0,a=e;o<s.length;o++,a+=4){var c;i==="big"?c=t[a]<<24|t[a+1]<<16|t[a+2]<<8|t[a+3]:c=t[a+3]<<24|t[a+2]<<16|t[a+1]<<8|t[a],s[o]=c>>>0}return s}Ie.join32=rm;function im(t,e){for(var r=new Array(t.length*4),i=0,n=0;i<t.length;i++,n+=4){var s=t[i];e==="big"?(r[n]=s>>>24,r[n+1]=s>>>16&255,r[n+2]=s>>>8&255,r[n+3]=s&255):(r[n+3]=s>>>24,r[n+2]=s>>>16&255,r[n+1]=s>>>8&255,r[n]=s&255)}return r}Ie.split32=im;function nm(t,e){return t>>>e|t<<32-e}Ie.rotr32=nm;function sm(t,e){return t<<e|t>>>32-e}Ie.rotl32=sm;function om(t,e){return t+e>>>0}Ie.sum32=om;function am(t,e,r){return t+e+r>>>0}Ie.sum32_3=am;function fm(t,e,r,i){return t+e+r+i>>>0}Ie.sum32_4=fm;function cm(t,e,r,i,n){return t+e+r+i+n>>>0}Ie.sum32_5=cm;function hm(t,e,r,i){var n=t[e],s=t[e+1],o=i+s>>>0,a=(o<i?1:0)+r+n;t[e]=a>>>0,t[e+1]=o}Ie.sum64=hm;function um(t,e,r,i){var n=e+i>>>0,s=(n<e?1:0)+t+r;return s>>>0}Ie.sum64_hi=um;function dm(t,e,r,i){var n=e+i;return n>>>0}Ie.sum64_lo=dm;function lm(t,e,r,i,n,s,o,a){var c=0,h=e;h=h+i>>>0,c+=h<e?1:0,h=h+s>>>0,c+=h<s?1:0,h=h+a>>>0,c+=h<a?1:0;var l=t+r+n+o+c;return l>>>0}Ie.sum64_4_hi=lm;function pm(t,e,r,i,n,s,o,a){var c=e+i+s+a;return c>>>0}Ie.sum64_4_lo=pm;function gm(t,e,r,i,n,s,o,a,c,h){var l=0,y=e;y=y+i>>>0,l+=y<e?1:0,y=y+s>>>0,l+=y<s?1:0,y=y+a>>>0,l+=y<a?1:0,y=y+h>>>0,l+=y<h?1:0;var M=t+r+n+o+c+l;return M>>>0}Ie.sum64_5_hi=gm;function bm(t,e,r,i,n,s,o,a,c,h){var l=e+i+s+a+h;return l>>>0}Ie.sum64_5_lo=bm;function vm(t,e,r){var i=e<<32-r|t>>>r;return i>>>0}Ie.rotr64_hi=vm;function ym(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}Ie.rotr64_lo=ym;function mm(t,e,r){return t>>>r}Ie.shr64_hi=mm;function wm(t,e,r){var i=t<<32-r|e>>>r;return i>>>0}Ie.shr64_lo=wm;var Cn={},Ru=Ie,_m=sn;function yo(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}Cn.BlockHash=yo,yo.prototype.update=function(e,r){if(e=Ru.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var i=e.length%this._delta8;this.pending=e.slice(e.length-i,e.length),this.pending.length===0&&(this.pending=null),e=Ru.join32(e,0,e.length-i,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this},yo.prototype.digest=function(e){return this.update(this._pad()),_m(this.pending===null),this._digest(e)},yo.prototype._pad=function(){var e=this.pendingTotal,r=this._delta8,i=r-(e+this.padLength)%r,n=new Array(i+this.padLength);n[0]=128;for(var s=1;s<i;s++)n[s]=0;if(e<<=3,this.endian==="big"){for(var o=8;o<this.padLength;o++)n[s++]=0;n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=e>>>24&255,n[s++]=e>>>16&255,n[s++]=e>>>8&255,n[s++]=e&255}else for(n[s++]=e&255,n[s++]=e>>>8&255,n[s++]=e>>>16&255,n[s++]=e>>>24&255,n[s++]=0,n[s++]=0,n[s++]=0,n[s++]=0,o=8;o<this.padLength;o++)n[s++]=0;return n};var Bn={},Hr={},xm=Ie,Wr=xm.rotr32;function Em(t,e,r,i){if(t===0)return $u(e,r,i);if(t===1||t===3)return Tu(e,r,i);if(t===2)return Nu(e,r,i)}Hr.ft_1=Em;function $u(t,e,r){return t&e^~t&r}Hr.ch32=$u;function Nu(t,e,r){return t&e^t&r^e&r}Hr.maj32=Nu;function Tu(t,e,r){return t^e^r}Hr.p32=Tu;function Sm(t){return Wr(t,2)^Wr(t,13)^Wr(t,22)}Hr.s0_256=Sm;function Mm(t){return Wr(t,6)^Wr(t,11)^Wr(t,25)}Hr.s1_256=Mm;function Im(t){return Wr(t,7)^Wr(t,18)^t>>>3}Hr.g0_256=Im;function Am(t){return Wr(t,17)^Wr(t,19)^t>>>10}Hr.g1_256=Am;var Ln=Ie,Dm=Cn,Om=Hr,sf=Ln.rotl32,ms=Ln.sum32,Pm=Ln.sum32_5,Rm=Om.ft_1,Fu=Dm.BlockHash,$m=[1518500249,1859775393,2400959708,3395469782];function Gr(){if(!(this instanceof Gr))return new Gr;Fu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}Ln.inherits(Gr,Fu);var Nm=Gr;Gr.blockSize=512,Gr.outSize=160,Gr.hmacStrength=80,Gr.padLength=64,Gr.prototype._update=function(e,r){for(var i=this.W,n=0;n<16;n++)i[n]=e[r+n];for(;n<i.length;n++)i[n]=sf(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var s=this.h[0],o=this.h[1],a=this.h[2],c=this.h[3],h=this.h[4];for(n=0;n<i.length;n++){var l=~~(n/20),y=Pm(sf(s,5),Rm(l,o,a,c),h,i[n],$m[l]);h=c,c=a,a=sf(o,30),o=s,s=y}this.h[0]=ms(this.h[0],s),this.h[1]=ms(this.h[1],o),this.h[2]=ms(this.h[2],a),this.h[3]=ms(this.h[3],c),this.h[4]=ms(this.h[4],h)},Gr.prototype._digest=function(e){return e==="hex"?Ln.toHex32(this.h,"big"):Ln.split32(this.h,"big")};var qn=Ie,Tm=Cn,Un=Hr,Fm=sn,Fr=qn.sum32,Cm=qn.sum32_4,Bm=qn.sum32_5,Lm=Un.ch32,qm=Un.maj32,Um=Un.s0_256,zm=Un.s1_256,km=Un.g0_256,jm=Un.g1_256,Cu=Tm.BlockHash,Km=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Jr(){if(!(this instanceof Jr))return new Jr;Cu.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Km,this.W=new Array(64)}qn.inherits(Jr,Cu);var Bu=Jr;Jr.blockSize=512,Jr.outSize=256,Jr.hmacStrength=192,Jr.padLength=64,Jr.prototype._update=function(e,r){for(var i=this.W,n=0;n<16;n++)i[n]=e[r+n];for(;n<i.length;n++)i[n]=Cm(jm(i[n-2]),i[n-7],km(i[n-15]),i[n-16]);var s=this.h[0],o=this.h[1],a=this.h[2],c=this.h[3],h=this.h[4],l=this.h[5],y=this.h[6],M=this.h[7];for(Fm(this.k.length===i.length),n=0;n<i.length;n++){var I=Bm(M,zm(h),Lm(h,l,y),this.k[n],i[n]),S=Fr(Um(s),qm(s,o,a));M=y,y=l,l=h,h=Fr(c,I),c=a,a=o,o=s,s=Fr(I,S)}this.h[0]=Fr(this.h[0],s),this.h[1]=Fr(this.h[1],o),this.h[2]=Fr(this.h[2],a),this.h[3]=Fr(this.h[3],c),this.h[4]=Fr(this.h[4],h),this.h[5]=Fr(this.h[5],l),this.h[6]=Fr(this.h[6],y),this.h[7]=Fr(this.h[7],M)},Jr.prototype._digest=function(e){return e==="hex"?qn.toHex32(this.h,"big"):qn.split32(this.h,"big")};var of=Ie,Lu=Bu;function di(){if(!(this instanceof di))return new di;Lu.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}of.inherits(di,Lu);var Vm=di;di.blockSize=512,di.outSize=224,di.hmacStrength=192,di.padLength=64,di.prototype._digest=function(e){return e==="hex"?of.toHex32(this.h.slice(0,7),"big"):of.split32(this.h.slice(0,7),"big")};var nr=Ie,Hm=Cn,Wm=sn,Yr=nr.rotr64_hi,Xr=nr.rotr64_lo,qu=nr.shr64_hi,Uu=nr.shr64_lo,Ci=nr.sum64,af=nr.sum64_hi,ff=nr.sum64_lo,Gm=nr.sum64_4_hi,Jm=nr.sum64_4_lo,Ym=nr.sum64_5_hi,Xm=nr.sum64_5_lo,zu=Hm.BlockHash,Zm=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Cr(){if(!(this instanceof Cr))return new Cr;zu.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Zm,this.W=new Array(160)}nr.inherits(Cr,zu);var ku=Cr;Cr.blockSize=1024,Cr.outSize=512,Cr.hmacStrength=192,Cr.padLength=128,Cr.prototype._prepareBlock=function(e,r){for(var i=this.W,n=0;n<32;n++)i[n]=e[r+n];for(;n<i.length;n+=2){var s=c2(i[n-4],i[n-3]),o=h2(i[n-4],i[n-3]),a=i[n-14],c=i[n-13],h=a2(i[n-30],i[n-29]),l=f2(i[n-30],i[n-29]),y=i[n-32],M=i[n-31];i[n]=Gm(s,o,a,c,h,l,y,M),i[n+1]=Jm(s,o,a,c,h,l,y,M)}},Cr.prototype._update=function(e,r){this._prepareBlock(e,r);var i=this.W,n=this.h[0],s=this.h[1],o=this.h[2],a=this.h[3],c=this.h[4],h=this.h[5],l=this.h[6],y=this.h[7],M=this.h[8],I=this.h[9],S=this.h[10],D=this.h[11],R=this.h[12],$=this.h[13],T=this.h[14],C=this.h[15];Wm(this.k.length===i.length);for(var L=0;L<i.length;L+=2){var k=T,j=C,G=s2(M,I),K=o2(M,I),V=Qm(M,I,S,D,R),re=e2(M,I,S,D,R,$),O=this.k[L],g=this.k[L+1],p=i[L],f=i[L+1],u=Ym(k,j,G,K,V,re,O,g,p,f),b=Xm(k,j,G,K,V,re,O,g,p,f);k=i2(n,s),j=n2(n,s),G=t2(n,s,o,a,c),K=r2(n,s,o,a,c,h);var _=af(k,j,G,K),E=ff(k,j,G,K);T=R,C=$,R=S,$=D,S=M,D=I,M=af(l,y,u,b),I=ff(y,y,u,b),l=c,y=h,c=o,h=a,o=n,a=s,n=af(u,b,_,E),s=ff(u,b,_,E)}Ci(this.h,0,n,s),Ci(this.h,2,o,a),Ci(this.h,4,c,h),Ci(this.h,6,l,y),Ci(this.h,8,M,I),Ci(this.h,10,S,D),Ci(this.h,12,R,$),Ci(this.h,14,T,C)},Cr.prototype._digest=function(e){return e==="hex"?nr.toHex32(this.h,"big"):nr.split32(this.h,"big")};function Qm(t,e,r,i,n){var s=t&r^~t&n;return s<0&&(s+=4294967296),s}function e2(t,e,r,i,n,s){var o=e&i^~e&s;return o<0&&(o+=4294967296),o}function t2(t,e,r,i,n){var s=t&r^t&n^r&n;return s<0&&(s+=4294967296),s}function r2(t,e,r,i,n,s){var o=e&i^e&s^i&s;return o<0&&(o+=4294967296),o}function i2(t,e){var r=Yr(t,e,28),i=Yr(e,t,2),n=Yr(e,t,7),s=r^i^n;return s<0&&(s+=4294967296),s}function n2(t,e){var r=Xr(t,e,28),i=Xr(e,t,2),n=Xr(e,t,7),s=r^i^n;return s<0&&(s+=4294967296),s}function s2(t,e){var r=Yr(t,e,14),i=Yr(t,e,18),n=Yr(e,t,9),s=r^i^n;return s<0&&(s+=4294967296),s}function o2(t,e){var r=Xr(t,e,14),i=Xr(t,e,18),n=Xr(e,t,9),s=r^i^n;return s<0&&(s+=4294967296),s}function a2(t,e){var r=Yr(t,e,1),i=Yr(t,e,8),n=qu(t,e,7),s=r^i^n;return s<0&&(s+=4294967296),s}function f2(t,e){var r=Xr(t,e,1),i=Xr(t,e,8),n=Uu(t,e,7),s=r^i^n;return s<0&&(s+=4294967296),s}function c2(t,e){var r=Yr(t,e,19),i=Yr(e,t,29),n=qu(t,e,6),s=r^i^n;return s<0&&(s+=4294967296),s}function h2(t,e){var r=Xr(t,e,19),i=Xr(e,t,29),n=Uu(t,e,6),s=r^i^n;return s<0&&(s+=4294967296),s}var cf=Ie,ju=ku;function li(){if(!(this instanceof li))return new li;ju.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}cf.inherits(li,ju);var u2=li;li.blockSize=1024,li.outSize=384,li.hmacStrength=192,li.padLength=128,li.prototype._digest=function(e){return e==="hex"?cf.toHex32(this.h.slice(0,12),"big"):cf.split32(this.h.slice(0,12),"big")},Bn.sha1=Nm,Bn.sha224=Vm,Bn.sha256=Bu,Bn.sha384=u2,Bn.sha512=ku;var Ku={},on=Ie,d2=Cn,mo=on.rotl32,Vu=on.sum32,ws=on.sum32_3,Hu=on.sum32_4,Wu=d2.BlockHash;function Zr(){if(!(this instanceof Zr))return new Zr;Wu.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}on.inherits(Zr,Wu),Ku.ripemd160=Zr,Zr.blockSize=512,Zr.outSize=160,Zr.hmacStrength=192,Zr.padLength=64,Zr.prototype._update=function(e,r){for(var i=this.h[0],n=this.h[1],s=this.h[2],o=this.h[3],a=this.h[4],c=i,h=n,l=s,y=o,M=a,I=0;I<80;I++){var S=Vu(mo(Hu(i,Gu(I,n,s,o),e[g2[I]+r],l2(I)),v2[I]),a);i=a,a=o,o=mo(s,10),s=n,n=S,S=Vu(mo(Hu(c,Gu(79-I,h,l,y),e[b2[I]+r],p2(I)),y2[I]),M),c=M,M=y,y=mo(l,10),l=h,h=S}S=ws(this.h[1],s,y),this.h[1]=ws(this.h[2],o,M),this.h[2]=ws(this.h[3],a,c),this.h[3]=ws(this.h[4],i,h),this.h[4]=ws(this.h[0],n,l),this.h[0]=S},Zr.prototype._digest=function(e){return e==="hex"?on.toHex32(this.h,"little"):on.split32(this.h,"little")};function Gu(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function l2(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function p2(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}var g2=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],b2=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],v2=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],y2=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],m2=Ie,w2=sn;function zn(t,e,r){if(!(this instanceof zn))return new zn(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(m2.toArray(e,r))}var _2=zn;zn.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),w2(e.length<=this.blockSize);for(var r=e.length;r<this.blockSize;r++)e.push(0);for(r=0;r<e.length;r++)e[r]^=54;for(this.inner=new this.Hash().update(e),r=0;r<e.length;r++)e[r]^=106;this.outer=new this.Hash().update(e)},zn.prototype.update=function(e,r){return this.inner.update(e,r),this},zn.prototype.digest=function(e){return this.outer.update(this.inner.digest()),this.outer.digest(e)},function(t){var e=t;e.utils=Ie,e.common=Cn,e.sha=Bn,e.ripemd=Ku,e.hmac=_2,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}(dr);function kn(t,e,r){return r={path:e,exports:{},require:function(i,n){return x2(i,n??r.path)}},t(r,r.exports),r.exports}function x2(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var hf=Ju;function Ju(t,e){if(!t)throw new Error(e||"Assertion failed")}Ju.equal=function(e,r,i){if(e!=r)throw new Error(i||"Assertion failed: "+e+" != "+r)};var Br=kn(function(t,e){var r=e;function i(o,a){if(Array.isArray(o))return o.slice();if(!o)return[];var c=[];if(typeof o!="string"){for(var h=0;h<o.length;h++)c[h]=o[h]|0;return c}if(a==="hex"){o=o.replace(/[^a-z0-9]+/ig,""),o.length%2!==0&&(o="0"+o);for(var h=0;h<o.length;h+=2)c.push(parseInt(o[h]+o[h+1],16))}else for(var h=0;h<o.length;h++){var l=o.charCodeAt(h),y=l>>8,M=l&255;y?c.push(y,M):c.push(M)}return c}r.toArray=i;function n(o){return o.length===1?"0"+o:o}r.zero2=n;function s(o){for(var a="",c=0;c<o.length;c++)a+=n(o[c].toString(16));return a}r.toHex=s,r.encode=function(a,c){return c==="hex"?s(a):a}}),lr=kn(function(t,e){var r=e;r.assert=hf,r.toArray=Br.toArray,r.zero2=Br.zero2,r.toHex=Br.toHex,r.encode=Br.encode;function i(c,h,l){var y=new Array(Math.max(c.bitLength(),l)+1);y.fill(0);for(var M=1<<h+1,I=c.clone(),S=0;S<y.length;S++){var D,R=I.andln(M-1);I.isOdd()?(R>(M>>1)-1?D=(M>>1)-R:D=R,I.isubn(D)):D=0,y[S]=D,I.iushrn(1)}return y}r.getNAF=i;function n(c,h){var l=[[],[]];c=c.clone(),h=h.clone();for(var y=0,M=0,I;c.cmpn(-y)>0||h.cmpn(-M)>0;){var S=c.andln(3)+y&3,D=h.andln(3)+M&3;S===3&&(S=-1),D===3&&(D=-1);var R;S&1?(I=c.andln(7)+y&7,(I===3||I===5)&&D===2?R=-S:R=S):R=0,l[0].push(R);var $;D&1?(I=h.andln(7)+M&7,(I===3||I===5)&&S===2?$=-D:$=D):$=0,l[1].push($),2*y===R+1&&(y=1-y),2*M===$+1&&(M=1-M),c.iushrn(1),h.iushrn(1)}return l}r.getJSF=n;function s(c,h,l){var y="_"+h;c.prototype[h]=function(){return this[y]!==void 0?this[y]:this[y]=l.call(this)}}r.cachedProperty=s;function o(c){return typeof c=="string"?r.toArray(c,"hex"):c}r.parseBytes=o;function a(c){return new me(c,"hex","le")}r.intFromLE=a}),wo=lr.getNAF,E2=lr.getJSF,_o=lr.assert;function Bi(t,e){this.type=t,this.p=new me(e.p,16),this.red=e.prime?me.red(e.prime):me.mont(this.p),this.zero=new me(0).toRed(this.red),this.one=new me(1).toRed(this.red),this.two=new me(2).toRed(this.red),this.n=e.n&&new me(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var an=Bi;Bi.prototype.point=function(){throw new Error("Not implemented")},Bi.prototype.validate=function(){throw new Error("Not implemented")},Bi.prototype._fixedNafMul=function(e,r){_o(e.precomputed);var i=e._getDoubles(),n=wo(r,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var o=[],a,c;for(a=0;a<n.length;a+=i.step){c=0;for(var h=a+i.step-1;h>=a;h--)c=(c<<1)+n[h];o.push(c)}for(var l=this.jpoint(null,null,null),y=this.jpoint(null,null,null),M=s;M>0;M--){for(a=0;a<o.length;a++)c=o[a],c===M?y=y.mixedAdd(i.points[a]):c===-M&&(y=y.mixedAdd(i.points[a].neg()));l=l.add(y)}return l.toP()},Bi.prototype._wnafMul=function(e,r){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,o=wo(r,i,this._bitLength),a=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var h=0;c>=0&&o[c]===0;c--)h++;if(c>=0&&h++,a=a.dblp(h),c<0)break;var l=o[c];_o(l!==0),e.type==="affine"?l>0?a=a.mixedAdd(s[l-1>>1]):a=a.mixedAdd(s[-l-1>>1].neg()):l>0?a=a.add(s[l-1>>1]):a=a.add(s[-l-1>>1].neg())}return e.type==="affine"?a.toP():a},Bi.prototype._wnafMulAdd=function(e,r,i,n,s){var o=this._wnafT1,a=this._wnafT2,c=this._wnafT3,h=0,l,y,M;for(l=0;l<n;l++){M=r[l];var I=M._getNAFPoints(e);o[l]=I.wnd,a[l]=I.points}for(l=n-1;l>=1;l-=2){var S=l-1,D=l;if(o[S]!==1||o[D]!==1){c[S]=wo(i[S],o[S],this._bitLength),c[D]=wo(i[D],o[D],this._bitLength),h=Math.max(c[S].length,h),h=Math.max(c[D].length,h);continue}var R=[r[S],null,null,r[D]];r[S].y.cmp(r[D].y)===0?(R[1]=r[S].add(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg())):r[S].y.cmp(r[D].y.redNeg())===0?(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].add(r[D].neg())):(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],T=E2(i[S],i[D]);for(h=Math.max(T[0].length,h),c[S]=new Array(h),c[D]=new Array(h),y=0;y<h;y++){var C=T[0][y]|0,L=T[1][y]|0;c[S][y]=$[(C+1)*3+(L+1)],c[D][y]=0,a[S]=R}}var k=this.jpoint(null,null,null),j=this._wnafT4;for(l=h;l>=0;l--){for(var G=0;l>=0;){var K=!0;for(y=0;y<n;y++)j[y]=c[y][l]|0,j[y]!==0&&(K=!1);if(!K)break;G++,l--}if(l>=0&&G++,k=k.dblp(G),l<0)break;for(y=0;y<n;y++){var V=j[y];V!==0&&(V>0?M=a[y][V-1>>1]:V<0&&(M=a[y][-V-1>>1].neg()),M.type==="affine"?k=k.mixedAdd(M):k=k.add(M))}}for(l=0;l<n;l++)a[l]=null;return s?k:k.toP()};function wr(t,e){this.curve=t,this.type=e,this.precomputed=null}Bi.BasePoint=wr,wr.prototype.eq=function(){throw new Error("Not implemented")},wr.prototype.validate=function(){return this.curve.validate(this)},Bi.prototype.decodePoint=function(e,r){e=lr.toArray(e,r);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?_o(e[e.length-1]%2===0):e[0]===7&&_o(e[e.length-1]%2===1);var n=this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));return n}else if((e[0]===2||e[0]===3)&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),e[0]===3);throw new Error("Unknown point format")},wr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},wr.prototype._encode=function(e){var r=this.curve.p.byteLength(),i=this.getX().toArray("be",r);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",r))},wr.prototype.encode=function(e,r){return lr.encode(this._encode(r),e)},wr.prototype.precompute=function(e){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,e),r.beta=this._getBeta(),this.precomputed=r,this},wr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((e.bitLength()+1)/r.step):!1},wr.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<r;s+=e){for(var o=0;o<e;o++)n=n.dbl();i.push(n)}return{step:e,points:i}},wr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)r[s]=r[s-1].add(n);return{wnd:e,points:r}},wr.prototype._getBeta=function(){return null},wr.prototype.dblp=function(e){for(var r=this,i=0;i<e;i++)r=r.dbl();return r};var uf=kn(function(t){typeof Object.create=="function"?t.exports=function(r,i){i&&(r.super_=i,r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,i){if(i){r.super_=i;var n=function(){};n.prototype=i.prototype,r.prototype=new n,r.prototype.constructor=r}}}),S2=lr.assert;function _r(t){an.call(this,"short",t),this.a=new me(t.a,16).toRed(this.red),this.b=new me(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}uf(_r,an);var M2=_r;_r.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,i;if(e.beta)r=new me(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);r=n[0].cmp(n[1])<0?n[0]:n[1],r=r.toRed(this.red)}if(e.lambda)i=new me(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(r))===0?i=s[0]:(i=s[1],S2(this.g.mul(i).x.cmp(this.g.x.redMul(r))===0))}var o;return e.basis?o=e.basis.map(function(a){return{a:new me(a.a,16),b:new me(a.b,16)}}):o=this._getEndoBasis(i),{beta:r,lambda:i,basis:o}}},_r.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:me.mont(e),i=new me(2).toRed(r).redInvm(),n=i.redNeg(),s=new me(3).toRed(r).redNeg().redSqrt().redMul(i),o=n.redAdd(s).fromRed(),a=n.redSub(s).fromRed();return[o,a]},_r.prototype._getEndoBasis=function(e){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new me(1),o=new me(0),a=new me(0),c=new me(1),h,l,y,M,I,S,D,R=0,$,T;i.cmpn(0)!==0;){var C=n.div(i);$=n.sub(C.mul(i)),T=a.sub(C.mul(s));var L=c.sub(C.mul(o));if(!y&&$.cmp(r)<0)h=D.neg(),l=s,y=$.neg(),M=T;else if(y&&++R===2)break;D=$,n=i,i=$,a=s,s=T,c=o,o=L}I=$.neg(),S=T;var k=y.sqr().add(M.sqr()),j=I.sqr().add(S.sqr());return j.cmp(k)>=0&&(I=h,S=l),y.negative&&(y=y.neg(),M=M.neg()),I.negative&&(I=I.neg(),S=S.neg()),[{a:y,b:M},{a:I,b:S}]},_r.prototype._endoSplit=function(e){var r=this.endo.basis,i=r[0],n=r[1],s=n.b.mul(e).divRound(this.n),o=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),c=o.mul(n.a),h=s.mul(i.b),l=o.mul(n.b),y=e.sub(a).sub(c),M=h.add(l).neg();return{k1:y,k2:M}},_r.prototype.pointFromX=function(e,r){e=new me(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(r&&!s||!r&&s)&&(n=n.redNeg()),this.point(e,n)},_r.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,i=e.y,n=this.a.redMul(r),s=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},_r.prototype._endoWnafMulAdd=function(e,r,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(r[o]),c=e[o],h=c._getBeta();a.k1.negative&&(a.k1.ineg(),c=c.neg(!0)),a.k2.negative&&(a.k2.ineg(),h=h.neg(!0)),n[o*2]=c,n[o*2+1]=h,s[o*2]=a.k1,s[o*2+1]=a.k2}for(var l=this._wnafMulAdd(1,n,s,o*2,i),y=0;y<o*2;y++)n[y]=null,s[y]=null;return l};function It(t,e,r,i){an.BasePoint.call(this,t,"affine"),e===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new me(e,16),this.y=new me(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}uf(It,an.BasePoint),_r.prototype.point=function(e,r,i){return new It(this,e,r,i)},_r.prototype.pointFromJSON=function(e,r){return It.fromJSON(this,e,r)},It.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=r,r.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return r}},It.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},It.fromJSON=function(e,r,i){typeof r=="string"&&(r=JSON.parse(r));var n=e.point(r[0],r[1],i);if(!r[2])return n;function s(a){return e.point(a[0],a[1],i)}var o=r[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(s))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(s))}},n},It.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},It.prototype.isInfinity=function(){return this.inf},It.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},It.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},It.prototype.getX=function(){return this.x.fromRed()},It.prototype.getY=function(){return this.y.fromRed()},It.prototype.mul=function(e){return e=new me(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},It.prototype.mulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},It.prototype.jmulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},It.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},It.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r},It.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function Ct(t,e,r,i){an.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new me(0)):(this.x=new me(e,16),this.y=new me(r,16),this.z=new me(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}uf(Ct,an.BasePoint),_r.prototype.jpoint=function(e,r,i){return new Ct(this,e,r,i)},Ct.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(e);return this.curve.point(i,n)},Ct.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ct.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),s=e.x.redMul(i),o=this.y.redMul(r.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),c=n.redSub(s),h=o.redSub(a);if(c.cmpn(0)===0)return h.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),y=l.redMul(c),M=n.redMul(l),I=h.redSqr().redIAdd(y).redISub(M).redISub(M),S=h.redMul(M.redISub(I)).redISub(o.redMul(y)),D=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(I,S,D)},Ct.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=e.x.redMul(r),s=this.y,o=e.y.redMul(r).redMul(this.z),a=i.redSub(n),c=s.redSub(o);if(a.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var h=a.redSqr(),l=h.redMul(a),y=i.redMul(h),M=c.redSqr().redIAdd(l).redISub(y).redISub(y),I=c.redMul(y.redISub(M)).redISub(s.redMul(l)),S=this.z.redMul(a);return this.curve.jpoint(M,I,S)},Ct.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r<e;r++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,o=this.x,a=this.y,c=this.z,h=c.redSqr().redSqr(),l=a.redAdd(a);for(r=0;r<e;r++){var y=o.redSqr(),M=l.redSqr(),I=M.redSqr(),S=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(h)),D=o.redMul(M),R=S.redSqr().redISub(D.redAdd(D)),$=D.redISub(R),T=S.redMul($);T=T.redIAdd(T).redISub(I);var C=l.redMul(c);r+1<e&&(h=h.redMul(I)),o=R,c=C,l=T}return this.curve.jpoint(o,l.redMul(s),c)},Ct.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Ct.prototype._zeroDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n),h=c.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),e=h,r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),M=this.y.redSqr(),I=M.redSqr(),S=this.x.redAdd(M).redSqr().redISub(y).redISub(I);S=S.redIAdd(S);var D=y.redAdd(y).redIAdd(y),R=D.redSqr(),$=I.redIAdd(I);$=$.redIAdd($),$=$.redIAdd($),e=R.redISub(S).redISub(S),r=D.redMul(S.redISub(e)).redISub($),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,r,i)},Ct.prototype._threeDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),h=c.redSqr().redISub(a).redISub(a);e=h;var l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),M=this.y.redSqr(),I=this.x.redMul(M),S=this.x.redSub(y).redMul(this.x.redAdd(y));S=S.redAdd(S).redIAdd(S);var D=I.redIAdd(I);D=D.redIAdd(D);var R=D.redAdd(D);e=S.redSqr().redISub(R),i=this.y.redAdd(this.z).redSqr().redISub(M).redISub(y);var $=M.redSqr();$=$.redIAdd($),$=$.redIAdd($),$=$.redIAdd($),r=S.redMul(D.redISub(e)).redISub($)}return this.curve.jpoint(e,r,i)},Ct.prototype._dbl=function(){var e=this.curve.a,r=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),o=r.redSqr(),a=i.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(s)),h=r.redAdd(r);h=h.redIAdd(h);var l=h.redMul(a),y=c.redSqr().redISub(l.redAdd(l)),M=l.redISub(y),I=a.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=c.redMul(M).redISub(I),D=i.redAdd(i).redMul(n);return this.curve.jpoint(y,S,D)},Ct.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr(),n=r.redSqr(),s=e.redAdd(e).redIAdd(e),o=s.redSqr(),a=this.x.redAdd(r).redSqr().redISub(e).redISub(n);a=a.redIAdd(a),a=a.redAdd(a).redIAdd(a),a=a.redISub(o);var c=a.redSqr(),h=n.redIAdd(n);h=h.redIAdd(h),h=h.redIAdd(h),h=h.redIAdd(h);var l=s.redIAdd(a).redSqr().redISub(o).redISub(c).redISub(h),y=r.redMul(l);y=y.redIAdd(y),y=y.redIAdd(y);var M=this.x.redMul(c).redISub(y);M=M.redIAdd(M),M=M.redIAdd(M);var I=this.y.redMul(l.redMul(h.redISub(l)).redISub(a.redMul(c)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=this.z.redAdd(a).redSqr().redISub(i).redISub(c);return this.curve.jpoint(M,I,S)},Ct.prototype.mul=function(e,r){return e=new me(e,r),this.curve._wnafMul(this,e)},Ct.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var r=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(r)).cmpn(0)!==0)return!1;var n=r.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},Ct.prototype.eqXToP=function(e){var r=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(r);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(r);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},Ct.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Ct.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var xo=kn(function(t,e){var r=e;r.base=an,r.short=M2,r.mont=null,r.edwards=null}),Eo=kn(function(t,e){var r=e,i=lr.assert;function n(a){a.type==="short"?this.curve=new xo.short(a):a.type==="edwards"?this.curve=new xo.edwards(a):this.curve=new xo.mont(a),this.g=this.curve.g,this.n=this.curve.n,this.hash=a.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=n;function s(a,c){Object.defineProperty(r,a,{configurable:!0,enumerable:!0,get:function(){var h=new n(c);return Object.defineProperty(r,a,{configurable:!0,enumerable:!0,value:h}),h}})}s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:dr.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:dr.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:dr.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:dr.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:dr.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:dr.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:dr.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var o;try{o=null.crash()}catch{o=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:dr.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",o]})});function Li(t){if(!(this instanceof Li))return new Li(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Br.toArray(t.entropy,t.entropyEnc||"hex"),r=Br.toArray(t.nonce,t.nonceEnc||"hex"),i=Br.toArray(t.pers,t.persEnc||"hex");hf(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Yu=Li;Li.prototype._init=function(e,r,i){var n=e.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},Li.prototype._hmac=function(){return new dr.hmac(this.hash,this.K)},Li.prototype._update=function(e){var r=this._hmac().update(this.V).update([0]);e&&(r=r.update(e)),this.K=r.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},Li.prototype.reseed=function(e,r,i,n){typeof r!="string"&&(n=i,i=r,r=null),e=Br.toArray(e,r),i=Br.toArray(i,n),hf(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},Li.prototype.generate=function(e,r,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(n=i,i=r,r=null),i&&(i=Br.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(i),this._reseed++,Br.encode(o,r)};var df=lr.assert;function Kt(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var lf=Kt;Kt.fromPublic=function(e,r,i){return r instanceof Kt?r:new Kt(e,{pub:r,pubEnc:i})},Kt.fromPrivate=function(e,r,i){return r instanceof Kt?r:new Kt(e,{priv:r,privEnc:i})},Kt.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Kt.prototype.getPublic=function(e,r){return typeof e=="string"&&(r=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,e):this.pub},Kt.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},Kt.prototype._importPrivate=function(e,r){this.priv=new me(e,r||16),this.priv=this.priv.umod(this.ec.curve.n)},Kt.prototype._importPublic=function(e,r){if(e.x||e.y){this.ec.curve.type==="mont"?df(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&df(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,r)},Kt.prototype.derive=function(e){return e.validate()||df(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Kt.prototype.sign=function(e,r,i){return this.ec.sign(e,this,r,i)},Kt.prototype.verify=function(e,r){return this.ec.verify(e,r,this)},Kt.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var I2=lr.assert;function So(t,e){if(t instanceof So)return t;this._importDER(t,e)||(I2(t.r&&t.s,"Signature without r or s"),this.r=new me(t.r,16),this.s=new me(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Mo=So;function A2(){this.place=0}function pf(t,e){var r=t[e.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4)return!1;for(var n=0,s=0,o=e.place;s<i;s++,o++)n<<=8,n|=t[o],n>>>=0;return n<=127?!1:(e.place=o,n)}function Xu(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e<r;)e++;return e===0?t:t.slice(e)}So.prototype._importDER=function(e,r){e=lr.toArray(e,r);var i=new A2;if(e[i.place++]!==48)return!1;var n=pf(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=pf(e,i);if(s===!1)return!1;var o=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var a=pf(e,i);if(a===!1||e.length!==a+i.place)return!1;var c=e.slice(i.place,a+i.place);if(o[0]===0)if(o[1]&128)o=o.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new me(o),this.s=new me(c),this.recoveryParam=null,!0};function gf(t,e){if(e<128){t.push(e);return}var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}So.prototype.toDER=function(e){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Xu(r),i=Xu(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];gf(n,r.length),n=n.concat(r),n.push(2),gf(n,i.length);var s=n.concat(i),o=[48];return gf(o,s.length),o=o.concat(s),lr.encode(o,e)};var D2=function(){throw new Error("unsupported")},Zu=lr.assert;function xr(t){if(!(this instanceof xr))return new xr(t);typeof t=="string"&&(Zu(Object.prototype.hasOwnProperty.call(Eo,t),"Unknown curve "+t),t=Eo[t]),t instanceof Eo.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var O2=xr;xr.prototype.keyPair=function(e){return new lf(this,e)},xr.prototype.keyFromPrivate=function(e,r){return lf.fromPrivate(this,e,r)},xr.prototype.keyFromPublic=function(e,r){return lf.fromPublic(this,e,r)},xr.prototype.genKeyPair=function(e){e||(e={});for(var r=new Yu({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||D2(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new me(2));;){var s=new me(r.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},xr.prototype._truncateToN=function(e,r){var i=e.byteLength()*8-this.n.bitLength();return i>0&&(e=e.ushrn(i)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e},xr.prototype.sign=function(e,r,i,n){typeof i=="object"&&(n=i,i=null),n||(n={}),r=this.keyFromPrivate(r,i),e=this._truncateToN(new me(e,16));for(var s=this.n.byteLength(),o=r.getPrivate().toArray("be",s),a=e.toArray("be",s),c=new Yu({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),h=this.n.sub(new me(1)),l=0;;l++){var y=n.k?n.k(l):new me(c.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(h)>=0)){var M=this.g.mul(y);if(!M.isInfinity()){var I=M.getX(),S=I.umod(this.n);if(S.cmpn(0)!==0){var D=y.invm(this.n).mul(S.mul(r.getPrivate()).iadd(e));if(D=D.umod(this.n),D.cmpn(0)!==0){var R=(M.getY().isOdd()?1:0)|(I.cmp(S)!==0?2:0);return n.canonical&&D.cmp(this.nh)>0&&(D=this.n.sub(D),R^=1),new Mo({r:S,s:D,recoveryParam:R})}}}}}},xr.prototype.verify=function(e,r,i,n){e=this._truncateToN(new me(e,16)),i=this.keyFromPublic(i,n),r=new Mo(r,"hex");var s=r.r,o=r.s;if(s.cmpn(1)<0||s.cmp(this.n)>=0||o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a=o.invm(this.n),c=a.mul(e).umod(this.n),h=a.mul(s).umod(this.n),l;return this.curve._maxwellTrick?(l=this.g.jmulAdd(c,i.getPublic(),h),l.isInfinity()?!1:l.eqXToP(s)):(l=this.g.mulAdd(c,i.getPublic(),h),l.isInfinity()?!1:l.getX().umod(this.n).cmp(s)===0)},xr.prototype.recoverPubKey=function(t,e,r,i){Zu((3&r)===r,"The recovery param is more than two bits"),e=new Mo(e,i);var n=this.n,s=new me(t),o=e.r,a=e.s,c=r&1,h=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");h?o=this.curve.pointFromX(o.add(this.curve.n),c):o=this.curve.pointFromX(o,c);var l=e.r.invm(n),y=n.sub(s).mul(l).umod(n),M=a.mul(l).umod(n);return this.g.mulAdd(y,o,M)},xr.prototype.getKeyRecoveryParam=function(t,e,r,i){if(e=new Mo(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(t,e,n)}catch{continue}if(s.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var P2=kn(function(t,e){var r=e;r.version="6.5.4",r.utils=lr,r.rand=function(){throw new Error("unsupported")},r.curve=xo,r.curves=Eo,r.ec=O2,r.eddsa=null}),R2=P2.ec;const $2="signing-key/5.7.0",bf=new Ee($2);let vf=null;function Qr(){return vf||(vf=new R2("secp256k1")),vf}class N2{constructor(e){ys(this,"curve","secp256k1"),ys(this,"privateKey",Yt(e)),Cy(this.privateKey)!==32&&bf.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const r=Qr().keyFromPrivate(xt(this.privateKey));ys(this,"publicKey","0x"+r.getPublic(!1,"hex")),ys(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),ys(this,"_isSigningKey",!0)}_addPoint(e){const r=Qr().keyFromPublic(xt(this.publicKey)),i=Qr().keyFromPublic(xt(e));return"0x"+r.pub.add(i.pub).encodeCompressed("hex")}signDigest(e){const r=Qr().keyFromPrivate(xt(this.privateKey)),i=xt(e);i.length!==32&&bf.throwArgumentError("bad digest length","digest",e);const n=r.sign(i,{canonical:!0});return pu({recoveryParam:n.recoveryParam,r:Fi("0x"+n.r.toString(16),32),s:Fi("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const r=Qr().keyFromPrivate(xt(this.privateKey)),i=Qr().keyFromPublic(xt(Qu(e)));return Fi("0x"+r.derive(i.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function T2(t,e){const r=pu(e),i={r:xt(r.r),s:xt(r.s)};return"0x"+Qr().recoverPubKey(xt(t),i,r.recoveryParam).encode("hex",!1)}function Qu(t,e){const r=xt(t);if(r.length===32){const i=new N2(r);return e?"0x"+Qr().keyFromPrivate(r).getPublic(!0,"hex"):i.publicKey}else{if(r.length===33)return e?Yt(r):"0x"+Qr().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return e?"0x"+Qr().keyFromPublic(r).getPublic(!0,"hex"):Yt(r)}return bf.throwArgumentError("invalid public or private key","key","[REDACTED]")}const F2="transactions/5.7.0";new Ee(F2);var ed;(function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"})(ed||(ed={}));function C2(t){const e=Qu(t);return Gy(lu(Su(lu(e,1)),12))}function B2(t,e){return C2(T2(xt(t),e))}function td(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function yf(t,e){e||(e=t.reduce((n,s)=>n+s.length,0));const r=td(e);let i=0;for(const n of t)r.set(n,i),i+=n.length;return r}function L2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=n}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function y(S){if(S instanceof Uint8Array||(ArrayBuffer.isView(S)?S=new Uint8Array(S.buffer,S.byteOffset,S.byteLength):Array.isArray(S)&&(S=Uint8Array.from(S))),!(S instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(S.length===0)return"";for(var D=0,R=0,$=0,T=S.length;$!==T&&S[$]===0;)$++,D++;for(var C=(T-$)*l+1>>>0,L=new Uint8Array(C);$!==T;){for(var k=S[$],j=0,G=C-1;(k!==0||j<R)&&G!==-1;G--,j++)k+=256*L[G]>>>0,L[G]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");R=j,$++}for(var K=C-R;K!==C&&L[K]===0;)K++;for(var V=c.repeat(D);K<C;++K)V+=t.charAt(L[K]);return V}function M(S){if(typeof S!="string")throw new TypeError("Expected String");if(S.length===0)return new Uint8Array;var D=0;if(S[D]!==" "){for(var R=0,$=0;S[D]===c;)R++,D++;for(var T=(S.length-D)*h+1>>>0,C=new Uint8Array(T);S[D];){var L=r[S.charCodeAt(D)];if(L===255)return;for(var k=0,j=T-1;(L!==0||k<$)&&j!==-1;j--,k++)L+=a*C[j]>>>0,C[j]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");$=k,D++}if(S[D]!==" "){for(var G=T-$;G!==T&&C[G]===0;)G++;for(var K=new Uint8Array(R+(T-G)),V=R;G!==T;)K[V++]=C[G++];return K}}}function I(S){var D=M(S);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:M,decode:I}}var q2=L2,U2=q2;const rd=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},z2=t=>new TextEncoder().encode(t),k2=t=>new TextDecoder().decode(t);class j2{constructor(e,r,i){this.name=e,this.prefix=r,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class K2{constructor(e,r,i){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return id(this,e)}}class V2{constructor(e){this.decoders=e}or(e){return id(this,e)}decode(e){const r=e[0],i=this.decoders[r];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const id=(t,e)=>new V2({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class H2{constructor(e,r,i,n){this.name=e,this.prefix=r,this.baseEncode=i,this.baseDecode=n,this.encoder=new j2(e,r,i),this.decoder=new K2(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Io=({name:t,prefix:e,encode:r,decode:i})=>new H2(t,e,r,i),_s=({prefix:t,name:e,alphabet:r})=>{const{encode:i,decode:n}=U2(r,e);return Io({prefix:t,name:e,encode:i,decode:s=>rd(n(s))})},W2=(t,e,r,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let l=0;l<s;++l){const y=n[t[l]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<r|y,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},G2=(t,e,r)=>{const i=e[e.length-1]==="=",n=(1<<r)-1;let s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[n&a>>o];if(o&&(s+=e[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s},Bt=({name:t,prefix:e,bitsPerChar:r,alphabet:i})=>Io({prefix:e,name:t,encode(n){return G2(n,i,r)},decode(n){return W2(n,i,r,t)}}),J2=Io({prefix:"\0",name:"identity",encode:t=>k2(t),decode:t=>z2(t)});var Y2=Object.freeze({__proto__:null,identity:J2});const X2=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Z2=Object.freeze({__proto__:null,base2:X2});const Q2=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var e3=Object.freeze({__proto__:null,base8:Q2});const t3=_s({prefix:"9",name:"base10",alphabet:"0123456789"});var r3=Object.freeze({__proto__:null,base10:t3});const i3=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),n3=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var s3=Object.freeze({__proto__:null,base16:i3,base16upper:n3});const o3=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),a3=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),f3=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),c3=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),h3=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),u3=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),d3=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),l3=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),p3=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var g3=Object.freeze({__proto__:null,base32:o3,base32upper:a3,base32pad:f3,base32padupper:c3,base32hex:h3,base32hexupper:u3,base32hexpad:d3,base32hexpadupper:l3,base32z:p3});const b3=_s({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),v3=_s({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var y3=Object.freeze({__proto__:null,base36:b3,base36upper:v3});const m3=_s({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),w3=_s({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var _3=Object.freeze({__proto__:null,base58btc:m3,base58flickr:w3});const x3=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),E3=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),S3=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),M3=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var I3=Object.freeze({__proto__:null,base64:x3,base64pad:E3,base64url:S3,base64urlpad:M3});const nd=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),A3=nd.reduce((t,e,r)=>(t[r]=e,t),[]),D3=nd.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function O3(t){return t.reduce((e,r)=>(e+=A3[r],e),"")}function P3(t){const e=[];for(const r of t){const i=D3[r.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}const R3=Io({prefix:"\u{1F680}",name:"base256emoji",encode:O3,decode:P3});var $3=Object.freeze({__proto__:null,base256emoji:R3}),N3=od,sd=128,T3=127,F3=~T3,C3=Math.pow(2,31);function od(t,e,r){e=e||[],r=r||0;for(var i=r;t>=C3;)e[r++]=t&255|sd,t/=128;for(;t&F3;)e[r++]=t&255|sd,t>>>=7;return e[r]=t|0,od.bytes=r-i+1,e}var B3=mf,L3=128,ad=127;function mf(t,i){var r=0,i=i||0,n=0,s=i,o,a=t.length;do{if(s>=a)throw mf.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=n<28?(o&ad)<<n:(o&ad)*Math.pow(2,n),n+=7}while(o>=L3);return mf.bytes=s-i,r}var q3=Math.pow(2,7),U3=Math.pow(2,14),z3=Math.pow(2,21),k3=Math.pow(2,28),j3=Math.pow(2,35),K3=Math.pow(2,42),V3=Math.pow(2,49),H3=Math.pow(2,56),W3=Math.pow(2,63),G3=function(t){return t<q3?1:t<U3?2:t<z3?3:t<k3?4:t<j3?5:t<K3?6:t<V3?7:t<H3?8:t<W3?9:10},J3={encode:N3,decode:B3,encodingLength:G3},fd=J3;const cd=(t,e,r=0)=>(fd.encode(t,e,r),e),hd=t=>fd.encodingLength(t),wf=(t,e)=>{const r=e.byteLength,i=hd(t),n=i+hd(r),s=new Uint8Array(n+r);return cd(t,s,0),cd(r,s,i),s.set(e,n),new Y3(t,r,e,s)};class Y3{constructor(e,r,i,n){this.code=e,this.size=r,this.digest=i,this.bytes=n}}const ud=({name:t,code:e,encode:r})=>new X3(t,e,r);class X3{constructor(e,r,i){this.name=e,this.code=r,this.encode=i}digest(e){if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?wf(this.code,r):r.then(i=>wf(this.code,i))}else throw Error("Unknown type, must be binary type")}}const dd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Z3=ud({name:"sha2-256",code:18,encode:dd("SHA-256")}),Q3=ud({name:"sha2-512",code:19,encode:dd("SHA-512")});var ew=Object.freeze({__proto__:null,sha256:Z3,sha512:Q3});const ld=0,tw="identity",pd=rd;var rw=Object.freeze({__proto__:null,identity:{code:ld,name:tw,encode:pd,digest:t=>wf(ld,pd(t))}});new TextEncoder,new TextDecoder;const gd={...Y2,...Z2,...e3,...r3,...s3,...g3,...y3,..._3,...I3,...$3};({...ew,...rw});function bd(t,e,r,i){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:i}}}const vd=bd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),_f=bd("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);const e=td(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),yd={utf8:vd,"utf-8":vd,hex:gd.base16,latin1:_f,ascii:_f,binary:_f,...gd};function Er(t,e="utf8"){const r=yd[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):r.decoder.decode(`${r.prefix}${t}`)}function Zt(t,e="utf8"){const r=yd[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var md={},iw="elliptic",nw="6.6.1",sw="EC cryptography",ow="lib/elliptic.js",aw=["lib"],fw={lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},cw={type:"git",url:"git@github.com:indutny/elliptic"},hw=["EC","Elliptic","curve","Cryptography"],uw="Fedor Indutny <fedor@indutny.com>",dw="MIT",lw={url:"https://github.com/indutny/elliptic/issues"},pw="https://github.com/indutny/elliptic",gw={brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},bw={"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},vw={name:iw,version:nw,description:sw,main:ow,files:aw,scripts:fw,repository:cw,keywords:hw,author:uw,license:dw,bugs:lw,homepage:pw,devDependencies:gw,dependencies:bw},pr={},ei={exports:{}};(function(t){(function(e,r){function i(O,g){if(!O)throw new Error(g||"Assertion failed")}function n(O,g){O.super_=g;var p=function(){};p.prototype=g.prototype,O.prototype=new p,O.prototype.constructor=O}function s(O,g,p){if(s.isBN(O))return O;this.negative=0,this.words=null,this.length=0,this.red=null,O!==null&&((g==="le"||g==="be")&&(p=g,g=10),this._init(O||0,g||10,p||"be"))}typeof e=="object"?e.exports=s:r.BN=s,s.BN=s,s.wordSize=26;var o;try{typeof window<"u"&&typeof window.Buffer<"u"?o=window.Buffer:o=Qa.Buffer}catch{}s.isBN=function(g){return g instanceof s?!0:g!==null&&typeof g=="object"&&g.constructor.wordSize===s.wordSize&&Array.isArray(g.words)},s.max=function(g,p){return g.cmp(p)>0?g:p},s.min=function(g,p){return g.cmp(p)<0?g:p},s.prototype._init=function(g,p,f){if(typeof g=="number")return this._initNumber(g,p,f);if(typeof g=="object")return this._initArray(g,p,f);p==="hex"&&(p=16),i(p===(p|0)&&p>=2&&p<=36),g=g.toString().replace(/\s+/g,"");var u=0;g[0]==="-"&&(u++,this.negative=1),u<g.length&&(p===16?this._parseHex(g,u,f):(this._parseBase(g,p,u),f==="le"&&this._initArray(this.toArray(),p,f)))},s.prototype._initNumber=function(g,p,f){g<0&&(this.negative=1,g=-g),g<67108864?(this.words=[g&67108863],this.length=1):g<4503599627370496?(this.words=[g&67108863,g/67108864&67108863],this.length=2):(i(g<9007199254740992),this.words=[g&67108863,g/67108864&67108863,1],this.length=3),f==="le"&&this._initArray(this.toArray(),p,f)},s.prototype._initArray=function(g,p,f){if(i(typeof g.length=="number"),g.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(g.length/3),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b,_,E=0;if(f==="be")for(u=g.length-1,b=0;u>=0;u-=3)_=g[u]|g[u-1]<<8|g[u-2]<<16,this.words[b]|=_<<E&67108863,this.words[b+1]=_>>>26-E&67108863,E+=24,E>=26&&(E-=26,b++);else if(f==="le")for(u=0,b=0;u<g.length;u+=3)_=g[u]|g[u+1]<<8|g[u+2]<<16,this.words[b]|=_<<E&67108863,this.words[b+1]=_>>>26-E&67108863,E+=24,E>=26&&(E-=26,b++);return this.strip()};function a(O,g){var p=O.charCodeAt(g);return p>=65&&p<=70?p-55:p>=97&&p<=102?p-87:p-48&15}function c(O,g,p){var f=a(O,p);return p-1>=g&&(f|=a(O,p-1)<<4),f}s.prototype._parseHex=function(g,p,f){this.length=Math.ceil((g.length-p)/6),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b=0,_=0,E;if(f==="be")for(u=g.length-1;u>=p;u-=2)E=c(g,p,u)<<b,this.words[_]|=E&67108863,b>=18?(b-=18,_+=1,this.words[_]|=E>>>26):b+=8;else{var w=g.length-p;for(u=w%2===0?p+1:p;u<g.length;u+=2)E=c(g,p,u)<<b,this.words[_]|=E&67108863,b>=18?(b-=18,_+=1,this.words[_]|=E>>>26):b+=8}this.strip()};function h(O,g,p,f){for(var u=0,b=Math.min(O.length,p),_=g;_<b;_++){var E=O.charCodeAt(_)-48;u*=f,E>=49?u+=E-49+10:E>=17?u+=E-17+10:u+=E}return u}s.prototype._parseBase=function(g,p,f){this.words=[0],this.length=1;for(var u=0,b=1;b<=67108863;b*=p)u++;u--,b=b/p|0;for(var _=g.length-f,E=_%u,w=Math.min(_,_-E)+f,d=0,m=f;m<w;m+=u)d=h(g,m,m+u,p),this.imuln(b),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(E!==0){var v=1;for(d=h(g,m,g.length,p),m=0;m<E;m++)v*=p;this.imuln(v),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},s.prototype.copy=function(g){g.words=new Array(this.length);for(var p=0;p<this.length;p++)g.words[p]=this.words[p];g.length=this.length,g.negative=this.negative,g.red=this.red},s.prototype.clone=function(){var g=new s(null);return this.copy(g),g},s.prototype._expand=function(g){for(;this.length<g;)this.words[this.length++]=0;return this},s.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],y=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],M=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(g,p){g=g||10,p=p|0||1;var f;if(g===16||g==="hex"){f="";for(var u=0,b=0,_=0;_<this.length;_++){var E=this.words[_],w=((E<<u|b)&16777215).toString(16);b=E>>>24-u&16777215,u+=2,u>=26&&(u-=26,_--),b!==0||_!==this.length-1?f=l[6-w.length]+w+f:f=w+f}for(b!==0&&(f=b.toString(16)+f);f.length%p!==0;)f="0"+f;return this.negative!==0&&(f="-"+f),f}if(g===(g|0)&&g>=2&&g<=36){var d=y[g],m=M[g];f="";var v=this.clone();for(v.negative=0;!v.isZero();){var A=v.modn(m).toString(g);v=v.idivn(m),v.isZero()?f=A+f:f=l[d-A.length]+A+f}for(this.isZero()&&(f="0"+f);f.length%p!==0;)f="0"+f;return this.negative!==0&&(f="-"+f),f}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var g=this.words[0];return this.length===2?g+=this.words[1]*67108864:this.length===3&&this.words[2]===1?g+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-g:g},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(g,p){return i(typeof o<"u"),this.toArrayLike(o,g,p)},s.prototype.toArray=function(g,p){return this.toArrayLike(Array,g,p)},s.prototype.toArrayLike=function(g,p,f){var u=this.byteLength(),b=f||Math.max(1,u);i(u<=b,"byte array longer than desired length"),i(b>0,"Requested array length <= 0"),this.strip();var _=p==="le",E=new g(b),w,d,m=this.clone();if(_){for(d=0;!m.isZero();d++)w=m.andln(255),m.iushrn(8),E[d]=w;for(;d<b;d++)E[d]=0}else{for(d=0;d<b-u;d++)E[d]=0;for(d=0;!m.isZero();d++)w=m.andln(255),m.iushrn(8),E[b-d-1]=w}return E},Math.clz32?s.prototype._countBits=function(g){return 32-Math.clz32(g)}:s.prototype._countBits=function(g){var p=g,f=0;return p>=4096&&(f+=13,p>>>=13),p>=64&&(f+=7,p>>>=7),p>=8&&(f+=4,p>>>=4),p>=2&&(f+=2,p>>>=2),f+p},s.prototype._zeroBits=function(g){if(g===0)return 26;var p=g,f=0;return p&8191||(f+=13,p>>>=13),p&127||(f+=7,p>>>=7),p&15||(f+=4,p>>>=4),p&3||(f+=2,p>>>=2),p&1||f++,f},s.prototype.bitLength=function(){var g=this.words[this.length-1],p=this._countBits(g);return(this.length-1)*26+p};function I(O){for(var g=new Array(O.bitLength()),p=0;p<g.length;p++){var f=p/26|0,u=p%26;g[p]=(O.words[f]&1<<u)>>>u}return g}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var g=0,p=0;p<this.length;p++){var f=this._zeroBits(this.words[p]);if(g+=f,f!==26)break}return g},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(g){return this.negative!==0?this.abs().inotn(g).iaddn(1):this.clone()},s.prototype.fromTwos=function(g){return this.testn(g-1)?this.notn(g).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(g){for(;this.length<g.length;)this.words[this.length++]=0;for(var p=0;p<g.length;p++)this.words[p]=this.words[p]|g.words[p];return this.strip()},s.prototype.ior=function(g){return i((this.negative|g.negative)===0),this.iuor(g)},s.prototype.or=function(g){return this.length>g.length?this.clone().ior(g):g.clone().ior(this)},s.prototype.uor=function(g){return this.length>g.length?this.clone().iuor(g):g.clone().iuor(this)},s.prototype.iuand=function(g){var p;this.length>g.length?p=g:p=this;for(var f=0;f<p.length;f++)this.words[f]=this.words[f]&g.words[f];return this.length=p.length,this.strip()},s.prototype.iand=function(g){return i((this.negative|g.negative)===0),this.iuand(g)},s.prototype.and=function(g){return this.length>g.length?this.clone().iand(g):g.clone().iand(this)},s.prototype.uand=function(g){return this.length>g.length?this.clone().iuand(g):g.clone().iuand(this)},s.prototype.iuxor=function(g){var p,f;this.length>g.length?(p=this,f=g):(p=g,f=this);for(var u=0;u<f.length;u++)this.words[u]=p.words[u]^f.words[u];if(this!==p)for(;u<p.length;u++)this.words[u]=p.words[u];return this.length=p.length,this.strip()},s.prototype.ixor=function(g){return i((this.negative|g.negative)===0),this.iuxor(g)},s.prototype.xor=function(g){return this.length>g.length?this.clone().ixor(g):g.clone().ixor(this)},s.prototype.uxor=function(g){return this.length>g.length?this.clone().iuxor(g):g.clone().iuxor(this)},s.prototype.inotn=function(g){i(typeof g=="number"&&g>=0);var p=Math.ceil(g/26)|0,f=g%26;this._expand(p),f>0&&p--;for(var u=0;u<p;u++)this.words[u]=~this.words[u]&67108863;return f>0&&(this.words[u]=~this.words[u]&67108863>>26-f),this.strip()},s.prototype.notn=function(g){return this.clone().inotn(g)},s.prototype.setn=function(g,p){i(typeof g=="number"&&g>=0);var f=g/26|0,u=g%26;return this._expand(f+1),p?this.words[f]=this.words[f]|1<<u:this.words[f]=this.words[f]&~(1<<u),this.strip()},s.prototype.iadd=function(g){var p;if(this.negative!==0&&g.negative===0)return this.negative=0,p=this.isub(g),this.negative^=1,this._normSign();if(this.negative===0&&g.negative!==0)return g.negative=0,p=this.isub(g),g.negative=1,p._normSign();var f,u;this.length>g.length?(f=this,u=g):(f=g,u=this);for(var b=0,_=0;_<u.length;_++)p=(f.words[_]|0)+(u.words[_]|0)+b,this.words[_]=p&67108863,b=p>>>26;for(;b!==0&&_<f.length;_++)p=(f.words[_]|0)+b,this.words[_]=p&67108863,b=p>>>26;if(this.length=f.length,b!==0)this.words[this.length]=b,this.length++;else if(f!==this)for(;_<f.length;_++)this.words[_]=f.words[_];return this},s.prototype.add=function(g){var p;return g.negative!==0&&this.negative===0?(g.negative=0,p=this.sub(g),g.negative^=1,p):g.negative===0&&this.negative!==0?(this.negative=0,p=g.sub(this),this.negative=1,p):this.length>g.length?this.clone().iadd(g):g.clone().iadd(this)},s.prototype.isub=function(g){if(g.negative!==0){g.negative=0;var p=this.iadd(g);return g.negative=1,p._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(g),this.negative=1,this._normSign();var f=this.cmp(g);if(f===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,b;f>0?(u=this,b=g):(u=g,b=this);for(var _=0,E=0;E<b.length;E++)p=(u.words[E]|0)-(b.words[E]|0)+_,_=p>>26,this.words[E]=p&67108863;for(;_!==0&&E<u.length;E++)p=(u.words[E]|0)+_,_=p>>26,this.words[E]=p&67108863;if(_===0&&E<u.length&&u!==this)for(;E<u.length;E++)this.words[E]=u.words[E];return this.length=Math.max(this.length,E),u!==this&&(this.negative=1),this.strip()},s.prototype.sub=function(g){return this.clone().isub(g)};function S(O,g,p){p.negative=g.negative^O.negative;var f=O.length+g.length|0;p.length=f,f=f-1|0;var u=O.words[0]|0,b=g.words[0]|0,_=u*b,E=_&67108863,w=_/67108864|0;p.words[0]=E;for(var d=1;d<f;d++){for(var m=w>>>26,v=w&67108863,A=Math.min(d,g.length-1),U=Math.max(0,d-O.length+1);U<=A;U++){var x=d-U|0;u=O.words[x]|0,b=g.words[U]|0,_=u*b+v,m+=_/67108864|0,v=_&67108863}p.words[d]=v|0,w=m|0}return w!==0?p.words[d]=w|0:p.length--,p.strip()}var D=function(g,p,f){var u=g.words,b=p.words,_=f.words,E=0,w,d,m,v=u[0]|0,A=v&8191,U=v>>>13,x=u[1]|0,N=x&8191,B=x>>>13,q=u[2]|0,z=q&8191,J=q>>>13,X=u[3]|0,W=X&8191,ne=X>>>13,Q=u[4]|0,ee=Q&8191,qe=Q>>>13,Ue=u[5]|0,he=Ue&8191,Pe=Ue>>>13,Re=u[6]|0,ae=Re&8191,$e=Re>>>13,Ne=u[7]|0,ce=Ne&8191,Te=Ne>>>13,Fe=u[8]|0,oe=Fe&8191,De=Fe>>>13,Ce=u[9]|0,ie=Ce&8191,Ve=Ce>>>13,He=b[0]|0,pe=He&8191,We=He>>>13,Be=b[1]|0,de=Be&8191,Ge=Be>>>13,Xe=b[2]|0,se=Xe&8191,Je=Xe>>>13,Ze=b[3]|0,ge=Ze&8191,ze=Ze>>>13,Oe=b[4]|0,ue=Oe&8191,ke=Oe>>>13,je=b[5]|0,fe=je&8191,Qe=je>>>13,et=b[6]|0,be=et&8191,tt=et>>>13,rt=b[7]|0,le=rt&8191,Ke=rt>>>13,Ae=b[8]|0,ve=Ae&8191,it=Ae>>>13,nt=b[9]|0,ye=nt&8191,st=nt>>>13;f.negative=g.negative^p.negative,f.length=19,w=Math.imul(A,pe),d=Math.imul(A,We),d=d+Math.imul(U,pe)|0,m=Math.imul(U,We);var xe=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(xe>>>26)|0,xe&=67108863,w=Math.imul(N,pe),d=Math.imul(N,We),d=d+Math.imul(B,pe)|0,m=Math.imul(B,We),w=w+Math.imul(A,de)|0,d=d+Math.imul(A,Ge)|0,d=d+Math.imul(U,de)|0,m=m+Math.imul(U,Ge)|0;var Ye=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ye>>>26)|0,Ye&=67108863,w=Math.imul(z,pe),d=Math.imul(z,We),d=d+Math.imul(J,pe)|0,m=Math.imul(J,We),w=w+Math.imul(N,de)|0,d=d+Math.imul(N,Ge)|0,d=d+Math.imul(B,de)|0,m=m+Math.imul(B,Ge)|0,w=w+Math.imul(A,se)|0,d=d+Math.imul(A,Je)|0,d=d+Math.imul(U,se)|0,m=m+Math.imul(U,Je)|0;var ar=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(ar>>>26)|0,ar&=67108863,w=Math.imul(W,pe),d=Math.imul(W,We),d=d+Math.imul(ne,pe)|0,m=Math.imul(ne,We),w=w+Math.imul(z,de)|0,d=d+Math.imul(z,Ge)|0,d=d+Math.imul(J,de)|0,m=m+Math.imul(J,Ge)|0,w=w+Math.imul(N,se)|0,d=d+Math.imul(N,Je)|0,d=d+Math.imul(B,se)|0,m=m+Math.imul(B,Je)|0,w=w+Math.imul(A,ge)|0,d=d+Math.imul(A,ze)|0,d=d+Math.imul(U,ge)|0,m=m+Math.imul(U,ze)|0;var fr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(fr>>>26)|0,fr&=67108863,w=Math.imul(ee,pe),d=Math.imul(ee,We),d=d+Math.imul(qe,pe)|0,m=Math.imul(qe,We),w=w+Math.imul(W,de)|0,d=d+Math.imul(W,Ge)|0,d=d+Math.imul(ne,de)|0,m=m+Math.imul(ne,Ge)|0,w=w+Math.imul(z,se)|0,d=d+Math.imul(z,Je)|0,d=d+Math.imul(J,se)|0,m=m+Math.imul(J,Je)|0,w=w+Math.imul(N,ge)|0,d=d+Math.imul(N,ze)|0,d=d+Math.imul(B,ge)|0,m=m+Math.imul(B,ze)|0,w=w+Math.imul(A,ue)|0,d=d+Math.imul(A,ke)|0,d=d+Math.imul(U,ue)|0,m=m+Math.imul(U,ke)|0;var cr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(cr>>>26)|0,cr&=67108863,w=Math.imul(he,pe),d=Math.imul(he,We),d=d+Math.imul(Pe,pe)|0,m=Math.imul(Pe,We),w=w+Math.imul(ee,de)|0,d=d+Math.imul(ee,Ge)|0,d=d+Math.imul(qe,de)|0,m=m+Math.imul(qe,Ge)|0,w=w+Math.imul(W,se)|0,d=d+Math.imul(W,Je)|0,d=d+Math.imul(ne,se)|0,m=m+Math.imul(ne,Je)|0,w=w+Math.imul(z,ge)|0,d=d+Math.imul(z,ze)|0,d=d+Math.imul(J,ge)|0,m=m+Math.imul(J,ze)|0,w=w+Math.imul(N,ue)|0,d=d+Math.imul(N,ke)|0,d=d+Math.imul(B,ue)|0,m=m+Math.imul(B,ke)|0,w=w+Math.imul(A,fe)|0,d=d+Math.imul(A,Qe)|0,d=d+Math.imul(U,fe)|0,m=m+Math.imul(U,Qe)|0;var hr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(hr>>>26)|0,hr&=67108863,w=Math.imul(ae,pe),d=Math.imul(ae,We),d=d+Math.imul($e,pe)|0,m=Math.imul($e,We),w=w+Math.imul(he,de)|0,d=d+Math.imul(he,Ge)|0,d=d+Math.imul(Pe,de)|0,m=m+Math.imul(Pe,Ge)|0,w=w+Math.imul(ee,se)|0,d=d+Math.imul(ee,Je)|0,d=d+Math.imul(qe,se)|0,m=m+Math.imul(qe,Je)|0,w=w+Math.imul(W,ge)|0,d=d+Math.imul(W,ze)|0,d=d+Math.imul(ne,ge)|0,m=m+Math.imul(ne,ze)|0,w=w+Math.imul(z,ue)|0,d=d+Math.imul(z,ke)|0,d=d+Math.imul(J,ue)|0,m=m+Math.imul(J,ke)|0,w=w+Math.imul(N,fe)|0,d=d+Math.imul(N,Qe)|0,d=d+Math.imul(B,fe)|0,m=m+Math.imul(B,Qe)|0,w=w+Math.imul(A,be)|0,d=d+Math.imul(A,tt)|0,d=d+Math.imul(U,be)|0,m=m+Math.imul(U,tt)|0;var wt=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(wt>>>26)|0,wt&=67108863,w=Math.imul(ce,pe),d=Math.imul(ce,We),d=d+Math.imul(Te,pe)|0,m=Math.imul(Te,We),w=w+Math.imul(ae,de)|0,d=d+Math.imul(ae,Ge)|0,d=d+Math.imul($e,de)|0,m=m+Math.imul($e,Ge)|0,w=w+Math.imul(he,se)|0,d=d+Math.imul(he,Je)|0,d=d+Math.imul(Pe,se)|0,m=m+Math.imul(Pe,Je)|0,w=w+Math.imul(ee,ge)|0,d=d+Math.imul(ee,ze)|0,d=d+Math.imul(qe,ge)|0,m=m+Math.imul(qe,ze)|0,w=w+Math.imul(W,ue)|0,d=d+Math.imul(W,ke)|0,d=d+Math.imul(ne,ue)|0,m=m+Math.imul(ne,ke)|0,w=w+Math.imul(z,fe)|0,d=d+Math.imul(z,Qe)|0,d=d+Math.imul(J,fe)|0,m=m+Math.imul(J,Qe)|0,w=w+Math.imul(N,be)|0,d=d+Math.imul(N,tt)|0,d=d+Math.imul(B,be)|0,m=m+Math.imul(B,tt)|0,w=w+Math.imul(A,le)|0,d=d+Math.imul(A,Ke)|0,d=d+Math.imul(U,le)|0,m=m+Math.imul(U,Ke)|0;var xi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(xi>>>26)|0,xi&=67108863,w=Math.imul(oe,pe),d=Math.imul(oe,We),d=d+Math.imul(De,pe)|0,m=Math.imul(De,We),w=w+Math.imul(ce,de)|0,d=d+Math.imul(ce,Ge)|0,d=d+Math.imul(Te,de)|0,m=m+Math.imul(Te,Ge)|0,w=w+Math.imul(ae,se)|0,d=d+Math.imul(ae,Je)|0,d=d+Math.imul($e,se)|0,m=m+Math.imul($e,Je)|0,w=w+Math.imul(he,ge)|0,d=d+Math.imul(he,ze)|0,d=d+Math.imul(Pe,ge)|0,m=m+Math.imul(Pe,ze)|0,w=w+Math.imul(ee,ue)|0,d=d+Math.imul(ee,ke)|0,d=d+Math.imul(qe,ue)|0,m=m+Math.imul(qe,ke)|0,w=w+Math.imul(W,fe)|0,d=d+Math.imul(W,Qe)|0,d=d+Math.imul(ne,fe)|0,m=m+Math.imul(ne,Qe)|0,w=w+Math.imul(z,be)|0,d=d+Math.imul(z,tt)|0,d=d+Math.imul(J,be)|0,m=m+Math.imul(J,tt)|0,w=w+Math.imul(N,le)|0,d=d+Math.imul(N,Ke)|0,d=d+Math.imul(B,le)|0,m=m+Math.imul(B,Ke)|0,w=w+Math.imul(A,ve)|0,d=d+Math.imul(A,it)|0,d=d+Math.imul(U,ve)|0,m=m+Math.imul(U,it)|0;var Ei=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ei>>>26)|0,Ei&=67108863,w=Math.imul(ie,pe),d=Math.imul(ie,We),d=d+Math.imul(Ve,pe)|0,m=Math.imul(Ve,We),w=w+Math.imul(oe,de)|0,d=d+Math.imul(oe,Ge)|0,d=d+Math.imul(De,de)|0,m=m+Math.imul(De,Ge)|0,w=w+Math.imul(ce,se)|0,d=d+Math.imul(ce,Je)|0,d=d+Math.imul(Te,se)|0,m=m+Math.imul(Te,Je)|0,w=w+Math.imul(ae,ge)|0,d=d+Math.imul(ae,ze)|0,d=d+Math.imul($e,ge)|0,m=m+Math.imul($e,ze)|0,w=w+Math.imul(he,ue)|0,d=d+Math.imul(he,ke)|0,d=d+Math.imul(Pe,ue)|0,m=m+Math.imul(Pe,ke)|0,w=w+Math.imul(ee,fe)|0,d=d+Math.imul(ee,Qe)|0,d=d+Math.imul(qe,fe)|0,m=m+Math.imul(qe,Qe)|0,w=w+Math.imul(W,be)|0,d=d+Math.imul(W,tt)|0,d=d+Math.imul(ne,be)|0,m=m+Math.imul(ne,tt)|0,w=w+Math.imul(z,le)|0,d=d+Math.imul(z,Ke)|0,d=d+Math.imul(J,le)|0,m=m+Math.imul(J,Ke)|0,w=w+Math.imul(N,ve)|0,d=d+Math.imul(N,it)|0,d=d+Math.imul(B,ve)|0,m=m+Math.imul(B,it)|0,w=w+Math.imul(A,ye)|0,d=d+Math.imul(A,st)|0,d=d+Math.imul(U,ye)|0,m=m+Math.imul(U,st)|0;var Si=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Si>>>26)|0,Si&=67108863,w=Math.imul(ie,de),d=Math.imul(ie,Ge),d=d+Math.imul(Ve,de)|0,m=Math.imul(Ve,Ge),w=w+Math.imul(oe,se)|0,d=d+Math.imul(oe,Je)|0,d=d+Math.imul(De,se)|0,m=m+Math.imul(De,Je)|0,w=w+Math.imul(ce,ge)|0,d=d+Math.imul(ce,ze)|0,d=d+Math.imul(Te,ge)|0,m=m+Math.imul(Te,ze)|0,w=w+Math.imul(ae,ue)|0,d=d+Math.imul(ae,ke)|0,d=d+Math.imul($e,ue)|0,m=m+Math.imul($e,ke)|0,w=w+Math.imul(he,fe)|0,d=d+Math.imul(he,Qe)|0,d=d+Math.imul(Pe,fe)|0,m=m+Math.imul(Pe,Qe)|0,w=w+Math.imul(ee,be)|0,d=d+Math.imul(ee,tt)|0,d=d+Math.imul(qe,be)|0,m=m+Math.imul(qe,tt)|0,w=w+Math.imul(W,le)|0,d=d+Math.imul(W,Ke)|0,d=d+Math.imul(ne,le)|0,m=m+Math.imul(ne,Ke)|0,w=w+Math.imul(z,ve)|0,d=d+Math.imul(z,it)|0,d=d+Math.imul(J,ve)|0,m=m+Math.imul(J,it)|0,w=w+Math.imul(N,ye)|0,d=d+Math.imul(N,st)|0,d=d+Math.imul(B,ye)|0,m=m+Math.imul(B,st)|0;var Mi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,w=Math.imul(ie,se),d=Math.imul(ie,Je),d=d+Math.imul(Ve,se)|0,m=Math.imul(Ve,Je),w=w+Math.imul(oe,ge)|0,d=d+Math.imul(oe,ze)|0,d=d+Math.imul(De,ge)|0,m=m+Math.imul(De,ze)|0,w=w+Math.imul(ce,ue)|0,d=d+Math.imul(ce,ke)|0,d=d+Math.imul(Te,ue)|0,m=m+Math.imul(Te,ke)|0,w=w+Math.imul(ae,fe)|0,d=d+Math.imul(ae,Qe)|0,d=d+Math.imul($e,fe)|0,m=m+Math.imul($e,Qe)|0,w=w+Math.imul(he,be)|0,d=d+Math.imul(he,tt)|0,d=d+Math.imul(Pe,be)|0,m=m+Math.imul(Pe,tt)|0,w=w+Math.imul(ee,le)|0,d=d+Math.imul(ee,Ke)|0,d=d+Math.imul(qe,le)|0,m=m+Math.imul(qe,Ke)|0,w=w+Math.imul(W,ve)|0,d=d+Math.imul(W,it)|0,d=d+Math.imul(ne,ve)|0,m=m+Math.imul(ne,it)|0,w=w+Math.imul(z,ye)|0,d=d+Math.imul(z,st)|0,d=d+Math.imul(J,ye)|0,m=m+Math.imul(J,st)|0;var Ii=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ii>>>26)|0,Ii&=67108863,w=Math.imul(ie,ge),d=Math.imul(ie,ze),d=d+Math.imul(Ve,ge)|0,m=Math.imul(Ve,ze),w=w+Math.imul(oe,ue)|0,d=d+Math.imul(oe,ke)|0,d=d+Math.imul(De,ue)|0,m=m+Math.imul(De,ke)|0,w=w+Math.imul(ce,fe)|0,d=d+Math.imul(ce,Qe)|0,d=d+Math.imul(Te,fe)|0,m=m+Math.imul(Te,Qe)|0,w=w+Math.imul(ae,be)|0,d=d+Math.imul(ae,tt)|0,d=d+Math.imul($e,be)|0,m=m+Math.imul($e,tt)|0,w=w+Math.imul(he,le)|0,d=d+Math.imul(he,Ke)|0,d=d+Math.imul(Pe,le)|0,m=m+Math.imul(Pe,Ke)|0,w=w+Math.imul(ee,ve)|0,d=d+Math.imul(ee,it)|0,d=d+Math.imul(qe,ve)|0,m=m+Math.imul(qe,it)|0,w=w+Math.imul(W,ye)|0,d=d+Math.imul(W,st)|0,d=d+Math.imul(ne,ye)|0,m=m+Math.imul(ne,st)|0;var Pr=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Pr>>>26)|0,Pr&=67108863,w=Math.imul(ie,ue),d=Math.imul(ie,ke),d=d+Math.imul(Ve,ue)|0,m=Math.imul(Ve,ke),w=w+Math.imul(oe,fe)|0,d=d+Math.imul(oe,Qe)|0,d=d+Math.imul(De,fe)|0,m=m+Math.imul(De,Qe)|0,w=w+Math.imul(ce,be)|0,d=d+Math.imul(ce,tt)|0,d=d+Math.imul(Te,be)|0,m=m+Math.imul(Te,tt)|0,w=w+Math.imul(ae,le)|0,d=d+Math.imul(ae,Ke)|0,d=d+Math.imul($e,le)|0,m=m+Math.imul($e,Ke)|0,w=w+Math.imul(he,ve)|0,d=d+Math.imul(he,it)|0,d=d+Math.imul(Pe,ve)|0,m=m+Math.imul(Pe,it)|0,w=w+Math.imul(ee,ye)|0,d=d+Math.imul(ee,st)|0,d=d+Math.imul(qe,ye)|0,m=m+Math.imul(qe,st)|0;var Ai=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Ai>>>26)|0,Ai&=67108863,w=Math.imul(ie,fe),d=Math.imul(ie,Qe),d=d+Math.imul(Ve,fe)|0,m=Math.imul(Ve,Qe),w=w+Math.imul(oe,be)|0,d=d+Math.imul(oe,tt)|0,d=d+Math.imul(De,be)|0,m=m+Math.imul(De,tt)|0,w=w+Math.imul(ce,le)|0,d=d+Math.imul(ce,Ke)|0,d=d+Math.imul(Te,le)|0,m=m+Math.imul(Te,Ke)|0,w=w+Math.imul(ae,ve)|0,d=d+Math.imul(ae,it)|0,d=d+Math.imul($e,ve)|0,m=m+Math.imul($e,it)|0,w=w+Math.imul(he,ye)|0,d=d+Math.imul(he,st)|0,d=d+Math.imul(Pe,ye)|0,m=m+Math.imul(Pe,st)|0;var Di=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Di>>>26)|0,Di&=67108863,w=Math.imul(ie,be),d=Math.imul(ie,tt),d=d+Math.imul(Ve,be)|0,m=Math.imul(Ve,tt),w=w+Math.imul(oe,le)|0,d=d+Math.imul(oe,Ke)|0,d=d+Math.imul(De,le)|0,m=m+Math.imul(De,Ke)|0,w=w+Math.imul(ce,ve)|0,d=d+Math.imul(ce,it)|0,d=d+Math.imul(Te,ve)|0,m=m+Math.imul(Te,it)|0,w=w+Math.imul(ae,ye)|0,d=d+Math.imul(ae,st)|0,d=d+Math.imul($e,ye)|0,m=m+Math.imul($e,st)|0;var Wt=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Wt>>>26)|0,Wt&=67108863,w=Math.imul(ie,le),d=Math.imul(ie,Ke),d=d+Math.imul(Ve,le)|0,m=Math.imul(Ve,Ke),w=w+Math.imul(oe,ve)|0,d=d+Math.imul(oe,it)|0,d=d+Math.imul(De,ve)|0,m=m+Math.imul(De,it)|0,w=w+Math.imul(ce,ye)|0,d=d+Math.imul(ce,st)|0,d=d+Math.imul(Te,ye)|0,m=m+Math.imul(Te,st)|0;var Oi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Oi>>>26)|0,Oi&=67108863,w=Math.imul(ie,ve),d=Math.imul(ie,it),d=d+Math.imul(Ve,ve)|0,m=Math.imul(Ve,it),w=w+Math.imul(oe,ye)|0,d=d+Math.imul(oe,st)|0,d=d+Math.imul(De,ye)|0,m=m+Math.imul(De,st)|0;var Pi=(E+w|0)+((d&8191)<<13)|0;E=(m+(d>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,w=Math.imul(ie,ye),d=Math.imul(ie,st),d=d+Math.imul(Ve,ye)|0,m=Math.imul(Ve,st);var Ri=(E+w|0)+((d&8191)<<13)|0;return E=(m+(d>>>13)|0)+(Ri>>>26)|0,Ri&=67108863,_[0]=xe,_[1]=Ye,_[2]=ar,_[3]=fr,_[4]=cr,_[5]=hr,_[6]=wt,_[7]=xi,_[8]=Ei,_[9]=Si,_[10]=Mi,_[11]=Ii,_[12]=Pr,_[13]=Ai,_[14]=Di,_[15]=Wt,_[16]=Oi,_[17]=Pi,_[18]=Ri,E!==0&&(_[19]=E,f.length++),f};Math.imul||(D=S);function R(O,g,p){p.negative=g.negative^O.negative,p.length=O.length+g.length;for(var f=0,u=0,b=0;b<p.length-1;b++){var _=u;u=0;for(var E=f&67108863,w=Math.min(b,g.length-1),d=Math.max(0,b-O.length+1);d<=w;d++){var m=b-d,v=O.words[m]|0,A=g.words[d]|0,U=v*A,x=U&67108863;_=_+(U/67108864|0)|0,x=x+E|0,E=x&67108863,_=_+(x>>>26)|0,u+=_>>>26,_&=67108863}p.words[b]=E,f=_,_=u}return f!==0?p.words[b]=f:p.length--,p.strip()}function $(O,g,p){var f=new T;return f.mulp(O,g,p)}s.prototype.mulTo=function(g,p){var f,u=this.length+g.length;return this.length===10&&g.length===10?f=D(this,g,p):u<63?f=S(this,g,p):u<1024?f=R(this,g,p):f=$(this,g,p),f};function T(O,g){this.x=O,this.y=g}T.prototype.makeRBT=function(g){for(var p=new Array(g),f=s.prototype._countBits(g)-1,u=0;u<g;u++)p[u]=this.revBin(u,f,g);return p},T.prototype.revBin=function(g,p,f){if(g===0||g===f-1)return g;for(var u=0,b=0;b<p;b++)u|=(g&1)<<p-b-1,g>>=1;return u},T.prototype.permute=function(g,p,f,u,b,_){for(var E=0;E<_;E++)u[E]=p[g[E]],b[E]=f[g[E]]},T.prototype.transform=function(g,p,f,u,b,_){this.permute(_,g,p,f,u,b);for(var E=1;E<b;E<<=1)for(var w=E<<1,d=Math.cos(2*Math.PI/w),m=Math.sin(2*Math.PI/w),v=0;v<b;v+=w)for(var A=d,U=m,x=0;x<E;x++){var N=f[v+x],B=u[v+x],q=f[v+x+E],z=u[v+x+E],J=A*q-U*z;z=A*z+U*q,q=J,f[v+x]=N+q,u[v+x]=B+z,f[v+x+E]=N-q,u[v+x+E]=B-z,x!==w&&(J=d*A-m*U,U=d*U+m*A,A=J)}},T.prototype.guessLen13b=function(g,p){var f=Math.max(p,g)|1,u=f&1,b=0;for(f=f/2|0;f;f=f>>>1)b++;return 1<<b+1+u},T.prototype.conjugate=function(g,p,f){if(!(f<=1))for(var u=0;u<f/2;u++){var b=g[u];g[u]=g[f-u-1],g[f-u-1]=b,b=p[u],p[u]=-p[f-u-1],p[f-u-1]=-b}},T.prototype.normalize13b=function(g,p){for(var f=0,u=0;u<p/2;u++){var b=Math.round(g[2*u+1]/p)*8192+Math.round(g[2*u]/p)+f;g[u]=b&67108863,b<67108864?f=0:f=b/67108864|0}return g},T.prototype.convert13b=function(g,p,f,u){for(var b=0,_=0;_<p;_++)b=b+(g[_]|0),f[2*_]=b&8191,b=b>>>13,f[2*_+1]=b&8191,b=b>>>13;for(_=2*p;_<u;++_)f[_]=0;i(b===0),i((b&-8192)===0)},T.prototype.stub=function(g){for(var p=new Array(g),f=0;f<g;f++)p[f]=0;return p},T.prototype.mulp=function(g,p,f){var u=2*this.guessLen13b(g.length,p.length),b=this.makeRBT(u),_=this.stub(u),E=new Array(u),w=new Array(u),d=new Array(u),m=new Array(u),v=new Array(u),A=new Array(u),U=f.words;U.length=u,this.convert13b(g.words,g.length,E,u),this.convert13b(p.words,p.length,m,u),this.transform(E,_,w,d,u,b),this.transform(m,_,v,A,u,b);for(var x=0;x<u;x++){var N=w[x]*v[x]-d[x]*A[x];d[x]=w[x]*A[x]+d[x]*v[x],w[x]=N}return this.conjugate(w,d,u),this.transform(w,d,U,_,u,b),this.conjugate(U,_,u),this.normalize13b(U,u),f.negative=g.negative^p.negative,f.length=g.length+p.length,f.strip()},s.prototype.mul=function(g){var p=new s(null);return p.words=new Array(this.length+g.length),this.mulTo(g,p)},s.prototype.mulf=function(g){var p=new s(null);return p.words=new Array(this.length+g.length),$(this,g,p)},s.prototype.imul=function(g){return this.clone().mulTo(g,this)},s.prototype.imuln=function(g){i(typeof g=="number"),i(g<67108864);for(var p=0,f=0;f<this.length;f++){var u=(this.words[f]|0)*g,b=(u&67108863)+(p&67108863);p>>=26,p+=u/67108864|0,p+=b>>>26,this.words[f]=b&67108863}return p!==0&&(this.words[f]=p,this.length++),this},s.prototype.muln=function(g){return this.clone().imuln(g)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(g){var p=I(g);if(p.length===0)return new s(1);for(var f=this,u=0;u<p.length&&p[u]===0;u++,f=f.sqr());if(++u<p.length)for(var b=f.sqr();u<p.length;u++,b=b.sqr())p[u]!==0&&(f=f.mul(b));return f},s.prototype.iushln=function(g){i(typeof g=="number"&&g>=0);var p=g%26,f=(g-p)/26,u=67108863>>>26-p<<26-p,b;if(p!==0){var _=0;for(b=0;b<this.length;b++){var E=this.words[b]&u,w=(this.words[b]|0)-E<<p;this.words[b]=w|_,_=E>>>26-p}_&&(this.words[b]=_,this.length++)}if(f!==0){for(b=this.length-1;b>=0;b--)this.words[b+f]=this.words[b];for(b=0;b<f;b++)this.words[b]=0;this.length+=f}return this.strip()},s.prototype.ishln=function(g){return i(this.negative===0),this.iushln(g)},s.prototype.iushrn=function(g,p,f){i(typeof g=="number"&&g>=0);var u;p?u=(p-p%26)/26:u=0;var b=g%26,_=Math.min((g-b)/26,this.length),E=67108863^67108863>>>b<<b,w=f;if(u-=_,u=Math.max(0,u),w){for(var d=0;d<_;d++)w.words[d]=this.words[d];w.length=_}if(_!==0)if(this.length>_)for(this.length-=_,d=0;d<this.length;d++)this.words[d]=this.words[d+_];else this.words[0]=0,this.length=1;var m=0;for(d=this.length-1;d>=0&&(m!==0||d>=u);d--){var v=this.words[d]|0;this.words[d]=m<<26-b|v>>>b,m=v&E}return w&&m!==0&&(w.words[w.length++]=m),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(g,p,f){return i(this.negative===0),this.iushrn(g,p,f)},s.prototype.shln=function(g){return this.clone().ishln(g)},s.prototype.ushln=function(g){return this.clone().iushln(g)},s.prototype.shrn=function(g){return this.clone().ishrn(g)},s.prototype.ushrn=function(g){return this.clone().iushrn(g)},s.prototype.testn=function(g){i(typeof g=="number"&&g>=0);var p=g%26,f=(g-p)/26,u=1<<p;if(this.length<=f)return!1;var b=this.words[f];return!!(b&u)},s.prototype.imaskn=function(g){i(typeof g=="number"&&g>=0);var p=g%26,f=(g-p)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=f)return this;if(p!==0&&f++,this.length=Math.min(f,this.length),p!==0){var u=67108863^67108863>>>p<<p;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(g){return this.clone().imaskn(g)},s.prototype.iaddn=function(g){return i(typeof g=="number"),i(g<67108864),g<0?this.isubn(-g):this.negative!==0?this.length===1&&(this.words[0]|0)<g?(this.words[0]=g-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(g),this.negative=1,this):this._iaddn(g)},s.prototype._iaddn=function(g){this.words[0]+=g;for(var p=0;p<this.length&&this.words[p]>=67108864;p++)this.words[p]-=67108864,p===this.length-1?this.words[p+1]=1:this.words[p+1]++;return this.length=Math.max(this.length,p+1),this},s.prototype.isubn=function(g){if(i(typeof g=="number"),i(g<67108864),g<0)return this.iaddn(-g);if(this.negative!==0)return this.negative=0,this.iaddn(g),this.negative=1,this;if(this.words[0]-=g,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var p=0;p<this.length&&this.words[p]<0;p++)this.words[p]+=67108864,this.words[p+1]-=1;return this.strip()},s.prototype.addn=function(g){return this.clone().iaddn(g)},s.prototype.subn=function(g){return this.clone().isubn(g)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(g,p,f){var u=g.length+f,b;this._expand(u);var _,E=0;for(b=0;b<g.length;b++){_=(this.words[b+f]|0)+E;var w=(g.words[b]|0)*p;_-=w&67108863,E=(_>>26)-(w/67108864|0),this.words[b+f]=_&67108863}for(;b<this.length-f;b++)_=(this.words[b+f]|0)+E,E=_>>26,this.words[b+f]=_&67108863;if(E===0)return this.strip();for(i(E===-1),E=0,b=0;b<this.length;b++)_=-(this.words[b]|0)+E,E=_>>26,this.words[b]=_&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(g,p){var f=this.length-g.length,u=this.clone(),b=g,_=b.words[b.length-1]|0,E=this._countBits(_);f=26-E,f!==0&&(b=b.ushln(f),u.iushln(f),_=b.words[b.length-1]|0);var w=u.length-b.length,d;if(p!=="mod"){d=new s(null),d.length=w+1,d.words=new Array(d.length);for(var m=0;m<d.length;m++)d.words[m]=0}var v=u.clone()._ishlnsubmul(b,1,w);v.negative===0&&(u=v,d&&(d.words[w]=1));for(var A=w-1;A>=0;A--){var U=(u.words[b.length+A]|0)*67108864+(u.words[b.length+A-1]|0);for(U=Math.min(U/_|0,67108863),u._ishlnsubmul(b,U,A);u.negative!==0;)U--,u.negative=0,u._ishlnsubmul(b,1,A),u.isZero()||(u.negative^=1);d&&(d.words[A]=U)}return d&&d.strip(),u.strip(),p!=="div"&&f!==0&&u.iushrn(f),{div:d||null,mod:u}},s.prototype.divmod=function(g,p,f){if(i(!g.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,b,_;return this.negative!==0&&g.negative===0?(_=this.neg().divmod(g,p),p!=="mod"&&(u=_.div.neg()),p!=="div"&&(b=_.mod.neg(),f&&b.negative!==0&&b.iadd(g)),{div:u,mod:b}):this.negative===0&&g.negative!==0?(_=this.divmod(g.neg(),p),p!=="mod"&&(u=_.div.neg()),{div:u,mod:_.mod}):this.negative&g.negative?(_=this.neg().divmod(g.neg(),p),p!=="div"&&(b=_.mod.neg(),f&&b.negative!==0&&b.isub(g)),{div:_.div,mod:b}):g.length>this.length||this.cmp(g)<0?{div:new s(0),mod:this}:g.length===1?p==="div"?{div:this.divn(g.words[0]),mod:null}:p==="mod"?{div:null,mod:new s(this.modn(g.words[0]))}:{div:this.divn(g.words[0]),mod:new s(this.modn(g.words[0]))}:this._wordDiv(g,p)},s.prototype.div=function(g){return this.divmod(g,"div",!1).div},s.prototype.mod=function(g){return this.divmod(g,"mod",!1).mod},s.prototype.umod=function(g){return this.divmod(g,"mod",!0).mod},s.prototype.divRound=function(g){var p=this.divmod(g);if(p.mod.isZero())return p.div;var f=p.div.negative!==0?p.mod.isub(g):p.mod,u=g.ushrn(1),b=g.andln(1),_=f.cmp(u);return _<0||b===1&&_===0?p.div:p.div.negative!==0?p.div.isubn(1):p.div.iaddn(1)},s.prototype.modn=function(g){i(g<=67108863);for(var p=(1<<26)%g,f=0,u=this.length-1;u>=0;u--)f=(p*f+(this.words[u]|0))%g;return f},s.prototype.idivn=function(g){i(g<=67108863);for(var p=0,f=this.length-1;f>=0;f--){var u=(this.words[f]|0)+p*67108864;this.words[f]=u/g|0,p=u%g}return this.strip()},s.prototype.divn=function(g){return this.clone().idivn(g)},s.prototype.egcd=function(g){i(g.negative===0),i(!g.isZero());var p=this,f=g.clone();p.negative!==0?p=p.umod(g):p=p.clone();for(var u=new s(1),b=new s(0),_=new s(0),E=new s(1),w=0;p.isEven()&&f.isEven();)p.iushrn(1),f.iushrn(1),++w;for(var d=f.clone(),m=p.clone();!p.isZero();){for(var v=0,A=1;!(p.words[0]&A)&&v<26;++v,A<<=1);if(v>0)for(p.iushrn(v);v-- >0;)(u.isOdd()||b.isOdd())&&(u.iadd(d),b.isub(m)),u.iushrn(1),b.iushrn(1);for(var U=0,x=1;!(f.words[0]&x)&&U<26;++U,x<<=1);if(U>0)for(f.iushrn(U);U-- >0;)(_.isOdd()||E.isOdd())&&(_.iadd(d),E.isub(m)),_.iushrn(1),E.iushrn(1);p.cmp(f)>=0?(p.isub(f),u.isub(_),b.isub(E)):(f.isub(p),_.isub(u),E.isub(b))}return{a:_,b:E,gcd:f.iushln(w)}},s.prototype._invmp=function(g){i(g.negative===0),i(!g.isZero());var p=this,f=g.clone();p.negative!==0?p=p.umod(g):p=p.clone();for(var u=new s(1),b=new s(0),_=f.clone();p.cmpn(1)>0&&f.cmpn(1)>0;){for(var E=0,w=1;!(p.words[0]&w)&&E<26;++E,w<<=1);if(E>0)for(p.iushrn(E);E-- >0;)u.isOdd()&&u.iadd(_),u.iushrn(1);for(var d=0,m=1;!(f.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(f.iushrn(d);d-- >0;)b.isOdd()&&b.iadd(_),b.iushrn(1);p.cmp(f)>=0?(p.isub(f),u.isub(b)):(f.isub(p),b.isub(u))}var v;return p.cmpn(1)===0?v=u:v=b,v.cmpn(0)<0&&v.iadd(g),v},s.prototype.gcd=function(g){if(this.isZero())return g.abs();if(g.isZero())return this.abs();var p=this.clone(),f=g.clone();p.negative=0,f.negative=0;for(var u=0;p.isEven()&&f.isEven();u++)p.iushrn(1),f.iushrn(1);do{for(;p.isEven();)p.iushrn(1);for(;f.isEven();)f.iushrn(1);var b=p.cmp(f);if(b<0){var _=p;p=f,f=_}else if(b===0||f.cmpn(1)===0)break;p.isub(f)}while(!0);return f.iushln(u)},s.prototype.invm=function(g){return this.egcd(g).a.umod(g)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(g){return this.words[0]&g},s.prototype.bincn=function(g){i(typeof g=="number");var p=g%26,f=(g-p)/26,u=1<<p;if(this.length<=f)return this._expand(f+1),this.words[f]|=u,this;for(var b=u,_=f;b!==0&&_<this.length;_++){var E=this.words[_]|0;E+=b,b=E>>>26,E&=67108863,this.words[_]=E}return b!==0&&(this.words[_]=b,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(g){var p=g<0;if(this.negative!==0&&!p)return-1;if(this.negative===0&&p)return 1;this.strip();var f;if(this.length>1)f=1;else{p&&(g=-g),i(g<=67108863,"Number is too big");var u=this.words[0]|0;f=u===g?0:u<g?-1:1}return this.negative!==0?-f|0:f},s.prototype.cmp=function(g){if(this.negative!==0&&g.negative===0)return-1;if(this.negative===0&&g.negative!==0)return 1;var p=this.ucmp(g);return this.negative!==0?-p|0:p},s.prototype.ucmp=function(g){if(this.length>g.length)return 1;if(this.length<g.length)return-1;for(var p=0,f=this.length-1;f>=0;f--){var u=this.words[f]|0,b=g.words[f]|0;if(u!==b){u<b?p=-1:u>b&&(p=1);break}}return p},s.prototype.gtn=function(g){return this.cmpn(g)===1},s.prototype.gt=function(g){return this.cmp(g)===1},s.prototype.gten=function(g){return this.cmpn(g)>=0},s.prototype.gte=function(g){return this.cmp(g)>=0},s.prototype.ltn=function(g){return this.cmpn(g)===-1},s.prototype.lt=function(g){return this.cmp(g)===-1},s.prototype.lten=function(g){return this.cmpn(g)<=0},s.prototype.lte=function(g){return this.cmp(g)<=0},s.prototype.eqn=function(g){return this.cmpn(g)===0},s.prototype.eq=function(g){return this.cmp(g)===0},s.red=function(g){return new V(g)},s.prototype.toRed=function(g){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),g.convertTo(this)._forceRed(g)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(g){return this.red=g,this},s.prototype.forceRed=function(g){return i(!this.red,"Already a number in reduction context"),this._forceRed(g)},s.prototype.redAdd=function(g){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,g)},s.prototype.redIAdd=function(g){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,g)},s.prototype.redSub=function(g){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,g)},s.prototype.redISub=function(g){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,g)},s.prototype.redShl=function(g){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,g)},s.prototype.redMul=function(g){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,g),this.red.mul(this,g)},s.prototype.redIMul=function(g){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,g),this.red.imul(this,g)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(g){return i(this.red&&!g.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,g)};var C={k256:null,p224:null,p192:null,p25519:null};function L(O,g){this.name=O,this.p=new s(g,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}L.prototype._tmp=function(){var g=new s(null);return g.words=new Array(Math.ceil(this.n/13)),g},L.prototype.ireduce=function(g){var p=g,f;do this.split(p,this.tmp),p=this.imulK(p),p=p.iadd(this.tmp),f=p.bitLength();while(f>this.n);var u=f<this.n?-1:p.ucmp(this.p);return u===0?(p.words[0]=0,p.length=1):u>0?p.isub(this.p):p.strip!==void 0?p.strip():p._strip(),p},L.prototype.split=function(g,p){g.iushrn(this.n,0,p)},L.prototype.imulK=function(g){return g.imul(this.k)};function k(){L.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(k,L),k.prototype.split=function(g,p){for(var f=4194303,u=Math.min(g.length,9),b=0;b<u;b++)p.words[b]=g.words[b];if(p.length=u,g.length<=9){g.words[0]=0,g.length=1;return}var _=g.words[9];for(p.words[p.length++]=_&f,b=10;b<g.length;b++){var E=g.words[b]|0;g.words[b-10]=(E&f)<<4|_>>>22,_=E}_>>>=22,g.words[b-10]=_,_===0&&g.length>10?g.length-=10:g.length-=9},k.prototype.imulK=function(g){g.words[g.length]=0,g.words[g.length+1]=0,g.length+=2;for(var p=0,f=0;f<g.length;f++){var u=g.words[f]|0;p+=u*977,g.words[f]=p&67108863,p=u*64+(p/67108864|0)}return g.words[g.length-1]===0&&(g.length--,g.words[g.length-1]===0&&g.length--),g};function j(){L.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(j,L);function G(){L.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(G,L);function K(){L.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(K,L),K.prototype.imulK=function(g){for(var p=0,f=0;f<g.length;f++){var u=(g.words[f]|0)*19+p,b=u&67108863;u>>>=26,g.words[f]=b,p=u}return p!==0&&(g.words[g.length++]=p),g},s._prime=function(g){if(C[g])return C[g];var p;if(g==="k256")p=new k;else if(g==="p224")p=new j;else if(g==="p192")p=new G;else if(g==="p25519")p=new K;else throw new Error("Unknown prime "+g);return C[g]=p,p};function V(O){if(typeof O=="string"){var g=s._prime(O);this.m=g.p,this.prime=g}else i(O.gtn(1),"modulus must be greater than 1"),this.m=O,this.prime=null}V.prototype._verify1=function(g){i(g.negative===0,"red works only with positives"),i(g.red,"red works only with red numbers")},V.prototype._verify2=function(g,p){i((g.negative|p.negative)===0,"red works only with positives"),i(g.red&&g.red===p.red,"red works only with red numbers")},V.prototype.imod=function(g){return this.prime?this.prime.ireduce(g)._forceRed(this):g.umod(this.m)._forceRed(this)},V.prototype.neg=function(g){return g.isZero()?g.clone():this.m.sub(g)._forceRed(this)},V.prototype.add=function(g,p){this._verify2(g,p);var f=g.add(p);return f.cmp(this.m)>=0&&f.isub(this.m),f._forceRed(this)},V.prototype.iadd=function(g,p){this._verify2(g,p);var f=g.iadd(p);return f.cmp(this.m)>=0&&f.isub(this.m),f},V.prototype.sub=function(g,p){this._verify2(g,p);var f=g.sub(p);return f.cmpn(0)<0&&f.iadd(this.m),f._forceRed(this)},V.prototype.isub=function(g,p){this._verify2(g,p);var f=g.isub(p);return f.cmpn(0)<0&&f.iadd(this.m),f},V.prototype.shl=function(g,p){return this._verify1(g),this.imod(g.ushln(p))},V.prototype.imul=function(g,p){return this._verify2(g,p),this.imod(g.imul(p))},V.prototype.mul=function(g,p){return this._verify2(g,p),this.imod(g.mul(p))},V.prototype.isqr=function(g){return this.imul(g,g.clone())},V.prototype.sqr=function(g){return this.mul(g,g)},V.prototype.sqrt=function(g){if(g.isZero())return g.clone();var p=this.m.andln(3);if(i(p%2===1),p===3){var f=this.m.add(new s(1)).iushrn(2);return this.pow(g,f)}for(var u=this.m.subn(1),b=0;!u.isZero()&&u.andln(1)===0;)b++,u.iushrn(1);i(!u.isZero());var _=new s(1).toRed(this),E=_.redNeg(),w=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new s(2*d*d).toRed(this);this.pow(d,w).cmp(E)!==0;)d.redIAdd(E);for(var m=this.pow(d,u),v=this.pow(g,u.addn(1).iushrn(1)),A=this.pow(g,u),U=b;A.cmp(_)!==0;){for(var x=A,N=0;x.cmp(_)!==0;N++)x=x.redSqr();i(N<U);var B=this.pow(m,new s(1).iushln(U-N-1));v=v.redMul(B),m=B.redSqr(),A=A.redMul(m),U=N}return v},V.prototype.invm=function(g){var p=g._invmp(this.m);return p.negative!==0?(p.negative=0,this.imod(p).redNeg()):this.imod(p)},V.prototype.pow=function(g,p){if(p.isZero())return new s(1).toRed(this);if(p.cmpn(1)===0)return g.clone();var f=4,u=new Array(1<<f);u[0]=new s(1).toRed(this),u[1]=g;for(var b=2;b<u.length;b++)u[b]=this.mul(u[b-1],g);var _=u[0],E=0,w=0,d=p.bitLength()%26;for(d===0&&(d=26),b=p.length-1;b>=0;b--){for(var m=p.words[b],v=d-1;v>=0;v--){var A=m>>v&1;if(_!==u[0]&&(_=this.sqr(_)),A===0&&E===0){w=0;continue}E<<=1,E|=A,w++,!(w!==f&&(b!==0||v!==0))&&(_=this.mul(_,u[E]),w=0,E=0)}d=26}return _},V.prototype.convertTo=function(g){var p=g.umod(this.m);return p===g?p.clone():p},V.prototype.convertFrom=function(g){var p=g.clone();return p.red=null,p},s.mont=function(g){return new re(g)};function re(O){V.call(this,O),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(re,V),re.prototype.convertTo=function(g){return this.imod(g.ushln(this.shift))},re.prototype.convertFrom=function(g){var p=this.imod(g.mul(this.rinv));return p.red=null,p},re.prototype.imul=function(g,p){if(g.isZero()||p.isZero())return g.words[0]=0,g.length=1,g;var f=g.imul(p),u=f.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=f.isub(u).iushrn(this.shift),_=b;return b.cmp(this.m)>=0?_=b.isub(this.m):b.cmpn(0)<0&&(_=b.iadd(this.m)),_._forceRed(this)},re.prototype.mul=function(g,p){if(g.isZero()||p.isZero())return new s(0)._forceRed(this);var f=g.mul(p),u=f.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=f.isub(u).iushrn(this.shift),_=b;return b.cmp(this.m)>=0?_=b.isub(this.m):b.cmpn(0)<0&&(_=b.iadd(this.m)),_._forceRed(this)},re.prototype.invm=function(g){var p=this.imod(g._invmp(this.m).mul(this.r2));return p._forceRed(this)}})(t,Nt)})(ei);var xf={};(function(t){var e=t;function r(s,o){if(Array.isArray(s))return s.slice();if(!s)return[];var a=[];if(typeof s!="string"){for(var c=0;c<s.length;c++)a[c]=s[c]|0;return a}if(o==="hex"){s=s.replace(/[^a-z0-9]+/ig,""),s.length%2!==0&&(s="0"+s);for(var c=0;c<s.length;c+=2)a.push(parseInt(s[c]+s[c+1],16))}else for(var c=0;c<s.length;c++){var h=s.charCodeAt(c),l=h>>8,y=h&255;l?a.push(l,y):a.push(y)}return a}e.toArray=r;function i(s){return s.length===1?"0"+s:s}e.zero2=i;function n(s){for(var o="",a=0;a<s.length;a++)o+=i(s[a].toString(16));return o}e.toHex=n,e.encode=function(o,a){return a==="hex"?n(o):o}})(xf),function(t){var e=t,r=ei.exports,i=sn,n=xf;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function s(l,y,M){var I=new Array(Math.max(l.bitLength(),M)+1),S;for(S=0;S<I.length;S+=1)I[S]=0;var D=1<<y+1,R=l.clone();for(S=0;S<I.length;S++){var $,T=R.andln(D-1);R.isOdd()?(T>(D>>1)-1?$=(D>>1)-T:$=T,R.isubn($)):$=0,I[S]=$,R.iushrn(1)}return I}e.getNAF=s;function o(l,y){var M=[[],[]];l=l.clone(),y=y.clone();for(var I=0,S=0,D;l.cmpn(-I)>0||y.cmpn(-S)>0;){var R=l.andln(3)+I&3,$=y.andln(3)+S&3;R===3&&(R=-1),$===3&&($=-1);var T;R&1?(D=l.andln(7)+I&7,(D===3||D===5)&&$===2?T=-R:T=R):T=0,M[0].push(T);var C;$&1?(D=y.andln(7)+S&7,(D===3||D===5)&&R===2?C=-$:C=$):C=0,M[1].push(C),2*I===T+1&&(I=1-I),2*S===C+1&&(S=1-S),l.iushrn(1),y.iushrn(1)}return M}e.getJSF=o;function a(l,y,M){var I="_"+y;l.prototype[y]=function(){return this[I]!==void 0?this[I]:this[I]=M.call(this)}}e.cachedProperty=a;function c(l){return typeof l=="string"?e.toArray(l,"hex"):l}e.parseBytes=c;function h(l){return new r(l,"hex","le")}e.intFromLE=h}(pr);var Ao={exports:{}},Ef;Ao.exports=function(e){return Ef||(Ef=new qi(null)),Ef.generate(e)};function qi(t){this.rand=t}if(Ao.exports.Rand=qi,qi.prototype.generate=function(e){return this._rand(e)},qi.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var r=new Uint8Array(e),i=0;i<r.length;i++)r[i]=this.rand.getByte();return r},typeof self=="object")self.crypto&&self.crypto.getRandomValues?qi.prototype._rand=function(e){var r=new Uint8Array(e);return self.crypto.getRandomValues(r),r}:self.msCrypto&&self.msCrypto.getRandomValues?qi.prototype._rand=function(e){var r=new Uint8Array(e);return self.msCrypto.getRandomValues(r),r}:typeof window=="object"&&(qi.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var wd=Qa;if(typeof wd.randomBytes!="function")throw new Error("Not supported");qi.prototype._rand=function(e){return wd.randomBytes(e)}}catch{}var Sf={},fn=ei.exports,xs=pr,Do=xs.getNAF,yw=xs.getJSF,Oo=xs.assert;function Ui(t,e){this.type=t,this.p=new fn(e.p,16),this.red=e.prime?fn.red(e.prime):fn.mont(this.p),this.zero=new fn(0).toRed(this.red),this.one=new fn(1).toRed(this.red),this.two=new fn(2).toRed(this.red),this.n=e.n&&new fn(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Po=Ui;Ui.prototype.point=function(){throw new Error("Not implemented")},Ui.prototype.validate=function(){throw new Error("Not implemented")},Ui.prototype._fixedNafMul=function(e,r){Oo(e.precomputed);var i=e._getDoubles(),n=Do(r,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var o=[],a,c;for(a=0;a<n.length;a+=i.step){c=0;for(var h=a+i.step-1;h>=a;h--)c=(c<<1)+n[h];o.push(c)}for(var l=this.jpoint(null,null,null),y=this.jpoint(null,null,null),M=s;M>0;M--){for(a=0;a<o.length;a++)c=o[a],c===M?y=y.mixedAdd(i.points[a]):c===-M&&(y=y.mixedAdd(i.points[a].neg()));l=l.add(y)}return l.toP()},Ui.prototype._wnafMul=function(e,r){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,o=Do(r,i,this._bitLength),a=this.jpoint(null,null,null),c=o.length-1;c>=0;c--){for(var h=0;c>=0&&o[c]===0;c--)h++;if(c>=0&&h++,a=a.dblp(h),c<0)break;var l=o[c];Oo(l!==0),e.type==="affine"?l>0?a=a.mixedAdd(s[l-1>>1]):a=a.mixedAdd(s[-l-1>>1].neg()):l>0?a=a.add(s[l-1>>1]):a=a.add(s[-l-1>>1].neg())}return e.type==="affine"?a.toP():a},Ui.prototype._wnafMulAdd=function(e,r,i,n,s){var o=this._wnafT1,a=this._wnafT2,c=this._wnafT3,h=0,l,y,M;for(l=0;l<n;l++){M=r[l];var I=M._getNAFPoints(e);o[l]=I.wnd,a[l]=I.points}for(l=n-1;l>=1;l-=2){var S=l-1,D=l;if(o[S]!==1||o[D]!==1){c[S]=Do(i[S],o[S],this._bitLength),c[D]=Do(i[D],o[D],this._bitLength),h=Math.max(c[S].length,h),h=Math.max(c[D].length,h);continue}var R=[r[S],null,null,r[D]];r[S].y.cmp(r[D].y)===0?(R[1]=r[S].add(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg())):r[S].y.cmp(r[D].y.redNeg())===0?(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].add(r[D].neg())):(R[1]=r[S].toJ().mixedAdd(r[D]),R[2]=r[S].toJ().mixedAdd(r[D].neg()));var $=[-3,-1,-5,-7,0,7,5,1,3],T=yw(i[S],i[D]);for(h=Math.max(T[0].length,h),c[S]=new Array(h),c[D]=new Array(h),y=0;y<h;y++){var C=T[0][y]|0,L=T[1][y]|0;c[S][y]=$[(C+1)*3+(L+1)],c[D][y]=0,a[S]=R}}var k=this.jpoint(null,null,null),j=this._wnafT4;for(l=h;l>=0;l--){for(var G=0;l>=0;){var K=!0;for(y=0;y<n;y++)j[y]=c[y][l]|0,j[y]!==0&&(K=!1);if(!K)break;G++,l--}if(l>=0&&G++,k=k.dblp(G),l<0)break;for(y=0;y<n;y++){var V=j[y];V!==0&&(V>0?M=a[y][V-1>>1]:V<0&&(M=a[y][-V-1>>1].neg()),M.type==="affine"?k=k.mixedAdd(M):k=k.add(M))}}for(l=0;l<n;l++)a[l]=null;return s?k:k.toP()};function Sr(t,e){this.curve=t,this.type=e,this.precomputed=null}Ui.BasePoint=Sr,Sr.prototype.eq=function(){throw new Error("Not implemented")},Sr.prototype.validate=function(){return this.curve.validate(this)},Ui.prototype.decodePoint=function(e,r){e=xs.toArray(e,r);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?Oo(e[e.length-1]%2===0):e[0]===7&&Oo(e[e.length-1]%2===1);var n=this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));return n}else if((e[0]===2||e[0]===3)&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),e[0]===3);throw new Error("Unknown point format")},Sr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Sr.prototype._encode=function(e){var r=this.curve.p.byteLength(),i=this.getX().toArray("be",r);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",r))},Sr.prototype.encode=function(e,r){return xs.encode(this._encode(r),e)},Sr.prototype.precompute=function(e){if(this.precomputed)return this;var r={doubles:null,naf:null,beta:null};return r.naf=this._getNAFPoints(8),r.doubles=this._getDoubles(4,e),r.beta=this._getBeta(),this.precomputed=r,this},Sr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var r=this.precomputed.doubles;return r?r.points.length>=Math.ceil((e.bitLength()+1)/r.step):!1},Sr.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<r;s+=e){for(var o=0;o<e;o++)n=n.dbl();i.push(n)}return{step:e,points:i}},Sr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var r=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)r[s]=r[s-1].add(n);return{wnd:e,points:r}},Sr.prototype._getBeta=function(){return null},Sr.prototype.dblp=function(e){for(var r=this,i=0;i<e;i++)r=r.dbl();return r};var mw=pr,pt=ei.exports,Mf=Fn.exports,jn=Po,ww=mw.assert;function Mr(t){jn.call(this,"short",t),this.a=new pt(t.a,16).toRed(this.red),this.b=new pt(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Mf(Mr,jn);var _w=Mr;Mr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var r,i;if(e.beta)r=new pt(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);r=n[0].cmp(n[1])<0?n[0]:n[1],r=r.toRed(this.red)}if(e.lambda)i=new pt(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(r))===0?i=s[0]:(i=s[1],ww(this.g.mul(i).x.cmp(this.g.x.redMul(r))===0))}var o;return e.basis?o=e.basis.map(function(a){return{a:new pt(a.a,16),b:new pt(a.b,16)}}):o=this._getEndoBasis(i),{beta:r,lambda:i,basis:o}}},Mr.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:pt.mont(e),i=new pt(2).toRed(r).redInvm(),n=i.redNeg(),s=new pt(3).toRed(r).redNeg().redSqrt().redMul(i),o=n.redAdd(s).fromRed(),a=n.redSub(s).fromRed();return[o,a]},Mr.prototype._getEndoBasis=function(e){for(var r=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new pt(1),o=new pt(0),a=new pt(0),c=new pt(1),h,l,y,M,I,S,D,R=0,$,T;i.cmpn(0)!==0;){var C=n.div(i);$=n.sub(C.mul(i)),T=a.sub(C.mul(s));var L=c.sub(C.mul(o));if(!y&&$.cmp(r)<0)h=D.neg(),l=s,y=$.neg(),M=T;else if(y&&++R===2)break;D=$,n=i,i=$,a=s,s=T,c=o,o=L}I=$.neg(),S=T;var k=y.sqr().add(M.sqr()),j=I.sqr().add(S.sqr());return j.cmp(k)>=0&&(I=h,S=l),y.negative&&(y=y.neg(),M=M.neg()),I.negative&&(I=I.neg(),S=S.neg()),[{a:y,b:M},{a:I,b:S}]},Mr.prototype._endoSplit=function(e){var r=this.endo.basis,i=r[0],n=r[1],s=n.b.mul(e).divRound(this.n),o=i.b.neg().mul(e).divRound(this.n),a=s.mul(i.a),c=o.mul(n.a),h=s.mul(i.b),l=o.mul(n.b),y=e.sub(a).sub(c),M=h.add(l).neg();return{k1:y,k2:M}},Mr.prototype.pointFromX=function(e,r){e=new pt(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(r&&!s||!r&&s)&&(n=n.redNeg()),this.point(e,n)},Mr.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,i=e.y,n=this.a.redMul(r),s=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},Mr.prototype._endoWnafMulAdd=function(e,r,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,o=0;o<e.length;o++){var a=this._endoSplit(r[o]),c=e[o],h=c._getBeta();a.k1.negative&&(a.k1.ineg(),c=c.neg(!0)),a.k2.negative&&(a.k2.ineg(),h=h.neg(!0)),n[o*2]=c,n[o*2+1]=h,s[o*2]=a.k1,s[o*2+1]=a.k2}for(var l=this._wnafMulAdd(1,n,s,o*2,i),y=0;y<o*2;y++)n[y]=null,s[y]=null;return l};function At(t,e,r,i){jn.BasePoint.call(this,t,"affine"),e===null&&r===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new pt(e,16),this.y=new pt(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}Mf(At,jn.BasePoint),Mr.prototype.point=function(e,r,i){return new At(this,e,r,i)},Mr.prototype.pointFromJSON=function(e,r){return At.fromJSON(this,e,r)},At.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var r=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=r,r.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return r}},At.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},At.fromJSON=function(e,r,i){typeof r=="string"&&(r=JSON.parse(r));var n=e.point(r[0],r[1],i);if(!r[2])return n;function s(a){return e.point(a[0],a[1],i)}var o=r[2];return n.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[n].concat(o.doubles.points.map(s))},naf:o.naf&&{wnd:o.naf.wnd,points:[n].concat(o.naf.points.map(s))}},n},At.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},At.prototype.isInfinity=function(){return this.inf},At.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var i=r.redSqr().redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},At.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(r).redMul(n),o=s.redSqr().redISub(this.x.redAdd(this.x)),a=s.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},At.prototype.getX=function(){return this.x.fromRed()},At.prototype.getY=function(){return this.y.fromRed()},At.prototype.mul=function(e){return e=new pt(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},At.prototype.mulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},At.prototype.jmulAdd=function(e,r,i){var n=[this,r],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},At.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},At.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};r.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return r},At.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function Lt(t,e,r,i){jn.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new pt(0)):(this.x=new pt(e,16),this.y=new pt(r,16),this.z=new pt(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Mf(Lt,jn.BasePoint),Mr.prototype.jpoint=function(e,r,i){return new Lt(this,e,r,i)},Lt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),i=this.x.redMul(r),n=this.y.redMul(r).redMul(e);return this.curve.point(i,n)},Lt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Lt.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(r),s=e.x.redMul(i),o=this.y.redMul(r.redMul(e.z)),a=e.y.redMul(i.redMul(this.z)),c=n.redSub(s),h=o.redSub(a);if(c.cmpn(0)===0)return h.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var l=c.redSqr(),y=l.redMul(c),M=n.redMul(l),I=h.redSqr().redIAdd(y).redISub(M).redISub(M),S=h.redMul(M.redISub(I)).redISub(o.redMul(y)),D=this.z.redMul(e.z).redMul(c);return this.curve.jpoint(I,S,D)},Lt.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),i=this.x,n=e.x.redMul(r),s=this.y,o=e.y.redMul(r).redMul(this.z),a=i.redSub(n),c=s.redSub(o);if(a.cmpn(0)===0)return c.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var h=a.redSqr(),l=h.redMul(a),y=i.redMul(h),M=c.redSqr().redIAdd(l).redISub(y).redISub(y),I=c.redMul(y.redISub(M)).redISub(s.redMul(l)),S=this.z.redMul(a);return this.curve.jpoint(M,I,S)},Lt.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var i=this;for(r=0;r<e;r++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,o=this.x,a=this.y,c=this.z,h=c.redSqr().redSqr(),l=a.redAdd(a);for(r=0;r<e;r++){var y=o.redSqr(),M=l.redSqr(),I=M.redSqr(),S=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(h)),D=o.redMul(M),R=S.redSqr().redISub(D.redAdd(D)),$=D.redISub(R),T=S.redMul($);T=T.redIAdd(T).redISub(I);var C=l.redMul(c);r+1<e&&(h=h.redMul(I)),o=R,c=C,l=T}return this.curve.jpoint(o,l.redMul(s),c)},Lt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Lt.prototype._zeroDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n),h=c.redSqr().redISub(a).redISub(a),l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),e=h,r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),M=this.y.redSqr(),I=M.redSqr(),S=this.x.redAdd(M).redSqr().redISub(y).redISub(I);S=S.redIAdd(S);var D=y.redAdd(y).redIAdd(y),R=D.redSqr(),$=I.redIAdd(I);$=$.redIAdd($),$=$.redIAdd($),e=R.redISub(S).redISub(S),r=D.redMul(S.redISub(e)).redISub($),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,r,i)},Lt.prototype._threeDbl=function(){var e,r,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),o=s.redSqr(),a=this.x.redAdd(s).redSqr().redISub(n).redISub(o);a=a.redIAdd(a);var c=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),h=c.redSqr().redISub(a).redISub(a);e=h;var l=o.redIAdd(o);l=l.redIAdd(l),l=l.redIAdd(l),r=c.redMul(a.redISub(h)).redISub(l),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),M=this.y.redSqr(),I=this.x.redMul(M),S=this.x.redSub(y).redMul(this.x.redAdd(y));S=S.redAdd(S).redIAdd(S);var D=I.redIAdd(I);D=D.redIAdd(D);var R=D.redAdd(D);e=S.redSqr().redISub(R),i=this.y.redAdd(this.z).redSqr().redISub(M).redISub(y);var $=M.redSqr();$=$.redIAdd($),$=$.redIAdd($),$=$.redIAdd($),r=S.redMul(D.redISub(e)).redISub($)}return this.curve.jpoint(e,r,i)},Lt.prototype._dbl=function(){var e=this.curve.a,r=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),o=r.redSqr(),a=i.redSqr(),c=o.redAdd(o).redIAdd(o).redIAdd(e.redMul(s)),h=r.redAdd(r);h=h.redIAdd(h);var l=h.redMul(a),y=c.redSqr().redISub(l.redAdd(l)),M=l.redISub(y),I=a.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=c.redMul(M).redISub(I),D=i.redAdd(i).redMul(n);return this.curve.jpoint(y,S,D)},Lt.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr(),n=r.redSqr(),s=e.redAdd(e).redIAdd(e),o=s.redSqr(),a=this.x.redAdd(r).redSqr().redISub(e).redISub(n);a=a.redIAdd(a),a=a.redAdd(a).redIAdd(a),a=a.redISub(o);var c=a.redSqr(),h=n.redIAdd(n);h=h.redIAdd(h),h=h.redIAdd(h),h=h.redIAdd(h);var l=s.redIAdd(a).redSqr().redISub(o).redISub(c).redISub(h),y=r.redMul(l);y=y.redIAdd(y),y=y.redIAdd(y);var M=this.x.redMul(c).redISub(y);M=M.redIAdd(M),M=M.redIAdd(M);var I=this.y.redMul(l.redMul(h.redISub(l)).redISub(a.redMul(c)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var S=this.z.redAdd(a).redSqr().redISub(i).redISub(c);return this.curve.jpoint(M,I,S)},Lt.prototype.mul=function(e,r){return e=new pt(e,r),this.curve._wnafMul(this,e)},Lt.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var r=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(r)).cmpn(0)!==0)return!1;var n=r.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},Lt.prototype.eqXToP=function(e){var r=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(r);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(r);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},Lt.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},Lt.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Kn=ei.exports,_d=Fn.exports,Ro=Po,xw=pr;function Vn(t){Ro.call(this,"mont",t),this.a=new Kn(t.a,16).toRed(this.red),this.b=new Kn(t.b,16).toRed(this.red),this.i4=new Kn(4).toRed(this.red).redInvm(),this.two=new Kn(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}_d(Vn,Ro);var Ew=Vn;Vn.prototype.validate=function(e){var r=e.normalize().x,i=r.redSqr(),n=i.redMul(r).redAdd(i.redMul(this.a)).redAdd(r),s=n.redSqrt();return s.redSqr().cmp(n)===0};function Dt(t,e,r){Ro.BasePoint.call(this,t,"projective"),e===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Kn(e,16),this.z=new Kn(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}_d(Dt,Ro.BasePoint),Vn.prototype.decodePoint=function(e,r){return this.point(xw.toArray(e,r),1)},Vn.prototype.point=function(e,r){return new Dt(this,e,r)},Vn.prototype.pointFromJSON=function(e){return Dt.fromJSON(this,e)},Dt.prototype.precompute=function(){},Dt.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Dt.fromJSON=function(e,r){return new Dt(e,r[0],r[1]||e.one)},Dt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Dt.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Dt.prototype.dbl=function(){var e=this.x.redAdd(this.z),r=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),s=r.redSub(n),o=r.redMul(n),a=s.redMul(n.redAdd(this.curve.a24.redMul(s)));return this.curve.point(o,a)},Dt.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Dt.prototype.diffAdd=function(e,r){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),s=e.x.redAdd(e.z),o=e.x.redSub(e.z),a=o.redMul(i),c=s.redMul(n),h=r.z.redMul(a.redAdd(c).redSqr()),l=r.x.redMul(a.redISub(c).redSqr());return this.curve.point(h,l)},Dt.prototype.mul=function(e){for(var r=e.clone(),i=this,n=this.curve.point(null,null),s=this,o=[];r.cmpn(0)!==0;r.iushrn(1))o.push(r.andln(1));for(var a=o.length-1;a>=0;a--)o[a]===0?(i=i.diffAdd(n,s),n=n.dbl()):(n=i.diffAdd(n,s),i=i.dbl());return n},Dt.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Dt.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Dt.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},Dt.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Dt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Sw=pr,pi=ei.exports,xd=Fn.exports,$o=Po,Mw=Sw.assert;function ti(t){this.twisted=(t.a|0)!==1,this.mOneA=this.twisted&&(t.a|0)===-1,this.extended=this.mOneA,$o.call(this,"edwards",t),this.a=new pi(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new pi(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new pi(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Mw(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(t.c|0)===1}xd(ti,$o);var Iw=ti;ti.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},ti.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},ti.prototype.jpoint=function(e,r,i,n){return this.point(e,r,i,n)},ti.prototype.pointFromX=function(e,r){e=new pi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),o=n.redMul(s.redInvm()),a=o.redSqrt();if(a.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");var c=a.fromRed().isOdd();return(r&&!c||!r&&c)&&(a=a.redNeg()),this.point(e,a)},ti.prototype.pointFromY=function(e,r){e=new pi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),o=n.redMul(s.redInvm());if(o.cmp(this.zero)===0){if(r)throw new Error("invalid point");return this.point(this.zero,e)}var a=o.redSqrt();if(a.redSqr().redSub(o).cmp(this.zero)!==0)throw new Error("invalid point");return a.fromRed().isOdd()!==r&&(a=a.redNeg()),this.point(a,e)},ti.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var r=e.x.redSqr(),i=e.y.redSqr(),n=r.redMul(this.a).redAdd(i),s=this.c2.redMul(this.one.redAdd(this.d.redMul(r).redMul(i)));return n.cmp(s)===0};function ft(t,e,r,i,n){$o.BasePoint.call(this,t,"projective"),e===null&&r===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new pi(e,16),this.y=new pi(r,16),this.z=i?new pi(i,16):this.curve.one,this.t=n&&new pi(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}xd(ft,$o.BasePoint),ti.prototype.pointFromJSON=function(e){return ft.fromJSON(this,e)},ti.prototype.point=function(e,r,i,n){return new ft(this,e,r,i,n)},ft.fromJSON=function(e,r){return new ft(e,r[0],r[1],r[2])},ft.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},ft.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},ft.prototype._extDbl=function(){var e=this.x.redSqr(),r=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(e),s=this.x.redAdd(this.y).redSqr().redISub(e).redISub(r),o=n.redAdd(r),a=o.redSub(i),c=n.redSub(r),h=s.redMul(a),l=o.redMul(c),y=s.redMul(c),M=a.redMul(o);return this.curve.point(h,l,M,y)},ft.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),i=this.y.redSqr(),n,s,o,a,c,h;if(this.curve.twisted){a=this.curve._mulA(r);var l=a.redAdd(i);this.zOne?(n=e.redSub(r).redSub(i).redMul(l.redSub(this.curve.two)),s=l.redMul(a.redSub(i)),o=l.redSqr().redSub(l).redSub(l)):(c=this.z.redSqr(),h=l.redSub(c).redISub(c),n=e.redSub(r).redISub(i).redMul(h),s=l.redMul(a.redSub(i)),o=l.redMul(h))}else a=r.redAdd(i),c=this.curve._mulC(this.z).redSqr(),h=a.redSub(c).redSub(c),n=this.curve._mulC(e.redISub(a)).redMul(h),s=this.curve._mulC(a).redMul(r.redISub(i)),o=a.redMul(h);return this.curve.point(n,s,o)},ft.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},ft.prototype._extAdd=function(e){var r=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),s=this.z.redMul(e.z.redAdd(e.z)),o=i.redSub(r),a=s.redSub(n),c=s.redAdd(n),h=i.redAdd(r),l=o.redMul(a),y=c.redMul(h),M=o.redMul(h),I=a.redMul(c);return this.curve.point(l,y,I,M)},ft.prototype._projAdd=function(e){var r=this.z.redMul(e.z),i=r.redSqr(),n=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(n).redMul(s),a=i.redSub(o),c=i.redAdd(o),h=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(s),l=r.redMul(a).redMul(h),y,M;return this.curve.twisted?(y=r.redMul(c).redMul(s.redSub(this.curve._mulA(n))),M=a.redMul(c)):(y=r.redMul(c).redMul(s.redSub(n)),M=this.curve._mulC(a).redMul(c)),this.curve.point(l,y,M)},ft.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},ft.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},ft.prototype.mulAdd=function(e,r,i){return this.curve._wnafMulAdd(1,[this,r],[e,i],2,!1)},ft.prototype.jmulAdd=function(e,r,i){return this.curve._wnafMulAdd(1,[this,r],[e,i],2,!0)},ft.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},ft.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},ft.prototype.getX=function(){return this.normalize(),this.x.fromRed()},ft.prototype.getY=function(){return this.normalize(),this.y.fromRed()},ft.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},ft.prototype.eqXToP=function(e){var r=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(r)===0)return!0;for(var i=e.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),this.x.cmp(r)===0)return!0}},ft.prototype.toP=ft.prototype.normalize,ft.prototype.mixedAdd=ft.prototype.add,function(t){var e=t;e.base=Po,e.short=_w,e.mont=Ew,e.edwards=Iw}(Sf);var No={},If,Ed;function Aw(){return Ed||(Ed=1,If={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}),If}(function(t){var e=t,r=dr,i=Sf,n=pr,s=n.assert;function o(h){h.type==="short"?this.curve=new i.short(h):h.type==="edwards"?this.curve=new i.edwards(h):this.curve=new i.mont(h),this.g=this.curve.g,this.n=this.curve.n,this.hash=h.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=o;function a(h,l){Object.defineProperty(e,h,{configurable:!0,enumerable:!0,get:function(){var y=new o(l);return Object.defineProperty(e,h,{configurable:!0,enumerable:!0,value:y}),y}})}a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:r.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:r.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:r.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:r.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:r.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:r.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:r.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var c;try{c=Aw()}catch{c=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:r.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",c]})})(No);var Dw=dr,cn=xf,Sd=sn;function zi(t){if(!(this instanceof zi))return new zi(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=cn.toArray(t.entropy,t.entropyEnc||"hex"),r=cn.toArray(t.nonce,t.nonceEnc||"hex"),i=cn.toArray(t.pers,t.persEnc||"hex");Sd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Ow=zi;zi.prototype._init=function(e,r,i){var n=e.concat(r).concat(i);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var s=0;s<this.V.length;s++)this.K[s]=0,this.V[s]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656},zi.prototype._hmac=function(){return new Dw.hmac(this.hash,this.K)},zi.prototype._update=function(e){var r=this._hmac().update(this.V).update([0]);e&&(r=r.update(e)),this.K=r.digest(),this.V=this._hmac().update(this.V).digest(),e&&(this.K=this._hmac().update(this.V).update([1]).update(e).digest(),this.V=this._hmac().update(this.V).digest())},zi.prototype.reseed=function(e,r,i,n){typeof r!="string"&&(n=i,i=r,r=null),e=cn.toArray(e,r),i=cn.toArray(i,n),Sd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1},zi.prototype.generate=function(e,r,i,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(n=i,i=r,r=null),i&&(i=cn.toArray(i,n||"hex"),this._update(i));for(var s=[];s.length<e;)this.V=this._hmac().update(this.V).digest(),s=s.concat(this.V);var o=s.slice(0,e);return this._update(i),this._reseed++,cn.encode(o,r)};var Pw=ei.exports,Rw=pr,Af=Rw.assert;function Vt(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var $w=Vt;Vt.fromPublic=function(e,r,i){return r instanceof Vt?r:new Vt(e,{pub:r,pubEnc:i})},Vt.fromPrivate=function(e,r,i){return r instanceof Vt?r:new Vt(e,{priv:r,privEnc:i})},Vt.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Vt.prototype.getPublic=function(e,r){return typeof e=="string"&&(r=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),r?this.pub.encode(r,e):this.pub},Vt.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},Vt.prototype._importPrivate=function(e,r){this.priv=new Pw(e,r||16),this.priv=this.priv.umod(this.ec.curve.n)},Vt.prototype._importPublic=function(e,r){if(e.x||e.y){this.ec.curve.type==="mont"?Af(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Af(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,r)},Vt.prototype.derive=function(e){return e.validate()||Af(e.validate(),"public point not validated"),e.mul(this.priv).getX()},Vt.prototype.sign=function(e,r,i){return this.ec.sign(e,this,r,i)},Vt.prototype.verify=function(e,r,i){return this.ec.verify(e,r,this,void 0,i)},Vt.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var To=ei.exports,Df=pr,Nw=Df.assert;function Fo(t,e){if(t instanceof Fo)return t;this._importDER(t,e)||(Nw(t.r&&t.s,"Signature without r or s"),this.r=new To(t.r,16),this.s=new To(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Tw=Fo;function Fw(){this.place=0}function Of(t,e){var r=t[e.place++];if(!(r&128))return r;var i=r&15;if(i===0||i>4||t[e.place]===0)return!1;for(var n=0,s=0,o=e.place;s<i;s++,o++)n<<=8,n|=t[o],n>>>=0;return n<=127?!1:(e.place=o,n)}function Md(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e<r;)e++;return e===0?t:t.slice(e)}Fo.prototype._importDER=function(e,r){e=Df.toArray(e,r);var i=new Fw;if(e[i.place++]!==48)return!1;var n=Of(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=Of(e,i);if(s===!1||e[i.place]&128)return!1;var o=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var a=Of(e,i);if(a===!1||e.length!==a+i.place||e[i.place]&128)return!1;var c=e.slice(i.place,a+i.place);if(o[0]===0)if(o[1]&128)o=o.slice(1);else return!1;if(c[0]===0)if(c[1]&128)c=c.slice(1);else return!1;return this.r=new To(o),this.s=new To(c),this.recoveryParam=null,!0};function Pf(t,e){if(e<128){t.push(e);return}var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}Fo.prototype.toDER=function(e){var r=this.r.toArray(),i=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),i[0]&128&&(i=[0].concat(i)),r=Md(r),i=Md(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];Pf(n,r.length),n=n.concat(r),n.push(2),Pf(n,i.length);var s=n.concat(i),o=[48];return Pf(o,s.length),o=o.concat(s),Df.encode(o,e)};var Lr=ei.exports,Id=Ow,Cw=pr,Rf=No,Bw=Ao.exports,hn=Cw.assert,$f=$w,Co=Tw;function Ir(t){if(!(this instanceof Ir))return new Ir(t);typeof t=="string"&&(hn(Object.prototype.hasOwnProperty.call(Rf,t),"Unknown curve "+t),t=Rf[t]),t instanceof Rf.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var Lw=Ir;Ir.prototype.keyPair=function(e){return new $f(this,e)},Ir.prototype.keyFromPrivate=function(e,r){return $f.fromPrivate(this,e,r)},Ir.prototype.keyFromPublic=function(e,r){return $f.fromPublic(this,e,r)},Ir.prototype.genKeyPair=function(e){e||(e={});for(var r=new Id({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Bw(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new Lr(2));;){var s=new Lr(r.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},Ir.prototype._truncateToN=function(e,r,i){var n;if(Lr.isBN(e)||typeof e=="number")e=new Lr(e,16),n=e.byteLength();else if(typeof e=="object")n=e.length,e=new Lr(e,16);else{var s=e.toString();n=s.length+1>>>1,e=new Lr(s,16)}typeof i!="number"&&(i=n*8);var o=i-this.n.bitLength();return o>0&&(e=e.ushrn(o)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e},Ir.prototype.sign=function(e,r,i,n){if(typeof i=="object"&&(n=i,i=null),n||(n={}),typeof e!="string"&&typeof e!="number"&&!Lr.isBN(e)){hn(typeof e=="object"&&e&&typeof e.length=="number","Expected message to be an array-like, a hex string, or a BN instance"),hn(e.length>>>0===e.length);for(var s=0;s<e.length;s++)hn((e[s]&255)===e[s])}r=this.keyFromPrivate(r,i),e=this._truncateToN(e,!1,n.msgBitLength),hn(!e.isNeg(),"Can not sign a negative message");var o=this.n.byteLength(),a=r.getPrivate().toArray("be",o),c=e.toArray("be",o);hn(new Lr(c).eq(e),"Can not sign message");for(var h=new Id({hash:this.hash,entropy:a,nonce:c,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new Lr(1)),y=0;;y++){var M=n.k?n.k(y):new Lr(h.generate(this.n.byteLength()));if(M=this._truncateToN(M,!0),!(M.cmpn(1)<=0||M.cmp(l)>=0)){var I=this.g.mul(M);if(!I.isInfinity()){var S=I.getX(),D=S.umod(this.n);if(D.cmpn(0)!==0){var R=M.invm(this.n).mul(D.mul(r.getPrivate()).iadd(e));if(R=R.umod(this.n),R.cmpn(0)!==0){var $=(I.getY().isOdd()?1:0)|(S.cmp(D)!==0?2:0);return n.canonical&&R.cmp(this.nh)>0&&(R=this.n.sub(R),$^=1),new Co({r:D,s:R,recoveryParam:$})}}}}}},Ir.prototype.verify=function(e,r,i,n,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),i=this.keyFromPublic(i,n),r=new Co(r,"hex");var o=r.r,a=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0||a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var c=a.invm(this.n),h=c.mul(e).umod(this.n),l=c.mul(o).umod(this.n),y;return this.curve._maxwellTrick?(y=this.g.jmulAdd(h,i.getPublic(),l),y.isInfinity()?!1:y.eqXToP(o)):(y=this.g.mulAdd(h,i.getPublic(),l),y.isInfinity()?!1:y.getX().umod(this.n).cmp(o)===0)},Ir.prototype.recoverPubKey=function(t,e,r,i){hn((3&r)===r,"The recovery param is more than two bits"),e=new Co(e,i);var n=this.n,s=new Lr(t),o=e.r,a=e.s,c=r&1,h=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");h?o=this.curve.pointFromX(o.add(this.curve.n),c):o=this.curve.pointFromX(o,c);var l=e.r.invm(n),y=n.sub(s).mul(l).umod(n),M=a.mul(l).umod(n);return this.g.mulAdd(y,o,M)},Ir.prototype.getKeyRecoveryParam=function(t,e,r,i){if(e=new Co(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(t,e,n)}catch{continue}if(s.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var Es=pr,Ad=Es.assert,Dd=Es.parseBytes,Hn=Es.cachedProperty;function Ot(t,e){this.eddsa=t,this._secret=Dd(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=Dd(e.pub)}Ot.fromPublic=function(e,r){return r instanceof Ot?r:new Ot(e,{pub:r})},Ot.fromSecret=function(e,r){return r instanceof Ot?r:new Ot(e,{secret:r})},Ot.prototype.secret=function(){return this._secret},Hn(Ot,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),Hn(Ot,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),Hn(Ot,"privBytes",function(){var e=this.eddsa,r=this.hash(),i=e.encodingLength-1,n=r.slice(0,e.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n}),Hn(Ot,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),Hn(Ot,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),Hn(Ot,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),Ot.prototype.sign=function(e){return Ad(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},Ot.prototype.verify=function(e,r){return this.eddsa.verify(e,r,this)},Ot.prototype.getSecret=function(e){return Ad(this._secret,"KeyPair is public only"),Es.encode(this.secret(),e)},Ot.prototype.getPublic=function(e){return Es.encode(this.pubBytes(),e)};var qw=Ot,Uw=ei.exports,Bo=pr,Od=Bo.assert,Lo=Bo.cachedProperty,zw=Bo.parseBytes;function un(t,e){this.eddsa=t,typeof e!="object"&&(e=zw(e)),Array.isArray(e)&&(Od(e.length===t.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),Od(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof Uw&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}Lo(un,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),Lo(un,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),Lo(un,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),Lo(un,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),un.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},un.prototype.toHex=function(){return Bo.encode(this.toBytes(),"hex").toUpperCase()};var kw=un,jw=dr,Kw=No,Wn=pr,Vw=Wn.assert,Pd=Wn.parseBytes,Rd=qw,$d=kw;function sr(t){if(Vw(t==="ed25519","only tested with ed25519 so far"),!(this instanceof sr))return new sr(t);t=Kw[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=jw.sha512}var Hw=sr;sr.prototype.sign=function(e,r){e=Pd(e);var i=this.keyFromSecret(r),n=this.hashInt(i.messagePrefix(),e),s=this.g.mul(n),o=this.encodePoint(s),a=this.hashInt(o,i.pubBytes(),e).mul(i.priv()),c=n.add(a).umod(this.curve.n);return this.makeSignature({R:s,S:c,Rencoded:o})},sr.prototype.verify=function(e,r,i){if(e=Pd(e),r=this.makeSignature(r),r.S().gte(r.eddsa.curve.n)||r.S().isNeg())return!1;var n=this.keyFromPublic(i),s=this.hashInt(r.Rencoded(),n.pubBytes(),e),o=this.g.mul(r.S()),a=r.R().add(n.pub().mul(s));return a.eq(o)},sr.prototype.hashInt=function(){for(var e=this.hash(),r=0;r<arguments.length;r++)e.update(arguments[r]);return Wn.intFromLE(e.digest()).umod(this.curve.n)},sr.prototype.keyFromPublic=function(e){return Rd.fromPublic(this,e)},sr.prototype.keyFromSecret=function(e){return Rd.fromSecret(this,e)},sr.prototype.makeSignature=function(e){return e instanceof $d?e:new $d(this,e)},sr.prototype.encodePoint=function(e){var r=e.getY().toArray("le",this.encodingLength);return r[this.encodingLength-1]|=e.getX().isOdd()?128:0,r},sr.prototype.decodePoint=function(e){e=Wn.parseBytes(e);var r=e.length-1,i=e.slice(0,r).concat(e[r]&-129),n=(e[r]&128)!==0,s=Wn.intFromLE(i);return this.curve.pointFromY(s,n)},sr.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},sr.prototype.decodeInt=function(e){return Wn.intFromLE(e)},sr.prototype.isPoint=function(e){return e instanceof this.pointClass},function(t){var e=t;e.version=vw.version,e.utils=pr,e.rand=Ao.exports,e.curve=Sf,e.curves=No,e.ec=Lw,e.eddsa=Hw}(md);const Ww={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}},Gw=":";function qo(t){const[e,r]=t.split(Gw);return{namespace:e,reference:r}}function Nd(t,e){return t.includes(":")?[t]:e.chains||[]}const Jw="ReactNative",gr={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Yw="js";function Uo(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function ki(){return!ds()&&!!Ga()&&navigator.product===Jw}function Xw(){return ki()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function Zw(){return ki()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function Ss(){return!Uo()&&!!Ga()&&!!ds()}function Ms(){return ki()?gr.reactNative:Uo()?gr.node:Ss()?gr.browser:gr.unknown}function Td(){var t;try{return ki()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function Qw(t,e){const r=new URLSearchParams(t);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const n=e[i];n!==void 0&&r.set(i,n)}return r.toString()}function Fd(){return nu()||{name:"",description:"",url:"",icons:[""]}}function e6(){if(Ms()===gr.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:r,Version:i}=global.Platform;return[r,i].join("-")}const t=gy();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function t6(){var t;const e=Ms();return e===gr.browser?[e,((t=iu())==null?void 0:t.host)||"unknown"].join(":"):e}function Cd(t,e,r){const i=e6(),n=t6();return[[t,e].join("-"),[Yw,r].join("-"),i,n].join("/")}function r6({protocol:t,version:e,relayUrl:r,sdkVersion:i,auth:n,projectId:s,useOnCloseEvent:o,bundleId:a,packageName:c}){const h=r.split("?"),l=Cd(t,e,i),y={auth:n,ua:l,projectId:s,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0},M=Qw(h[1]||"",y);return h[0]+"?"+M}function dn(t,e){return t.filter(r=>e.includes(r)).length===t.length}function Bd(t){return Object.fromEntries(t.entries())}function Ld(t){return new Map(Object.entries(t))}function ln(t=Y.FIVE_MINUTES,e){const r=Y.toMiliseconds(t||Y.FIVE_MINUTES);let i,n,s,o;return{resolve:a=>{s&&i&&(clearTimeout(s),i(a),o=Promise.resolve(a))},reject:a=>{s&&n&&(clearTimeout(s),n(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);s=setTimeout(()=>{const h=new Error(e);o=Promise.reject(h),c(h)},r),i=a,n=c})}}function ji(t,e,r){return new Promise(async(i,n)=>{const s=setTimeout(()=>n(new Error(r)),e);try{const o=await t;i(o)}catch(o){n(o)}clearTimeout(s)})}function qd(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function i6(t){return qd("topic",t)}function n6(t){return qd("id",t)}function Ud(t){const[e,r]=t.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof r=="string")i.topic=r;else if(e==="id"&&Number.isInteger(Number(r)))i.id=Number(r);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${r}`);return i}function Et(t,e){return Y.fromMiliseconds((e||Date.now())+Y.toMiliseconds(t))}function Ki(t){return Date.now()>=Y.toMiliseconds(t)}function Se(t,e){return`${t}${e?`:${e}`:""}`}function s6(t=[],e=[]){return[...new Set([...t,...e])]}async function o6({id:t,topic:e,wcDeepLink:r}){var i;try{if(!r)return;const n=typeof r=="string"?JSON.parse(r):r,s=n?.href;if(typeof s!="string")return;const o=a6(s,t,e),a=Ms();if(a===gr.browser){if(!((i=ds())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}f6(o)}else a===gr.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(n){console.error(n)}}function a6(t,e,r){const i=`requestId=${e}&sessionTopic=${r}`;t.endsWith("/")&&(t=t.slice(0,-1));let n=`${t}`;if(t.startsWith("https://t.me")){const s=t.includes("?")?"&startapp=":"?startapp=";n=`${n}${s}${d6(i,!0)}`}else n=`${n}/wc?${i}`;return n}function f6(t){let e="_self";u6()?e="_top":(h6()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function c6(t,e){let r="";try{if(Ss()&&(r=localStorage.getItem(e),r))return r;r=await t.getItem(e)}catch(i){console.error(i)}return r}function zd(t,e){if(!t.includes(e))return null;const r=t.split(/([&,?,=])/),i=r.indexOf(e);return r[i+2]}function kd(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Nf(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function h6(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function u6(){try{return window.self!==window.top}catch{return!1}}function d6(t,e=!1){const r=Buffer.from(t).toString("base64");return e?r.replace(/[=]/g,""):r}function jd(t){return Buffer.from(t,"base64").toString("utf-8")}function l6(t){return new Promise(e=>setTimeout(e,t))}function Is(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function p6(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function zo(t,...e){if(!p6(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Tf(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Is(t.outputLen),Is(t.blockLen)}function Gn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Kd(t,e){zo(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const ko=BigInt(2**32-1),Vd=BigInt(32);function g6(t,e=!1){return e?{h:Number(t&ko),l:Number(t>>Vd&ko)}:{h:Number(t>>Vd&ko)|0,l:Number(t&ko)|0}}function b6(t,e=!1){let r=new Uint32Array(t.length),i=new Uint32Array(t.length);for(let n=0;n<t.length;n++){const{h:s,l:o}=g6(t[n],e);[r[n],i[n]]=[s,o]}return[r,i]}const v6=(t,e,r)=>t<<r|e>>>32-r,y6=(t,e,r)=>e<<r|t>>>32-r,m6=(t,e,r)=>e<<r-32|t>>>64-r,w6=(t,e,r)=>t<<r-32|e>>>64-r,Jn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function _6(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Ff(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ri(t,e){return t<<32-e|t>>>e}const Hd=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function x6(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function Wd(t){for(let e=0;e<t.length;e++)t[e]=x6(t[e])}function E6(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Yn(t){return typeof t=="string"&&(t=E6(t)),zo(t),t}class Cf{clone(){return this._cloneInto()}}function Gd(t){const e=i=>t().update(Yn(i)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function As(t=32){if(Jn&&typeof Jn.getRandomValues=="function")return Jn.getRandomValues(new Uint8Array(t));if(Jn&&typeof Jn.randomBytes=="function")return Jn.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const Jd=[],Yd=[],Xd=[],S6=BigInt(0),Ds=BigInt(1),M6=BigInt(2),I6=BigInt(7),A6=BigInt(256),D6=BigInt(113);for(let t=0,e=Ds,r=1,i=0;t<24;t++){[r,i]=[i,(2*r+3*i)%5],Jd.push(2*(5*i+r)),Yd.push((t+1)*(t+2)/2%64);let n=S6;for(let s=0;s<7;s++)e=(e<<Ds^(e>>I6)*D6)%A6,e&M6&&(n^=Ds<<(Ds<<BigInt(s))-Ds);Xd.push(n)}const[O6,P6]=b6(Xd,!0),Zd=(t,e,r)=>r>32?m6(t,e,r):v6(t,e,r),Qd=(t,e,r)=>r>32?w6(t,e,r):y6(t,e,r);function R6(t,e=24){const r=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)r[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,h=r[c],l=r[c+1],y=Zd(h,l,1)^r[a],M=Qd(h,l,1)^r[a+1];for(let I=0;I<50;I+=10)t[o+I]^=y,t[o+I+1]^=M}let n=t[2],s=t[3];for(let o=0;o<24;o++){const a=Yd[o],c=Zd(n,s,a),h=Qd(n,s,a),l=Jd[o];n=t[l],s=t[l+1],t[l]=c,t[l+1]=h}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}t[0]^=O6[i],t[1]^=P6[i]}r.fill(0)}class Bf extends Cf{constructor(e,r,i,n=!1,s=24){if(super(),this.blockLen=e,this.suffix=r,this.outputLen=i,this.enableXOF=n,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Is(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=_6(this.state)}keccak(){Hd||Wd(this.state32),R6(this.state32,this.rounds),Hd||Wd(this.state32),this.posOut=0,this.pos=0}update(e){Gn(this);const{blockLen:r,state:i}=this;e=Yn(e);const n=e.length;for(let s=0;s<n;){const o=Math.min(r-this.pos,n-s);for(let a=0;a<o;a++)i[this.pos++]^=e[s++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:r,pos:i,blockLen:n}=this;e[i]^=r,r&128&&i===n-1&&this.keccak(),e[n-1]^=128,this.keccak()}writeInto(e){Gn(this,!1),zo(e),this.finish();const r=this.state,{blockLen:i}=this;for(let n=0,s=e.length;n<s;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,s-n);e.set(r.subarray(this.posOut,this.posOut+o),n),this.posOut+=o,n+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Is(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Kd(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:r,suffix:i,outputLen:n,rounds:s,enableXOF:o}=this;return e||(e=new Bf(r,i,n,o,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=i,e.outputLen=n,e.enableXOF=o,e.destroyed=this.destroyed,e}}const $6=(t,e,r)=>Gd(()=>new Bf(e,t,r)),N6=$6(1,136,256/8),T6="https://rpc.walletconnect.org/v1";function el(t){const e=`Ethereum Signed Message:
|
22
|
+
${t.length}`,r=new TextEncoder().encode(e+t);return"0x"+Buffer.from(N6(r)).toString("hex")}async function F6(t,e,r,i,n,s){switch(r.t){case"eip191":return C6(t,e,r.s);case"eip1271":return await B6(t,e,r.s,i,n,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}function C6(t,e,r){return B2(el(e),r).toLowerCase()===t.toLowerCase()}async function B6(t,e,r,i,n,s){const o=qo(i);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",h="0000000000000000000000000000000000000000000000000000000000000041",l=r.substring(2),y=el(e).substring(2),M=a+y+c+h+l,I=await fetch(`${s||T6}/?chainId=${i}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:L6(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:M},"latest"]})}),{result:S}=await I.json();return S?S.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function L6(){return Date.now()+Math.floor(Math.random()*1e3)}var q6=Object.defineProperty,U6=Object.defineProperties,z6=Object.getOwnPropertyDescriptors,tl=Object.getOwnPropertySymbols,k6=Object.prototype.hasOwnProperty,j6=Object.prototype.propertyIsEnumerable,rl=(t,e,r)=>e in t?q6(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,K6=(t,e)=>{for(var r in e||(e={}))k6.call(e,r)&&rl(t,r,e[r]);if(tl)for(var r of tl(e))j6.call(e,r)&&rl(t,r,e[r]);return t},V6=(t,e)=>U6(t,z6(e));const H6="did:pkh:",Lf=t=>t?.split(":"),W6=t=>{const e=t&&Lf(t);if(e)return t.includes(H6)?e[3]:e[1]},qf=t=>{const e=t&&Lf(t);if(e)return e[2]+":"+e[3]},jo=t=>{const e=t&&Lf(t);if(e)return e.pop()};async function il(t){const{cacao:e,projectId:r}=t,{s:i,p:n}=e,s=nl(n,n.iss),o=jo(n.iss);return await F6(o,s,i,qf(n.iss),r)}const nl=(t,e)=>{const r=`${t.domain} wants you to sign in with your Ethereum account:`,i=jo(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let n=t.statement||void 0;const s=`URI: ${t.aud||t.uri}`,o=`Version: ${t.version}`,a=`Chain ID: ${W6(e)}`,c=`Nonce: ${t.nonce}`,h=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,y=t.nbf?`Not Before: ${t.nbf}`:void 0,M=t.requestId?`Request ID: ${t.requestId}`:void 0,I=t.resources?`Resources:${t.resources.map(D=>`
|
23
|
+
- ${D}`).join("")}`:void 0,S=Ko(t.resources);if(S){const D=Os(S);n=r4(n,D)}return[r,i,"",n,"",s,o,a,c,h,l,y,M,I].filter(D=>D!=null).join(`
|
24
|
+
`)};function G6(t){return Buffer.from(JSON.stringify(t)).toString("base64")}function J6(t){return JSON.parse(Buffer.from(t,"base64").toString("utf-8"))}function pn(t){if(!t)throw new Error("No recap provided, value is undefined");if(!t.att)throw new Error("No `att` property found");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(r=>{const i=t.att[r];if(Array.isArray(i))throw new Error(`Resource must be an object: ${r}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${r}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${r}`);Object.keys(i).forEach(n=>{const s=i[n];if(!Array.isArray(s))throw new Error(`Ability limits ${n} must be an array of objects, found: ${s}`);if(!s.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);s.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${o}`)})})})}function Y6(t,e,r,i={}){return r?.sort((n,s)=>n.localeCompare(s)),{att:{[t]:X6(e,r,i)}}}function X6(t,e,r={}){e=e?.sort((n,s)=>n.localeCompare(s));const i=e.map(n=>({[`${t}/${n}`]:[r]}));return Object.assign({},...i)}function sl(t){return pn(t),`urn:recap:${G6(t).replace(/=/g,"")}`}function Os(t){const e=J6(t.replace("urn:recap:",""));return pn(e),e}function Z6(t,e,r){const i=Y6(t,e,r);return sl(i)}function Q6(t){return t&&t.includes("urn:recap:")}function e4(t,e){const r=Os(t),i=Os(e),n=t4(r,i);return sl(n)}function t4(t,e){pn(t),pn(e);const r=Object.keys(t.att).concat(Object.keys(e.att)).sort((n,s)=>n.localeCompare(s)),i={att:{}};return r.forEach(n=>{var s,o;Object.keys(((s=t.att)==null?void 0:s[n])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[n])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,h;i.att[n]=V6(K6({},i.att[n]),{[a]:((c=t.att[n])==null?void 0:c[a])||((h=e.att[n])==null?void 0:h[a])})})}),i}function r4(t="",e){pn(e);const r="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(r))return t;const i=[];let n=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(y=>({ability:y.split("/")[0],action:y.split("/")[1]}));c.sort((y,M)=>y.action.localeCompare(M.action));const h={};c.forEach(y=>{h[y.ability]||(h[y.ability]=[]),h[y.ability].push(y.action)});const l=Object.keys(h).map(y=>(n++,`(${n}) '${y}': '${h[y].join("', '")}' for '${a}'.`));i.push(l.join(", ").replace(".,","."))});const s=i.join(" "),o=`${r}${s}`;return`${t?t+" ":""}${o}`}function ol(t){var e;const r=Os(t);pn(r);const i=(e=r.att)==null?void 0:e.eip155;return i?Object.keys(i).map(n=>n.split("/")[1]):[]}function al(t){const e=Os(t);pn(e);const r=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(n=>{var s;(s=n?.[0])!=null&&s.chains&&r.push(n[0].chains)})}),[...new Set(r.flat())]}function Ko(t){if(!t)return;const e=t?.[t.length-1];return Q6(e)?e:void 0}function Uf(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function fl(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function br(t,...e){if(!fl(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function cl(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function i4(t,e){br(t);const r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function hl(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}const Vi=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),n4=t=>new DataView(t.buffer,t.byteOffset,t.byteLength);if(!(new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68))throw new Error("Non little-endian hardware is not supported");function s4(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function zf(t){if(typeof t=="string")t=s4(t);else if(fl(t))t=kf(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function o4(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function a4(t,e){if(t.length!==e.length)return!1;let r=0;for(let i=0;i<t.length;i++)r|=t[i]^e[i];return r===0}const f4=(t,e)=>{function r(i,...n){if(br(i),t.nonceLength!==void 0){const h=n[0];if(!h)throw new Error("nonce / iv required");t.varSizeNonce?br(h):br(h,t.nonceLength)}const s=t.tagLength;s&&n[1]!==void 0&&br(n[1]);const o=e(i,...n),a=(h,l)=>{if(l!==void 0){if(h!==2)throw new Error("cipher output not supported");br(l)}};let c=!1;return{encrypt(h,l){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,br(h),a(o.encrypt.length,l),o.encrypt(h,l)},decrypt(h,l){if(br(h),s&&h.length<s)throw new Error("invalid ciphertext length: smaller than tagLength="+s);return a(o.decrypt.length,l),o.decrypt(h,l)}}}return Object.assign(r,t),r};function ul(t,e,r=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(r&&!c4(e))throw new Error("invalid output, must be aligned");return e}function dl(t,e,r,i){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;t.setUint32(e+c,o,i),t.setUint32(e+h,a,i)}function c4(t){return t.byteOffset%4===0}function kf(t){return Uint8Array.from(t)}function Xn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const ll=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),h4=ll("expand 16-byte k"),u4=ll("expand 32-byte k"),d4=Vi(h4),l4=Vi(u4);function Le(t,e){return t<<e|t>>>32-e}function jf(t){return t.byteOffset%4===0}const Vo=64,p4=16,pl=2**32-1,gl=new Uint32Array;function g4(t,e,r,i,n,s,o,a){const c=n.length,h=new Uint8Array(Vo),l=Vi(h),y=jf(n)&&jf(s),M=y?Vi(n):gl,I=y?Vi(s):gl;for(let S=0;S<c;o++){if(t(e,r,i,l,o,a),o>=pl)throw new Error("arx: counter overflow");const D=Math.min(Vo,c-S);if(y&&D===Vo){const R=S/4;if(S%4!==0)throw new Error("arx: invalid block position");for(let $=0,T;$<p4;$++)T=R+$,I[T]=M[T]^l[$];S+=Vo;continue}for(let R=0,$;R<D;R++)$=S+R,s[$]=n[$]^h[R];S+=D}}function b4(t,e){const{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:s,rounds:o}=o4({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return Uf(n),Uf(o),hl(s),hl(r),(a,c,h,l,y=0)=>{br(a),br(c),br(h);const M=h.length;if(l===void 0&&(l=new Uint8Array(M)),br(l),Uf(y),y<0||y>=pl)throw new Error("arx: counter overflow");if(l.length<M)throw new Error(`arx: output (${l.length}) is shorter than data (${M})`);const I=[];let S=a.length,D,R;if(S===32)I.push(D=kf(a)),R=l4;else if(S===16&&r)D=new Uint8Array(32),D.set(a),D.set(a,16),R=d4,I.push(D);else throw new Error(`arx: invalid 32-byte key, got length=${S}`);jf(c)||I.push(c=kf(c));const $=Vi(D);if(i){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");i(R,$,Vi(c.subarray(0,16)),$),c=c.subarray(16)}const T=16-n;if(T!==c.length)throw new Error(`arx: nonce must be ${T} or 16 bytes`);if(T!==12){const L=new Uint8Array(12);L.set(c,s?0:12-c.length),c=L,I.push(c)}const C=Vi(c);return g4(t,R,$,C,h,l,y,o),Xn(...I),l}}const qt=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class v4{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=zf(e),br(e,32);const r=qt(e,0),i=qt(e,2),n=qt(e,4),s=qt(e,6),o=qt(e,8),a=qt(e,10),c=qt(e,12),h=qt(e,14);this.r[0]=r&8191,this.r[1]=(r>>>13|i<<3)&8191,this.r[2]=(i>>>10|n<<6)&7939,this.r[3]=(n>>>7|s<<9)&8191,this.r[4]=(s>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|h<<8)&8191,this.r[9]=h>>>5&127;for(let l=0;l<8;l++)this.pad[l]=qt(e,16+2*l)}process(e,r,i=!1){const n=i?0:2048,{h:s,r:o}=this,a=o[0],c=o[1],h=o[2],l=o[3],y=o[4],M=o[5],I=o[6],S=o[7],D=o[8],R=o[9],$=qt(e,r+0),T=qt(e,r+2),C=qt(e,r+4),L=qt(e,r+6),k=qt(e,r+8),j=qt(e,r+10),G=qt(e,r+12),K=qt(e,r+14);let V=s[0]+($&8191),re=s[1]+(($>>>13|T<<3)&8191),O=s[2]+((T>>>10|C<<6)&8191),g=s[3]+((C>>>7|L<<9)&8191),p=s[4]+((L>>>4|k<<12)&8191),f=s[5]+(k>>>1&8191),u=s[6]+((k>>>14|j<<2)&8191),b=s[7]+((j>>>11|G<<5)&8191),_=s[8]+((G>>>8|K<<8)&8191),E=s[9]+(K>>>5|n),w=0,d=w+V*a+re*(5*R)+O*(5*D)+g*(5*S)+p*(5*I);w=d>>>13,d&=8191,d+=f*(5*M)+u*(5*y)+b*(5*l)+_*(5*h)+E*(5*c),w+=d>>>13,d&=8191;let m=w+V*c+re*a+O*(5*R)+g*(5*D)+p*(5*S);w=m>>>13,m&=8191,m+=f*(5*I)+u*(5*M)+b*(5*y)+_*(5*l)+E*(5*h),w+=m>>>13,m&=8191;let v=w+V*h+re*c+O*a+g*(5*R)+p*(5*D);w=v>>>13,v&=8191,v+=f*(5*S)+u*(5*I)+b*(5*M)+_*(5*y)+E*(5*l),w+=v>>>13,v&=8191;let A=w+V*l+re*h+O*c+g*a+p*(5*R);w=A>>>13,A&=8191,A+=f*(5*D)+u*(5*S)+b*(5*I)+_*(5*M)+E*(5*y),w+=A>>>13,A&=8191;let U=w+V*y+re*l+O*h+g*c+p*a;w=U>>>13,U&=8191,U+=f*(5*R)+u*(5*D)+b*(5*S)+_*(5*I)+E*(5*M),w+=U>>>13,U&=8191;let x=w+V*M+re*y+O*l+g*h+p*c;w=x>>>13,x&=8191,x+=f*a+u*(5*R)+b*(5*D)+_*(5*S)+E*(5*I),w+=x>>>13,x&=8191;let N=w+V*I+re*M+O*y+g*l+p*h;w=N>>>13,N&=8191,N+=f*c+u*a+b*(5*R)+_*(5*D)+E*(5*S),w+=N>>>13,N&=8191;let B=w+V*S+re*I+O*M+g*y+p*l;w=B>>>13,B&=8191,B+=f*h+u*c+b*a+_*(5*R)+E*(5*D),w+=B>>>13,B&=8191;let q=w+V*D+re*S+O*I+g*M+p*y;w=q>>>13,q&=8191,q+=f*l+u*h+b*c+_*a+E*(5*R),w+=q>>>13,q&=8191;let z=w+V*R+re*D+O*S+g*I+p*M;w=z>>>13,z&=8191,z+=f*y+u*l+b*h+_*c+E*a,w+=z>>>13,z&=8191,w=(w<<2)+w|0,w=w+d|0,d=w&8191,w=w>>>13,m+=w,s[0]=d,s[1]=m,s[2]=v,s[3]=A,s[4]=U,s[5]=x,s[6]=N,s[7]=B,s[8]=q,s[9]=z}finalize(){const{h:e,pad:r}=this,i=new Uint16Array(10);let n=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=n,n=e[a]>>>13,e[a]&=8191;e[0]+=n*5,n=e[0]>>>13,e[0]&=8191,e[1]+=n,n=e[1]>>>13,e[1]&=8191,e[2]+=n,i[0]=e[0]+5,n=i[0]>>>13,i[0]&=8191;for(let a=1;a<10;a++)i[a]=e[a]+n,n=i[a]>>>13,i[a]&=8191;i[9]-=8192;let s=(n^1)-1;for(let a=0;a<10;a++)i[a]&=s;s=~s;for(let a=0;a<10;a++)e[a]=e[a]&s|i[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+r[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+r[a]|0)+(o>>>16)|0,e[a]=o&65535;Xn(i)}update(e){cl(this);const{buffer:r,blockLen:i}=this;e=zf(e);const n=e.length;for(let s=0;s<n;){const o=Math.min(i-this.pos,n-s);if(o===i){for(;i<=n-s;s+=i)this.process(e,s);continue}r.set(e.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===i&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){Xn(this.h,this.r,this.buffer,this.pad)}digestInto(e){cl(this),i4(e,this),this.finished=!0;const{buffer:r,h:i}=this;let{pos:n}=this;if(n){for(r[n++]=1;n<16;n++)r[n]=0;this.process(r,0,!0)}this.finalize();let s=0;for(let o=0;o<8;o++)e[s++]=i[o]>>>0,e[s++]=i[o]>>>8;return e}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const i=e.slice(0,r);return this.destroy(),i}}function y4(t){const e=(i,n)=>t(n).update(zf(i)).digest(),r=t(new Uint8Array(32));return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=i=>t(i),e}const m4=y4(t=>new v4(t));function w4(t,e,r,i,n,s=20){let o=t[0],a=t[1],c=t[2],h=t[3],l=e[0],y=e[1],M=e[2],I=e[3],S=e[4],D=e[5],R=e[6],$=e[7],T=n,C=r[0],L=r[1],k=r[2],j=o,G=a,K=c,V=h,re=l,O=y,g=M,p=I,f=S,u=D,b=R,_=$,E=T,w=C,d=L,m=k;for(let A=0;A<s;A+=2)j=j+re|0,E=Le(E^j,16),f=f+E|0,re=Le(re^f,12),j=j+re|0,E=Le(E^j,8),f=f+E|0,re=Le(re^f,7),G=G+O|0,w=Le(w^G,16),u=u+w|0,O=Le(O^u,12),G=G+O|0,w=Le(w^G,8),u=u+w|0,O=Le(O^u,7),K=K+g|0,d=Le(d^K,16),b=b+d|0,g=Le(g^b,12),K=K+g|0,d=Le(d^K,8),b=b+d|0,g=Le(g^b,7),V=V+p|0,m=Le(m^V,16),_=_+m|0,p=Le(p^_,12),V=V+p|0,m=Le(m^V,8),_=_+m|0,p=Le(p^_,7),j=j+O|0,m=Le(m^j,16),b=b+m|0,O=Le(O^b,12),j=j+O|0,m=Le(m^j,8),b=b+m|0,O=Le(O^b,7),G=G+g|0,E=Le(E^G,16),_=_+E|0,g=Le(g^_,12),G=G+g|0,E=Le(E^G,8),_=_+E|0,g=Le(g^_,7),K=K+p|0,w=Le(w^K,16),f=f+w|0,p=Le(p^f,12),K=K+p|0,w=Le(w^K,8),f=f+w|0,p=Le(p^f,7),V=V+re|0,d=Le(d^V,16),u=u+d|0,re=Le(re^u,12),V=V+re|0,d=Le(d^V,8),u=u+d|0,re=Le(re^u,7);let v=0;i[v++]=o+j|0,i[v++]=a+G|0,i[v++]=c+K|0,i[v++]=h+V|0,i[v++]=l+re|0,i[v++]=y+O|0,i[v++]=M+g|0,i[v++]=I+p|0,i[v++]=S+f|0,i[v++]=D+u|0,i[v++]=R+b|0,i[v++]=$+_|0,i[v++]=T+E|0,i[v++]=C+w|0,i[v++]=L+d|0,i[v++]=k+m|0}const _4=b4(w4,{counterRight:!1,counterLength:4,allowShortKeys:!1}),x4=new Uint8Array(16),bl=(t,e)=>{t.update(e);const r=e.length%16;r&&t.update(x4.subarray(r))},E4=new Uint8Array(32);function vl(t,e,r,i,n){const s=t(e,r,E4),o=m4.create(s);n&&bl(o,n),bl(o,i);const a=new Uint8Array(16),c=n4(a);dl(c,0,BigInt(n?n.length:0),!0),dl(c,8,BigInt(i.length),!0),o.update(a);const h=o.digest();return Xn(s,a),h}const S4=t=>(e,r,i)=>({encrypt(n,s){const o=n.length;s=ul(o+16,s,!1),s.set(n);const a=s.subarray(0,-16);t(e,r,a,a,1);const c=vl(t,e,r,a,i);return s.set(c,o),Xn(c),s},decrypt(n,s){s=ul(n.length-16,s,!1);const o=n.subarray(0,-16),a=n.subarray(-16),c=vl(t,e,r,o,i);if(!a4(a,c))throw new Error("invalid tag");return s.set(n.subarray(0,-16)),t(e,r,s,s,1),Xn(c),s}}),yl=f4({blockSize:64,nonceLength:12,tagLength:16},S4(_4));class ml extends Cf{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Tf(e);const i=Yn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,s=new Uint8Array(n);s.set(i.length>n?e.create().update(i).digest():i);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Gn(this),this.iHash.update(e),this}digestInto(e){Gn(this),zo(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:r,iHash:i,finished:n,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=n,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Kf=(t,e,r)=>new ml(t,e).update(r).digest();Kf.create=(t,e)=>new ml(t,e);function M4(t,e,r){return Tf(t),r===void 0&&(r=new Uint8Array(t.outputLen)),Kf(t,Yn(r),Yn(e))}const Vf=new Uint8Array([0]),wl=new Uint8Array;function I4(t,e,r,i=32){if(Tf(t),Is(i),i>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const n=Math.ceil(i/t.outputLen);r===void 0&&(r=wl);const s=new Uint8Array(n*t.outputLen),o=Kf.create(t,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let h=0;h<n;h++)Vf[0]=h+1,a.update(h===0?wl:c).update(r).update(Vf).digestInto(c),s.set(c,t.outputLen*h),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Vf.fill(0),s.slice(0,i)}const A4=(t,e,r,i,n)=>I4(t,M4(t,e,r),i,n);function D4(t,e,r,i){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;t.setUint32(e+c,o,i),t.setUint32(e+h,a,i)}function O4(t,e,r){return t&e^~t&r}function P4(t,e,r){return t&e^t&r^e&r}class R4 extends Cf{constructor(e,r,i,n){super(),this.blockLen=e,this.outputLen=r,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ff(this.buffer)}update(e){Gn(this);const{view:r,buffer:i,blockLen:n}=this;e=Yn(e);const s=e.length;for(let o=0;o<s;){const a=Math.min(n-this.pos,s-o);if(a===n){const c=Ff(e);for(;n<=s-o;o+=n)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===n&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Gn(this),Kd(e,this),this.finished=!0;const{buffer:r,view:i,blockLen:n,isLE:s}=this;let{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(i,0),o=0);for(let y=o;y<n;y++)r[y]=0;D4(i,n-8,BigInt(this.length*8),s),this.process(i,0);const a=Ff(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const h=c/4,l=this.get();if(h>l.length)throw new Error("_sha2: outputLen bigger than state");for(let y=0;y<h;y++)a.setUint32(4*y,l[y],s)}digest(){const{buffer:e,outputLen:r}=this;this.digestInto(e);const i=e.slice(0,r);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:r,buffer:i,length:n,finished:s,destroyed:o,pos:a}=this;return e.length=n,e.pos=a,e.finished=s,e.destroyed=o,n%r&&e.buffer.set(i),e}}const $4=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Hi=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wi=new Uint32Array(64);class N4 extends R4{constructor(){super(64,32,8,!1),this.A=Hi[0]|0,this.B=Hi[1]|0,this.C=Hi[2]|0,this.D=Hi[3]|0,this.E=Hi[4]|0,this.F=Hi[5]|0,this.G=Hi[6]|0,this.H=Hi[7]|0}get(){const{A:e,B:r,C:i,D:n,E:s,F:o,G:a,H:c}=this;return[e,r,i,n,s,o,a,c]}set(e,r,i,n,s,o,a,c){this.A=e|0,this.B=r|0,this.C=i|0,this.D=n|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let y=0;y<16;y++,r+=4)Wi[y]=e.getUint32(r,!1);for(let y=16;y<64;y++){const M=Wi[y-15],I=Wi[y-2],S=ri(M,7)^ri(M,18)^M>>>3,D=ri(I,17)^ri(I,19)^I>>>10;Wi[y]=D+Wi[y-7]+S+Wi[y-16]|0}let{A:i,B:n,C:s,D:o,E:a,F:c,G:h,H:l}=this;for(let y=0;y<64;y++){const M=ri(a,6)^ri(a,11)^ri(a,25),I=l+M+O4(a,c,h)+$4[y]+Wi[y]|0,S=(ri(i,2)^ri(i,13)^ri(i,22))+P4(i,n,s)|0;l=h,h=c,c=a,a=o+I|0,o=s,s=n,n=i,i=I+S|0}i=i+this.A|0,n=n+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,h=h+this.G|0,l=l+this.H|0,this.set(i,n,s,o,a,c,h,l)}roundClean(){Wi.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Ho=Gd(()=>new N4);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const _l=BigInt(0);function Hf(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function xl(t){if(!Hf(t))throw new Error("Uint8Array expected")}const T4=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function F4(t){xl(t);let e="";for(let r=0;r<t.length;r++)e+=T4[t[r]];return e}function C4(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?_l:BigInt("0x"+t)}const gi={_0:48,_9:57,A:65,F:70,a:97,f:102};function El(t){if(t>=gi._0&&t<=gi._9)return t-gi._0;if(t>=gi.A&&t<=gi.F)return t-(gi.A-10);if(t>=gi.a&&t<=gi.f)return t-(gi.a-10)}function Sl(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(r);for(let n=0,s=0;n<r;n++,s+=2){const o=El(t.charCodeAt(s)),a=El(t.charCodeAt(s+1));if(o===void 0||a===void 0){const c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}i[n]=o*16+a}return i}function Ml(t){return xl(t),C4(F4(Uint8Array.from(t).reverse()))}function B4(t,e){return Sl(t.toString(16).padStart(e*2,"0"))}function L4(t,e){return B4(t,e).reverse()}function Il(t,e,r){let i;if(typeof e=="string")try{i=Sl(e)}catch(s){throw new Error(t+" must be hex string or Uint8Array, cause: "+s)}else if(Hf(e))i=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const n=i.length;if(typeof r=="number"&&n!==r)throw new Error(t+" of length "+r+" expected, got "+n);return i}const Wf=t=>typeof t=="bigint"&&_l<=t;function q4(t,e,r){return Wf(t)&&Wf(e)&&Wf(r)&&e<=t&&t<r}function Al(t,e,r,i){if(!q4(e,r,i))throw new Error("expected valid "+t+": "+r+" <= n < "+i+", got "+e)}const U4={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Hf(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function z4(t,e,r={}){const i=(n,s,o)=>{const a=U4[s];if(typeof a!="function")throw new Error("invalid validator function");const c=t[n];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+s+", got "+c)};for(const[n,s]of Object.entries(e))i(n,s,!1);for(const[n,s]of Object.entries(r))i(n,s,!0);return t}const Zn=BigInt(0),Wo=BigInt(1);function Dl(t,e){const r=t%e;return r>=Zn?r:e+r}function k4(t,e,r){if(e<Zn)throw new Error("invalid exponent, negatives unsupported");if(r<=Zn)throw new Error("invalid modulus");if(r===Wo)return Zn;let i=Wo;for(;e>Zn;)e&Wo&&(i=i*t%r),t=t*t%r,e>>=Wo;return i}function qr(t,e,r){let i=t;for(;e-- >Zn;)i*=i,i%=r;return i}BigInt(0),BigInt(1),BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Qn=BigInt(0),Gf=BigInt(1);function j4(t){return z4(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function K4(t){const e=j4(t),{P:r}=e,i=T=>Dl(T,r),n=e.montgomeryBits,s=Math.ceil(n/8),o=e.nByteLength,a=e.adjustScalarBytes||(T=>T),c=e.powPminus2||(T=>k4(T,r-BigInt(2),r));function h(T,C,L){const k=i(T*(C-L));return C=i(C-k),L=i(L+k),[C,L]}const l=(e.a-BigInt(2))/BigInt(4);function y(T,C){Al("u",T,Qn,r),Al("scalar",C,Qn,r);const L=C,k=T;let j=Gf,G=Qn,K=T,V=Gf,re=Qn,O;for(let p=BigInt(n-1);p>=Qn;p--){const f=L>>p&Gf;re^=f,O=h(re,j,K),j=O[0],K=O[1],O=h(re,G,V),G=O[0],V=O[1],re=f;const u=j+G,b=i(u*u),_=j-G,E=i(_*_),w=b-E,d=K+V,m=K-V,v=i(m*u),A=i(d*_),U=v+A,x=v-A;K=i(U*U),V=i(k*i(x*x)),j=i(b*E),G=i(w*(b+i(l*w)))}O=h(re,j,K),j=O[0],K=O[1],O=h(re,G,V),G=O[0],V=O[1];const g=c(G);return i(j*g)}function M(T){return L4(i(T),s)}function I(T){const C=Il("u coordinate",T,s);return o===32&&(C[31]&=127),Ml(C)}function S(T){const C=Il("scalar",T),L=C.length;if(L!==s&&L!==o){let k=""+s+" or "+o;throw new Error("invalid scalar, expected "+k+" bytes, got "+L)}return Ml(a(C))}function D(T,C){const L=I(C),k=S(T),j=y(L,k);if(j===Qn)throw new Error("invalid private or public key received");return M(j)}const R=M(e.Gu);function $(T){return D(T,R)}return{scalarMult:D,scalarMultBase:$,getSharedSecret:(T,C)=>D(T,C),getPublicKey:T=>$(T),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:R}}const Jf=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const V4=BigInt(1),Ol=BigInt(2),H4=BigInt(3),W4=BigInt(5);BigInt(8);function G4(t){const e=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),s=Jf,o=t*t%s*t%s,a=qr(o,Ol,s)*o%s,c=qr(a,V4,s)*t%s,h=qr(c,W4,s)*c%s,l=qr(h,e,s)*h%s,y=qr(l,r,s)*l%s,M=qr(y,i,s)*y%s,I=qr(M,n,s)*M%s,S=qr(I,n,s)*M%s,D=qr(S,e,s)*h%s;return{pow_p_5_8:qr(D,Ol,s)*t%s,b2:o}}function J4(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Yf=(()=>K4({P:Jf,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=Jf,{pow_p_5_8:r,b2:i}=G4(t);return Dl(qr(r,H4,e)*i,e)},adjustScalarBytes:J4,randomBytes:As}))(),Pl="base10",Ht="base16",Gi="base64pad",Ps="base64url",Rs="utf8",Rl=0,bi=1,$s=2,Y4=0,$l=1,Ns=12,Xf=32;function X4(){const t=Yf.utils.randomPrivateKey(),e=Yf.getPublicKey(t);return{privateKey:Zt(t,Ht),publicKey:Zt(e,Ht)}}function Zf(){const t=As(Xf);return Zt(t,Ht)}function Z4(t,e){const r=Yf.getSharedSecret(Er(t,Ht),Er(e,Ht)),i=A4(Ho,r,void 0,void 0,Xf);return Zt(i,Ht)}function Go(t){const e=Ho(Er(t,Ht));return Zt(e,Ht)}function vi(t){const e=Ho(Er(t,Rs));return Zt(e,Ht)}function Nl(t){return Er(`${t}`,Pl)}function gn(t){return Number(Zt(t,Pl))}function Q4(t){const e=Nl(typeof t.type<"u"?t.type:Rl);if(gn(e)===bi&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const r=typeof t.senderPublicKey<"u"?Er(t.senderPublicKey,Ht):void 0,i=typeof t.iv<"u"?Er(t.iv,Ht):As(Ns),n=Er(t.symKey,Ht),s=yl(n,i).encrypt(Er(t.message,Rs));return Tl({type:e,sealed:s,iv:i,senderPublicKey:r,encoding:t.encoding})}function e8(t){const e=Er(t.symKey,Ht),{sealed:r,iv:i}=Ts(t),n=yl(e,i).decrypt(r);if(n===null)throw new Error("Failed to decrypt");return Zt(n,Rs)}function t8(t,e){const r=Nl($s),i=As(Ns),n=Er(t,Rs);return Tl({type:r,sealed:n,iv:i,encoding:e})}function r8(t,e){const{sealed:r}=Ts({encoded:t,encoding:e});return Zt(r,Rs)}function Tl(t){const{encoding:e=Gi}=t;if(gn(t.type)===$s)return Zt(yf([t.type,t.sealed]),e);if(gn(t.type)===bi){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return Zt(yf([t.type,t.senderPublicKey,t.iv,t.sealed]),e)}return Zt(yf([t.type,t.iv,t.sealed]),e)}function Ts(t){const{encoded:e,encoding:r=Gi}=t,i=Er(e,r),n=i.slice(Y4,$l),s=$l;if(gn(n)===bi){const h=s+Xf,l=h+Ns,y=i.slice(s,h),M=i.slice(h,l),I=i.slice(l);return{type:n,sealed:I,iv:M,senderPublicKey:y}}if(gn(n)===$s){const h=i.slice(s),l=As(Ns);return{type:n,sealed:h,iv:l}}const o=s+Ns,a=i.slice(s,o),c=i.slice(o);return{type:n,sealed:c,iv:a}}function i8(t,e){const r=Ts({encoded:t,encoding:e?.encoding});return Fl({type:gn(r.type),senderPublicKey:typeof r.senderPublicKey<"u"?Zt(r.senderPublicKey,Ht):void 0,receiverPublicKey:e?.receiverPublicKey})}function Fl(t){const e=t?.type||Rl;if(e===bi){if(typeof t?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof t?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function Cl(t){return t.type===bi&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Bl(t){return t.type===$s}function n8(t){return new md.ec("p256").keyFromPublic({x:Buffer.from(t.x,"base64").toString("hex"),y:Buffer.from(t.y,"base64").toString("hex")},"hex")}function s8(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");const r=e.length%4;return r>0&&(e+="=".repeat(4-r)),e}function o8(t){return Buffer.from(s8(t),"base64")}function a8(t,e){const[r,i,n]=t.split("."),s=o8(n);if(s.length!==64)throw new Error("Invalid signature length");const o=s.slice(0,32).toString("hex"),a=s.slice(32,64).toString("hex"),c=`${r}.${i}`,h=Ho(c),l=n8(e),y=Zt(h,Ht);if(!l.verify(y,{r:o,s:a}))throw new Error("Invalid signature");return Wa(t).payload}const f8="irn";function Jo(t){return t?.relay||{protocol:f8}}function Fs(t){const e=Ww[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}function c8(t,e="-"){const r={},i="relay"+e;return Object.keys(t).forEach(n=>{if(n.startsWith(i)){const s=n.replace(i,""),o=t[n];r[s]=o}}),r}function Ll(t){if(!t.includes("wc:")){const h=jd(t);h!=null&&h.includes("wc:")&&(t=h)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),r=t.indexOf("?")!==-1?t.indexOf("?"):void 0,i=t.substring(0,e),n=t.substring(e+1,r).split("@"),s=typeof r<"u"?t.substring(r):"",o=new URLSearchParams(s),a={};o.forEach((h,l)=>{a[l]=h});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:i,topic:h8(n[0]),version:parseInt(n[1],10),symKey:a.symKey,relay:c8(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function h8(t){return t.startsWith("//")?t.substring(2):t}function u8(t,e="-"){const r="relay",i={};return Object.keys(t).forEach(n=>{const s=r+e+n;t[n]&&(i[s]=t[n])}),i}function ql(t){const e=new URLSearchParams,r=u8(t.relay);Object.keys(r).sort().forEach(n=>{e.set(n,r[n])}),e.set("symKey",t.symKey),t.expiryTimestamp&&e.set("expiryTimestamp",t.expiryTimestamp.toString()),t.methods&&e.set("methods",t.methods.join(","));const i=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${i}`}function Yo(t,e,r){return`${t}?wc_ev=${r}&topic=${e}`}function es(t){const e=[];return t.forEach(r=>{const[i,n]=r.split(":");e.push(`${i}:${n}`)}),e}function d8(t){const e=[];return Object.values(t).forEach(r=>{e.push(...es(r.accounts))}),e}function l8(t,e){const r=[];return Object.values(t).forEach(i=>{es(i.accounts).includes(e)&&r.push(...i.methods)}),r}function p8(t,e){const r=[];return Object.values(t).forEach(i=>{es(i.accounts).includes(e)&&r.push(...i.events)}),r}function g8(t){const e={};return t?.forEach(r=>{const[i,n]=r.split(":");e[i]||(e[i]={accounts:[],chains:[],events:[]}),e[i].accounts.push(r),e[i].chains.push(`${i}:${n}`)}),e}function Ul(t,e){e=e.map(i=>i.replace("did:pkh:",""));const r=g8(e);for(const[i,n]of Object.entries(r))n.methods?n.methods=s6(n.methods,t):n.methods=t,n.events=["chainChanged","accountsChanged"];return r}const b8={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},v8={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function Z(t,e){const{message:r,code:i}=v8[t];return{message:e?`${r} ${e}`:r,code:i}}function ct(t,e){const{message:r,code:i}=b8[t];return{message:e?`${r} ${e}`:r,code:i}}function Xo(t,e){return Array.isArray(t)?typeof e<"u"&&t.length?t.every(e):!0:!1}function Zo(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Qt(t){return typeof t>"u"}function mt(t,e){return e&&Qt(t)?!0:typeof t=="string"&&!!t.trim().length}function Qf(t,e){return e&&Qt(t)?!0:typeof t=="number"&&!isNaN(t)}function y8(t,e){const{requiredNamespaces:r}=e,i=Object.keys(t.namespaces),n=Object.keys(r);let s=!0;return dn(n,i)?(i.forEach(o=>{const{accounts:a,methods:c,events:h}=t.namespaces[o],l=es(a),y=r[o];(!dn(Nd(o,y),l)||!dn(y.methods,c)||!dn(y.events,h))&&(s=!1)}),s):!1}function Qo(t){return mt(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function m8(t){if(mt(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const r=e[0]+":"+e[1];return!!e[2]&&Qo(r)}}return!1}function w8(t){function e(r){try{return typeof new URL(r)<"u"}catch{return!1}}try{if(mt(t,!1)){if(e(t))return!0;const r=jd(t);return e(r)}}catch{}return!1}function _8(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function x8(t){return t?.topic}function E8(t,e){let r=null;return mt(t?.publicKey,!1)||(r=Z("MISSING_OR_INVALID",`${e} controller public key should be a string`)),r}function zl(t){let e=!0;return Xo(t)?t.length&&(e=t.every(r=>mt(r,!1))):e=!1,e}function S8(t,e,r){let i=null;return Xo(e)&&e.length?e.forEach(n=>{i||Qo(n)||(i=ct("UNSUPPORTED_CHAINS",`${r}, chain ${n} should be a string and conform to "namespace:chainId" format`))}):Qo(t)||(i=ct("UNSUPPORTED_CHAINS",`${r}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),i}function M8(t,e,r){let i=null;return Object.entries(t).forEach(([n,s])=>{if(i)return;const o=S8(n,Nd(n,s),`${e} ${r}`);o&&(i=o)}),i}function I8(t,e){let r=null;return Xo(t)?t.forEach(i=>{r||m8(i)||(r=ct("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):r=ct("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),r}function A8(t,e){let r=null;return Object.values(t).forEach(i=>{if(r)return;const n=I8(i?.accounts,`${e} namespace`);n&&(r=n)}),r}function D8(t,e){let r=null;return zl(t?.methods)?zl(t?.events)||(r=ct("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):r=ct("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),r}function kl(t,e){let r=null;return Object.values(t).forEach(i=>{if(r)return;const n=D8(i,`${e}, namespace`);n&&(r=n)}),r}function O8(t,e,r){let i=null;if(t&&Zo(t)){const n=kl(t,e);n&&(i=n);const s=M8(t,e,r);s&&(i=s)}else i=Z("MISSING_OR_INVALID",`${e}, ${r} should be an object with data`);return i}function ec(t,e){let r=null;if(t&&Zo(t)){const i=kl(t,e);i&&(r=i);const n=A8(t,e);n&&(r=n)}else r=Z("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return r}function jl(t){return mt(t.protocol,!0)}function P8(t,e){let r=!1;return e&&!t?r=!0:t&&Xo(t)&&t.length&&t.forEach(i=>{r=jl(i)}),r}function R8(t){return typeof t=="number"}function or(t){return typeof t<"u"&&typeof t!==null}function $8(t){return!(!t||typeof t!="object"||!t.code||!Qf(t.code,!1)||!t.message||!mt(t.message,!1))}function N8(t){return!(Qt(t)||!mt(t.method,!1))}function T8(t){return!(Qt(t)||Qt(t.result)&&Qt(t.error)||!Qf(t.id,!1)||!mt(t.jsonrpc,!1))}function F8(t){return!(Qt(t)||!mt(t.name,!1))}function Kl(t,e){return!(!Qo(e)||!d8(t).includes(e))}function C8(t,e,r){return mt(r,!1)?l8(t,e).includes(r):!1}function B8(t,e,r){return mt(r,!1)?p8(t,e).includes(r):!1}function Vl(t,e,r){let i=null;const n=L8(t),s=q8(e),o=Object.keys(n),a=Object.keys(s),c=Hl(Object.keys(t)),h=Hl(Object.keys(e)),l=c.filter(y=>!h.includes(y));return l.length&&(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces.
|
25
|
+
Required: ${l.toString()}
|
26
|
+
Received: ${Object.keys(e).toString()}`)),dn(o,a)||(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces chains don't satisfy required namespaces.
|
27
|
+
Required: ${o.toString()}
|
28
|
+
Approved: ${a.toString()}`)),Object.keys(e).forEach(y=>{if(!y.includes(":")||i)return;const M=es(e[y].accounts);M.includes(y)||(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${y}
|
29
29
|
Required: ${y}
|
30
|
-
Approved: ${
|
30
|
+
Approved: ${M.toString()}`))}),o.forEach(y=>{i||(dn(n[y].methods,s[y].methods)?dn(n[y].events,s[y].events)||(i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${y}`)):i=Z("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${y}`))}),i}function L8(t){const e={};return Object.keys(t).forEach(r=>{var i;r.includes(":")?e[r]=t[r]:(i=t[r].chains)==null||i.forEach(n=>{e[n]={methods:t[r].methods,events:t[r].events}})}),e}function Hl(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function q8(t){const e={};return Object.keys(t).forEach(r=>{r.includes(":")?e[r]=t[r]:es(t[r].accounts)?.forEach(n=>{e[n]={accounts:t[r].accounts.filter(s=>s.includes(`${n}:`)),methods:t[r].methods,events:t[r].events}})}),e}function U8(t,e){return Qf(t,!1)&&t<=e.max&&t>=e.min}function Wl(){const t=Ms();return new Promise(e=>{switch(t){case gr.browser:e(z8());break;case gr.reactNative:e(k8());break;case gr.node:e(j8());break;default:e(!0)}})}function z8(){return Ss()&&navigator?.onLine}async function k8(){return ki()&&typeof global<"u"&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function j8(){return!0}function K8(t){switch(Ms()){case gr.browser:V8(t);break;case gr.reactNative:H8(t);break}}function V8(t){!ki()&&Ss()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function H8(t){ki()&&typeof global<"u"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}const tc={};class Cs{static get(e){return tc[e]}static set(e,r){tc[e]=r}static delete(e){delete tc[e]}}const W8="PARSE_ERROR",G8="INVALID_REQUEST",J8="METHOD_NOT_FOUND",Y8="INVALID_PARAMS",Gl="INTERNAL_ERROR",rc="SERVER_ERROR",X8=[-32700,-32600,-32601,-32602,-32603],Bs={[W8]:{code:-32700,message:"Parse error"},[G8]:{code:-32600,message:"Invalid Request"},[J8]:{code:-32601,message:"Method not found"},[Y8]:{code:-32602,message:"Invalid params"},[Gl]:{code:-32603,message:"Internal error"},[rc]:{code:-32e3,message:"Server error"}},Jl=rc;function Z8(t){return X8.includes(t)}function Yl(t){return Object.keys(Bs).includes(t)?Bs[t]:Bs[Jl]}function Q8(t){const e=Object.values(Bs).find(r=>r.code===t);return e||Bs[Jl]}function e5(t,e,r){return t.message.includes("getaddrinfo ENOTFOUND")||t.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${r} RPC url at ${e}`):t}var Xl={};/*! *****************************************************************************
|
31
31
|
Copyright (c) Microsoft Corporation.
|
32
32
|
|
33
33
|
Permission to use, copy, modify, and/or distribute this software for any
|
@@ -40,8 +40,5 @@
|
|
40
40
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
41
41
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
42
42
|
PERFORMANCE OF THIS SOFTWARE.
|
43
|
-
***************************************************************************** */var Nc=function(r,e){return Nc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var n in i)i.hasOwnProperty(n)&&(t[n]=i[n])},Nc(r,e)};function f8(r,e){Nc(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Dc=function(){return Dc=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},Dc.apply(this,arguments)};function c8(r,e){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(r,i[n])&&(t[i[n]]=r[i[n]]);return t}function h8(r,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(r,e,t,i);else for(var h=r.length-1;h>=0;h--)(f=r[h])&&(s=(n<3?f(s):n>3?f(e,t,s):f(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s}function d8(r,e){return function(t,i){e(t,i,r)}}function u8(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function l8(r,e,t,i){function n(s){return s instanceof t?s:new t(function(f){f(s)})}return new(t||(t=Promise))(function(s,f){function h(m){try{p(i.next(m))}catch(y){f(y)}}function l(m){try{p(i.throw(m))}catch(y){f(y)}}function p(m){m.done?s(m.value):n(m.value).then(h,l)}p((i=i.apply(r,e||[])).next())})}function p8(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,f;return f={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(f[Symbol.iterator]=function(){return this}),f;function h(p){return function(m){return l([p,m])}}function l(p){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=p[0]&2?n.return:p[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,p[1])).done)return s;switch(n=0,s&&(p=[p[0]&2,s.value]),p[0]){case 0:case 1:s=p;break;case 4:return t.label++,{value:p[1],done:!1};case 5:t.label++,n=p[1],p=[0];continue;case 7:p=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!s||p[1]>s[0]&&p[1]<s[3])){t.label=p[1];break}if(p[0]===6&&t.label<s[1]){t.label=s[1],s=p;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(p);break}s[2]&&t.ops.pop(),t.trys.pop();continue}p=e.call(r,t)}catch(m){p=[6,m],n=0}finally{i=s=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function b8(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function v8(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function Rc(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Qu(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],f;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(h){f={error:h}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(f)throw f.error}}return s}function g8(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(Qu(arguments[e]));return r}function m8(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),n=0,e=0;e<t;e++)for(var s=arguments[e],f=0,h=s.length;f<h;f++,n++)i[n]=s[f];return i}function ua(r){return this instanceof ua?(this.v=r,this):new ua(r)}function y8(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,s=[];return n={},f("next"),f("throw"),f("return"),n[Symbol.asyncIterator]=function(){return this},n;function f(E){i[E]&&(n[E]=function(I){return new Promise(function(N,F){s.push([E,I,N,F])>1||h(E,I)})})}function h(E,I){try{l(i[E](I))}catch(N){y(s[0][3],N)}}function l(E){E.value instanceof ua?Promise.resolve(E.value.v).then(p,m):y(s[0][2],E)}function p(E){h("next",E)}function m(E){h("throw",E)}function y(E,I){E(I),s.shift(),s.length&&h(s[0][0],s[0][1])}}function w8(r){var e,t;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,s){e[n]=r[n]?function(f){return(t=!t)?{value:ua(r[n](f)),done:n==="return"}:s?s(f):f}:s}}function x8(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Rc=="function"?Rc(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=r[s]&&function(f){return new Promise(function(h,l){f=r[s](f),n(h,l,f.done,f.value)})}}function n(s,f,h,l){Promise.resolve(l).then(function(p){s({value:p,done:h})},f)}}function A8(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function M8(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e}function S8(r){return r&&r.__esModule?r:{default:r}}function E8(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function I8(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}var P8=Object.freeze({__proto__:null,__extends:f8,get __assign(){return Dc},__rest:c8,__decorate:h8,__param:d8,__metadata:u8,__awaiter:l8,__generator:p8,__createBinding:b8,__exportStar:v8,__values:Rc,__read:Qu,__spread:g8,__spreadArrays:m8,__await:ua,__asyncGenerator:y8,__asyncDelegator:w8,__asyncValues:x8,__makeTemplateObject:A8,__importStar:M8,__importDefault:S8,__classPrivateFieldGet:E8,__classPrivateFieldSet:I8}),O8=ff(P8),Zi={},Yu;function N8(){if(Yu)return Zi;Yu=1,Object.defineProperty(Zi,"__esModule",{value:!0}),Zi.isBrowserCryptoAvailable=Zi.getSubtleCrypto=Zi.getBrowerCrypto=void 0;function r(){return Bt?.crypto||Bt?.msCrypto||{}}Zi.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}Zi.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return Zi.isBrowserCryptoAvailable=t,Zi}var Wi={},Xu;function D8(){if(Xu)return Wi;Xu=1,Object.defineProperty(Wi,"__esModule",{value:!0}),Wi.isBrowser=Wi.isNode=Wi.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}Wi.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}Wi.isNode=e;function t(){return!r()&&!e()}return Wi.isBrowser=t,Wi}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=O8;e.__exportStar(N8(),r),e.__exportStar(D8(),r)})(Gu);function Ji(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function qn(r=6){return BigInt(Ji(r))}function Ln(r,e,t){return{id:t||Ji(),jsonrpc:"2.0",method:r,params:e}}function Tc(r,e){return{id:r,jsonrpc:"2.0",result:e}}function Cc(r,e,t){return{id:r,jsonrpc:"2.0",error:R8(e,t)}}function R8(r,e){return typeof r>"u"?Ju(Zu):(typeof r=="string"&&(r=Object.assign(Object.assign({},Ju(Oc)),{message:r})),typeof e<"u"&&(r.data=e),s8(r.code)&&(r=a8(r.code)),r)}class T8{}class C8 extends T8{constructor(){super()}}class F8 extends C8{constructor(e){super()}}const q8="^wss?:";function L8(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function B8(r,e){const t=L8(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function _u(r){return B8(r,q8)}function U8(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function $u(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Fc(r){return $u(r)&&"method"in r}function Co(r){return $u(r)&&(Ni(r)||Jr(r))}function Ni(r){return"result"in r}function Jr(r){return"error"in r}class z8 extends F8{constructor(e){super(e),this.events=new fr.exports.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict(Ln(e.method,e.params||[],e.id||qn().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(s){n(s)}this.events.on(`${e.id}`,s=>{Jr(s)?n(s.error):i(s.result)});try{await this.connection.send(e,t)}catch(s){n(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Co(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const k8=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),V8=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",el=r=>r.split("?")[0],tl=10,H8=k8();class K8{constructor(e){if(this.url=e,this.events=new fr.exports.EventEmitter,this.registering=!1,!_u(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,t)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(An(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!_u(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,n)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),n(s)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const n=Gu.isReactNative()?void 0:{rejectUnauthorized:!U8(e)},s=new H8(e,[],n);V8()?s.onerror=f=>{const h=f;i(this.emitError(h.error))}:s.on("error",f=>{i(this.emitError(f))}),s.onopen=()=>{this.onOpen(s),t(s)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?$n(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),s=Cc(e,n);this.events.emit("payload",s)}parseError(e,t=this.url){return o8(e,el(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>tl&&this.events.setMaxListeners(tl)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${el(this.url)}`));return this.events.emit("register_error",t),t}}var qc={exports:{}};(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,s=2,f=9007199254740991,h="[object Arguments]",l="[object Array]",p="[object AsyncFunction]",m="[object Boolean]",y="[object Date]",E="[object Error]",I="[object Function]",N="[object GeneratorFunction]",F="[object Map]",k="[object Number]",H="[object Null]",L="[object Object]",W="[object Promise]",z="[object Proxy]",R="[object RegExp]",V="[object Set]",S="[object String]",B="[object Symbol]",G="[object Undefined]",ie="[object WeakMap]",P="[object ArrayBuffer]",o="[object DataView]",d="[object Float32Array]",a="[object Float64Array]",u="[object Int8Array]",b="[object Int16Array]",w="[object Int32Array]",A="[object Uint8Array]",g="[object Uint8ClampedArray]",c="[object Uint16Array]",v="[object Uint32Array]",M=/[\\^$.*+?()[\]{}|]/g,D=/^\[object .+?Constructor\]$/,J=/^(?:0|[1-9]\d*)$/,O={};O[d]=O[a]=O[u]=O[b]=O[w]=O[A]=O[g]=O[c]=O[v]=!0,O[h]=O[l]=O[P]=O[m]=O[o]=O[y]=O[E]=O[I]=O[F]=O[k]=O[L]=O[R]=O[V]=O[S]=O[ie]=!1;var Z=typeof Bt=="object"&&Bt&&Bt.Object===Object&&Bt,U=typeof self=="object"&&self&&self.Object===Object&&self,q=Z||U||Function("return this")(),T=e&&!e.nodeType&&e,x=T&&!0&&r&&!r.nodeType&&r,C=x&&x.exports===T,j=C&&Z.process,Q=function(){try{return j&&j.binding&&j.binding("util")}catch{}}(),_=Q&&Q.isTypedArray;function X(K,Y){for(var fe=-1,Ve=K==null?0:K.length,wt=0,rt=[];++fe<Ve;){var Ot=K[fe];Y(Ot,fe,K)&&(rt[wt++]=Ot)}return rt}function ne(K,Y){for(var fe=-1,Ve=Y.length,wt=K.length;++fe<Ve;)K[wt+fe]=Y[fe];return K}function ae(K,Y){for(var fe=-1,Ve=K==null?0:K.length;++fe<Ve;)if(Y(K[fe],fe,K))return!0;return!1}function $(K,Y){for(var fe=-1,Ve=Array(K);++fe<K;)Ve[fe]=Y(fe);return Ve}function he(K){return function(Y){return K(Y)}}function Pe(K,Y){return K.has(Y)}function se(K,Y){return K?.[Y]}function de(K){var Y=-1,fe=Array(K.size);return K.forEach(function(Ve,wt){fe[++Y]=[wt,Ve]}),fe}function Se(K,Y){return function(fe){return K(Y(fe))}}function re(K){var Y=-1,fe=Array(K.size);return K.forEach(function(Ve){fe[++Y]=Ve}),fe}var ce=Array.prototype,xe=Function.prototype,ee=Object.prototype,ve=q["__core-js_shared__"],qe=xe.toString,te=ee.hasOwnProperty,we=function(){var K=/[^.]+$/.exec(ve&&ve.keys&&ve.keys.IE_PROTO||"");return K?"Symbol(src)_1."+K:""}(),Ne=ee.toString,oe=RegExp("^"+qe.call(te).replace(M,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),pe=C?q.Buffer:void 0,ze=q.Symbol,Ae=q.Uint8Array,ke=ee.propertyIsEnumerable,_e=ce.splice,Me=ze?ze.toStringTag:void 0,Ke=Object.getOwnPropertySymbols,it=pe?pe.isBuffer:void 0,Oe=Se(Object.keys,Object),Ce=Ts(q,"DataView"),je=Ts(q,"Map"),be=Ts(q,"Promise"),Fe=Ts(q,"Set"),Je=Ts(q,"WeakMap"),le=Ts(Object,"create"),Be=Gn(Ce),Ge=Gn(je),ge=Gn(be),Le=Gn(Fe),Qe=Gn(Je),ue=ze?ze.prototype:void 0,Re=ue?ue.valueOf:void 0;function He(K){var Y=-1,fe=K==null?0:K.length;for(this.clear();++Y<fe;){var Ve=K[Y];this.set(Ve[0],Ve[1])}}function me(){this.__data__=le?le(null):{},this.size=0}function Ue(K){var Y=this.has(K)&&delete this.__data__[K];return this.size-=Y?1:0,Y}function ft(K){var Y=this.__data__;if(le){var fe=Y[K];return fe===i?void 0:fe}return te.call(Y,K)?Y[K]:void 0}function Te(K){var Y=this.__data__;return le?Y[K]!==void 0:te.call(Y,K)}function Ze(K,Y){var fe=this.__data__;return this.size+=this.has(K)?0:1,fe[K]=le&&Y===void 0?i:Y,this}He.prototype.clear=me,He.prototype.delete=Ue,He.prototype.get=ft,He.prototype.has=Te,He.prototype.set=Ze;function Xe(K){var Y=-1,fe=K==null?0:K.length;for(this.clear();++Y<fe;){var Ve=K[Y];this.set(Ve[0],Ve[1])}}function nt(){this.__data__=[],this.size=0}function It(K){var Y=this.__data__,fe=rf(Y,K);if(fe<0)return!1;var Ve=Y.length-1;return fe==Ve?Y.pop():_e.call(Y,fe,1),--this.size,!0}function ct(K){var Y=this.__data__,fe=rf(Y,K);return fe<0?void 0:Y[fe][1]}function ht(K){return rf(this.__data__,K)>-1}function lt(K,Y){var fe=this.__data__,Ve=rf(fe,K);return Ve<0?(++this.size,fe.push([K,Y])):fe[Ve][1]=Y,this}Xe.prototype.clear=nt,Xe.prototype.delete=It,Xe.prototype.get=ct,Xe.prototype.has=ht,Xe.prototype.set=lt;function dt(K){var Y=-1,fe=K==null?0:K.length;for(this.clear();++Y<fe;){var Ve=K[Y];this.set(Ve[0],Ve[1])}}function Rt(){this.size=0,this.__data__={hash:new He,map:new(je||Xe),string:new He}}function Ft(K){var Y=nf(this,K).delete(K);return this.size-=Y?1:0,Y}function sr(K){return nf(this,K).get(K)}function lr(K){return nf(this,K).has(K)}function qt(K,Y){var fe=nf(this,K),Ve=fe.size;return fe.set(K,Y),this.size+=fe.size==Ve?0:1,this}dt.prototype.clear=Rt,dt.prototype.delete=Ft,dt.prototype.get=sr,dt.prototype.has=lr,dt.prototype.set=qt;function Lt(K){var Y=-1,fe=K==null?0:K.length;for(this.__data__=new dt;++Y<fe;)this.add(K[Y])}function pr(K){return this.__data__.set(K,i),this}function Sr(K){return this.__data__.has(K)}Lt.prototype.add=Lt.prototype.push=pr,Lt.prototype.has=Sr;function Pt(K){var Y=this.__data__=new Xe(K);this.size=Y.size}function br(){this.__data__=new Xe,this.size=0}function ar(K){var Y=this.__data__,fe=Y.delete(K);return this.size=Y.size,fe}function Yt(K){return this.__data__.get(K)}function Ea(K){return this.__data__.has(K)}function Ia(K,Y){var fe=this.__data__;if(fe instanceof Xe){var Ve=fe.__data__;if(!je||Ve.length<t-1)return Ve.push([K,Y]),this.size=++fe.size,this;fe=this.__data__=new dt(Ve)}return fe.set(K,Y),this.size=fe.size,this}Pt.prototype.clear=br,Pt.prototype.delete=ar,Pt.prototype.get=Yt,Pt.prototype.has=Ea,Pt.prototype.set=Ia;function zx(K,Y){var fe=sf(K),Ve=!fe&&eA(K),wt=!fe&&!Ve&&f0(K),rt=!fe&&!Ve&&!wt&&V1(K),Ot=fe||Ve||wt||rt,Xt=Ot?$(K.length,String):[],or=Xt.length;for(var xt in K)(Y||te.call(K,xt))&&!(Ot&&(xt=="length"||wt&&(xt=="offset"||xt=="parent")||rt&&(xt=="buffer"||xt=="byteLength"||xt=="byteOffset")||Qx(xt,or)))&&Xt.push(xt);return Xt}function rf(K,Y){for(var fe=K.length;fe--;)if(B1(K[fe][0],Y))return fe;return-1}function kx(K,Y,fe){var Ve=Y(K);return sf(K)?Ve:ne(Ve,fe(K))}function Pa(K){return K==null?K===void 0?G:H:Me&&Me in Object(K)?Jx(K):$x(K)}function C1(K){return Oa(K)&&Pa(K)==h}function F1(K,Y,fe,Ve,wt){return K===Y?!0:K==null||Y==null||!Oa(K)&&!Oa(Y)?K!==K&&Y!==Y:Vx(K,Y,fe,Ve,F1,wt)}function Vx(K,Y,fe,Ve,wt,rt){var Ot=sf(K),Xt=sf(Y),or=Ot?l:vn(K),xt=Xt?l:vn(Y);or=or==h?L:or,xt=xt==h?L:xt;var zr=or==L,pi=xt==L,vr=or==xt;if(vr&&f0(K)){if(!f0(Y))return!1;Ot=!0,zr=!1}if(vr&&!zr)return rt||(rt=new Pt),Ot||V1(K)?q1(K,Y,fe,Ve,wt,rt):Zx(K,Y,or,fe,Ve,wt,rt);if(!(fe&n)){var ii=zr&&te.call(K,"__wrapped__"),ni=pi&&te.call(Y,"__wrapped__");if(ii||ni){var gn=ii?K.value():K,_i=ni?Y.value():Y;return rt||(rt=new Pt),wt(gn,_i,fe,Ve,rt)}}return vr?(rt||(rt=new Pt),Wx(K,Y,fe,Ve,wt,rt)):!1}function Hx(K){if(!k1(K)||Xx(K))return!1;var Y=U1(K)?oe:D;return Y.test(Gn(K))}function Kx(K){return Oa(K)&&z1(K.length)&&!!O[Pa(K)]}function jx(K){if(!_x(K))return Oe(K);var Y=[];for(var fe in Object(K))te.call(K,fe)&&fe!="constructor"&&Y.push(fe);return Y}function q1(K,Y,fe,Ve,wt,rt){var Ot=fe&n,Xt=K.length,or=Y.length;if(Xt!=or&&!(Ot&&or>Xt))return!1;var xt=rt.get(K);if(xt&&rt.get(Y))return xt==Y;var zr=-1,pi=!0,vr=fe&s?new Lt:void 0;for(rt.set(K,Y),rt.set(Y,K);++zr<Xt;){var ii=K[zr],ni=Y[zr];if(Ve)var gn=Ot?Ve(ni,ii,zr,Y,K,rt):Ve(ii,ni,zr,K,Y,rt);if(gn!==void 0){if(gn)continue;pi=!1;break}if(vr){if(!ae(Y,function(_i,Qn){if(!Pe(vr,Qn)&&(ii===_i||wt(ii,_i,fe,Ve,rt)))return vr.push(Qn)})){pi=!1;break}}else if(!(ii===ni||wt(ii,ni,fe,Ve,rt))){pi=!1;break}}return rt.delete(K),rt.delete(Y),pi}function Zx(K,Y,fe,Ve,wt,rt,Ot){switch(fe){case o:if(K.byteLength!=Y.byteLength||K.byteOffset!=Y.byteOffset)return!1;K=K.buffer,Y=Y.buffer;case P:return!(K.byteLength!=Y.byteLength||!rt(new Ae(K),new Ae(Y)));case m:case y:case k:return B1(+K,+Y);case E:return K.name==Y.name&&K.message==Y.message;case R:case S:return K==Y+"";case F:var Xt=de;case V:var or=Ve&n;if(Xt||(Xt=re),K.size!=Y.size&&!or)return!1;var xt=Ot.get(K);if(xt)return xt==Y;Ve|=s,Ot.set(K,Y);var zr=q1(Xt(K),Xt(Y),Ve,wt,rt,Ot);return Ot.delete(K),zr;case B:if(Re)return Re.call(K)==Re.call(Y)}return!1}function Wx(K,Y,fe,Ve,wt,rt){var Ot=fe&n,Xt=L1(K),or=Xt.length,xt=L1(Y),zr=xt.length;if(or!=zr&&!Ot)return!1;for(var pi=or;pi--;){var vr=Xt[pi];if(!(Ot?vr in Y:te.call(Y,vr)))return!1}var ii=rt.get(K);if(ii&&rt.get(Y))return ii==Y;var ni=!0;rt.set(K,Y),rt.set(Y,K);for(var gn=Ot;++pi<or;){vr=Xt[pi];var _i=K[vr],Qn=Y[vr];if(Ve)var H1=Ot?Ve(Qn,_i,vr,Y,K,rt):Ve(_i,Qn,vr,K,Y,rt);if(!(H1===void 0?_i===Qn||wt(_i,Qn,fe,Ve,rt):H1)){ni=!1;break}gn||(gn=vr=="constructor")}if(ni&&!gn){var af=K.constructor,of=Y.constructor;af!=of&&"constructor"in K&&"constructor"in Y&&!(typeof af=="function"&&af instanceof af&&typeof of=="function"&&of instanceof of)&&(ni=!1)}return rt.delete(K),rt.delete(Y),ni}function L1(K){return kx(K,iA,Gx)}function nf(K,Y){var fe=K.__data__;return Yx(Y)?fe[typeof Y=="string"?"string":"hash"]:fe.map}function Ts(K,Y){var fe=se(K,Y);return Hx(fe)?fe:void 0}function Jx(K){var Y=te.call(K,Me),fe=K[Me];try{K[Me]=void 0;var Ve=!0}catch{}var wt=Ne.call(K);return Ve&&(Y?K[Me]=fe:delete K[Me]),wt}var Gx=Ke?function(K){return K==null?[]:(K=Object(K),X(Ke(K),function(Y){return ke.call(K,Y)}))}:nA,vn=Pa;(Ce&&vn(new Ce(new ArrayBuffer(1)))!=o||je&&vn(new je)!=F||be&&vn(be.resolve())!=W||Fe&&vn(new Fe)!=V||Je&&vn(new Je)!=ie)&&(vn=function(K){var Y=Pa(K),fe=Y==L?K.constructor:void 0,Ve=fe?Gn(fe):"";if(Ve)switch(Ve){case Be:return o;case Ge:return F;case ge:return W;case Le:return V;case Qe:return ie}return Y});function Qx(K,Y){return Y=Y??f,!!Y&&(typeof K=="number"||J.test(K))&&K>-1&&K%1==0&&K<Y}function Yx(K){var Y=typeof K;return Y=="string"||Y=="number"||Y=="symbol"||Y=="boolean"?K!=="__proto__":K===null}function Xx(K){return!!we&&we in K}function _x(K){var Y=K&&K.constructor,fe=typeof Y=="function"&&Y.prototype||ee;return K===fe}function $x(K){return Ne.call(K)}function Gn(K){if(K!=null){try{return qe.call(K)}catch{}try{return K+""}catch{}}return""}function B1(K,Y){return K===Y||K!==K&&Y!==Y}var eA=C1(function(){return arguments}())?C1:function(K){return Oa(K)&&te.call(K,"callee")&&!ke.call(K,"callee")},sf=Array.isArray;function tA(K){return K!=null&&z1(K.length)&&!U1(K)}var f0=it||sA;function rA(K,Y){return F1(K,Y)}function U1(K){if(!k1(K))return!1;var Y=Pa(K);return Y==I||Y==N||Y==p||Y==z}function z1(K){return typeof K=="number"&&K>-1&&K%1==0&&K<=f}function k1(K){var Y=typeof K;return K!=null&&(Y=="object"||Y=="function")}function Oa(K){return K!=null&&typeof K=="object"}var V1=_?he(_):Kx;function iA(K){return tA(K)?zx(K):jx(K)}function nA(){return[]}function sA(){return!1}r.exports=rA})(qc,qc.exports);var j8=qc.exports;const rl="wc",il=2,Fo="core",Di=`${rl}@2:${Fo}:`,Z8={name:Fo,logger:"error"},W8={database:":memory:"},J8="crypto",nl="client_ed25519_seed",G8=ye.ONE_DAY,Q8="keychain",Y8="0.3",X8="messages",_8="0.3",sl=ye.SIX_HOURS,$8="publisher",al="irn",ey="error",ol="wss://relay.walletconnect.org",ty="relayer",Zt={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},ry="_subscription",Gr={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},iy=.1,Lc="2.17.3",mt={link_mode:"link_mode",relay:"relay"},ny="0.3",sy="WALLETCONNECT_CLIENT_ID",fl="WALLETCONNECT_LINK_MODE_APPS",Br={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},ay="subscription",oy="0.3",fy=ye.FIVE_SECONDS*1e3,cy="pairing",hy="0.3",la={wc_pairingDelete:{req:{ttl:ye.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:ye.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:ye.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:ye.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:ye.ONE_DAY,prompt:!1,tag:0},res:{ttl:ye.ONE_DAY,prompt:!1,tag:0}}},Bn={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},hi={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},dy="history",uy="0.3",ly="expirer",Qr={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},py="0.3",by="verify-api",vy="https://verify.walletconnect.com",cl="https://verify.walletconnect.org",pa=cl,gy=`${pa}/v3`,my=[vy,cl],yy="echo",wy="https://echo.walletconnect.com",Ri={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},Gi={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},di={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},Un={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},zn={authenticated_session_approve_started:"authenticated_session_approve_started",authenticated_session_not_expired:"authenticated_session_not_expired",chains_caip2_compliant:"chains_caip2_compliant",chains_evm_compliant:"chains_evm_compliant",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve",authenticated_session_approve_publish_success:"authenticated_session_approve_publish_success"},ba={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",missing_session_authenticate_request:"missing_session_authenticate_request",session_authenticate_request_expired:"session_authenticate_request_expired",chains_caip2_compliant_failure:"chains_caip2_compliant_failure",chains_evm_compliant_failure:"chains_evm_compliant_failure",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},xy=.1,Ay="event-client",My=86400,Sy="https://pulse.walletconnect.org/batch";function Ey(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var n=0;n<r.length;n++){var s=r.charAt(n),f=s.charCodeAt(0);if(t[f]!==255)throw new TypeError(s+" is ambiguous");t[f]=n}var h=r.length,l=r.charAt(0),p=Math.log(h)/Math.log(256),m=Math.log(256)/Math.log(h);function y(N){if(N instanceof Uint8Array||(ArrayBuffer.isView(N)?N=new Uint8Array(N.buffer,N.byteOffset,N.byteLength):Array.isArray(N)&&(N=Uint8Array.from(N))),!(N instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(N.length===0)return"";for(var F=0,k=0,H=0,L=N.length;H!==L&&N[H]===0;)H++,F++;for(var W=(L-H)*m+1>>>0,z=new Uint8Array(W);H!==L;){for(var R=N[H],V=0,S=W-1;(R!==0||V<k)&&S!==-1;S--,V++)R+=256*z[S]>>>0,z[S]=R%h>>>0,R=R/h>>>0;if(R!==0)throw new Error("Non-zero carry");k=V,H++}for(var B=W-k;B!==W&&z[B]===0;)B++;for(var G=l.repeat(F);B<W;++B)G+=r.charAt(z[B]);return G}function E(N){if(typeof N!="string")throw new TypeError("Expected String");if(N.length===0)return new Uint8Array;var F=0;if(N[F]!==" "){for(var k=0,H=0;N[F]===l;)k++,F++;for(var L=(N.length-F)*p+1>>>0,W=new Uint8Array(L);N[F];){var z=t[N.charCodeAt(F)];if(z===255)return;for(var R=0,V=L-1;(z!==0||R<H)&&V!==-1;V--,R++)z+=h*W[V]>>>0,W[V]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");H=R,F++}if(N[F]!==" "){for(var S=L-H;S!==L&&W[S]===0;)S++;for(var B=new Uint8Array(k+(L-S)),G=k;S!==L;)B[G++]=W[S++];return B}}}function I(N){var F=E(N);if(F)return F;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:E,decode:I}}var Iy=Ey,Py=Iy;const hl=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},Oy=r=>new TextEncoder().encode(r),Ny=r=>new TextDecoder().decode(r);class Dy{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Ry{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dl(this,e)}}class Ty{constructor(e){this.decoders=e}or(e){return dl(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const dl=(r,e)=>new Ty({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class Cy{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new Dy(e,t,i),this.decoder=new Ry(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const qo=({name:r,prefix:e,encode:t,decode:i})=>new Cy(r,e,t,i),va=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=Py(t,e);return qo({prefix:r,name:e,encode:i,decode:s=>hl(n(s))})},Fy=(r,e,t,i)=>{const n={};for(let m=0;m<e.length;++m)n[e[m]]=m;let s=r.length;for(;r[s-1]==="=";)--s;const f=new Uint8Array(s*t/8|0);let h=0,l=0,p=0;for(let m=0;m<s;++m){const y=n[r[m]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);l=l<<t|y,h+=t,h>=8&&(h-=8,f[p++]=255&l>>h)}if(h>=t||255&l<<8-h)throw new SyntaxError("Unexpected end of data");return f},qy=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let s="",f=0,h=0;for(let l=0;l<r.length;++l)for(h=h<<8|r[l],f+=8;f>t;)f-=t,s+=e[n&h>>f];if(f&&(s+=e[n&h<<t-f]),i)for(;s.length*t&7;)s+="=";return s},rr=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>qo({prefix:e,name:r,encode(n){return qy(n,i,t)},decode(n){return Fy(n,i,t,r)}}),Ly=qo({prefix:"\0",name:"identity",encode:r=>Ny(r),decode:r=>Oy(r)});var By=Object.freeze({__proto__:null,identity:Ly});const Uy=rr({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var zy=Object.freeze({__proto__:null,base2:Uy});const ky=rr({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Vy=Object.freeze({__proto__:null,base8:ky});const Hy=va({prefix:"9",name:"base10",alphabet:"0123456789"});var Ky=Object.freeze({__proto__:null,base10:Hy});const jy=rr({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Zy=rr({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Wy=Object.freeze({__proto__:null,base16:jy,base16upper:Zy});const Jy=rr({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Gy=rr({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qy=rr({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Yy=rr({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xy=rr({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),_y=rr({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),$y=rr({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),e7=rr({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),t7=rr({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var r7=Object.freeze({__proto__:null,base32:Jy,base32upper:Gy,base32pad:Qy,base32padupper:Yy,base32hex:Xy,base32hexupper:_y,base32hexpad:$y,base32hexpadupper:e7,base32z:t7});const i7=va({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),n7=va({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var s7=Object.freeze({__proto__:null,base36:i7,base36upper:n7});const a7=va({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),o7=va({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var f7=Object.freeze({__proto__:null,base58btc:a7,base58flickr:o7});const c7=rr({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),h7=rr({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),d7=rr({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),u7=rr({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var l7=Object.freeze({__proto__:null,base64:c7,base64pad:h7,base64url:d7,base64urlpad:u7});const ul=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),p7=ul.reduce((r,e,t)=>(r[t]=e,r),[]),b7=ul.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function v7(r){return r.reduce((e,t)=>(e+=p7[t],e),"")}function g7(r){const e=[];for(const t of r){const i=b7[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const m7=qo({prefix:"\u{1F680}",name:"base256emoji",encode:v7,decode:g7});var y7=Object.freeze({__proto__:null,base256emoji:m7}),w7=pl,ll=128,x7=127,A7=~x7,M7=Math.pow(2,31);function pl(r,e,t){e=e||[],t=t||0;for(var i=t;r>=M7;)e[t++]=r&255|ll,r/=128;for(;r&A7;)e[t++]=r&255|ll,r>>>=7;return e[t]=r|0,pl.bytes=t-i+1,e}var S7=Bc,E7=128,bl=127;function Bc(r,i){var t=0,i=i||0,n=0,s=i,f,h=r.length;do{if(s>=h)throw Bc.bytes=0,new RangeError("Could not decode varint");f=r[s++],t+=n<28?(f&bl)<<n:(f&bl)*Math.pow(2,n),n+=7}while(f>=E7);return Bc.bytes=s-i,t}var I7=Math.pow(2,7),P7=Math.pow(2,14),O7=Math.pow(2,21),N7=Math.pow(2,28),D7=Math.pow(2,35),R7=Math.pow(2,42),T7=Math.pow(2,49),C7=Math.pow(2,56),F7=Math.pow(2,63),q7=function(r){return r<I7?1:r<P7?2:r<O7?3:r<N7?4:r<D7?5:r<R7?6:r<T7?7:r<C7?8:r<F7?9:10},L7={encode:w7,decode:S7,encodingLength:q7},vl=L7;const gl=(r,e,t=0)=>(vl.encode(r,e,t),e),ml=r=>vl.encodingLength(r),Uc=(r,e)=>{const t=e.byteLength,i=ml(r),n=i+ml(t),s=new Uint8Array(n+t);return gl(r,s,0),gl(t,s,i),s.set(e,n),new B7(r,t,e,s)};class B7{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const yl=({name:r,code:e,encode:t})=>new U7(r,e,t);class U7{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Uc(this.code,t):t.then(i=>Uc(this.code,i))}else throw Error("Unknown type, must be binary type")}}const wl=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),z7=yl({name:"sha2-256",code:18,encode:wl("SHA-256")}),k7=yl({name:"sha2-512",code:19,encode:wl("SHA-512")});var V7=Object.freeze({__proto__:null,sha256:z7,sha512:k7});const xl=0,H7="identity",Al=hl;var K7=Object.freeze({__proto__:null,identity:{code:xl,name:H7,encode:Al,digest:r=>Uc(xl,Al(r))}});new TextEncoder,new TextDecoder;const Ml={...By,...zy,...Vy,...Ky,...Wy,...r7,...s7,...f7,...l7,...y7};({...V7,...K7});function j7(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function Sl(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const El=Sl("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),zc=Sl("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=j7(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Z7={utf8:El,"utf-8":El,hex:Ml.base16,latin1:zc,ascii:zc,binary:zc,...Ml};function W7(r,e="utf8"){const t=Z7[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,"utf8"):t.decoder.decode(`${t.prefix}${r}`)}class J7{constructor(e,t){this.core=e,this.logger=t,this.keychain=new Map,this.name=Q8,this.version=Y8,this.initialized=!1,this.storagePrefix=Di,this.init=async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:s}=Ee("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(s)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=gr(t,this.name)}get context(){return Ir(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,hu(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?du(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}}class G7{constructor(e,t,i){this.core=e,this.logger=t,this.name=J8,this.randomSessionIdentifier=Sc(),this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),s=Ah(n);return xh(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=_5();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const s=await this.getClientSeed(),f=Ah(s),h=this.randomSessionIdentifier;return await e3(h,n,G8,f)},this.generateSharedKey=(n,s,f)=>{this.isInitialized();const h=this.getPrivateKey(n),l=$5(h,s);return this.setSymKey(l,f)},this.setSymKey=async(n,s)=>{this.isInitialized();const f=s||Po(n);return await this.keychain.set(f,n),f},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,s,f)=>{this.isInitialized();const h=Nu(f),l=An(s);if(Ru(h))return tm(l,f?.encoding);if(Du(h)){const E=h.senderPublicKey,I=h.receiverPublicKey;n=await this.generateSharedKey(E,I)}const p=this.getSymKey(n),{type:m,senderPublicKey:y}=h;return em({type:m,symKey:p,message:l,senderPublicKey:y,encoding:f?.encoding})},this.decode=async(n,s,f)=>{this.isInitialized();const h=nm(s,f);if(Ru(h)){const l=im(s,f?.encoding);return $n(l)}if(Du(h)){const l=h.receiverPublicKey,p=h.senderPublicKey;n=await this.generateSharedKey(l,p)}try{const l=this.getSymKey(n),p=rm({symKey:l,encoded:s,encoding:f?.encoding});return $n(p)}catch(l){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(l)}},this.getPayloadType=(n,s=un)=>{const f=fa({encoded:n,encoding:s});return Fn(f.type)},this.getPayloadSenderPublicKey=(n,s=un)=>{const f=fa({encoded:n,encoding:s});return f.senderPublicKey?zt(f.senderPublicKey,xr):void 0},this.core=e,this.logger=gr(t,this.name),this.keychain=i||new J7(this.core,this.logger)}get context(){return Ir(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(nl)}catch{e=Sc(),await this.keychain.set(nl,e)}return W7(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}}class Q7 extends Lb{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=X8,this.version=_8,this.initialized=!1,this.storagePrefix=Di,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const s=ji(n);let f=this.messages.get(i);return typeof f>"u"&&(f={}),typeof f[s]<"u"||(f[s]=n,this.messages.set(i,f),await this.persist()),s},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const s=this.get(i),f=ji(n);return typeof s[f]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=gr(e,this.name),this.core=t}get context(){return Ir(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,hu(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?du(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Y7=Object.defineProperty,X7=Object.defineProperties,_7=Object.getOwnPropertyDescriptors,Il=Object.getOwnPropertySymbols,$7=Object.prototype.hasOwnProperty,e9=Object.prototype.propertyIsEnumerable,Pl=(r,e,t)=>e in r?Y7(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ol=(r,e)=>{for(var t in e||(e={}))$7.call(e,t)&&Pl(r,t,e[t]);if(Il)for(var t of Il(e))e9.call(e,t)&&Pl(r,t,e[t]);return r},Nl=(r,e)=>X7(r,_7(e));class t9 extends Bb{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new fr.exports.EventEmitter,this.name=$8,this.queue=new Map,this.publishTimeout=ye.toMiliseconds(ye.ONE_MINUTE),this.initialPublishTimeout=ye.toMiliseconds(ye.ONE_SECOND*15),this.needsTransportRestart=!1,this.publish=async(i,n,s)=>{var f;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:s}});const h=s?.ttl||sl,l=Oo(s),p=s?.prompt||!1,m=s?.tag||0,y=s?.id||qn().toString(),E={topic:i,message:n,opts:{ttl:h,relay:l,prompt:p,tag:m,id:y,attestation:s?.attestation}},I=`Failed to publish payload, please try again. id:${y} tag:${m}`;try{const N=new Promise(async F=>{const k=({id:L})=>{E.opts.id===L&&(this.removeRequestFromQueue(L),this.relayer.events.removeListener(Zt.publish,k),F(E))};this.relayer.events.on(Zt.publish,k);const H=hn(new Promise((L,W)=>{this.rpcPublish({topic:i,message:n,ttl:h,prompt:p,tag:m,id:y,attestation:s?.attestation}).then(L).catch(z=>{this.logger.warn(z,z?.message),W(z)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${y} tag:${m}`);try{await H,this.events.removeListener(Zt.publish,k)}catch(L){this.queue.set(y,Nl(Ol({},E),{attempt:1})),this.logger.warn(L,L?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:y,topic:i,message:n,opts:s}}),await hn(N,this.publishTimeout,I)}catch(N){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(N),(f=s?.internal)!=null&&f.throwOnFailedPublish)throw N}finally{this.queue.delete(y)}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=gr(t,this.name),this.registerEventListeners()}get context(){return Ir(this.logger)}async rpcPublish(e){var t,i,n,s;const{topic:f,message:h,ttl:l=sl,prompt:p,tag:m,id:y,attestation:E}=e,I={method:ca(Oo().protocol).publish,params:{topic:f,message:h,ttl:l,prompt:p,tag:m,attestation:E},id:y};Ar((t=I.params)==null?void 0:t.prompt)&&((i=I.params)==null||delete i.prompt),Ar((n=I.params)==null?void 0:n.tag)&&((s=I.params)==null||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I});const N=await this.relayer.request(I);return this.relayer.events.emit(Zt.publish,e),this.logger.debug("Successfully Published Payload"),N}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,Nl(Ol({},e),{attempt:i}));const{topic:n,message:s,opts:f,attestation:h}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish({topic:n,message:s,ttl:f.ttl,prompt:f.prompt,tag:f.tag,id:f.id,attestation:h}),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(_n.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Zt.connection_stalled);return}this.checkQueue()}),this.relayer.on(Zt.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class r9{constructor(){this.map=new Map,this.set=(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])},this.get=e=>this.map.get(e)||[],this.exists=(e,t)=>this.get(e).includes(t),this.delete=(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const n=i.filter(s=>s!==t);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var i9=Object.defineProperty,n9=Object.defineProperties,s9=Object.getOwnPropertyDescriptors,Dl=Object.getOwnPropertySymbols,a9=Object.prototype.hasOwnProperty,o9=Object.prototype.propertyIsEnumerable,Rl=(r,e,t)=>e in r?i9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ga=(r,e)=>{for(var t in e||(e={}))a9.call(e,t)&&Rl(r,t,e[t]);if(Dl)for(var t of Dl(e))o9.call(e,t)&&Rl(r,t,e[t]);return r},kc=(r,e)=>n9(r,s9(e));class f9 extends kb{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new r9,this.events=new fr.exports.EventEmitter,this.name=ay,this.version=oy,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=Di,this.subscribeTimeout=ye.toMiliseconds(ye.ONE_MINUTE),this.initialSubscribeTimeout=ye.toMiliseconds(ye.ONE_SECOND*15),this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId(),await this.restore()),this.initialized=!0},this.subscribe=async(i,n)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const s=Oo(n),f={topic:i,relay:s,transportType:n?.transportType};this.pending.set(i,f);const h=await this.rpcSubscribe(i,s,n);return typeof h=="string"&&(this.onSubscribe(h,f),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}})),h}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof n?.id<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const n=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((s,f)=>{const h=new ye.Watch;h.start(n);const l=setInterval(()=>{(!this.pending.has(i)&&this.topics.includes(i)||this.cached.some(p=>p.topic===i))&&(clearInterval(l),h.stop(n),s(!0)),h.elapsed(n)>=fy&&(clearInterval(l),h.stop(n),f(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{await this.restore(),await this.onRestart()},this.checkPending=async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(n=>{i.push(n)}),await this.batchSubscribe(i)},this.registerEventListeners=()=>{this.relayer.core.heartbeat.on(_n.pulse,async()=>{await this.checkPending()}),this.events.on(Br.created,async i=>{const n=Br.created;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()}),this.events.on(Br.deleted,async i=>{const n=Br.deleted;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()})},this.relayer=e,this.logger=gr(t,this.name),this.clientId=""}get context(){return Ir(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const n=Oo(i);await this.rpcUnsubscribe(e,t,n);const s=gt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,t,i){var n;i?.transportType===mt.relay&&await this.restartToComplete();const s={method:ca(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});const f=(n=i?.internal)==null?void 0:n.throwOnFailedPublish;try{const h=this.getSubscriptionId(e);if(i?.transportType===mt.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(m=>this.logger.warn(m))},ye.toMiliseconds(ye.ONE_SECOND)),h;const l=new Promise(async m=>{const y=E=>{E.topic===e&&(this.events.removeListener(Br.created,y),m(E.id))};this.events.on(Br.created,y);try{const E=await hn(new Promise((I,N)=>{this.relayer.request(s).catch(F=>{this.logger.warn(F,F?.message),N(F)}).then(I)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(Br.created,y),m(E)}catch{}}),p=await hn(l,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!p&&f)throw new Error(`Subscribing to ${e} failed, please try again`);return p?h:null}catch(h){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Zt.connection_stalled),f)throw h}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:ca(t.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await hn(new Promise(n=>{this.relayer.request(i).catch(s=>this.logger.warn(s)).then(n)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(Zt.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:ca(t.protocol).batchFetchMessages,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let n;try{n=await await hn(new Promise((s,f)=>{this.relayer.request(i).catch(h=>{this.logger.warn(h),f(h)}).then(s)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(Zt.connection_stalled)}return n}rpcUnsubscribe(e,t,i){const n={method:ca(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,t){this.setSubscription(e,kc(ga({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ga({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,ga({},t)),this.topicMap.set(t.topic,e),this.events.emit(Br.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=Ee("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(Br.deleted,kc(ga({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Br.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const n=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(n)}}this.events.emit(Br.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Ee("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(e.map(t=>kc(ga({},t),{id:this.getSubscriptionId(t.topic)}))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await P5(ye.toMiliseconds(ye.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){!this.relayer.connected&&!this.relayer.connecting&&await this.relayer.transportOpen()}getSubscriptionId(e){return ji(e+this.clientId)}}var c9=Object.defineProperty,Tl=Object.getOwnPropertySymbols,h9=Object.prototype.hasOwnProperty,d9=Object.prototype.propertyIsEnumerable,Cl=(r,e,t)=>e in r?c9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Fl=(r,e)=>{for(var t in e||(e={}))h9.call(e,t)&&Cl(r,t,e[t]);if(Tl)for(var t of Tl(e))d9.call(e,t)&&Cl(r,t,e[t]);return r};class u9 extends Ub{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new fr.exports.EventEmitter,this.name=ty,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1,this.heartBeatTimeout=ye.toMiliseconds(ye.THIRTY_SECONDS+ye.FIVE_SECONDS),this.requestsInFlight=[],this.connectTimeout=ye.toMiliseconds(ye.ONE_SECOND*15),this.request=async t=>{var i,n;this.logger.debug("Publishing Request Payload");const s=t.id||qn().toString();await this.toEstablishConnection();try{this.logger.trace({id:s,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - publishing...");const f=`${s}:${((n=t.params)==null?void 0:n.tag)||""}`;this.requestsInFlight.push(f);const h=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(l=>l!==f),h}catch(f){throw this.logger.debug(`Failed to Publish Request: ${s}`),f}},this.resetPingTimeout=()=>{if(So())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,n;this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(n=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null||n.terminate()},this.heartBeatTimeout)}catch(t){this.logger.warn(t,t?.message)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.logger.warn({},"Relayer connected \u{1F6DC}"),this.startPingTimeout(),this.events.emit(Zt.connect)},this.onDisconnectHandler=()=>{this.logger.warn({},"Relayer disconnected \u{1F6D1}"),this.requestsInFlight=[],this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.fatal(t,`Fatal socket error: ${t?.message}`),this.events.emit(Zt.error,t),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Gr.payload,this.onPayloadHandler),this.provider.on(Gr.connect,this.onConnectHandler),this.provider.on(Gr.disconnect,this.onDisconnectHandler),this.provider.on(Gr.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?gr(e.logger,this.name):Li(Ef({level:e.logger||ey})),this.messages=new Q7(this.logger,e.core),this.subscriber=new f9(this,this.logger),this.publisher=new t9(this,this.logger),this.relayUrl=e?.relayUrl||ol,this.projectId=e.projectId,l5()?this.packageName=ou():p5()&&(this.bundleId=ou()),this.provider={}}async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.cached.length>0)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return Ir(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:mt.relay})}async subscribe(e,t){var i,n,s;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType==="relay")&&await this.toEstablishConnection();const f=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>"u"?!0:(n=t?.internal)==null?void 0:n.throwOnFailedPublish;let h=((s=this.subscriber.topicMap.get(e))==null?void 0:s[0])||"",l;const p=m=>{m.topic===e&&(this.subscriber.off(Br.created,p),l())};return await Promise.all([new Promise(m=>{l=m,this.subscriber.on(Br.created,p)}),new Promise(async(m,y)=>{h=await this.subscriber.subscribe(e,Fl({internal:{throwOnFailedPublish:f}},t)).catch(E=>{f&&y(E)})||h,m()})]),h}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await hn(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await ju())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const t=e.sort((i,n)=>i.publishedAt-n.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(n){this.logger.warn(n,"Error while processing batch message event: "+n?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const n=Ct(ye.FIVE_MINUTES),s={topic:i,expiry:n,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,s)}this.events.emit(Zt.message,e),await this.recordMessageEvent(e)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,n)=>{const s=()=>{n(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Gr.disconnect,s),await hn(new Promise((f,h)=>{this.provider.connect().then(f).catch(h)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(f=>{n(f)}).finally(()=>{this.provider.off(Gr.disconnect,s),clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0}),await new Promise(async(f,h)=>{const l=()=>{h(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Gr.disconnect,l),await this.subscriber.start().then(f).catch(h).finally(()=>{this.provider.off(Gr.disconnect,l)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const n=i;this.logger.warn({},n.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,ye.toMiliseconds(t*1))),t++}}startPingTimeout(){var e,t,i,n,s;if(So())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((s=(n=(i=this.provider)==null?void 0:i.connection)==null?void 0:n.socket)==null||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(f){this.logger.warn(f,f?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new z8(new K8(m5({sdkVersion:Lc,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:t,message:i}=e;await this.messages.set(t,i)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.warn(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.warn(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Fc(e)){if(!e.method.endsWith(ry))return;const t=e.params,{topic:i,message:n,publishedAt:s,attestation:f}=t.data,h={topic:i,message:n,publishedAt:s,transportType:mt.relay,attestation:f};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(Fl({type:"event",event:t.id},h)),this.events.emit(t.id,h),await this.acknowledgePayload(e),await this.onMessageEvent(h)}else Co(e)&&this.events.emit(Zt.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Zt.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=Tc(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Gr.payload,this.onPayloadHandler),this.provider.off(Gr.connect,this.onConnectHandler),this.provider.off(Gr.disconnect,this.onDisconnectHandler),this.provider.off(Gr.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await ju();Xm(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),clearTimeout(this.pingTimeout),this.events.emit(Zt.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&(this.reconnectTimeout||this.connectPromise||(this.reconnectTimeout=setTimeout(async()=>{clearTimeout(this.reconnectTimeout),await this.transportOpen().catch(e=>this.logger.error(e,e?.message))},ye.toMiliseconds(iy))))}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.transportOpen()}}var l9=Object.defineProperty,ql=Object.getOwnPropertySymbols,p9=Object.prototype.hasOwnProperty,b9=Object.prototype.propertyIsEnumerable,Ll=(r,e,t)=>e in r?l9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Bl=(r,e)=>{for(var t in e||(e={}))p9.call(e,t)&&Ll(r,t,e[t]);if(ql)for(var t of ql(e))b9.call(e,t)&&Ll(r,t,e[t]);return r};class kn extends zb{constructor(e,t,i,n=Di,s=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=ny,this.cached=[],this.initialized=!1,this.storagePrefix=Di,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(f=>{this.getKey&&f!==null&&!Ar(f)?this.map.set(this.getKey(f),f):Om(f)?this.map.set(f.id,f):Nm(f)&&this.map.set(f.topic,f)}),this.cached=[],this.initialized=!0)},this.set=async(f,h)=>{this.isInitialized(),this.map.has(f)?await this.update(f,h):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:f,value:h}),this.map.set(f,h),await this.persist())},this.get=f=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:f}),this.getData(f)),this.getAll=f=>(this.isInitialized(),f?this.values.filter(h=>Object.keys(f).every(l=>j8(h[l],f[l]))):this.values),this.update=async(f,h)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:f,update:h});const l=Bl(Bl({},this.getData(f)),h);this.map.set(f,l),await this.persist()},this.delete=async(f,h)=>{this.isInitialized(),this.map.has(f)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:f,reason:h}),this.map.delete(f),this.addToRecentlyDeleted(f),await this.persist())},this.logger=gr(t,this.name),this.storagePrefix=n,this.getKey=s}get context(){return Ir(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:n}=Ee("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}const{message:i}=Ee("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=Ee("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}}class v9{constructor(e,t){this.core=e,this.logger=t,this.name=cy,this.version=hy,this.events=new fr.exports,this.initialized=!1,this.storagePrefix=Di,this.ignoredPayloadTypes=[Ki],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async i=>{this.isInitialized();const n=Sc(),s=await this.core.crypto.setSymKey(n),f=Ct(ye.FIVE_MINUTES),h={protocol:al},l={topic:s,expiry:f,relay:h,active:!1,methods:i?.methods},p=Lu({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:n,relay:h,expiryTimestamp:f,methods:i?.methods});return this.events.emit(Bn.create,l),this.core.expirer.set(s,f),await this.pairings.set(s,l),await this.core.relayer.subscribe(s,{transportType:i?.transportType}),{topic:s,uri:p}},this.pair=async i=>{this.isInitialized();const n=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[Ri.pairing_started]}});this.isValidPair(i,n);const{topic:s,symKey:f,relay:h,expiryTimestamp:l,methods:p}=qu(i.uri);n.props.properties.topic=s,n.addTrace(Ri.pairing_uri_validation_success),n.addTrace(Ri.pairing_uri_not_expired);let m;if(this.pairings.keys.includes(s)){if(m=this.pairings.get(s),n.addTrace(Ri.existing_pairing),m.active)throw n.setError(Gi.active_pairing_already_exists),new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);n.addTrace(Ri.pairing_not_expired)}const y=l||Ct(ye.FIVE_MINUTES),E={topic:s,relay:h,expiry:y,active:!1,methods:p};this.core.expirer.set(s,y),await this.pairings.set(s,E),n.addTrace(Ri.store_new_pairing),i.activatePairing&&await this.activate({topic:s}),this.events.emit(Bn.create,E),n.addTrace(Ri.emit_inactive_pairing),this.core.crypto.keychain.has(s)||await this.core.crypto.setSymKey(f,s),n.addTrace(Ri.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{n.setError(Gi.no_internet_connection)}try{await this.core.relayer.subscribe(s,{relay:h})}catch(I){throw n.setError(Gi.subscribe_pairing_topic_failure),I}return n.addTrace(Ri.subscribe_pairing_topic_success),E},this.activate=async({topic:i})=>{this.isInitialized();const n=Ct(ye.THIRTY_DAYS);this.core.expirer.set(i,n),await this.pairings.update(i,{active:!0,expiry:n})},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i);const{topic:n}=i;if(this.pairings.keys.includes(n)){const s=await this.sendRequest(n,"wc_pairingPing",{}),{done:f,resolve:h,reject:l}=Tn();this.events.once(st("pairing_ping",s),({error:p})=>{p?l(p):h()}),await f()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",gt("USER_DISCONNECTED")),await this.deletePairing(n))},this.formatUriFromPairing=i=>{this.isInitialized();const{topic:n,relay:s,expiry:f,methods:h}=i,l=this.core.crypto.keychain.get(n);return Lu({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:l,relay:s,expiryTimestamp:f,methods:h})},this.sendRequest=async(i,n,s)=>{const f=Ln(n,s),h=await this.core.crypto.encode(i,f),l=la[n].req;return this.core.history.set(i,f),this.core.relayer.publish(i,h,l),f.id},this.sendResult=async(i,n,s)=>{const f=Tc(i,s),h=await this.core.crypto.encode(n,f),l=await this.core.history.get(n,i),p=la[l.request.method].res;await this.core.relayer.publish(n,h,p),await this.core.history.resolve(f)},this.sendError=async(i,n,s)=>{const f=Cc(i,s),h=await this.core.crypto.encode(n,f),l=await this.core.history.get(n,i),p=la[l.request.method]?la[l.request.method].res:la.unregistered_method.res;await this.core.relayer.publish(n,h,p),await this.core.history.resolve(f)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,gt("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>dn(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:s}=i;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(n,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,s);default:return this.onUnknownRpcMethodRequest(n,s)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:s}=i,f=(await this.core.history.get(n,s.id)).request.method;switch(f){case"wc_pairingPing":return this.onPairingPingResponse(n,s);default:return this.onUnknownRpcMethodResponse(f)}},this.onPairingPingRequest=async(i,n)=>{const{id:s}=n;try{this.isValidPing({topic:i}),await this.sendResult(s,i,!0),this.events.emit(Bn.ping,{id:s,topic:i})}catch(f){await this.sendError(s,i,f),this.logger.error(f)}},this.onPairingPingResponse=(i,n)=>{const{id:s}=n;setTimeout(()=>{Ni(n)?this.events.emit(st("pairing_ping",s),{}):Jr(n)&&this.events.emit(st("pairing_ping",s),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:s}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(Bn.delete,{id:s,topic:i})}catch(f){await this.sendError(s,i,f),this.logger.error(f)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:s,method:f}=n;try{if(this.registeredMethods.includes(f))return;const h=gt("WC_METHOD_UNSUPPORTED",f);await this.sendError(s,i,h),this.logger.error(h)}catch(h){await this.sendError(s,i,h),this.logger.error(h)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(gt("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=(i,n)=>{var s;if(!Dr(i)){const{message:h}=Ee("MISSING_OR_INVALID",`pair() params: ${i}`);throw n.setError(Gi.malformed_pairing_uri),new Error(h)}if(!Pm(i.uri)){const{message:h}=Ee("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw n.setError(Gi.malformed_pairing_uri),new Error(h)}const f=qu(i?.uri);if(!((s=f?.relay)!=null&&s.protocol)){const{message:h}=Ee("MISSING_OR_INVALID","pair() uri#relay-protocol");throw n.setError(Gi.malformed_pairing_uri),new Error(h)}if(!(f!=null&&f.symKey)){const{message:h}=Ee("MISSING_OR_INVALID","pair() uri#symKey");throw n.setError(Gi.malformed_pairing_uri),new Error(h)}if(f!=null&&f.expiryTimestamp&&ye.toMiliseconds(f?.expiryTimestamp)<Date.now()){n.setError(Gi.pairing_expired);const{message:h}=Ee("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(h)}},this.isValidPing=async i=>{if(!Dr(i)){const{message:s}=Ee("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!Dr(i)){const{message:s}=Ee("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!Dt(i,!1)){const{message:n}=Ee("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=Ee("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(dn(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=Ee("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=gr(t,this.name),this.pairings=new kn(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Ir(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Zt.message,async e=>{const{topic:t,message:i,transportType:n}=e;if(!this.pairings.keys.includes(t)||n===mt.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(t,i);try{Fc(s)?(this.core.history.set(t,s),this.onRelayEventRequest({topic:t,payload:s})):Co(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:t,payload:s}),this.core.history.delete(t,s.id))}catch(f){this.logger.error(f)}})}registerExpirerEvents(){this.core.expirer.on(Qr.expired,async e=>{const{topic:t}=lu(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Bn.expire,{topic:t}))})}}class g9 extends qb{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new fr.exports.EventEmitter,this.name=dy,this.version=uy,this.cached=[],this.initialized=!1,this.storagePrefix=Di,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:s}),this.records.has(n.id))return;const f={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:s,expiry:Ct(ye.THIRTY_DAYS)};this.records.set(f.id,f),this.persist(),this.events.emit(hi.created,f)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=Jr(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.persist(),this.events.emit(hi.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(s=>{if(s.topic===i){if(typeof n<"u"&&s.id!==n)return;this.records.delete(s.id),this.events.emit(hi.deleted,s)}}),this.persist()},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=gr(t,this.name)}get context(){return Ir(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:Ln(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=Ee("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(hi.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Ee("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(hi.created,e=>{const t=hi.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(hi.updated,e=>{const t=hi.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(hi.deleted,e=>{const t=hi.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(_n.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{ye.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(hi.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}}class m9 extends Vb{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new fr.exports.EventEmitter,this.name=ly,this.version=py,this.cached=[],this.initialized=!1,this.storagePrefix=Di,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const s=this.formatTarget(i),f={target:s,expiry:n};this.expirations.set(s,f),this.checkExpiry(s,f),this.events.emit(Qr.created,{target:s,expiration:f})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),s=this.getExpiration(n);this.expirations.delete(n),this.events.emit(Qr.deleted,{target:n,expiration:s})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=gr(t,this.name)}get context(){return Ir(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return y5(e);if(typeof e=="number")return w5(e);const{message:t}=Ee("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(Qr.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Ee("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=Ee("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;ye.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Qr.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(_n.pulse,()=>this.checkExpirations()),this.events.on(Qr.created,e=>{const t=Qr.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Qr.expired,e=>{const t=Qr.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Qr.deleted,e=>{const t=Qr.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}}class y9 extends Hb{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,this.name=by,this.verifyUrlV3=gy,this.storagePrefix=Di,this.version=il,this.init=async()=>{var n;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&ye.toMiliseconds((n=this.publicKey)==null?void 0:n.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))},this.register=async n=>{if(!ta()||this.isDevEnv)return;const s=window.location.origin,{id:f,decryptedId:h}=n,l=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${s}&id=${f}&decryptedId=${h}`;try{const p=Sn(),m=this.startAbortTimer(ye.ONE_SECOND*5),y=await new Promise((E,I)=>{const N=()=>{window.removeEventListener("message",k),p.body.removeChild(F),I("attestation aborted")};this.abortController.signal.addEventListener("abort",N);const F=p.createElement("iframe");F.src=l,F.style.display="none",F.addEventListener("error",N,{signal:this.abortController.signal});const k=H=>{if(H.data&&typeof H.data=="string")try{const L=JSON.parse(H.data);if(L.type==="verify_attestation"){if(Ff(L.attestation).payload.id!==f)return;clearInterval(m),p.body.removeChild(F),this.abortController.signal.removeEventListener("abort",N),window.removeEventListener("message",k),E(L.attestation===null?"":L.attestation)}}catch(L){this.logger.warn(L)}};p.body.appendChild(F),window.addEventListener("message",k,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",y),y}catch(p){this.logger.warn(p)}return""},this.resolve=async n=>{if(this.isDevEnv)return"";const{attestationId:s,hash:f,encryptedId:h}=n;if(s===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(s){if(Ff(s).payload.id!==h)return;const p=await this.isValidJwtAttestation(s);if(p){if(!p.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return p}}if(!f)return;const l=this.getVerifyUrl(n?.verifyUrl);return this.fetchAttestation(f,l)},this.fetchAttestation=async(n,s)=>{this.logger.debug(`resolving attestation: ${n} from url: ${s}`);const f=this.startAbortTimer(ye.ONE_SECOND*5),h=await fetch(`${s}/attestation/${n}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(f),h.status===200?await h.json():void 0},this.getVerifyUrl=n=>{let s=n||pa;return my.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${pa}`),s=pa),s},this.fetchPublicKey=async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const n=this.startAbortTimer(ye.FIVE_SECONDS),s=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(n),await s.json()}catch(n){this.logger.warn(n)}},this.persistPublicKey=async n=>{this.logger.debug("persisting public key to local storage",n),await this.store.setItem(this.storeKey,n),this.publicKey=n},this.removePublicKey=async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0},this.isValidJwtAttestation=async n=>{const s=await this.getPublicKey();try{if(s)return this.validateAttestation(n,s)}catch(h){this.logger.error(h),this.logger.warn("error validating attestation")}const f=await this.fetchAndPersistPublicKey();try{if(f)return this.validateAttestation(n,f)}catch(h){this.logger.error(h),this.logger.warn("error validating attestation")}},this.getPublicKey=async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey(),this.fetchAndPersistPublicKey=async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async s=>{const f=await this.fetchPublicKey();f&&(await this.persistPublicKey(f),s(f))});const n=await this.fetchPromise;return this.fetchPromise=void 0,n},this.validateAttestation=(n,s)=>{const f=fm(n,s.publicKey),h={hasExpired:ye.toMiliseconds(f.exp)<Date.now(),payload:f};if(h.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:h.payload.origin,isScam:h.payload.isScam,isVerified:h.payload.isVerified}},this.logger=gr(t,this.name),this.abortController=new AbortController,this.isDevEnv=wc(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return Ir(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),ye.toMiliseconds(e))}}class w9 extends Kb{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=yy,this.registerDeviceToken=async i=>{const{clientId:n,token:s,notificationType:f,enableEncrypted:h=!1}=i,l=`${wy}/${this.projectId}/clients`;await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,type:f,token:s,always_raw:h})})},this.logger=gr(t,this.context)}}var x9=Object.defineProperty,Ul=Object.getOwnPropertySymbols,A9=Object.prototype.hasOwnProperty,M9=Object.prototype.propertyIsEnumerable,zl=(r,e,t)=>e in r?x9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ma=(r,e)=>{for(var t in e||(e={}))A9.call(e,t)&&zl(r,t,e[t]);if(Ul)for(var t of Ul(e))M9.call(e,t)&&zl(r,t,e[t]);return r};class S9 extends jb{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,this.context=Ay,this.storagePrefix=Di,this.storageVersion=xy,this.events=new Map,this.shouldPersist=!1,this.init=async()=>{if(!wc())try{const n={eventId:bu(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:cu(this.core.relayer.protocol,this.core.relayer.version,Lc)}}};await this.sendEvent([n])}catch(n){this.logger.warn(n)}},this.createEvent=n=>{const{event:s="ERROR",type:f="",properties:{topic:h,trace:l}}=n,p=bu(),m=this.core.projectId||"",y=Date.now(),E=ma({eventId:p,timestamp:y,props:{event:s,type:f,properties:{topic:h,trace:l}},bundleId:m,domain:this.getAppDomain()},this.setMethods(p));return this.telemetryEnabled&&(this.events.set(p,E),this.shouldPersist=!0),E},this.getEvent=n=>{const{eventId:s,topic:f}=n;if(s)return this.events.get(s);const h=Array.from(this.events.values()).find(l=>l.props.properties.topic===f);if(h)return ma(ma({},h),this.setMethods(h.eventId))},this.deleteEvent=n=>{const{eventId:s}=n;this.events.delete(s),this.shouldPersist=!0},this.setEventListeners=()=>{this.core.heartbeat.on(_n.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(n=>{ye.fromMiliseconds(Date.now())-ye.fromMiliseconds(n.timestamp)>My&&(this.events.delete(n.eventId),this.shouldPersist=!0)})})},this.setMethods=n=>({addTrace:s=>this.addTrace(n,s),setError:s=>this.setError(n,s)}),this.addTrace=(n,s)=>{const f=this.events.get(n);f&&(f.props.properties.trace.push(s),this.events.set(n,f),this.shouldPersist=!0)},this.setError=(n,s)=>{const f=this.events.get(n);f&&(f.props.type=s,f.timestamp=Date.now(),this.events.set(n,f),this.shouldPersist=!0)},this.persist=async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1},this.restore=async()=>{try{const n=await this.core.storage.getItem(this.storageKey)||[];if(!n.length)return;n.forEach(s=>{this.events.set(s.eventId,ma(ma({},s),this.setMethods(s.eventId)))})}catch(n){this.logger.warn(n)}},this.submit=async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const n=[];for(const[s,f]of this.events)f.props.type&&n.push(f);if(n.length!==0)try{if((await this.sendEvent(n)).ok)for(const s of n)this.events.delete(s.eventId),this.shouldPersist=!0}catch(s){this.logger.warn(s)}},this.sendEvent=async n=>{const s=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${Sy}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Lc}${s}`,{method:"POST",body:JSON.stringify(n)})},this.getAppDomain=()=>fu().url,this.logger=gr(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var E9=Object.defineProperty,kl=Object.getOwnPropertySymbols,I9=Object.prototype.hasOwnProperty,P9=Object.prototype.propertyIsEnumerable,Vl=(r,e,t)=>e in r?E9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Hl=(r,e)=>{for(var t in e||(e={}))I9.call(e,t)&&Vl(r,t,e[t]);if(kl)for(var t of kl(e))P9.call(e,t)&&Vl(r,t,e[t]);return r};class Vc extends Fb{constructor(e){var t;super(e),this.protocol=rl,this.version=il,this.name=Fo,this.events=new fr.exports.EventEmitter,this.initialized=!1,this.on=(f,h)=>this.events.on(f,h),this.once=(f,h)=>this.events.once(f,h),this.off=(f,h)=>this.events.off(f,h),this.removeListener=(f,h)=>this.events.removeListener(f,h),this.dispatchEnvelope=({topic:f,message:h,sessionExists:l})=>{if(!f||!h)return;const p={topic:f,message:h,publishedAt:Date.now(),transportType:mt.link_mode};this.relayer.onLinkMessageEvent(p,{sessionExists:l})},this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||ol,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Ef({level:typeof e?.logger=="string"&&e.logger?e.logger:Z8.logger,name:Fo}),{logger:n,chunkLoggerController:s}=Cb({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=s,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var f,h;(f=this.logChunkController)!=null&&f.downloadLogsBlobInBrowser&&((h=this.logChunkController)==null||h.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=gr(n,this.name),this.heartbeat=new mf,this.crypto=new G7(this,this.logger,e?.keychain),this.history=new g9(this,this.logger),this.expirer=new m9(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new sb(Hl(Hl({},W8),e?.storageOptions)),this.relayer=new u9({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new v9(this,this.logger),this.verify=new y9(this,this.logger,this.storage),this.echoClient=new w9(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new S9(this,this.logger,e?.telemetryEnabled)}static async init(e){const t=new Vc(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(sy,i),t}get context(){return Ir(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(fl,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.eventClient.init(),this.linkModeSupportedApps=await this.storage.getItem(fl)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const Hc=Vc,Kl="wc",jl=2,Zl="client",Kc=`${Kl}@${jl}:${Zl}:`,jc={name:Zl,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},Wl="WALLETCONNECT_DEEPLINK_CHOICE",O9="proposal",N9="Proposal expired",D9="session",xs=ye.SEVEN_DAYS,R9="engine",Wt={wc_sessionPropose:{req:{ttl:ye.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:ye.ONE_DAY,prompt:!1,tag:1104},res:{ttl:ye.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:ye.ONE_DAY,prompt:!1,tag:1106},res:{ttl:ye.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:ye.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:ye.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:ye.ONE_DAY,prompt:!1,tag:1112},res:{ttl:ye.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:ye.ONE_DAY,prompt:!1,tag:1114},res:{ttl:ye.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:ye.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:ye.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:ye.FIVE_MINUTES,prompt:!1,tag:1119}}},Zc={min:ye.FIVE_MINUTES,max:ye.SEVEN_DAYS},Ti={idle:"IDLE",active:"ACTIVE"},T9="request",C9=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],F9="wc",q9="auth",L9="authKeys",B9="pairingTopics",U9="requests",Lo=`${F9}@${1.5}:${q9}:`,Bo=`${Lo}:PUB_KEY`;var z9=Object.defineProperty,k9=Object.defineProperties,V9=Object.getOwnPropertyDescriptors,Jl=Object.getOwnPropertySymbols,H9=Object.prototype.hasOwnProperty,K9=Object.prototype.propertyIsEnumerable,Gl=(r,e,t)=>e in r?z9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,St=(r,e)=>{for(var t in e||(e={}))H9.call(e,t)&&Gl(r,t,e[t]);if(Jl)for(var t of Jl(e))K9.call(e,t)&&Gl(r,t,e[t]);return r},ui=(r,e)=>k9(r,V9(e));class j9 extends Wb{constructor(e){super(e),this.name=R9,this.events=new fr.exports,this.initialized=!1,this.requestQueue={state:Ti.idle,queue:[]},this.sessionRequestQueue={state:Ti.idle,queue:[]},this.requestQueueDelay=ye.ONE_SECOND,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.relayMessageCache=[],this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(Wt)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},ye.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=ui(St({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:n,requiredNamespaces:s,optionalNamespaces:f,sessionProperties:h,relays:l}=i;let p=n,m,y=!1;try{p&&(y=this.client.core.pairing.pairings.get(p).active)}catch(z){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),z}if(!p||!y){const{topic:z,uri:R}=await this.client.core.pairing.create();p=z,m=R}if(!p){const{message:z}=Ee("NO_MATCHING_KEY",`connect() pairing topic: ${p}`);throw new Error(z)}const E=await this.client.core.crypto.generateKeyPair(),I=Wt.wc_sessionPropose.req.ttl||ye.FIVE_MINUTES,N=Ct(I),F=St({requiredNamespaces:s,optionalNamespaces:f,relays:l??[{protocol:al}],proposer:{publicKey:E,metadata:this.client.metadata},expiryTimestamp:N,pairingTopic:p},h&&{sessionProperties:h}),{reject:k,resolve:H,done:L}=Tn(I,N9);this.events.once(st("session_connect"),async({error:z,session:R})=>{if(z)k(z);else if(R){R.self.publicKey=E;const V=ui(St({},R),{pairingTopic:F.pairingTopic,requiredNamespaces:F.requiredNamespaces,optionalNamespaces:F.optionalNamespaces,transportType:mt.relay});await this.client.session.set(R.topic,V),await this.setExpiry(R.topic,R.expiry),p&&await this.client.core.pairing.updateMetadata({topic:p,metadata:R.peer.metadata}),this.cleanupDuplicatePairings(V),H(V)}});const W=await this.sendRequest({topic:p,method:"wc_sessionPropose",params:F,throwOnFailedPublish:!0});return await this.setProposal(W,St({id:W},F)),{uri:m,approval:L}},this.pair=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(t)}catch(i){throw this.client.logger.error("pair() failed"),i}},this.approve=async t=>{var i,n,s;const f=this.client.core.eventClient.createEvent({properties:{topic:(i=t?.id)==null?void 0:i.toString(),trace:[di.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(B){throw f.setError(Un.no_internet_connection),B}try{await this.isValidProposalId(t?.id)}catch(B){throw this.client.logger.error(`approve() -> proposal.get(${t?.id}) failed`),f.setError(Un.proposal_not_found),B}try{await this.isValidApprove(t)}catch(B){throw this.client.logger.error("approve() -> isValidApprove() failed"),f.setError(Un.session_approve_namespace_validation_failure),B}const{id:h,relayProtocol:l,namespaces:p,sessionProperties:m,sessionConfig:y}=t,E=this.client.proposal.get(h);this.client.core.eventClient.deleteEvent({eventId:f.eventId});const{pairingTopic:I,proposer:N,requiredNamespaces:F,optionalNamespaces:k}=E;let H=(n=this.client.core.eventClient)==null?void 0:n.getEvent({topic:I});H||(H=(s=this.client.core.eventClient)==null?void 0:s.createEvent({type:di.session_approve_started,properties:{topic:I,trace:[di.session_approve_started,di.session_namespaces_validation_success]}}));const L=await this.client.core.crypto.generateKeyPair(),W=N.publicKey,z=await this.client.core.crypto.generateSharedKey(L,W),R=St(St({relay:{protocol:l??"irn"},namespaces:p,controller:{publicKey:L,metadata:this.client.metadata},expiry:Ct(xs)},m&&{sessionProperties:m}),y&&{sessionConfig:y}),V=mt.relay;H.addTrace(di.subscribing_session_topic);try{await this.client.core.relayer.subscribe(z,{transportType:V})}catch(B){throw H.setError(Un.subscribe_session_topic_failure),B}H.addTrace(di.subscribe_session_topic_success);const S=ui(St({},R),{topic:z,requiredNamespaces:F,optionalNamespaces:k,pairingTopic:I,acknowledged:!1,self:R.controller,peer:{publicKey:N.publicKey,metadata:N.metadata},controller:L,transportType:mt.relay});await this.client.session.set(z,S),H.addTrace(di.store_session);try{H.addTrace(di.publishing_session_settle),await this.sendRequest({topic:z,method:"wc_sessionSettle",params:R,throwOnFailedPublish:!0}).catch(B=>{throw H?.setError(Un.session_settle_publish_failure),B}),H.addTrace(di.session_settle_publish_success),H.addTrace(di.publishing_session_approve),await this.sendResult({id:h,topic:I,result:{relay:{protocol:l??"irn"},responderPublicKey:L},throwOnFailedPublish:!0}).catch(B=>{throw H?.setError(Un.session_approve_publish_failure),B}),H.addTrace(di.session_approve_publish_success)}catch(B){throw this.client.logger.error(B),this.client.session.delete(z,gt("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(z),B}return this.client.core.eventClient.deleteEvent({eventId:H.eventId}),await this.client.core.pairing.updateMetadata({topic:I,metadata:N.metadata}),await this.client.proposal.delete(h,gt("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:I}),await this.setExpiry(z,Ct(xs)),{topic:z,acknowledged:()=>Promise.resolve(this.client.session.get(z))}},this.reject=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(t)}catch(f){throw this.client.logger.error("reject() -> isValidReject() failed"),f}const{id:i,reason:n}=t;let s;try{s=this.client.proposal.get(i).pairingTopic}catch(f){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),f}s&&(await this.sendError({id:i,topic:s,error:n,rpcOpts:Wt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,gt("USER_DISCONNECTED")))},this.update=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(t)}catch(y){throw this.client.logger.error("update() -> isValidUpdate() failed"),y}const{topic:i,namespaces:n}=t,{done:s,resolve:f,reject:h}=Tn(),l=Ji(),p=qn().toString(),m=this.client.session.get(i).namespaces;return this.events.once(st("session_update",l),({error:y})=>{y?h(y):f()}),await this.client.session.update(i,{namespaces:n}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:l,relayRpcId:p}).catch(y=>{this.client.logger.error(y),this.client.session.update(i,{namespaces:m}),h(y)}),{acknowledged:s}},this.extend=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(t)}catch(l){throw this.client.logger.error("extend() -> isValidExtend() failed"),l}const{topic:i}=t,n=Ji(),{done:s,resolve:f,reject:h}=Tn();return this.events.once(st("session_extend",n),({error:l})=>{l?h(l):f()}),await this.setExpiry(i,Ct(xs)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(l=>{h(l)}),{acknowledged:s}},this.request=async t=>{this.isInitialized();try{await this.isValidRequest(t)}catch(N){throw this.client.logger.error("request() -> isValidRequest() failed"),N}const{chainId:i,request:n,topic:s,expiry:f=Wt.wc_sessionRequest.req.ttl}=t,h=this.client.session.get(s);h?.transportType===mt.relay&&await this.confirmOnlineStateOrThrow();const l=Ji(),p=qn().toString(),{done:m,resolve:y,reject:E}=Tn(f,"Request expired. Please try again.");this.events.once(st("session_request",l),({error:N,result:F})=>{N?E(N):y(F)});const I=this.getAppLinkIfEnabled(h.peer.metadata,h.transportType);return I?(await this.sendRequest({clientRpcId:l,relayRpcId:p,topic:s,method:"wc_sessionRequest",params:{request:ui(St({},n),{expiryTimestamp:Ct(f)}),chainId:i},expiry:f,throwOnFailedPublish:!0,appLink:I}).catch(N=>E(N)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:l}),await m()):await Promise.all([new Promise(async N=>{await this.sendRequest({clientRpcId:l,relayRpcId:p,topic:s,method:"wc_sessionRequest",params:{request:ui(St({},n),{expiryTimestamp:Ct(f)}),chainId:i},expiry:f,throwOnFailedPublish:!0}).catch(F=>E(F)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:l}),N()}),new Promise(async N=>{var F;if(!((F=h.sessionConfig)!=null&&F.disableDeepLink)){const k=await S5(this.client.core.storage,Wl);await A5({id:l,topic:s,wcDeepLink:k})}N()}),m()]).then(N=>N[2])},this.respond=async t=>{this.isInitialized(),await this.isValidRespond(t);const{topic:i,response:n}=t,{id:s}=n,f=this.client.session.get(i);f.transportType===mt.relay&&await this.confirmOnlineStateOrThrow();const h=this.getAppLinkIfEnabled(f.peer.metadata,f.transportType);Ni(n)?await this.sendResult({id:s,topic:i,result:n.result,throwOnFailedPublish:!0,appLink:h}):Jr(n)&&await this.sendError({id:s,topic:i,error:n.error,appLink:h}),this.cleanupAfterResponse(t)},this.ping=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(t)}catch(n){throw this.client.logger.error("ping() -> isValidPing() failed"),n}const{topic:i}=t;if(this.client.session.keys.includes(i)){const n=Ji(),s=qn().toString(),{done:f,resolve:h,reject:l}=Tn();this.events.once(st("session_ping",n),({error:p})=>{p?l(p):h()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:n,relayRpcId:s}),f()])}else this.client.core.pairing.pairings.keys.includes(i)&&await this.client.core.pairing.ping({topic:i})},this.emit=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(t);const{topic:i,event:n,chainId:s}=t,f=qn().toString(),h=Ji();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:n,chainId:s},throwOnFailedPublish:!0,relayRpcId:f,clientRpcId:h})},this.disconnect=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(t);const{topic:i}=t;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:gt("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:i,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(i))await this.client.core.pairing.disconnect({topic:i});else{const{message:n}=Ee("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(n)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(i=>Em(i,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async(t,i)=>{var n;this.isInitialized(),this.isValidAuthenticate(t);const s=i&&this.client.core.linkModeSupportedApps.includes(i)&&((n=this.client.metadata.redirect)==null?void 0:n.linkMode),f=s?mt.link_mode:mt.relay;f===mt.relay&&await this.confirmOnlineStateOrThrow();const{chains:h,statement:l="",uri:p,domain:m,nonce:y,type:E,exp:I,nbf:N,methods:F=[],expiry:k}=t,H=[...t.resources||[]],{topic:L,uri:W}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:f});this.client.logger.info({message:"Generated new pairing",pairing:{topic:L,uri:W}});const z=await this.client.core.crypto.generateKeyPair(),R=Po(z);if(await Promise.all([this.client.auth.authKeys.set(Bo,{responseTopic:R,publicKey:z}),this.client.auth.pairingTopics.set(R,{topic:R,pairingTopic:L})]),await this.client.core.relayer.subscribe(R,{transportType:f}),this.client.logger.info(`sending request to new pairing topic: ${L}`),F.length>0){const{namespace:A}=Mo(h[0]);let g=W5(A,"request",F);Io(H)&&(g=G5(g,H.pop())),H.push(g)}const V=k&&k>Wt.wc_sessionAuthenticate.req.ttl?k:Wt.wc_sessionAuthenticate.req.ttl,S={authPayload:{type:E??"caip122",chains:h,statement:l,aud:p,domain:m,version:"1",nonce:y,iat:new Date().toISOString(),exp:I,nbf:N,resources:H},requester:{publicKey:z,metadata:this.client.metadata},expiryTimestamp:Ct(V)},B={eip155:{chains:h,methods:[...new Set(["personal_sign",...F])],events:["chainChanged","accountsChanged"]}},G={requiredNamespaces:{},optionalNamespaces:B,relays:[{protocol:"irn"}],pairingTopic:L,proposer:{publicKey:z,metadata:this.client.metadata},expiryTimestamp:Ct(Wt.wc_sessionPropose.req.ttl)},{done:ie,resolve:P,reject:o}=Tn(V,"Request expired"),d=async({error:A,session:g})=>{if(this.events.off(st("session_request",u),a),A)o(A);else if(g){g.self.publicKey=z,await this.client.session.set(g.topic,g),await this.setExpiry(g.topic,g.expiry),L&&await this.client.core.pairing.updateMetadata({topic:L,metadata:g.peer.metadata});const c=this.client.session.get(g.topic);await this.deleteProposal(b),P({session:c})}},a=async A=>{var g,c,v;if(await this.deletePendingAuthRequest(u,{message:"fulfilled",code:0}),A.error){const q=gt("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return A.error.code===q.code?void 0:(this.events.off(st("session_connect"),d),o(A.error.message))}await this.deleteProposal(b),this.events.off(st("session_connect"),d);const{cacaos:M,responder:D}=A.result,J=[],O=[];for(const q of M){await yu({cacao:q,projectId:this.client.core.projectId})||(this.client.logger.error(q,"Signature verification failed"),o(gt("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:T}=q,x=Io(T.resources),C=[Ac(T.iss)],j=Eo(T.iss);if(x){const Q=Au(x),_=Mu(x);J.push(...Q),C.push(..._)}for(const Q of C)O.push(`${Q}:${j}`)}const Z=await this.client.core.crypto.generateSharedKey(z,D.publicKey);let U;J.length>0&&(U={topic:Z,acknowledged:!0,self:{publicKey:z,metadata:this.client.metadata},peer:D,controller:D.publicKey,expiry:Ct(xs),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:L,namespaces:Bu([...new Set(J)],[...new Set(O)]),transportType:f},await this.client.core.relayer.subscribe(Z,{transportType:f}),await this.client.session.set(Z,U),L&&await this.client.core.pairing.updateMetadata({topic:L,metadata:D.metadata}),U=this.client.session.get(Z)),(g=this.client.metadata.redirect)!=null&&g.linkMode&&(c=D.metadata.redirect)!=null&&c.linkMode&&(v=D.metadata.redirect)!=null&&v.universal&&i&&(this.client.core.addLinkModeSupportedApp(D.metadata.redirect.universal),this.client.session.update(Z,{transportType:mt.link_mode})),P({auths:M,session:U})},u=Ji(),b=Ji();this.events.once(st("session_connect"),d),this.events.once(st("session_request",u),a);let w;try{if(s){const A=Ln("wc_sessionAuthenticate",S,u);this.client.core.history.set(L,A);const g=await this.client.core.crypto.encode("",A,{type:aa,encoding:na});w=No(i,L,g)}else await Promise.all([this.sendRequest({topic:L,method:"wc_sessionAuthenticate",params:S,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:u}),this.sendRequest({topic:L,method:"wc_sessionPropose",params:G,expiry:Wt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:b})])}catch(A){throw this.events.off(st("session_connect"),d),this.events.off(st("session_request",u),a),A}return await this.setProposal(b,St({id:b},G)),await this.setAuthRequest(u,{request:ui(St({},S),{verifyContext:{}}),pairingTopic:L,transportType:f}),{uri:w??W,response:ie}},this.approveSessionAuthenticate=async t=>{const{id:i,auths:n}=t,s=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[zn.authenticated_session_approve_started]}});try{this.isInitialized()}catch(k){throw s.setError(ba.no_internet_connection),k}const f=this.getPendingAuthRequest(i);if(!f)throw s.setError(ba.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const h=f.transportType||mt.relay;h===mt.relay&&await this.confirmOnlineStateOrThrow();const l=f.requester.publicKey,p=await this.client.core.crypto.generateKeyPair(),m=Po(l),y={type:Ki,receiverPublicKey:l,senderPublicKey:p},E=[],I=[];for(const k of n){if(!await yu({cacao:k,projectId:this.client.core.projectId})){s.setError(ba.invalid_cacao);const R=gt("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:m,error:R,encodeOpts:y}),new Error(R.message)}s.addTrace(zn.cacaos_verified);const{p:H}=k,L=Io(H.resources),W=[Ac(H.iss)],z=Eo(H.iss);if(L){const R=Au(L),V=Mu(L);E.push(...R),W.push(...V)}for(const R of W)I.push(`${R}:${z}`)}const N=await this.client.core.crypto.generateSharedKey(p,l);s.addTrace(zn.create_authenticated_session_topic);let F;if(E?.length>0){F={topic:N,acknowledged:!0,self:{publicKey:p,metadata:this.client.metadata},peer:{publicKey:l,metadata:f.requester.metadata},controller:l,expiry:Ct(xs),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:f.pairingTopic,namespaces:Bu([...new Set(E)],[...new Set(I)]),transportType:h},s.addTrace(zn.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(N,{transportType:h})}catch(k){throw s.setError(ba.subscribe_authenticated_session_topic_failure),k}s.addTrace(zn.subscribe_authenticated_session_topic_success),await this.client.session.set(N,F),s.addTrace(zn.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:f.pairingTopic,metadata:f.requester.metadata})}s.addTrace(zn.publishing_authenticated_session_approve);try{await this.sendResult({topic:m,id:i,result:{cacaos:n,responder:{publicKey:p,metadata:this.client.metadata}},encodeOpts:y,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(f.requester.metadata,h)})}catch(k){throw s.setError(ba.authenticated_session_approve_publish_failure),k}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:f.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:F}},this.rejectSessionAuthenticate=async t=>{this.isInitialized();const{id:i,reason:n}=t,s=this.getPendingAuthRequest(i);if(!s)throw new Error(`Could not find pending auth request with id ${i}`);s.transportType===mt.relay&&await this.confirmOnlineStateOrThrow();const f=s.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),l=Po(f),p={type:Ki,receiverPublicKey:f,senderPublicKey:h};await this.sendError({id:i,topic:l,error:n,encodeOpts:p,rpcOpts:Wt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(s.requester.metadata,s.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,gt("USER_DISCONNECTED"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:i,iss:n}=t;return wu(i,n)},this.processRelayMessageCache=()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const t=this.relayMessageCache.shift();t&&await this.onRelayMessage(t)}catch(t){this.client.logger.error(t)}},50)},this.cleanupDuplicatePairings=async t=>{if(t.pairingTopic)try{const i=this.client.core.pairing.pairings.get(t.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(s=>{var f,h;return((f=s.peerMetadata)==null?void 0:f.url)&&((h=s.peerMetadata)==null?void 0:h.url)===t.peer.metadata.url&&s.topic&&s.topic!==i.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(i){this.client.logger.error(i)}},this.deleteSession=async t=>{var i;const{topic:n,expirerHasDeleted:s=!1,emitEvent:f=!0,id:h=0}=t,{self:l}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,gt("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(l.publicKey)&&await this.client.core.crypto.deleteKeyPair(l.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),s||this.client.core.expirer.del(n),this.client.core.storage.removeItem(Wl).catch(p=>this.client.logger.warn(p)),this.getPendingSessionRequests().forEach(p=>{p.topic===n&&this.deletePendingSessionRequest(p.id,gt("USER_DISCONNECTED"))}),n===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=Ti.idle),f&&this.client.events.emit("session_delete",{id:h,topic:n})},this.deleteProposal=async(t,i)=>{if(i)try{const n=this.client.proposal.get(t);this.client.core.eventClient.getEvent({topic:n.pairingTopic})?.setError(Un.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(t,gt("USER_DISCONNECTED")),i?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"proposal")},this.deletePendingSessionRequest=async(t,i,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(t,i),n?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==t),n&&(this.sessionRequestQueue.state=Ti.idle,this.client.events.emit("session_request_expire",{id:t}))},this.deletePendingAuthRequest=async(t,i,n=!1)=>{await Promise.all([this.client.auth.requests.delete(t,i),n?Promise.resolve():this.client.core.expirer.del(t)])},this.setExpiry=async(t,i)=>{this.client.session.keys.includes(t)&&(this.client.core.expirer.set(t,i),await this.client.session.update(t,{expiry:i}))},this.setProposal=async(t,i)=>{this.client.core.expirer.set(t,Ct(Wt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(t,i)},this.setAuthRequest=async(t,i)=>{const{request:n,pairingTopic:s,transportType:f=mt.relay}=i;this.client.core.expirer.set(t,n.expiryTimestamp),await this.client.auth.requests.set(t,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:t,pairingTopic:s,verifyContext:n.verifyContext,transportType:f})},this.setPendingSessionRequest=async t=>{const{id:i,topic:n,params:s,verifyContext:f}=t,h=s.request.expiryTimestamp||Ct(Wt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,h),await this.client.pendingRequest.set(i,{id:i,topic:n,params:s,verifyContext:f})},this.sendRequest=async t=>{const{topic:i,method:n,params:s,expiry:f,relayRpcId:h,clientRpcId:l,throwOnFailedPublish:p,appLink:m}=t,y=Ln(n,s,l);let E;const I=!!m;try{const k=I?na:un;E=await this.client.core.crypto.encode(i,y,{encoding:k})}catch(k){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),k}let N;if(C9.includes(n)){const k=ji(JSON.stringify(y)),H=ji(E);N=await this.client.core.verify.register({id:H,decryptedId:k})}const F=Wt[n].req;if(F.attestation=N,f&&(F.ttl=f),h&&(F.id=h),this.client.core.history.set(i,y),I){const k=No(m,i,E);await global.Linking.openURL(k,this.client.name)}else{const k=Wt[n].req;f&&(k.ttl=f),h&&(k.id=h),p?(k.internal=ui(St({},k.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,E,k)):this.client.core.relayer.publish(i,E,k).catch(H=>this.client.logger.error(H))}return y.id},this.sendResult=async t=>{const{id:i,topic:n,result:s,throwOnFailedPublish:f,encodeOpts:h,appLink:l}=t,p=Tc(i,s);let m;const y=l&&typeof(global==null?void 0:global.Linking)<"u";try{const I=y?na:un;m=await this.client.core.crypto.encode(n,p,ui(St({},h||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),I}let E;try{E=await this.client.core.history.get(n,i)}catch(I){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${i}) failed`),I}if(y){const I=No(l,n,m);await global.Linking.openURL(I,this.client.name)}else{const I=Wt[E.request.method].res;f?(I.internal=ui(St({},I.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,m,I)):this.client.core.relayer.publish(n,m,I).catch(N=>this.client.logger.error(N))}await this.client.core.history.resolve(p)},this.sendError=async t=>{const{id:i,topic:n,error:s,encodeOpts:f,rpcOpts:h,appLink:l}=t,p=Cc(i,s);let m;const y=l&&typeof(global==null?void 0:global.Linking)<"u";try{const I=y?na:un;m=await this.client.core.crypto.encode(n,p,ui(St({},f||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),I}let E;try{E=await this.client.core.history.get(n,i)}catch(I){throw this.client.logger.error(`sendError() -> history.get(${n}, ${i}) failed`),I}if(y){const I=No(l,n,m);await global.Linking.openURL(I,this.client.name)}else{const I=h||Wt[E.request.method].res;this.client.core.relayer.publish(n,m,I)}await this.client.core.history.resolve(p)},this.cleanup=async()=>{const t=[],i=[];this.client.session.getAll().forEach(n=>{let s=!1;dn(n.expiry)&&(s=!0),this.client.core.crypto.keychain.has(n.topic)||(s=!0),s&&t.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{dn(n.expiryTimestamp)&&i.push(n.id)}),await Promise.all([...t.map(n=>this.deleteSession({topic:n})),...i.map(n=>this.deleteProposal(n))])},this.onRelayEventRequest=async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===Ti.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=Ti.active;const t=this.requestQueue.queue.shift();if(t)try{await this.processRequest(t)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=Ti.idle},this.processRequest=async t=>{const{topic:i,payload:n,attestation:s,transportType:f,encryptedId:h}=t,l=n.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:l}))switch(l){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:n,attestation:s,encryptedId:h});case"wc_sessionSettle":return await this.onSessionSettleRequest(i,n);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(i,n);case"wc_sessionExtend":return await this.onSessionExtendRequest(i,n);case"wc_sessionPing":return await this.onSessionPingRequest(i,n);case"wc_sessionDelete":return await this.onSessionDeleteRequest(i,n);case"wc_sessionRequest":return await this.onSessionRequest({topic:i,payload:n,attestation:s,encryptedId:h,transportType:f});case"wc_sessionEvent":return await this.onSessionEventRequest(i,n);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:n,attestation:s,encryptedId:h,transportType:f});default:return this.client.logger.info(`Unsupported request method ${l}`)}},this.onRelayEventResponse=async t=>{const{topic:i,payload:n,transportType:s}=t,f=(await this.client.core.history.get(i,n.id)).request.method;switch(f){case"wc_sessionPropose":return this.onSessionProposeResponse(i,n,s);case"wc_sessionSettle":return this.onSessionSettleResponse(i,n);case"wc_sessionUpdate":return this.onSessionUpdateResponse(i,n);case"wc_sessionExtend":return this.onSessionExtendResponse(i,n);case"wc_sessionPing":return this.onSessionPingResponse(i,n);case"wc_sessionRequest":return this.onSessionRequestResponse(i,n);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(i,n);default:return this.client.logger.info(`Unsupported response method ${f}`)}},this.onRelayEventUnknownPayload=t=>{const{topic:i}=t,{message:n}=Ee("MISSING_OR_INVALID",`Decoded payload on topic ${i} is not identifiable as a JSON-RPC request or a response.`);throw new Error(n)},this.shouldIgnorePairingRequest=t=>{const{topic:i,requestMethod:n}=t,s=this.expectedPairingMethodMap.get(i);return!s||s.includes(n)?!1:!!(s.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async t=>{const{topic:i,payload:n,attestation:s,encryptedId:f}=t,{params:h,id:l}=n;try{const p=this.client.core.eventClient.getEvent({topic:i});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),p?.setError(Gi.proposal_listener_not_found)),this.isValidConnect(St({},n.params));const m=h.expiryTimestamp||Ct(Wt.wc_sessionPropose.req.ttl),y=St({id:l,pairingTopic:i,expiryTimestamp:m},h);await this.setProposal(l,y);const E=await this.getVerifyContext({attestationId:s,hash:ji(JSON.stringify(n)),encryptedId:f,metadata:y.proposer.metadata});p?.addTrace(Ri.emit_session_proposal),this.client.events.emit("session_proposal",{id:l,params:y,verifyContext:E})}catch(p){await this.sendError({id:l,topic:i,error:p,rpcOpts:Wt.wc_sessionPropose.autoReject}),this.client.logger.error(p)}},this.onSessionProposeResponse=async(t,i,n)=>{const{id:s}=i;if(Ni(i)){const{result:f}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:f});const h=this.client.proposal.get(s);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:h});const l=h.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:l});const p=f.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:p});const m=await this.client.core.crypto.generateSharedKey(l,p);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:m});const y=await this.client.core.relayer.subscribe(m,{transportType:n});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:y}),await this.client.core.pairing.activate({topic:t})}else if(Jr(i)){await this.client.proposal.delete(s,gt("USER_DISCONNECTED"));const f=st("session_connect");if(this.events.listenerCount(f)===0)throw new Error(`emitting ${f} without any listeners, 954`);this.events.emit(st("session_connect"),{error:i.error})}},this.onSessionSettleRequest=async(t,i)=>{const{id:n,params:s}=i;try{this.isValidSessionSettleRequest(s);const{relay:f,controller:h,expiry:l,namespaces:p,sessionProperties:m,sessionConfig:y}=i.params,E=ui(St(St({topic:t,relay:f,expiry:l,namespaces:p,acknowledged:!0,pairingTopic:"",requiredNamespaces:{},optionalNamespaces:{},controller:h.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:h.publicKey,metadata:h.metadata}},m&&{sessionProperties:m}),y&&{sessionConfig:y}),{transportType:mt.relay}),I=st("session_connect");if(this.events.listenerCount(I)===0)throw new Error(`emitting ${I} without any listeners 997`);this.events.emit(st("session_connect"),{session:E}),await this.sendResult({id:i.id,topic:t,result:!0,throwOnFailedPublish:!0})}catch(f){await this.sendError({id:n,topic:t,error:f}),this.client.logger.error(f)}},this.onSessionSettleResponse=async(t,i)=>{const{id:n}=i;Ni(i)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(st("session_approve",n),{})):Jr(i)&&(await this.client.session.delete(t,gt("USER_DISCONNECTED")),this.events.emit(st("session_approve",n),{error:i.error}))},this.onSessionUpdateRequest=async(t,i)=>{const{params:n,id:s}=i;try{const f=`${t}_session_update`,h=ha.get(f);if(h&&this.isRequestOutOfSync(h,s)){this.client.logger.warn(`Discarding out of sync request - ${s}`),this.sendError({id:s,topic:t,error:gt("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(St({topic:t},n));try{ha.set(f,s),await this.client.session.update(t,{namespaces:n.namespaces}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0})}catch(l){throw ha.delete(f),l}this.client.events.emit("session_update",{id:s,topic:t,params:n})}catch(f){await this.sendError({id:s,topic:t,error:f}),this.client.logger.error(f)}},this.isRequestOutOfSync=(t,i)=>i.toString().slice(0,-3)<t.toString().slice(0,-3),this.onSessionUpdateResponse=(t,i)=>{const{id:n}=i,s=st("session_update",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);Ni(i)?this.events.emit(st("session_update",n),{}):Jr(i)&&this.events.emit(st("session_update",n),{error:i.error})},this.onSessionExtendRequest=async(t,i)=>{const{id:n}=i;try{this.isValidExtend({topic:t}),await this.setExpiry(t,Ct(xs)),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:n,topic:t})}catch(s){await this.sendError({id:n,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionExtendResponse=(t,i)=>{const{id:n}=i,s=st("session_extend",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);Ni(i)?this.events.emit(st("session_extend",n),{}):Jr(i)&&this.events.emit(st("session_extend",n),{error:i.error})},this.onSessionPingRequest=async(t,i)=>{const{id:n}=i;try{this.isValidPing({topic:t}),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:n,topic:t})}catch(s){await this.sendError({id:n,topic:t,error:s}),this.client.logger.error(s)}},this.onSessionPingResponse=(t,i)=>{const{id:n}=i,s=st("session_ping",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);setTimeout(()=>{Ni(i)?this.events.emit(st("session_ping",n),{}):Jr(i)&&this.events.emit(st("session_ping",n),{error:i.error})},500)},this.onSessionDeleteRequest=async(t,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:t,reason:i.params}),Promise.all([new Promise(s=>{this.client.core.relayer.once(Zt.publish,async()=>{s(await this.deleteSession({topic:t,id:n}))})}),this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:gt("USER_DISCONNECTED")})]).catch(s=>this.client.logger.error(s))}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async t=>{var i,n,s;const{topic:f,payload:h,attestation:l,encryptedId:p,transportType:m}=t,{id:y,params:E}=h;try{await this.isValidRequest(St({topic:f},E));const I=this.client.session.get(f),N=await this.getVerifyContext({attestationId:l,hash:ji(JSON.stringify(Ln("wc_sessionRequest",E,y))),encryptedId:p,metadata:I.peer.metadata,transportType:m}),F={id:y,topic:f,params:E,verifyContext:N};await this.setPendingSessionRequest(F),m===mt.link_mode&&(i=I.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((n=I.peer.metadata.redirect)==null?void 0:n.universal),(s=this.client.signConfig)!=null&&s.disableRequestQueue?this.emitSessionRequest(F):(this.addSessionRequestToSessionRequestQueue(F),this.processSessionRequestQueue())}catch(I){await this.sendError({id:y,topic:f,error:I}),this.client.logger.error(I)}},this.onSessionRequestResponse=(t,i)=>{const{id:n}=i,s=st("session_request",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);Ni(i)?this.events.emit(st("session_request",n),{result:i.result}):Jr(i)&&this.events.emit(st("session_request",n),{error:i.error})},this.onSessionEventRequest=async(t,i)=>{const{id:n,params:s}=i;try{const f=`${t}_session_event_${s.event.name}`,h=ha.get(f);if(h&&this.isRequestOutOfSync(h,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(St({topic:t},s)),this.client.events.emit("session_event",{id:n,topic:t,params:s}),ha.set(f,n)}catch(f){await this.sendError({id:n,topic:t,error:f}),this.client.logger.error(f)}},this.onSessionAuthenticateResponse=(t,i)=>{const{id:n}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:i}),Ni(i)?this.events.emit(st("session_request",n),{result:i.result}):Jr(i)&&this.events.emit(st("session_request",n),{error:i.error})},this.onSessionAuthenticateRequest=async t=>{var i;const{topic:n,payload:s,attestation:f,encryptedId:h,transportType:l}=t;try{const{requester:p,authPayload:m,expiryTimestamp:y}=s.params,E=await this.getVerifyContext({attestationId:f,hash:ji(JSON.stringify(s)),encryptedId:h,metadata:p.metadata,transportType:l}),I={requester:p,pairingTopic:n,id:s.id,authPayload:m,verifyContext:E,expiryTimestamp:y};await this.setAuthRequest(s.id,{request:I,pairingTopic:n,transportType:l}),l===mt.link_mode&&(i=p.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp(p.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:n,params:s.params,id:s.id,verifyContext:E})}catch(p){this.client.logger.error(p);const m=s.params.requester.publicKey,y=await this.client.core.crypto.generateKeyPair(),E=this.getAppLinkIfEnabled(s.params.requester.metadata,l),I={type:Ki,receiverPublicKey:m,senderPublicKey:y};await this.sendError({id:s.id,topic:n,error:p,encodeOpts:I,rpcOpts:Wt.wc_sessionAuthenticate.autoReject,appLink:E})}},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Ti.idle,this.processSessionRequestQueue()},ye.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:i})=>{const n=this.client.core.history.pending;n.length>0&&n.filter(s=>s.topic===t&&s.request.method==="wc_sessionRequest").forEach(s=>{const f=s.request.id,h=st("session_request",f);if(this.events.listenerCount(h)===0)throw new Error(`emitting ${h} without any listeners`);this.events.emit(st("session_request",s.request.id),{error:i})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===Ti.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=Ti.active,this.emitSessionRequest(t)}catch(i){this.client.logger.error(i)}},this.emitSessionRequest=t=>{this.client.events.emit("session_request",t)},this.onPairingCreated=t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const i=this.client.proposal.getAll().find(n=>n.pairingTopic===t.topic);i&&this.onSessionProposeRequest({topic:t.topic,payload:Ln("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})},this.isValidConnect=async t=>{if(!Dr(t)){const{message:l}=Ee("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(l)}const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:s,sessionProperties:f,relays:h}=t;if(Ar(i)||await this.isValidPairingTopic(i),!Bm(h,!0)){const{message:l}=Ee("MISSING_OR_INVALID",`connect() relays: ${h}`);throw new Error(l)}!Ar(n)&&Ro(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!Ar(s)&&Ro(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),Ar(f)||this.validateSessionProps(f,"sessionProperties")},this.validateNamespaces=(t,i)=>{const n=Lm(t,"connect()",i);if(n)throw new Error(n.message)},this.isValidApprove=async t=>{if(!Dr(t))throw new Error(Ee("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:i,namespaces:n,relayProtocol:s,sessionProperties:f}=t;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const h=this.client.proposal.get(i),l=Ic(n,"approve()");if(l)throw new Error(l.message);const p=Hu(h.requiredNamespaces,n,"approve()");if(p)throw new Error(p.message);if(!Dt(s,!0)){const{message:m}=Ee("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(m)}Ar(f)||this.validateSessionProps(f,"sessionProperties")},this.isValidReject=async t=>{if(!Dr(t)){const{message:s}=Ee("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(s)}const{id:i,reason:n}=t;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!zm(n)){const{message:s}=Ee("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidSessionSettleRequest=t=>{if(!Dr(t)){const{message:p}=Ee("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(p)}const{relay:i,controller:n,namespaces:s,expiry:f}=t;if(!ku(i)){const{message:p}=Ee("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(p)}const h=Dm(n,"onSessionSettleRequest()");if(h)throw new Error(h.message);const l=Ic(s,"onSessionSettleRequest()");if(l)throw new Error(l.message);if(dn(f)){const{message:p}=Ee("EXPIRED","onSessionSettleRequest()");throw new Error(p)}},this.isValidUpdate=async t=>{if(!Dr(t)){const{message:l}=Ee("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(l)}const{topic:i,namespaces:n}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const s=this.client.session.get(i),f=Ic(n,"update()");if(f)throw new Error(f.message);const h=Hu(s.requiredNamespaces,n,"update()");if(h)throw new Error(h.message)},this.isValidExtend=async t=>{if(!Dr(t)){const{message:n}=Ee("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(n)}const{topic:i}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i)},this.isValidRequest=async t=>{if(!Dr(t)){const{message:l}=Ee("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(l)}const{topic:i,request:n,chainId:s,expiry:f}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:h}=this.client.session.get(i);if(!Vu(h,s)){const{message:l}=Ee("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(l)}if(!km(n)){const{message:l}=Ee("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(l)}if(!Km(h,s,n.method)){const{message:l}=Ee("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(l)}if(f&&!Jm(f,Zc)){const{message:l}=Ee("MISSING_OR_INVALID",`request() expiry: ${f}. Expiry must be a number (in seconds) between ${Zc.min} and ${Zc.max}`);throw new Error(l)}},this.isValidRespond=async t=>{var i;if(!Dr(t)){const{message:f}=Ee("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(f)}const{topic:n,response:s}=t;try{await this.isValidSessionTopic(n)}catch(f){throw(i=t?.response)!=null&&i.id&&this.cleanupAfterResponse(t),f}if(!Vm(s)){const{message:f}=Ee("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(f)}},this.isValidPing=async t=>{if(!Dr(t)){const{message:n}=Ee("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(n)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)},this.isValidEmit=async t=>{if(!Dr(t)){const{message:h}=Ee("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(h)}const{topic:i,event:n,chainId:s}=t;await this.isValidSessionTopic(i);const{namespaces:f}=this.client.session.get(i);if(!Vu(f,s)){const{message:h}=Ee("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(h)}if(!Hm(n)){const{message:h}=Ee("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(h)}if(!jm(f,s,n.name)){const{message:h}=Ee("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(h)}},this.isValidDisconnect=async t=>{if(!Dr(t)){const{message:n}=Ee("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(n)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)},this.isValidAuthenticate=t=>{const{chains:i,uri:n,domain:s,nonce:f}=t;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!Dt(n,!1))throw new Error("uri is required parameter");if(!Dt(s,!1))throw new Error("domain is required parameter");if(!Dt(f,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(l=>Mo(l).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:h}=Mo(i[0]);if(h!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")},this.getVerifyContext=async t=>{const{attestationId:i,hash:n,encryptedId:s,metadata:f,transportType:h}=t,l={verified:{verifyUrl:f.verifyUrl||pa,validation:"UNKNOWN",origin:f.url||""}};try{if(h===mt.link_mode){const m=this.getAppLinkIfEnabled(f,h);return l.verified.validation=m&&new URL(m).origin===new URL(f.url).origin?"VALID":"INVALID",l}const p=await this.client.core.verify.resolve({attestationId:i,hash:n,encryptedId:s,verifyUrl:f.verifyUrl});p&&(l.verified.origin=p.origin,l.verified.isScam=p.isScam,l.verified.validation=p.origin===new URL(f.url).origin?"VALID":"INVALID")}catch(p){this.client.logger.warn(p)}return this.client.logger.debug(`Verify context: ${JSON.stringify(l)}`),l},this.validateSessionProps=(t,i)=>{Object.values(t).forEach(n=>{if(!Dt(n,!1)){const{message:s}=Ee("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(n)}`);throw new Error(s)}})},this.getPendingAuthRequest=t=>{const i=this.client.auth.requests.get(t);return typeof i=="object"?i:void 0},this.addToRecentlyDeleted=(t,i)=>{if(this.recentlyDeletedMap.set(t,i),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let n=0;const s=this.recentlyDeletedLimit/2;for(const f of this.recentlyDeletedMap.keys()){if(n++>=s)break;this.recentlyDeletedMap.delete(f)}}},this.checkRecentlyDeleted=t=>{const i=this.recentlyDeletedMap.get(t);if(i){const{message:n}=Ee("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${t}`);throw new Error(n)}},this.isLinkModeEnabled=(t,i)=>{var n,s,f,h,l,p,m,y,E;return!t||i!==mt.link_mode?!1:((s=(n=this.client.metadata)==null?void 0:n.redirect)==null?void 0:s.linkMode)===!0&&((h=(f=this.client.metadata)==null?void 0:f.redirect)==null?void 0:h.universal)!==void 0&&((p=(l=this.client.metadata)==null?void 0:l.redirect)==null?void 0:p.universal)!==""&&((m=t?.redirect)==null?void 0:m.universal)!==void 0&&((y=t?.redirect)==null?void 0:y.universal)!==""&&((E=t?.redirect)==null?void 0:E.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(t.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"},this.getAppLinkIfEnabled=(t,i)=>{var n;return this.isLinkModeEnabled(t,i)?(n=t?.redirect)==null?void 0:n.universal:void 0},this.handleLinkModeMessage=({url:t})=>{if(!t||!t.includes("wc_ev")||!t.includes("topic"))return;const i=pu(t,"topic")||"",n=decodeURIComponent(pu(t,"wc_ev")||""),s=this.client.session.keys.includes(i);s&&this.client.session.update(i,{transportType:mt.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:n,sessionExists:s})},this.registerLinkModeListeners=async()=>{var t;if(wc()||cn()&&(t=this.client.metadata.redirect)!=null&&t.linkMode){const i=global==null?void 0:global.Linking;if(typeof i<"u"){i.addEventListener("url",this.handleLinkModeMessage,this.client.name);const n=await i.getInitialURL();n&&setTimeout(()=>{this.handleLinkModeMessage({url:n})},50)}}}}isInitialized(){if(!this.initialized){const{message:e}=Ee("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Zt.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){const{topic:t,message:i,attestation:n,transportType:s}=e,{publicKey:f}=this.client.auth.authKeys.keys.includes(Bo)?this.client.auth.authKeys.get(Bo):{responseTopic:void 0,publicKey:void 0},h=await this.client.core.crypto.decode(t,i,{receiverPublicKey:f,encoding:s===mt.link_mode?na:un});try{Fc(h)?(this.client.core.history.set(t,h),this.onRelayEventRequest({topic:t,payload:h,attestation:n,transportType:s,encryptedId:ji(i)})):Co(h)?(await this.client.core.history.resolve(h),await this.onRelayEventResponse({topic:t,payload:h,transportType:s}),this.client.core.history.delete(t,h.id)):this.onRelayEventUnknownPayload({topic:t,payload:h,transportType:s})}catch(l){this.client.logger.error(l)}}registerExpirerEvents(){this.client.core.expirer.on(Qr.expired,async e=>{const{topic:t,id:i}=lu(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,Ee("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,Ee("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i}))})}registerPairingEvents(){this.client.core.pairing.events.on(Bn.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(Bn.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!Dt(e,!1)){const{message:t}=Ee("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=Ee("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(dn(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Ee("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!Dt(e,!1)){const{message:t}=Ee("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:t}=Ee("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(dn(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Ee("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Ee("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(Dt(e,!1)){const{message:t}=Ee("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Ee("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!Um(e)){const{message:t}=Ee("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Ee("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(dn(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Ee("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}}class Z9 extends kn{constructor(e,t){super(e,t,O9,Kc),this.core=e,this.logger=t}}class Ql extends kn{constructor(e,t){super(e,t,D9,Kc),this.core=e,this.logger=t}}class W9 extends kn{constructor(e,t){super(e,t,T9,Kc,i=>i.id),this.core=e,this.logger=t}}class J9 extends kn{constructor(e,t){super(e,t,L9,Lo,()=>Bo),this.core=e,this.logger=t}}class G9 extends kn{constructor(e,t){super(e,t,B9,Lo),this.core=e,this.logger=t}}class Q9 extends kn{constructor(e,t){super(e,t,U9,Lo,i=>i.id),this.core=e,this.logger=t}}class Y9{constructor(e,t){this.core=e,this.logger=t,this.authKeys=new J9(this.core,this.logger),this.pairingTopics=new G9(this.core,this.logger),this.requests=new Q9(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class Wc extends Zb{constructor(e){super(e),this.protocol=Kl,this.version=jl,this.name=jc.name,this.events=new fr.exports.EventEmitter,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.removeAllListeners=i=>this.events.removeAllListeners(i),this.connect=async i=>{try{return await this.engine.connect(i)}catch(n){throw this.logger.error(n.message),n}},this.pair=async i=>{try{return await this.engine.pair(i)}catch(n){throw this.logger.error(n.message),n}},this.approve=async i=>{try{return await this.engine.approve(i)}catch(n){throw this.logger.error(n.message),n}},this.reject=async i=>{try{return await this.engine.reject(i)}catch(n){throw this.logger.error(n.message),n}},this.update=async i=>{try{return await this.engine.update(i)}catch(n){throw this.logger.error(n.message),n}},this.extend=async i=>{try{return await this.engine.extend(i)}catch(n){throw this.logger.error(n.message),n}},this.request=async i=>{try{return await this.engine.request(i)}catch(n){throw this.logger.error(n.message),n}},this.respond=async i=>{try{return await this.engine.respond(i)}catch(n){throw this.logger.error(n.message),n}},this.ping=async i=>{try{return await this.engine.ping(i)}catch(n){throw this.logger.error(n.message),n}},this.emit=async i=>{try{return await this.engine.emit(i)}catch(n){throw this.logger.error(n.message),n}},this.disconnect=async i=>{try{return await this.engine.disconnect(i)}catch(n){throw this.logger.error(n.message),n}},this.find=i=>{try{return this.engine.find(i)}catch(n){throw this.logger.error(n.message),n}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(i){throw this.logger.error(i.message),i}},this.authenticate=async(i,n)=>{try{return await this.engine.authenticate(i,n)}catch(s){throw this.logger.error(s.message),s}},this.formatAuthMessage=i=>{try{return this.engine.formatAuthMessage(i)}catch(n){throw this.logger.error(n.message),n}},this.approveSessionAuthenticate=async i=>{try{return await this.engine.approveSessionAuthenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.rejectSessionAuthenticate=async i=>{try{return await this.engine.rejectSessionAuthenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.name=e?.name||jc.name,this.metadata=e?.metadata||fu(),this.signConfig=e?.signConfig;const t=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:Li(Ef({level:e?.logger||jc.logger}));this.core=e?.core||new Hc(e),this.logger=gr(t,this.name),this.session=new Ql(this.core,this.logger),this.proposal=new Z9(this.core,this.logger),this.pendingRequest=new W9(this.core,this.logger),this.engine=new j9(this),this.auth=new Y9(this.core,this.logger)}static async init(e){const t=new Wc(e);return await t.initialize(),t}get context(){return Ir(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},ye.toMiliseconds(ye.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}const X9=Ql,_9=Wc;class $9 extends fr.exports{constructor(){super()}}class Yl{constructor(e){this.opts=e}}class Xl{constructor(e){this.client=e}}class _l{constructor(e){this.engine=e}}var ew={},tw="elliptic",rw="6.6.1",iw="EC cryptography",nw="lib/elliptic.js",sw=["lib"],aw={lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},ow={type:"git",url:"git@github.com:indutny/elliptic"},fw=["EC","Elliptic","curve","Cryptography"],cw="Fedor Indutny <fedor@indutny.com>",hw="MIT",dw={url:"https://github.com/indutny/elliptic/issues"},uw="https://github.com/indutny/elliptic",lw={brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},pw={"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},bw={name:tw,version:rw,description:iw,main:nw,files:sw,scripts:aw,repository:ow,keywords:fw,author:cw,license:hw,bugs:dw,homepage:uw,devDependencies:lw,dependencies:pw},Ur={},Ci={exports:{}};(function(r){(function(e,t){function i(P,o){if(!P)throw new Error(o||"Assertion failed")}function n(P,o){P.super_=o;var d=function(){};d.prototype=o.prototype,P.prototype=new d,P.prototype.constructor=P}function s(P,o,d){if(s.isBN(P))return P;this.negative=0,this.words=null,this.length=0,this.red=null,P!==null&&((o==="le"||o==="be")&&(d=o,o=10),this._init(P||0,o||10,d||"be"))}typeof e=="object"?e.exports=s:t.BN=s,s.BN=s,s.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=ks.Buffer}catch{}s.isBN=function(o){return o instanceof s?!0:o!==null&&typeof o=="object"&&o.constructor.wordSize===s.wordSize&&Array.isArray(o.words)},s.max=function(o,d){return o.cmp(d)>0?o:d},s.min=function(o,d){return o.cmp(d)<0?o:d},s.prototype._init=function(o,d,a){if(typeof o=="number")return this._initNumber(o,d,a);if(typeof o=="object")return this._initArray(o,d,a);d==="hex"&&(d=16),i(d===(d|0)&&d>=2&&d<=36),o=o.toString().replace(/\s+/g,"");var u=0;o[0]==="-"&&(u++,this.negative=1),u<o.length&&(d===16?this._parseHex(o,u,a):(this._parseBase(o,d,u),a==="le"&&this._initArray(this.toArray(),d,a)))},s.prototype._initNumber=function(o,d,a){o<0&&(this.negative=1,o=-o),o<67108864?(this.words=[o&67108863],this.length=1):o<4503599627370496?(this.words=[o&67108863,o/67108864&67108863],this.length=2):(i(o<9007199254740992),this.words=[o&67108863,o/67108864&67108863,1],this.length=3),a==="le"&&this._initArray(this.toArray(),d,a)},s.prototype._initArray=function(o,d,a){if(i(typeof o.length=="number"),o.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(o.length/3),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b,w,A=0;if(a==="be")for(u=o.length-1,b=0;u>=0;u-=3)w=o[u]|o[u-1]<<8|o[u-2]<<16,this.words[b]|=w<<A&67108863,this.words[b+1]=w>>>26-A&67108863,A+=24,A>=26&&(A-=26,b++);else if(a==="le")for(u=0,b=0;u<o.length;u+=3)w=o[u]|o[u+1]<<8|o[u+2]<<16,this.words[b]|=w<<A&67108863,this.words[b+1]=w>>>26-A&67108863,A+=24,A>=26&&(A-=26,b++);return this.strip()};function h(P,o){var d=P.charCodeAt(o);return d>=65&&d<=70?d-55:d>=97&&d<=102?d-87:d-48&15}function l(P,o,d){var a=h(P,d);return d-1>=o&&(a|=h(P,d-1)<<4),a}s.prototype._parseHex=function(o,d,a){this.length=Math.ceil((o.length-d)/6),this.words=new Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var b=0,w=0,A;if(a==="be")for(u=o.length-1;u>=d;u-=2)A=l(o,d,u)<<b,this.words[w]|=A&67108863,b>=18?(b-=18,w+=1,this.words[w]|=A>>>26):b+=8;else{var g=o.length-d;for(u=g%2===0?d+1:d;u<o.length;u+=2)A=l(o,d,u)<<b,this.words[w]|=A&67108863,b>=18?(b-=18,w+=1,this.words[w]|=A>>>26):b+=8}this.strip()};function p(P,o,d,a){for(var u=0,b=Math.min(P.length,d),w=o;w<b;w++){var A=P.charCodeAt(w)-48;u*=a,A>=49?u+=A-49+10:A>=17?u+=A-17+10:u+=A}return u}s.prototype._parseBase=function(o,d,a){this.words=[0],this.length=1;for(var u=0,b=1;b<=67108863;b*=d)u++;u--,b=b/d|0;for(var w=o.length-a,A=w%u,g=Math.min(w,w-A)+a,c=0,v=a;v<g;v+=u)c=p(o,v,v+u,d),this.imuln(b),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(A!==0){var M=1;for(c=p(o,v,o.length,d),v=0;v<A;v++)M*=d;this.imuln(M),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this.strip()},s.prototype.copy=function(o){o.words=new Array(this.length);for(var d=0;d<this.length;d++)o.words[d]=this.words[d];o.length=this.length,o.negative=this.negative,o.red=this.red},s.prototype.clone=function(){var o=new s(null);return this.copy(o),o},s.prototype._expand=function(o){for(;this.length<o;)this.words[this.length++]=0;return this},s.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},s.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var m=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],y=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];s.prototype.toString=function(o,d){o=o||10,d=d|0||1;var a;if(o===16||o==="hex"){a="";for(var u=0,b=0,w=0;w<this.length;w++){var A=this.words[w],g=((A<<u|b)&16777215).toString(16);b=A>>>24-u&16777215,b!==0||w!==this.length-1?a=m[6-g.length]+g+a:a=g+a,u+=2,u>=26&&(u-=26,w--)}for(b!==0&&(a=b.toString(16)+a);a.length%d!==0;)a="0"+a;return this.negative!==0&&(a="-"+a),a}if(o===(o|0)&&o>=2&&o<=36){var c=y[o],v=E[o];a="";var M=this.clone();for(M.negative=0;!M.isZero();){var D=M.modn(v).toString(o);M=M.idivn(v),M.isZero()?a=D+a:a=m[c-D.length]+D+a}for(this.isZero()&&(a="0"+a);a.length%d!==0;)a="0"+a;return this.negative!==0&&(a="-"+a),a}i(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var o=this.words[0];return this.length===2?o+=this.words[1]*67108864:this.length===3&&this.words[2]===1?o+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-o:o},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(o,d){return i(typeof f<"u"),this.toArrayLike(f,o,d)},s.prototype.toArray=function(o,d){return this.toArrayLike(Array,o,d)},s.prototype.toArrayLike=function(o,d,a){var u=this.byteLength(),b=a||Math.max(1,u);i(u<=b,"byte array longer than desired length"),i(b>0,"Requested array length <= 0"),this.strip();var w=d==="le",A=new o(b),g,c,v=this.clone();if(w){for(c=0;!v.isZero();c++)g=v.andln(255),v.iushrn(8),A[c]=g;for(;c<b;c++)A[c]=0}else{for(c=0;c<b-u;c++)A[c]=0;for(c=0;!v.isZero();c++)g=v.andln(255),v.iushrn(8),A[b-c-1]=g}return A},Math.clz32?s.prototype._countBits=function(o){return 32-Math.clz32(o)}:s.prototype._countBits=function(o){var d=o,a=0;return d>=4096&&(a+=13,d>>>=13),d>=64&&(a+=7,d>>>=7),d>=8&&(a+=4,d>>>=4),d>=2&&(a+=2,d>>>=2),a+d},s.prototype._zeroBits=function(o){if(o===0)return 26;var d=o,a=0;return d&8191||(a+=13,d>>>=13),d&127||(a+=7,d>>>=7),d&15||(a+=4,d>>>=4),d&3||(a+=2,d>>>=2),d&1||a++,a},s.prototype.bitLength=function(){var o=this.words[this.length-1],d=this._countBits(o);return(this.length-1)*26+d};function I(P){for(var o=new Array(P.bitLength()),d=0;d<o.length;d++){var a=d/26|0,u=d%26;o[d]=(P.words[a]&1<<u)>>>u}return o}s.prototype.zeroBits=function(){if(this.isZero())return 0;for(var o=0,d=0;d<this.length;d++){var a=this._zeroBits(this.words[d]);if(o+=a,a!==26)break}return o},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(o){return this.negative!==0?this.abs().inotn(o).iaddn(1):this.clone()},s.prototype.fromTwos=function(o){return this.testn(o-1)?this.notn(o).iaddn(1).ineg():this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},s.prototype.iuor=function(o){for(;this.length<o.length;)this.words[this.length++]=0;for(var d=0;d<o.length;d++)this.words[d]=this.words[d]|o.words[d];return this.strip()},s.prototype.ior=function(o){return i((this.negative|o.negative)===0),this.iuor(o)},s.prototype.or=function(o){return this.length>o.length?this.clone().ior(o):o.clone().ior(this)},s.prototype.uor=function(o){return this.length>o.length?this.clone().iuor(o):o.clone().iuor(this)},s.prototype.iuand=function(o){var d;this.length>o.length?d=o:d=this;for(var a=0;a<d.length;a++)this.words[a]=this.words[a]&o.words[a];return this.length=d.length,this.strip()},s.prototype.iand=function(o){return i((this.negative|o.negative)===0),this.iuand(o)},s.prototype.and=function(o){return this.length>o.length?this.clone().iand(o):o.clone().iand(this)},s.prototype.uand=function(o){return this.length>o.length?this.clone().iuand(o):o.clone().iuand(this)},s.prototype.iuxor=function(o){var d,a;this.length>o.length?(d=this,a=o):(d=o,a=this);for(var u=0;u<a.length;u++)this.words[u]=d.words[u]^a.words[u];if(this!==d)for(;u<d.length;u++)this.words[u]=d.words[u];return this.length=d.length,this.strip()},s.prototype.ixor=function(o){return i((this.negative|o.negative)===0),this.iuxor(o)},s.prototype.xor=function(o){return this.length>o.length?this.clone().ixor(o):o.clone().ixor(this)},s.prototype.uxor=function(o){return this.length>o.length?this.clone().iuxor(o):o.clone().iuxor(this)},s.prototype.inotn=function(o){i(typeof o=="number"&&o>=0);var d=Math.ceil(o/26)|0,a=o%26;this._expand(d),a>0&&d--;for(var u=0;u<d;u++)this.words[u]=~this.words[u]&67108863;return a>0&&(this.words[u]=~this.words[u]&67108863>>26-a),this.strip()},s.prototype.notn=function(o){return this.clone().inotn(o)},s.prototype.setn=function(o,d){i(typeof o=="number"&&o>=0);var a=o/26|0,u=o%26;return this._expand(a+1),d?this.words[a]=this.words[a]|1<<u:this.words[a]=this.words[a]&~(1<<u),this.strip()},s.prototype.iadd=function(o){var d;if(this.negative!==0&&o.negative===0)return this.negative=0,d=this.isub(o),this.negative^=1,this._normSign();if(this.negative===0&&o.negative!==0)return o.negative=0,d=this.isub(o),o.negative=1,d._normSign();var a,u;this.length>o.length?(a=this,u=o):(a=o,u=this);for(var b=0,w=0;w<u.length;w++)d=(a.words[w]|0)+(u.words[w]|0)+b,this.words[w]=d&67108863,b=d>>>26;for(;b!==0&&w<a.length;w++)d=(a.words[w]|0)+b,this.words[w]=d&67108863,b=d>>>26;if(this.length=a.length,b!==0)this.words[this.length]=b,this.length++;else if(a!==this)for(;w<a.length;w++)this.words[w]=a.words[w];return this},s.prototype.add=function(o){var d;return o.negative!==0&&this.negative===0?(o.negative=0,d=this.sub(o),o.negative^=1,d):o.negative===0&&this.negative!==0?(this.negative=0,d=o.sub(this),this.negative=1,d):this.length>o.length?this.clone().iadd(o):o.clone().iadd(this)},s.prototype.isub=function(o){if(o.negative!==0){o.negative=0;var d=this.iadd(o);return o.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(o),this.negative=1,this._normSign();var a=this.cmp(o);if(a===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,b;a>0?(u=this,b=o):(u=o,b=this);for(var w=0,A=0;A<b.length;A++)d=(u.words[A]|0)-(b.words[A]|0)+w,w=d>>26,this.words[A]=d&67108863;for(;w!==0&&A<u.length;A++)d=(u.words[A]|0)+w,w=d>>26,this.words[A]=d&67108863;if(w===0&&A<u.length&&u!==this)for(;A<u.length;A++)this.words[A]=u.words[A];return this.length=Math.max(this.length,A),u!==this&&(this.negative=1),this.strip()},s.prototype.sub=function(o){return this.clone().isub(o)};function N(P,o,d){d.negative=o.negative^P.negative;var a=P.length+o.length|0;d.length=a,a=a-1|0;var u=P.words[0]|0,b=o.words[0]|0,w=u*b,A=w&67108863,g=w/67108864|0;d.words[0]=A;for(var c=1;c<a;c++){for(var v=g>>>26,M=g&67108863,D=Math.min(c,o.length-1),J=Math.max(0,c-P.length+1);J<=D;J++){var O=c-J|0;u=P.words[O]|0,b=o.words[J]|0,w=u*b+M,v+=w/67108864|0,M=w&67108863}d.words[c]=M|0,g=v|0}return g!==0?d.words[c]=g|0:d.length--,d.strip()}var F=function(o,d,a){var u=o.words,b=d.words,w=a.words,A=0,g,c,v,M=u[0]|0,D=M&8191,J=M>>>13,O=u[1]|0,Z=O&8191,U=O>>>13,q=u[2]|0,T=q&8191,x=q>>>13,C=u[3]|0,j=C&8191,Q=C>>>13,_=u[4]|0,X=_&8191,ne=_>>>13,ae=u[5]|0,$=ae&8191,he=ae>>>13,Pe=u[6]|0,se=Pe&8191,de=Pe>>>13,Se=u[7]|0,re=Se&8191,ce=Se>>>13,xe=u[8]|0,ee=xe&8191,ve=xe>>>13,qe=u[9]|0,te=qe&8191,we=qe>>>13,Ne=b[0]|0,oe=Ne&8191,pe=Ne>>>13,ze=b[1]|0,Ae=ze&8191,ke=ze>>>13,_e=b[2]|0,Me=_e&8191,Ke=_e>>>13,it=b[3]|0,Oe=it&8191,Ce=it>>>13,je=b[4]|0,be=je&8191,Fe=je>>>13,Je=b[5]|0,le=Je&8191,Be=Je>>>13,Ge=b[6]|0,ge=Ge&8191,Le=Ge>>>13,Qe=b[7]|0,ue=Qe&8191,Re=Qe>>>13,He=b[8]|0,me=He&8191,Ue=He>>>13,ft=b[9]|0,Te=ft&8191,Ze=ft>>>13;a.negative=o.negative^d.negative,a.length=19,g=Math.imul(D,oe),c=Math.imul(D,pe),c=c+Math.imul(J,oe)|0,v=Math.imul(J,pe);var Xe=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Xe>>>26)|0,Xe&=67108863,g=Math.imul(Z,oe),c=Math.imul(Z,pe),c=c+Math.imul(U,oe)|0,v=Math.imul(U,pe),g=g+Math.imul(D,Ae)|0,c=c+Math.imul(D,ke)|0,c=c+Math.imul(J,Ae)|0,v=v+Math.imul(J,ke)|0;var nt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(nt>>>26)|0,nt&=67108863,g=Math.imul(T,oe),c=Math.imul(T,pe),c=c+Math.imul(x,oe)|0,v=Math.imul(x,pe),g=g+Math.imul(Z,Ae)|0,c=c+Math.imul(Z,ke)|0,c=c+Math.imul(U,Ae)|0,v=v+Math.imul(U,ke)|0,g=g+Math.imul(D,Me)|0,c=c+Math.imul(D,Ke)|0,c=c+Math.imul(J,Me)|0,v=v+Math.imul(J,Ke)|0;var It=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(It>>>26)|0,It&=67108863,g=Math.imul(j,oe),c=Math.imul(j,pe),c=c+Math.imul(Q,oe)|0,v=Math.imul(Q,pe),g=g+Math.imul(T,Ae)|0,c=c+Math.imul(T,ke)|0,c=c+Math.imul(x,Ae)|0,v=v+Math.imul(x,ke)|0,g=g+Math.imul(Z,Me)|0,c=c+Math.imul(Z,Ke)|0,c=c+Math.imul(U,Me)|0,v=v+Math.imul(U,Ke)|0,g=g+Math.imul(D,Oe)|0,c=c+Math.imul(D,Ce)|0,c=c+Math.imul(J,Oe)|0,v=v+Math.imul(J,Ce)|0;var ct=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(ct>>>26)|0,ct&=67108863,g=Math.imul(X,oe),c=Math.imul(X,pe),c=c+Math.imul(ne,oe)|0,v=Math.imul(ne,pe),g=g+Math.imul(j,Ae)|0,c=c+Math.imul(j,ke)|0,c=c+Math.imul(Q,Ae)|0,v=v+Math.imul(Q,ke)|0,g=g+Math.imul(T,Me)|0,c=c+Math.imul(T,Ke)|0,c=c+Math.imul(x,Me)|0,v=v+Math.imul(x,Ke)|0,g=g+Math.imul(Z,Oe)|0,c=c+Math.imul(Z,Ce)|0,c=c+Math.imul(U,Oe)|0,v=v+Math.imul(U,Ce)|0,g=g+Math.imul(D,be)|0,c=c+Math.imul(D,Fe)|0,c=c+Math.imul(J,be)|0,v=v+Math.imul(J,Fe)|0;var ht=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(ht>>>26)|0,ht&=67108863,g=Math.imul($,oe),c=Math.imul($,pe),c=c+Math.imul(he,oe)|0,v=Math.imul(he,pe),g=g+Math.imul(X,Ae)|0,c=c+Math.imul(X,ke)|0,c=c+Math.imul(ne,Ae)|0,v=v+Math.imul(ne,ke)|0,g=g+Math.imul(j,Me)|0,c=c+Math.imul(j,Ke)|0,c=c+Math.imul(Q,Me)|0,v=v+Math.imul(Q,Ke)|0,g=g+Math.imul(T,Oe)|0,c=c+Math.imul(T,Ce)|0,c=c+Math.imul(x,Oe)|0,v=v+Math.imul(x,Ce)|0,g=g+Math.imul(Z,be)|0,c=c+Math.imul(Z,Fe)|0,c=c+Math.imul(U,be)|0,v=v+Math.imul(U,Fe)|0,g=g+Math.imul(D,le)|0,c=c+Math.imul(D,Be)|0,c=c+Math.imul(J,le)|0,v=v+Math.imul(J,Be)|0;var lt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(lt>>>26)|0,lt&=67108863,g=Math.imul(se,oe),c=Math.imul(se,pe),c=c+Math.imul(de,oe)|0,v=Math.imul(de,pe),g=g+Math.imul($,Ae)|0,c=c+Math.imul($,ke)|0,c=c+Math.imul(he,Ae)|0,v=v+Math.imul(he,ke)|0,g=g+Math.imul(X,Me)|0,c=c+Math.imul(X,Ke)|0,c=c+Math.imul(ne,Me)|0,v=v+Math.imul(ne,Ke)|0,g=g+Math.imul(j,Oe)|0,c=c+Math.imul(j,Ce)|0,c=c+Math.imul(Q,Oe)|0,v=v+Math.imul(Q,Ce)|0,g=g+Math.imul(T,be)|0,c=c+Math.imul(T,Fe)|0,c=c+Math.imul(x,be)|0,v=v+Math.imul(x,Fe)|0,g=g+Math.imul(Z,le)|0,c=c+Math.imul(Z,Be)|0,c=c+Math.imul(U,le)|0,v=v+Math.imul(U,Be)|0,g=g+Math.imul(D,ge)|0,c=c+Math.imul(D,Le)|0,c=c+Math.imul(J,ge)|0,v=v+Math.imul(J,Le)|0;var dt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(dt>>>26)|0,dt&=67108863,g=Math.imul(re,oe),c=Math.imul(re,pe),c=c+Math.imul(ce,oe)|0,v=Math.imul(ce,pe),g=g+Math.imul(se,Ae)|0,c=c+Math.imul(se,ke)|0,c=c+Math.imul(de,Ae)|0,v=v+Math.imul(de,ke)|0,g=g+Math.imul($,Me)|0,c=c+Math.imul($,Ke)|0,c=c+Math.imul(he,Me)|0,v=v+Math.imul(he,Ke)|0,g=g+Math.imul(X,Oe)|0,c=c+Math.imul(X,Ce)|0,c=c+Math.imul(ne,Oe)|0,v=v+Math.imul(ne,Ce)|0,g=g+Math.imul(j,be)|0,c=c+Math.imul(j,Fe)|0,c=c+Math.imul(Q,be)|0,v=v+Math.imul(Q,Fe)|0,g=g+Math.imul(T,le)|0,c=c+Math.imul(T,Be)|0,c=c+Math.imul(x,le)|0,v=v+Math.imul(x,Be)|0,g=g+Math.imul(Z,ge)|0,c=c+Math.imul(Z,Le)|0,c=c+Math.imul(U,ge)|0,v=v+Math.imul(U,Le)|0,g=g+Math.imul(D,ue)|0,c=c+Math.imul(D,Re)|0,c=c+Math.imul(J,ue)|0,v=v+Math.imul(J,Re)|0;var Rt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,g=Math.imul(ee,oe),c=Math.imul(ee,pe),c=c+Math.imul(ve,oe)|0,v=Math.imul(ve,pe),g=g+Math.imul(re,Ae)|0,c=c+Math.imul(re,ke)|0,c=c+Math.imul(ce,Ae)|0,v=v+Math.imul(ce,ke)|0,g=g+Math.imul(se,Me)|0,c=c+Math.imul(se,Ke)|0,c=c+Math.imul(de,Me)|0,v=v+Math.imul(de,Ke)|0,g=g+Math.imul($,Oe)|0,c=c+Math.imul($,Ce)|0,c=c+Math.imul(he,Oe)|0,v=v+Math.imul(he,Ce)|0,g=g+Math.imul(X,be)|0,c=c+Math.imul(X,Fe)|0,c=c+Math.imul(ne,be)|0,v=v+Math.imul(ne,Fe)|0,g=g+Math.imul(j,le)|0,c=c+Math.imul(j,Be)|0,c=c+Math.imul(Q,le)|0,v=v+Math.imul(Q,Be)|0,g=g+Math.imul(T,ge)|0,c=c+Math.imul(T,Le)|0,c=c+Math.imul(x,ge)|0,v=v+Math.imul(x,Le)|0,g=g+Math.imul(Z,ue)|0,c=c+Math.imul(Z,Re)|0,c=c+Math.imul(U,ue)|0,v=v+Math.imul(U,Re)|0,g=g+Math.imul(D,me)|0,c=c+Math.imul(D,Ue)|0,c=c+Math.imul(J,me)|0,v=v+Math.imul(J,Ue)|0;var Ft=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Ft>>>26)|0,Ft&=67108863,g=Math.imul(te,oe),c=Math.imul(te,pe),c=c+Math.imul(we,oe)|0,v=Math.imul(we,pe),g=g+Math.imul(ee,Ae)|0,c=c+Math.imul(ee,ke)|0,c=c+Math.imul(ve,Ae)|0,v=v+Math.imul(ve,ke)|0,g=g+Math.imul(re,Me)|0,c=c+Math.imul(re,Ke)|0,c=c+Math.imul(ce,Me)|0,v=v+Math.imul(ce,Ke)|0,g=g+Math.imul(se,Oe)|0,c=c+Math.imul(se,Ce)|0,c=c+Math.imul(de,Oe)|0,v=v+Math.imul(de,Ce)|0,g=g+Math.imul($,be)|0,c=c+Math.imul($,Fe)|0,c=c+Math.imul(he,be)|0,v=v+Math.imul(he,Fe)|0,g=g+Math.imul(X,le)|0,c=c+Math.imul(X,Be)|0,c=c+Math.imul(ne,le)|0,v=v+Math.imul(ne,Be)|0,g=g+Math.imul(j,ge)|0,c=c+Math.imul(j,Le)|0,c=c+Math.imul(Q,ge)|0,v=v+Math.imul(Q,Le)|0,g=g+Math.imul(T,ue)|0,c=c+Math.imul(T,Re)|0,c=c+Math.imul(x,ue)|0,v=v+Math.imul(x,Re)|0,g=g+Math.imul(Z,me)|0,c=c+Math.imul(Z,Ue)|0,c=c+Math.imul(U,me)|0,v=v+Math.imul(U,Ue)|0,g=g+Math.imul(D,Te)|0,c=c+Math.imul(D,Ze)|0,c=c+Math.imul(J,Te)|0,v=v+Math.imul(J,Ze)|0;var sr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(sr>>>26)|0,sr&=67108863,g=Math.imul(te,Ae),c=Math.imul(te,ke),c=c+Math.imul(we,Ae)|0,v=Math.imul(we,ke),g=g+Math.imul(ee,Me)|0,c=c+Math.imul(ee,Ke)|0,c=c+Math.imul(ve,Me)|0,v=v+Math.imul(ve,Ke)|0,g=g+Math.imul(re,Oe)|0,c=c+Math.imul(re,Ce)|0,c=c+Math.imul(ce,Oe)|0,v=v+Math.imul(ce,Ce)|0,g=g+Math.imul(se,be)|0,c=c+Math.imul(se,Fe)|0,c=c+Math.imul(de,be)|0,v=v+Math.imul(de,Fe)|0,g=g+Math.imul($,le)|0,c=c+Math.imul($,Be)|0,c=c+Math.imul(he,le)|0,v=v+Math.imul(he,Be)|0,g=g+Math.imul(X,ge)|0,c=c+Math.imul(X,Le)|0,c=c+Math.imul(ne,ge)|0,v=v+Math.imul(ne,Le)|0,g=g+Math.imul(j,ue)|0,c=c+Math.imul(j,Re)|0,c=c+Math.imul(Q,ue)|0,v=v+Math.imul(Q,Re)|0,g=g+Math.imul(T,me)|0,c=c+Math.imul(T,Ue)|0,c=c+Math.imul(x,me)|0,v=v+Math.imul(x,Ue)|0,g=g+Math.imul(Z,Te)|0,c=c+Math.imul(Z,Ze)|0,c=c+Math.imul(U,Te)|0,v=v+Math.imul(U,Ze)|0;var lr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(lr>>>26)|0,lr&=67108863,g=Math.imul(te,Me),c=Math.imul(te,Ke),c=c+Math.imul(we,Me)|0,v=Math.imul(we,Ke),g=g+Math.imul(ee,Oe)|0,c=c+Math.imul(ee,Ce)|0,c=c+Math.imul(ve,Oe)|0,v=v+Math.imul(ve,Ce)|0,g=g+Math.imul(re,be)|0,c=c+Math.imul(re,Fe)|0,c=c+Math.imul(ce,be)|0,v=v+Math.imul(ce,Fe)|0,g=g+Math.imul(se,le)|0,c=c+Math.imul(se,Be)|0,c=c+Math.imul(de,le)|0,v=v+Math.imul(de,Be)|0,g=g+Math.imul($,ge)|0,c=c+Math.imul($,Le)|0,c=c+Math.imul(he,ge)|0,v=v+Math.imul(he,Le)|0,g=g+Math.imul(X,ue)|0,c=c+Math.imul(X,Re)|0,c=c+Math.imul(ne,ue)|0,v=v+Math.imul(ne,Re)|0,g=g+Math.imul(j,me)|0,c=c+Math.imul(j,Ue)|0,c=c+Math.imul(Q,me)|0,v=v+Math.imul(Q,Ue)|0,g=g+Math.imul(T,Te)|0,c=c+Math.imul(T,Ze)|0,c=c+Math.imul(x,Te)|0,v=v+Math.imul(x,Ze)|0;var qt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(qt>>>26)|0,qt&=67108863,g=Math.imul(te,Oe),c=Math.imul(te,Ce),c=c+Math.imul(we,Oe)|0,v=Math.imul(we,Ce),g=g+Math.imul(ee,be)|0,c=c+Math.imul(ee,Fe)|0,c=c+Math.imul(ve,be)|0,v=v+Math.imul(ve,Fe)|0,g=g+Math.imul(re,le)|0,c=c+Math.imul(re,Be)|0,c=c+Math.imul(ce,le)|0,v=v+Math.imul(ce,Be)|0,g=g+Math.imul(se,ge)|0,c=c+Math.imul(se,Le)|0,c=c+Math.imul(de,ge)|0,v=v+Math.imul(de,Le)|0,g=g+Math.imul($,ue)|0,c=c+Math.imul($,Re)|0,c=c+Math.imul(he,ue)|0,v=v+Math.imul(he,Re)|0,g=g+Math.imul(X,me)|0,c=c+Math.imul(X,Ue)|0,c=c+Math.imul(ne,me)|0,v=v+Math.imul(ne,Ue)|0,g=g+Math.imul(j,Te)|0,c=c+Math.imul(j,Ze)|0,c=c+Math.imul(Q,Te)|0,v=v+Math.imul(Q,Ze)|0;var Lt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,g=Math.imul(te,be),c=Math.imul(te,Fe),c=c+Math.imul(we,be)|0,v=Math.imul(we,Fe),g=g+Math.imul(ee,le)|0,c=c+Math.imul(ee,Be)|0,c=c+Math.imul(ve,le)|0,v=v+Math.imul(ve,Be)|0,g=g+Math.imul(re,ge)|0,c=c+Math.imul(re,Le)|0,c=c+Math.imul(ce,ge)|0,v=v+Math.imul(ce,Le)|0,g=g+Math.imul(se,ue)|0,c=c+Math.imul(se,Re)|0,c=c+Math.imul(de,ue)|0,v=v+Math.imul(de,Re)|0,g=g+Math.imul($,me)|0,c=c+Math.imul($,Ue)|0,c=c+Math.imul(he,me)|0,v=v+Math.imul(he,Ue)|0,g=g+Math.imul(X,Te)|0,c=c+Math.imul(X,Ze)|0,c=c+Math.imul(ne,Te)|0,v=v+Math.imul(ne,Ze)|0;var pr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(pr>>>26)|0,pr&=67108863,g=Math.imul(te,le),c=Math.imul(te,Be),c=c+Math.imul(we,le)|0,v=Math.imul(we,Be),g=g+Math.imul(ee,ge)|0,c=c+Math.imul(ee,Le)|0,c=c+Math.imul(ve,ge)|0,v=v+Math.imul(ve,Le)|0,g=g+Math.imul(re,ue)|0,c=c+Math.imul(re,Re)|0,c=c+Math.imul(ce,ue)|0,v=v+Math.imul(ce,Re)|0,g=g+Math.imul(se,me)|0,c=c+Math.imul(se,Ue)|0,c=c+Math.imul(de,me)|0,v=v+Math.imul(de,Ue)|0,g=g+Math.imul($,Te)|0,c=c+Math.imul($,Ze)|0,c=c+Math.imul(he,Te)|0,v=v+Math.imul(he,Ze)|0;var Sr=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Sr>>>26)|0,Sr&=67108863,g=Math.imul(te,ge),c=Math.imul(te,Le),c=c+Math.imul(we,ge)|0,v=Math.imul(we,Le),g=g+Math.imul(ee,ue)|0,c=c+Math.imul(ee,Re)|0,c=c+Math.imul(ve,ue)|0,v=v+Math.imul(ve,Re)|0,g=g+Math.imul(re,me)|0,c=c+Math.imul(re,Ue)|0,c=c+Math.imul(ce,me)|0,v=v+Math.imul(ce,Ue)|0,g=g+Math.imul(se,Te)|0,c=c+Math.imul(se,Ze)|0,c=c+Math.imul(de,Te)|0,v=v+Math.imul(de,Ze)|0;var Pt=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,g=Math.imul(te,ue),c=Math.imul(te,Re),c=c+Math.imul(we,ue)|0,v=Math.imul(we,Re),g=g+Math.imul(ee,me)|0,c=c+Math.imul(ee,Ue)|0,c=c+Math.imul(ve,me)|0,v=v+Math.imul(ve,Ue)|0,g=g+Math.imul(re,Te)|0,c=c+Math.imul(re,Ze)|0,c=c+Math.imul(ce,Te)|0,v=v+Math.imul(ce,Ze)|0;var br=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(te,me),c=Math.imul(te,Ue),c=c+Math.imul(we,me)|0,v=Math.imul(we,Ue),g=g+Math.imul(ee,Te)|0,c=c+Math.imul(ee,Ze)|0,c=c+Math.imul(ve,Te)|0,v=v+Math.imul(ve,Ze)|0;var ar=(A+g|0)+((c&8191)<<13)|0;A=(v+(c>>>13)|0)+(ar>>>26)|0,ar&=67108863,g=Math.imul(te,Te),c=Math.imul(te,Ze),c=c+Math.imul(we,Te)|0,v=Math.imul(we,Ze);var Yt=(A+g|0)+((c&8191)<<13)|0;return A=(v+(c>>>13)|0)+(Yt>>>26)|0,Yt&=67108863,w[0]=Xe,w[1]=nt,w[2]=It,w[3]=ct,w[4]=ht,w[5]=lt,w[6]=dt,w[7]=Rt,w[8]=Ft,w[9]=sr,w[10]=lr,w[11]=qt,w[12]=Lt,w[13]=pr,w[14]=Sr,w[15]=Pt,w[16]=br,w[17]=ar,w[18]=Yt,A!==0&&(w[19]=A,a.length++),a};Math.imul||(F=N);function k(P,o,d){d.negative=o.negative^P.negative,d.length=P.length+o.length;for(var a=0,u=0,b=0;b<d.length-1;b++){var w=u;u=0;for(var A=a&67108863,g=Math.min(b,o.length-1),c=Math.max(0,b-P.length+1);c<=g;c++){var v=b-c,M=P.words[v]|0,D=o.words[c]|0,J=M*D,O=J&67108863;w=w+(J/67108864|0)|0,O=O+A|0,A=O&67108863,w=w+(O>>>26)|0,u+=w>>>26,w&=67108863}d.words[b]=A,a=w,w=u}return a!==0?d.words[b]=a:d.length--,d.strip()}function H(P,o,d){var a=new L;return a.mulp(P,o,d)}s.prototype.mulTo=function(o,d){var a,u=this.length+o.length;return this.length===10&&o.length===10?a=F(this,o,d):u<63?a=N(this,o,d):u<1024?a=k(this,o,d):a=H(this,o,d),a};function L(P,o){this.x=P,this.y=o}L.prototype.makeRBT=function(o){for(var d=new Array(o),a=s.prototype._countBits(o)-1,u=0;u<o;u++)d[u]=this.revBin(u,a,o);return d},L.prototype.revBin=function(o,d,a){if(o===0||o===a-1)return o;for(var u=0,b=0;b<d;b++)u|=(o&1)<<d-b-1,o>>=1;return u},L.prototype.permute=function(o,d,a,u,b,w){for(var A=0;A<w;A++)u[A]=d[o[A]],b[A]=a[o[A]]},L.prototype.transform=function(o,d,a,u,b,w){this.permute(w,o,d,a,u,b);for(var A=1;A<b;A<<=1)for(var g=A<<1,c=Math.cos(2*Math.PI/g),v=Math.sin(2*Math.PI/g),M=0;M<b;M+=g)for(var D=c,J=v,O=0;O<A;O++){var Z=a[M+O],U=u[M+O],q=a[M+O+A],T=u[M+O+A],x=D*q-J*T;T=D*T+J*q,q=x,a[M+O]=Z+q,u[M+O]=U+T,a[M+O+A]=Z-q,u[M+O+A]=U-T,O!==g&&(x=c*D-v*J,J=c*J+v*D,D=x)}},L.prototype.guessLen13b=function(o,d){var a=Math.max(d,o)|1,u=a&1,b=0;for(a=a/2|0;a;a=a>>>1)b++;return 1<<b+1+u},L.prototype.conjugate=function(o,d,a){if(!(a<=1))for(var u=0;u<a/2;u++){var b=o[u];o[u]=o[a-u-1],o[a-u-1]=b,b=d[u],d[u]=-d[a-u-1],d[a-u-1]=-b}},L.prototype.normalize13b=function(o,d){for(var a=0,u=0;u<d/2;u++){var b=Math.round(o[2*u+1]/d)*8192+Math.round(o[2*u]/d)+a;o[u]=b&67108863,b<67108864?a=0:a=b/67108864|0}return o},L.prototype.convert13b=function(o,d,a,u){for(var b=0,w=0;w<d;w++)b=b+(o[w]|0),a[2*w]=b&8191,b=b>>>13,a[2*w+1]=b&8191,b=b>>>13;for(w=2*d;w<u;++w)a[w]=0;i(b===0),i((b&-8192)===0)},L.prototype.stub=function(o){for(var d=new Array(o),a=0;a<o;a++)d[a]=0;return d},L.prototype.mulp=function(o,d,a){var u=2*this.guessLen13b(o.length,d.length),b=this.makeRBT(u),w=this.stub(u),A=new Array(u),g=new Array(u),c=new Array(u),v=new Array(u),M=new Array(u),D=new Array(u),J=a.words;J.length=u,this.convert13b(o.words,o.length,A,u),this.convert13b(d.words,d.length,v,u),this.transform(A,w,g,c,u,b),this.transform(v,w,M,D,u,b);for(var O=0;O<u;O++){var Z=g[O]*M[O]-c[O]*D[O];c[O]=g[O]*D[O]+c[O]*M[O],g[O]=Z}return this.conjugate(g,c,u),this.transform(g,c,J,w,u,b),this.conjugate(J,w,u),this.normalize13b(J,u),a.negative=o.negative^d.negative,a.length=o.length+d.length,a.strip()},s.prototype.mul=function(o){var d=new s(null);return d.words=new Array(this.length+o.length),this.mulTo(o,d)},s.prototype.mulf=function(o){var d=new s(null);return d.words=new Array(this.length+o.length),H(this,o,d)},s.prototype.imul=function(o){return this.clone().mulTo(o,this)},s.prototype.imuln=function(o){i(typeof o=="number"),i(o<67108864);for(var d=0,a=0;a<this.length;a++){var u=(this.words[a]|0)*o,b=(u&67108863)+(d&67108863);d>>=26,d+=u/67108864|0,d+=b>>>26,this.words[a]=b&67108863}return d!==0&&(this.words[a]=d,this.length++),this},s.prototype.muln=function(o){return this.clone().imuln(o)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(o){var d=I(o);if(d.length===0)return new s(1);for(var a=this,u=0;u<d.length&&d[u]===0;u++,a=a.sqr());if(++u<d.length)for(var b=a.sqr();u<d.length;u++,b=b.sqr())d[u]!==0&&(a=a.mul(b));return a},s.prototype.iushln=function(o){i(typeof o=="number"&&o>=0);var d=o%26,a=(o-d)/26,u=67108863>>>26-d<<26-d,b;if(d!==0){var w=0;for(b=0;b<this.length;b++){var A=this.words[b]&u,g=(this.words[b]|0)-A<<d;this.words[b]=g|w,w=A>>>26-d}w&&(this.words[b]=w,this.length++)}if(a!==0){for(b=this.length-1;b>=0;b--)this.words[b+a]=this.words[b];for(b=0;b<a;b++)this.words[b]=0;this.length+=a}return this.strip()},s.prototype.ishln=function(o){return i(this.negative===0),this.iushln(o)},s.prototype.iushrn=function(o,d,a){i(typeof o=="number"&&o>=0);var u;d?u=(d-d%26)/26:u=0;var b=o%26,w=Math.min((o-b)/26,this.length),A=67108863^67108863>>>b<<b,g=a;if(u-=w,u=Math.max(0,u),g){for(var c=0;c<w;c++)g.words[c]=this.words[c];g.length=w}if(w!==0)if(this.length>w)for(this.length-=w,c=0;c<this.length;c++)this.words[c]=this.words[c+w];else this.words[0]=0,this.length=1;var v=0;for(c=this.length-1;c>=0&&(v!==0||c>=u);c--){var M=this.words[c]|0;this.words[c]=v<<26-b|M>>>b,v=M&A}return g&&v!==0&&(g.words[g.length++]=v),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},s.prototype.ishrn=function(o,d,a){return i(this.negative===0),this.iushrn(o,d,a)},s.prototype.shln=function(o){return this.clone().ishln(o)},s.prototype.ushln=function(o){return this.clone().iushln(o)},s.prototype.shrn=function(o){return this.clone().ishrn(o)},s.prototype.ushrn=function(o){return this.clone().iushrn(o)},s.prototype.testn=function(o){i(typeof o=="number"&&o>=0);var d=o%26,a=(o-d)/26,u=1<<d;if(this.length<=a)return!1;var b=this.words[a];return!!(b&u)},s.prototype.imaskn=function(o){i(typeof o=="number"&&o>=0);var d=o%26,a=(o-d)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=a)return this;if(d!==0&&a++,this.length=Math.min(a,this.length),d!==0){var u=67108863^67108863>>>d<<d;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(o){return this.clone().imaskn(o)},s.prototype.iaddn=function(o){return i(typeof o=="number"),i(o<67108864),o<0?this.isubn(-o):this.negative!==0?this.length===1&&(this.words[0]|0)<o?(this.words[0]=o-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(o),this.negative=1,this):this._iaddn(o)},s.prototype._iaddn=function(o){this.words[0]+=o;for(var d=0;d<this.length&&this.words[d]>=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},s.prototype.isubn=function(o){if(i(typeof o=="number"),i(o<67108864),o<0)return this.iaddn(-o);if(this.negative!==0)return this.negative=0,this.iaddn(o),this.negative=1,this;if(this.words[0]-=o,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d<this.length&&this.words[d]<0;d++)this.words[d]+=67108864,this.words[d+1]-=1;return this.strip()},s.prototype.addn=function(o){return this.clone().iaddn(o)},s.prototype.subn=function(o){return this.clone().isubn(o)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(o,d,a){var u=o.length+a,b;this._expand(u);var w,A=0;for(b=0;b<o.length;b++){w=(this.words[b+a]|0)+A;var g=(o.words[b]|0)*d;w-=g&67108863,A=(w>>26)-(g/67108864|0),this.words[b+a]=w&67108863}for(;b<this.length-a;b++)w=(this.words[b+a]|0)+A,A=w>>26,this.words[b+a]=w&67108863;if(A===0)return this.strip();for(i(A===-1),A=0,b=0;b<this.length;b++)w=-(this.words[b]|0)+A,A=w>>26,this.words[b]=w&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(o,d){var a=this.length-o.length,u=this.clone(),b=o,w=b.words[b.length-1]|0,A=this._countBits(w);a=26-A,a!==0&&(b=b.ushln(a),u.iushln(a),w=b.words[b.length-1]|0);var g=u.length-b.length,c;if(d!=="mod"){c=new s(null),c.length=g+1,c.words=new Array(c.length);for(var v=0;v<c.length;v++)c.words[v]=0}var M=u.clone()._ishlnsubmul(b,1,g);M.negative===0&&(u=M,c&&(c.words[g]=1));for(var D=g-1;D>=0;D--){var J=(u.words[b.length+D]|0)*67108864+(u.words[b.length+D-1]|0);for(J=Math.min(J/w|0,67108863),u._ishlnsubmul(b,J,D);u.negative!==0;)J--,u.negative=0,u._ishlnsubmul(b,1,D),u.isZero()||(u.negative^=1);c&&(c.words[D]=J)}return c&&c.strip(),u.strip(),d!=="div"&&a!==0&&u.iushrn(a),{div:c||null,mod:u}},s.prototype.divmod=function(o,d,a){if(i(!o.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,b,w;return this.negative!==0&&o.negative===0?(w=this.neg().divmod(o,d),d!=="mod"&&(u=w.div.neg()),d!=="div"&&(b=w.mod.neg(),a&&b.negative!==0&&b.iadd(o)),{div:u,mod:b}):this.negative===0&&o.negative!==0?(w=this.divmod(o.neg(),d),d!=="mod"&&(u=w.div.neg()),{div:u,mod:w.mod}):this.negative&o.negative?(w=this.neg().divmod(o.neg(),d),d!=="div"&&(b=w.mod.neg(),a&&b.negative!==0&&b.isub(o)),{div:w.div,mod:b}):o.length>this.length||this.cmp(o)<0?{div:new s(0),mod:this}:o.length===1?d==="div"?{div:this.divn(o.words[0]),mod:null}:d==="mod"?{div:null,mod:new s(this.modn(o.words[0]))}:{div:this.divn(o.words[0]),mod:new s(this.modn(o.words[0]))}:this._wordDiv(o,d)},s.prototype.div=function(o){return this.divmod(o,"div",!1).div},s.prototype.mod=function(o){return this.divmod(o,"mod",!1).mod},s.prototype.umod=function(o){return this.divmod(o,"mod",!0).mod},s.prototype.divRound=function(o){var d=this.divmod(o);if(d.mod.isZero())return d.div;var a=d.div.negative!==0?d.mod.isub(o):d.mod,u=o.ushrn(1),b=o.andln(1),w=a.cmp(u);return w<0||b===1&&w===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},s.prototype.modn=function(o){i(o<=67108863);for(var d=(1<<26)%o,a=0,u=this.length-1;u>=0;u--)a=(d*a+(this.words[u]|0))%o;return a},s.prototype.idivn=function(o){i(o<=67108863);for(var d=0,a=this.length-1;a>=0;a--){var u=(this.words[a]|0)+d*67108864;this.words[a]=u/o|0,d=u%o}return this.strip()},s.prototype.divn=function(o){return this.clone().idivn(o)},s.prototype.egcd=function(o){i(o.negative===0),i(!o.isZero());var d=this,a=o.clone();d.negative!==0?d=d.umod(o):d=d.clone();for(var u=new s(1),b=new s(0),w=new s(0),A=new s(1),g=0;d.isEven()&&a.isEven();)d.iushrn(1),a.iushrn(1),++g;for(var c=a.clone(),v=d.clone();!d.isZero();){for(var M=0,D=1;!(d.words[0]&D)&&M<26;++M,D<<=1);if(M>0)for(d.iushrn(M);M-- >0;)(u.isOdd()||b.isOdd())&&(u.iadd(c),b.isub(v)),u.iushrn(1),b.iushrn(1);for(var J=0,O=1;!(a.words[0]&O)&&J<26;++J,O<<=1);if(J>0)for(a.iushrn(J);J-- >0;)(w.isOdd()||A.isOdd())&&(w.iadd(c),A.isub(v)),w.iushrn(1),A.iushrn(1);d.cmp(a)>=0?(d.isub(a),u.isub(w),b.isub(A)):(a.isub(d),w.isub(u),A.isub(b))}return{a:w,b:A,gcd:a.iushln(g)}},s.prototype._invmp=function(o){i(o.negative===0),i(!o.isZero());var d=this,a=o.clone();d.negative!==0?d=d.umod(o):d=d.clone();for(var u=new s(1),b=new s(0),w=a.clone();d.cmpn(1)>0&&a.cmpn(1)>0;){for(var A=0,g=1;!(d.words[0]&g)&&A<26;++A,g<<=1);if(A>0)for(d.iushrn(A);A-- >0;)u.isOdd()&&u.iadd(w),u.iushrn(1);for(var c=0,v=1;!(a.words[0]&v)&&c<26;++c,v<<=1);if(c>0)for(a.iushrn(c);c-- >0;)b.isOdd()&&b.iadd(w),b.iushrn(1);d.cmp(a)>=0?(d.isub(a),u.isub(b)):(a.isub(d),b.isub(u))}var M;return d.cmpn(1)===0?M=u:M=b,M.cmpn(0)<0&&M.iadd(o),M},s.prototype.gcd=function(o){if(this.isZero())return o.abs();if(o.isZero())return this.abs();var d=this.clone(),a=o.clone();d.negative=0,a.negative=0;for(var u=0;d.isEven()&&a.isEven();u++)d.iushrn(1),a.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;a.isEven();)a.iushrn(1);var b=d.cmp(a);if(b<0){var w=d;d=a,a=w}else if(b===0||a.cmpn(1)===0)break;d.isub(a)}while(!0);return a.iushln(u)},s.prototype.invm=function(o){return this.egcd(o).a.umod(o)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(o){return this.words[0]&o},s.prototype.bincn=function(o){i(typeof o=="number");var d=o%26,a=(o-d)/26,u=1<<d;if(this.length<=a)return this._expand(a+1),this.words[a]|=u,this;for(var b=u,w=a;b!==0&&w<this.length;w++){var A=this.words[w]|0;A+=b,b=A>>>26,A&=67108863,this.words[w]=A}return b!==0&&(this.words[w]=b,this.length++),this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(o){var d=o<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this.strip();var a;if(this.length>1)a=1;else{d&&(o=-o),i(o<=67108863,"Number is too big");var u=this.words[0]|0;a=u===o?0:u<o?-1:1}return this.negative!==0?-a|0:a},s.prototype.cmp=function(o){if(this.negative!==0&&o.negative===0)return-1;if(this.negative===0&&o.negative!==0)return 1;var d=this.ucmp(o);return this.negative!==0?-d|0:d},s.prototype.ucmp=function(o){if(this.length>o.length)return 1;if(this.length<o.length)return-1;for(var d=0,a=this.length-1;a>=0;a--){var u=this.words[a]|0,b=o.words[a]|0;if(u!==b){u<b?d=-1:u>b&&(d=1);break}}return d},s.prototype.gtn=function(o){return this.cmpn(o)===1},s.prototype.gt=function(o){return this.cmp(o)===1},s.prototype.gten=function(o){return this.cmpn(o)>=0},s.prototype.gte=function(o){return this.cmp(o)>=0},s.prototype.ltn=function(o){return this.cmpn(o)===-1},s.prototype.lt=function(o){return this.cmp(o)===-1},s.prototype.lten=function(o){return this.cmpn(o)<=0},s.prototype.lte=function(o){return this.cmp(o)<=0},s.prototype.eqn=function(o){return this.cmpn(o)===0},s.prototype.eq=function(o){return this.cmp(o)===0},s.red=function(o){return new G(o)},s.prototype.toRed=function(o){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),o.convertTo(this)._forceRed(o)},s.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(o){return this.red=o,this},s.prototype.forceRed=function(o){return i(!this.red,"Already a number in reduction context"),this._forceRed(o)},s.prototype.redAdd=function(o){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,o)},s.prototype.redIAdd=function(o){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,o)},s.prototype.redSub=function(o){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,o)},s.prototype.redISub=function(o){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,o)},s.prototype.redShl=function(o){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,o)},s.prototype.redMul=function(o){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.mul(this,o)},s.prototype.redIMul=function(o){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,o),this.red.imul(this,o)},s.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(o){return i(this.red&&!o.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,o)};var W={k256:null,p224:null,p192:null,p25519:null};function z(P,o){this.name=P,this.p=new s(o,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}z.prototype._tmp=function(){var o=new s(null);return o.words=new Array(Math.ceil(this.n/13)),o},z.prototype.ireduce=function(o){var d=o,a;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),a=d.bitLength();while(a>this.n);var u=a<this.n?-1:d.ucmp(this.p);return u===0?(d.words[0]=0,d.length=1):u>0?d.isub(this.p):d.strip!==void 0?d.strip():d._strip(),d},z.prototype.split=function(o,d){o.iushrn(this.n,0,d)},z.prototype.imulK=function(o){return o.imul(this.k)};function R(){z.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(R,z),R.prototype.split=function(o,d){for(var a=4194303,u=Math.min(o.length,9),b=0;b<u;b++)d.words[b]=o.words[b];if(d.length=u,o.length<=9){o.words[0]=0,o.length=1;return}var w=o.words[9];for(d.words[d.length++]=w&a,b=10;b<o.length;b++){var A=o.words[b]|0;o.words[b-10]=(A&a)<<4|w>>>22,w=A}w>>>=22,o.words[b-10]=w,w===0&&o.length>10?o.length-=10:o.length-=9},R.prototype.imulK=function(o){o.words[o.length]=0,o.words[o.length+1]=0,o.length+=2;for(var d=0,a=0;a<o.length;a++){var u=o.words[a]|0;d+=u*977,o.words[a]=d&67108863,d=u*64+(d/67108864|0)}return o.words[o.length-1]===0&&(o.length--,o.words[o.length-1]===0&&o.length--),o};function V(){z.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(V,z);function S(){z.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(S,z);function B(){z.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(B,z),B.prototype.imulK=function(o){for(var d=0,a=0;a<o.length;a++){var u=(o.words[a]|0)*19+d,b=u&67108863;u>>>=26,o.words[a]=b,d=u}return d!==0&&(o.words[o.length++]=d),o},s._prime=function(o){if(W[o])return W[o];var d;if(o==="k256")d=new R;else if(o==="p224")d=new V;else if(o==="p192")d=new S;else if(o==="p25519")d=new B;else throw new Error("Unknown prime "+o);return W[o]=d,d};function G(P){if(typeof P=="string"){var o=s._prime(P);this.m=o.p,this.prime=o}else i(P.gtn(1),"modulus must be greater than 1"),this.m=P,this.prime=null}G.prototype._verify1=function(o){i(o.negative===0,"red works only with positives"),i(o.red,"red works only with red numbers")},G.prototype._verify2=function(o,d){i((o.negative|d.negative)===0,"red works only with positives"),i(o.red&&o.red===d.red,"red works only with red numbers")},G.prototype.imod=function(o){return this.prime?this.prime.ireduce(o)._forceRed(this):o.umod(this.m)._forceRed(this)},G.prototype.neg=function(o){return o.isZero()?o.clone():this.m.sub(o)._forceRed(this)},G.prototype.add=function(o,d){this._verify2(o,d);var a=o.add(d);return a.cmp(this.m)>=0&&a.isub(this.m),a._forceRed(this)},G.prototype.iadd=function(o,d){this._verify2(o,d);var a=o.iadd(d);return a.cmp(this.m)>=0&&a.isub(this.m),a},G.prototype.sub=function(o,d){this._verify2(o,d);var a=o.sub(d);return a.cmpn(0)<0&&a.iadd(this.m),a._forceRed(this)},G.prototype.isub=function(o,d){this._verify2(o,d);var a=o.isub(d);return a.cmpn(0)<0&&a.iadd(this.m),a},G.prototype.shl=function(o,d){return this._verify1(o),this.imod(o.ushln(d))},G.prototype.imul=function(o,d){return this._verify2(o,d),this.imod(o.imul(d))},G.prototype.mul=function(o,d){return this._verify2(o,d),this.imod(o.mul(d))},G.prototype.isqr=function(o){return this.imul(o,o.clone())},G.prototype.sqr=function(o){return this.mul(o,o)},G.prototype.sqrt=function(o){if(o.isZero())return o.clone();var d=this.m.andln(3);if(i(d%2===1),d===3){var a=this.m.add(new s(1)).iushrn(2);return this.pow(o,a)}for(var u=this.m.subn(1),b=0;!u.isZero()&&u.andln(1)===0;)b++,u.iushrn(1);i(!u.isZero());var w=new s(1).toRed(this),A=w.redNeg(),g=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new s(2*c*c).toRed(this);this.pow(c,g).cmp(A)!==0;)c.redIAdd(A);for(var v=this.pow(c,u),M=this.pow(o,u.addn(1).iushrn(1)),D=this.pow(o,u),J=b;D.cmp(w)!==0;){for(var O=D,Z=0;O.cmp(w)!==0;Z++)O=O.redSqr();i(Z<J);var U=this.pow(v,new s(1).iushln(J-Z-1));M=M.redMul(U),v=U.redSqr(),D=D.redMul(v),J=Z}return M},G.prototype.invm=function(o){var d=o._invmp(this.m);return d.negative!==0?(d.negative=0,this.imod(d).redNeg()):this.imod(d)},G.prototype.pow=function(o,d){if(d.isZero())return new s(1).toRed(this);if(d.cmpn(1)===0)return o.clone();var a=4,u=new Array(1<<a);u[0]=new s(1).toRed(this),u[1]=o;for(var b=2;b<u.length;b++)u[b]=this.mul(u[b-1],o);var w=u[0],A=0,g=0,c=d.bitLength()%26;for(c===0&&(c=26),b=d.length-1;b>=0;b--){for(var v=d.words[b],M=c-1;M>=0;M--){var D=v>>M&1;if(w!==u[0]&&(w=this.sqr(w)),D===0&&A===0){g=0;continue}A<<=1,A|=D,g++,!(g!==a&&(b!==0||M!==0))&&(w=this.mul(w,u[A]),g=0,A=0)}c=26}return w},G.prototype.convertTo=function(o){var d=o.umod(this.m);return d===o?d.clone():d},G.prototype.convertFrom=function(o){var d=o.clone();return d.red=null,d},s.mont=function(o){return new ie(o)};function ie(P){G.call(this,P),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(ie,G),ie.prototype.convertTo=function(o){return this.imod(o.ushln(this.shift))},ie.prototype.convertFrom=function(o){var d=this.imod(o.mul(this.rinv));return d.red=null,d},ie.prototype.imul=function(o,d){if(o.isZero()||d.isZero())return o.words[0]=0,o.length=1,o;var a=o.imul(d),u=a.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=a.isub(u).iushrn(this.shift),w=b;return b.cmp(this.m)>=0?w=b.isub(this.m):b.cmpn(0)<0&&(w=b.iadd(this.m)),w._forceRed(this)},ie.prototype.mul=function(o,d){if(o.isZero()||d.isZero())return new s(0)._forceRed(this);var a=o.mul(d),u=a.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),b=a.isub(u).iushrn(this.shift),w=b;return b.cmp(this.m)>=0?w=b.isub(this.m):b.cmpn(0)<0&&(w=b.iadd(this.m)),w._forceRed(this)},ie.prototype.invm=function(o){var d=this.imod(o._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(r,Bt)})(Ci),function(r){var e=r,t=Ci.exports,i=en,n=ho;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function s(m,y,E){var I=new Array(Math.max(m.bitLength(),E)+1),N;for(N=0;N<I.length;N+=1)I[N]=0;var F=1<<y+1,k=m.clone();for(N=0;N<I.length;N++){var H,L=k.andln(F-1);k.isOdd()?(L>(F>>1)-1?H=(F>>1)-L:H=L,k.isubn(H)):H=0,I[N]=H,k.iushrn(1)}return I}e.getNAF=s;function f(m,y){var E=[[],[]];m=m.clone(),y=y.clone();for(var I=0,N=0,F;m.cmpn(-I)>0||y.cmpn(-N)>0;){var k=m.andln(3)+I&3,H=y.andln(3)+N&3;k===3&&(k=-1),H===3&&(H=-1);var L;k&1?(F=m.andln(7)+I&7,(F===3||F===5)&&H===2?L=-k:L=k):L=0,E[0].push(L);var W;H&1?(F=y.andln(7)+N&7,(F===3||F===5)&&k===2?W=-H:W=H):W=0,E[1].push(W),2*I===L+1&&(I=1-I),2*N===W+1&&(N=1-N),m.iushrn(1),y.iushrn(1)}return E}e.getJSF=f;function h(m,y,E){var I="_"+y;m.prototype[y]=function(){return this[I]!==void 0?this[I]:this[I]=E.call(this)}}e.cachedProperty=h;function l(m){return typeof m=="string"?e.toArray(m,"hex"):m}e.parseBytes=l;function p(m){return new t(m,"hex","le")}e.intFromLE=p}(Ur);var Jc={},Vn=Ci.exports,ya=Ur,Uo=ya.getNAF,vw=ya.getJSF,zo=ya.assert;function ln(r,e){this.type=r,this.p=new Vn(e.p,16),this.red=e.prime?Vn.red(e.prime):Vn.mont(this.p),this.zero=new Vn(0).toRed(this.red),this.one=new Vn(1).toRed(this.red),this.two=new Vn(2).toRed(this.red),this.n=e.n&&new Vn(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var ko=ln;ln.prototype.point=function(){throw new Error("Not implemented")},ln.prototype.validate=function(){throw new Error("Not implemented")},ln.prototype._fixedNafMul=function(e,t){zo(e.precomputed);var i=e._getDoubles(),n=Uo(t,1,this._bitLength),s=(1<<i.step+1)-(i.step%2===0?2:1);s/=3;var f=[],h,l;for(h=0;h<n.length;h+=i.step){l=0;for(var p=h+i.step-1;p>=h;p--)l=(l<<1)+n[p];f.push(l)}for(var m=this.jpoint(null,null,null),y=this.jpoint(null,null,null),E=s;E>0;E--){for(h=0;h<f.length;h++)l=f[h],l===E?y=y.mixedAdd(i.points[h]):l===-E&&(y=y.mixedAdd(i.points[h].neg()));m=m.add(y)}return m.toP()},ln.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var s=n.points,f=Uo(t,i,this._bitLength),h=this.jpoint(null,null,null),l=f.length-1;l>=0;l--){for(var p=0;l>=0&&f[l]===0;l--)p++;if(l>=0&&p++,h=h.dblp(p),l<0)break;var m=f[l];zo(m!==0),e.type==="affine"?m>0?h=h.mixedAdd(s[m-1>>1]):h=h.mixedAdd(s[-m-1>>1].neg()):m>0?h=h.add(s[m-1>>1]):h=h.add(s[-m-1>>1].neg())}return e.type==="affine"?h.toP():h},ln.prototype._wnafMulAdd=function(e,t,i,n,s){var f=this._wnafT1,h=this._wnafT2,l=this._wnafT3,p=0,m,y,E;for(m=0;m<n;m++){E=t[m];var I=E._getNAFPoints(e);f[m]=I.wnd,h[m]=I.points}for(m=n-1;m>=1;m-=2){var N=m-1,F=m;if(f[N]!==1||f[F]!==1){l[N]=Uo(i[N],f[N],this._bitLength),l[F]=Uo(i[F],f[F],this._bitLength),p=Math.max(l[N].length,p),p=Math.max(l[F].length,p);continue}var k=[t[N],null,null,t[F]];t[N].y.cmp(t[F].y)===0?(k[1]=t[N].add(t[F]),k[2]=t[N].toJ().mixedAdd(t[F].neg())):t[N].y.cmp(t[F].y.redNeg())===0?(k[1]=t[N].toJ().mixedAdd(t[F]),k[2]=t[N].add(t[F].neg())):(k[1]=t[N].toJ().mixedAdd(t[F]),k[2]=t[N].toJ().mixedAdd(t[F].neg()));var H=[-3,-1,-5,-7,0,7,5,1,3],L=vw(i[N],i[F]);for(p=Math.max(L[0].length,p),l[N]=new Array(p),l[F]=new Array(p),y=0;y<p;y++){var W=L[0][y]|0,z=L[1][y]|0;l[N][y]=H[(W+1)*3+(z+1)],l[F][y]=0,h[N]=k}}var R=this.jpoint(null,null,null),V=this._wnafT4;for(m=p;m>=0;m--){for(var S=0;m>=0;){var B=!0;for(y=0;y<n;y++)V[y]=l[y][m]|0,V[y]!==0&&(B=!1);if(!B)break;S++,m--}if(m>=0&&S++,R=R.dblp(S),m<0)break;for(y=0;y<n;y++){var G=V[y];G!==0&&(G>0?E=h[y][G-1>>1]:G<0&&(E=h[y][-G-1>>1].neg()),E.type==="affine"?R=R.mixedAdd(E):R=R.add(E))}}for(m=0;m<n;m++)h[m]=null;return s?R:R.toP()};function Yr(r,e){this.curve=r,this.type=e,this.precomputed=null}ln.BasePoint=Yr,Yr.prototype.eq=function(){throw new Error("Not implemented")},Yr.prototype.validate=function(){return this.curve.validate(this)},ln.prototype.decodePoint=function(e,t){e=ya.toArray(e,t);var i=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*i){e[0]===6?zo(e[e.length-1]%2===0):e[0]===7&&zo(e[e.length-1]%2===1);var n=this.point(e.slice(1,1+i),e.slice(1+i,1+2*i));return n}else if((e[0]===2||e[0]===3)&&e.length-1===i)return this.pointFromX(e.slice(1,1+i),e[0]===3);throw new Error("Unknown point format")},Yr.prototype.encodeCompressed=function(e){return this.encode(e,!0)},Yr.prototype._encode=function(e){var t=this.curve.p.byteLength(),i=this.getX().toArray("be",t);return e?[this.getY().isEven()?2:3].concat(i):[4].concat(i,this.getY().toArray("be",t))},Yr.prototype.encode=function(e,t){return ya.encode(this._encode(t),e)},Yr.prototype.precompute=function(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};return t.naf=this._getNAFPoints(8),t.doubles=this._getDoubles(4,e),t.beta=this._getBeta(),this.precomputed=t,this},Yr.prototype._hasDoubles=function(e){if(!this.precomputed)return!1;var t=this.precomputed.doubles;return t?t.points.length>=Math.ceil((e.bitLength()+1)/t.step):!1},Yr.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,s=0;s<t;s+=e){for(var f=0;f<e;f++)n=n.dbl();i.push(n)}return{step:e,points:i}},Yr.prototype._getNAFPoints=function(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var t=[this],i=(1<<e)-1,n=i===1?null:this.dbl(),s=1;s<i;s++)t[s]=t[s-1].add(n);return{wnd:e,points:t}},Yr.prototype._getBeta=function(){return null},Yr.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var gw=Ur,Et=Ci.exports,Gc=zi.exports,As=ko,mw=gw.assert;function Xr(r){As.call(this,"short",r),this.a=new Et(r.a,16).toRed(this.red),this.b=new Et(r.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(r),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Gc(Xr,As);var yw=Xr;Xr.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new Et(e.beta,16).toRed(this.red);else{var n=this._getEndoRoots(this.p);t=n[0].cmp(n[1])<0?n[0]:n[1],t=t.toRed(this.red)}if(e.lambda)i=new Et(e.lambda,16);else{var s=this._getEndoRoots(this.n);this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))===0?i=s[0]:(i=s[1],mw(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var f;return e.basis?f=e.basis.map(function(h){return{a:new Et(h.a,16),b:new Et(h.b,16)}}):f=this._getEndoBasis(i),{beta:t,lambda:i,basis:f}}},Xr.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:Et.mont(e),i=new Et(2).toRed(t).redInvm(),n=i.redNeg(),s=new Et(3).toRed(t).redNeg().redSqrt().redMul(i),f=n.redAdd(s).fromRed(),h=n.redSub(s).fromRed();return[f,h]},Xr.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),s=new Et(1),f=new Et(0),h=new Et(0),l=new Et(1),p,m,y,E,I,N,F,k=0,H,L;i.cmpn(0)!==0;){var W=n.div(i);H=n.sub(W.mul(i)),L=h.sub(W.mul(s));var z=l.sub(W.mul(f));if(!y&&H.cmp(t)<0)p=F.neg(),m=s,y=H.neg(),E=L;else if(y&&++k===2)break;F=H,n=i,i=H,h=s,s=L,l=f,f=z}I=H.neg(),N=L;var R=y.sqr().add(E.sqr()),V=I.sqr().add(N.sqr());return V.cmp(R)>=0&&(I=p,N=m),y.negative&&(y=y.neg(),E=E.neg()),I.negative&&(I=I.neg(),N=N.neg()),[{a:y,b:E},{a:I,b:N}]},Xr.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],s=n.b.mul(e).divRound(this.n),f=i.b.neg().mul(e).divRound(this.n),h=s.mul(i.a),l=f.mul(n.a),p=s.mul(i.b),m=f.mul(n.b),y=e.sub(h).sub(l),E=p.add(m).neg();return{k1:y,k2:E}},Xr.prototype.pointFromX=function(e,t){e=new Et(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=i.redSqrt();if(n.redSqr().redSub(i).cmp(this.zero)!==0)throw new Error("invalid point");var s=n.fromRed().isOdd();return(t&&!s||!t&&s)&&(n=n.redNeg()),this.point(e,n)},Xr.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),s=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(s).cmpn(0)===0},Xr.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,s=this._endoWnafT2,f=0;f<e.length;f++){var h=this._endoSplit(t[f]),l=e[f],p=l._getBeta();h.k1.negative&&(h.k1.ineg(),l=l.neg(!0)),h.k2.negative&&(h.k2.ineg(),p=p.neg(!0)),n[f*2]=l,n[f*2+1]=p,s[f*2]=h.k1,s[f*2+1]=h.k2}for(var m=this._wnafMulAdd(1,n,s,f*2,i),y=0;y<f*2;y++)n[y]=null,s[y]=null;return m};function Jt(r,e,t,i){As.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new Et(e,16),this.y=new Et(t,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}Gc(Jt,As.BasePoint),Xr.prototype.point=function(e,t,i){return new Jt(this,e,t,i)},Xr.prototype.pointFromJSON=function(e,t){return Jt.fromJSON(this,e,t)},Jt.prototype._getBeta=function(){if(this.curve.endo){var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var i=this.curve,n=function(s){return i.point(s.x.redMul(i.endo.beta),s.y)};e.beta=t,t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(n)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(n)}}}return t}},Jt.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Jt.fromJSON=function(e,t,i){typeof t=="string"&&(t=JSON.parse(t));var n=e.point(t[0],t[1],i);if(!t[2])return n;function s(h){return e.point(h[0],h[1],i)}var f=t[2];return n.precomputed={beta:null,doubles:f.doubles&&{step:f.doubles.step,points:[n].concat(f.doubles.points.map(s))},naf:f.naf&&{wnd:f.naf.wnd,points:[n].concat(f.naf.points.map(s))}},n},Jt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Jt.prototype.isInfinity=function(){return this.inf},Jt.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var i=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,n)},Jt.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,i=this.x.redSqr(),n=e.redInvm(),s=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),f=s.redSqr().redISub(this.x.redAdd(this.x)),h=s.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,h)},Jt.prototype.getX=function(){return this.x.fromRed()},Jt.prototype.getY=function(){return this.y.fromRed()},Jt.prototype.mul=function(e){return e=new Et(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Jt.prototype.mulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s):this.curve._wnafMulAdd(1,n,s,2)},Jt.prototype.jmulAdd=function(e,t,i){var n=[this,t],s=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,s,!0):this.curve._wnafMulAdd(1,n,s,2,!0)},Jt.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)},Jt.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var i=this.precomputed,n=function(s){return s.neg()};t.precomputed={naf:i.naf&&{wnd:i.naf.wnd,points:i.naf.points.map(n)},doubles:i.doubles&&{step:i.doubles.step,points:i.doubles.points.map(n)}}}return t},Jt.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function ir(r,e,t,i){As.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new Et(0)):(this.x=new Et(e,16),this.y=new Et(t,16),this.z=new Et(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Gc(ir,As.BasePoint),Xr.prototype.jpoint=function(e,t,i){return new ir(this,e,t,i)},ir.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),i=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(i,n)},ir.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},ir.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),i=this.z.redSqr(),n=this.x.redMul(t),s=e.x.redMul(i),f=this.y.redMul(t.redMul(e.z)),h=e.y.redMul(i.redMul(this.z)),l=n.redSub(s),p=f.redSub(h);if(l.cmpn(0)===0)return p.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var m=l.redSqr(),y=m.redMul(l),E=n.redMul(m),I=p.redSqr().redIAdd(y).redISub(E).redISub(E),N=p.redMul(E.redISub(I)).redISub(f.redMul(y)),F=this.z.redMul(e.z).redMul(l);return this.curve.jpoint(I,N,F)},ir.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),i=this.x,n=e.x.redMul(t),s=this.y,f=e.y.redMul(t).redMul(this.z),h=i.redSub(n),l=s.redSub(f);if(h.cmpn(0)===0)return l.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var p=h.redSqr(),m=p.redMul(h),y=i.redMul(p),E=l.redSqr().redIAdd(m).redISub(y).redISub(y),I=l.redMul(y.redISub(E)).redISub(s.redMul(m)),N=this.z.redMul(h);return this.curve.jpoint(E,I,N)},ir.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var i=this;for(t=0;t<e;t++)i=i.dbl();return i}var n=this.curve.a,s=this.curve.tinv,f=this.x,h=this.y,l=this.z,p=l.redSqr().redSqr(),m=h.redAdd(h);for(t=0;t<e;t++){var y=f.redSqr(),E=m.redSqr(),I=E.redSqr(),N=y.redAdd(y).redIAdd(y).redIAdd(n.redMul(p)),F=f.redMul(E),k=N.redSqr().redISub(F.redAdd(F)),H=F.redISub(k),L=N.redMul(H);L=L.redIAdd(L).redISub(I);var W=m.redMul(l);t+1<e&&(p=p.redMul(I)),f=k,l=W,m=L}return this.curve.jpoint(f,m.redMul(s),l)},ir.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},ir.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),f=s.redSqr(),h=this.x.redAdd(s).redSqr().redISub(n).redISub(f);h=h.redIAdd(h);var l=n.redAdd(n).redIAdd(n),p=l.redSqr().redISub(h).redISub(h),m=f.redIAdd(f);m=m.redIAdd(m),m=m.redIAdd(m),e=p,t=l.redMul(h.redISub(p)).redISub(m),i=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),E=this.y.redSqr(),I=E.redSqr(),N=this.x.redAdd(E).redSqr().redISub(y).redISub(I);N=N.redIAdd(N);var F=y.redAdd(y).redIAdd(y),k=F.redSqr(),H=I.redIAdd(I);H=H.redIAdd(H),H=H.redIAdd(H),e=k.redISub(N).redISub(N),t=F.redMul(N.redISub(e)).redISub(H),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)},ir.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),s=this.y.redSqr(),f=s.redSqr(),h=this.x.redAdd(s).redSqr().redISub(n).redISub(f);h=h.redIAdd(h);var l=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),p=l.redSqr().redISub(h).redISub(h);e=p;var m=f.redIAdd(f);m=m.redIAdd(m),m=m.redIAdd(m),t=l.redMul(h.redISub(p)).redISub(m),i=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),E=this.y.redSqr(),I=this.x.redMul(E),N=this.x.redSub(y).redMul(this.x.redAdd(y));N=N.redAdd(N).redIAdd(N);var F=I.redIAdd(I);F=F.redIAdd(F);var k=F.redAdd(F);e=N.redSqr().redISub(k),i=this.y.redAdd(this.z).redSqr().redISub(E).redISub(y);var H=E.redSqr();H=H.redIAdd(H),H=H.redIAdd(H),H=H.redIAdd(H),t=N.redMul(F.redISub(e)).redISub(H)}return this.curve.jpoint(e,t,i)},ir.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,s=n.redSqr().redSqr(),f=t.redSqr(),h=i.redSqr(),l=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(s)),p=t.redAdd(t);p=p.redIAdd(p);var m=p.redMul(h),y=l.redSqr().redISub(m.redAdd(m)),E=m.redISub(y),I=h.redSqr();I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var N=l.redMul(E).redISub(I),F=i.redAdd(i).redMul(n);return this.curve.jpoint(y,N,F)},ir.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr(),n=t.redSqr(),s=e.redAdd(e).redIAdd(e),f=s.redSqr(),h=this.x.redAdd(t).redSqr().redISub(e).redISub(n);h=h.redIAdd(h),h=h.redAdd(h).redIAdd(h),h=h.redISub(f);var l=h.redSqr(),p=n.redIAdd(n);p=p.redIAdd(p),p=p.redIAdd(p),p=p.redIAdd(p);var m=s.redIAdd(h).redSqr().redISub(f).redISub(l).redISub(p),y=t.redMul(m);y=y.redIAdd(y),y=y.redIAdd(y);var E=this.x.redMul(l).redISub(y);E=E.redIAdd(E),E=E.redIAdd(E);var I=this.y.redMul(m.redMul(p.redISub(m)).redISub(h.redMul(l)));I=I.redIAdd(I),I=I.redIAdd(I),I=I.redIAdd(I);var N=this.z.redAdd(h).redSqr().redISub(i).redISub(l);return this.curve.jpoint(E,I,N)},ir.prototype.mul=function(e,t){return e=new Et(e,t),this.curve._wnafMul(this,e)},ir.prototype.eq=function(e){if(e.type==="affine")return this.eq(e.toJ());if(this===e)return!0;var t=this.z.redSqr(),i=e.z.redSqr();if(this.x.redMul(i).redISub(e.x.redMul(t)).cmpn(0)!==0)return!1;var n=t.redMul(this.z),s=i.redMul(e.z);return this.y.redMul(s).redISub(e.y.redMul(n)).cmpn(0)===0},ir.prototype.eqXToP=function(e){var t=this.z.redSqr(),i=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(i)===0)return!0;for(var n=e.clone(),s=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(s),this.x.cmp(i)===0)return!0}},ir.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},ir.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Ms=Ci.exports,$l=zi.exports,Vo=ko,ww=Ur;function Ss(r){Vo.call(this,"mont",r),this.a=new Ms(r.a,16).toRed(this.red),this.b=new Ms(r.b,16).toRed(this.red),this.i4=new Ms(4).toRed(this.red).redInvm(),this.two=new Ms(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}$l(Ss,Vo);var xw=Ss;Ss.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),n=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t),s=n.redSqrt();return s.redSqr().cmp(n)===0};function Gt(r,e,t){Vo.BasePoint.call(this,r,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Ms(e,16),this.z=new Ms(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}$l(Gt,Vo.BasePoint),Ss.prototype.decodePoint=function(e,t){return this.point(ww.toArray(e,t),1)},Ss.prototype.point=function(e,t){return new Gt(this,e,t)},Ss.prototype.pointFromJSON=function(e){return Gt.fromJSON(this,e)},Gt.prototype.precompute=function(){},Gt.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Gt.fromJSON=function(e,t){return new Gt(e,t[0],t[1]||e.one)},Gt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Gt.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Gt.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),s=t.redSub(n),f=t.redMul(n),h=s.redMul(n.redAdd(this.curve.a24.redMul(s)));return this.curve.point(f,h)},Gt.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Gt.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),s=e.x.redAdd(e.z),f=e.x.redSub(e.z),h=f.redMul(i),l=s.redMul(n),p=t.z.redMul(h.redAdd(l).redSqr()),m=t.x.redMul(h.redISub(l).redSqr());return this.curve.point(p,m)},Gt.prototype.mul=function(e){for(var t=e.clone(),i=this,n=this.curve.point(null,null),s=this,f=[];t.cmpn(0)!==0;t.iushrn(1))f.push(t.andln(1));for(var h=f.length-1;h>=0;h--)f[h]===0?(i=i.diffAdd(n,s),n=n.dbl()):(n=i.diffAdd(n,s),i=i.dbl());return n},Gt.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Gt.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Gt.prototype.eq=function(e){return this.getX().cmp(e.getX())===0},Gt.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Gt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Aw=Ur,Qi=Ci.exports,e1=zi.exports,Ho=ko,Mw=Aw.assert;function Fi(r){this.twisted=(r.a|0)!==1,this.mOneA=this.twisted&&(r.a|0)===-1,this.extended=this.mOneA,Ho.call(this,"edwards",r),this.a=new Qi(r.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Qi(r.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Qi(r.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Mw(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(r.c|0)===1}e1(Fi,Ho);var Sw=Fi;Fi.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},Fi.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},Fi.prototype.jpoint=function(e,t,i,n){return this.point(e,t,i,n)},Fi.prototype.pointFromX=function(e,t){e=new Qi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),s=this.one.redSub(this.c2.redMul(this.d).redMul(i)),f=n.redMul(s.redInvm()),h=f.redSqrt();if(h.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");var l=h.fromRed().isOdd();return(t&&!l||!t&&l)&&(h=h.redNeg()),this.point(e,h)},Fi.prototype.pointFromY=function(e,t){e=new Qi(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),s=i.redMul(this.d).redMul(this.c2).redSub(this.a),f=n.redMul(s.redInvm());if(f.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var h=f.redSqrt();if(h.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");return h.fromRed().isOdd()!==t&&(h=h.redNeg()),this.point(h,e)},Fi.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),i=e.y.redSqr(),n=t.redMul(this.a).redAdd(i),s=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(i)));return n.cmp(s)===0};function yt(r,e,t,i,n){Ho.BasePoint.call(this,r,"projective"),e===null&&t===null&&i===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Qi(e,16),this.y=new Qi(t,16),this.z=i?new Qi(i,16):this.curve.one,this.t=n&&new Qi(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}e1(yt,Ho.BasePoint),Fi.prototype.pointFromJSON=function(e){return yt.fromJSON(this,e)},Fi.prototype.point=function(e,t,i,n){return new yt(this,e,t,i,n)},yt.fromJSON=function(e,t){return new yt(e,t[0],t[1],t[2])},yt.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},yt.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},yt.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),i=this.z.redSqr();i=i.redIAdd(i);var n=this.curve._mulA(e),s=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),f=n.redAdd(t),h=f.redSub(i),l=n.redSub(t),p=s.redMul(h),m=f.redMul(l),y=s.redMul(l),E=h.redMul(f);return this.curve.point(p,m,E,y)},yt.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),i=this.y.redSqr(),n,s,f,h,l,p;if(this.curve.twisted){h=this.curve._mulA(t);var m=h.redAdd(i);this.zOne?(n=e.redSub(t).redSub(i).redMul(m.redSub(this.curve.two)),s=m.redMul(h.redSub(i)),f=m.redSqr().redSub(m).redSub(m)):(l=this.z.redSqr(),p=m.redSub(l).redISub(l),n=e.redSub(t).redISub(i).redMul(p),s=m.redMul(h.redSub(i)),f=m.redMul(p))}else h=t.redAdd(i),l=this.curve._mulC(this.z).redSqr(),p=h.redSub(l).redSub(l),n=this.curve._mulC(e.redISub(h)).redMul(p),s=this.curve._mulC(h).redMul(t.redISub(i)),f=h.redMul(p);return this.curve.point(n,s,f)},yt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},yt.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),i=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),s=this.z.redMul(e.z.redAdd(e.z)),f=i.redSub(t),h=s.redSub(n),l=s.redAdd(n),p=i.redAdd(t),m=f.redMul(h),y=l.redMul(p),E=f.redMul(p),I=h.redMul(l);return this.curve.point(m,y,I,E)},yt.prototype._projAdd=function(e){var t=this.z.redMul(e.z),i=t.redSqr(),n=this.x.redMul(e.x),s=this.y.redMul(e.y),f=this.curve.d.redMul(n).redMul(s),h=i.redSub(f),l=i.redAdd(f),p=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(s),m=t.redMul(h).redMul(p),y,E;return this.curve.twisted?(y=t.redMul(l).redMul(s.redSub(this.curve._mulA(n))),E=h.redMul(l)):(y=t.redMul(l).redMul(s.redSub(n)),E=this.curve._mulC(h).redMul(l)),this.curve.point(m,y,E)},yt.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},yt.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},yt.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)},yt.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)},yt.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},yt.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},yt.prototype.getX=function(){return this.normalize(),this.x.fromRed()},yt.prototype.getY=function(){return this.normalize(),this.y.fromRed()},yt.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0},yt.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var i=e.clone(),n=this.curve.redN.redMul(this.z);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),this.x.cmp(t)===0)return!0}},yt.prototype.toP=yt.prototype.normalize,yt.prototype.mixedAdd=yt.prototype.add,function(r){var e=r;e.base=ko,e.short=yw,e.mont=xw,e.edwards=Sw}(Jc);var Ko={},Qc,t1;function Ew(){return t1||(t1=1,Qc={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}),Qc}(function(r){var e=r,t=wr,i=Jc,n=Ur,s=n.assert;function f(p){p.type==="short"?this.curve=new i.short(p):p.type==="edwards"?this.curve=new i.edwards(p):this.curve=new i.mont(p),this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,s(this.g.validate(),"Invalid curve"),s(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=f;function h(p,m){Object.defineProperty(e,p,{configurable:!0,enumerable:!0,get:function(){var y=new f(m);return Object.defineProperty(e,p,{configurable:!0,enumerable:!0,value:y}),y}})}h("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),h("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),h("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),h("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),h("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),h("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["9"]}),h("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var l;try{l=Ew()}catch{l=void 0}h("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",l]})})(Ko);var Iw=Ci.exports,Pw=Ur,Yc=Pw.assert;function ur(r,e){this.ec=r,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Ow=ur;ur.fromPublic=function(e,t,i){return t instanceof ur?t:new ur(e,{pub:t,pubEnc:i})},ur.fromPrivate=function(e,t,i){return t instanceof ur?t:new ur(e,{priv:t,privEnc:i})},ur.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},ur.prototype.getPublic=function(e,t){return typeof e=="string"&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},ur.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv},ur.prototype._importPrivate=function(e,t){this.priv=new Iw(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},ur.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?Yc(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Yc(e.x&&e.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)},ur.prototype.derive=function(e){return e.validate()||Yc(e.validate(),"public point not validated"),e.mul(this.priv).getX()},ur.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)},ur.prototype.verify=function(e,t,i){return this.ec.verify(e,t,this,void 0,i)},ur.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var jo=Ci.exports,Xc=Ur,Nw=Xc.assert;function Zo(r,e){if(r instanceof Zo)return r;this._importDER(r,e)||(Nw(r.r&&r.s,"Signature without r or s"),this.r=new jo(r.r,16),this.s=new jo(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var Dw=Zo;function Rw(){this.place=0}function _c(r,e){var t=r[e.place++];if(!(t&128))return t;var i=t&15;if(i===0||i>4||r[e.place]===0)return!1;for(var n=0,s=0,f=e.place;s<i;s++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function r1(r){for(var e=0,t=r.length-1;!r[e]&&!(r[e+1]&128)&&e<t;)e++;return e===0?r:r.slice(e)}Zo.prototype._importDER=function(e,t){e=Xc.toArray(e,t);var i=new Rw;if(e[i.place++]!==48)return!1;var n=_c(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var s=_c(e,i);if(s===!1||e[i.place]&128)return!1;var f=e.slice(i.place,s+i.place);if(i.place+=s,e[i.place++]!==2)return!1;var h=_c(e,i);if(h===!1||e.length!==h+i.place||e[i.place]&128)return!1;var l=e.slice(i.place,h+i.place);if(f[0]===0)if(f[1]&128)f=f.slice(1);else return!1;if(l[0]===0)if(l[1]&128)l=l.slice(1);else return!1;return this.r=new jo(f),this.s=new jo(l),this.recoveryParam=null,!0};function $c(r,e){if(e<128){r.push(e);return}var t=1+(Math.log(e)/Math.LN2>>>3);for(r.push(t|128);--t;)r.push(e>>>(t<<3)&255);r.push(e)}Zo.prototype.toDER=function(e){var t=this.r.toArray(),i=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),i[0]&128&&(i=[0].concat(i)),t=r1(t),i=r1(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];$c(n,t.length),n=n.concat(t),n.push(2),$c(n,i.length);var s=n.concat(i),f=[48];return $c(f,s.length),f=f.concat(s),Xc.encode(f,e)};var li=Ci.exports,i1=Gd,Tw=Ur,e0=Ko,Cw=ps.exports,Hn=Tw.assert,t0=Ow,Wo=Dw;function _r(r){if(!(this instanceof _r))return new _r(r);typeof r=="string"&&(Hn(Object.prototype.hasOwnProperty.call(e0,r),"Unknown curve "+r),r=e0[r]),r instanceof e0.PresetCurve&&(r={curve:r}),this.curve=r.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=r.curve.g,this.g.precompute(r.curve.n.bitLength()+1),this.hash=r.hash||r.curve.hash}var Fw=_r;_r.prototype.keyPair=function(e){return new t0(this,e)},_r.prototype.keyFromPrivate=function(e,t){return t0.fromPrivate(this,e,t)},_r.prototype.keyFromPublic=function(e,t){return t0.fromPublic(this,e,t)},_r.prototype.genKeyPair=function(e){e||(e={});for(var t=new i1({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Cw(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new li(2));;){var s=new li(t.generate(i));if(!(s.cmp(n)>0))return s.iaddn(1),this.keyFromPrivate(s)}},_r.prototype._truncateToN=function(e,t,i){var n;if(li.isBN(e)||typeof e=="number")e=new li(e,16),n=e.byteLength();else if(typeof e=="object")n=e.length,e=new li(e,16);else{var s=e.toString();n=s.length+1>>>1,e=new li(s,16)}typeof i!="number"&&(i=n*8);var f=i-this.n.bitLength();return f>0&&(e=e.ushrn(f)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},_r.prototype.sign=function(e,t,i,n){if(typeof i=="object"&&(n=i,i=null),n||(n={}),typeof e!="string"&&typeof e!="number"&&!li.isBN(e)){Hn(typeof e=="object"&&e&&typeof e.length=="number","Expected message to be an array-like, a hex string, or a BN instance"),Hn(e.length>>>0===e.length);for(var s=0;s<e.length;s++)Hn((e[s]&255)===e[s])}t=this.keyFromPrivate(t,i),e=this._truncateToN(e,!1,n.msgBitLength),Hn(!e.isNeg(),"Can not sign a negative message");var f=this.n.byteLength(),h=t.getPrivate().toArray("be",f),l=e.toArray("be",f);Hn(new li(l).eq(e),"Can not sign message");for(var p=new i1({hash:this.hash,entropy:h,nonce:l,pers:n.pers,persEnc:n.persEnc||"utf8"}),m=this.n.sub(new li(1)),y=0;;y++){var E=n.k?n.k(y):new li(p.generate(this.n.byteLength()));if(E=this._truncateToN(E,!0),!(E.cmpn(1)<=0||E.cmp(m)>=0)){var I=this.g.mul(E);if(!I.isInfinity()){var N=I.getX(),F=N.umod(this.n);if(F.cmpn(0)!==0){var k=E.invm(this.n).mul(F.mul(t.getPrivate()).iadd(e));if(k=k.umod(this.n),k.cmpn(0)!==0){var H=(I.getY().isOdd()?1:0)|(N.cmp(F)!==0?2:0);return n.canonical&&k.cmp(this.nh)>0&&(k=this.n.sub(k),H^=1),new Wo({r:F,s:k,recoveryParam:H})}}}}}},_r.prototype.verify=function(e,t,i,n,s){s||(s={}),e=this._truncateToN(e,!1,s.msgBitLength),i=this.keyFromPublic(i,n),t=new Wo(t,"hex");var f=t.r,h=t.s;if(f.cmpn(1)<0||f.cmp(this.n)>=0||h.cmpn(1)<0||h.cmp(this.n)>=0)return!1;var l=h.invm(this.n),p=l.mul(e).umod(this.n),m=l.mul(f).umod(this.n),y;return this.curve._maxwellTrick?(y=this.g.jmulAdd(p,i.getPublic(),m),y.isInfinity()?!1:y.eqXToP(f)):(y=this.g.mulAdd(p,i.getPublic(),m),y.isInfinity()?!1:y.getX().umod(this.n).cmp(f)===0)},_r.prototype.recoverPubKey=function(r,e,t,i){Hn((3&t)===t,"The recovery param is more than two bits"),e=new Wo(e,i);var n=this.n,s=new li(r),f=e.r,h=e.s,l=t&1,p=t>>1;if(f.cmp(this.curve.p.umod(this.curve.n))>=0&&p)throw new Error("Unable to find sencond key candinate");p?f=this.curve.pointFromX(f.add(this.curve.n),l):f=this.curve.pointFromX(f,l);var m=e.r.invm(n),y=n.sub(s).mul(m).umod(n),E=h.mul(m).umod(n);return this.g.mulAdd(y,f,E)},_r.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new Wo(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var s;try{s=this.recoverPubKey(r,e,n)}catch{continue}if(s.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var wa=Ur,n1=wa.assert,s1=wa.parseBytes,Es=wa.cachedProperty;function Qt(r,e){this.eddsa=r,this._secret=s1(e.secret),r.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=s1(e.pub)}Qt.fromPublic=function(e,t){return t instanceof Qt?t:new Qt(e,{pub:t})},Qt.fromSecret=function(e,t){return t instanceof Qt?t:new Qt(e,{secret:t})},Qt.prototype.secret=function(){return this._secret},Es(Qt,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),Es(Qt,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),Es(Qt,"privBytes",function(){var e=this.eddsa,t=this.hash(),i=e.encodingLength-1,n=t.slice(0,e.encodingLength);return n[0]&=248,n[i]&=127,n[i]|=64,n}),Es(Qt,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),Es(Qt,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),Es(Qt,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),Qt.prototype.sign=function(e){return n1(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)},Qt.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)},Qt.prototype.getSecret=function(e){return n1(this._secret,"KeyPair is public only"),wa.encode(this.secret(),e)},Qt.prototype.getPublic=function(e){return wa.encode(this.pubBytes(),e)};var qw=Qt,Lw=Ci.exports,Jo=Ur,a1=Jo.assert,Go=Jo.cachedProperty,Bw=Jo.parseBytes;function Kn(r,e){this.eddsa=r,typeof e!="object"&&(e=Bw(e)),Array.isArray(e)&&(a1(e.length===r.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,r.encodingLength),S:e.slice(r.encodingLength)}),a1(e.R&&e.S,"Signature without R or S"),r.isPoint(e.R)&&(this._R=e.R),e.S instanceof Lw&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}Go(Kn,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),Go(Kn,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),Go(Kn,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),Go(Kn,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),Kn.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Kn.prototype.toHex=function(){return Jo.encode(this.toBytes(),"hex").toUpperCase()};var Uw=Kn,zw=wr,kw=Ko,Is=Ur,Vw=Is.assert,o1=Is.parseBytes,f1=qw,c1=Uw;function Rr(r){if(Vw(r==="ed25519","only tested with ed25519 so far"),!(this instanceof Rr))return new Rr(r);r=kw[r].curve,this.curve=r,this.g=r.g,this.g.precompute(r.n.bitLength()+1),this.pointClass=r.point().constructor,this.encodingLength=Math.ceil(r.n.bitLength()/8),this.hash=zw.sha512}var Hw=Rr;Rr.prototype.sign=function(e,t){e=o1(e);var i=this.keyFromSecret(t),n=this.hashInt(i.messagePrefix(),e),s=this.g.mul(n),f=this.encodePoint(s),h=this.hashInt(f,i.pubBytes(),e).mul(i.priv()),l=n.add(h).umod(this.curve.n);return this.makeSignature({R:s,S:l,Rencoded:f})},Rr.prototype.verify=function(e,t,i){if(e=o1(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var n=this.keyFromPublic(i),s=this.hashInt(t.Rencoded(),n.pubBytes(),e),f=this.g.mul(t.S()),h=t.R().add(n.pub().mul(s));return h.eq(f)},Rr.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return Is.intFromLE(e.digest()).umod(this.curve.n)},Rr.prototype.keyFromPublic=function(e){return f1.fromPublic(this,e)},Rr.prototype.keyFromSecret=function(e){return f1.fromSecret(this,e)},Rr.prototype.makeSignature=function(e){return e instanceof c1?e:new c1(this,e)},Rr.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t},Rr.prototype.decodePoint=function(e){e=Is.parseBytes(e);var t=e.length-1,i=e.slice(0,t).concat(e[t]&-129),n=(e[t]&128)!==0,s=Is.intFromLE(i);return this.curve.pointFromY(s,n)},Rr.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)},Rr.prototype.decodeInt=function(e){return Is.intFromLE(e)},Rr.prototype.isPoint=function(e){return e instanceof this.pointClass},function(r){var e=r;e.version=bw.version,e.utils=Ur,e.rand=ps.exports,e.curve=Jc,e.curves=Ko,e.ec=Fw,e.eddsa=Hw}(ew);const Kw="ReactNative",jn={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function h1(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function jw(){return!Sn()&&!!Hs()&&navigator.product===Kw}function Zw(){return!h1()&&!!Hs()&&!!Sn()}function Ps(){return jw()?jn.reactNative:h1()?jn.node:Zw()?jn.browser:jn.unknown}const Ww={};let We;const Yi=new Array(128).fill(void 0);Yi.push(void 0,null,!0,!1);function Ie(r){return Yi[r]}let nr=0,xa=null;function Qo(){return(xa===null||xa.byteLength===0)&&(xa=new Uint8Array(We.memory.buffer)),xa}const Yo=typeof TextEncoder<"u"?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},Jw=typeof Yo.encodeInto=="function"?function(r,e){return Yo.encodeInto(r,e)}:function(r,e){const t=Yo.encode(r);return e.set(t),{read:r.length,written:t.length}};function Mr(r,e,t){if(t===void 0){const h=Yo.encode(r),l=e(h.length,1)>>>0;return Qo().subarray(l,l+h.length).set(h),nr=h.length,l}let i=r.length,n=e(i,1)>>>0;const s=Qo();let f=0;for(;f<i;f++){const h=r.charCodeAt(f);if(h>127)break;s[n+f]=h}if(f!==i){f!==0&&(r=r.slice(f)),n=t(n,i,i=f+r.length*3,1)>>>0;const h=Qo().subarray(n+f,n+i),l=Jw(r,h);f+=l.written,n=t(n,i,f,1)>>>0}return nr=f,n}let Zn=null;function $r(){return(Zn===null||Zn.buffer.detached===!0||Zn.buffer.detached===void 0&&Zn.buffer!==We.memory.buffer)&&(Zn=new DataView(We.memory.buffer)),Zn}const d1=typeof TextDecoder<"u"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder<"u"&&d1.decode();function pn(r,e){return r=r>>>0,d1.decode(Qo().subarray(r,r+e))}let Aa=Yi.length;function Ye(r){Aa===Yi.length&&Yi.push(Yi.length+1);const e=Aa;return Aa=Yi[e],Yi[e]=r,e}function ei(r,e){try{return r.apply(this,e)}catch(t){We.__wbindgen_export_2(Ye(t))}}function Gw(r){r<132||(Yi[r]=Aa,Aa=r)}function ti(r){const e=Ie(r);return Gw(r),e}function Xi(r){return r==null}const u1=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>{We.__wbindgen_export_3.get(r.dtor)(r.a,r.b)});function Qw(r,e,t,i){const n={a:r,b:e,cnt:1,dtor:t},s=(...f)=>{n.cnt++;const h=n.a;n.a=0;try{return i(h,n.b,...f)}finally{--n.cnt===0?(We.__wbindgen_export_3.get(n.dtor)(h,n.b),u1.unregister(n)):n.a=h}};return s.original=n,u1.register(s,n,n),s}function r0(r){const e=typeof r;if(e=="number"||e=="boolean"||r==null)return`${r}`;if(e=="string")return`"${r}"`;if(e=="symbol"){const n=r.description;return n==null?"Symbol":`Symbol(${n})`}if(e=="function"){const n=r.name;return typeof n=="string"&&n.length>0?`Function(${n})`:"Function"}if(Array.isArray(r)){const n=r.length;let s="[";n>0&&(s+=r0(r[0]));for(let f=1;f<n;f++)s+=", "+r0(r[f]);return s+="]",s}const t=/\[object ([^\]]+)\]/.exec(toString.call(r));let i;if(t&&t.length>1)i=t[1];else return toString.call(r);if(i=="Object")try{return"Object("+JSON.stringify(r)+")"}catch{return"Object"}return r instanceof Error?`${r.name}: ${r.message}
|
44
|
-
${r.stack}`:i}function Yw(r,e,t){We.__wbindgen_export_5(r,e,Ye(t))}function Xw(r,e,t,i){We.__wbindgen_export_6(r,e,Ye(t),Ye(i))}const _w=Object.freeze({Usd:0,0:"Usd",Eur:1,1:"Eur",Gbp:2,2:"Gbp",Aud:3,3:"Aud",Cad:4,4:"Cad",Inr:5,5:"Inr",Jpy:6,6:"Jpy",Btc:7,7:"Btc",Eth:8,8:"Eth"}),$w=["omit","same-origin","include"],ex=["same-origin","no-cors","cors","navigate"],l1=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(r=>We.__wbg_client_free(r>>>0,1));class tx{__destroy_into_raw(){const e=this.__wbg_ptr;return this.__wbg_ptr=0,l1.unregister(this),e}free(){const e=this.__destroy_into_raw();We.__wbg_client_free(e,0)}constructor(e){const t=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),i=nr,n=We.client_new(t,i);return this.__wbg_ptr=n>>>0,l1.register(this,this.__wbg_ptr,this),this}prepare(e,t,i){const n=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),s=nr,f=Mr(t,We.__wbindgen_export_0,We.__wbindgen_export_1),h=nr,l=We.client_prepare(this.__wbg_ptr,n,s,f,h,Ye(i));return ti(l)}get_ui_fields(e,t){const i=We.client_get_ui_fields(this.__wbg_ptr,Ye(e),t);return ti(i)}prepare_detailed(e,t,i,n){const s=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),f=nr,h=Mr(t,We.__wbindgen_export_0,We.__wbindgen_export_1),l=nr,p=We.client_prepare_detailed(this.__wbg_ptr,s,f,h,l,Ye(i),n);return ti(p)}status(e){const t=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),i=nr,n=We.client_status(this.__wbg_ptr,t,i);return ti(n)}wait_for_success(e,t){const i=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),n=nr,s=We.client_wait_for_success(this.__wbg_ptr,i,n,t);return ti(s)}wait_for_success_with_timeout(e,t,i){const n=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),s=nr,f=We.client_wait_for_success_with_timeout(this.__wbg_ptr,n,s,t,i);return ti(f)}erc20_token_balance(e,t,i){const n=Mr(e,We.__wbindgen_export_0,We.__wbindgen_export_1),s=nr,f=Mr(t,We.__wbindgen_export_0,We.__wbindgen_export_1),h=nr,l=Mr(i,We.__wbindgen_export_0,We.__wbindgen_export_1),p=nr,m=We.client_erc20_token_balance(this.__wbg_ptr,n,s,f,h,l,p);return ti(m)}}typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>We.__wbg_config_free(r>>>0,1)),typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>We.__wbg_endpoint_free(r>>>0,1)),typeof FinalizationRegistry>"u"||new FinalizationRegistry(r=>We.__wbg_endpoints_free(r>>>0,1));async function rx(r,e){if(typeof Response=="function"&&r instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(r,e)}catch(i){if(r.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",i);else throw i}const t=await r.arrayBuffer();return await WebAssembly.instantiate(t,e)}else{const t=await WebAssembly.instantiate(r,e);return t instanceof WebAssembly.Instance?{instance:t,module:r}:t}}function ix(){const r={};return r.wbg={},r.wbg.__wbg_String_8f0eb39a4a4c2f66=function(e,t){const i=String(Ie(t)),n=Mr(i,We.__wbindgen_export_0,We.__wbindgen_export_1),s=nr;$r().setInt32(e+4*1,s,!0),$r().setInt32(e+4*0,n,!0)},r.wbg.__wbg_abort_775ef1d17fc65868=function(e){Ie(e).abort()},r.wbg.__wbg_append_8c7dd8d641a5f01b=function(){return ei(function(e,t,i,n,s){Ie(e).append(pn(t,i),pn(n,s))},arguments)},r.wbg.__wbg_arrayBuffer_d1b44c4390db422f=function(){return ei(function(e){const t=Ie(e).arrayBuffer();return Ye(t)},arguments)},r.wbg.__wbg_buffer_609cc3eee51ed158=function(e){const t=Ie(e).buffer;return Ye(t)},r.wbg.__wbg_call_672a4d21634d4a24=function(){return ei(function(e,t){const i=Ie(e).call(Ie(t));return Ye(i)},arguments)},r.wbg.__wbg_call_7cccdd69e0791ae2=function(){return ei(function(e,t,i){const n=Ie(e).call(Ie(t),Ie(i));return Ye(n)},arguments)},r.wbg.__wbg_done_769e5ede4b31c67b=function(e){return Ie(e).done},r.wbg.__wbg_entries_3265d4158b33e5dc=function(e){const t=Object.entries(Ie(e));return Ye(t)},r.wbg.__wbg_fetch_4465c2b10f21a927=function(e){const t=fetch(Ie(e));return Ye(t)},r.wbg.__wbg_fetch_509096533071c657=function(e,t){const i=Ie(e).fetch(Ie(t));return Ye(i)},r.wbg.__wbg_get_67b2ba62fc30de12=function(){return ei(function(e,t){const i=Reflect.get(Ie(e),Ie(t));return Ye(i)},arguments)},r.wbg.__wbg_get_b9b93047fe3cf45b=function(e,t){const i=Ie(e)[t>>>0];return Ye(i)},r.wbg.__wbg_getwithrefkey_1dc361bd10053bfe=function(e,t){const i=Ie(e)[Ie(t)];return Ye(i)},r.wbg.__wbg_has_a5ea9117f258a0ec=function(){return ei(function(e,t){return Reflect.has(Ie(e),Ie(t))},arguments)},r.wbg.__wbg_headers_9cb51cfd2ac780a4=function(e){const t=Ie(e).headers;return Ye(t)},r.wbg.__wbg_instanceof_ArrayBuffer_e14585432e3737fc=function(e){let t;try{t=Ie(e)instanceof ArrayBuffer}catch{t=!1}return t},r.wbg.__wbg_instanceof_Map_f3469ce2244d2430=function(e){let t;try{t=Ie(e)instanceof Map}catch{t=!1}return t},r.wbg.__wbg_instanceof_Response_f2cc20d9f7dfd644=function(e){let t;try{t=Ie(e)instanceof Response}catch{t=!1}return t},r.wbg.__wbg_instanceof_Uint8Array_17156bcf118086a9=function(e){let t;try{t=Ie(e)instanceof Uint8Array}catch{t=!1}return t},r.wbg.__wbg_isArray_a1eab7e0d067391b=function(e){return Array.isArray(Ie(e))},r.wbg.__wbg_isSafeInteger_343e2beeeece1bb0=function(e){return Number.isSafeInteger(Ie(e))},r.wbg.__wbg_iterator_9a24c88df860dc65=function(){return Ye(Symbol.iterator)},r.wbg.__wbg_length_a446193dc22c12f8=function(e){return Ie(e).length},r.wbg.__wbg_length_e2d2a49132c1b256=function(e){return Ie(e).length},r.wbg.__wbg_new_018dcc2d6c8c2f6a=function(){return ei(function(){const e=new Headers;return Ye(e)},arguments)},r.wbg.__wbg_new_23a2665fac83c611=function(e,t){try{var i={a:e,b:t};const n=(f,h)=>{const l=i.a;i.a=0;try{return Xw(l,i.b,f,h)}finally{i.a=l}},s=new Promise(n);return Ye(s)}finally{i.a=i.b=0}},r.wbg.__wbg_new_405e22f390576ce2=function(){const e=new Object;return Ye(e)},r.wbg.__wbg_new_78feb108b6472713=function(){return Ye([])},r.wbg.__wbg_new_a12002a7f91c75be=function(e){const t=new Uint8Array(Ie(e));return Ye(t)},r.wbg.__wbg_new_e25e5aab09ff45db=function(){return ei(function(){const e=new AbortController;return Ye(e)},arguments)},r.wbg.__wbg_newnoargs_105ed471475aaf50=function(e,t){const i=new Function(pn(e,t));return Ye(i)},r.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a=function(e,t,i){const n=new Uint8Array(Ie(e),t>>>0,i>>>0);return Ye(n)},r.wbg.__wbg_newwithstrandinit_06c535e0a867c635=function(){return ei(function(e,t,i){const n=new Request(pn(e,t),Ie(i));return Ye(n)},arguments)},r.wbg.__wbg_next_25feadfc0913fea9=function(e){const t=Ie(e).next;return Ye(t)},r.wbg.__wbg_next_6574e1a8a62d1055=function(){return ei(function(e){const t=Ie(e).next();return Ye(t)},arguments)},r.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5=function(e){queueMicrotask(Ie(e))},r.wbg.__wbg_queueMicrotask_d3219def82552485=function(e){const t=Ie(e).queueMicrotask;return Ye(t)},r.wbg.__wbg_resolve_4851785c9c5f573d=function(e){const t=Promise.resolve(Ie(e));return Ye(t)},r.wbg.__wbg_set_37837023f3d740e8=function(e,t,i){Ie(e)[t>>>0]=ti(i)},r.wbg.__wbg_set_3f1d0b984ed272ed=function(e,t,i){Ie(e)[ti(t)]=ti(i)},r.wbg.__wbg_set_65595bdd868b3009=function(e,t,i){Ie(e).set(Ie(t),i>>>0)},r.wbg.__wbg_setbody_5923b78a95eedf29=function(e,t){Ie(e).body=Ie(t)},r.wbg.__wbg_setcredentials_c3a22f1cd105a2c6=function(e,t){Ie(e).credentials=$w[t]},r.wbg.__wbg_setheaders_834c0bdb6a8949ad=function(e,t){Ie(e).headers=Ie(t)},r.wbg.__wbg_setmethod_3c5280fe5d890842=function(e,t,i){Ie(e).method=pn(t,i)},r.wbg.__wbg_setmode_5dc300b865044b65=function(e,t){Ie(e).mode=ex[t]},r.wbg.__wbg_setsignal_75b21ef3a81de905=function(e,t){Ie(e).signal=Ie(t)},r.wbg.__wbg_signal_aaf9ad74119f20a4=function(e){const t=Ie(e).signal;return Ye(t)},r.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07=function(){const e=typeof global>"u"?null:global;return Xi(e)?0:Ye(e)},r.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0=function(){const e=typeof globalThis>"u"?null:globalThis;return Xi(e)?0:Ye(e)},r.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819=function(){const e=typeof self>"u"?null:self;return Xi(e)?0:Ye(e)},r.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40=function(){const e=typeof window>"u"?null:window;return Xi(e)?0:Ye(e)},r.wbg.__wbg_status_f6360336ca686bf0=function(e){return Ie(e).status},r.wbg.__wbg_stringify_f7ed6987935b4a24=function(){return ei(function(e){const t=JSON.stringify(Ie(e));return Ye(t)},arguments)},r.wbg.__wbg_text_7805bea50de2af49=function(){return ei(function(e){const t=Ie(e).text();return Ye(t)},arguments)},r.wbg.__wbg_then_44b73946d2fb3e7d=function(e,t){const i=Ie(e).then(Ie(t));return Ye(i)},r.wbg.__wbg_then_48b406749878a531=function(e,t,i){const n=Ie(e).then(Ie(t),Ie(i));return Ye(n)},r.wbg.__wbg_url_ae10c34ca209681d=function(e,t){const i=Ie(t).url,n=Mr(i,We.__wbindgen_export_0,We.__wbindgen_export_1),s=nr;$r().setInt32(e+4*1,s,!0),$r().setInt32(e+4*0,n,!0)},r.wbg.__wbg_value_cd1ffa7b1ab794f1=function(e){const t=Ie(e).value;return Ye(t)},r.wbg.__wbindgen_as_number=function(e){return+Ie(e)},r.wbg.__wbindgen_bigint_from_i64=function(e){return Ye(e)},r.wbg.__wbindgen_bigint_from_u64=function(e){const t=BigInt.asUintN(64,e);return Ye(t)},r.wbg.__wbindgen_bigint_get_as_i64=function(e,t){const i=Ie(t),n=typeof i=="bigint"?i:void 0;$r().setBigInt64(e+8*1,Xi(n)?BigInt(0):n,!0),$r().setInt32(e+4*0,!Xi(n),!0)},r.wbg.__wbindgen_boolean_get=function(e){const t=Ie(e);return typeof t=="boolean"?t?1:0:2},r.wbg.__wbindgen_cb_drop=function(e){const t=ti(e).original;return t.cnt--==1?(t.a=0,!0):!1},r.wbg.__wbindgen_closure_wrapper3953=function(e,t,i){const n=Qw(e,t,575,Yw);return Ye(n)},r.wbg.__wbindgen_debug_string=function(e,t){const i=r0(Ie(t)),n=Mr(i,We.__wbindgen_export_0,We.__wbindgen_export_1),s=nr;$r().setInt32(e+4*1,s,!0),$r().setInt32(e+4*0,n,!0)},r.wbg.__wbindgen_error_new=function(e,t){const i=new Error(pn(e,t));return Ye(i)},r.wbg.__wbindgen_in=function(e,t){return Ie(e)in Ie(t)},r.wbg.__wbindgen_is_bigint=function(e){return typeof Ie(e)=="bigint"},r.wbg.__wbindgen_is_function=function(e){return typeof Ie(e)=="function"},r.wbg.__wbindgen_is_object=function(e){const t=Ie(e);return typeof t=="object"&&t!==null},r.wbg.__wbindgen_is_undefined=function(e){return Ie(e)===void 0},r.wbg.__wbindgen_jsval_eq=function(e,t){return Ie(e)===Ie(t)},r.wbg.__wbindgen_jsval_loose_eq=function(e,t){return Ie(e)==Ie(t)},r.wbg.__wbindgen_memory=function(){const e=We.memory;return Ye(e)},r.wbg.__wbindgen_number_get=function(e,t){const i=Ie(t),n=typeof i=="number"?i:void 0;$r().setFloat64(e+8*1,Xi(n)?0:n,!0),$r().setInt32(e+4*0,!Xi(n),!0)},r.wbg.__wbindgen_number_new=function(e){return Ye(e)},r.wbg.__wbindgen_object_clone_ref=function(e){const t=Ie(e);return Ye(t)},r.wbg.__wbindgen_object_drop_ref=function(e){ti(e)},r.wbg.__wbindgen_string_get=function(e,t){const i=Ie(t),n=typeof i=="string"?i:void 0,s=Xi(n)?0:Mr(n,We.__wbindgen_export_0,We.__wbindgen_export_1),f=nr;$r().setInt32(e+4*1,f,!0),$r().setInt32(e+4*0,s,!0)},r.wbg.__wbindgen_string_new=function(e,t){const i=pn(e,t);return Ye(i)},r.wbg.__wbindgen_throw=function(e,t){throw new Error(pn(e,t))},r}function nx(r,e){return We=r.exports,p1.__wbindgen_wasm_module=e,Zn=null,xa=null,We}async function p1(r){if(We!==void 0)return We;typeof r<"u"&&(Object.getPrototypeOf(r)===Object.prototype?{module_or_path:r}=r:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),typeof r>"u"&&(r=new URL("yttrium_bg.wasm",Ww.url));const e=ix();(typeof r=="string"||typeof Request=="function"&&r instanceof Request||typeof URL=="function"&&r instanceof URL)&&(r=fetch(r));const{instance:t,module:i}=await rx(await r,e);return nx(t,i)}const sx="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",ax={decryptMessage:async r=>{const e={core:new Hc({storageOptions:r.storageOptions,storage:r.storage})};await e.core.crypto.init();const t=e.core.crypto.decode(r.topic,r.encryptedMessage);return e.core=null,t},getMetadata:async r=>{const e={core:new Hc({storageOptions:r.storageOptions,storage:r.storage}),sessionStore:null};e.sessionStore=new X9(e.core,e.core.logger),await e.sessionStore.init();const t=e.sessionStore.get(r.topic),i=t?.peer.metadata;return e.core=null,e.sessionStore=null,i}};var Ma={},Xo={};function b1(r){this.buffer=r,this.pos=0}b1.prototype.read=function(r,e,t){this.pos+t>this.buffer.length&&(t=this.buffer.length-this.pos);for(var i=0;i<t;i++)r[e+i]=this.buffer[this.pos+i];return this.pos+=t,t},Xo.BrotliInput=b1;function v1(r){this.buffer=r,this.pos=0}v1.prototype.write=function(r,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(r.subarray(0,e),this.pos),this.pos+=e,e},Xo.BrotliOutput=v1;var Wn=4096,ox=2*Wn+32,g1=2*Wn-1,fx=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function Jn(r){this.buf_=new Uint8Array(ox),this.input_=r,this.reset()}Jn.READ_SIZE=Wn,Jn.IBUF_MASK=g1,Jn.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var r=0;r<4;r++)this.val_|=this.buf_[this.pos_]<<8*r,++this.pos_;return this.bit_end_pos_>0},Jn.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var r=this.buf_ptr_,e=this.input_.read(this.buf_,r,Wn);if(e<0)throw new Error("Unexpected end of input");if(e<Wn){this.eos_=1;for(var t=0;t<32;t++)this.buf_[r+e+t]=0}if(r===0){for(var t=0;t<32;t++)this.buf_[(Wn<<1)+t]=this.buf_[t];this.buf_ptr_=Wn}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}},Jn.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&g1]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},Jn.prototype.readBits=function(r){32-this.bit_pos_<r&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&fx[r];return this.bit_pos_+=r,e};var cx=Jn,bn={},i0={},_o={};_o.byteLength=ux,_o.toByteArray=px,_o.fromByteArray=gx;for(var qi=[],ri=[],hx=typeof Uint8Array<"u"?Uint8Array:Array,n0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Os=0,dx=n0.length;Os<dx;++Os)qi[Os]=n0[Os],ri[n0.charCodeAt(Os)]=Os;ri["-".charCodeAt(0)]=62,ri["_".charCodeAt(0)]=63;function m1(r){var e=r.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var t=r.indexOf("=");t===-1&&(t=e);var i=t===e?0:4-t%4;return[t,i]}function ux(r){var e=m1(r),t=e[0],i=e[1];return(t+i)*3/4-i}function lx(r,e,t){return(e+t)*3/4-t}function px(r){var e,t=m1(r),i=t[0],n=t[1],s=new hx(lx(r,i,n)),f=0,h=n>0?i-4:i,l;for(l=0;l<h;l+=4)e=ri[r.charCodeAt(l)]<<18|ri[r.charCodeAt(l+1)]<<12|ri[r.charCodeAt(l+2)]<<6|ri[r.charCodeAt(l+3)],s[f++]=e>>16&255,s[f++]=e>>8&255,s[f++]=e&255;return n===2&&(e=ri[r.charCodeAt(l)]<<2|ri[r.charCodeAt(l+1)]>>4,s[f++]=e&255),n===1&&(e=ri[r.charCodeAt(l)]<<10|ri[r.charCodeAt(l+1)]<<4|ri[r.charCodeAt(l+2)]>>2,s[f++]=e>>8&255,s[f++]=e&255),s}function bx(r){return qi[r>>18&63]+qi[r>>12&63]+qi[r>>6&63]+qi[r&63]}function vx(r,e,t){for(var i,n=[],s=e;s<t;s+=3)i=(r[s]<<16&16711680)+(r[s+1]<<8&65280)+(r[s+2]&255),n.push(bx(i));return n.join("")}function gx(r){for(var e,t=r.length,i=t%3,n=[],s=16383,f=0,h=t-i;f<h;f+=s)n.push(vx(r,f,f+s>h?h:f+s));return i===1?(e=r[t-1],n.push(qi[e>>2]+qi[e<<4&63]+"==")):i===2&&(e=(r[t-2]<<8)+r[t-1],n.push(qi[e>>10]+qi[e>>4&63]+qi[e<<2&63]+"=")),n.join("")}var s0,y1;function mx(){return y1||(y1=1,s0="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"),s0}var w1;function yx(){if(w1)return i0;w1=1;var r=_o;return i0.init=function(){var e=P1().BrotliDecompressBuffer,t=r.toByteArray(mx());return e(t)},i0}var x1;function A1(){if(x1)return bn;x1=1;var r=yx();return bn.init=function(){bn.dictionary=r.init()},bn.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),bn.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),bn.minDictionaryWordLength=4,bn.maxDictionaryWordLength=24,bn}var $o={};function Ns(r,e){this.bits=r,this.value=e}$o.HuffmanCode=Ns;var Ds=15;function M1(r,e){for(var t=1<<e-1;r&t;)t>>=1;return(r&t-1)+t}function S1(r,e,t,i,n){do i-=t,r[e+i]=new Ns(n.bits,n.value);while(i>0)}function wx(r,e,t){for(var i=1<<e-t;e<Ds&&(i-=r[e],!(i<=0));)++e,i<<=1;return e-t}$o.BrotliBuildHuffmanTable=function(r,e,t,i,n){var s=e,f,h,l,p,m,y,E,I,N,F,k,H=new Int32Array(Ds+1),L=new Int32Array(Ds+1);for(k=new Int32Array(n),l=0;l<n;l++)H[i[l]]++;for(L[1]=0,h=1;h<Ds;h++)L[h+1]=L[h]+H[h];for(l=0;l<n;l++)i[l]!==0&&(k[L[i[l]]++]=l);if(I=t,N=1<<I,F=N,L[Ds]===1){for(p=0;p<F;++p)r[e+p]=new Ns(0,k[0]&65535);return F}for(p=0,l=0,h=1,m=2;h<=t;++h,m<<=1)for(;H[h]>0;--H[h])f=new Ns(h&255,k[l++]&65535),S1(r,e+p,m,N,f),p=M1(p,h);for(E=F-1,y=-1,h=t+1,m=2;h<=Ds;++h,m<<=1)for(;H[h]>0;--H[h])(p&E)!==y&&(e+=N,I=wx(H,h,t),N=1<<I,F+=N,y=p&E,r[s+y]=new Ns(I+t&255,e-s-y&65535)),f=new Ns(h-t&255,k[l++]&65535),S1(r,e+(p>>t),m,N,f),p=M1(p,h);return F};var a0={};a0.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),a0.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512]);var Rs={};function De(r,e){this.offset=r,this.nbits=e}Rs.kBlockLengthPrefixCode=[new De(1,2),new De(5,2),new De(9,2),new De(13,2),new De(17,3),new De(25,3),new De(33,3),new De(41,3),new De(49,4),new De(65,4),new De(81,4),new De(97,4),new De(113,5),new De(145,5),new De(177,5),new De(209,5),new De(241,6),new De(305,6),new De(369,7),new De(497,8),new De(753,9),new De(1265,10),new De(2289,11),new De(4337,12),new De(8433,13),new De(16625,24)],Rs.kInsertLengthPrefixCode=[new De(0,0),new De(1,0),new De(2,0),new De(3,0),new De(4,0),new De(5,0),new De(6,1),new De(8,1),new De(10,2),new De(14,2),new De(18,3),new De(26,3),new De(34,4),new De(50,4),new De(66,5),new De(98,5),new De(130,6),new De(194,7),new De(322,8),new De(578,9),new De(1090,10),new De(2114,12),new De(6210,14),new De(22594,24)],Rs.kCopyLengthPrefixCode=[new De(2,0),new De(3,0),new De(4,0),new De(5,0),new De(6,0),new De(7,0),new De(8,0),new De(9,0),new De(10,1),new De(12,1),new De(14,2),new De(18,2),new De(22,3),new De(30,3),new De(38,4),new De(54,4),new De(70,5),new De(102,5),new De(134,6),new De(198,7),new De(326,8),new De(582,9),new De(1094,10),new De(2118,24)],Rs.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],Rs.kCopyRangeLut=[0,8,0,8,16,0,16,8,16];var Sa={},E1;function xx(){if(E1)return Sa;E1=1;var r=A1(),e=0,t=1,i=2,n=3,s=4,f=5,h=6,l=7,p=8,m=9,y=10,E=11,I=12,N=13,F=14,k=15,H=16,L=17,W=18,z=20;function R(B,G,ie){this.prefix=new Uint8Array(B.length),this.transform=G,this.suffix=new Uint8Array(ie.length);for(var P=0;P<B.length;P++)this.prefix[P]=B.charCodeAt(P);for(var P=0;P<ie.length;P++)this.suffix[P]=ie.charCodeAt(P)}var V=[new R("",e,""),new R("",e," "),new R(" ",e," "),new R("",I,""),new R("",y," "),new R("",e," the "),new R(" ",e,""),new R("s ",e," "),new R("",e," of "),new R("",y,""),new R("",e," and "),new R("",N,""),new R("",t,""),new R(", ",e," "),new R("",e,", "),new R(" ",y," "),new R("",e," in "),new R("",e," to "),new R("e ",e," "),new R("",e,'"'),new R("",e,"."),new R("",e,'">'),new R("",e,`
|
45
|
-
`),new R("",n,""),new R("",e,"]"),new R("",e," for "),new R("",F,""),new R("",i,""),new R("",e," a "),new R("",e," that "),new R(" ",y,""),new R("",e,". "),new R(".",e,""),new R(" ",e,", "),new R("",k,""),new R("",e," with "),new R("",e,"'"),new R("",e," from "),new R("",e," by "),new R("",H,""),new R("",L,""),new R(" the ",e,""),new R("",s,""),new R("",e,". The "),new R("",E,""),new R("",e," on "),new R("",e," as "),new R("",e," is "),new R("",l,""),new R("",t,"ing "),new R("",e,`
|
46
|
-
`),new R("",e,":"),new R(" ",e,". "),new R("",e,"ed "),new R("",z,""),new R("",W,""),new R("",h,""),new R("",e,"("),new R("",y,", "),new R("",p,""),new R("",e," at "),new R("",e,"ly "),new R(" the ",e," of "),new R("",f,""),new R("",m,""),new R(" ",y,", "),new R("",y,'"'),new R(".",e,"("),new R("",E," "),new R("",y,'">'),new R("",e,'="'),new R(" ",e,"."),new R(".com/",e,""),new R(" the ",e," of the "),new R("",y,"'"),new R("",e,". This "),new R("",e,","),new R(".",e," "),new R("",y,"("),new R("",y,"."),new R("",e," not "),new R(" ",e,'="'),new R("",e,"er "),new R(" ",E," "),new R("",e,"al "),new R(" ",E,""),new R("",e,"='"),new R("",E,'"'),new R("",y,". "),new R(" ",e,"("),new R("",e,"ful "),new R(" ",y,". "),new R("",e,"ive "),new R("",e,"less "),new R("",E,"'"),new R("",e,"est "),new R(" ",y,"."),new R("",E,'">'),new R(" ",e,"='"),new R("",y,","),new R("",e,"ize "),new R("",E,"."),new R("\xC2\xA0",e,""),new R(" ",e,","),new R("",y,'="'),new R("",E,'="'),new R("",e,"ous "),new R("",E,", "),new R("",y,"='"),new R(" ",y,","),new R(" ",E,'="'),new R(" ",E,", "),new R("",E,","),new R("",E,"("),new R("",E,". "),new R(" ",E,"."),new R("",E,"='"),new R(" ",E,". "),new R(" ",y,'="'),new R(" ",E,"='"),new R(" ",y,"='")];Sa.kTransforms=V,Sa.kNumTransforms=V.length;function S(B,G){return B[G]<192?(B[G]>=97&&B[G]<=122&&(B[G]^=32),1):B[G]<224?(B[G+1]^=32,2):(B[G+2]^=5,3)}return Sa.transformDictionaryWord=function(B,G,ie,P,o){var d=V[o].prefix,a=V[o].suffix,u=V[o].transform,b=u<I?0:u-(I-1),w=0,A=G,g;b>P&&(b=P);for(var c=0;c<d.length;)B[G++]=d[c++];for(ie+=b,P-=b,u<=m&&(P-=u),w=0;w<P;w++)B[G++]=r.dictionary[ie+w];if(g=G-P,u===y)S(B,g);else if(u===E)for(;P>0;){var v=S(B,g);g+=v,P-=v}for(var M=0;M<a.length;)B[G++]=a[M++];return G-A},Sa}var I1;function P1(){if(I1)return Ma;I1=1;var r=Xo.BrotliInput,e=Xo.BrotliOutput,t=cx,i=A1(),n=$o.HuffmanCode,s=$o.BrotliBuildHuffmanTable,f=a0,h=Rs,l=xx(),p=8,m=16,y=256,E=704,I=26,N=6,F=2,k=8,H=255,L=1080,W=18,z=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),R=16,V=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),S=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),B=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function G(q){var T;return q.readBits(1)===0?16:(T=q.readBits(3),T>0?17+T:(T=q.readBits(3),T>0?8+T:17))}function ie(q){if(q.readBits(1)){var T=q.readBits(3);return T===0?1:q.readBits(T)+(1<<T)}return 0}function P(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function o(q){var T=new P,x,C,j;if(T.input_end=q.readBits(1),T.input_end&&q.readBits(1))return T;if(x=q.readBits(2)+4,x===7){if(T.is_metadata=!0,q.readBits(1)!==0)throw new Error("Invalid reserved bit");if(C=q.readBits(2),C===0)return T;for(j=0;j<C;j++){var Q=q.readBits(8);if(j+1===C&&C>1&&Q===0)throw new Error("Invalid size byte");T.meta_block_length|=Q<<j*8}}else for(j=0;j<x;++j){var _=q.readBits(4);if(j+1===x&&x>4&&_===0)throw new Error("Invalid size nibble");T.meta_block_length|=_<<j*4}return++T.meta_block_length,!T.input_end&&!T.is_metadata&&(T.is_uncompressed=q.readBits(1)),T}function d(q,T,x){var C;return x.fillBitWindow(),T+=x.val_>>>x.bit_pos_&H,C=q[T].bits-k,C>0&&(x.bit_pos_+=k,T+=q[T].value,T+=x.val_>>>x.bit_pos_&(1<<C)-1),x.bit_pos_+=q[T].bits,q[T].value}function a(q,T,x,C){for(var j=0,Q=p,_=0,X=0,ne=32768,ae=[],$=0;$<32;$++)ae.push(new n(0,0));for(s(ae,0,5,q,W);j<T&&ne>0;){var he=0,Pe;if(C.readMoreInput(),C.fillBitWindow(),he+=C.val_>>>C.bit_pos_&31,C.bit_pos_+=ae[he].bits,Pe=ae[he].value&255,Pe<m)_=0,x[j++]=Pe,Pe!==0&&(Q=Pe,ne-=32768>>Pe);else{var se=Pe-14,de,Se,re=0;if(Pe===m&&(re=Q),X!==re&&(_=0,X=re),de=_,_>0&&(_-=2,_<<=se),_+=C.readBits(se)+3,Se=_-de,j+Se>T)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var ce=0;ce<Se;ce++)x[j+ce]=X;j+=Se,X!==0&&(ne-=Se<<15-X)}}if(ne!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+ne);for(;j<T;j++)x[j]=0}function u(q,T,x,C){var j=0,Q,_=new Uint8Array(q);if(C.readMoreInput(),Q=C.readBits(2),Q===1){for(var X,ne=q-1,ae=0,$=new Int32Array(4),he=C.readBits(2)+1;ne;)ne>>=1,++ae;for(X=0;X<he;++X)$[X]=C.readBits(ae)%q,_[$[X]]=2;switch(_[$[0]]=1,he){case 1:break;case 3:if($[0]===$[1]||$[0]===$[2]||$[1]===$[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if($[0]===$[1])throw new Error("[ReadHuffmanCode] invalid symbols");_[$[1]]=1;break;case 4:if($[0]===$[1]||$[0]===$[2]||$[0]===$[3]||$[1]===$[2]||$[1]===$[3]||$[2]===$[3])throw new Error("[ReadHuffmanCode] invalid symbols");C.readBits(1)?(_[$[2]]=3,_[$[3]]=3):_[$[0]]=2;break}}else{var X,Pe=new Uint8Array(W),se=32,de=0,Se=[new n(2,0),new n(2,4),new n(2,3),new n(3,2),new n(2,0),new n(2,4),new n(2,3),new n(4,1),new n(2,0),new n(2,4),new n(2,3),new n(3,2),new n(2,0),new n(2,4),new n(2,3),new n(4,5)];for(X=Q;X<W&&se>0;++X){var re=z[X],ce=0,xe;C.fillBitWindow(),ce+=C.val_>>>C.bit_pos_&15,C.bit_pos_+=Se[ce].bits,xe=Se[ce].value,Pe[re]=xe,xe!==0&&(se-=32>>xe,++de)}if(!(de===1||se===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");a(Pe,q,_,C)}if(j=s(T,x,k,_,q),j===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return j}function b(q,T,x){var C,j;return C=d(q,T,x),j=h.kBlockLengthPrefixCode[C].nbits,h.kBlockLengthPrefixCode[C].offset+x.readBits(j)}function w(q,T,x){var C;return q<R?(x+=V[q],x&=3,C=T[x]+S[q]):C=q-R+1,C}function A(q,T){for(var x=q[T],C=T;C;--C)q[C]=q[C-1];q[0]=x}function g(q,T){var x=new Uint8Array(256),C;for(C=0;C<256;++C)x[C]=C;for(C=0;C<T;++C){var j=q[C];q[C]=x[j],j&&A(x,j)}}function c(q,T){this.alphabet_size=q,this.num_htrees=T,this.codes=new Array(T+T*B[q+31>>>5]),this.htrees=new Uint32Array(T)}c.prototype.decode=function(q){var T,x,C=0;for(T=0;T<this.num_htrees;++T)this.htrees[T]=C,x=u(this.alphabet_size,this.codes,C,q),C+=x};function v(q,T){var x={num_htrees:null,context_map:null},C,j=0,Q,_;T.readMoreInput();var X=x.num_htrees=ie(T)+1,ne=x.context_map=new Uint8Array(q);if(X<=1)return x;for(C=T.readBits(1),C&&(j=T.readBits(4)+1),Q=[],_=0;_<L;_++)Q[_]=new n(0,0);for(u(X+j,Q,0,T),_=0;_<q;){var ae;if(T.readMoreInput(),ae=d(Q,0,T),ae===0)ne[_]=0,++_;else if(ae<=j)for(var $=1+(1<<ae)+T.readBits(ae);--$;){if(_>=q)throw new Error("[DecodeContextMap] i >= context_map_size");ne[_]=0,++_}else ne[_]=ae-j,++_}return T.readBits(1)&&g(ne,q),x}function M(q,T,x,C,j,Q,_){var X=x*2,ne=x,ae=d(T,x*L,_),$;ae===0?$=j[X+(Q[ne]&1)]:ae===1?$=j[X+(Q[ne]-1&1)]+1:$=ae-2,$>=q&&($-=q),C[x]=$,j[X+(Q[ne]&1)]=$,++Q[ne]}function D(q,T,x,C,j,Q){var _=j+1,X=x&j,ne=Q.pos_&t.IBUF_MASK,ae;if(T<8||Q.bit_pos_+(T<<3)<Q.bit_end_pos_){for(;T-- >0;)Q.readMoreInput(),C[X++]=Q.readBits(8),X===_&&(q.write(C,_),X=0);return}if(Q.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;Q.bit_pos_<32;)C[X]=Q.val_>>>Q.bit_pos_,Q.bit_pos_+=8,++X,--T;if(ae=Q.bit_end_pos_-Q.bit_pos_>>3,ne+ae>t.IBUF_MASK){for(var $=t.IBUF_MASK+1-ne,he=0;he<$;he++)C[X+he]=Q.buf_[ne+he];ae-=$,X+=$,T-=$,ne=0}for(var he=0;he<ae;he++)C[X+he]=Q.buf_[ne+he];if(X+=ae,T-=ae,X>=_){q.write(C,_),X-=_;for(var he=0;he<X;he++)C[he]=C[_+he]}for(;X+T>=_;){if(ae=_-X,Q.input_.read(C,X,ae)<ae)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");q.write(C,_),T-=ae,X=0}if(Q.input_.read(C,X,T)<T)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");Q.reset()}function J(q){var T=q.bit_pos_+7&-8,x=q.readBits(T-q.bit_pos_);return x==0}function O(q){var T=new r(q),x=new t(T);G(x);var C=o(x);return C.meta_block_length}Ma.BrotliDecompressedSize=O;function Z(q,T){var x=new r(q);T==null&&(T=O(q));var C=new Uint8Array(T),j=new e(C);return U(x,j),j.pos<j.buffer.length&&(j.buffer=j.buffer.subarray(0,j.pos)),j.buffer}Ma.BrotliDecompressBuffer=Z;function U(q,T){var x,C=0,j=0,Q=0,_,X=0,ne,ae,$,he,Pe=[16,15,11,4],se=0,de=0,Se=0,re=[new c(0,0),new c(0,0),new c(0,0)],ce,xe,ee,ve=128+t.READ_SIZE;ee=new t(q),Q=G(ee),_=(1<<Q)-16,ne=1<<Q,ae=ne-1,$=new Uint8Array(ne+ve+i.maxDictionaryWordLength),he=ne,ce=[],xe=[];for(var qe=0;qe<3*L;qe++)ce[qe]=new n(0,0),xe[qe]=new n(0,0);for(;!j;){var te=0,we,Ne=[1<<28,1<<28,1<<28],oe=[0],pe=[1,1,1],ze=[0,1,0,1,0,1],Ae=[0],ke,_e,Me,Ke,it=null,Oe=null,Ce,je=null,be,Fe=0,Je=null,le=0,Be=0,Ge=null,ge=0,Le=0,Qe=0,ue,Re;for(x=0;x<3;++x)re[x].codes=null,re[x].htrees=null;ee.readMoreInput();var He=o(ee);if(te=He.meta_block_length,C+te>T.buffer.length){var me=new Uint8Array(C+te);me.set(T.buffer),T.buffer=me}if(j=He.input_end,we=He.is_uncompressed,He.is_metadata){for(J(ee);te>0;--te)ee.readMoreInput(),ee.readBits(8);continue}if(te!==0){if(we){ee.bit_pos_=ee.bit_pos_+7&-8,D(T,te,C,$,ae,ee),C+=te;continue}for(x=0;x<3;++x)pe[x]=ie(ee)+1,pe[x]>=2&&(u(pe[x]+2,ce,x*L,ee),u(I,xe,x*L,ee),Ne[x]=b(xe,x*L,ee),Ae[x]=1);for(ee.readMoreInput(),ke=ee.readBits(2),_e=R+(ee.readBits(4)<<ke),Me=(1<<ke)-1,Ke=_e+(48<<ke),Oe=new Uint8Array(pe[0]),x=0;x<pe[0];++x)ee.readMoreInput(),Oe[x]=ee.readBits(2)<<1;var Ue=v(pe[0]<<N,ee);Ce=Ue.num_htrees,it=Ue.context_map;var ft=v(pe[2]<<F,ee);for(be=ft.num_htrees,je=ft.context_map,re[0]=new c(y,Ce),re[1]=new c(E,pe[1]),re[2]=new c(Ke,be),x=0;x<3;++x)re[x].decode(ee);for(Je=0,Ge=0,ue=Oe[oe[0]],Le=f.lookupOffsets[ue],Qe=f.lookupOffsets[ue+1],Re=re[1].htrees[0];te>0;){var Te,Ze,Xe,nt,It,ct,ht,lt,dt,Rt,Ft;for(ee.readMoreInput(),Ne[1]===0&&(M(pe[1],ce,1,oe,ze,Ae,ee),Ne[1]=b(xe,L,ee),Re=re[1].htrees[oe[1]]),--Ne[1],Te=d(re[1].codes,Re,ee),Ze=Te>>6,Ze>=2?(Ze-=2,ht=-1):ht=0,Xe=h.kInsertRangeLut[Ze]+(Te>>3&7),nt=h.kCopyRangeLut[Ze]+(Te&7),It=h.kInsertLengthPrefixCode[Xe].offset+ee.readBits(h.kInsertLengthPrefixCode[Xe].nbits),ct=h.kCopyLengthPrefixCode[nt].offset+ee.readBits(h.kCopyLengthPrefixCode[nt].nbits),de=$[C-1&ae],Se=$[C-2&ae],Rt=0;Rt<It;++Rt)ee.readMoreInput(),Ne[0]===0&&(M(pe[0],ce,0,oe,ze,Ae,ee),Ne[0]=b(xe,0,ee),Fe=oe[0]<<N,Je=Fe,ue=Oe[oe[0]],Le=f.lookupOffsets[ue],Qe=f.lookupOffsets[ue+1]),dt=f.lookup[Le+de]|f.lookup[Qe+Se],le=it[Je+dt],--Ne[0],Se=de,de=d(re[0].codes,re[0].htrees[le],ee),$[C&ae]=de,(C&ae)===ae&&T.write($,ne),++C;if(te-=It,te<=0)break;if(ht<0){var dt;if(ee.readMoreInput(),Ne[2]===0&&(M(pe[2],ce,2,oe,ze,Ae,ee),Ne[2]=b(xe,2*L,ee),Be=oe[2]<<F,Ge=Be),--Ne[2],dt=(ct>4?3:ct-2)&255,ge=je[Ge+dt],ht=d(re[2].codes,re[2].htrees[ge],ee),ht>=_e){var sr,lr,qt;ht-=_e,lr=ht&Me,ht>>=ke,sr=(ht>>1)+1,qt=(2+(ht&1)<<sr)-4,ht=_e+(qt+ee.readBits(sr)<<ke)+lr}}if(lt=w(ht,Pe,se),lt<0)throw new Error("[BrotliDecompress] invalid distance");if(C<_&&X!==_?X=C:X=_,Ft=C&ae,lt>X)if(ct>=i.minDictionaryWordLength&&ct<=i.maxDictionaryWordLength){var qt=i.offsetsByLength[ct],Lt=lt-X-1,pr=i.sizeBitsByLength[ct],Sr=(1<<pr)-1,Pt=Lt&Sr,br=Lt>>pr;if(qt+=Pt*ct,br<l.kNumTransforms){var ar=l.transformDictionaryWord($,Ft,qt,ct,br);if(Ft+=ar,C+=ar,te-=ar,Ft>=he){T.write($,ne);for(var Yt=0;Yt<Ft-he;Yt++)$[Yt]=$[he+Yt]}}else throw new Error("Invalid backward reference. pos: "+C+" distance: "+lt+" len: "+ct+" bytes left: "+te)}else throw new Error("Invalid backward reference. pos: "+C+" distance: "+lt+" len: "+ct+" bytes left: "+te);else{if(ht>0&&(Pe[se&3]=lt,++se),ct>te)throw new Error("Invalid backward reference. pos: "+C+" distance: "+lt+" len: "+ct+" bytes left: "+te);for(Rt=0;Rt<ct;++Rt)$[C&ae]=$[C-lt&ae],(C&ae)===ae&&T.write($,ne),++C,--te}de=$[C-1&ae],Se=$[C-2&ae]}C&=1073741823}}T.write($,C&ae)}return Ma.BrotliDecompress=U,i.init(),Ma}var Ax=P1().BrotliDecompressBuffer;async function Mx(r){return await new Promise(e=>{const t=Ax(Buffer.from(r));e(t)})}var Sx=Object.defineProperty,Ex=Object.defineProperties,Ix=Object.getOwnPropertyDescriptors,O1=Object.getOwnPropertySymbols,Px=Object.prototype.hasOwnProperty,Ox=Object.prototype.propertyIsEnumerable,N1=(r,e,t)=>e in r?Sx(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ef=(r,e)=>{for(var t in e||(e={}))Px.call(e,t)&&N1(r,t,e[t]);if(O1)for(var t of O1(e))Ox.call(e,t)&&N1(r,t,e[t]);return r},tf=(r,e)=>Ex(r,Ix(e));class Nx extends _l{constructor(e){super(e),this.engine=e,this.statusPollingTimeout=ye.THIRTY_SECONDS,this.prepareFulfilment=async t=>{if(await this.initPromise,console.log("prepareFulfilment",t,this.prepareFulfilmentHandler),!this.prepareFulfilmentHandler)throw new Error(`prepareFulfilmentHandler not found for environment: '${Ps()}'`);const{transaction:i}=t,n=await this.prepareFulfilmentHandler({transaction:i,projectId:this.projectId});switch(console.log("prepareFulfilment processing result..",n),n.status){case bi.error:return{status:bi.error,reason:n.reason};case bi.not_required:return{status:bi.not_required};case bi.available:const s=n.data;return{status:bi.available,data:{fulfilmentId:s.orchestrationId,checkIn:s.checkIn,transactions:s.transactions,funding:s.metadata.fundingFrom,initialTransaction:s.initialTransaction,initialTransactionMetadata:s.metadata.initialTransaction}};default:throw new Error(`Invalid prepareFulfilment status: ${JSON.stringify(n)}`)}},this.fulfilmentStatus=async t=>{if(await this.initPromise,!this.fulfilmentStatusHandler)throw new Error(`fulfilmentStatusHandler not found for environment: '${Ps()}'`);const{fulfilmentId:i}=t,n=setTimeout(()=>{throw new Error(`Fulfilment status polling timeout: ${i}`)},ye.toMiliseconds(this.statusPollingTimeout));let s;do{const f=await this.fulfilmentStatusHandler({orchestrationId:i,projectId:this.projectId});if(console.log("fulfilmentStatus result",f),f.status===hf.pending){console.log("fulfilmentStatus pending retrying...",f),await new Promise(h=>setTimeout(h,f.checkIn));continue}if(f.status===hf.error)throw clearTimeout(n),new Error(f.reason);clearTimeout(n),s=f}while(!s);return s},this.estimateFees=async t=>{if(await this.initPromise,!this.estimateFeesHandler)throw new Error(`estimateFeesHandler not found for environment: '${Ps()}'`);const i=await this.estimateFeesHandler(tf(ef({},t),{projectId:this.projectId}));return console.log("estimateFees result",i),i},this.getERC20Balance=async t=>{if(await this.initPromise,!this.getERC20BalanceHandler)throw new Error(`getERC20BalanceHandler not found for environment: '${Ps()}'`);const i=await this.getERC20BalanceHandler(tf(ef({},t),{projectId:this.projectId}));return console.log("getERC20Balance result",i),i},this.getFulfilmentDetails=async t=>{if(await this.initPromise,!this.getFulfilmentDetailsHandler)throw new Error(`getFulfilmentDetailsHandler not found for environment: '${Ps()}'`);const{fulfilmentId:i}=t,n=await this.getFulfilmentDetailsHandler(tf(ef({},t),{orchestrationId:i,projectId:this.projectId}));console.log("getFulfilmentDetails handler result",n);const s=[];for(const p of n.bridge)s.push({fee:p.fee,localFee:p.localFee||p.local_fee});const f=[];for(const p of n.route)f.push({transaction:p.transaction,eip1559:p.estimate,transactionFee:{fee:p.fee.fee,localFee:p.fee.localFee||p.fee.local_fee}});const h={transaction:n.initial.transaction,eip1559:n.initial.estimate,transactionFee:{fee:n.initial.fee.fee,localFee:n.initial.fee.localFee||n.initial.fee.local_fee}},l=n.localTotal||n.local_total;return console.log("getFulfilmentDetails parsed result",{routeDetails:f,initialTransactionDetails:h,bridgeDetails:s,totalFee:l}),{routeDetails:f,initialTransactionDetails:h,bridgeDetails:s,totalFee:tf(ef({},l),{formattedAlt:l.formattedAlt||l.formatted_alt})}},this.loadHandlers=async()=>{const t=Ps();switch(console.log("ChainAbstraction environment, loadHandlers",t),t){case jn.reactNative:return this.ReactNative();case jn.browser:return await this.Browser();case jn.node:return await this.Node()}},this.ReactNative=()=>{try{const t=global==null?void 0:global.yttrium;if(!t){console.warn("React Native Yttrium not found in global scope");return}this.prepareFulfilmentHandler=async i=>this.parseResult(await t.prepare(i)),this.fulfilmentStatusHandler=async i=>this.parseResult(await t.status(i)),this.estimateFeesHandler=async i=>this.parseResult(await t.estimateFees(i)),this.getERC20BalanceHandler=async i=>this.parseResult(await t.getERC20Balance(i)),this.getFulfilmentDetailsHandler=async i=>this.parseResult(await t.getBridgeDetails(i))}catch(t){console.error("React Native Yttrium init error",t)}},this.Browser=async()=>{try{const t=await this.initializeInjectedYttrium();this.prepareFulfilmentHandler=async i=>this.parseResult(await t.prepare(i)),this.fulfilmentStatusHandler=async i=>this.parseResult(await t.status(i)),this.getERC20BalanceHandler=async i=>this.parseResult(await t.getERC20Balance(i)),this.getFulfilmentDetailsHandler=async i=>this.parseResult(await t.getBridgeDetails(i))}catch(t){console.error("Browser Yttrium init error",t)}},this.Node=async()=>{try{const t=await this.initializeInjectedYttrium();this.prepareFulfilmentHandler=async i=>this.parseResult(await t.prepare(i)),this.fulfilmentStatusHandler=async i=>this.parseResult(await t.status(i)),this.getERC20BalanceHandler=async i=>this.parseResult(await t.getERC20Balance(i)),this.getFulfilmentDetailsHandler=async i=>this.parseResult(await t.getBridgeDetails(i))}catch(t){console.error("Node Yttrium init error",t)}console.log("Node handlers loaded",this.prepareFulfilmentHandler)},this.parseResult=t=>{if(typeof t<"u"){if(typeof t=="string")try{return JSON.parse(t)}catch{}return t}},this.initializeInjectedYttrium=async()=>{const t=Buffer.from(sx,"base64"),i=Buffer.from(await Mx(t));await p1(i);const n={prepareResponseCache:{},client:new tx(this.projectId),prepare:async s=>{var f;const{chainId:h,from:l,to:p,value:m,input:y,data:E}=s.transaction,I=await n.client.prepare(h,l,{to:p,value:m||"0x",input:y||E});if(console.log("prepare called",I),!I)throw new Error("Empty response from yttrium's prepare");return I!=null&&I.error?{status:bi.error,reason:I.error}:((f=I?.transactions)==null?void 0:f.length)===0?{status:bi.not_required}:(n.prepareResponseCache[I.orchestrationId]=I,{status:bi.available,data:I})},status:async s=>{console.log("status called",s);const{orchestrationId:f}=s;return await n.client.status(f)},getERC20Balance:s=>{console.log("getERC20Balance called",s);const{chainId:f,tokenAddress:h,ownerAddress:l}=s;return n.client.erc20_token_balance(f,h,l)},getBridgeDetails:s=>{console.log("getBridgeDetails called",s);const{orchestrationId:f}=s,h=n.prepareResponseCache[f];if(!h)throw new Error(`No prepare response found for fulfilmentId: ${f}`);return n.client.get_ui_fields(h,_w.Usd)}};return n},this.initPromise=this.loadHandlers().then(()=>{console.log("ChainAbstraction loaded"),this.initPromise=void 0}),this.projectId=this.engine.client.core.projectId||""}}var Dx=Object.defineProperty,Rx=Object.defineProperties,Tx=Object.getOwnPropertyDescriptors,D1=Object.getOwnPropertySymbols,Cx=Object.prototype.hasOwnProperty,Fx=Object.prototype.propertyIsEnumerable,R1=(r,e,t)=>e in r?Dx(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,qx=(r,e)=>{for(var t in e||(e={}))Cx.call(e,t)&&R1(r,t,e[t]);if(D1)for(var t of D1(e))Fx.call(e,t)&&R1(r,t,e[t]);return r},Lx=(r,e)=>Rx(r,Tx(e));class Bx extends Xl{constructor(e){super(e),this.init=async()=>{this.signClient=await _9.init({core:this.client.core,metadata:this.client.metadata,signConfig:this.client.signConfig})},this.pair=async t=>{await this.client.core.pairing.pair(t)},this.approveSession=async t=>{const{topic:i,acknowledged:n}=await this.signClient.approve(Lx(qx({},t),{id:t.id,namespaces:t.namespaces,sessionProperties:t.sessionProperties,sessionConfig:t.sessionConfig}));return await n(),this.signClient.session.get(i)},this.rejectSession=async t=>await this.signClient.reject(t),this.updateSession=async t=>await this.signClient.update(t),this.extendSession=async t=>await this.signClient.extend(t),this.respondSessionRequest=async t=>await this.signClient.respond(t),this.disconnectSession=async t=>await this.signClient.disconnect(t),this.emitSessionEvent=async t=>await this.signClient.emit(t),this.getActiveSessions=()=>this.signClient.session.getAll().reduce((t,i)=>(t[i.topic]=i,t),{}),this.getPendingSessionProposals=()=>this.signClient.proposal.getAll(),this.getPendingSessionRequests=()=>this.signClient.getPendingSessionRequests(),this.approveSessionAuthenticate=async t=>await this.signClient.approveSessionAuthenticate(t),this.rejectSessionAuthenticate=async t=>await this.signClient.rejectSessionAuthenticate(t),this.formatAuthMessage=t=>this.signClient.formatAuthMessage(t),this.registerDeviceToken=t=>this.client.core.echoClient.registerDeviceToken(t),this.on=(t,i)=>(this.setEvent(t,"off"),this.setEvent(t,"on"),this.client.events.on(t,i)),this.once=(t,i)=>(this.setEvent(t,"off"),this.setEvent(t,"once"),this.client.events.once(t,i)),this.off=(t,i)=>(this.setEvent(t,"off"),this.client.events.off(t,i)),this.removeListener=(t,i)=>(this.setEvent(t,"removeListener"),this.client.events.removeListener(t,i)),this.prepareFulfilment=async t=>await this.chainAbstraction.prepareFulfilment(t),this.fulfilmentStatus=async t=>await this.chainAbstraction.fulfilmentStatus(t),this.estimateFees=async t=>await this.chainAbstraction.estimateFees(t),this.getERC20Balance=async t=>await this.chainAbstraction.getERC20Balance(t),this.getFulfilmentDetails=async t=>await this.chainAbstraction.getFulfilmentDetails(t),this.onSessionRequest=t=>{this.client.events.emit("session_request",t)},this.onSessionProposal=t=>{this.client.events.emit("session_proposal",t)},this.onSessionDelete=t=>{this.client.events.emit("session_delete",t)},this.onProposalExpire=t=>{this.client.events.emit("proposal_expire",t)},this.onSessionRequestExpire=t=>{this.client.events.emit("session_request_expire",t)},this.onSessionRequestAuthenticate=t=>{this.client.events.emit("session_authenticate",t)},this.setEvent=(t,i)=>{switch(t){case"session_request":this.signClient.events[i]("session_request",this.onSessionRequest);break;case"session_proposal":this.signClient.events[i]("session_proposal",this.onSessionProposal);break;case"session_delete":this.signClient.events[i]("session_delete",this.onSessionDelete);break;case"proposal_expire":this.signClient.events[i]("proposal_expire",this.onProposalExpire);break;case"session_request_expire":this.signClient.events[i]("session_request_expire",this.onSessionRequestExpire);break;case"session_authenticate":this.signClient.events[i]("session_authenticate",this.onSessionRequestAuthenticate);break}},this.signClient={},this.chainAbstraction=new Nx(this)}}const T1=class extends Yl{constructor(r){super(r),this.events=new fr.exports,this.on=(e,t)=>this.engine.on(e,t),this.once=(e,t)=>this.engine.once(e,t),this.off=(e,t)=>this.engine.off(e,t),this.removeListener=(e,t)=>this.engine.removeListener(e,t),this.pair=async e=>{try{return await this.engine.pair(e)}catch(t){throw this.logger.error(t.message),t}},this.approveSession=async e=>{try{return await this.engine.approveSession(e)}catch(t){throw this.logger.error(t.message),t}},this.rejectSession=async e=>{try{return await this.engine.rejectSession(e)}catch(t){throw this.logger.error(t.message),t}},this.updateSession=async e=>{try{return await this.engine.updateSession(e)}catch(t){throw this.logger.error(t.message),t}},this.extendSession=async e=>{try{return await this.engine.extendSession(e)}catch(t){throw this.logger.error(t.message),t}},this.respondSessionRequest=async e=>{try{return await this.engine.respondSessionRequest(e)}catch(t){throw this.logger.error(t.message),t}},this.disconnectSession=async e=>{try{return await this.engine.disconnectSession(e)}catch(t){throw this.logger.error(t.message),t}},this.emitSessionEvent=async e=>{try{return await this.engine.emitSessionEvent(e)}catch(t){throw this.logger.error(t.message),t}},this.getActiveSessions=()=>{try{return this.engine.getActiveSessions()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionProposals=()=>{try{return this.engine.getPendingSessionProposals()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.registerDeviceToken=e=>{try{return this.engine.registerDeviceToken(e)}catch(t){throw this.logger.error(t.message),t}},this.approveSessionAuthenticate=e=>{try{return this.engine.approveSessionAuthenticate(e)}catch(t){throw this.logger.error(t.message),t}},this.rejectSessionAuthenticate=e=>{try{return this.engine.rejectSessionAuthenticate(e)}catch(t){throw this.logger.error(t.message),t}},this.formatAuthMessage=e=>{try{return this.engine.formatAuthMessage(e)}catch(t){throw this.logger.error(t.message),t}},this.prepareFulfilment=async e=>{try{return await this.engine.prepareFulfilment(e)}catch(t){throw this.logger.error(t.message),t}},this.fulfilmentStatus=async e=>{try{return await this.engine.fulfilmentStatus(e)}catch(t){throw this.logger.error(t.message),t}},this.estimateFees=async e=>{try{return await this.engine.estimateFees(e)}catch(t){throw this.logger.error(t.message),t}},this.getERC20Balance=async e=>{try{return await this.engine.getERC20Balance(e)}catch(t){throw this.logger.error(t.message),t}},this.getFulfilmentDetails=async e=>{try{return await this.engine.getFulfilmentDetails(e)}catch(t){throw this.logger.error(t.message),t}},this.metadata=r.metadata,this.name=r.name||cf,this.signConfig=r.signConfig,this.core=r.core,this.logger=this.core.logger,this.engine=new Bx(this)}static async init(r){const e=new T1(r);return await e.initialize(),e}async initialize(){this.logger.trace("Initialized");try{await this.engine.init(),this.logger.info("WalletKit Initialization Success")}catch(r){throw this.logger.info("WalletKit Initialization Failure"),this.logger.error(r.message),r}}};let o0=T1;o0.notifications=ax;const Ux=o0;Tt.CAN_FULFIL_STATUS=bi,Tt.CLIENT_CONTEXT=cf,Tt.CLIENT_STORAGE_OPTIONS=X1,Tt.CLIENT_STORAGE_PREFIX=Y1,Tt.FULFILMENT_STATUS=hf,Tt.IChainAbstraction=_l,Tt.IWalletKit=Yl,Tt.IWalletKitEngine=Xl,Tt.IWalletKitEvents=$9,Tt.PROTOCOL=y0,Tt.PROTOCOL_VERSION=Q1,Tt.REQUEST_CONTEXT=_1,Tt.WalletKit=Ux,Tt.default=o0,Object.defineProperty(Tt,"__esModule",{value:!0})});
|
43
|
+
***************************************************************************** */var ic=function(t,e){return ic=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var n in i)i.hasOwnProperty(n)&&(r[n]=i[n])},ic(t,e)};function t5(t,e){ic(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}var nc=function(){return nc=Object.assign||function(e){for(var r,i=1,n=arguments.length;i<n;i++){r=arguments[i];for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(e[s]=r[s])}return e},nc.apply(this,arguments)};function r5(t,e){var r={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(t);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(t,i[n])&&(r[i[n]]=t[i[n]]);return r}function i5(t,e,r,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,r):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(n<3?o(s):n>3?o(e,r,s):o(e,r))||s);return n>3&&s&&Object.defineProperty(e,r,s),s}function n5(t,e){return function(r,i){e(r,i,t)}}function s5(t,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,e)}function o5(t,e,r,i){function n(s){return s instanceof r?s:new r(function(o){o(s)})}return new(r||(r=Promise))(function(s,o){function a(l){try{h(i.next(l))}catch(y){o(y)}}function c(l){try{h(i.throw(l))}catch(y){o(y)}}function h(l){l.done?s(l.value):n(l.value).then(a,c)}h((i=i.apply(t,e||[])).next())})}function a5(t,e){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(h){return function(l){return c([h,l])}}function c(h){if(i)throw new TypeError("Generator is already executing.");for(;r;)try{if(i=1,n&&(s=h[0]&2?n.return:h[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,h[1])).done)return s;switch(n=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,n=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]<s[3])){r.label=h[1];break}if(h[0]===6&&r.label<s[1]){r.label=s[1],s=h;break}if(s&&r.label<s[2]){r.label=s[2],r.ops.push(h);break}s[2]&&r.ops.pop(),r.trys.pop();continue}h=e.call(t,r)}catch(l){h=[6,l],n=0}finally{i=s=0}if(h[0]&5)throw h[1];return{value:h[0]?h[1]:void 0,done:!0}}}function f5(t,e,r,i){i===void 0&&(i=r),t[i]=e[r]}function c5(t,e){for(var r in t)r!=="default"&&!e.hasOwnProperty(r)&&(e[r]=t[r])}function sc(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Zl(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var i=r.call(t),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function h5(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Zl(arguments[e]));return t}function u5(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;for(var i=Array(t),n=0,e=0;e<r;e++)for(var s=arguments[e],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function Ls(t){return this instanceof Ls?(this.v=t,this):new Ls(t)}function d5(t,e,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=r.apply(t,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(M){i[M]&&(n[M]=function(I){return new Promise(function(S,D){s.push([M,I,S,D])>1||a(M,I)})})}function a(M,I){try{c(i[M](I))}catch(S){y(s[0][3],S)}}function c(M){M.value instanceof Ls?Promise.resolve(M.value.v).then(h,l):y(s[0][2],M)}function h(M){a("next",M)}function l(M){a("throw",M)}function y(M,I){M(I),s.shift(),s.length&&a(s[0][0],s[0][1])}}function l5(t){var e,r;return e={},i("next"),i("throw",function(n){throw n}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(n,s){e[n]=t[n]?function(o){return(r=!r)?{value:Ls(t[n](o)),done:n==="return"}:s?s(o):o}:s}}function p5(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof sc=="function"?sc(t):t[Symbol.iterator](),r={},i("next"),i("throw"),i("return"),r[Symbol.asyncIterator]=function(){return this},r);function i(s){r[s]=t[s]&&function(o){return new Promise(function(a,c){o=t[s](o),n(a,c,o.done,o.value)})}}function n(s,o,a,c){Promise.resolve(c).then(function(h){s({value:h,done:a})},o)}}function g5(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function b5(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}function v5(t){return t&&t.__esModule?t:{default:t}}function y5(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function m5(t,e,r){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,r),r}var w5=Object.freeze({__proto__:null,__extends:t5,get __assign(){return nc},__rest:r5,__decorate:i5,__param:n5,__metadata:s5,__awaiter:o5,__generator:a5,__createBinding:f5,__exportStar:c5,__values:sc,__read:Zl,__spread:h5,__spreadArrays:u5,__await:Ls,__asyncGenerator:d5,__asyncDelegator:l5,__asyncValues:p5,__makeTemplateObject:g5,__importStar:b5,__importDefault:v5,__classPrivateFieldGet:y5,__classPrivateFieldSet:m5}),_5=ha(w5),yi={},Ql;function x5(){if(Ql)return yi;Ql=1,Object.defineProperty(yi,"__esModule",{value:!0}),yi.isBrowserCryptoAvailable=yi.getSubtleCrypto=yi.getBrowerCrypto=void 0;function t(){return Nt?.crypto||Nt?.msCrypto||{}}yi.getBrowerCrypto=t;function e(){const i=t();return i.subtle||i.webkitSubtle}yi.getSubtleCrypto=e;function r(){return!!t()&&!!e()}return yi.isBrowserCryptoAvailable=r,yi}var mi={},e0;function E5(){if(e0)return mi;e0=1,Object.defineProperty(mi,"__esModule",{value:!0}),mi.isBrowser=mi.isNode=mi.isReactNative=void 0;function t(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}mi.isReactNative=t;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}mi.isNode=e;function r(){return!t()&&!e()}return mi.isBrowser=r,mi}(function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=_5;e.__exportStar(x5(),t),e.__exportStar(E5(),t)})(Xl);function wi(t=3){const e=Date.now()*Math.pow(10,t),r=Math.floor(Math.random()*Math.pow(10,t));return e+r}function bn(t=6){return BigInt(wi(t))}function vn(t,e,r){return{id:r||wi(),jsonrpc:"2.0",method:t,params:e}}function oc(t,e){return{id:t,jsonrpc:"2.0",result:e}}function ac(t,e,r){return{id:t,jsonrpc:"2.0",error:S5(e,r)}}function S5(t,e){return typeof t>"u"?Yl(Gl):(typeof t=="string"&&(t=Object.assign(Object.assign({},Yl(rc)),{message:t})),typeof e<"u"&&(t.data=e),Z8(t.code)&&(t=Q8(t.code)),t)}class M5{}class I5 extends M5{constructor(){super()}}class A5 extends I5{constructor(e){super()}}const D5="^wss?:";function O5(t){const e=t.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function P5(t,e){const r=O5(t);return typeof r>"u"?!1:new RegExp(e).test(r)}function t0(t){return P5(t,D5)}function R5(t){return new RegExp("wss?://localhost(:d{2,5})?").test(t)}function r0(t){return typeof t=="object"&&"id"in t&&"jsonrpc"in t&&t.jsonrpc==="2.0"}function fc(t){return r0(t)&&"method"in t}function ea(t){return r0(t)&&(ii(t)||Ar(t))}function ii(t){return"result"in t}function Ar(t){return"error"in t}class $5 extends A5{constructor(e){super(e),this.events=new jt.exports.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async request(e,r){return this.requestStrict(vn(e.method,e.params||[],e.id||bn().toString()),r)}async requestStrict(e,r){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(s){n(s)}this.events.on(`${e.id}`,s=>{Ar(s)?n(s.error):i(s.result)});try{await this.connection.send(e,r)}catch(s){n(s)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),ea(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),typeof e=="string"&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}const N5=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),T5=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",i0=t=>t.split("?")[0],n0=10,F5=N5();class C5{constructor(e){if(this.url=e,this.events=new jt.exports.EventEmitter,this.registering=!1,!t0(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}get connecting(){return this.registering}on(e,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async open(e=this.url){await this.register(e)}async close(){return new Promise((e,r)=>{if(typeof this.socket>"u"){r(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(tn(e))}catch(r){this.onError(e.id,r)}}register(e=this.url){if(!t0(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const r=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=r||this.events.listenerCount("open")>=r)&&this.events.setMaxListeners(r+1),new Promise((i,n)=>{this.events.once("register_error",s=>{this.resetMaxListeners(),n(s)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return n(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((r,i)=>{const n=Xl.isReactNative()?void 0:{rejectUnauthorized:!R5(e)},s=new F5(e,[],n);T5()?s.onerror=o=>{const a=o;i(this.emitError(a.error))}:s.on("error",o=>{i(this.emitError(o))}),s.onopen=()=>{this.onOpen(s),r(s)}})}onOpen(e){e.onmessage=r=>this.onPayload(r),e.onclose=r=>this.onClose(r),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const r=typeof e.data=="string"?An(e.data):e.data;this.events.emit("payload",r)}onError(e,r){const i=this.parseError(r),n=i.message||i.toString(),s=ac(e,n);this.events.emit("payload",s)}parseError(e,r=this.url){return e5(e,i0(r),"WS")}resetMaxListeners(){this.events.getMaxListeners()>n0&&this.events.setMaxListeners(n0)}emitError(e){const r=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${i0(this.url)}`));return this.events.emit("register_error",r),r}}var cc={exports:{}};(function(t,e){var r=200,i="__lodash_hash_undefined__",n=1,s=2,o=9007199254740991,a="[object Arguments]",c="[object Array]",h="[object AsyncFunction]",l="[object Boolean]",y="[object Date]",M="[object Error]",I="[object Function]",S="[object GeneratorFunction]",D="[object Map]",R="[object Number]",$="[object Null]",T="[object Object]",C="[object Promise]",L="[object Proxy]",k="[object RegExp]",j="[object Set]",G="[object String]",K="[object Symbol]",V="[object Undefined]",re="[object WeakMap]",O="[object ArrayBuffer]",g="[object DataView]",p="[object Float32Array]",f="[object Float64Array]",u="[object Int8Array]",b="[object Int16Array]",_="[object Int32Array]",E="[object Uint8Array]",w="[object Uint8ClampedArray]",d="[object Uint16Array]",m="[object Uint32Array]",v=/[\\^$.*+?()[\]{}|]/g,A=/^\[object .+?Constructor\]$/,U=/^(?:0|[1-9]\d*)$/,x={};x[p]=x[f]=x[u]=x[b]=x[_]=x[E]=x[w]=x[d]=x[m]=!0,x[a]=x[c]=x[O]=x[l]=x[g]=x[y]=x[M]=x[I]=x[D]=x[R]=x[T]=x[k]=x[j]=x[G]=x[re]=!1;var N=typeof Nt=="object"&&Nt&&Nt.Object===Object&&Nt,B=typeof self=="object"&&self&&self.Object===Object&&self,q=N||B||Function("return this")(),z=e&&!e.nodeType&&e,J=z&&!0&&t&&!t.nodeType&&t,X=J&&J.exports===z,W=X&&N.process,ne=function(){try{return W&&W.binding&&W.binding("util")}catch{}}(),Q=ne&&ne.isTypedArray;function ee(P,F){for(var H=-1,te=P==null?0:P.length,ut=0,we=[];++H<te;){var bt=P[H];F(bt,H,P)&&(we[ut++]=bt)}return we}function qe(P,F){for(var H=-1,te=F.length,ut=P.length;++H<te;)P[ut+H]=F[H];return P}function Ue(P,F){for(var H=-1,te=P==null?0:P.length;++H<te;)if(F(P[H],H,P))return!0;return!1}function he(P,F){for(var H=-1,te=Array(P);++H<P;)te[H]=F(H);return te}function Pe(P){return function(F){return P(F)}}function Re(P,F){return P.has(F)}function ae(P,F){return P?.[F]}function $e(P){var F=-1,H=Array(P.size);return P.forEach(function(te,ut){H[++F]=[ut,te]}),H}function Ne(P,F){return function(H){return P(F(H))}}function ce(P){var F=-1,H=Array(P.size);return P.forEach(function(te){H[++F]=te}),H}var Te=Array.prototype,Fe=Function.prototype,oe=Object.prototype,De=q["__core-js_shared__"],Ce=Fe.toString,ie=oe.hasOwnProperty,Ve=function(){var P=/[^.]+$/.exec(De&&De.keys&&De.keys.IE_PROTO||"");return P?"Symbol(src)_1."+P:""}(),He=oe.toString,pe=RegExp("^"+Ce.call(ie).replace(v,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),We=X?q.Buffer:void 0,Be=q.Symbol,de=q.Uint8Array,Ge=oe.propertyIsEnumerable,Xe=Te.splice,se=Be?Be.toStringTag:void 0,Je=Object.getOwnPropertySymbols,Ze=We?We.isBuffer:void 0,ge=Ne(Object.keys,Object),ze=rs(q,"DataView"),Oe=rs(q,"Map"),ue=rs(q,"Promise"),ke=rs(q,"Set"),je=rs(q,"WeakMap"),fe=rs(Object,"create"),Qe=xn(ze),et=xn(Oe),be=xn(ue),tt=xn(ke),rt=xn(je),le=Be?Be.prototype:void 0,Ke=le?le.valueOf:void 0;function Ae(P){var F=-1,H=P==null?0:P.length;for(this.clear();++F<H;){var te=P[F];this.set(te[0],te[1])}}function ve(){this.__data__=fe?fe(null):{},this.size=0}function it(P){var F=this.has(P)&&delete this.__data__[P];return this.size-=F?1:0,F}function nt(P){var F=this.__data__;if(fe){var H=F[P];return H===i?void 0:H}return ie.call(F,P)?F[P]:void 0}function ye(P){var F=this.__data__;return fe?F[P]!==void 0:ie.call(F,P)}function st(P,F){var H=this.__data__;return this.size+=this.has(P)?0:1,H[P]=fe&&F===void 0?i:F,this}Ae.prototype.clear=ve,Ae.prototype.delete=it,Ae.prototype.get=nt,Ae.prototype.has=ye,Ae.prototype.set=st;function xe(P){var F=-1,H=P==null?0:P.length;for(this.clear();++F<H;){var te=P[F];this.set(te[0],te[1])}}function Ye(){this.__data__=[],this.size=0}function ar(P){var F=this.__data__,H=sa(F,P);if(H<0)return!1;var te=F.length-1;return H==te?F.pop():Xe.call(F,H,1),--this.size,!0}function fr(P){var F=this.__data__,H=sa(F,P);return H<0?void 0:F[H][1]}function cr(P){return sa(this.__data__,P)>-1}function hr(P,F){var H=this.__data__,te=sa(H,P);return te<0?(++this.size,H.push([P,F])):H[te][1]=F,this}xe.prototype.clear=Ye,xe.prototype.delete=ar,xe.prototype.get=fr,xe.prototype.has=cr,xe.prototype.set=hr;function wt(P){var F=-1,H=P==null?0:P.length;for(this.clear();++F<H;){var te=P[F];this.set(te[0],te[1])}}function xi(){this.size=0,this.__data__={hash:new Ae,map:new(Oe||xe),string:new Ae}}function Ei(P){var F=oa(this,P).delete(P);return this.size-=F?1:0,F}function Si(P){return oa(this,P).get(P)}function Mi(P){return oa(this,P).has(P)}function Ii(P,F){var H=oa(this,P),te=H.size;return H.set(P,F),this.size+=H.size==te?0:1,this}wt.prototype.clear=xi,wt.prototype.delete=Ei,wt.prototype.get=Si,wt.prototype.has=Mi,wt.prototype.set=Ii;function Pr(P){var F=-1,H=P==null?0:P.length;for(this.__data__=new wt;++F<H;)this.add(P[F])}function Ai(P){return this.__data__.set(P,i),this}function Di(P){return this.__data__.has(P)}Pr.prototype.add=Pr.prototype.push=Ai,Pr.prototype.has=Di;function Wt(P){var F=this.__data__=new xe(P);this.size=F.size}function Oi(){this.__data__=new xe,this.size=0}function Pi(P){var F=this.__data__,H=F.delete(P);return this.size=F.size,H}function Ri(P){return this.__data__.get(P)}function Vs(P){return this.__data__.has(P)}function Hs(P,F){var H=this.__data__;if(H instanceof xe){var te=H.__data__;if(!Oe||te.length<r-1)return te.push([P,F]),this.size=++H.size,this;H=this.__data__=new wt(te)}return H.set(P,F),this.size=H.size,this}Wt.prototype.clear=Oi,Wt.prototype.delete=Pi,Wt.prototype.get=Ri,Wt.prototype.has=Vs,Wt.prototype.set=Hs;function ix(P,F){var H=aa(P),te=!H&&yx(P),ut=!H&&!te&&xc(P),we=!H&&!te&&!ut&&dp(P),bt=H||te||ut||we,$t=bt?he(P.length,String):[],zt=$t.length;for(var dt in P)(F||ie.call(P,dt))&&!(bt&&(dt=="length"||ut&&(dt=="offset"||dt=="parent")||we&&(dt=="buffer"||dt=="byteLength"||dt=="byteOffset")||lx(dt,zt)))&&$t.push(dt);return $t}function sa(P,F){for(var H=P.length;H--;)if(fp(P[H][0],F))return H;return-1}function nx(P,F,H){var te=F(P);return aa(P)?te:qe(te,H(P))}function Ws(P){return P==null?P===void 0?V:$:se&&se in Object(P)?ux(P):vx(P)}function np(P){return Gs(P)&&Ws(P)==a}function sp(P,F,H,te,ut){return P===F?!0:P==null||F==null||!Gs(P)&&!Gs(F)?P!==P&&F!==F:sx(P,F,H,te,sp,ut)}function sx(P,F,H,te,ut,we){var bt=aa(P),$t=aa(F),zt=bt?c:Ji(P),dt=$t?c:Ji(F);zt=zt==a?T:zt,dt=dt==a?T:dt;var yr=zt==T,jr=dt==T,Gt=zt==dt;if(Gt&&xc(P)){if(!xc(F))return!1;bt=!0,yr=!1}if(Gt&&!yr)return we||(we=new Wt),bt||dp(P)?op(P,F,H,te,ut,we):cx(P,F,zt,H,te,ut,we);if(!(H&n)){var Rr=yr&&ie.call(P,"__wrapped__"),$r=jr&&ie.call(F,"__wrapped__");if(Rr||$r){var Yi=Rr?P.value():P,$i=$r?F.value():F;return we||(we=new Wt),ut(Yi,$i,H,te,we)}}return Gt?(we||(we=new Wt),hx(P,F,H,te,ut,we)):!1}function ox(P){if(!up(P)||gx(P))return!1;var F=cp(P)?pe:A;return F.test(xn(P))}function ax(P){return Gs(P)&&hp(P.length)&&!!x[Ws(P)]}function fx(P){if(!bx(P))return ge(P);var F=[];for(var H in Object(P))ie.call(P,H)&&H!="constructor"&&F.push(H);return F}function op(P,F,H,te,ut,we){var bt=H&n,$t=P.length,zt=F.length;if($t!=zt&&!(bt&&zt>$t))return!1;var dt=we.get(P);if(dt&&we.get(F))return dt==F;var yr=-1,jr=!0,Gt=H&s?new Pr:void 0;for(we.set(P,F),we.set(F,P);++yr<$t;){var Rr=P[yr],$r=F[yr];if(te)var Yi=bt?te($r,Rr,yr,F,P,we):te(Rr,$r,yr,P,F,we);if(Yi!==void 0){if(Yi)continue;jr=!1;break}if(Gt){if(!Ue(F,function($i,En){if(!Re(Gt,En)&&(Rr===$i||ut(Rr,$i,H,te,we)))return Gt.push(En)})){jr=!1;break}}else if(!(Rr===$r||ut(Rr,$r,H,te,we))){jr=!1;break}}return we.delete(P),we.delete(F),jr}function cx(P,F,H,te,ut,we,bt){switch(H){case g:if(P.byteLength!=F.byteLength||P.byteOffset!=F.byteOffset)return!1;P=P.buffer,F=F.buffer;case O:return!(P.byteLength!=F.byteLength||!we(new de(P),new de(F)));case l:case y:case R:return fp(+P,+F);case M:return P.name==F.name&&P.message==F.message;case k:case G:return P==F+"";case D:var $t=$e;case j:var zt=te&n;if($t||($t=ce),P.size!=F.size&&!zt)return!1;var dt=bt.get(P);if(dt)return dt==F;te|=s,bt.set(P,F);var yr=op($t(P),$t(F),te,ut,we,bt);return bt.delete(P),yr;case K:if(Ke)return Ke.call(P)==Ke.call(F)}return!1}function hx(P,F,H,te,ut,we){var bt=H&n,$t=ap(P),zt=$t.length,dt=ap(F),yr=dt.length;if(zt!=yr&&!bt)return!1;for(var jr=zt;jr--;){var Gt=$t[jr];if(!(bt?Gt in F:ie.call(F,Gt)))return!1}var Rr=we.get(P);if(Rr&&we.get(F))return Rr==F;var $r=!0;we.set(P,F),we.set(F,P);for(var Yi=bt;++jr<zt;){Gt=$t[jr];var $i=P[Gt],En=F[Gt];if(te)var lp=bt?te(En,$i,Gt,F,P,we):te($i,En,Gt,P,F,we);if(!(lp===void 0?$i===En||ut($i,En,H,te,we):lp)){$r=!1;break}Yi||(Yi=Gt=="constructor")}if($r&&!Yi){var fa=P.constructor,ca=F.constructor;fa!=ca&&"constructor"in P&&"constructor"in F&&!(typeof fa=="function"&&fa instanceof fa&&typeof ca=="function"&&ca instanceof ca)&&($r=!1)}return we.delete(P),we.delete(F),$r}function ap(P){return nx(P,_x,dx)}function oa(P,F){var H=P.__data__;return px(F)?H[typeof F=="string"?"string":"hash"]:H.map}function rs(P,F){var H=ae(P,F);return ox(H)?H:void 0}function ux(P){var F=ie.call(P,se),H=P[se];try{P[se]=void 0;var te=!0}catch{}var ut=He.call(P);return te&&(F?P[se]=H:delete P[se]),ut}var dx=Je?function(P){return P==null?[]:(P=Object(P),ee(Je(P),function(F){return Ge.call(P,F)}))}:xx,Ji=Ws;(ze&&Ji(new ze(new ArrayBuffer(1)))!=g||Oe&&Ji(new Oe)!=D||ue&&Ji(ue.resolve())!=C||ke&&Ji(new ke)!=j||je&&Ji(new je)!=re)&&(Ji=function(P){var F=Ws(P),H=F==T?P.constructor:void 0,te=H?xn(H):"";if(te)switch(te){case Qe:return g;case et:return D;case be:return C;case tt:return j;case rt:return re}return F});function lx(P,F){return F=F??o,!!F&&(typeof P=="number"||U.test(P))&&P>-1&&P%1==0&&P<F}function px(P){var F=typeof P;return F=="string"||F=="number"||F=="symbol"||F=="boolean"?P!=="__proto__":P===null}function gx(P){return!!Ve&&Ve in P}function bx(P){var F=P&&P.constructor,H=typeof F=="function"&&F.prototype||oe;return P===H}function vx(P){return He.call(P)}function xn(P){if(P!=null){try{return Ce.call(P)}catch{}try{return P+""}catch{}}return""}function fp(P,F){return P===F||P!==P&&F!==F}var yx=np(function(){return arguments}())?np:function(P){return Gs(P)&&ie.call(P,"callee")&&!Ge.call(P,"callee")},aa=Array.isArray;function mx(P){return P!=null&&hp(P.length)&&!cp(P)}var xc=Ze||Ex;function wx(P,F){return sp(P,F)}function cp(P){if(!up(P))return!1;var F=Ws(P);return F==I||F==S||F==h||F==L}function hp(P){return typeof P=="number"&&P>-1&&P%1==0&&P<=o}function up(P){var F=typeof P;return P!=null&&(F=="object"||F=="function")}function Gs(P){return P!=null&&typeof P=="object"}var dp=Q?Pe(Q):ax;function _x(P){return mx(P)?ix(P):fx(P)}function xx(){return[]}function Ex(){return!1}t.exports=wx})(cc,cc.exports);var B5=cc.exports;const s0="wc",o0=2,ta="core",ni=`${s0}@2:${ta}:`,L5={name:ta,logger:"error"},q5={database:":memory:"},U5="crypto",a0="client_ed25519_seed",z5=Y.ONE_DAY,k5="keychain",j5="0.3",K5="messages",V5="0.3",f0=Y.SIX_HOURS,H5="publisher",c0="irn",W5="error",h0="wss://relay.walletconnect.org",G5="relayer",Pt={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},J5="_subscription",Dr={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},Y5=.1,hc="2.18.0-rc-1",ht={link_mode:"link_mode",relay:"relay"},X5="0.3",Z5="WALLETCONNECT_CLIENT_ID",u0="WALLETCONNECT_LINK_MODE_APPS",vr={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},Q5="subscription",e9="0.3",t9=Y.FIVE_SECONDS*1e3,r9="pairing",i9="0.3",qs={wc_pairingDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:Y.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:0},res:{ttl:Y.ONE_DAY,prompt:!1,tag:0}}},yn={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},Ur={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},n9="history",s9="0.3",o9="expirer",Or={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},a9="0.3",f9="verify-api",c9="https://verify.walletconnect.com",d0="https://verify.walletconnect.org",Us=d0,h9=`${Us}/v3`,u9=[c9,d0],d9="echo",l9="https://echo.walletconnect.com",si={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},_i={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},zr={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},mn={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},wn={authenticated_session_approve_started:"authenticated_session_approve_started",authenticated_session_not_expired:"authenticated_session_not_expired",chains_caip2_compliant:"chains_caip2_compliant",chains_evm_compliant:"chains_evm_compliant",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve",authenticated_session_approve_publish_success:"authenticated_session_approve_publish_success"},zs={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",missing_session_authenticate_request:"missing_session_authenticate_request",session_authenticate_request_expired:"session_authenticate_request_expired",chains_caip2_compliant_failure:"chains_caip2_compliant_failure",chains_evm_compliant_failure:"chains_evm_compliant_failure",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},p9=.1,g9="event-client",b9=86400,v9="https://pulse.walletconnect.org/batch";function y9(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<t.length;n++){var s=t.charAt(n),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=n}var a=t.length,c=t.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function y(S){if(S instanceof Uint8Array||(ArrayBuffer.isView(S)?S=new Uint8Array(S.buffer,S.byteOffset,S.byteLength):Array.isArray(S)&&(S=Uint8Array.from(S))),!(S instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(S.length===0)return"";for(var D=0,R=0,$=0,T=S.length;$!==T&&S[$]===0;)$++,D++;for(var C=(T-$)*l+1>>>0,L=new Uint8Array(C);$!==T;){for(var k=S[$],j=0,G=C-1;(k!==0||j<R)&&G!==-1;G--,j++)k+=256*L[G]>>>0,L[G]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");R=j,$++}for(var K=C-R;K!==C&&L[K]===0;)K++;for(var V=c.repeat(D);K<C;++K)V+=t.charAt(L[K]);return V}function M(S){if(typeof S!="string")throw new TypeError("Expected String");if(S.length===0)return new Uint8Array;var D=0;if(S[D]!==" "){for(var R=0,$=0;S[D]===c;)R++,D++;for(var T=(S.length-D)*h+1>>>0,C=new Uint8Array(T);S[D];){var L=r[S.charCodeAt(D)];if(L===255)return;for(var k=0,j=T-1;(L!==0||k<$)&&j!==-1;j--,k++)L+=a*C[j]>>>0,C[j]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");$=k,D++}if(S[D]!==" "){for(var G=T-$;G!==T&&C[G]===0;)G++;for(var K=new Uint8Array(R+(T-G)),V=R;G!==T;)K[V++]=C[G++];return K}}}function I(S){var D=M(S);if(D)return D;throw new Error(`Non-${e} character`)}return{encode:y,decodeUnsafe:M,decode:I}}var m9=y9,w9=m9;const l0=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},_9=t=>new TextEncoder().encode(t),x9=t=>new TextDecoder().decode(t);class E9{constructor(e,r,i){this.name=e,this.prefix=r,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class S9{constructor(e,r,i){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return p0(this,e)}}class M9{constructor(e){this.decoders=e}or(e){return p0(this,e)}decode(e){const r=e[0],i=this.decoders[r];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const p0=(t,e)=>new M9({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class I9{constructor(e,r,i,n){this.name=e,this.prefix=r,this.baseEncode=i,this.baseDecode=n,this.encoder=new E9(e,r,i),this.decoder=new S9(e,r,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const ra=({name:t,prefix:e,encode:r,decode:i})=>new I9(t,e,r,i),ks=({prefix:t,name:e,alphabet:r})=>{const{encode:i,decode:n}=w9(r,e);return ra({prefix:t,name:e,encode:i,decode:s=>l0(n(s))})},A9=(t,e,r,i)=>{const n={};for(let l=0;l<e.length;++l)n[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let l=0;l<s;++l){const y=n[t[l]];if(y===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<r|y,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},D9=(t,e,r)=>{const i=e[e.length-1]==="=",n=(1<<r)-1;let s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[n&a>>o];if(o&&(s+=e[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s},Ut=({name:t,prefix:e,bitsPerChar:r,alphabet:i})=>ra({prefix:e,name:t,encode(n){return D9(n,i,r)},decode(n){return A9(n,i,r,t)}}),O9=ra({prefix:"\0",name:"identity",encode:t=>x9(t),decode:t=>_9(t)});var P9=Object.freeze({__proto__:null,identity:O9});const R9=Ut({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var $9=Object.freeze({__proto__:null,base2:R9});const N9=Ut({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var T9=Object.freeze({__proto__:null,base8:N9});const F9=ks({prefix:"9",name:"base10",alphabet:"0123456789"});var C9=Object.freeze({__proto__:null,base10:F9});const B9=Ut({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),L9=Ut({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var q9=Object.freeze({__proto__:null,base16:B9,base16upper:L9});const U9=Ut({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),z9=Ut({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),k9=Ut({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),j9=Ut({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),K9=Ut({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),V9=Ut({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),H9=Ut({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),W9=Ut({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),G9=Ut({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var J9=Object.freeze({__proto__:null,base32:U9,base32upper:z9,base32pad:k9,base32padupper:j9,base32hex:K9,base32hexupper:V9,base32hexpad:H9,base32hexpadupper:W9,base32z:G9});const Y9=ks({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),X9=ks({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Z9=Object.freeze({__proto__:null,base36:Y9,base36upper:X9});const Q9=ks({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),e7=ks({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var t7=Object.freeze({__proto__:null,base58btc:Q9,base58flickr:e7});const r7=Ut({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),i7=Ut({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),n7=Ut({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),s7=Ut({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var o7=Object.freeze({__proto__:null,base64:r7,base64pad:i7,base64url:n7,base64urlpad:s7});const g0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),a7=g0.reduce((t,e,r)=>(t[r]=e,t),[]),f7=g0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function c7(t){return t.reduce((e,r)=>(e+=a7[r],e),"")}function h7(t){const e=[];for(const r of t){const i=f7[r.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(i)}return new Uint8Array(e)}const u7=ra({prefix:"\u{1F680}",name:"base256emoji",encode:c7,decode:h7});var d7=Object.freeze({__proto__:null,base256emoji:u7}),l7=v0,b0=128,p7=127,g7=~p7,b7=Math.pow(2,31);function v0(t,e,r){e=e||[],r=r||0;for(var i=r;t>=b7;)e[r++]=t&255|b0,t/=128;for(;t&g7;)e[r++]=t&255|b0,t>>>=7;return e[r]=t|0,v0.bytes=r-i+1,e}var v7=uc,y7=128,y0=127;function uc(t,i){var r=0,i=i||0,n=0,s=i,o,a=t.length;do{if(s>=a)throw uc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=n<28?(o&y0)<<n:(o&y0)*Math.pow(2,n),n+=7}while(o>=y7);return uc.bytes=s-i,r}var m7=Math.pow(2,7),w7=Math.pow(2,14),_7=Math.pow(2,21),x7=Math.pow(2,28),E7=Math.pow(2,35),S7=Math.pow(2,42),M7=Math.pow(2,49),I7=Math.pow(2,56),A7=Math.pow(2,63),D7=function(t){return t<m7?1:t<w7?2:t<_7?3:t<x7?4:t<E7?5:t<S7?6:t<M7?7:t<I7?8:t<A7?9:10},O7={encode:l7,decode:v7,encodingLength:D7},m0=O7;const w0=(t,e,r=0)=>(m0.encode(t,e,r),e),_0=t=>m0.encodingLength(t),dc=(t,e)=>{const r=e.byteLength,i=_0(t),n=i+_0(r),s=new Uint8Array(n+r);return w0(t,s,0),w0(r,s,i),s.set(e,n),new P7(t,r,e,s)};class P7{constructor(e,r,i,n){this.code=e,this.size=r,this.digest=i,this.bytes=n}}const x0=({name:t,code:e,encode:r})=>new R7(t,e,r);class R7{constructor(e,r,i){this.name=e,this.code=r,this.encode=i}digest(e){if(e instanceof Uint8Array){const r=this.encode(e);return r instanceof Uint8Array?dc(this.code,r):r.then(i=>dc(this.code,i))}else throw Error("Unknown type, must be binary type")}}const E0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),$7=x0({name:"sha2-256",code:18,encode:E0("SHA-256")}),N7=x0({name:"sha2-512",code:19,encode:E0("SHA-512")});var T7=Object.freeze({__proto__:null,sha256:$7,sha512:N7});const S0=0,F7="identity",M0=l0;var C7=Object.freeze({__proto__:null,identity:{code:S0,name:F7,encode:M0,digest:t=>dc(S0,M0(t))}});new TextEncoder,new TextDecoder;const I0={...P9,...$9,...T9,...C9,...q9,...J9,...Z9,...t7,...o7,...d7};({...T7,...C7});function B7(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function A0(t,e,r,i){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:i}}}const D0=A0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),lc=A0("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);const e=B7(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),L7={utf8:D0,"utf-8":D0,hex:I0.base16,latin1:lc,ascii:lc,binary:lc,...I0};function q7(t,e="utf8"){const r=L7[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):r.decoder.decode(`${r.prefix}${t}`)}class U7{constructor(e,r){this.core=e,this.logger=r,this.keychain=new Map,this.name=k5,this.version=j5,this.initialized=!1,this.storagePrefix=ni,this.init=async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}},this.has=i=>(this.isInitialized(),this.keychain.has(i)),this.set=async(i,n)=>{this.isInitialized(),this.keychain.set(i,n),await this.persist()},this.get=i=>{this.isInitialized();const n=this.keychain.get(i);if(typeof n>"u"){const{message:s}=Z("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(s)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Jt(r,this.name)}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Bd(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ld(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class z7{constructor(e,r,i){this.core=e,this.logger=r,this.name=U5,this.randomSessionIdentifier=Zf(),this.initialized=!1,this.init=async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)},this.hasKeys=n=>(this.isInitialized(),this.keychain.has(n)),this.getClientId=async()=>{this.isInitialized();const n=await this.getClientSeed(),s=Zh(n);return Xh(s.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=X4();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const s=await this.getClientSeed(),o=Zh(s),a=this.randomSessionIdentifier;return await oy(a,n,z5,o)},this.generateSharedKey=(n,s,o)=>{this.isInitialized();const a=this.getPrivateKey(n),c=Z4(a,s);return this.setSymKey(c,o)},this.setSymKey=async(n,s)=>{this.isInitialized();const o=s||Go(n);return await this.keychain.set(o,n),o},this.deleteKeyPair=async n=>{this.isInitialized(),await this.keychain.del(n)},this.deleteSymKey=async n=>{this.isInitialized(),await this.keychain.del(n)},this.encode=async(n,s,o)=>{this.isInitialized();const a=Fl(o),c=tn(s);if(Bl(a))return t8(c,o?.encoding);if(Cl(a)){const M=a.senderPublicKey,I=a.receiverPublicKey;n=await this.generateSharedKey(M,I)}const h=this.getSymKey(n),{type:l,senderPublicKey:y}=a;return Q4({type:l,symKey:h,message:c,senderPublicKey:y,encoding:o?.encoding})},this.decode=async(n,s,o)=>{this.isInitialized();const a=i8(s,o);if(Bl(a)){const c=r8(s,o?.encoding);return An(c)}if(Cl(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;n=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(n),h=e8({symKey:c,encoded:s,encoding:o?.encoding});return An(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}},this.getPayloadType=(n,s=Gi)=>{const o=Ts({encoded:n,encoding:s});return gn(o.type)},this.getPayloadSenderPublicKey=(n,s=Gi)=>{const o=Ts({encoded:n,encoding:s});return o.senderPublicKey?Zt(o.senderPublicKey,Ht):void 0},this.core=e,this.logger=Jt(r,this.name),this.keychain=i||new U7(this.core,this.logger)}get context(){return tr(this.logger)}async setPrivateKey(e,r){return await this.keychain.set(e,r),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(a0)}catch{e=Zf(),await this.keychain.set(a0,e)}return q7(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class k7 extends ag{constructor(e,r){super(e,r),this.logger=e,this.core=r,this.messages=new Map,this.name=K5,this.version=V5,this.initialized=!1,this.storagePrefix=ni,this.init=async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}},this.set=async(i,n)=>{this.isInitialized();const s=vi(n);let o=this.messages.get(i);return typeof o>"u"&&(o={}),typeof o[s]<"u"||(o[s]=n,this.messages.set(i,o),await this.persist()),s},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const s=this.get(i),o=vi(n);return typeof s[o]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Jt(e,this.name),this.core=r}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Bd(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ld(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}var j7=Object.defineProperty,K7=Object.defineProperties,V7=Object.getOwnPropertyDescriptors,O0=Object.getOwnPropertySymbols,H7=Object.prototype.hasOwnProperty,W7=Object.prototype.propertyIsEnumerable,P0=(t,e,r)=>e in t?j7(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,R0=(t,e)=>{for(var r in e||(e={}))H7.call(e,r)&&P0(t,r,e[r]);if(O0)for(var r of O0(e))W7.call(e,r)&&P0(t,r,e[r]);return t},$0=(t,e)=>K7(t,V7(e));class G7 extends fg{constructor(e,r){super(e,r),this.relayer=e,this.logger=r,this.events=new jt.exports.EventEmitter,this.name=H5,this.queue=new Map,this.publishTimeout=Y.toMiliseconds(Y.ONE_MINUTE),this.initialPublishTimeout=Y.toMiliseconds(Y.ONE_SECOND*15),this.needsTransportRestart=!1,this.publish=async(i,n,s)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:s}});const a=s?.ttl||f0,c=Jo(s),h=s?.prompt||!1,l=s?.tag||0,y=s?.id||bn().toString(),M={topic:i,message:n,opts:{ttl:a,relay:c,prompt:h,tag:l,id:y,attestation:s?.attestation}},I=`Failed to publish payload, please try again. id:${y} tag:${l}`;try{const S=new Promise(async D=>{const R=({id:T})=>{M.opts.id===T&&(this.removeRequestFromQueue(T),this.relayer.events.removeListener(Pt.publish,R),D(M))};this.relayer.events.on(Pt.publish,R);const $=ji(new Promise((T,C)=>{this.rpcPublish({topic:i,message:n,ttl:a,prompt:h,tag:l,id:y,attestation:s?.attestation}).then(T).catch(L=>{this.logger.warn(L,L?.message),C(L)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${y} tag:${l}`);try{await $,this.events.removeListener(Pt.publish,R)}catch(T){this.queue.set(y,$0(R0({},M),{attempt:1})),this.logger.warn(T,T?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:y,topic:i,message:n,opts:s}}),await ji(S,this.publishTimeout,I)}catch(S){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(S),(o=s?.internal)!=null&&o.throwOnFailedPublish)throw S}finally{this.queue.delete(y)}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.relayer=e,this.logger=Jt(r,this.name),this.registerEventListeners()}get context(){return tr(this.logger)}async rpcPublish(e){var r,i,n,s;const{topic:o,message:a,ttl:c=f0,prompt:h,tag:l,id:y,attestation:M}=e,I={method:Fs(Jo().protocol).publish,params:{topic:o,message:a,ttl:c,prompt:h,tag:l,attestation:M},id:y};Qt((r=I.params)==null?void 0:r.prompt)&&((i=I.params)==null||delete i.prompt),Qt((n=I.params)==null?void 0:n.tag)&&((s=I.params)==null||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:I});const S=await this.relayer.request(I);return this.relayer.events.emit(Pt.publish,e),this.logger.debug("Successfully Published Payload"),S}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,r)=>{const i=e.attempt+1;this.queue.set(r,$0(R0({},e),{attempt:i}));const{topic:n,message:s,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish({topic:n,message:s,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a}),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(In.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Pt.connection_stalled);return}this.checkQueue()}),this.relayer.on(Pt.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class J7{constructor(){this.map=new Map,this.set=(e,r)=>{const i=this.get(e);this.exists(e,r)||this.map.set(e,[...i,r])},this.get=e=>this.map.get(e)||[],this.exists=(e,r)=>this.get(e).includes(r),this.delete=(e,r)=>{if(typeof r>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,r))return;const n=i.filter(s=>s!==r);if(!n.length){this.map.delete(e);return}this.map.set(e,n)},this.clear=()=>{this.map.clear()}}get topics(){return Array.from(this.map.keys())}}var Y7=Object.defineProperty,X7=Object.defineProperties,Z7=Object.getOwnPropertyDescriptors,N0=Object.getOwnPropertySymbols,Q7=Object.prototype.hasOwnProperty,e_=Object.prototype.propertyIsEnumerable,T0=(t,e,r)=>e in t?Y7(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,js=(t,e)=>{for(var r in e||(e={}))Q7.call(e,r)&&T0(t,r,e[r]);if(N0)for(var r of N0(e))e_.call(e,r)&&T0(t,r,e[r]);return t},pc=(t,e)=>X7(t,Z7(e));class t_ extends ug{constructor(e,r){super(e,r),this.relayer=e,this.logger=r,this.subscriptions=new Map,this.topicMap=new J7,this.events=new jt.exports.EventEmitter,this.name=Q5,this.version=e9,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=ni,this.subscribeTimeout=Y.toMiliseconds(Y.ONE_MINUTE),this.initialSubscribeTimeout=Y.toMiliseconds(Y.ONE_SECOND*15),this.batchSubscribeTopicsLimit=500,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),this.clientId=await this.relayer.core.crypto.getClientId(),await this.restore()),this.initialized=!0},this.subscribe=async(i,n)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}});try{const s=Jo(n),o={topic:i,relay:s,transportType:n?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,s,n);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}})),a}catch(s){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(s),s}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof n?.id<"u"?await this.unsubscribeById(i,n.id,n):await this.unsubscribeByTopic(i,n)},this.isSubscribed=async i=>{if(this.topics.includes(i))return!0;const n=`${this.pendingSubscriptionWatchLabel}_${i}`;return await new Promise((s,o)=>{const a=new Y.Watch;a.start(n);const c=setInterval(()=>{(!this.pending.has(i)&&this.topics.includes(i)||this.cached.some(h=>h.topic===i))&&(clearInterval(c),a.stop(n),s(!0)),a.elapsed(n)>=t9&&(clearInterval(c),a.stop(n),o(new Error("Subscription resolution timeout")))},this.pollingInterval)}).catch(()=>!1)},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.start=async()=>{await this.onConnect()},this.stop=async()=>{await this.onDisconnect()},this.restart=async()=>{await this.restore(),await this.onRestart()},this.checkPending=async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(n=>{i.push(n)}),await this.batchSubscribe(i)},this.registerEventListeners=()=>{this.relayer.core.heartbeat.on(In.pulse,async()=>{await this.checkPending()}),this.events.on(vr.created,async i=>{const n=vr.created;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()}),this.events.on(vr.deleted,async i=>{const n=vr.deleted;this.logger.info(`Emitting ${n}`),this.logger.debug({type:"event",event:n,data:i}),await this.persist()})},this.relayer=e,this.logger=Jt(r,this.name),this.clientId=""}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}hasSubscription(e,r){let i=!1;try{i=this.getSubscription(e).topic===r}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.cached=this.values,this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,r){const i=this.topicMap.get(e);await Promise.all(i.map(async n=>await this.unsubscribeById(e,n,r)))}async unsubscribeById(e,r,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:r,opts:i}});try{const n=Jo(i);await this.rpcUnsubscribe(e,r,n);const s=ct("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,r,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:r,opts:i}})}catch(n){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(n),n}}async rpcSubscribe(e,r,i){var n;i?.transportType===ht.relay&&await this.restartToComplete();const s={method:Fs(r.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});const o=(n=i?.internal)==null?void 0:n.throwOnFailedPublish;try{const a=this.getSubscriptionId(e);if(i?.transportType===ht.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(l=>this.logger.warn(l))},Y.toMiliseconds(Y.ONE_SECOND)),a;const c=new Promise(async l=>{const y=M=>{M.topic===e&&(this.events.removeListener(vr.created,y),l(M.id))};this.events.on(vr.created,y);try{const M=await ji(new Promise((I,S)=>{this.relayer.request(s).catch(D=>{this.logger.warn(D,D?.message),S(D)}).then(I)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(vr.created,y),l(M)}catch{}}),h=await ji(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!h&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return h?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Pt.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const r=e[0].relay,i={method:Fs(r.protocol).batchSubscribe,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await ji(new Promise(n=>{this.relayer.request(i).catch(s=>this.logger.warn(s)).then(n)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(Pt.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const r=e[0].relay,i={method:Fs(r.protocol).batchFetchMessages,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let n;try{n=await await ji(new Promise((s,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(s)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(Pt.connection_stalled)}return n}rpcUnsubscribe(e,r,i){const n={method:Fs(i.protocol).unsubscribe,params:{topic:e,id:r}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n}),this.relayer.request(n)}onSubscribe(e,r){this.setSubscription(e,pc(js({},r),{id:e})),this.pending.delete(r.topic)}onBatchSubscribe(e){e.length&&e.forEach(r=>{this.setSubscription(r.id,js({},r)),this.pending.delete(r.topic)})}async onUnsubscribe(e,r,i){this.events.removeAllListeners(r),this.hasSubscription(r,e)&&this.deleteSubscription(r,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,r){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:r}),this.addSubscription(e,r)}addSubscription(e,r){this.subscriptions.set(e,js({},r)),this.topicMap.set(r.topic,e),this.events.emit(vr.created,r)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const r=this.subscriptions.get(e);if(!r){const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return r}deleteSubscription(e,r){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:r});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(vr.deleted,pc(js({},i),{reason:r}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(vr.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],r=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<r;i++){const n=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(n)}}this.events.emit(vr.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(r)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(e.map(r=>pc(js({},r),{id:this.getSubscriptionId(r.topic)}))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const r=await this.rpcBatchFetchMessages(e);r&&r.messages&&(await l6(Y.toMiliseconds(Y.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(r.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){!this.relayer.connected&&!this.relayer.connecting&&await this.relayer.transportOpen()}getSubscriptionId(e){return vi(e+this.clientId)}}var r_=Object.defineProperty,F0=Object.getOwnPropertySymbols,i_=Object.prototype.hasOwnProperty,n_=Object.prototype.propertyIsEnumerable,C0=(t,e,r)=>e in t?r_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,B0=(t,e)=>{for(var r in e||(e={}))i_.call(e,r)&&C0(t,r,e[r]);if(F0)for(var r of F0(e))n_.call(e,r)&&C0(t,r,e[r]);return t};class s_ extends cg{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new jt.exports.EventEmitter,this.name=G5,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.hasExperiencedNetworkDisruption=!1,this.heartBeatTimeout=Y.toMiliseconds(Y.THIRTY_SECONDS+Y.FIVE_SECONDS),this.requestsInFlight=[],this.connectTimeout=Y.toMiliseconds(Y.ONE_SECOND*15),this.request=async r=>{var i,n;this.logger.debug("Publishing Request Payload");const s=r.id||bn().toString();await this.toEstablishConnection();try{this.logger.trace({id:s,method:r.method,topic:(i=r.params)==null?void 0:i.topic},"relayer.request - publishing...");const o=`${s}:${((n=r.params)==null?void 0:n.tag)||""}`;this.requestsInFlight.push(o);const a=await this.provider.request(r);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${s}`),o}},this.resetPingTimeout=()=>{if(Uo())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var r,i,n;this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(n=(i=(r=this.provider)==null?void 0:r.connection)==null?void 0:i.socket)==null||n.terminate()},this.heartBeatTimeout)}catch(r){this.logger.warn(r,r?.message)}},this.onPayloadHandler=r=>{this.onProviderPayload(r),this.resetPingTimeout()},this.onConnectHandler=()=>{this.logger.warn({},"Relayer connected \u{1F6DC}"),this.startPingTimeout(),this.events.emit(Pt.connect)},this.onDisconnectHandler=()=>{this.logger.warn({},"Relayer disconnected \u{1F6D1}"),this.requestsInFlight=[],this.onProviderDisconnect()},this.onProviderErrorHandler=r=>{this.logger.fatal(r,`Fatal socket error: ${r?.message}`),this.events.emit(Pt.error,r),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Dr.payload,this.onPayloadHandler),this.provider.on(Dr.connect,this.onConnectHandler),this.provider.on(Dr.disconnect,this.onDisconnectHandler),this.provider.on(Dr.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Jt(e.logger,this.name):ai(Ia({level:e.logger||W5})),this.messages=new k7(this.logger,e.core),this.subscriber=new t_(this,this.logger),this.publisher=new G7(this,this.logger),this.relayUrl=e?.relayUrl||h0,this.projectId=e.projectId,Xw()?this.packageName=Td():Zw()&&(this.bundleId=Td()),this.provider={}}async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.cached.length>0)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return tr(this.logger)}get connected(){var e,r,i;return((i=(r=(e=this.provider)==null?void 0:e.connection)==null?void 0:r.socket)==null?void 0:i.readyState)===1}get connecting(){var e,r,i;return((i=(r=(e=this.provider)==null?void 0:e.connection)==null?void 0:r.socket)==null?void 0:i.readyState)===0}async publish(e,r,i){this.isInitialized(),await this.publisher.publish(e,r,i),await this.recordMessageEvent({topic:e,message:r,publishedAt:Date.now(),transportType:ht.relay})}async subscribe(e,r){var i,n,s;this.isInitialized(),(!(r!=null&&r.transportType)||r?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((i=r?.internal)==null?void 0:i.throwOnFailedPublish)>"u"?!0:(n=r?.internal)==null?void 0:n.throwOnFailedPublish;let a=((s=this.subscriber.topicMap.get(e))==null?void 0:s[0])||"",c;const h=l=>{l.topic===e&&(this.subscriber.off(vr.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on(vr.created,h)}),new Promise(async(l,y)=>{a=await this.subscriber.subscribe(e,B0({internal:{throwOnFailedPublish:o}},r)).catch(M=>{o&&y(M)})||a,l()})]),a}async unsubscribe(e,r){this.isInitialized(),await this.subscriber.unsubscribe(e,r)}on(e,r){this.events.on(e,r)}once(e,r){this.events.once(e,r)}off(e,r){this.events.off(e,r)}removeListener(e,r){this.events.removeListener(e,r)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await ji(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(r,i)=>{await this.connect(e).then(r).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await Wl())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const r=e.sort((i,n)=>i.publishedAt-n.publishedAt);this.logger.debug(`Batch of ${r.length} message events sorted`);for(const i of r)try{await this.onMessageEvent(i)}catch(n){this.logger.warn(n,"Error while processing batch message event: "+n?.message)}this.logger.trace(`Batch of ${r.length} message events processed`)}async onLinkMessageEvent(e,r){const{topic:i}=e;if(!r.sessionExists){const n=Et(Y.FIVE_MINUTES),s={topic:i,expiry:n,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,s)}this.events.emit(Pt.message,e),await this.recordMessageEvent(e)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let r=1;for(;r<6;){try{this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${r}...`),await this.createProvider(),await new Promise(async(i,n)=>{const s=()=>{n(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Dr.disconnect,s),await ji(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{n(o)}).finally(()=>{this.provider.off(Dr.disconnect,s),clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0}),await new Promise(async(o,a)=>{const c=()=>{a(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Dr.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(Dr.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const n=i;this.logger.warn({},n.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${r}`);break}await new Promise(i=>setTimeout(i,Y.toMiliseconds(r*1))),r++}}startPingTimeout(){var e,r,i,n,s;if(Uo())try{(r=(e=this.provider)==null?void 0:e.connection)!=null&&r.socket&&((s=(n=(i=this.provider)==null?void 0:i.connection)==null?void 0:n.socket)==null||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new $5(new C5(r6({sdkVersion:hc,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e){const{topic:r,message:i}=e;await this.messages.set(r,i)}async shouldIgnoreMessageEvent(e){const{topic:r,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(r))return this.logger.warn(`Ignoring message for non-subscribed topic ${r}`),!0;const n=this.messages.has(r,i);return n&&this.logger.warn(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),fc(e)){if(!e.method.endsWith(J5))return;const r=e.params,{topic:i,message:n,publishedAt:s,attestation:o}=r.data,a={topic:i,message:n,publishedAt:s,transportType:ht.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(B0({type:"event",event:r.id},a)),this.events.emit(r.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else ea(e)&&this.events.emit(Pt.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Pt.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const r=oc(e.id,!0);await this.provider.connection.send(r)}unregisterProviderListeners(){this.provider.off(Dr.payload,this.onPayloadHandler),this.provider.off(Dr.connect,this.onConnectHandler),this.provider.off(Dr.disconnect,this.onDisconnectHandler),this.provider.off(Dr.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Wl();K8(async r=>{e!==r&&(e=r,r?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),clearTimeout(this.pingTimeout),this.events.emit(Pt.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&(this.reconnectTimeout||this.connectPromise||(this.reconnectTimeout=setTimeout(async()=>{clearTimeout(this.reconnectTimeout),await this.transportOpen().catch(e=>this.logger.error(e,e?.message))},Y.toMiliseconds(Y5))))}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&await this.transportOpen()}}var o_=Object.defineProperty,L0=Object.getOwnPropertySymbols,a_=Object.prototype.hasOwnProperty,f_=Object.prototype.propertyIsEnumerable,q0=(t,e,r)=>e in t?o_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,U0=(t,e)=>{for(var r in e||(e={}))a_.call(e,r)&&q0(t,r,e[r]);if(L0)for(var r of L0(e))f_.call(e,r)&&q0(t,r,e[r]);return t};class _n extends hg{constructor(e,r,i,n=ni,s=void 0){super(e,r,i,n),this.core=e,this.logger=r,this.name=i,this.map=new Map,this.version=X5,this.cached=[],this.initialized=!1,this.storagePrefix=ni,this.recentlyDeleted=[],this.recentlyDeletedLimit=200,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!Qt(o)?this.map.set(this.getKey(o),o):_8(o)?this.map.set(o.id,o):x8(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)},this.set=async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())},this.get=o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o)),this.getAll=o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>B5(a[c],o[c]))):this.values),this.update=async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=U0(U0({},this.getData(o)),a);this.map.set(o,c),await this.persist()},this.delete=async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())},this.logger=Jt(r,this.name),this.storagePrefix=n,this.getKey=s}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const r=this.map.get(e);if(!r){if(this.recentlyDeleted.includes(e)){const{message:n}=Z("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return r}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class c_{constructor(e,r){this.core=e,this.logger=r,this.name=r9,this.version=i9,this.events=new jt.exports,this.initialized=!1,this.storagePrefix=ni,this.ignoredPayloadTypes=[bi],this.registeredMethods=[],this.init=async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))},this.register=({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]},this.create=async i=>{this.isInitialized();const n=Zf(),s=await this.core.crypto.setSymKey(n),o=Et(Y.FIVE_MINUTES),a={protocol:c0},c={topic:s,expiry:o,relay:a,active:!1,methods:i?.methods},h=ql({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:n,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(yn.create,c),this.core.expirer.set(s,o),await this.pairings.set(s,c),await this.core.relayer.subscribe(s,{transportType:i?.transportType}),{topic:s,uri:h}},this.pair=async i=>{this.isInitialized();const n=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[si.pairing_started]}});this.isValidPair(i,n);const{topic:s,symKey:o,relay:a,expiryTimestamp:c,methods:h}=Ll(i.uri);n.props.properties.topic=s,n.addTrace(si.pairing_uri_validation_success),n.addTrace(si.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(s)){if(l=this.pairings.get(s),n.addTrace(si.existing_pairing),l.active)throw n.setError(_i.active_pairing_already_exists),new Error(`Pairing already exists: ${s}. Please try again with a new connection URI.`);n.addTrace(si.pairing_not_expired)}const y=c||Et(Y.FIVE_MINUTES),M={topic:s,relay:a,expiry:y,active:!1,methods:h};this.core.expirer.set(s,y),await this.pairings.set(s,M),n.addTrace(si.store_new_pairing),i.activatePairing&&await this.activate({topic:s}),this.events.emit(yn.create,M),n.addTrace(si.emit_inactive_pairing),this.core.crypto.keychain.has(s)||await this.core.crypto.setSymKey(o,s),n.addTrace(si.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{n.setError(_i.no_internet_connection)}try{await this.core.relayer.subscribe(s,{relay:a})}catch(I){throw n.setError(_i.subscribe_pairing_topic_failure),I}return n.addTrace(si.subscribe_pairing_topic_success),M},this.activate=async({topic:i})=>{this.isInitialized();const n=Et(Y.FIVE_MINUTES);this.core.expirer.set(i,n),await this.pairings.update(i,{active:!0,expiry:n})},this.ping=async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:n}=i;if(this.pairings.keys.includes(n)){const s=await this.sendRequest(n,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=ln();this.events.once(Se("pairing_ping",s),({error:h})=>{h?c(h):a()}),await o()}},this.updateExpiry=async({topic:i,expiry:n})=>{this.isInitialized(),await this.pairings.update(i,{expiry:n})},this.updateMetadata=async({topic:i,metadata:n})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:n})},this.getPairings=()=>(this.isInitialized(),this.pairings.values),this.disconnect=async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:n}=i;this.pairings.keys.includes(n)&&(await this.sendRequest(n,"wc_pairingDelete",ct("USER_DISCONNECTED")),await this.deletePairing(n))},this.formatUriFromPairing=i=>{this.isInitialized();const{topic:n,relay:s,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(n);return ql({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:c,relay:s,expiryTimestamp:o,methods:a})},this.sendRequest=async(i,n,s)=>{const o=vn(n,s),a=await this.core.crypto.encode(i,o),c=qs[n].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id},this.sendResult=async(i,n,s)=>{const o=oc(i,s),a=await this.core.crypto.encode(n,o),c=await this.core.history.get(n,i),h=qs[c.request.method].res;await this.core.relayer.publish(n,a,h),await this.core.history.resolve(o)},this.sendError=async(i,n,s)=>{const o=ac(i,s),a=await this.core.crypto.encode(n,o),c=await this.core.history.get(n,i),h=qs[c.request.method]?qs[c.request.method].res:qs.unregistered_method.res;await this.core.relayer.publish(n,a,h),await this.core.history.resolve(o)},this.deletePairing=async(i,n)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,ct("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),n?Promise.resolve():this.core.expirer.del(i)])},this.cleanup=async()=>{const i=this.pairings.getAll().filter(n=>Ki(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:s}=i;switch(s.method){case"wc_pairingPing":return this.onPairingPingRequest(n,s);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,s);default:return this.onUnknownRpcMethodRequest(n,s)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:s}=i,o=(await this.core.history.get(n,s.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(n,s);default:return this.onUnknownRpcMethodResponse(o)}},this.onPairingPingRequest=async(i,n)=>{const{id:s}=n;try{this.isValidPing({topic:i}),await this.sendResult(s,i,!0),this.events.emit(yn.ping,{id:s,topic:i})}catch(o){await this.sendError(s,i,o),this.logger.error(o)}},this.onPairingPingResponse=(i,n)=>{const{id:s}=n;setTimeout(()=>{ii(n)?this.events.emit(Se("pairing_ping",s),{}):Ar(n)&&this.events.emit(Se("pairing_ping",s),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:s}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(yn.delete,{id:s,topic:i})}catch(o){await this.sendError(s,i,o),this.logger.error(o)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:s,method:o}=n;try{if(this.registeredMethods.includes(o))return;const a=ct("WC_METHOD_UNSUPPORTED",o);await this.sendError(s,i,a),this.logger.error(a)}catch(a){await this.sendError(s,i,a),this.logger.error(a)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error(ct("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=(i,n)=>{var s;if(!or(i)){const{message:a}=Z("MISSING_OR_INVALID",`pair() params: ${i}`);throw n.setError(_i.malformed_pairing_uri),new Error(a)}if(!w8(i.uri)){const{message:a}=Z("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw n.setError(_i.malformed_pairing_uri),new Error(a)}const o=Ll(i?.uri);if(!((s=o?.relay)!=null&&s.protocol)){const{message:a}=Z("MISSING_OR_INVALID","pair() uri#relay-protocol");throw n.setError(_i.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=Z("MISSING_OR_INVALID","pair() uri#symKey");throw n.setError(_i.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&Y.toMiliseconds(o?.expiryTimestamp)<Date.now()){n.setError(_i.pairing_expired);const{message:a}=Z("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}},this.isValidPing=async i=>{if(!or(i)){const{message:s}=Z("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!or(i)){const{message:s}=Z("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(s)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!mt(i,!1)){const{message:n}=Z("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=Z("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(Ki(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=Z("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Jt(r,this.name),this.pairings=new _n(this.core,this.logger,this.name,this.storagePrefix)}get context(){return tr(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Pt.message,async e=>{const{topic:r,message:i,transportType:n}=e;if(!this.pairings.keys.includes(r)||n===ht.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const s=await this.core.crypto.decode(r,i);try{fc(s)?(this.core.history.set(r,s),this.onRelayEventRequest({topic:r,payload:s})):ea(s)&&(await this.core.history.resolve(s),await this.onRelayEventResponse({topic:r,payload:s}),this.core.history.delete(r,s.id))}catch(o){this.logger.error(o)}})}registerExpirerEvents(){this.core.expirer.on(Or.expired,async e=>{const{topic:r}=Ud(e.target);r&&this.pairings.keys.includes(r)&&(await this.deletePairing(r,!0),this.events.emit(yn.expire,{topic:r}))})}}class h_ extends og{constructor(e,r){super(e,r),this.core=e,this.logger=r,this.records=new Map,this.events=new jt.exports.EventEmitter,this.name=n9,this.version=s9,this.cached=[],this.initialized=!1,this.storagePrefix=ni,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.set=(i,n,s)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:s}),this.records.has(n.id))return;const o={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:s,expiry:Et(Y.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(Ur.created,o)},this.resolve=async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const n=await this.getRecord(i.id);typeof n.response>"u"&&(n.response=Ar(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.persist(),this.events.emit(Ur.updated,n))},this.get=async(i,n)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:n}),await this.getRecord(n)),this.delete=(i,n)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:n}),this.values.forEach(s=>{if(s.topic===i){if(typeof n<"u"&&s.id!==n)return;this.records.delete(s.id),this.events.emit(Ur.deleted,s)}}),this.persist()},this.exists=async(i,n)=>(this.isInitialized(),this.records.has(n)?(await this.getRecord(n)).topic===i:!1),this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Jt(r,this.name)}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(r=>{if(typeof r.response<"u")return;const i={topic:r.topic,request:vn(r.request.method,r.request.params,r.id),chainId:r.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const r=this.records.get(e);if(!r){const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return r}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Ur.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(Ur.created,e=>{const r=Ur.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:e})}),this.events.on(Ur.updated,e=>{const r=Ur.updated;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:e})}),this.events.on(Ur.deleted,e=>{const r=Ur.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,record:e})}),this.core.heartbeat.on(In.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(r=>{Y.toMiliseconds(r.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${r.id}`),this.records.delete(r.id),this.events.emit(Ur.deleted,r,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class u_ extends dg{constructor(e,r){super(e,r),this.core=e,this.logger=r,this.expirations=new Map,this.events=new jt.exports.EventEmitter,this.name=o9,this.version=a9,this.cached=[],this.initialized=!1,this.storagePrefix=ni,this.init=async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)},this.has=i=>{try{const n=this.formatTarget(i);return typeof this.getExpiration(n)<"u"}catch{return!1}},this.set=(i,n)=>{this.isInitialized();const s=this.formatTarget(i),o={target:s,expiry:n};this.expirations.set(s,o),this.checkExpiry(s,o),this.events.emit(Or.created,{target:s,expiration:o})},this.get=i=>{this.isInitialized();const n=this.formatTarget(i);return this.getExpiration(n)},this.del=i=>{if(this.isInitialized(),this.has(i)){const n=this.formatTarget(i),s=this.getExpiration(n);this.expirations.delete(n),this.events.emit(Or.deleted,{target:n,expiration:s})}},this.on=(i,n)=>{this.events.on(i,n)},this.once=(i,n)=>{this.events.once(i,n)},this.off=(i,n)=>{this.events.off(i,n)},this.removeListener=(i,n)=>{this.events.removeListener(i,n)},this.logger=Jt(r,this.name)}get context(){return tr(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return i6(e);if(typeof e=="number")return n6(e);const{message:r}=Z("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(r)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(Or.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:r}=Z("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(r),new Error(r)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const r=this.expirations.get(e);if(!r){const{message:i}=Z("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return r}checkExpiry(e,r){const{expiry:i}=r;Y.toMiliseconds(i)-Date.now()<=0&&this.expire(e,r)}expire(e,r){this.expirations.delete(e),this.events.emit(Or.expired,{target:e,expiration:r})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,r)=>this.checkExpiry(r,e))}registerEventListeners(){this.core.heartbeat.on(In.pulse,()=>this.checkExpirations()),this.events.on(Or.created,e=>{const r=Or.created;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:e}),this.persist()}),this.events.on(Or.expired,e=>{const r=Or.expired;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:e}),this.persist()}),this.events.on(Or.deleted,e=>{const r=Or.deleted;this.logger.info(`Emitting ${r}`),this.logger.debug({type:"event",event:r,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}}class d_ extends lg{constructor(e,r,i){super(e,r,i),this.core=e,this.logger=r,this.store=i,this.name=f9,this.verifyUrlV3=h9,this.storagePrefix=ni,this.version=o0,this.init=async()=>{var n;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&Y.toMiliseconds((n=this.publicKey)==null?void 0:n.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))},this.register=async n=>{if(!Ss()||this.isDevEnv)return;const s=window.location.origin,{id:o,decryptedId:a}=n,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${s}&id=${o}&decryptedId=${a}`;try{const h=ds(),l=this.startAbortTimer(Y.ONE_SECOND*5),y=await new Promise((M,I)=>{const S=()=>{window.removeEventListener("message",R),h.body.removeChild(D),I("attestation aborted")};this.abortController.signal.addEventListener("abort",S);const D=h.createElement("iframe");D.src=c,D.style.display="none",D.addEventListener("error",S,{signal:this.abortController.signal});const R=$=>{if($.data&&typeof $.data=="string")try{const T=JSON.parse($.data);if(T.type==="verify_attestation"){if(Wa(T.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(D),this.abortController.signal.removeEventListener("abort",S),window.removeEventListener("message",R),M(T.attestation===null?"":T.attestation)}}catch(T){this.logger.warn(T)}};h.body.appendChild(D),window.addEventListener("message",R,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",y),y}catch(h){this.logger.warn(h)}return""},this.resolve=async n=>{if(this.isDevEnv)return"";const{attestationId:s,hash:o,encryptedId:a}=n;if(s===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(s){if(Wa(s).payload.id!==a)return;const h=await this.isValidJwtAttestation(s);if(h){if(!h.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return h}}if(!o)return;const c=this.getVerifyUrl(n?.verifyUrl);return this.fetchAttestation(o,c)},this.fetchAttestation=async(n,s)=>{this.logger.debug(`resolving attestation: ${n} from url: ${s}`);const o=this.startAbortTimer(Y.ONE_SECOND*5),a=await fetch(`${s}/attestation/${n}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0},this.getVerifyUrl=n=>{let s=n||Us;return u9.includes(s)||(this.logger.info(`verify url: ${s}, not included in trusted list, assigning default: ${Us}`),s=Us),s},this.fetchPublicKey=async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const n=this.startAbortTimer(Y.FIVE_SECONDS),s=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(n),await s.json()}catch(n){this.logger.warn(n)}},this.persistPublicKey=async n=>{this.logger.debug("persisting public key to local storage",n),await this.store.setItem(this.storeKey,n),this.publicKey=n},this.removePublicKey=async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0},this.isValidJwtAttestation=async n=>{const s=await this.getPublicKey();try{if(s)return this.validateAttestation(n,s)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(n,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}},this.getPublicKey=async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey(),this.fetchAndPersistPublicKey=async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async s=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),s(o))});const n=await this.fetchPromise;return this.fetchPromise=void 0,n},this.validateAttestation=(n,s)=>{const o=a8(n,s.publicKey),a={hasExpired:Y.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}},this.logger=Jt(r,this.name),this.abortController=new AbortController,this.isDevEnv=Nf(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return tr(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),Y.toMiliseconds(e))}}class l_ extends pg{constructor(e,r){super(e,r),this.projectId=e,this.logger=r,this.context=d9,this.registerDeviceToken=async i=>{const{clientId:n,token:s,notificationType:o,enableEncrypted:a=!1}=i,c=`${l9}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,type:o,token:s,always_raw:a})})},this.logger=Jt(r,this.context)}}var p_=Object.defineProperty,z0=Object.getOwnPropertySymbols,g_=Object.prototype.hasOwnProperty,b_=Object.prototype.propertyIsEnumerable,k0=(t,e,r)=>e in t?p_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ks=(t,e)=>{for(var r in e||(e={}))g_.call(e,r)&&k0(t,r,e[r]);if(z0)for(var r of z0(e))b_.call(e,r)&&k0(t,r,e[r]);return t};class v_ extends gg{constructor(e,r,i=!0){super(e,r,i),this.core=e,this.logger=r,this.context=g9,this.storagePrefix=ni,this.storageVersion=p9,this.events=new Map,this.shouldPersist=!1,this.init=async()=>{if(!Nf())try{const n={eventId:kd(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Cd(this.core.relayer.protocol,this.core.relayer.version,hc)}}};await this.sendEvent([n])}catch(n){this.logger.warn(n)}},this.createEvent=n=>{const{event:s="ERROR",type:o="",properties:{topic:a,trace:c}}=n,h=kd(),l=this.core.projectId||"",y=Date.now(),M=Ks({eventId:h,timestamp:y,props:{event:s,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,M),this.shouldPersist=!0),M},this.getEvent=n=>{const{eventId:s,topic:o}=n;if(s)return this.events.get(s);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return Ks(Ks({},a),this.setMethods(a.eventId))},this.deleteEvent=n=>{const{eventId:s}=n;this.events.delete(s),this.shouldPersist=!0},this.setEventListeners=()=>{this.core.heartbeat.on(In.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(n=>{Y.fromMiliseconds(Date.now())-Y.fromMiliseconds(n.timestamp)>b9&&(this.events.delete(n.eventId),this.shouldPersist=!0)})})},this.setMethods=n=>({addTrace:s=>this.addTrace(n,s),setError:s=>this.setError(n,s)}),this.addTrace=(n,s)=>{const o=this.events.get(n);o&&(o.props.properties.trace.push(s),this.events.set(n,o),this.shouldPersist=!0)},this.setError=(n,s)=>{const o=this.events.get(n);o&&(o.props.type=s,o.timestamp=Date.now(),this.events.set(n,o),this.shouldPersist=!0)},this.persist=async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1},this.restore=async()=>{try{const n=await this.core.storage.getItem(this.storageKey)||[];if(!n.length)return;n.forEach(s=>{this.events.set(s.eventId,Ks(Ks({},s),this.setMethods(s.eventId)))})}catch(n){this.logger.warn(n)}},this.submit=async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const n=[];for(const[s,o]of this.events)o.props.type&&n.push(o);if(n.length!==0)try{if((await this.sendEvent(n)).ok)for(const s of n)this.events.delete(s.eventId),this.shouldPersist=!0}catch(s){this.logger.warn(s)}},this.sendEvent=async n=>{const s=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${v9}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${hc}${s}`,{method:"POST",body:JSON.stringify(n)})},this.getAppDomain=()=>Fd().url,this.logger=Jt(r,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var y_=Object.defineProperty,j0=Object.getOwnPropertySymbols,m_=Object.prototype.hasOwnProperty,w_=Object.prototype.propertyIsEnumerable,K0=(t,e,r)=>e in t?y_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,V0=(t,e)=>{for(var r in e||(e={}))m_.call(e,r)&&K0(t,r,e[r]);if(j0)for(var r of j0(e))w_.call(e,r)&&K0(t,r,e[r]);return t};class gc extends sg{constructor(e){var r;super(e),this.protocol=s0,this.version=o0,this.name=ta,this.events=new jt.exports.EventEmitter,this.initialized=!1,this.on=(o,a)=>this.events.on(o,a),this.once=(o,a)=>this.events.once(o,a),this.off=(o,a)=>this.events.off(o,a),this.removeListener=(o,a)=>this.events.removeListener(o,a),this.dispatchEnvelope=({topic:o,message:a,sessionExists:c})=>{if(!o||!a)return;const h={topic:o,message:a,publishedAt:Date.now(),transportType:ht.link_mode};this.relayer.onLinkMessageEvent(h,{sessionExists:c})},this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||h0,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Ia({level:typeof e?.logger=="string"&&e.logger?e.logger:L5.logger,name:ta}),{logger:n,chunkLoggerController:s}=ng({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=s,(r=this.logChunkController)!=null&&r.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var o,a;(o=this.logChunkController)!=null&&o.downloadLogsBlobInBrowser&&((a=this.logChunkController)==null||a.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Jt(n,this.name),this.heartbeat=new ma,this.crypto=new z7(this,this.logger,e?.keychain),this.history=new h_(this,this.logger),this.expirer=new u_(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new P1(V0(V0({},q5),e?.storageOptions)),this.relayer=new s_({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new c_(this,this.logger),this.verify=new d_(this,this.logger,this.storage),this.echoClient=new l_(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new v_(this,this.logger,e?.telemetryEnabled)}static async init(e){const r=new gc(e);await r.initialize();const i=await r.crypto.getClientId();return await r.storage.setItem(Z5,i),r}get context(){return tr(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(u0,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(u0)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}}const bc=gc,H0="wc",W0=2,G0="client",vc=`${H0}@${W0}:${G0}:`,yc={name:G0,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},J0="WALLETCONNECT_DEEPLINK_CHOICE",__="proposal",x_="Proposal expired",E_="session",ts=Y.SEVEN_DAYS,S_="engine",Rt={wc_sessionPropose:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1104},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1106},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:Y.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1112},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:Y.ONE_DAY,prompt:!1,tag:1114},res:{ttl:Y.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:Y.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:Y.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:Y.FIVE_MINUTES,prompt:!1,tag:1119}}},mc={min:Y.FIVE_MINUTES,max:Y.SEVEN_DAYS},oi={idle:"IDLE",active:"ACTIVE"},M_="request",I_=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],A_="wc",D_="auth",O_="authKeys",P_="pairingTopics",R_="requests",ia=`${A_}@${1.5}:${D_}:`,na=`${ia}:PUB_KEY`;var $_=Object.defineProperty,N_=Object.defineProperties,T_=Object.getOwnPropertyDescriptors,Y0=Object.getOwnPropertySymbols,F_=Object.prototype.hasOwnProperty,C_=Object.prototype.propertyIsEnumerable,X0=(t,e,r)=>e in t?$_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,gt=(t,e)=>{for(var r in e||(e={}))F_.call(e,r)&&X0(t,r,e[r]);if(Y0)for(var r of Y0(e))C_.call(e,r)&&X0(t,r,e[r]);return t},kr=(t,e)=>N_(t,T_(e));class B_ extends vg{constructor(e){super(e),this.name=S_,this.events=new jt.exports,this.initialized=!1,this.requestQueue={state:oi.idle,queue:[]},this.sessionRequestQueue={state:oi.idle,queue:[]},this.requestQueueDelay=Y.ONE_SECOND,this.expectedPairingMethodMap=new Map,this.recentlyDeletedMap=new Map,this.recentlyDeletedLimit=200,this.relayMessageCache=[],this.init=async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(Rt)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay)))},this.connect=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=kr(gt({},r),{requiredNamespaces:r.requiredNamespaces||{},optionalNamespaces:r.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:n,requiredNamespaces:s,optionalNamespaces:o,sessionProperties:a,relays:c}=i;let h=n,l,y=!1;try{if(h){const L=this.client.core.pairing.pairings.get(h);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),y=L.active}}catch(L){throw this.client.logger.error(`connect() -> pairing.get(${h}) failed`),L}if(!h||!y){const{topic:L,uri:k}=await this.client.core.pairing.create();h=L,l=k}if(!h){const{message:L}=Z("NO_MATCHING_KEY",`connect() pairing topic: ${h}`);throw new Error(L)}const M=await this.client.core.crypto.generateKeyPair(),I=Rt.wc_sessionPropose.req.ttl||Y.FIVE_MINUTES,S=Et(I),D=gt({requiredNamespaces:s,optionalNamespaces:o,relays:c??[{protocol:c0}],proposer:{publicKey:M,metadata:this.client.metadata},expiryTimestamp:S,pairingTopic:h},a&&{sessionProperties:a}),{reject:R,resolve:$,done:T}=ln(I,x_);this.events.once(Se("session_connect"),async({error:L,session:k})=>{if(L)R(L);else if(k){k.self.publicKey=M;const j=kr(gt({},k),{pairingTopic:D.pairingTopic,requiredNamespaces:D.requiredNamespaces,optionalNamespaces:D.optionalNamespaces,transportType:ht.relay});await this.client.session.set(k.topic,j),await this.setExpiry(k.topic,k.expiry),h&&await this.client.core.pairing.updateMetadata({topic:h,metadata:k.peer.metadata}),this.cleanupDuplicatePairings(j),$(j)}});const C=await this.sendRequest({topic:h,method:"wc_sessionPropose",params:D,throwOnFailedPublish:!0});return await this.setProposal(C,gt({id:C},D)),{uri:l,approval:T}},this.pair=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(r)}catch(i){throw this.client.logger.error("pair() failed"),i}},this.approve=async r=>{var i,n,s;const o=this.client.core.eventClient.createEvent({properties:{topic:(i=r?.id)==null?void 0:i.toString(),trace:[zr.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(K){throw o.setError(mn.no_internet_connection),K}try{await this.isValidProposalId(r?.id)}catch(K){throw this.client.logger.error(`approve() -> proposal.get(${r?.id}) failed`),o.setError(mn.proposal_not_found),K}try{await this.isValidApprove(r)}catch(K){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(mn.session_approve_namespace_validation_failure),K}const{id:a,relayProtocol:c,namespaces:h,sessionProperties:l,sessionConfig:y}=r,M=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:I,proposer:S,requiredNamespaces:D,optionalNamespaces:R}=M;let $=(n=this.client.core.eventClient)==null?void 0:n.getEvent({topic:I});$||($=(s=this.client.core.eventClient)==null?void 0:s.createEvent({type:zr.session_approve_started,properties:{topic:I,trace:[zr.session_approve_started,zr.session_namespaces_validation_success]}}));const T=await this.client.core.crypto.generateKeyPair(),C=S.publicKey,L=await this.client.core.crypto.generateSharedKey(T,C),k=gt(gt({relay:{protocol:c??"irn"},namespaces:h,controller:{publicKey:T,metadata:this.client.metadata},expiry:Et(ts)},l&&{sessionProperties:l}),y&&{sessionConfig:y}),j=ht.relay;$.addTrace(zr.subscribing_session_topic);try{await this.client.core.relayer.subscribe(L,{transportType:j})}catch(K){throw $.setError(mn.subscribe_session_topic_failure),K}$.addTrace(zr.subscribe_session_topic_success);const G=kr(gt({},k),{topic:L,requiredNamespaces:D,optionalNamespaces:R,pairingTopic:I,acknowledged:!1,self:k.controller,peer:{publicKey:S.publicKey,metadata:S.metadata},controller:T,transportType:ht.relay});await this.client.session.set(L,G),$.addTrace(zr.store_session);try{$.addTrace(zr.publishing_session_settle),await this.sendRequest({topic:L,method:"wc_sessionSettle",params:k,throwOnFailedPublish:!0}).catch(K=>{throw $?.setError(mn.session_settle_publish_failure),K}),$.addTrace(zr.session_settle_publish_success),$.addTrace(zr.publishing_session_approve),await this.sendResult({id:a,topic:I,result:{relay:{protocol:c??"irn"},responderPublicKey:T},throwOnFailedPublish:!0}).catch(K=>{throw $?.setError(mn.session_approve_publish_failure),K}),$.addTrace(zr.session_approve_publish_success)}catch(K){throw this.client.logger.error(K),this.client.session.delete(L,ct("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(L),K}return this.client.core.eventClient.deleteEvent({eventId:$.eventId}),await this.client.core.pairing.updateMetadata({topic:I,metadata:S.metadata}),await this.client.proposal.delete(a,ct("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:I}),await this.setExpiry(L,Et(ts)),{topic:L,acknowledged:()=>Promise.resolve(this.client.session.get(L))}},this.reject=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(r)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:i,reason:n}=r;let s;try{s=this.client.proposal.get(i).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),o}s&&(await this.sendError({id:i,topic:s,error:n,rpcOpts:Rt.wc_sessionPropose.reject}),await this.client.proposal.delete(i,ct("USER_DISCONNECTED")))},this.update=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(r)}catch(y){throw this.client.logger.error("update() -> isValidUpdate() failed"),y}const{topic:i,namespaces:n}=r,{done:s,resolve:o,reject:a}=ln(),c=wi(),h=bn().toString(),l=this.client.session.get(i).namespaces;return this.events.once(Se("session_update",c),({error:y})=>{y?a(y):o()}),await this.client.session.update(i,{namespaces:n}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:h}).catch(y=>{this.client.logger.error(y),this.client.session.update(i,{namespaces:l}),a(y)}),{acknowledged:s}},this.extend=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(r)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:i}=r,n=wi(),{done:s,resolve:o,reject:a}=ln();return this.events.once(Se("session_extend",n),({error:c})=>{c?a(c):o()}),await this.setExpiry(i,Et(ts)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:s}},this.request=async r=>{this.isInitialized();try{await this.isValidRequest(r)}catch(S){throw this.client.logger.error("request() -> isValidRequest() failed"),S}const{chainId:i,request:n,topic:s,expiry:o=Rt.wc_sessionRequest.req.ttl}=r,a=this.client.session.get(s);a?.transportType===ht.relay&&await this.confirmOnlineStateOrThrow();const c=wi(),h=bn().toString(),{done:l,resolve:y,reject:M}=ln(o,"Request expired. Please try again.");this.events.once(Se("session_request",c),({error:S,result:D})=>{S?M(S):y(D)});const I=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);return I?(await this.sendRequest({clientRpcId:c,relayRpcId:h,topic:s,method:"wc_sessionRequest",params:{request:kr(gt({},n),{expiryTimestamp:Et(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0,appLink:I}).catch(S=>M(S)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:c}),await l()):await Promise.all([new Promise(async S=>{await this.sendRequest({clientRpcId:c,relayRpcId:h,topic:s,method:"wc_sessionRequest",params:{request:kr(gt({},n),{expiryTimestamp:Et(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0}).catch(D=>M(D)),this.client.events.emit("session_request_sent",{topic:s,request:n,chainId:i,id:c}),S()}),new Promise(async S=>{var D;if(!((D=a.sessionConfig)!=null&&D.disableDeepLink)){const R=await c6(this.client.core.storage,J0);await o6({id:c,topic:s,wcDeepLink:R})}S()}),l()]).then(S=>S[2])},this.respond=async r=>{this.isInitialized(),await this.isValidRespond(r);const{topic:i,response:n}=r,{id:s}=n,o=this.client.session.get(i);o.transportType===ht.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);ii(n)?await this.sendResult({id:s,topic:i,result:n.result,throwOnFailedPublish:!0,appLink:a}):Ar(n)&&await this.sendError({id:s,topic:i,error:n.error,appLink:a}),this.cleanupAfterResponse(r)},this.ping=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(r)}catch(n){throw this.client.logger.error("ping() -> isValidPing() failed"),n}const{topic:i}=r;if(this.client.session.keys.includes(i)){const n=wi(),s=bn().toString(),{done:o,resolve:a,reject:c}=ln();this.events.once(Se("session_ping",n),({error:h})=>{h?c(h):a()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:n,relayRpcId:s}),o()])}else this.client.core.pairing.pairings.keys.includes(i)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:i}))},this.emit=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(r);const{topic:i,event:n,chainId:s}=r,o=bn().toString(),a=wi();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:n,chainId:s},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})},this.disconnect=async r=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(r);const{topic:i}=r;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:ct("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:i,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(i))await this.client.core.pairing.disconnect({topic:i});else{const{message:n}=Z("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(n)}},this.find=r=>(this.isInitialized(),this.client.session.getAll().filter(i=>y8(i,r))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async(r,i)=>{var n;this.isInitialized(),this.isValidAuthenticate(r);const s=i&&this.client.core.linkModeSupportedApps.includes(i)&&((n=this.client.metadata.redirect)==null?void 0:n.linkMode),o=s?ht.link_mode:ht.relay;o===ht.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:h,domain:l,nonce:y,type:M,exp:I,nbf:S,methods:D=[],expiry:R}=r,$=[...r.resources||[]],{topic:T,uri:C}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:T,uri:C}});const L=await this.client.core.crypto.generateKeyPair(),k=Go(L);if(await Promise.all([this.client.auth.authKeys.set(na,{responseTopic:k,publicKey:L}),this.client.auth.pairingTopics.set(k,{topic:k,pairingTopic:T})]),await this.client.core.relayer.subscribe(k,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${T}`),D.length>0){const{namespace:E}=qo(a[0]);let w=Z6(E,"request",D);Ko($)&&(w=e4(w,$.pop())),$.push(w)}const j=R&&R>Rt.wc_sessionAuthenticate.req.ttl?R:Rt.wc_sessionAuthenticate.req.ttl,G={authPayload:{type:M??"caip122",chains:a,statement:c,aud:h,domain:l,version:"1",nonce:y,iat:new Date().toISOString(),exp:I,nbf:S,resources:$},requester:{publicKey:L,metadata:this.client.metadata},expiryTimestamp:Et(j)},K={eip155:{chains:a,methods:[...new Set(["personal_sign",...D])],events:["chainChanged","accountsChanged"]}},V={requiredNamespaces:{},optionalNamespaces:K,relays:[{protocol:"irn"}],pairingTopic:T,proposer:{publicKey:L,metadata:this.client.metadata},expiryTimestamp:Et(Rt.wc_sessionPropose.req.ttl)},{done:re,resolve:O,reject:g}=ln(j,"Request expired"),p=async({error:E,session:w})=>{if(this.events.off(Se("session_request",u),f),E)g(E);else if(w){w.self.publicKey=L,await this.client.session.set(w.topic,w),await this.setExpiry(w.topic,w.expiry),T&&await this.client.core.pairing.updateMetadata({topic:T,metadata:w.peer.metadata});const d=this.client.session.get(w.topic);await this.deleteProposal(b),O({session:d})}},f=async E=>{var w,d,m;if(await this.deletePendingAuthRequest(u,{message:"fulfilled",code:0}),E.error){const q=ct("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return E.error.code===q.code?void 0:(this.events.off(Se("session_connect"),p),g(E.error.message))}await this.deleteProposal(b),this.events.off(Se("session_connect"),p);const{cacaos:v,responder:A}=E.result,U=[],x=[];for(const q of v){await il({cacao:q,projectId:this.client.core.projectId})||(this.client.logger.error(q,"Signature verification failed"),g(ct("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:z}=q,J=Ko(z.resources),X=[qf(z.iss)],W=jo(z.iss);if(J){const ne=ol(J),Q=al(J);U.push(...ne),X.push(...Q)}for(const ne of X)x.push(`${ne}:${W}`)}const N=await this.client.core.crypto.generateSharedKey(L,A.publicKey);let B;U.length>0&&(B={topic:N,acknowledged:!0,self:{publicKey:L,metadata:this.client.metadata},peer:A,controller:A.publicKey,expiry:Et(ts),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:T,namespaces:Ul([...new Set(U)],[...new Set(x)]),transportType:o},await this.client.core.relayer.subscribe(N,{transportType:o}),await this.client.session.set(N,B),T&&await this.client.core.pairing.updateMetadata({topic:T,metadata:A.metadata}),B=this.client.session.get(N)),(w=this.client.metadata.redirect)!=null&&w.linkMode&&(d=A.metadata.redirect)!=null&&d.linkMode&&(m=A.metadata.redirect)!=null&&m.universal&&i&&(this.client.core.addLinkModeSupportedApp(A.metadata.redirect.universal),this.client.session.update(N,{transportType:ht.link_mode})),O({auths:v,session:B})},u=wi(),b=wi();this.events.once(Se("session_connect"),p),this.events.once(Se("session_request",u),f);let _;try{if(s){const E=vn("wc_sessionAuthenticate",G,u);this.client.core.history.set(T,E);const w=await this.client.core.crypto.encode("",E,{type:$s,encoding:Ps});_=Yo(i,T,w)}else await Promise.all([this.sendRequest({topic:T,method:"wc_sessionAuthenticate",params:G,expiry:r.expiry,throwOnFailedPublish:!0,clientRpcId:u}),this.sendRequest({topic:T,method:"wc_sessionPropose",params:V,expiry:Rt.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:b})])}catch(E){throw this.events.off(Se("session_connect"),p),this.events.off(Se("session_request",u),f),E}return await this.setProposal(b,gt({id:b},V)),await this.setAuthRequest(u,{request:kr(gt({},G),{verifyContext:{}}),pairingTopic:T,transportType:o}),{uri:_??C,response:re}},this.approveSessionAuthenticate=async r=>{const{id:i,auths:n}=r,s=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[wn.authenticated_session_approve_started]}});try{this.isInitialized()}catch(R){throw s.setError(zs.no_internet_connection),R}const o=this.getPendingAuthRequest(i);if(!o)throw s.setError(zs.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const a=o.transportType||ht.relay;a===ht.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),l=Go(c),y={type:bi,receiverPublicKey:c,senderPublicKey:h},M=[],I=[];for(const R of n){if(!await il({cacao:R,projectId:this.client.core.projectId})){s.setError(zs.invalid_cacao);const k=ct("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:l,error:k,encodeOpts:y}),new Error(k.message)}s.addTrace(wn.cacaos_verified);const{p:$}=R,T=Ko($.resources),C=[qf($.iss)],L=jo($.iss);if(T){const k=ol(T),j=al(T);M.push(...k),C.push(...j)}for(const k of C)I.push(`${k}:${L}`)}const S=await this.client.core.crypto.generateSharedKey(h,c);s.addTrace(wn.create_authenticated_session_topic);let D;if(M?.length>0){D={topic:S,acknowledged:!0,self:{publicKey:h,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:Et(ts),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:Ul([...new Set(M)],[...new Set(I)]),transportType:a},s.addTrace(wn.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(S,{transportType:a})}catch(R){throw s.setError(zs.subscribe_authenticated_session_topic_failure),R}s.addTrace(wn.subscribe_authenticated_session_topic_success),await this.client.session.set(S,D),s.addTrace(wn.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}s.addTrace(wn.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:i,result:{cacaos:n,responder:{publicKey:h,metadata:this.client.metadata}},encodeOpts:y,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(R){throw s.setError(zs.authenticated_session_approve_publish_failure),R}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:D}},this.rejectSessionAuthenticate=async r=>{this.isInitialized();const{id:i,reason:n}=r,s=this.getPendingAuthRequest(i);if(!s)throw new Error(`Could not find pending auth request with id ${i}`);s.transportType===ht.relay&&await this.confirmOnlineStateOrThrow();const o=s.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=Go(o),h={type:bi,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:i,topic:c,error:n,encodeOpts:h,rpcOpts:Rt.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(s.requester.metadata,s.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,ct("USER_DISCONNECTED"))},this.formatAuthMessage=r=>{this.isInitialized();const{request:i,iss:n}=r;return nl(i,n)},this.processRelayMessageCache=()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const r=this.relayMessageCache.shift();r&&await this.onRelayMessage(r)}catch(r){this.client.logger.error(r)}},50)},this.cleanupDuplicatePairings=async r=>{if(r.pairingTopic)try{const i=this.client.core.pairing.pairings.get(r.pairingTopic),n=this.client.core.pairing.pairings.getAll().filter(s=>{var o,a;return((o=s.peerMetadata)==null?void 0:o.url)&&((a=s.peerMetadata)==null?void 0:a.url)===r.peer.metadata.url&&s.topic&&s.topic!==i.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(s=>this.client.core.pairing.disconnect({topic:s.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(i){this.client.logger.error(i)}},this.deleteSession=async r=>{var i;const{topic:n,expirerHasDeleted:s=!1,emitEvent:o=!0,id:a=0}=r,{self:c}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,ct("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),s||this.client.core.expirer.del(n),this.client.core.storage.removeItem(J0).catch(h=>this.client.logger.warn(h)),this.getPendingSessionRequests().forEach(h=>{h.topic===n&&this.deletePendingSessionRequest(h.id,ct("USER_DISCONNECTED"))}),n===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=oi.idle),o&&this.client.events.emit("session_delete",{id:a,topic:n})},this.deleteProposal=async(r,i)=>{if(i)try{const n=this.client.proposal.get(r);this.client.core.eventClient.getEvent({topic:n.pairingTopic})?.setError(mn.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(r,ct("USER_DISCONNECTED")),i?Promise.resolve():this.client.core.expirer.del(r)]),this.addToRecentlyDeleted(r,"proposal")},this.deletePendingSessionRequest=async(r,i,n=!1)=>{await Promise.all([this.client.pendingRequest.delete(r,i),n?Promise.resolve():this.client.core.expirer.del(r)]),this.addToRecentlyDeleted(r,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(s=>s.id!==r),n&&(this.sessionRequestQueue.state=oi.idle,this.client.events.emit("session_request_expire",{id:r}))},this.deletePendingAuthRequest=async(r,i,n=!1)=>{await Promise.all([this.client.auth.requests.delete(r,i),n?Promise.resolve():this.client.core.expirer.del(r)])},this.setExpiry=async(r,i)=>{this.client.session.keys.includes(r)&&(this.client.core.expirer.set(r,i),await this.client.session.update(r,{expiry:i}))},this.setProposal=async(r,i)=>{this.client.core.expirer.set(r,Et(Rt.wc_sessionPropose.req.ttl)),await this.client.proposal.set(r,i)},this.setAuthRequest=async(r,i)=>{const{request:n,pairingTopic:s,transportType:o=ht.relay}=i;this.client.core.expirer.set(r,n.expiryTimestamp),await this.client.auth.requests.set(r,{authPayload:n.authPayload,requester:n.requester,expiryTimestamp:n.expiryTimestamp,id:r,pairingTopic:s,verifyContext:n.verifyContext,transportType:o})},this.setPendingSessionRequest=async r=>{const{id:i,topic:n,params:s,verifyContext:o}=r,a=s.request.expiryTimestamp||Et(Rt.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,a),await this.client.pendingRequest.set(i,{id:i,topic:n,params:s,verifyContext:o})},this.sendRequest=async r=>{const{topic:i,method:n,params:s,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:h,appLink:l}=r,y=vn(n,s,c);let M;const I=!!l;try{const R=I?Ps:Gi;M=await this.client.core.crypto.encode(i,y,{encoding:R})}catch(R){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),R}let S;if(I_.includes(n)){const R=vi(JSON.stringify(y)),$=vi(M);S=await this.client.core.verify.register({id:$,decryptedId:R})}const D=Rt[n].req;if(D.attestation=S,o&&(D.ttl=o),a&&(D.id=a),this.client.core.history.set(i,y),I){const R=Yo(l,i,M);await global.Linking.openURL(R,this.client.name)}else{const R=Rt[n].req;o&&(R.ttl=o),a&&(R.id=a),h?(R.internal=kr(gt({},R.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,M,R)):this.client.core.relayer.publish(i,M,R).catch($=>this.client.logger.error($))}return y.id},this.sendResult=async r=>{const{id:i,topic:n,result:s,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=r,h=oc(i,s);let l;const y=c&&typeof(global==null?void 0:global.Linking)<"u";try{const I=y?Ps:Gi;l=await this.client.core.crypto.encode(n,h,kr(gt({},a||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),I}let M;try{M=await this.client.core.history.get(n,i)}catch(I){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${i}) failed`),I}if(y){const I=Yo(c,n,l);await global.Linking.openURL(I,this.client.name)}else{const I=Rt[M.request.method].res;o?(I.internal=kr(gt({},I.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,l,I)):this.client.core.relayer.publish(n,l,I).catch(S=>this.client.logger.error(S))}await this.client.core.history.resolve(h)},this.sendError=async r=>{const{id:i,topic:n,error:s,encodeOpts:o,rpcOpts:a,appLink:c}=r,h=ac(i,s);let l;const y=c&&typeof(global==null?void 0:global.Linking)<"u";try{const I=y?Ps:Gi;l=await this.client.core.crypto.encode(n,h,kr(gt({},o||{}),{encoding:I}))}catch(I){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),I}let M;try{M=await this.client.core.history.get(n,i)}catch(I){throw this.client.logger.error(`sendError() -> history.get(${n}, ${i}) failed`),I}if(y){const I=Yo(c,n,l);await global.Linking.openURL(I,this.client.name)}else{const I=a||Rt[M.request.method].res;this.client.core.relayer.publish(n,l,I)}await this.client.core.history.resolve(h)},this.cleanup=async()=>{const r=[],i=[];this.client.session.getAll().forEach(n=>{let s=!1;Ki(n.expiry)&&(s=!0),this.client.core.crypto.keychain.has(n.topic)||(s=!0),s&&r.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{Ki(n.expiryTimestamp)&&i.push(n.id)}),await Promise.all([...r.map(n=>this.deleteSession({topic:n})),...i.map(n=>this.deleteProposal(n))])},this.onRelayEventRequest=async r=>{this.requestQueue.queue.push(r),await this.processRequestsQueue()},this.processRequestsQueue=async()=>{if(this.requestQueue.state===oi.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=oi.active;const r=this.requestQueue.queue.shift();if(r)try{await this.processRequest(r)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=oi.idle},this.processRequest=async r=>{const{topic:i,payload:n,attestation:s,transportType:o,encryptedId:a}=r,c=n.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:n,attestation:s,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(i,n);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(i,n);case"wc_sessionExtend":return await this.onSessionExtendRequest(i,n);case"wc_sessionPing":return await this.onSessionPingRequest(i,n);case"wc_sessionDelete":return await this.onSessionDeleteRequest(i,n);case"wc_sessionRequest":return await this.onSessionRequest({topic:i,payload:n,attestation:s,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(i,n);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:n,attestation:s,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}},this.onRelayEventResponse=async r=>{const{topic:i,payload:n,transportType:s}=r,o=(await this.client.core.history.get(i,n.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(i,n,s);case"wc_sessionSettle":return this.onSessionSettleResponse(i,n);case"wc_sessionUpdate":return this.onSessionUpdateResponse(i,n);case"wc_sessionExtend":return this.onSessionExtendResponse(i,n);case"wc_sessionPing":return this.onSessionPingResponse(i,n);case"wc_sessionRequest":return this.onSessionRequestResponse(i,n);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(i,n);default:return this.client.logger.info(`Unsupported response method ${o}`)}},this.onRelayEventUnknownPayload=r=>{const{topic:i}=r,{message:n}=Z("MISSING_OR_INVALID",`Decoded payload on topic ${i} is not identifiable as a JSON-RPC request or a response.`);throw new Error(n)},this.shouldIgnorePairingRequest=r=>{const{topic:i,requestMethod:n}=r,s=this.expectedPairingMethodMap.get(i);return!s||s.includes(n)?!1:!!(s.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async r=>{const{topic:i,payload:n,attestation:s,encryptedId:o}=r,{params:a,id:c}=n;try{const h=this.client.core.eventClient.getEvent({topic:i});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),h?.setError(_i.proposal_listener_not_found)),this.isValidConnect(gt({},n.params));const l=a.expiryTimestamp||Et(Rt.wc_sessionPropose.req.ttl),y=gt({id:c,pairingTopic:i,expiryTimestamp:l},a);await this.setProposal(c,y);const M=await this.getVerifyContext({attestationId:s,hash:vi(JSON.stringify(n)),encryptedId:o,metadata:y.proposer.metadata});h?.addTrace(si.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:y,verifyContext:M})}catch(h){await this.sendError({id:c,topic:i,error:h,rpcOpts:Rt.wc_sessionPropose.autoReject}),this.client.logger.error(h)}},this.onSessionProposeResponse=async(r,i,n)=>{const{id:s}=i;if(ii(i)){const{result:o}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(s);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const h=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:h});const l=await this.client.core.crypto.generateSharedKey(c,h);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:l});const y=await this.client.core.relayer.subscribe(l,{transportType:n});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:y}),await this.client.core.pairing.activate({topic:r})}else if(Ar(i)){await this.client.proposal.delete(s,ct("USER_DISCONNECTED"));const o=Se("session_connect");if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(Se("session_connect"),{error:i.error})}},this.onSessionSettleRequest=async(r,i)=>{const{id:n,params:s}=i;try{this.isValidSessionSettleRequest(s);const{relay:o,controller:a,expiry:c,namespaces:h,sessionProperties:l,sessionConfig:y}=i.params,M=kr(gt(gt({topic:r,relay:o,expiry:c,namespaces:h,acknowledged:!0,pairingTopic:"",requiredNamespaces:{},optionalNamespaces:{},controller:a.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},l&&{sessionProperties:l}),y&&{sessionConfig:y}),{transportType:ht.relay}),I=Se("session_connect");if(this.events.listenerCount(I)===0)throw new Error(`emitting ${I} without any listeners 997`);this.events.emit(Se("session_connect"),{session:M}),await this.sendResult({id:i.id,topic:r,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:n,topic:r,error:o}),this.client.logger.error(o)}},this.onSessionSettleResponse=async(r,i)=>{const{id:n}=i;ii(i)?(await this.client.session.update(r,{acknowledged:!0}),this.events.emit(Se("session_approve",n),{})):Ar(i)&&(await this.client.session.delete(r,ct("USER_DISCONNECTED")),this.events.emit(Se("session_approve",n),{error:i.error}))},this.onSessionUpdateRequest=async(r,i)=>{const{params:n,id:s}=i;try{const o=`${r}_session_update`,a=Cs.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.warn(`Discarding out of sync request - ${s}`),this.sendError({id:s,topic:r,error:ct("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(gt({topic:r},n));try{Cs.set(o,s),await this.client.session.update(r,{namespaces:n.namespaces}),await this.sendResult({id:s,topic:r,result:!0,throwOnFailedPublish:!0})}catch(c){throw Cs.delete(o),c}this.client.events.emit("session_update",{id:s,topic:r,params:n})}catch(o){await this.sendError({id:s,topic:r,error:o}),this.client.logger.error(o)}},this.isRequestOutOfSync=(r,i)=>i.toString().slice(0,-3)<r.toString().slice(0,-3),this.onSessionUpdateResponse=(r,i)=>{const{id:n}=i,s=Se("session_update",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);ii(i)?this.events.emit(Se("session_update",n),{}):Ar(i)&&this.events.emit(Se("session_update",n),{error:i.error})},this.onSessionExtendRequest=async(r,i)=>{const{id:n}=i;try{this.isValidExtend({topic:r}),await this.setExpiry(r,Et(ts)),await this.sendResult({id:n,topic:r,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:n,topic:r})}catch(s){await this.sendError({id:n,topic:r,error:s}),this.client.logger.error(s)}},this.onSessionExtendResponse=(r,i)=>{const{id:n}=i,s=Se("session_extend",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);ii(i)?this.events.emit(Se("session_extend",n),{}):Ar(i)&&this.events.emit(Se("session_extend",n),{error:i.error})},this.onSessionPingRequest=async(r,i)=>{const{id:n}=i;try{this.isValidPing({topic:r}),await this.sendResult({id:n,topic:r,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:n,topic:r})}catch(s){await this.sendError({id:n,topic:r,error:s}),this.client.logger.error(s)}},this.onSessionPingResponse=(r,i)=>{const{id:n}=i,s=Se("session_ping",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);setTimeout(()=>{ii(i)?this.events.emit(Se("session_ping",n),{}):Ar(i)&&this.events.emit(Se("session_ping",n),{error:i.error})},500)},this.onSessionDeleteRequest=async(r,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:r,reason:i.params}),Promise.all([new Promise(s=>{this.client.core.relayer.once(Pt.publish,async()=>{s(await this.deleteSession({topic:r,id:n}))})}),this.sendResult({id:n,topic:r,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:r,error:ct("USER_DISCONNECTED")})]).catch(s=>this.client.logger.error(s))}catch(s){this.client.logger.error(s)}},this.onSessionRequest=async r=>{var i,n,s;const{topic:o,payload:a,attestation:c,encryptedId:h,transportType:l}=r,{id:y,params:M}=a;try{await this.isValidRequest(gt({topic:o},M));const I=this.client.session.get(o),S=await this.getVerifyContext({attestationId:c,hash:vi(JSON.stringify(vn("wc_sessionRequest",M,y))),encryptedId:h,metadata:I.peer.metadata,transportType:l}),D={id:y,topic:o,params:M,verifyContext:S};await this.setPendingSessionRequest(D),l===ht.link_mode&&(i=I.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((n=I.peer.metadata.redirect)==null?void 0:n.universal),(s=this.client.signConfig)!=null&&s.disableRequestQueue?this.emitSessionRequest(D):(this.addSessionRequestToSessionRequestQueue(D),this.processSessionRequestQueue())}catch(I){await this.sendError({id:y,topic:o,error:I}),this.client.logger.error(I)}},this.onSessionRequestResponse=(r,i)=>{const{id:n}=i,s=Se("session_request",n);if(this.events.listenerCount(s)===0)throw new Error(`emitting ${s} without any listeners`);ii(i)?this.events.emit(Se("session_request",n),{result:i.result}):Ar(i)&&this.events.emit(Se("session_request",n),{error:i.error})},this.onSessionEventRequest=async(r,i)=>{const{id:n,params:s}=i;try{const o=`${r}_session_event_${s.event.name}`,a=Cs.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(gt({topic:r},s)),this.client.events.emit("session_event",{id:n,topic:r,params:s}),Cs.set(o,n)}catch(o){await this.sendError({id:n,topic:r,error:o}),this.client.logger.error(o)}},this.onSessionAuthenticateResponse=(r,i)=>{const{id:n}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:r,payload:i}),ii(i)?this.events.emit(Se("session_request",n),{result:i.result}):Ar(i)&&this.events.emit(Se("session_request",n),{error:i.error})},this.onSessionAuthenticateRequest=async r=>{var i;const{topic:n,payload:s,attestation:o,encryptedId:a,transportType:c}=r;try{const{requester:h,authPayload:l,expiryTimestamp:y}=s.params,M=await this.getVerifyContext({attestationId:o,hash:vi(JSON.stringify(s)),encryptedId:a,metadata:h.metadata,transportType:c}),I={requester:h,pairingTopic:n,id:s.id,authPayload:l,verifyContext:M,expiryTimestamp:y};await this.setAuthRequest(s.id,{request:I,pairingTopic:n,transportType:c}),c===ht.link_mode&&(i=h.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp(h.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:n,params:s.params,id:s.id,verifyContext:M})}catch(h){this.client.logger.error(h);const l=s.params.requester.publicKey,y=await this.client.core.crypto.generateKeyPair(),M=this.getAppLinkIfEnabled(s.params.requester.metadata,c),I={type:bi,receiverPublicKey:l,senderPublicKey:y};await this.sendError({id:s.id,topic:n,error:h,encodeOpts:I,rpcOpts:Rt.wc_sessionAuthenticate.autoReject,appLink:M})}},this.addSessionRequestToSessionRequestQueue=r=>{this.sessionRequestQueue.queue.push(r)},this.cleanupAfterResponse=r=>{this.deletePendingSessionRequest(r.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=oi.idle,this.processSessionRequestQueue()},Y.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:r,error:i})=>{const n=this.client.core.history.pending;n.length>0&&n.filter(s=>s.topic===r&&s.request.method==="wc_sessionRequest").forEach(s=>{const o=s.request.id,a=Se("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(Se("session_request",s.request.id),{error:i})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===oi.active){this.client.logger.info("session request queue is already active.");return}const r=this.sessionRequestQueue.queue[0];if(!r){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=oi.active,this.emitSessionRequest(r)}catch(i){this.client.logger.error(i)}},this.emitSessionRequest=r=>{this.client.events.emit("session_request",r)},this.onPairingCreated=r=>{if(r.methods&&this.expectedPairingMethodMap.set(r.topic,r.methods),r.active)return;const i=this.client.proposal.getAll().find(n=>n.pairingTopic===r.topic);i&&this.onSessionProposeRequest({topic:r.topic,payload:vn("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})},this.isValidConnect=async r=>{if(!or(r)){const{message:c}=Z("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(r)}`);throw new Error(c)}const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:s,sessionProperties:o,relays:a}=r;if(Qt(i)||await this.isValidPairingTopic(i),!P8(a,!0)){const{message:c}=Z("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(c)}!Qt(n)&&Zo(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!Qt(s)&&Zo(s)!==0&&this.validateNamespaces(s,"optionalNamespaces"),Qt(o)||this.validateSessionProps(o,"sessionProperties")},this.validateNamespaces=(r,i)=>{const n=O8(r,"connect()",i);if(n)throw new Error(n.message)},this.isValidApprove=async r=>{if(!or(r))throw new Error(Z("MISSING_OR_INVALID",`approve() params: ${r}`).message);const{id:i,namespaces:n,relayProtocol:s,sessionProperties:o}=r;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const a=this.client.proposal.get(i),c=ec(n,"approve()");if(c)throw new Error(c.message);const h=Vl(a.requiredNamespaces,n,"approve()");if(h)throw new Error(h.message);if(!mt(s,!0)){const{message:l}=Z("MISSING_OR_INVALID",`approve() relayProtocol: ${s}`);throw new Error(l)}Qt(o)||this.validateSessionProps(o,"sessionProperties")},this.isValidReject=async r=>{if(!or(r)){const{message:s}=Z("MISSING_OR_INVALID",`reject() params: ${r}`);throw new Error(s)}const{id:i,reason:n}=r;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!$8(n)){const{message:s}=Z("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(s)}},this.isValidSessionSettleRequest=r=>{if(!or(r)){const{message:h}=Z("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${r}`);throw new Error(h)}const{relay:i,controller:n,namespaces:s,expiry:o}=r;if(!jl(i)){const{message:h}=Z("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(h)}const a=E8(n,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=ec(s,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(Ki(o)){const{message:h}=Z("EXPIRED","onSessionSettleRequest()");throw new Error(h)}},this.isValidUpdate=async r=>{if(!or(r)){const{message:c}=Z("MISSING_OR_INVALID",`update() params: ${r}`);throw new Error(c)}const{topic:i,namespaces:n}=r;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const s=this.client.session.get(i),o=ec(n,"update()");if(o)throw new Error(o.message);const a=Vl(s.requiredNamespaces,n,"update()");if(a)throw new Error(a.message)},this.isValidExtend=async r=>{if(!or(r)){const{message:n}=Z("MISSING_OR_INVALID",`extend() params: ${r}`);throw new Error(n)}const{topic:i}=r;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i)},this.isValidRequest=async r=>{if(!or(r)){const{message:c}=Z("MISSING_OR_INVALID",`request() params: ${r}`);throw new Error(c)}const{topic:i,request:n,chainId:s,expiry:o}=r;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:a}=this.client.session.get(i);if(!Kl(a,s)){const{message:c}=Z("MISSING_OR_INVALID",`request() chainId: ${s}`);throw new Error(c)}if(!N8(n)){const{message:c}=Z("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(c)}if(!C8(a,s,n.method)){const{message:c}=Z("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(c)}if(o&&!U8(o,mc)){const{message:c}=Z("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${mc.min} and ${mc.max}`);throw new Error(c)}},this.isValidRespond=async r=>{var i;if(!or(r)){const{message:o}=Z("MISSING_OR_INVALID",`respond() params: ${r}`);throw new Error(o)}const{topic:n,response:s}=r;try{await this.isValidSessionTopic(n)}catch(o){throw(i=r?.response)!=null&&i.id&&this.cleanupAfterResponse(r),o}if(!T8(s)){const{message:o}=Z("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(s)}`);throw new Error(o)}},this.isValidPing=async r=>{if(!or(r)){const{message:n}=Z("MISSING_OR_INVALID",`ping() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidSessionOrPairingTopic(i)},this.isValidEmit=async r=>{if(!or(r)){const{message:a}=Z("MISSING_OR_INVALID",`emit() params: ${r}`);throw new Error(a)}const{topic:i,event:n,chainId:s}=r;await this.isValidSessionTopic(i);const{namespaces:o}=this.client.session.get(i);if(!Kl(o,s)){const{message:a}=Z("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw new Error(a)}if(!F8(n)){const{message:a}=Z("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(a)}if(!B8(o,s,n.name)){const{message:a}=Z("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(a)}},this.isValidDisconnect=async r=>{if(!or(r)){const{message:n}=Z("MISSING_OR_INVALID",`disconnect() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidSessionOrPairingTopic(i)},this.isValidAuthenticate=r=>{const{chains:i,uri:n,domain:s,nonce:o}=r;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!mt(n,!1))throw new Error("uri is required parameter");if(!mt(s,!1))throw new Error("domain is required parameter");if(!mt(o,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(c=>qo(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=qo(i[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")},this.getVerifyContext=async r=>{const{attestationId:i,hash:n,encryptedId:s,metadata:o,transportType:a}=r,c={verified:{verifyUrl:o.verifyUrl||Us,validation:"UNKNOWN",origin:o.url||""}};try{if(a===ht.link_mode){const l=this.getAppLinkIfEnabled(o,a);return c.verified.validation=l&&new URL(l).origin===new URL(o.url).origin?"VALID":"INVALID",c}const h=await this.client.core.verify.resolve({attestationId:i,hash:n,encryptedId:s,verifyUrl:o.verifyUrl});h&&(c.verified.origin=h.origin,c.verified.isScam=h.isScam,c.verified.validation=h.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(h){this.client.logger.warn(h)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c},this.validateSessionProps=(r,i)=>{Object.values(r).forEach(n=>{if(!mt(n,!1)){const{message:s}=Z("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(n)}`);throw new Error(s)}})},this.getPendingAuthRequest=r=>{const i=this.client.auth.requests.get(r);return typeof i=="object"?i:void 0},this.addToRecentlyDeleted=(r,i)=>{if(this.recentlyDeletedMap.set(r,i),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let n=0;const s=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(n++>=s)break;this.recentlyDeletedMap.delete(o)}}},this.checkRecentlyDeleted=r=>{const i=this.recentlyDeletedMap.get(r);if(i){const{message:n}=Z("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${r}`);throw new Error(n)}},this.isLinkModeEnabled=(r,i)=>{var n,s,o,a,c,h,l,y,M;return!r||i!==ht.link_mode?!1:((s=(n=this.client.metadata)==null?void 0:n.redirect)==null?void 0:s.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((h=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:h.universal)!==""&&((l=r?.redirect)==null?void 0:l.universal)!==void 0&&((y=r?.redirect)==null?void 0:y.universal)!==""&&((M=r?.redirect)==null?void 0:M.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(r.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"},this.getAppLinkIfEnabled=(r,i)=>{var n;return this.isLinkModeEnabled(r,i)?(n=r?.redirect)==null?void 0:n.universal:void 0},this.handleLinkModeMessage=({url:r})=>{if(!r||!r.includes("wc_ev")||!r.includes("topic"))return;const i=zd(r,"topic")||"",n=decodeURIComponent(zd(r,"wc_ev")||""),s=this.client.session.keys.includes(i);s&&this.client.session.update(i,{transportType:ht.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:n,sessionExists:s})},this.registerLinkModeListeners=async()=>{var r;if(Nf()||ki()&&(r=this.client.metadata.redirect)!=null&&r.linkMode){const i=global==null?void 0:global.Linking;if(typeof i<"u"){i.addEventListener("url",this.handleLinkModeMessage,this.client.name);const n=await i.getInitialURL();n&&setTimeout(()=>{this.handleLinkModeMessage({url:n})},50)}}}}isInitialized(){if(!this.initialized){const{message:e}=Z("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Pt.message,e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):this.onRelayMessage(e)})}async onRelayMessage(e){const{topic:r,message:i,attestation:n,transportType:s}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(na)?this.client.auth.authKeys.get(na):{responseTopic:void 0,publicKey:void 0},a=await this.client.core.crypto.decode(r,i,{receiverPublicKey:o,encoding:s===ht.link_mode?Ps:Gi});try{fc(a)?(this.client.core.history.set(r,a),this.onRelayEventRequest({topic:r,payload:a,attestation:n,transportType:s,encryptedId:vi(i)})):ea(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:r,payload:a,transportType:s}),this.client.core.history.delete(r,a.id)):this.onRelayEventUnknownPayload({topic:r,payload:a,transportType:s})}catch(c){this.client.logger.error(c)}}registerExpirerEvents(){this.client.core.expirer.on(Or.expired,async e=>{const{topic:r,id:i}=Ud(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,Z("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,Z("EXPIRED"),!0);r?this.client.session.keys.includes(r)&&(await this.deleteSession({topic:r,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:r})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i}))})}registerPairingEvents(){this.client.core.pairing.events.on(yn.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(yn.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!mt(e,!1)){const{message:r}=Z("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(r)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:r}=Z("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(r)}if(Ki(this.client.core.pairing.pairings.get(e).expiry)){const{message:r}=Z("EXPIRED",`pairing topic: ${e}`);throw new Error(r)}}async isValidSessionTopic(e){if(!mt(e,!1)){const{message:r}=Z("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(r)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:r}=Z("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(r)}if(Ki(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:r}=Z("EXPIRED",`session topic: ${e}`);throw new Error(r)}if(!this.client.core.crypto.keychain.has(e)){const{message:r}=Z("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(r)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(mt(e,!1)){const{message:r}=Z("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(r)}else{const{message:r}=Z("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(r)}}async isValidProposalId(e){if(!R8(e)){const{message:r}=Z("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(r)}if(!this.client.proposal.keys.includes(e)){const{message:r}=Z("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(r)}if(Ki(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:r}=Z("EXPIRED",`proposal id: ${e}`);throw new Error(r)}}}class L_ extends _n{constructor(e,r){super(e,r,__,vc),this.core=e,this.logger=r}}class Z0 extends _n{constructor(e,r){super(e,r,E_,vc),this.core=e,this.logger=r}}class q_ extends _n{constructor(e,r){super(e,r,M_,vc,i=>i.id),this.core=e,this.logger=r}}class U_ extends _n{constructor(e,r){super(e,r,O_,ia,()=>na),this.core=e,this.logger=r}}class z_ extends _n{constructor(e,r){super(e,r,P_,ia),this.core=e,this.logger=r}}class k_ extends _n{constructor(e,r){super(e,r,R_,ia,i=>i.id),this.core=e,this.logger=r}}class j_{constructor(e,r){this.core=e,this.logger=r,this.authKeys=new U_(this.core,this.logger),this.pairingTopics=new z_(this.core,this.logger),this.requests=new k_(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class wc extends bg{constructor(e){super(e),this.protocol=H0,this.version=W0,this.name=yc.name,this.events=new jt.exports.EventEmitter,this.on=(i,n)=>this.events.on(i,n),this.once=(i,n)=>this.events.once(i,n),this.off=(i,n)=>this.events.off(i,n),this.removeListener=(i,n)=>this.events.removeListener(i,n),this.removeAllListeners=i=>this.events.removeAllListeners(i),this.connect=async i=>{try{return await this.engine.connect(i)}catch(n){throw this.logger.error(n.message),n}},this.pair=async i=>{try{return await this.engine.pair(i)}catch(n){throw this.logger.error(n.message),n}},this.approve=async i=>{try{return await this.engine.approve(i)}catch(n){throw this.logger.error(n.message),n}},this.reject=async i=>{try{return await this.engine.reject(i)}catch(n){throw this.logger.error(n.message),n}},this.update=async i=>{try{return await this.engine.update(i)}catch(n){throw this.logger.error(n.message),n}},this.extend=async i=>{try{return await this.engine.extend(i)}catch(n){throw this.logger.error(n.message),n}},this.request=async i=>{try{return await this.engine.request(i)}catch(n){throw this.logger.error(n.message),n}},this.respond=async i=>{try{return await this.engine.respond(i)}catch(n){throw this.logger.error(n.message),n}},this.ping=async i=>{try{return await this.engine.ping(i)}catch(n){throw this.logger.error(n.message),n}},this.emit=async i=>{try{return await this.engine.emit(i)}catch(n){throw this.logger.error(n.message),n}},this.disconnect=async i=>{try{return await this.engine.disconnect(i)}catch(n){throw this.logger.error(n.message),n}},this.find=i=>{try{return this.engine.find(i)}catch(n){throw this.logger.error(n.message),n}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(i){throw this.logger.error(i.message),i}},this.authenticate=async(i,n)=>{try{return await this.engine.authenticate(i,n)}catch(s){throw this.logger.error(s.message),s}},this.formatAuthMessage=i=>{try{return this.engine.formatAuthMessage(i)}catch(n){throw this.logger.error(n.message),n}},this.approveSessionAuthenticate=async i=>{try{return await this.engine.approveSessionAuthenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.rejectSessionAuthenticate=async i=>{try{return await this.engine.rejectSessionAuthenticate(i)}catch(n){throw this.logger.error(n.message),n}},this.name=e?.name||yc.name,this.metadata=e?.metadata||Fd(),this.signConfig=e?.signConfig;const r=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:ai(Ia({level:e?.logger||yc.logger}));this.core=e?.core||new bc(e),this.logger=Jt(r,this.name),this.session=new Z0(this.core,this.logger),this.proposal=new L_(this.core,this.logger),this.pendingRequest=new q_(this.core,this.logger),this.engine=new B_(this),this.auth=new j_(this.core,this.logger)}static async init(e){const r=new wc(e);return await r.initialize(),r}get context(){return tr(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},Y.toMiliseconds(Y.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}const K_=Z0,V_=wc;class H_ extends jt.exports{constructor(){super()}}class Q0{constructor(e){this.opts=e}}class ep{constructor(e){this.client=e}}var W_=Object.defineProperty,G_=Object.defineProperties,J_=Object.getOwnPropertyDescriptors,tp=Object.getOwnPropertySymbols,Y_=Object.prototype.hasOwnProperty,X_=Object.prototype.propertyIsEnumerable,rp=(t,e,r)=>e in t?W_(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Z_=(t,e)=>{for(var r in e||(e={}))Y_.call(e,r)&&rp(t,r,e[r]);if(tp)for(var r of tp(e))X_.call(e,r)&&rp(t,r,e[r]);return t},Q_=(t,e)=>G_(t,J_(e));class ex extends ep{constructor(e){super(e),this.init=async()=>{this.signClient=await V_.init({core:this.client.core,metadata:this.client.metadata,signConfig:this.client.signConfig})},this.pair=async r=>{await this.client.core.pairing.pair(r)},this.approveSession=async r=>{const{topic:i,acknowledged:n}=await this.signClient.approve(Q_(Z_({},r),{id:r.id,namespaces:r.namespaces,sessionProperties:r.sessionProperties,sessionConfig:r.sessionConfig}));return await n(),this.signClient.session.get(i)},this.rejectSession=async r=>await this.signClient.reject(r),this.updateSession=async r=>await this.signClient.update(r),this.extendSession=async r=>await this.signClient.extend(r),this.respondSessionRequest=async r=>await this.signClient.respond(r),this.disconnectSession=async r=>await this.signClient.disconnect(r),this.emitSessionEvent=async r=>await this.signClient.emit(r),this.getActiveSessions=()=>this.signClient.session.getAll().reduce((r,i)=>(r[i.topic]=i,r),{}),this.getPendingSessionProposals=()=>this.signClient.proposal.getAll(),this.getPendingSessionRequests=()=>this.signClient.getPendingSessionRequests(),this.approveSessionAuthenticate=async r=>await this.signClient.approveSessionAuthenticate(r),this.rejectSessionAuthenticate=async r=>await this.signClient.rejectSessionAuthenticate(r),this.formatAuthMessage=r=>this.signClient.formatAuthMessage(r),this.registerDeviceToken=r=>this.client.core.echoClient.registerDeviceToken(r),this.on=(r,i)=>(this.setEvent(r,"off"),this.setEvent(r,"on"),this.client.events.on(r,i)),this.once=(r,i)=>(this.setEvent(r,"off"),this.setEvent(r,"once"),this.client.events.once(r,i)),this.off=(r,i)=>(this.setEvent(r,"off"),this.client.events.off(r,i)),this.removeListener=(r,i)=>(this.setEvent(r,"removeListener"),this.client.events.removeListener(r,i)),this.onSessionRequest=r=>{this.client.events.emit("session_request",r)},this.onSessionProposal=r=>{this.client.events.emit("session_proposal",r)},this.onSessionDelete=r=>{this.client.events.emit("session_delete",r)},this.onProposalExpire=r=>{this.client.events.emit("proposal_expire",r)},this.onSessionRequestExpire=r=>{this.client.events.emit("session_request_expire",r)},this.onSessionRequestAuthenticate=r=>{this.client.events.emit("session_authenticate",r)},this.setEvent=(r,i)=>{switch(r){case"session_request":this.signClient.events[i]("session_request",this.onSessionRequest);break;case"session_proposal":this.signClient.events[i]("session_proposal",this.onSessionProposal);break;case"session_delete":this.signClient.events[i]("session_delete",this.onSessionDelete);break;case"proposal_expire":this.signClient.events[i]("proposal_expire",this.onProposalExpire);break;case"session_request_expire":this.signClient.events[i]("session_request_expire",this.onSessionRequestExpire);break;case"session_authenticate":this.signClient.events[i]("session_authenticate",this.onSessionRequestAuthenticate);break}},this.signClient={}}}const tx={decryptMessage:async t=>{const e={core:new bc({storageOptions:t.storageOptions,storage:t.storage})};await e.core.crypto.init();const r=e.core.crypto.decode(t.topic,t.encryptedMessage);return e.core=null,r},getMetadata:async t=>{const e={core:new bc({storageOptions:t.storageOptions,storage:t.storage}),sessionStore:null};e.sessionStore=new K_(e.core,e.core.logger),await e.sessionStore.init();const r=e.sessionStore.get(t.topic),i=r?.peer.metadata;return e.core=null,e.sessionStore=null,i}},ip=class extends Q0{constructor(t){super(t),this.events=new jt.exports,this.on=(e,r)=>this.engine.on(e,r),this.once=(e,r)=>this.engine.once(e,r),this.off=(e,r)=>this.engine.off(e,r),this.removeListener=(e,r)=>this.engine.removeListener(e,r),this.pair=async e=>{try{return await this.engine.pair(e)}catch(r){throw this.logger.error(r.message),r}},this.approveSession=async e=>{try{return await this.engine.approveSession(e)}catch(r){throw this.logger.error(r.message),r}},this.rejectSession=async e=>{try{return await this.engine.rejectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.updateSession=async e=>{try{return await this.engine.updateSession(e)}catch(r){throw this.logger.error(r.message),r}},this.extendSession=async e=>{try{return await this.engine.extendSession(e)}catch(r){throw this.logger.error(r.message),r}},this.respondSessionRequest=async e=>{try{return await this.engine.respondSessionRequest(e)}catch(r){throw this.logger.error(r.message),r}},this.disconnectSession=async e=>{try{return await this.engine.disconnectSession(e)}catch(r){throw this.logger.error(r.message),r}},this.emitSessionEvent=async e=>{try{return await this.engine.emitSessionEvent(e)}catch(r){throw this.logger.error(r.message),r}},this.getActiveSessions=()=>{try{return this.engine.getActiveSessions()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionProposals=()=>{try{return this.engine.getPendingSessionProposals()}catch(e){throw this.logger.error(e.message),e}},this.getPendingSessionRequests=()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}},this.registerDeviceToken=e=>{try{return this.engine.registerDeviceToken(e)}catch(r){throw this.logger.error(r.message),r}},this.approveSessionAuthenticate=e=>{try{return this.engine.approveSessionAuthenticate(e)}catch(r){throw this.logger.error(r.message),r}},this.rejectSessionAuthenticate=e=>{try{return this.engine.rejectSessionAuthenticate(e)}catch(r){throw this.logger.error(r.message),r}},this.formatAuthMessage=e=>{try{return this.engine.formatAuthMessage(e)}catch(r){throw this.logger.error(r.message),r}},this.metadata=t.metadata,this.name=t.name||ua,this.signConfig=t.signConfig,this.core=t.core,this.logger=this.core.logger,this.engine=new ex(this)}static async init(t){const e=new ip(t);return await e.initialize(),e}async initialize(){this.logger.trace("Initialized");try{await this.engine.init(),this.logger.info("WalletKit Initialization Success")}catch(t){throw this.logger.info("WalletKit Initialization Failure"),this.logger.error(t.message),t}}};let _c=ip;_c.notifications=tx;const rx=_c;kt.CLIENT_CONTEXT=ua,kt.CLIENT_STORAGE_OPTIONS=xp,kt.CLIENT_STORAGE_PREFIX=_p,kt.IWalletKit=Q0,kt.IWalletKitEngine=ep,kt.IWalletKitEvents=H_,kt.PROTOCOL=Nc,kt.PROTOCOL_VERSION=wp,kt.REQUEST_CONTEXT=Ep,kt.WalletKit=rx,kt.default=_c,Object.defineProperty(kt,"__esModule",{value:!0})});
|
47
44
|
//# sourceMappingURL=index.umd.js.map
|