mirror of
https://github.com/logos-messaging/lab.waku.org.git
synced 2026-01-07 16:23:11 +00:00
71 lines
678 KiB
JavaScript
71 lines
678 KiB
JavaScript
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-xoNRwz7B.js","assets/index-Gmp6KMX1.js","assets/index-DQCSip5A.css"])))=>i.map(i=>d[i]);
|
||
import{g as Cv,o as z8,p as j8,d as Dv,q as Ar,r as k8,h as Sd,_ as F8}from"./index-Gmp6KMX1.js";import{e as Fi,J as Id}from"./events-q8pkyiVZ.js";import{r as Md,i as xh}from"./inherits_browser-C-oMugCi.js";var xe={};/*! *****************************************************************************
|
||
Copyright (c) Microsoft Corporation.
|
||
|
||
Permission to use, copy, modify, and/or distribute this software for any
|
||
purpose with or without fee is hereby granted.
|
||
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
PERFORMANCE OF THIS SOFTWARE.
|
||
***************************************************************************** */var Vl=function(r,e){return Vl=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])},Vl(r,e)};function H8(r,e){Vl(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Gl=function(){return Gl=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},Gl.apply(this,arguments)};function K8(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 V8(r,e,t,i){var n=arguments.length,a=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,e,t,i);else for(var u=r.length-1;u>=0;u--)(f=r[u])&&(a=(n<3?f(a):n>3?f(e,t,a):f(e,t))||a);return n>3&&a&&Object.defineProperty(e,t,a),a}function G8(r,e){return function(t,i){e(t,i,r)}}function W8(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function J8(r,e,t,i){function n(a){return a instanceof t?a:new t(function(f){f(a)})}return new(t||(t=Promise))(function(a,f){function u(y){try{p(i.next(y))}catch(A){f(A)}}function b(y){try{p(i.throw(y))}catch(A){f(A)}}function p(y){y.done?a(y.value):n(y.value).then(u,b)}p((i=i.apply(r,e||[])).next())})}function Y8(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,n,a,f;return f={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(f[Symbol.iterator]=function(){return this}),f;function u(p){return function(y){return b([p,y])}}function b(p){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(a=p[0]&2?n.return:p[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,p[1])).done)return a;switch(n=0,a&&(p=[p[0]&2,a.value]),p[0]){case 0:case 1:a=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(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!a||p[1]>a[0]&&p[1]<a[3])){t.label=p[1];break}if(p[0]===6&&t.label<a[1]){t.label=a[1],a=p;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(p);break}a[2]&&t.ops.pop(),t.trys.pop();continue}p=e.call(r,t)}catch(y){p=[6,y],n=0}finally{i=a=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function Q8(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function X8(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function Wl(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 Lv(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,a=[],f;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(u){f={error:u}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(f)throw f.error}}return a}function Z8(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(Lv(arguments[e]));return r}function e4(){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 a=arguments[e],f=0,u=a.length;f<u;f++,n++)i[n]=a[f];return i}function lc(r){return this instanceof lc?(this.v=r,this):new lc(r)}function t4(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,a=[];return n={},f("next"),f("throw"),f("return"),n[Symbol.asyncIterator]=function(){return this},n;function f(R){i[R]&&(n[R]=function(O){return new Promise(function(N,K){a.push([R,O,N,K])>1||u(R,O)})})}function u(R,O){try{b(i[R](O))}catch(N){A(a[0][3],N)}}function b(R){R.value instanceof lc?Promise.resolve(R.value.v).then(p,y):A(a[0][2],R)}function p(R){u("next",R)}function y(R){u("throw",R)}function A(R,O){R(O),a.shift(),a.length&&u(a[0][0],a[0][1])}}function r4(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,a){e[n]=r[n]?function(f){return(t=!t)?{value:lc(r[n](f)),done:n==="return"}:a?a(f):f}:a}}function i4(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 Wl=="function"?Wl(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(a){t[a]=r[a]&&function(f){return new Promise(function(u,b){f=r[a](f),n(u,b,f.done,f.value)})}}function n(a,f,u,b){Promise.resolve(b).then(function(p){a({value:p,done:u})},f)}}function n4(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function s4(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 a4(r){return r&&r.__esModule?r:{default:r}}function o4(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function c4(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}const f4=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return Gl},__asyncDelegator:r4,__asyncGenerator:t4,__asyncValues:i4,__await:lc,__awaiter:J8,__classPrivateFieldGet:o4,__classPrivateFieldSet:c4,__createBinding:Q8,__decorate:V8,__exportStar:X8,__extends:H8,__generator:Y8,__importDefault:a4,__importStar:s4,__makeTemplateObject:n4,__metadata:W8,__param:G8,__read:Lv,__rest:K8,__spread:Z8,__spreadArrays:e4,__values:Wl},Symbol.toStringTag,{value:"Module"})),Sh=Cv(f4);var sl={},Fo={},s1;function h4(){if(s1)return Fo;s1=1,Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return Fo.delay=r,Fo}var ta={},al={},ra={},a1;function u4(){return a1||(a1=1,Object.defineProperty(ra,"__esModule",{value:!0}),ra.ONE_THOUSAND=ra.ONE_HUNDRED=void 0,ra.ONE_HUNDRED=100,ra.ONE_THOUSAND=1e3),ra}var ol={},o1;function l4(){return o1||(o1=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}(ol)),ol}var c1;function qv(){return c1||(c1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Sh;e.__exportStar(u4(),r),e.__exportStar(l4(),r)}(al)),al}var f1;function d4(){if(f1)return ta;f1=1,Object.defineProperty(ta,"__esModule",{value:!0}),ta.fromMiliseconds=ta.toMiliseconds=void 0;const r=qv();function e(i){return i*r.ONE_THOUSAND}ta.toMiliseconds=e;function t(i){return Math.floor(i/r.ONE_THOUSAND)}return ta.fromMiliseconds=t,ta}var h1;function p4(){return h1||(h1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Sh;e.__exportStar(h4(),r),e.__exportStar(d4(),r)}(sl)),sl}var Ha={},u1;function g4(){if(u1)return Ha;u1=1,Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.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 Ha.Watch=r,Ha.default=r,Ha}var cl={},Ho={},l1;function v4(){if(l1)return Ho;l1=1,Object.defineProperty(Ho,"__esModule",{value:!0}),Ho.IWatch=void 0;class r{}return Ho.IWatch=r,Ho}var d1;function b4(){return d1||(d1=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),Sh.__exportStar(v4(),r)}(cl)),cl}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Sh;e.__exportStar(p4(),r),e.__exportStar(g4(),r),e.__exportStar(b4(),r),e.__exportStar(qv(),r)})(xe);var Vt={};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.getLocalStorage=Vt.getLocalStorageOrThrow=Vt.getCrypto=Vt.getCryptoOrThrow=Bv=Vt.getLocation=Vt.getLocationOrThrow=Pd=Vt.getNavigator=Vt.getNavigatorOrThrow=Ih=Vt.getDocument=Vt.getDocumentOrThrow=Vt.getFromWindowOrThrow=Vt.getFromWindow=void 0;function ma(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}Vt.getFromWindow=ma;function co(r){const e=ma(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}Vt.getFromWindowOrThrow=co;function m4(){return co("document")}Vt.getDocumentOrThrow=m4;function y4(){return ma("document")}var Ih=Vt.getDocument=y4;function w4(){return co("navigator")}Vt.getNavigatorOrThrow=w4;function _4(){return ma("navigator")}var Pd=Vt.getNavigator=_4;function A4(){return co("location")}Vt.getLocationOrThrow=A4;function E4(){return ma("location")}var Bv=Vt.getLocation=E4;function x4(){return co("crypto")}Vt.getCryptoOrThrow=x4;function S4(){return ma("crypto")}Vt.getCrypto=S4;function I4(){return co("localStorage")}Vt.getLocalStorageOrThrow=I4;function M4(){return ma("localStorage")}Vt.getLocalStorage=M4;var Od={};Object.defineProperty(Od,"__esModule",{value:!0});var Uv=Od.getWindowMetadata=void 0;const p1=Vt;function P4(){let r,e;try{r=p1.getDocumentOrThrow(),e=p1.getLocationOrThrow()}catch{return null}function t(){const A=r.getElementsByTagName("link"),R=[];for(let O=0;O<A.length;O++){const N=A[O],K=N.getAttribute("rel");if(K&&K.toLowerCase().indexOf("icon")>-1){const W=N.getAttribute("href");if(W)if(W.toLowerCase().indexOf("https:")===-1&&W.toLowerCase().indexOf("http:")===-1&&W.indexOf("//")!==0){let Q=e.protocol+"//"+e.host;if(W.indexOf("/")===0)Q+=W;else{const k=e.pathname.split("/");k.pop();const Y=k.join("/");Q+=Y+"/"+W}R.push(Q)}else if(W.indexOf("//")===0){const Q=e.protocol+W;R.push(Q)}else R.push(W)}}return R}function i(...A){const R=r.getElementsByTagName("meta");for(let O=0;O<R.length;O++){const N=R[O],K=["itemprop","property","name"].map(W=>N.getAttribute(W)).filter(W=>W?A.includes(W):!1);if(K.length&&K){const W=N.getAttribute("content");if(W)return W}}return""}function n(){let A=i("name","og:site_name","og:title","twitter:title");return A||(A=r.title),A}function a(){return i("description","og:description","twitter:description","keywords")}const f=n(),u=a(),b=e.origin,p=t();return{description:u,url:b,icons:p,name:f}}Uv=Od.getWindowMetadata=P4;var dc={},O4=r=>encodeURIComponent(r).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),$v="%[a-f0-9]{2}",g1=new RegExp("("+$v+")|([^%]+?)","gi"),v1=new RegExp("("+$v+")+","gi");function Jl(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([],Jl(t),Jl(i))}function R4(r){try{return decodeURIComponent(r)}catch{for(var e=r.match(g1)||[],t=1;t<e.length;t++)r=Jl(e,t).join(""),e=r.match(g1)||[];return r}}function N4(r){for(var e={"%FE%FF":"<22><>","%FF%FE":"<22><>"},t=v1.exec(r);t;){try{e[t[0]]=decodeURIComponent(t[0])}catch{var i=R4(t[0]);i!==t[0]&&(e[t[0]]=i)}t=v1.exec(r)}e["%C2"]="<22>";for(var n=Object.keys(e),a=0;a<n.length;a++){var f=n[a];r=r.replace(new RegExp(f,"g"),e[f])}return r}var T4=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 N4(r)}},C4=(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)]},D4=function(r,e){for(var t={},i=Object.keys(r),n=Array.isArray(e),a=0;a<i.length;a++){var f=i[a],u=r[f];(n?e.indexOf(f)!==-1:e(f,u,r))&&(t[f]=u)}return t};(function(r){const e=O4,t=T4,i=C4,n=D4,a=k=>k==null,f=Symbol("encodeFragmentIdentifier");function u(k){switch(k.arrayFormat){case"index":return Y=>($,F)=>{const G=$.length;return F===void 0||k.skipNull&&F===null||k.skipEmptyString&&F===""?$:F===null?[...$,[y(Y,k),"[",G,"]"].join("")]:[...$,[y(Y,k),"[",y(G,k),"]=",y(F,k)].join("")]};case"bracket":return Y=>($,F)=>F===void 0||k.skipNull&&F===null||k.skipEmptyString&&F===""?$:F===null?[...$,[y(Y,k),"[]"].join("")]:[...$,[y(Y,k),"[]=",y(F,k)].join("")];case"colon-list-separator":return Y=>($,F)=>F===void 0||k.skipNull&&F===null||k.skipEmptyString&&F===""?$:F===null?[...$,[y(Y,k),":list="].join("")]:[...$,[y(Y,k),":list=",y(F,k)].join("")];case"comma":case"separator":case"bracket-separator":{const Y=k.arrayFormat==="bracket-separator"?"[]=":"=";return $=>(F,G)=>G===void 0||k.skipNull&&G===null||k.skipEmptyString&&G===""?F:(G=G===null?"":G,F.length===0?[[y($,k),Y,y(G,k)].join("")]:[[F,y(G,k)].join(k.arrayFormatSeparator)])}default:return Y=>($,F)=>F===void 0||k.skipNull&&F===null||k.skipEmptyString&&F===""?$:F===null?[...$,y(Y,k)]:[...$,[y(Y,k),"=",y(F,k)].join("")]}}function b(k){let Y;switch(k.arrayFormat){case"index":return($,F,G)=>{if(Y=/\[(\d*)\]$/.exec($),$=$.replace(/\[\d*\]$/,""),!Y){G[$]=F;return}G[$]===void 0&&(G[$]={}),G[$][Y[1]]=F};case"bracket":return($,F,G)=>{if(Y=/(\[\])$/.exec($),$=$.replace(/\[\]$/,""),!Y){G[$]=F;return}if(G[$]===void 0){G[$]=[F];return}G[$]=[].concat(G[$],F)};case"colon-list-separator":return($,F,G)=>{if(Y=/(:list)$/.exec($),$=$.replace(/:list$/,""),!Y){G[$]=F;return}if(G[$]===void 0){G[$]=[F];return}G[$]=[].concat(G[$],F)};case"comma":case"separator":return($,F,G)=>{const x=typeof F=="string"&&F.includes(k.arrayFormatSeparator),q=typeof F=="string"&&!x&&A(F,k).includes(k.arrayFormatSeparator);F=q?A(F,k):F;const ae=x||q?F.split(k.arrayFormatSeparator).map(le=>A(le,k)):F===null?F:A(F,k);G[$]=ae};case"bracket-separator":return($,F,G)=>{const x=/(\[\])$/.test($);if($=$.replace(/\[\]$/,""),!x){G[$]=F&&A(F,k);return}const q=F===null?[]:F.split(k.arrayFormatSeparator).map(ae=>A(ae,k));if(G[$]===void 0){G[$]=q;return}G[$]=[].concat(G[$],q)};default:return($,F,G)=>{if(G[$]===void 0){G[$]=F;return}G[$]=[].concat(G[$],F)}}}function p(k){if(typeof k!="string"||k.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function y(k,Y){return Y.encode?Y.strict?e(k):encodeURIComponent(k):k}function A(k,Y){return Y.decode?t(k):k}function R(k){return Array.isArray(k)?k.sort():typeof k=="object"?R(Object.keys(k)).sort((Y,$)=>Number(Y)-Number($)).map(Y=>k[Y]):k}function O(k){const Y=k.indexOf("#");return Y!==-1&&(k=k.slice(0,Y)),k}function N(k){let Y="";const $=k.indexOf("#");return $!==-1&&(Y=k.slice($)),Y}function K(k){k=O(k);const Y=k.indexOf("?");return Y===-1?"":k.slice(Y+1)}function W(k,Y){return Y.parseNumbers&&!Number.isNaN(Number(k))&&typeof k=="string"&&k.trim()!==""?k=Number(k):Y.parseBooleans&&k!==null&&(k.toLowerCase()==="true"||k.toLowerCase()==="false")&&(k=k.toLowerCase()==="true"),k}function Q(k,Y){Y=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},Y),p(Y.arrayFormatSeparator);const $=b(Y),F=Object.create(null);if(typeof k!="string"||(k=k.trim().replace(/^[?#&]/,""),!k))return F;for(const G of k.split("&")){if(G==="")continue;let[x,q]=i(Y.decode?G.replace(/\+/g," "):G,"=");q=q===void 0?null:["comma","separator","bracket-separator"].includes(Y.arrayFormat)?q:A(q,Y),$(A(x,Y),q,F)}for(const G of Object.keys(F)){const x=F[G];if(typeof x=="object"&&x!==null)for(const q of Object.keys(x))x[q]=W(x[q],Y);else F[G]=W(x,Y)}return Y.sort===!1?F:(Y.sort===!0?Object.keys(F).sort():Object.keys(F).sort(Y.sort)).reduce((G,x)=>{const q=F[x];return q&&typeof q=="object"&&!Array.isArray(q)?G[x]=R(q):G[x]=q,G},Object.create(null))}r.extract=K,r.parse=Q,r.stringify=(k,Y)=>{if(!k)return"";Y=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},Y),p(Y.arrayFormatSeparator);const $=q=>Y.skipNull&&a(k[q])||Y.skipEmptyString&&k[q]==="",F=u(Y),G={};for(const q of Object.keys(k))$(q)||(G[q]=k[q]);const x=Object.keys(G);return Y.sort!==!1&&x.sort(Y.sort),x.map(q=>{const ae=k[q];return ae===void 0?"":ae===null?y(q,Y):Array.isArray(ae)?ae.length===0&&Y.arrayFormat==="bracket-separator"?y(q,Y)+"[]":ae.reduce(F(q),[]).join("&"):y(q,Y)+"="+y(ae,Y)}).filter(q=>q.length>0).join("&")},r.parseUrl=(k,Y)=>{Y=Object.assign({decode:!0},Y);const[$,F]=i(k,"#");return Object.assign({url:$.split("?")[0]||"",query:Q(K(k),Y)},Y&&Y.parseFragmentIdentifier&&F?{fragmentIdentifier:A(F,Y)}:{})},r.stringifyUrl=(k,Y)=>{Y=Object.assign({encode:!0,strict:!0,[f]:!0},Y);const $=O(k.url).split("?")[0]||"",F=r.extract(k.url),G=r.parse(F,{sort:!1}),x=Object.assign(G,k.query);let q=r.stringify(x,Y);q&&(q=`?${q}`);let ae=N(k.url);return k.fragmentIdentifier&&(ae=`#${Y[f]?y(k.fragmentIdentifier,Y):k.fragmentIdentifier}`),`${$}${q}${ae}`},r.pick=(k,Y,$)=>{$=Object.assign({parseFragmentIdentifier:!0,[f]:!1},$);const{url:F,query:G,fragmentIdentifier:x}=r.parseUrl(k,$);return r.stringifyUrl({url:F,query:n(G,Y),fragmentIdentifier:x},$)},r.exclude=(k,Y,$)=>{const F=Array.isArray(Y)?G=>!Y.includes(G):(G,x)=>!Y(G,x);return r.pick(k,F,$)}})(dc);var Rd={},Mh={},mt={},zv={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});function e(u,b){var p=u>>>16&65535,y=u&65535,A=b>>>16&65535,R=b&65535;return y*R+(p*R+y*A<<16>>>0)|0}r.mul=Math.imul||e;function t(u,b){return u+b|0}r.add=t;function i(u,b){return u-b|0}r.sub=i;function n(u,b){return u<<b|u>>>32-b}r.rotl=n;function a(u,b){return u<<32-b|u>>>b}r.rotr=a;function f(u){return typeof u=="number"&&isFinite(u)&&Math.floor(u)===u}r.isInteger=Number.isInteger||f,r.MAX_SAFE_INTEGER=9007199254740991,r.isSafeInteger=function(u){return r.isInteger(u)&&u>=-r.MAX_SAFE_INTEGER&&u<=r.MAX_SAFE_INTEGER}})(zv);Object.defineProperty(mt,"__esModule",{value:!0});var jv=zv;function L4(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])<<16>>16}mt.readInt16BE=L4;function q4(r,e){return e===void 0&&(e=0),(r[e+0]<<8|r[e+1])>>>0}mt.readUint16BE=q4;function B4(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])<<16>>16}mt.readInt16LE=B4;function U4(r,e){return e===void 0&&(e=0),(r[e+1]<<8|r[e])>>>0}mt.readUint16LE=U4;function kv(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}mt.writeUint16BE=kv;mt.writeInt16BE=kv;function Fv(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}mt.writeUint16LE=Fv;mt.writeInt16LE=Fv;function Yl(r,e){return e===void 0&&(e=0),r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3]}mt.readInt32BE=Yl;function Ql(r,e){return e===void 0&&(e=0),(r[e]<<24|r[e+1]<<16|r[e+2]<<8|r[e+3])>>>0}mt.readUint32BE=Ql;function Xl(r,e){return e===void 0&&(e=0),r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e]}mt.readInt32LE=Xl;function Zl(r,e){return e===void 0&&(e=0),(r[e+3]<<24|r[e+2]<<16|r[e+1]<<8|r[e])>>>0}mt.readUint32LE=Zl;function ah(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}mt.writeUint32BE=ah;mt.writeInt32BE=ah;function oh(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}mt.writeUint32LE=oh;mt.writeInt32LE=oh;function $4(r,e){e===void 0&&(e=0);var t=Yl(r,e),i=Yl(r,e+4);return t*4294967296+i-(i>>31)*4294967296}mt.readInt64BE=$4;function z4(r,e){e===void 0&&(e=0);var t=Ql(r,e),i=Ql(r,e+4);return t*4294967296+i}mt.readUint64BE=z4;function j4(r,e){e===void 0&&(e=0);var t=Xl(r,e),i=Xl(r,e+4);return i*4294967296+t-(t>>31)*4294967296}mt.readInt64LE=j4;function k4(r,e){e===void 0&&(e=0);var t=Zl(r,e),i=Zl(r,e+4);return i*4294967296+t}mt.readUint64LE=k4;function Hv(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),ah(r/4294967296>>>0,e,t),ah(r>>>0,e,t+4),e}mt.writeUint64BE=Hv;mt.writeInt64BE=Hv;function Kv(r,e,t){return e===void 0&&(e=new Uint8Array(8)),t===void 0&&(t=0),oh(r>>>0,e,t),oh(r/4294967296>>>0,e,t+4),e}mt.writeUint64LE=Kv;mt.writeInt64LE=Kv;function F4(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,a=r/8+t-1;a>=t;a--)i+=e[a]*n,n*=256;return i}mt.readUintBE=F4;function H4(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,a=t;a<t+r/8;a++)i+=e[a]*n,n*=256;return i}mt.readUintLE=H4;function K4(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(!jv.isSafeInteger(e))throw new Error("writeUintBE value must be an integer");for(var n=1,a=r/8+i-1;a>=i;a--)t[a]=e/n&255,n*=256;return t}mt.writeUintBE=K4;function V4(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(!jv.isSafeInteger(e))throw new Error("writeUintLE value must be an integer");for(var n=1,a=i;a<i+r/8;a++)t[a]=e/n&255,n*=256;return t}mt.writeUintLE=V4;function G4(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat32(e)}mt.readFloat32BE=G4;function W4(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat32(e,!0)}mt.readFloat32LE=W4;function J4(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat64(e)}mt.readFloat64BE=J4;function Y4(r,e){e===void 0&&(e=0);var t=new DataView(r.buffer,r.byteOffset,r.byteLength);return t.getFloat64(e,!0)}mt.readFloat64LE=Y4;function Q4(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}mt.writeFloat32BE=Q4;function X4(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}mt.writeFloat32LE=X4;function Z4(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}mt.writeFloat64BE=Z4;function e_(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}mt.writeFloat64LE=e_;var Ei={};Object.defineProperty(Ei,"__esModule",{value:!0});function t_(r){for(var e=0;e<r.length;e++)r[e]=0;return r}Ei.wipe=t_;Object.defineProperty(Mh,"__esModule",{value:!0});var $r=mt,ed=Ei,r_=20;function i_(r,e,t){for(var i=1634760805,n=857760878,a=2036477234,f=1797285236,u=t[3]<<24|t[2]<<16|t[1]<<8|t[0],b=t[7]<<24|t[6]<<16|t[5]<<8|t[4],p=t[11]<<24|t[10]<<16|t[9]<<8|t[8],y=t[15]<<24|t[14]<<16|t[13]<<8|t[12],A=t[19]<<24|t[18]<<16|t[17]<<8|t[16],R=t[23]<<24|t[22]<<16|t[21]<<8|t[20],O=t[27]<<24|t[26]<<16|t[25]<<8|t[24],N=t[31]<<24|t[30]<<16|t[29]<<8|t[28],K=e[3]<<24|e[2]<<16|e[1]<<8|e[0],W=e[7]<<24|e[6]<<16|e[5]<<8|e[4],Q=e[11]<<24|e[10]<<16|e[9]<<8|e[8],k=e[15]<<24|e[14]<<16|e[13]<<8|e[12],Y=i,$=n,F=a,G=f,x=u,q=b,ae=p,le=y,L=A,m=R,c=O,h=N,v=K,_=W,I=Q,M=k,S=0;S<r_;S+=2)Y=Y+x|0,v^=Y,v=v>>>16|v<<16,L=L+v|0,x^=L,x=x>>>20|x<<12,$=$+q|0,_^=$,_=_>>>16|_<<16,m=m+_|0,q^=m,q=q>>>20|q<<12,F=F+ae|0,I^=F,I=I>>>16|I<<16,c=c+I|0,ae^=c,ae=ae>>>20|ae<<12,G=G+le|0,M^=G,M=M>>>16|M<<16,h=h+M|0,le^=h,le=le>>>20|le<<12,F=F+ae|0,I^=F,I=I>>>24|I<<8,c=c+I|0,ae^=c,ae=ae>>>25|ae<<7,G=G+le|0,M^=G,M=M>>>24|M<<8,h=h+M|0,le^=h,le=le>>>25|le<<7,$=$+q|0,_^=$,_=_>>>24|_<<8,m=m+_|0,q^=m,q=q>>>25|q<<7,Y=Y+x|0,v^=Y,v=v>>>24|v<<8,L=L+v|0,x^=L,x=x>>>25|x<<7,Y=Y+q|0,M^=Y,M=M>>>16|M<<16,c=c+M|0,q^=c,q=q>>>20|q<<12,$=$+ae|0,v^=$,v=v>>>16|v<<16,h=h+v|0,ae^=h,ae=ae>>>20|ae<<12,F=F+le|0,_^=F,_=_>>>16|_<<16,L=L+_|0,le^=L,le=le>>>20|le<<12,G=G+x|0,I^=G,I=I>>>16|I<<16,m=m+I|0,x^=m,x=x>>>20|x<<12,F=F+le|0,_^=F,_=_>>>24|_<<8,L=L+_|0,le^=L,le=le>>>25|le<<7,G=G+x|0,I^=G,I=I>>>24|I<<8,m=m+I|0,x^=m,x=x>>>25|x<<7,$=$+ae|0,v^=$,v=v>>>24|v<<8,h=h+v|0,ae^=h,ae=ae>>>25|ae<<7,Y=Y+q|0,M^=Y,M=M>>>24|M<<8,c=c+M|0,q^=c,q=q>>>25|q<<7;$r.writeUint32LE(Y+i|0,r,0),$r.writeUint32LE($+n|0,r,4),$r.writeUint32LE(F+a|0,r,8),$r.writeUint32LE(G+f|0,r,12),$r.writeUint32LE(x+u|0,r,16),$r.writeUint32LE(q+b|0,r,20),$r.writeUint32LE(ae+p|0,r,24),$r.writeUint32LE(le+y|0,r,28),$r.writeUint32LE(L+A|0,r,32),$r.writeUint32LE(m+R|0,r,36),$r.writeUint32LE(c+O|0,r,40),$r.writeUint32LE(h+N|0,r,44),$r.writeUint32LE(v+K|0,r,48),$r.writeUint32LE(_+W|0,r,52),$r.writeUint32LE(I+Q|0,r,56),$r.writeUint32LE(M+k|0,r,60)}function Vv(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 a,f;if(n===0){if(e.length!==8&&e.length!==12)throw new Error("ChaCha nonce must be 8 or 12 bytes");a=new Uint8Array(16),f=a.length-e.length,a.set(e,f)}else{if(e.length!==16)throw new Error("ChaCha nonce with counter must be 16 bytes");a=e,f=n}for(var u=new Uint8Array(64),b=0;b<t.length;b+=64){i_(u,a,r);for(var p=b;p<b+64&&p<t.length;p++)i[p]=t[p]^u[p-b];s_(a,0,f)}return ed.wipe(u),n===0&&ed.wipe(a),i}Mh.streamXOR=Vv;function n_(r,e,t,i){return i===void 0&&(i=0),ed.wipe(t),Vv(r,e,t,t,i)}Mh.stream=n_;function s_(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 Gv={},Us={};Object.defineProperty(Us,"__esModule",{value:!0});function a_(r,e,t){return~(r-1)&e|r-1&t}Us.select=a_;function o_(r,e){return(r|0)-(e|0)-1>>>31&1}Us.lessOrEqual=o_;function Wv(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}Us.compare=Wv;function c_(r,e){return r.length===0||e.length===0?!1:Wv(r,e)!==0}Us.equal=c_;(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=Us,t=Ei;r.DIGEST_LENGTH=16;var i=function(){function f(u){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 b=u[0]|u[1]<<8;this._r[0]=b&8191;var p=u[2]|u[3]<<8;this._r[1]=(b>>>13|p<<3)&8191;var y=u[4]|u[5]<<8;this._r[2]=(p>>>10|y<<6)&7939;var A=u[6]|u[7]<<8;this._r[3]=(y>>>7|A<<9)&8191;var R=u[8]|u[9]<<8;this._r[4]=(A>>>4|R<<12)&255,this._r[5]=R>>>1&8190;var O=u[10]|u[11]<<8;this._r[6]=(R>>>14|O<<2)&8191;var N=u[12]|u[13]<<8;this._r[7]=(O>>>11|N<<5)&8065;var K=u[14]|u[15]<<8;this._r[8]=(N>>>8|K<<8)&8191,this._r[9]=K>>>5&127,this._pad[0]=u[16]|u[17]<<8,this._pad[1]=u[18]|u[19]<<8,this._pad[2]=u[20]|u[21]<<8,this._pad[3]=u[22]|u[23]<<8,this._pad[4]=u[24]|u[25]<<8,this._pad[5]=u[26]|u[27]<<8,this._pad[6]=u[28]|u[29]<<8,this._pad[7]=u[30]|u[31]<<8}return f.prototype._blocks=function(u,b,p){for(var y=this._fin?0:2048,A=this._h[0],R=this._h[1],O=this._h[2],N=this._h[3],K=this._h[4],W=this._h[5],Q=this._h[6],k=this._h[7],Y=this._h[8],$=this._h[9],F=this._r[0],G=this._r[1],x=this._r[2],q=this._r[3],ae=this._r[4],le=this._r[5],L=this._r[6],m=this._r[7],c=this._r[8],h=this._r[9];p>=16;){var v=u[b+0]|u[b+1]<<8;A+=v&8191;var _=u[b+2]|u[b+3]<<8;R+=(v>>>13|_<<3)&8191;var I=u[b+4]|u[b+5]<<8;O+=(_>>>10|I<<6)&8191;var M=u[b+6]|u[b+7]<<8;N+=(I>>>7|M<<9)&8191;var S=u[b+8]|u[b+9]<<8;K+=(M>>>4|S<<12)&8191,W+=S>>>1&8191;var d=u[b+10]|u[b+11]<<8;Q+=(S>>>14|d<<2)&8191;var g=u[b+12]|u[b+13]<<8;k+=(d>>>11|g<<5)&8191;var C=u[b+14]|u[b+15]<<8;Y+=(g>>>8|C<<8)&8191,$+=C>>>5|y;var Z=0,se=Z;se+=A*F,se+=R*(5*h),se+=O*(5*c),se+=N*(5*m),se+=K*(5*L),Z=se>>>13,se&=8191,se+=W*(5*le),se+=Q*(5*ae),se+=k*(5*q),se+=Y*(5*x),se+=$*(5*G),Z+=se>>>13,se&=8191;var P=Z;P+=A*G,P+=R*F,P+=O*(5*h),P+=N*(5*c),P+=K*(5*m),Z=P>>>13,P&=8191,P+=W*(5*L),P+=Q*(5*le),P+=k*(5*ae),P+=Y*(5*q),P+=$*(5*x),Z+=P>>>13,P&=8191;var ee=Z;ee+=A*x,ee+=R*G,ee+=O*F,ee+=N*(5*h),ee+=K*(5*c),Z=ee>>>13,ee&=8191,ee+=W*(5*m),ee+=Q*(5*L),ee+=k*(5*le),ee+=Y*(5*ae),ee+=$*(5*q),Z+=ee>>>13,ee&=8191;var B=Z;B+=A*q,B+=R*x,B+=O*G,B+=N*F,B+=K*(5*h),Z=B>>>13,B&=8191,B+=W*(5*c),B+=Q*(5*m),B+=k*(5*L),B+=Y*(5*le),B+=$*(5*ae),Z+=B>>>13,B&=8191;var j=Z;j+=A*ae,j+=R*q,j+=O*x,j+=N*G,j+=K*F,Z=j>>>13,j&=8191,j+=W*(5*h),j+=Q*(5*c),j+=k*(5*m),j+=Y*(5*L),j+=$*(5*le),Z+=j>>>13,j&=8191;var H=Z;H+=A*le,H+=R*ae,H+=O*q,H+=N*x,H+=K*G,Z=H>>>13,H&=8191,H+=W*F,H+=Q*(5*h),H+=k*(5*c),H+=Y*(5*m),H+=$*(5*L),Z+=H>>>13,H&=8191;var w=Z;w+=A*L,w+=R*le,w+=O*ae,w+=N*q,w+=K*x,Z=w>>>13,w&=8191,w+=W*G,w+=Q*F,w+=k*(5*h),w+=Y*(5*c),w+=$*(5*m),Z+=w>>>13,w&=8191;var z=Z;z+=A*m,z+=R*L,z+=O*le,z+=N*ae,z+=K*q,Z=z>>>13,z&=8191,z+=W*x,z+=Q*G,z+=k*F,z+=Y*(5*h),z+=$*(5*c),Z+=z>>>13,z&=8191;var ne=Z;ne+=A*c,ne+=R*m,ne+=O*L,ne+=N*le,ne+=K*ae,Z=ne>>>13,ne&=8191,ne+=W*q,ne+=Q*x,ne+=k*G,ne+=Y*F,ne+=$*(5*h),Z+=ne>>>13,ne&=8191;var ce=Z;ce+=A*h,ce+=R*c,ce+=O*m,ce+=N*L,ce+=K*le,Z=ce>>>13,ce&=8191,ce+=W*ae,ce+=Q*q,ce+=k*x,ce+=Y*G,ce+=$*F,Z+=ce>>>13,ce&=8191,Z=(Z<<2)+Z|0,Z=Z+se|0,se=Z&8191,Z=Z>>>13,P+=Z,A=se,R=P,O=ee,N=B,K=j,W=H,Q=w,k=z,Y=ne,$=ce,b+=16,p-=16}this._h[0]=A,this._h[1]=R,this._h[2]=O,this._h[3]=N,this._h[4]=K,this._h[5]=W,this._h[6]=Q,this._h[7]=k,this._h[8]=Y,this._h[9]=$},f.prototype.finish=function(u,b){b===void 0&&(b=0);var p=new Uint16Array(10),y,A,R,O;if(this._leftover){for(O=this._leftover,this._buffer[O++]=1;O<16;O++)this._buffer[O]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(y=this._h[1]>>>13,this._h[1]&=8191,O=2;O<10;O++)this._h[O]+=y,y=this._h[O]>>>13,this._h[O]&=8191;for(this._h[0]+=y*5,y=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=y,y=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=y,p[0]=this._h[0]+5,y=p[0]>>>13,p[0]&=8191,O=1;O<10;O++)p[O]=this._h[O]+y,y=p[O]>>>13,p[O]&=8191;for(p[9]-=8192,A=(y^1)-1,O=0;O<10;O++)p[O]&=A;for(A=~A,O=0;O<10;O++)this._h[O]=this._h[O]&A|p[O];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,R=this._h[0]+this._pad[0],this._h[0]=R&65535,O=1;O<8;O++)R=(this._h[O]+this._pad[O]|0)+(R>>>16)|0,this._h[O]=R&65535;return u[b+0]=this._h[0]>>>0,u[b+1]=this._h[0]>>>8,u[b+2]=this._h[1]>>>0,u[b+3]=this._h[1]>>>8,u[b+4]=this._h[2]>>>0,u[b+5]=this._h[2]>>>8,u[b+6]=this._h[3]>>>0,u[b+7]=this._h[3]>>>8,u[b+8]=this._h[4]>>>0,u[b+9]=this._h[4]>>>8,u[b+10]=this._h[5]>>>0,u[b+11]=this._h[5]>>>8,u[b+12]=this._h[6]>>>0,u[b+13]=this._h[6]>>>8,u[b+14]=this._h[7]>>>0,u[b+15]=this._h[7]>>>8,this._finished=!0,this},f.prototype.update=function(u){var b=0,p=u.length,y;if(this._leftover){y=16-this._leftover,y>p&&(y=p);for(var A=0;A<y;A++)this._buffer[this._leftover+A]=u[b+A];if(p-=y,b+=y,this._leftover+=y,this._leftover<16)return this;this._blocks(this._buffer,0,16),this._leftover=0}if(p>=16&&(y=p-p%16,this._blocks(u,b,y),b+=y,p-=y),p){for(var A=0;A<p;A++)this._buffer[this._leftover+A]=u[b+A];this._leftover+=p}return this},f.prototype.digest=function(){if(this._finished)throw new Error("Poly1305 was finished");var u=new Uint8Array(16);return this.finish(u),u},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,u){var b=new i(f);b.update(u);var p=b.digest();return b.clean(),p}r.oneTimeAuth=n;function a(f,u){return f.length!==r.DIGEST_LENGTH||u.length!==r.DIGEST_LENGTH?!1:e.equal(f,u)}r.equal=a})(Gv);(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=Mh,t=Gv,i=Ei,n=mt,a=Us;r.KEY_LENGTH=32,r.NONCE_LENGTH=12,r.TAG_LENGTH=16;var f=new Uint8Array(16),u=function(){function b(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 b.prototype.seal=function(p,y,A,R){if(p.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var O=new Uint8Array(16);O.set(p,O.length-p.length);var N=new Uint8Array(32);e.stream(this._key,O,N,4);var K=y.length+this.tagLength,W;if(R){if(R.length!==K)throw new Error("ChaCha20Poly1305: incorrect destination length");W=R}else W=new Uint8Array(K);return e.streamXOR(this._key,O,y,W,4),this._authenticate(W.subarray(W.length-this.tagLength,W.length),N,W.subarray(0,W.length-this.tagLength),A),i.wipe(O),W},b.prototype.open=function(p,y,A,R){if(p.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(y.length<this.tagLength)return null;var O=new Uint8Array(16);O.set(p,O.length-p.length);var N=new Uint8Array(32);e.stream(this._key,O,N,4);var K=new Uint8Array(this.tagLength);if(this._authenticate(K,N,y.subarray(0,y.length-this.tagLength),A),!a.equal(K,y.subarray(y.length-this.tagLength,y.length)))return null;var W=y.length-this.tagLength,Q;if(R){if(R.length!==W)throw new Error("ChaCha20Poly1305: incorrect destination length");Q=R}else Q=new Uint8Array(W);return e.streamXOR(this._key,O,y.subarray(0,y.length-this.tagLength),Q,4),i.wipe(O),Q},b.prototype.clean=function(){return i.wipe(this._key),this},b.prototype._authenticate=function(p,y,A,R){var O=new t.Poly1305(y);R&&(O.update(R),R.length%16>0&&O.update(f.subarray(R.length%16))),O.update(A),A.length%16>0&&O.update(f.subarray(A.length%16));var N=new Uint8Array(8);R&&n.writeUint64LE(R.length,N),O.update(N),n.writeUint64LE(A.length,N),O.update(N);for(var K=O.digest(),W=0;W<K.length;W++)p[W]=K[W];O.clean(),i.wipe(K),i.wipe(N)},b}();r.ChaCha20Poly1305=u})(Rd);var Jv={},_c={},Nd={};Object.defineProperty(Nd,"__esModule",{value:!0});function f_(r){return typeof r.saveState<"u"&&typeof r.restoreState<"u"&&typeof r.cleanSavedState<"u"}Nd.isSerializableHash=f_;Object.defineProperty(_c,"__esModule",{value:!0});var _n=Nd,h_=Us,u_=Ei,Yv=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),_n.isSerializableHash(this._inner)&&_n.isSerializableHash(this._outer)&&(this._innerKeyedState=this._inner.saveState(),this._outerKeyedState=this._outer.saveState()),u_.wipe(i)}return r.prototype.reset=function(){if(!_n.isSerializableHash(this._inner)||!_n.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(){_n.isSerializableHash(this._inner)&&this._inner.cleanSavedState(this._innerKeyedState),_n.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(!_n.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(!_n.isSerializableHash(this._inner)||!_n.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(!_n.isSerializableHash(this._inner))throw new Error("hmac: can't cleanSavedState() because hash doesn't implement it");this._inner.cleanSavedState(e)},r}();_c.HMAC=Yv;function l_(r,e,t){var i=new Yv(r,e);i.update(t);var n=i.digest();return i.clean(),n}_c.hmac=l_;_c.equal=h_.equal;Object.defineProperty(Jv,"__esModule",{value:!0});var b1=_c,m1=Ei,d_=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 a=b1.hmac(this._hash,i,t);this._hmac=new b1.HMAC(e,a),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(),m1.wipe(this._buffer),m1.wipe(this._counter),this._bufpos=0},r}(),p_=Jv.HKDF=d_,$s={},Ph={},Oh={};Object.defineProperty(Oh,"__esModule",{value:!0});Oh.BrowserRandomSource=void 0;const y1=65536;class g_{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+=y1)this._crypto.getRandomValues(t.subarray(i,i+Math.min(t.length-i,y1)));return t}}Oh.BrowserRandomSource=g_;function v_(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 Rh={};Object.defineProperty(Rh,"__esModule",{value:!0});Rh.NodeRandomSource=void 0;const b_=Ei;class m_{constructor(){if(this.isAvailable=!1,this.isInstantiated=!1,typeof v_<"u"){const e=Md;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}}Rh.NodeRandomSource=m_;Object.defineProperty(Ph,"__esModule",{value:!0});Ph.SystemRandomSource=void 0;const y_=Oh,w_=Rh;class __{constructor(){if(this.isAvailable=!1,this.name="",this._source=new y_.BrowserRandomSource,this._source.isAvailable){this.isAvailable=!0,this.name="Browser";return}if(this._source=new w_.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)}}Ph.SystemRandomSource=__;(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.randomStringForEntropy=r.randomString=r.randomUint32=r.randomBytes=r.defaultRandomSource=void 0;const e=Ph,t=mt,i=Ei;r.defaultRandomSource=new e.SystemRandomSource;function n(p,y=r.defaultRandomSource){return y.randomBytes(p)}r.randomBytes=n;function a(p=r.defaultRandomSource){const y=n(4,p),A=(0,t.readUint32LE)(y);return(0,i.wipe)(y),A}r.randomUint32=a;const f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function u(p,y=f,A=r.defaultRandomSource){if(y.length<2)throw new Error("randomString charset is too short");if(y.length>256)throw new Error("randomString charset is too long");let R="";const O=y.length,N=256-256%O;for(;p>0;){const K=n(Math.ceil(p*256/N),A);for(let W=0;W<K.length&&p>0;W++){const Q=K[W];Q<N&&(R+=y.charAt(Q%O),p--)}(0,i.wipe)(K)}return R}r.randomString=u;function b(p,y=f,A=r.defaultRandomSource){const R=Math.ceil(p/(Math.log(y.length)/Math.LN2));return u(R,y,A)}r.randomStringForEntropy=b})($s);var Ac={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=mt,t=Ei;r.DIGEST_LENGTH=32,r.BLOCK_SIZE=64;var i=function(){function u(){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 u.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},u.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},u.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._temp),this.reset()},u.prototype.update=function(b,p){if(p===void 0&&(p=b.length),this._finished)throw new Error("SHA256: can't update because hash was finished.");var y=0;if(this._bytesHashed+=p,this._bufferLength>0){for(;this._bufferLength<this.blockSize&&p>0;)this._buffer[this._bufferLength++]=b[y++],p--;this._bufferLength===this.blockSize&&(a(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(p>=this.blockSize&&(y=a(this._temp,this._state,b,y,p),p%=this.blockSize);p>0;)this._buffer[this._bufferLength++]=b[y++],p--;return this},u.prototype.finish=function(b){if(!this._finished){var p=this._bytesHashed,y=this._bufferLength,A=p/536870912|0,R=p<<3,O=p%64<56?64:128;this._buffer[y]=128;for(var N=y+1;N<O-8;N++)this._buffer[N]=0;e.writeUint32BE(A,this._buffer,O-8),e.writeUint32BE(R,this._buffer,O-4),a(this._temp,this._state,this._buffer,0,O),this._finished=!0}for(var N=0;N<this.digestLength/4;N++)e.writeUint32BE(this._state[N],b,N*4);return this},u.prototype.digest=function(){var b=new Uint8Array(this.digestLength);return this.finish(b),b},u.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}},u.prototype.restoreState=function(b){return this._state.set(b.state),this._bufferLength=b.bufferLength,b.buffer&&this._buffer.set(b.buffer),this._bytesHashed=b.bytesHashed,this._finished=!1,this},u.prototype.cleanSavedState=function(b){t.wipe(b.state),b.buffer&&t.wipe(b.buffer),b.bufferLength=0,b.bytesHashed=0},u}();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 a(u,b,p,y,A){for(;A>=64;){for(var R=b[0],O=b[1],N=b[2],K=b[3],W=b[4],Q=b[5],k=b[6],Y=b[7],$=0;$<16;$++){var F=y+$*4;u[$]=e.readUint32BE(p,F)}for(var $=16;$<64;$++){var G=u[$-2],x=(G>>>17|G<<15)^(G>>>19|G<<13)^G>>>10;G=u[$-15];var q=(G>>>7|G<<25)^(G>>>18|G<<14)^G>>>3;u[$]=(x+u[$-7]|0)+(q+u[$-16]|0)}for(var $=0;$<64;$++){var x=(((W>>>6|W<<26)^(W>>>11|W<<21)^(W>>>25|W<<7))+(W&Q^~W&k)|0)+(Y+(n[$]+u[$]|0)|0)|0,q=((R>>>2|R<<30)^(R>>>13|R<<19)^(R>>>22|R<<10))+(R&O^R&N^O&N)|0;Y=k,k=Q,Q=W,W=K+x|0,K=N,N=O,O=R,R=x+q|0}b[0]+=R,b[1]+=O,b[2]+=N,b[3]+=K,b[4]+=W,b[5]+=Q,b[6]+=k,b[7]+=Y,y+=64,A-=64}return y}function f(u){var b=new i;b.update(u);var p=b.digest();return b.clean(),p}r.hash=f})(Ac);var Td={};(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=$s,t=Ei;r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=32,r.SHARED_KEY_LENGTH=32;function i($){const F=new Float64Array(16);if($)for(let G=0;G<$.length;G++)F[G]=$[G];return F}const n=new Uint8Array(32);n[0]=9;const a=i([56129,1]);function f($){let F=1;for(let G=0;G<16;G++){let x=$[G]+F+65535;F=Math.floor(x/65536),$[G]=x-F*65536}$[0]+=F-1+37*(F-1)}function u($,F,G){const x=~(G-1);for(let q=0;q<16;q++){const ae=x&($[q]^F[q]);$[q]^=ae,F[q]^=ae}}function b($,F){const G=i(),x=i();for(let q=0;q<16;q++)x[q]=F[q];f(x),f(x),f(x);for(let q=0;q<2;q++){G[0]=x[0]-65517;for(let le=1;le<15;le++)G[le]=x[le]-65535-(G[le-1]>>16&1),G[le-1]&=65535;G[15]=x[15]-32767-(G[14]>>16&1);const ae=G[15]>>16&1;G[14]&=65535,u(x,G,1-ae)}for(let q=0;q<16;q++)$[2*q]=x[q]&255,$[2*q+1]=x[q]>>8}function p($,F){for(let G=0;G<16;G++)$[G]=F[2*G]+(F[2*G+1]<<8);$[15]&=32767}function y($,F,G){for(let x=0;x<16;x++)$[x]=F[x]+G[x]}function A($,F,G){for(let x=0;x<16;x++)$[x]=F[x]-G[x]}function R($,F,G){let x,q,ae=0,le=0,L=0,m=0,c=0,h=0,v=0,_=0,I=0,M=0,S=0,d=0,g=0,C=0,Z=0,se=0,P=0,ee=0,B=0,j=0,H=0,w=0,z=0,ne=0,ce=0,he=0,ye=0,we=0,Te=0,Qe=0,Oe=0,Ce=G[0],Ie=G[1],me=G[2],Re=G[3],De=G[4],ve=G[5],Ne=G[6],Se=G[7],be=G[8],Ue=G[9],Me=G[10],_e=G[11],He=G[12],Ve=G[13],Ee=G[14],Ke=G[15];x=F[0],ae+=x*Ce,le+=x*Ie,L+=x*me,m+=x*Re,c+=x*De,h+=x*ve,v+=x*Ne,_+=x*Se,I+=x*be,M+=x*Ue,S+=x*Me,d+=x*_e,g+=x*He,C+=x*Ve,Z+=x*Ee,se+=x*Ke,x=F[1],le+=x*Ce,L+=x*Ie,m+=x*me,c+=x*Re,h+=x*De,v+=x*ve,_+=x*Ne,I+=x*Se,M+=x*be,S+=x*Ue,d+=x*Me,g+=x*_e,C+=x*He,Z+=x*Ve,se+=x*Ee,P+=x*Ke,x=F[2],L+=x*Ce,m+=x*Ie,c+=x*me,h+=x*Re,v+=x*De,_+=x*ve,I+=x*Ne,M+=x*Se,S+=x*be,d+=x*Ue,g+=x*Me,C+=x*_e,Z+=x*He,se+=x*Ve,P+=x*Ee,ee+=x*Ke,x=F[3],m+=x*Ce,c+=x*Ie,h+=x*me,v+=x*Re,_+=x*De,I+=x*ve,M+=x*Ne,S+=x*Se,d+=x*be,g+=x*Ue,C+=x*Me,Z+=x*_e,se+=x*He,P+=x*Ve,ee+=x*Ee,B+=x*Ke,x=F[4],c+=x*Ce,h+=x*Ie,v+=x*me,_+=x*Re,I+=x*De,M+=x*ve,S+=x*Ne,d+=x*Se,g+=x*be,C+=x*Ue,Z+=x*Me,se+=x*_e,P+=x*He,ee+=x*Ve,B+=x*Ee,j+=x*Ke,x=F[5],h+=x*Ce,v+=x*Ie,_+=x*me,I+=x*Re,M+=x*De,S+=x*ve,d+=x*Ne,g+=x*Se,C+=x*be,Z+=x*Ue,se+=x*Me,P+=x*_e,ee+=x*He,B+=x*Ve,j+=x*Ee,H+=x*Ke,x=F[6],v+=x*Ce,_+=x*Ie,I+=x*me,M+=x*Re,S+=x*De,d+=x*ve,g+=x*Ne,C+=x*Se,Z+=x*be,se+=x*Ue,P+=x*Me,ee+=x*_e,B+=x*He,j+=x*Ve,H+=x*Ee,w+=x*Ke,x=F[7],_+=x*Ce,I+=x*Ie,M+=x*me,S+=x*Re,d+=x*De,g+=x*ve,C+=x*Ne,Z+=x*Se,se+=x*be,P+=x*Ue,ee+=x*Me,B+=x*_e,j+=x*He,H+=x*Ve,w+=x*Ee,z+=x*Ke,x=F[8],I+=x*Ce,M+=x*Ie,S+=x*me,d+=x*Re,g+=x*De,C+=x*ve,Z+=x*Ne,se+=x*Se,P+=x*be,ee+=x*Ue,B+=x*Me,j+=x*_e,H+=x*He,w+=x*Ve,z+=x*Ee,ne+=x*Ke,x=F[9],M+=x*Ce,S+=x*Ie,d+=x*me,g+=x*Re,C+=x*De,Z+=x*ve,se+=x*Ne,P+=x*Se,ee+=x*be,B+=x*Ue,j+=x*Me,H+=x*_e,w+=x*He,z+=x*Ve,ne+=x*Ee,ce+=x*Ke,x=F[10],S+=x*Ce,d+=x*Ie,g+=x*me,C+=x*Re,Z+=x*De,se+=x*ve,P+=x*Ne,ee+=x*Se,B+=x*be,j+=x*Ue,H+=x*Me,w+=x*_e,z+=x*He,ne+=x*Ve,ce+=x*Ee,he+=x*Ke,x=F[11],d+=x*Ce,g+=x*Ie,C+=x*me,Z+=x*Re,se+=x*De,P+=x*ve,ee+=x*Ne,B+=x*Se,j+=x*be,H+=x*Ue,w+=x*Me,z+=x*_e,ne+=x*He,ce+=x*Ve,he+=x*Ee,ye+=x*Ke,x=F[12],g+=x*Ce,C+=x*Ie,Z+=x*me,se+=x*Re,P+=x*De,ee+=x*ve,B+=x*Ne,j+=x*Se,H+=x*be,w+=x*Ue,z+=x*Me,ne+=x*_e,ce+=x*He,he+=x*Ve,ye+=x*Ee,we+=x*Ke,x=F[13],C+=x*Ce,Z+=x*Ie,se+=x*me,P+=x*Re,ee+=x*De,B+=x*ve,j+=x*Ne,H+=x*Se,w+=x*be,z+=x*Ue,ne+=x*Me,ce+=x*_e,he+=x*He,ye+=x*Ve,we+=x*Ee,Te+=x*Ke,x=F[14],Z+=x*Ce,se+=x*Ie,P+=x*me,ee+=x*Re,B+=x*De,j+=x*ve,H+=x*Ne,w+=x*Se,z+=x*be,ne+=x*Ue,ce+=x*Me,he+=x*_e,ye+=x*He,we+=x*Ve,Te+=x*Ee,Qe+=x*Ke,x=F[15],se+=x*Ce,P+=x*Ie,ee+=x*me,B+=x*Re,j+=x*De,H+=x*ve,w+=x*Ne,z+=x*Se,ne+=x*be,ce+=x*Ue,he+=x*Me,ye+=x*_e,we+=x*He,Te+=x*Ve,Qe+=x*Ee,Oe+=x*Ke,ae+=38*P,le+=38*ee,L+=38*B,m+=38*j,c+=38*H,h+=38*w,v+=38*z,_+=38*ne,I+=38*ce,M+=38*he,S+=38*ye,d+=38*we,g+=38*Te,C+=38*Qe,Z+=38*Oe,q=1,x=ae+q+65535,q=Math.floor(x/65536),ae=x-q*65536,x=le+q+65535,q=Math.floor(x/65536),le=x-q*65536,x=L+q+65535,q=Math.floor(x/65536),L=x-q*65536,x=m+q+65535,q=Math.floor(x/65536),m=x-q*65536,x=c+q+65535,q=Math.floor(x/65536),c=x-q*65536,x=h+q+65535,q=Math.floor(x/65536),h=x-q*65536,x=v+q+65535,q=Math.floor(x/65536),v=x-q*65536,x=_+q+65535,q=Math.floor(x/65536),_=x-q*65536,x=I+q+65535,q=Math.floor(x/65536),I=x-q*65536,x=M+q+65535,q=Math.floor(x/65536),M=x-q*65536,x=S+q+65535,q=Math.floor(x/65536),S=x-q*65536,x=d+q+65535,q=Math.floor(x/65536),d=x-q*65536,x=g+q+65535,q=Math.floor(x/65536),g=x-q*65536,x=C+q+65535,q=Math.floor(x/65536),C=x-q*65536,x=Z+q+65535,q=Math.floor(x/65536),Z=x-q*65536,x=se+q+65535,q=Math.floor(x/65536),se=x-q*65536,ae+=q-1+37*(q-1),q=1,x=ae+q+65535,q=Math.floor(x/65536),ae=x-q*65536,x=le+q+65535,q=Math.floor(x/65536),le=x-q*65536,x=L+q+65535,q=Math.floor(x/65536),L=x-q*65536,x=m+q+65535,q=Math.floor(x/65536),m=x-q*65536,x=c+q+65535,q=Math.floor(x/65536),c=x-q*65536,x=h+q+65535,q=Math.floor(x/65536),h=x-q*65536,x=v+q+65535,q=Math.floor(x/65536),v=x-q*65536,x=_+q+65535,q=Math.floor(x/65536),_=x-q*65536,x=I+q+65535,q=Math.floor(x/65536),I=x-q*65536,x=M+q+65535,q=Math.floor(x/65536),M=x-q*65536,x=S+q+65535,q=Math.floor(x/65536),S=x-q*65536,x=d+q+65535,q=Math.floor(x/65536),d=x-q*65536,x=g+q+65535,q=Math.floor(x/65536),g=x-q*65536,x=C+q+65535,q=Math.floor(x/65536),C=x-q*65536,x=Z+q+65535,q=Math.floor(x/65536),Z=x-q*65536,x=se+q+65535,q=Math.floor(x/65536),se=x-q*65536,ae+=q-1+37*(q-1),$[0]=ae,$[1]=le,$[2]=L,$[3]=m,$[4]=c,$[5]=h,$[6]=v,$[7]=_,$[8]=I,$[9]=M,$[10]=S,$[11]=d,$[12]=g,$[13]=C,$[14]=Z,$[15]=se}function O($,F){R($,F,F)}function N($,F){const G=i();for(let x=0;x<16;x++)G[x]=F[x];for(let x=253;x>=0;x--)O(G,G),x!==2&&x!==4&&R(G,G,F);for(let x=0;x<16;x++)$[x]=G[x]}function K($,F){const G=new Uint8Array(32),x=new Float64Array(80),q=i(),ae=i(),le=i(),L=i(),m=i(),c=i();for(let I=0;I<31;I++)G[I]=$[I];G[31]=$[31]&127|64,G[0]&=248,p(x,F);for(let I=0;I<16;I++)ae[I]=x[I];q[0]=L[0]=1;for(let I=254;I>=0;--I){const M=G[I>>>3]>>>(I&7)&1;u(q,ae,M),u(le,L,M),y(m,q,le),A(q,q,le),y(le,ae,L),A(ae,ae,L),O(L,m),O(c,q),R(q,le,q),R(le,ae,m),y(m,q,le),A(q,q,le),O(ae,q),A(le,L,c),R(q,le,a),y(q,q,L),R(le,le,q),R(q,L,c),R(L,ae,x),O(ae,m),u(q,ae,M),u(le,L,M)}for(let I=0;I<16;I++)x[I+16]=q[I],x[I+32]=le[I],x[I+48]=ae[I],x[I+64]=L[I];const h=x.subarray(32),v=x.subarray(16);N(h,h),R(v,v,h);const _=new Uint8Array(32);return b(_,v),_}r.scalarMult=K;function W($){return K($,n)}r.scalarMultBase=W;function Q($){if($.length!==r.SECRET_KEY_LENGTH)throw new Error(`x25519: seed must be ${r.SECRET_KEY_LENGTH} bytes`);const F=new Uint8Array($);return{publicKey:W(F),secretKey:F}}r.generateKeyPairFromSeed=Q;function k($){const F=(0,e.randomBytes)(32,$),G=Q(F);return(0,t.wipe)(F),G}r.generateKeyPair=k;function Y($,F,G=!1){if($.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect secret key length");if(F.length!==r.PUBLIC_KEY_LENGTH)throw new Error("X25519: incorrect public key length");const x=K($,F);if(G){let q=0;for(let ae=0;ae<x.length;ae++)q|=x[ae];if(q===0)throw new Error("X25519: invalid shared key")}return x}r.sharedKey=Y})(Td);function Yf(r,e){e||(e=r.reduce((n,a)=>n+a.length,0));const t=z8(e);let i=0;for(const n of r)t.set(n,i),i+=n.length;return t}function Er(r,e="utf8"){const t=j8[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)}var Qv={};const A_="elliptic",E_="6.5.7",x_="EC cryptography",S_="lib/elliptic.js",I_=["lib"],M_={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/"},P_={type:"git",url:"git@github.com:indutny/elliptic"},O_=["EC","Elliptic","curve","Cryptography"],R_="Fedor Indutny <fedor@indutny.com>",N_="MIT",T_={url:"https://github.com/indutny/elliptic/issues"},C_="https://github.com/indutny/elliptic",D_={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"},L_={"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"},q_={name:A_,version:E_,description:x_,main:S_,files:I_,scripts:M_,repository:P_,keywords:O_,author:R_,license:N_,bugs:T_,homepage:C_,devDependencies:D_,dependencies:L_};var xi={},Cd={exports:{}};Cd.exports;(function(r){(function(e,t){function i(L,m){if(!L)throw new Error(m||"Assertion failed")}function n(L,m){L.super_=m;var c=function(){};c.prototype=m.prototype,L.prototype=new c,L.prototype.constructor=L}function a(L,m,c){if(a.isBN(L))return L;this.negative=0,this.words=null,this.length=0,this.red=null,L!==null&&((m==="le"||m==="be")&&(c=m,m=10),this._init(L||0,m||10,c||"be"))}typeof e=="object"?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=Md.Buffer}catch{}a.isBN=function(m){return m instanceof a?!0:m!==null&&typeof m=="object"&&m.constructor.wordSize===a.wordSize&&Array.isArray(m.words)},a.max=function(m,c){return m.cmp(c)>0?m:c},a.min=function(m,c){return m.cmp(c)<0?m:c},a.prototype._init=function(m,c,h){if(typeof m=="number")return this._initNumber(m,c,h);if(typeof m=="object")return this._initArray(m,c,h);c==="hex"&&(c=16),i(c===(c|0)&&c>=2&&c<=36),m=m.toString().replace(/\s+/g,"");var v=0;m[0]==="-"&&(v++,this.negative=1),v<m.length&&(c===16?this._parseHex(m,v,h):(this._parseBase(m,c,v),h==="le"&&this._initArray(this.toArray(),c,h)))},a.prototype._initNumber=function(m,c,h){m<0&&(this.negative=1,m=-m),m<67108864?(this.words=[m&67108863],this.length=1):m<4503599627370496?(this.words=[m&67108863,m/67108864&67108863],this.length=2):(i(m<9007199254740992),this.words=[m&67108863,m/67108864&67108863,1],this.length=3),h==="le"&&this._initArray(this.toArray(),c,h)},a.prototype._initArray=function(m,c,h){if(i(typeof m.length=="number"),m.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(m.length/3),this.words=new Array(this.length);for(var v=0;v<this.length;v++)this.words[v]=0;var _,I,M=0;if(h==="be")for(v=m.length-1,_=0;v>=0;v-=3)I=m[v]|m[v-1]<<8|m[v-2]<<16,this.words[_]|=I<<M&67108863,this.words[_+1]=I>>>26-M&67108863,M+=24,M>=26&&(M-=26,_++);else if(h==="le")for(v=0,_=0;v<m.length;v+=3)I=m[v]|m[v+1]<<8|m[v+2]<<16,this.words[_]|=I<<M&67108863,this.words[_+1]=I>>>26-M&67108863,M+=24,M>=26&&(M-=26,_++);return this.strip()};function u(L,m){var c=L.charCodeAt(m);return c>=65&&c<=70?c-55:c>=97&&c<=102?c-87:c-48&15}function b(L,m,c){var h=u(L,c);return c-1>=m&&(h|=u(L,c-1)<<4),h}a.prototype._parseHex=function(m,c,h){this.length=Math.ceil((m.length-c)/6),this.words=new Array(this.length);for(var v=0;v<this.length;v++)this.words[v]=0;var _=0,I=0,M;if(h==="be")for(v=m.length-1;v>=c;v-=2)M=b(m,c,v)<<_,this.words[I]|=M&67108863,_>=18?(_-=18,I+=1,this.words[I]|=M>>>26):_+=8;else{var S=m.length-c;for(v=S%2===0?c+1:c;v<m.length;v+=2)M=b(m,c,v)<<_,this.words[I]|=M&67108863,_>=18?(_-=18,I+=1,this.words[I]|=M>>>26):_+=8}this.strip()};function p(L,m,c,h){for(var v=0,_=Math.min(L.length,c),I=m;I<_;I++){var M=L.charCodeAt(I)-48;v*=h,M>=49?v+=M-49+10:M>=17?v+=M-17+10:v+=M}return v}a.prototype._parseBase=function(m,c,h){this.words=[0],this.length=1;for(var v=0,_=1;_<=67108863;_*=c)v++;v--,_=_/c|0;for(var I=m.length-h,M=I%v,S=Math.min(I,I-M)+h,d=0,g=h;g<S;g+=v)d=p(m,g,g+v,c),this.imuln(_),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d);if(M!==0){var C=1;for(d=p(m,g,m.length,c),g=0;g<M;g++)C*=c;this.imuln(C),this.words[0]+d<67108864?this.words[0]+=d:this._iaddn(d)}this.strip()},a.prototype.copy=function(m){m.words=new Array(this.length);for(var c=0;c<this.length;c++)m.words[c]=this.words[c];m.length=this.length,m.negative=this.negative,m.red=this.red},a.prototype.clone=function(){var m=new a(null);return this.copy(m),m},a.prototype._expand=function(m){for(;this.length<m;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},a.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var y=["","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"],A=[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],R=[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];a.prototype.toString=function(m,c){m=m||10,c=c|0||1;var h;if(m===16||m==="hex"){h="";for(var v=0,_=0,I=0;I<this.length;I++){var M=this.words[I],S=((M<<v|_)&16777215).toString(16);_=M>>>24-v&16777215,_!==0||I!==this.length-1?h=y[6-S.length]+S+h:h=S+h,v+=2,v>=26&&(v-=26,I--)}for(_!==0&&(h=_.toString(16)+h);h.length%c!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}if(m===(m|0)&&m>=2&&m<=36){var d=A[m],g=R[m];h="";var C=this.clone();for(C.negative=0;!C.isZero();){var Z=C.modn(g).toString(m);C=C.idivn(g),C.isZero()?h=Z+h:h=y[d-Z.length]+Z+h}for(this.isZero()&&(h="0"+h);h.length%c!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var m=this.words[0];return this.length===2?m+=this.words[1]*67108864:this.length===3&&this.words[2]===1?m+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-m:m},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(m,c){return i(typeof f<"u"),this.toArrayLike(f,m,c)},a.prototype.toArray=function(m,c){return this.toArrayLike(Array,m,c)},a.prototype.toArrayLike=function(m,c,h){var v=this.byteLength(),_=h||Math.max(1,v);i(v<=_,"byte array longer than desired length"),i(_>0,"Requested array length <= 0"),this.strip();var I=c==="le",M=new m(_),S,d,g=this.clone();if(I){for(d=0;!g.isZero();d++)S=g.andln(255),g.iushrn(8),M[d]=S;for(;d<_;d++)M[d]=0}else{for(d=0;d<_-v;d++)M[d]=0;for(d=0;!g.isZero();d++)S=g.andln(255),g.iushrn(8),M[_-d-1]=S}return M},Math.clz32?a.prototype._countBits=function(m){return 32-Math.clz32(m)}:a.prototype._countBits=function(m){var c=m,h=0;return c>=4096&&(h+=13,c>>>=13),c>=64&&(h+=7,c>>>=7),c>=8&&(h+=4,c>>>=4),c>=2&&(h+=2,c>>>=2),h+c},a.prototype._zeroBits=function(m){if(m===0)return 26;var c=m,h=0;return c&8191||(h+=13,c>>>=13),c&127||(h+=7,c>>>=7),c&15||(h+=4,c>>>=4),c&3||(h+=2,c>>>=2),c&1||h++,h},a.prototype.bitLength=function(){var m=this.words[this.length-1],c=this._countBits(m);return(this.length-1)*26+c};function O(L){for(var m=new Array(L.bitLength()),c=0;c<m.length;c++){var h=c/26|0,v=c%26;m[c]=(L.words[h]&1<<v)>>>v}return m}a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var m=0,c=0;c<this.length;c++){var h=this._zeroBits(this.words[c]);if(m+=h,h!==26)break}return m},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(m){return this.negative!==0?this.abs().inotn(m).iaddn(1):this.clone()},a.prototype.fromTwos=function(m){return this.testn(m-1)?this.notn(m).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return this.negative!==0},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(m){for(;this.length<m.length;)this.words[this.length++]=0;for(var c=0;c<m.length;c++)this.words[c]=this.words[c]|m.words[c];return this.strip()},a.prototype.ior=function(m){return i((this.negative|m.negative)===0),this.iuor(m)},a.prototype.or=function(m){return this.length>m.length?this.clone().ior(m):m.clone().ior(this)},a.prototype.uor=function(m){return this.length>m.length?this.clone().iuor(m):m.clone().iuor(this)},a.prototype.iuand=function(m){var c;this.length>m.length?c=m:c=this;for(var h=0;h<c.length;h++)this.words[h]=this.words[h]&m.words[h];return this.length=c.length,this.strip()},a.prototype.iand=function(m){return i((this.negative|m.negative)===0),this.iuand(m)},a.prototype.and=function(m){return this.length>m.length?this.clone().iand(m):m.clone().iand(this)},a.prototype.uand=function(m){return this.length>m.length?this.clone().iuand(m):m.clone().iuand(this)},a.prototype.iuxor=function(m){var c,h;this.length>m.length?(c=this,h=m):(c=m,h=this);for(var v=0;v<h.length;v++)this.words[v]=c.words[v]^h.words[v];if(this!==c)for(;v<c.length;v++)this.words[v]=c.words[v];return this.length=c.length,this.strip()},a.prototype.ixor=function(m){return i((this.negative|m.negative)===0),this.iuxor(m)},a.prototype.xor=function(m){return this.length>m.length?this.clone().ixor(m):m.clone().ixor(this)},a.prototype.uxor=function(m){return this.length>m.length?this.clone().iuxor(m):m.clone().iuxor(this)},a.prototype.inotn=function(m){i(typeof m=="number"&&m>=0);var c=Math.ceil(m/26)|0,h=m%26;this._expand(c),h>0&&c--;for(var v=0;v<c;v++)this.words[v]=~this.words[v]&67108863;return h>0&&(this.words[v]=~this.words[v]&67108863>>26-h),this.strip()},a.prototype.notn=function(m){return this.clone().inotn(m)},a.prototype.setn=function(m,c){i(typeof m=="number"&&m>=0);var h=m/26|0,v=m%26;return this._expand(h+1),c?this.words[h]=this.words[h]|1<<v:this.words[h]=this.words[h]&~(1<<v),this.strip()},a.prototype.iadd=function(m){var c;if(this.negative!==0&&m.negative===0)return this.negative=0,c=this.isub(m),this.negative^=1,this._normSign();if(this.negative===0&&m.negative!==0)return m.negative=0,c=this.isub(m),m.negative=1,c._normSign();var h,v;this.length>m.length?(h=this,v=m):(h=m,v=this);for(var _=0,I=0;I<v.length;I++)c=(h.words[I]|0)+(v.words[I]|0)+_,this.words[I]=c&67108863,_=c>>>26;for(;_!==0&&I<h.length;I++)c=(h.words[I]|0)+_,this.words[I]=c&67108863,_=c>>>26;if(this.length=h.length,_!==0)this.words[this.length]=_,this.length++;else if(h!==this)for(;I<h.length;I++)this.words[I]=h.words[I];return this},a.prototype.add=function(m){var c;return m.negative!==0&&this.negative===0?(m.negative=0,c=this.sub(m),m.negative^=1,c):m.negative===0&&this.negative!==0?(this.negative=0,c=m.sub(this),this.negative=1,c):this.length>m.length?this.clone().iadd(m):m.clone().iadd(this)},a.prototype.isub=function(m){if(m.negative!==0){m.negative=0;var c=this.iadd(m);return m.negative=1,c._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(m),this.negative=1,this._normSign();var h=this.cmp(m);if(h===0)return this.negative=0,this.length=1,this.words[0]=0,this;var v,_;h>0?(v=this,_=m):(v=m,_=this);for(var I=0,M=0;M<_.length;M++)c=(v.words[M]|0)-(_.words[M]|0)+I,I=c>>26,this.words[M]=c&67108863;for(;I!==0&&M<v.length;M++)c=(v.words[M]|0)+I,I=c>>26,this.words[M]=c&67108863;if(I===0&&M<v.length&&v!==this)for(;M<v.length;M++)this.words[M]=v.words[M];return this.length=Math.max(this.length,M),v!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(m){return this.clone().isub(m)};function N(L,m,c){c.negative=m.negative^L.negative;var h=L.length+m.length|0;c.length=h,h=h-1|0;var v=L.words[0]|0,_=m.words[0]|0,I=v*_,M=I&67108863,S=I/67108864|0;c.words[0]=M;for(var d=1;d<h;d++){for(var g=S>>>26,C=S&67108863,Z=Math.min(d,m.length-1),se=Math.max(0,d-L.length+1);se<=Z;se++){var P=d-se|0;v=L.words[P]|0,_=m.words[se]|0,I=v*_+C,g+=I/67108864|0,C=I&67108863}c.words[d]=C|0,S=g|0}return S!==0?c.words[d]=S|0:c.length--,c.strip()}var K=function(m,c,h){var v=m.words,_=c.words,I=h.words,M=0,S,d,g,C=v[0]|0,Z=C&8191,se=C>>>13,P=v[1]|0,ee=P&8191,B=P>>>13,j=v[2]|0,H=j&8191,w=j>>>13,z=v[3]|0,ne=z&8191,ce=z>>>13,he=v[4]|0,ye=he&8191,we=he>>>13,Te=v[5]|0,Qe=Te&8191,Oe=Te>>>13,Ce=v[6]|0,Ie=Ce&8191,me=Ce>>>13,Re=v[7]|0,De=Re&8191,ve=Re>>>13,Ne=v[8]|0,Se=Ne&8191,be=Ne>>>13,Ue=v[9]|0,Me=Ue&8191,_e=Ue>>>13,He=_[0]|0,Ve=He&8191,Ee=He>>>13,Ke=_[1]|0,ut=Ke&8191,Ge=Ke>>>13,_t=_[2]|0,lt=_t&8191,Je=_t>>>13,Et=_[3]|0,It=Et&8191,Le=Et>>>13,Xe=_[4]|0,tt=Xe&8191,qe=Xe>>>13,et=_[5]|0,Ze=et&8191,ze=et>>>13,ft=_[6]|0,rt=ft&8191,je=ft>>>13,it=_[7]|0,st=it&8191,Be=it>>>13,Ye=_[8]|0,ht=Ye&8191,ke=Ye>>>13,Ct=_[9]|0,Dt=Ct&8191,at=Ct>>>13;h.negative=m.negative^c.negative,h.length=19,S=Math.imul(Z,Ve),d=Math.imul(Z,Ee),d=d+Math.imul(se,Ve)|0,g=Math.imul(se,Ee);var bt=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(bt>>>26)|0,bt&=67108863,S=Math.imul(ee,Ve),d=Math.imul(ee,Ee),d=d+Math.imul(B,Ve)|0,g=Math.imul(B,Ee),S=S+Math.imul(Z,ut)|0,d=d+Math.imul(Z,Ge)|0,d=d+Math.imul(se,ut)|0,g=g+Math.imul(se,Ge)|0;var Tr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Tr>>>26)|0,Tr&=67108863,S=Math.imul(H,Ve),d=Math.imul(H,Ee),d=d+Math.imul(w,Ve)|0,g=Math.imul(w,Ee),S=S+Math.imul(ee,ut)|0,d=d+Math.imul(ee,Ge)|0,d=d+Math.imul(B,ut)|0,g=g+Math.imul(B,Ge)|0,S=S+Math.imul(Z,lt)|0,d=d+Math.imul(Z,Je)|0,d=d+Math.imul(se,lt)|0,g=g+Math.imul(se,Je)|0;var Cr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,S=Math.imul(ne,Ve),d=Math.imul(ne,Ee),d=d+Math.imul(ce,Ve)|0,g=Math.imul(ce,Ee),S=S+Math.imul(H,ut)|0,d=d+Math.imul(H,Ge)|0,d=d+Math.imul(w,ut)|0,g=g+Math.imul(w,Ge)|0,S=S+Math.imul(ee,lt)|0,d=d+Math.imul(ee,Je)|0,d=d+Math.imul(B,lt)|0,g=g+Math.imul(B,Je)|0,S=S+Math.imul(Z,It)|0,d=d+Math.imul(Z,Le)|0,d=d+Math.imul(se,It)|0,g=g+Math.imul(se,Le)|0;var Dr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,S=Math.imul(ye,Ve),d=Math.imul(ye,Ee),d=d+Math.imul(we,Ve)|0,g=Math.imul(we,Ee),S=S+Math.imul(ne,ut)|0,d=d+Math.imul(ne,Ge)|0,d=d+Math.imul(ce,ut)|0,g=g+Math.imul(ce,Ge)|0,S=S+Math.imul(H,lt)|0,d=d+Math.imul(H,Je)|0,d=d+Math.imul(w,lt)|0,g=g+Math.imul(w,Je)|0,S=S+Math.imul(ee,It)|0,d=d+Math.imul(ee,Le)|0,d=d+Math.imul(B,It)|0,g=g+Math.imul(B,Le)|0,S=S+Math.imul(Z,tt)|0,d=d+Math.imul(Z,qe)|0,d=d+Math.imul(se,tt)|0,g=g+Math.imul(se,qe)|0;var Lr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,S=Math.imul(Qe,Ve),d=Math.imul(Qe,Ee),d=d+Math.imul(Oe,Ve)|0,g=Math.imul(Oe,Ee),S=S+Math.imul(ye,ut)|0,d=d+Math.imul(ye,Ge)|0,d=d+Math.imul(we,ut)|0,g=g+Math.imul(we,Ge)|0,S=S+Math.imul(ne,lt)|0,d=d+Math.imul(ne,Je)|0,d=d+Math.imul(ce,lt)|0,g=g+Math.imul(ce,Je)|0,S=S+Math.imul(H,It)|0,d=d+Math.imul(H,Le)|0,d=d+Math.imul(w,It)|0,g=g+Math.imul(w,Le)|0,S=S+Math.imul(ee,tt)|0,d=d+Math.imul(ee,qe)|0,d=d+Math.imul(B,tt)|0,g=g+Math.imul(B,qe)|0,S=S+Math.imul(Z,Ze)|0,d=d+Math.imul(Z,ze)|0,d=d+Math.imul(se,Ze)|0,g=g+Math.imul(se,ze)|0;var qr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(qr>>>26)|0,qr&=67108863,S=Math.imul(Ie,Ve),d=Math.imul(Ie,Ee),d=d+Math.imul(me,Ve)|0,g=Math.imul(me,Ee),S=S+Math.imul(Qe,ut)|0,d=d+Math.imul(Qe,Ge)|0,d=d+Math.imul(Oe,ut)|0,g=g+Math.imul(Oe,Ge)|0,S=S+Math.imul(ye,lt)|0,d=d+Math.imul(ye,Je)|0,d=d+Math.imul(we,lt)|0,g=g+Math.imul(we,Je)|0,S=S+Math.imul(ne,It)|0,d=d+Math.imul(ne,Le)|0,d=d+Math.imul(ce,It)|0,g=g+Math.imul(ce,Le)|0,S=S+Math.imul(H,tt)|0,d=d+Math.imul(H,qe)|0,d=d+Math.imul(w,tt)|0,g=g+Math.imul(w,qe)|0,S=S+Math.imul(ee,Ze)|0,d=d+Math.imul(ee,ze)|0,d=d+Math.imul(B,Ze)|0,g=g+Math.imul(B,ze)|0,S=S+Math.imul(Z,rt)|0,d=d+Math.imul(Z,je)|0,d=d+Math.imul(se,rt)|0,g=g+Math.imul(se,je)|0;var er=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(er>>>26)|0,er&=67108863,S=Math.imul(De,Ve),d=Math.imul(De,Ee),d=d+Math.imul(ve,Ve)|0,g=Math.imul(ve,Ee),S=S+Math.imul(Ie,ut)|0,d=d+Math.imul(Ie,Ge)|0,d=d+Math.imul(me,ut)|0,g=g+Math.imul(me,Ge)|0,S=S+Math.imul(Qe,lt)|0,d=d+Math.imul(Qe,Je)|0,d=d+Math.imul(Oe,lt)|0,g=g+Math.imul(Oe,Je)|0,S=S+Math.imul(ye,It)|0,d=d+Math.imul(ye,Le)|0,d=d+Math.imul(we,It)|0,g=g+Math.imul(we,Le)|0,S=S+Math.imul(ne,tt)|0,d=d+Math.imul(ne,qe)|0,d=d+Math.imul(ce,tt)|0,g=g+Math.imul(ce,qe)|0,S=S+Math.imul(H,Ze)|0,d=d+Math.imul(H,ze)|0,d=d+Math.imul(w,Ze)|0,g=g+Math.imul(w,ze)|0,S=S+Math.imul(ee,rt)|0,d=d+Math.imul(ee,je)|0,d=d+Math.imul(B,rt)|0,g=g+Math.imul(B,je)|0,S=S+Math.imul(Z,st)|0,d=d+Math.imul(Z,Be)|0,d=d+Math.imul(se,st)|0,g=g+Math.imul(se,Be)|0;var Qr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Qr>>>26)|0,Qr&=67108863,S=Math.imul(Se,Ve),d=Math.imul(Se,Ee),d=d+Math.imul(be,Ve)|0,g=Math.imul(be,Ee),S=S+Math.imul(De,ut)|0,d=d+Math.imul(De,Ge)|0,d=d+Math.imul(ve,ut)|0,g=g+Math.imul(ve,Ge)|0,S=S+Math.imul(Ie,lt)|0,d=d+Math.imul(Ie,Je)|0,d=d+Math.imul(me,lt)|0,g=g+Math.imul(me,Je)|0,S=S+Math.imul(Qe,It)|0,d=d+Math.imul(Qe,Le)|0,d=d+Math.imul(Oe,It)|0,g=g+Math.imul(Oe,Le)|0,S=S+Math.imul(ye,tt)|0,d=d+Math.imul(ye,qe)|0,d=d+Math.imul(we,tt)|0,g=g+Math.imul(we,qe)|0,S=S+Math.imul(ne,Ze)|0,d=d+Math.imul(ne,ze)|0,d=d+Math.imul(ce,Ze)|0,g=g+Math.imul(ce,ze)|0,S=S+Math.imul(H,rt)|0,d=d+Math.imul(H,je)|0,d=d+Math.imul(w,rt)|0,g=g+Math.imul(w,je)|0,S=S+Math.imul(ee,st)|0,d=d+Math.imul(ee,Be)|0,d=d+Math.imul(B,st)|0,g=g+Math.imul(B,Be)|0,S=S+Math.imul(Z,ht)|0,d=d+Math.imul(Z,ke)|0,d=d+Math.imul(se,ht)|0,g=g+Math.imul(se,ke)|0;var Vi=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Vi>>>26)|0,Vi&=67108863,S=Math.imul(Me,Ve),d=Math.imul(Me,Ee),d=d+Math.imul(_e,Ve)|0,g=Math.imul(_e,Ee),S=S+Math.imul(Se,ut)|0,d=d+Math.imul(Se,Ge)|0,d=d+Math.imul(be,ut)|0,g=g+Math.imul(be,Ge)|0,S=S+Math.imul(De,lt)|0,d=d+Math.imul(De,Je)|0,d=d+Math.imul(ve,lt)|0,g=g+Math.imul(ve,Je)|0,S=S+Math.imul(Ie,It)|0,d=d+Math.imul(Ie,Le)|0,d=d+Math.imul(me,It)|0,g=g+Math.imul(me,Le)|0,S=S+Math.imul(Qe,tt)|0,d=d+Math.imul(Qe,qe)|0,d=d+Math.imul(Oe,tt)|0,g=g+Math.imul(Oe,qe)|0,S=S+Math.imul(ye,Ze)|0,d=d+Math.imul(ye,ze)|0,d=d+Math.imul(we,Ze)|0,g=g+Math.imul(we,ze)|0,S=S+Math.imul(ne,rt)|0,d=d+Math.imul(ne,je)|0,d=d+Math.imul(ce,rt)|0,g=g+Math.imul(ce,je)|0,S=S+Math.imul(H,st)|0,d=d+Math.imul(H,Be)|0,d=d+Math.imul(w,st)|0,g=g+Math.imul(w,Be)|0,S=S+Math.imul(ee,ht)|0,d=d+Math.imul(ee,ke)|0,d=d+Math.imul(B,ht)|0,g=g+Math.imul(B,ke)|0,S=S+Math.imul(Z,Dt)|0,d=d+Math.imul(Z,at)|0,d=d+Math.imul(se,Dt)|0,g=g+Math.imul(se,at)|0;var Xr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,S=Math.imul(Me,ut),d=Math.imul(Me,Ge),d=d+Math.imul(_e,ut)|0,g=Math.imul(_e,Ge),S=S+Math.imul(Se,lt)|0,d=d+Math.imul(Se,Je)|0,d=d+Math.imul(be,lt)|0,g=g+Math.imul(be,Je)|0,S=S+Math.imul(De,It)|0,d=d+Math.imul(De,Le)|0,d=d+Math.imul(ve,It)|0,g=g+Math.imul(ve,Le)|0,S=S+Math.imul(Ie,tt)|0,d=d+Math.imul(Ie,qe)|0,d=d+Math.imul(me,tt)|0,g=g+Math.imul(me,qe)|0,S=S+Math.imul(Qe,Ze)|0,d=d+Math.imul(Qe,ze)|0,d=d+Math.imul(Oe,Ze)|0,g=g+Math.imul(Oe,ze)|0,S=S+Math.imul(ye,rt)|0,d=d+Math.imul(ye,je)|0,d=d+Math.imul(we,rt)|0,g=g+Math.imul(we,je)|0,S=S+Math.imul(ne,st)|0,d=d+Math.imul(ne,Be)|0,d=d+Math.imul(ce,st)|0,g=g+Math.imul(ce,Be)|0,S=S+Math.imul(H,ht)|0,d=d+Math.imul(H,ke)|0,d=d+Math.imul(w,ht)|0,g=g+Math.imul(w,ke)|0,S=S+Math.imul(ee,Dt)|0,d=d+Math.imul(ee,at)|0,d=d+Math.imul(B,Dt)|0,g=g+Math.imul(B,at)|0;var Gi=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,S=Math.imul(Me,lt),d=Math.imul(Me,Je),d=d+Math.imul(_e,lt)|0,g=Math.imul(_e,Je),S=S+Math.imul(Se,It)|0,d=d+Math.imul(Se,Le)|0,d=d+Math.imul(be,It)|0,g=g+Math.imul(be,Le)|0,S=S+Math.imul(De,tt)|0,d=d+Math.imul(De,qe)|0,d=d+Math.imul(ve,tt)|0,g=g+Math.imul(ve,qe)|0,S=S+Math.imul(Ie,Ze)|0,d=d+Math.imul(Ie,ze)|0,d=d+Math.imul(me,Ze)|0,g=g+Math.imul(me,ze)|0,S=S+Math.imul(Qe,rt)|0,d=d+Math.imul(Qe,je)|0,d=d+Math.imul(Oe,rt)|0,g=g+Math.imul(Oe,je)|0,S=S+Math.imul(ye,st)|0,d=d+Math.imul(ye,Be)|0,d=d+Math.imul(we,st)|0,g=g+Math.imul(we,Be)|0,S=S+Math.imul(ne,ht)|0,d=d+Math.imul(ne,ke)|0,d=d+Math.imul(ce,ht)|0,g=g+Math.imul(ce,ke)|0,S=S+Math.imul(H,Dt)|0,d=d+Math.imul(H,at)|0,d=d+Math.imul(w,Dt)|0,g=g+Math.imul(w,at)|0;var Wi=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Wi>>>26)|0,Wi&=67108863,S=Math.imul(Me,It),d=Math.imul(Me,Le),d=d+Math.imul(_e,It)|0,g=Math.imul(_e,Le),S=S+Math.imul(Se,tt)|0,d=d+Math.imul(Se,qe)|0,d=d+Math.imul(be,tt)|0,g=g+Math.imul(be,qe)|0,S=S+Math.imul(De,Ze)|0,d=d+Math.imul(De,ze)|0,d=d+Math.imul(ve,Ze)|0,g=g+Math.imul(ve,ze)|0,S=S+Math.imul(Ie,rt)|0,d=d+Math.imul(Ie,je)|0,d=d+Math.imul(me,rt)|0,g=g+Math.imul(me,je)|0,S=S+Math.imul(Qe,st)|0,d=d+Math.imul(Qe,Be)|0,d=d+Math.imul(Oe,st)|0,g=g+Math.imul(Oe,Be)|0,S=S+Math.imul(ye,ht)|0,d=d+Math.imul(ye,ke)|0,d=d+Math.imul(we,ht)|0,g=g+Math.imul(we,ke)|0,S=S+Math.imul(ne,Dt)|0,d=d+Math.imul(ne,at)|0,d=d+Math.imul(ce,Dt)|0,g=g+Math.imul(ce,at)|0;var Zr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,S=Math.imul(Me,tt),d=Math.imul(Me,qe),d=d+Math.imul(_e,tt)|0,g=Math.imul(_e,qe),S=S+Math.imul(Se,Ze)|0,d=d+Math.imul(Se,ze)|0,d=d+Math.imul(be,Ze)|0,g=g+Math.imul(be,ze)|0,S=S+Math.imul(De,rt)|0,d=d+Math.imul(De,je)|0,d=d+Math.imul(ve,rt)|0,g=g+Math.imul(ve,je)|0,S=S+Math.imul(Ie,st)|0,d=d+Math.imul(Ie,Be)|0,d=d+Math.imul(me,st)|0,g=g+Math.imul(me,Be)|0,S=S+Math.imul(Qe,ht)|0,d=d+Math.imul(Qe,ke)|0,d=d+Math.imul(Oe,ht)|0,g=g+Math.imul(Oe,ke)|0,S=S+Math.imul(ye,Dt)|0,d=d+Math.imul(ye,at)|0,d=d+Math.imul(we,Dt)|0,g=g+Math.imul(we,at)|0;var Si=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Si>>>26)|0,Si&=67108863,S=Math.imul(Me,Ze),d=Math.imul(Me,ze),d=d+Math.imul(_e,Ze)|0,g=Math.imul(_e,ze),S=S+Math.imul(Se,rt)|0,d=d+Math.imul(Se,je)|0,d=d+Math.imul(be,rt)|0,g=g+Math.imul(be,je)|0,S=S+Math.imul(De,st)|0,d=d+Math.imul(De,Be)|0,d=d+Math.imul(ve,st)|0,g=g+Math.imul(ve,Be)|0,S=S+Math.imul(Ie,ht)|0,d=d+Math.imul(Ie,ke)|0,d=d+Math.imul(me,ht)|0,g=g+Math.imul(me,ke)|0,S=S+Math.imul(Qe,Dt)|0,d=d+Math.imul(Qe,at)|0,d=d+Math.imul(Oe,Dt)|0,g=g+Math.imul(Oe,at)|0;var Ii=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Ii>>>26)|0,Ii&=67108863,S=Math.imul(Me,rt),d=Math.imul(Me,je),d=d+Math.imul(_e,rt)|0,g=Math.imul(_e,je),S=S+Math.imul(Se,st)|0,d=d+Math.imul(Se,Be)|0,d=d+Math.imul(be,st)|0,g=g+Math.imul(be,Be)|0,S=S+Math.imul(De,ht)|0,d=d+Math.imul(De,ke)|0,d=d+Math.imul(ve,ht)|0,g=g+Math.imul(ve,ke)|0,S=S+Math.imul(Ie,Dt)|0,d=d+Math.imul(Ie,at)|0,d=d+Math.imul(me,Dt)|0,g=g+Math.imul(me,at)|0;var lr=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(lr>>>26)|0,lr&=67108863,S=Math.imul(Me,st),d=Math.imul(Me,Be),d=d+Math.imul(_e,st)|0,g=Math.imul(_e,Be),S=S+Math.imul(Se,ht)|0,d=d+Math.imul(Se,ke)|0,d=d+Math.imul(be,ht)|0,g=g+Math.imul(be,ke)|0,S=S+Math.imul(De,Dt)|0,d=d+Math.imul(De,at)|0,d=d+Math.imul(ve,Dt)|0,g=g+Math.imul(ve,at)|0;var Ji=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Ji>>>26)|0,Ji&=67108863,S=Math.imul(Me,ht),d=Math.imul(Me,ke),d=d+Math.imul(_e,ht)|0,g=Math.imul(_e,ke),S=S+Math.imul(Se,Dt)|0,d=d+Math.imul(Se,at)|0,d=d+Math.imul(be,Dt)|0,g=g+Math.imul(be,at)|0;var Yi=(M+S|0)+((d&8191)<<13)|0;M=(g+(d>>>13)|0)+(Yi>>>26)|0,Yi&=67108863,S=Math.imul(Me,Dt),d=Math.imul(Me,at),d=d+Math.imul(_e,Dt)|0,g=Math.imul(_e,at);var Qi=(M+S|0)+((d&8191)<<13)|0;return M=(g+(d>>>13)|0)+(Qi>>>26)|0,Qi&=67108863,I[0]=bt,I[1]=Tr,I[2]=Cr,I[3]=Dr,I[4]=Lr,I[5]=qr,I[6]=er,I[7]=Qr,I[8]=Vi,I[9]=Xr,I[10]=Gi,I[11]=Wi,I[12]=Zr,I[13]=Si,I[14]=Ii,I[15]=lr,I[16]=Ji,I[17]=Yi,I[18]=Qi,M!==0&&(I[19]=M,h.length++),h};Math.imul||(K=N);function W(L,m,c){c.negative=m.negative^L.negative,c.length=L.length+m.length;for(var h=0,v=0,_=0;_<c.length-1;_++){var I=v;v=0;for(var M=h&67108863,S=Math.min(_,m.length-1),d=Math.max(0,_-L.length+1);d<=S;d++){var g=_-d,C=L.words[g]|0,Z=m.words[d]|0,se=C*Z,P=se&67108863;I=I+(se/67108864|0)|0,P=P+M|0,M=P&67108863,I=I+(P>>>26)|0,v+=I>>>26,I&=67108863}c.words[_]=M,h=I,I=v}return h!==0?c.words[_]=h:c.length--,c.strip()}function Q(L,m,c){var h=new k;return h.mulp(L,m,c)}a.prototype.mulTo=function(m,c){var h,v=this.length+m.length;return this.length===10&&m.length===10?h=K(this,m,c):v<63?h=N(this,m,c):v<1024?h=W(this,m,c):h=Q(this,m,c),h};function k(L,m){this.x=L,this.y=m}k.prototype.makeRBT=function(m){for(var c=new Array(m),h=a.prototype._countBits(m)-1,v=0;v<m;v++)c[v]=this.revBin(v,h,m);return c},k.prototype.revBin=function(m,c,h){if(m===0||m===h-1)return m;for(var v=0,_=0;_<c;_++)v|=(m&1)<<c-_-1,m>>=1;return v},k.prototype.permute=function(m,c,h,v,_,I){for(var M=0;M<I;M++)v[M]=c[m[M]],_[M]=h[m[M]]},k.prototype.transform=function(m,c,h,v,_,I){this.permute(I,m,c,h,v,_);for(var M=1;M<_;M<<=1)for(var S=M<<1,d=Math.cos(2*Math.PI/S),g=Math.sin(2*Math.PI/S),C=0;C<_;C+=S)for(var Z=d,se=g,P=0;P<M;P++){var ee=h[C+P],B=v[C+P],j=h[C+P+M],H=v[C+P+M],w=Z*j-se*H;H=Z*H+se*j,j=w,h[C+P]=ee+j,v[C+P]=B+H,h[C+P+M]=ee-j,v[C+P+M]=B-H,P!==S&&(w=d*Z-g*se,se=d*se+g*Z,Z=w)}},k.prototype.guessLen13b=function(m,c){var h=Math.max(c,m)|1,v=h&1,_=0;for(h=h/2|0;h;h=h>>>1)_++;return 1<<_+1+v},k.prototype.conjugate=function(m,c,h){if(!(h<=1))for(var v=0;v<h/2;v++){var _=m[v];m[v]=m[h-v-1],m[h-v-1]=_,_=c[v],c[v]=-c[h-v-1],c[h-v-1]=-_}},k.prototype.normalize13b=function(m,c){for(var h=0,v=0;v<c/2;v++){var _=Math.round(m[2*v+1]/c)*8192+Math.round(m[2*v]/c)+h;m[v]=_&67108863,_<67108864?h=0:h=_/67108864|0}return m},k.prototype.convert13b=function(m,c,h,v){for(var _=0,I=0;I<c;I++)_=_+(m[I]|0),h[2*I]=_&8191,_=_>>>13,h[2*I+1]=_&8191,_=_>>>13;for(I=2*c;I<v;++I)h[I]=0;i(_===0),i((_&-8192)===0)},k.prototype.stub=function(m){for(var c=new Array(m),h=0;h<m;h++)c[h]=0;return c},k.prototype.mulp=function(m,c,h){var v=2*this.guessLen13b(m.length,c.length),_=this.makeRBT(v),I=this.stub(v),M=new Array(v),S=new Array(v),d=new Array(v),g=new Array(v),C=new Array(v),Z=new Array(v),se=h.words;se.length=v,this.convert13b(m.words,m.length,M,v),this.convert13b(c.words,c.length,g,v),this.transform(M,I,S,d,v,_),this.transform(g,I,C,Z,v,_);for(var P=0;P<v;P++){var ee=S[P]*C[P]-d[P]*Z[P];d[P]=S[P]*Z[P]+d[P]*C[P],S[P]=ee}return this.conjugate(S,d,v),this.transform(S,d,se,I,v,_),this.conjugate(se,I,v),this.normalize13b(se,v),h.negative=m.negative^c.negative,h.length=m.length+c.length,h.strip()},a.prototype.mul=function(m){var c=new a(null);return c.words=new Array(this.length+m.length),this.mulTo(m,c)},a.prototype.mulf=function(m){var c=new a(null);return c.words=new Array(this.length+m.length),Q(this,m,c)},a.prototype.imul=function(m){return this.clone().mulTo(m,this)},a.prototype.imuln=function(m){i(typeof m=="number"),i(m<67108864);for(var c=0,h=0;h<this.length;h++){var v=(this.words[h]|0)*m,_=(v&67108863)+(c&67108863);c>>=26,c+=v/67108864|0,c+=_>>>26,this.words[h]=_&67108863}return c!==0&&(this.words[h]=c,this.length++),this},a.prototype.muln=function(m){return this.clone().imuln(m)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(m){var c=O(m);if(c.length===0)return new a(1);for(var h=this,v=0;v<c.length&&c[v]===0;v++,h=h.sqr());if(++v<c.length)for(var _=h.sqr();v<c.length;v++,_=_.sqr())c[v]!==0&&(h=h.mul(_));return h},a.prototype.iushln=function(m){i(typeof m=="number"&&m>=0);var c=m%26,h=(m-c)/26,v=67108863>>>26-c<<26-c,_;if(c!==0){var I=0;for(_=0;_<this.length;_++){var M=this.words[_]&v,S=(this.words[_]|0)-M<<c;this.words[_]=S|I,I=M>>>26-c}I&&(this.words[_]=I,this.length++)}if(h!==0){for(_=this.length-1;_>=0;_--)this.words[_+h]=this.words[_];for(_=0;_<h;_++)this.words[_]=0;this.length+=h}return this.strip()},a.prototype.ishln=function(m){return i(this.negative===0),this.iushln(m)},a.prototype.iushrn=function(m,c,h){i(typeof m=="number"&&m>=0);var v;c?v=(c-c%26)/26:v=0;var _=m%26,I=Math.min((m-_)/26,this.length),M=67108863^67108863>>>_<<_,S=h;if(v-=I,v=Math.max(0,v),S){for(var d=0;d<I;d++)S.words[d]=this.words[d];S.length=I}if(I!==0)if(this.length>I)for(this.length-=I,d=0;d<this.length;d++)this.words[d]=this.words[d+I];else this.words[0]=0,this.length=1;var g=0;for(d=this.length-1;d>=0&&(g!==0||d>=v);d--){var C=this.words[d]|0;this.words[d]=g<<26-_|C>>>_,g=C&M}return S&&g!==0&&(S.words[S.length++]=g),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(m,c,h){return i(this.negative===0),this.iushrn(m,c,h)},a.prototype.shln=function(m){return this.clone().ishln(m)},a.prototype.ushln=function(m){return this.clone().iushln(m)},a.prototype.shrn=function(m){return this.clone().ishrn(m)},a.prototype.ushrn=function(m){return this.clone().iushrn(m)},a.prototype.testn=function(m){i(typeof m=="number"&&m>=0);var c=m%26,h=(m-c)/26,v=1<<c;if(this.length<=h)return!1;var _=this.words[h];return!!(_&v)},a.prototype.imaskn=function(m){i(typeof m=="number"&&m>=0);var c=m%26,h=(m-c)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=h)return this;if(c!==0&&h++,this.length=Math.min(h,this.length),c!==0){var v=67108863^67108863>>>c<<c;this.words[this.length-1]&=v}return this.strip()},a.prototype.maskn=function(m){return this.clone().imaskn(m)},a.prototype.iaddn=function(m){return i(typeof m=="number"),i(m<67108864),m<0?this.isubn(-m):this.negative!==0?this.length===1&&(this.words[0]|0)<m?(this.words[0]=m-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(m),this.negative=1,this):this._iaddn(m)},a.prototype._iaddn=function(m){this.words[0]+=m;for(var c=0;c<this.length&&this.words[c]>=67108864;c++)this.words[c]-=67108864,c===this.length-1?this.words[c+1]=1:this.words[c+1]++;return this.length=Math.max(this.length,c+1),this},a.prototype.isubn=function(m){if(i(typeof m=="number"),i(m<67108864),m<0)return this.iaddn(-m);if(this.negative!==0)return this.negative=0,this.iaddn(m),this.negative=1,this;if(this.words[0]-=m,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var c=0;c<this.length&&this.words[c]<0;c++)this.words[c]+=67108864,this.words[c+1]-=1;return this.strip()},a.prototype.addn=function(m){return this.clone().iaddn(m)},a.prototype.subn=function(m){return this.clone().isubn(m)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(m,c,h){var v=m.length+h,_;this._expand(v);var I,M=0;for(_=0;_<m.length;_++){I=(this.words[_+h]|0)+M;var S=(m.words[_]|0)*c;I-=S&67108863,M=(I>>26)-(S/67108864|0),this.words[_+h]=I&67108863}for(;_<this.length-h;_++)I=(this.words[_+h]|0)+M,M=I>>26,this.words[_+h]=I&67108863;if(M===0)return this.strip();for(i(M===-1),M=0,_=0;_<this.length;_++)I=-(this.words[_]|0)+M,M=I>>26,this.words[_]=I&67108863;return this.negative=1,this.strip()},a.prototype._wordDiv=function(m,c){var h=this.length-m.length,v=this.clone(),_=m,I=_.words[_.length-1]|0,M=this._countBits(I);h=26-M,h!==0&&(_=_.ushln(h),v.iushln(h),I=_.words[_.length-1]|0);var S=v.length-_.length,d;if(c!=="mod"){d=new a(null),d.length=S+1,d.words=new Array(d.length);for(var g=0;g<d.length;g++)d.words[g]=0}var C=v.clone()._ishlnsubmul(_,1,S);C.negative===0&&(v=C,d&&(d.words[S]=1));for(var Z=S-1;Z>=0;Z--){var se=(v.words[_.length+Z]|0)*67108864+(v.words[_.length+Z-1]|0);for(se=Math.min(se/I|0,67108863),v._ishlnsubmul(_,se,Z);v.negative!==0;)se--,v.negative=0,v._ishlnsubmul(_,1,Z),v.isZero()||(v.negative^=1);d&&(d.words[Z]=se)}return d&&d.strip(),v.strip(),c!=="div"&&h!==0&&v.iushrn(h),{div:d||null,mod:v}},a.prototype.divmod=function(m,c,h){if(i(!m.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var v,_,I;return this.negative!==0&&m.negative===0?(I=this.neg().divmod(m,c),c!=="mod"&&(v=I.div.neg()),c!=="div"&&(_=I.mod.neg(),h&&_.negative!==0&&_.iadd(m)),{div:v,mod:_}):this.negative===0&&m.negative!==0?(I=this.divmod(m.neg(),c),c!=="mod"&&(v=I.div.neg()),{div:v,mod:I.mod}):this.negative&m.negative?(I=this.neg().divmod(m.neg(),c),c!=="div"&&(_=I.mod.neg(),h&&_.negative!==0&&_.isub(m)),{div:I.div,mod:_}):m.length>this.length||this.cmp(m)<0?{div:new a(0),mod:this}:m.length===1?c==="div"?{div:this.divn(m.words[0]),mod:null}:c==="mod"?{div:null,mod:new a(this.modn(m.words[0]))}:{div:this.divn(m.words[0]),mod:new a(this.modn(m.words[0]))}:this._wordDiv(m,c)},a.prototype.div=function(m){return this.divmod(m,"div",!1).div},a.prototype.mod=function(m){return this.divmod(m,"mod",!1).mod},a.prototype.umod=function(m){return this.divmod(m,"mod",!0).mod},a.prototype.divRound=function(m){var c=this.divmod(m);if(c.mod.isZero())return c.div;var h=c.div.negative!==0?c.mod.isub(m):c.mod,v=m.ushrn(1),_=m.andln(1),I=h.cmp(v);return I<0||_===1&&I===0?c.div:c.div.negative!==0?c.div.isubn(1):c.div.iaddn(1)},a.prototype.modn=function(m){i(m<=67108863);for(var c=(1<<26)%m,h=0,v=this.length-1;v>=0;v--)h=(c*h+(this.words[v]|0))%m;return h},a.prototype.idivn=function(m){i(m<=67108863);for(var c=0,h=this.length-1;h>=0;h--){var v=(this.words[h]|0)+c*67108864;this.words[h]=v/m|0,c=v%m}return this.strip()},a.prototype.divn=function(m){return this.clone().idivn(m)},a.prototype.egcd=function(m){i(m.negative===0),i(!m.isZero());var c=this,h=m.clone();c.negative!==0?c=c.umod(m):c=c.clone();for(var v=new a(1),_=new a(0),I=new a(0),M=new a(1),S=0;c.isEven()&&h.isEven();)c.iushrn(1),h.iushrn(1),++S;for(var d=h.clone(),g=c.clone();!c.isZero();){for(var C=0,Z=1;!(c.words[0]&Z)&&C<26;++C,Z<<=1);if(C>0)for(c.iushrn(C);C-- >0;)(v.isOdd()||_.isOdd())&&(v.iadd(d),_.isub(g)),v.iushrn(1),_.iushrn(1);for(var se=0,P=1;!(h.words[0]&P)&&se<26;++se,P<<=1);if(se>0)for(h.iushrn(se);se-- >0;)(I.isOdd()||M.isOdd())&&(I.iadd(d),M.isub(g)),I.iushrn(1),M.iushrn(1);c.cmp(h)>=0?(c.isub(h),v.isub(I),_.isub(M)):(h.isub(c),I.isub(v),M.isub(_))}return{a:I,b:M,gcd:h.iushln(S)}},a.prototype._invmp=function(m){i(m.negative===0),i(!m.isZero());var c=this,h=m.clone();c.negative!==0?c=c.umod(m):c=c.clone();for(var v=new a(1),_=new a(0),I=h.clone();c.cmpn(1)>0&&h.cmpn(1)>0;){for(var M=0,S=1;!(c.words[0]&S)&&M<26;++M,S<<=1);if(M>0)for(c.iushrn(M);M-- >0;)v.isOdd()&&v.iadd(I),v.iushrn(1);for(var d=0,g=1;!(h.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(h.iushrn(d);d-- >0;)_.isOdd()&&_.iadd(I),_.iushrn(1);c.cmp(h)>=0?(c.isub(h),v.isub(_)):(h.isub(c),_.isub(v))}var C;return c.cmpn(1)===0?C=v:C=_,C.cmpn(0)<0&&C.iadd(m),C},a.prototype.gcd=function(m){if(this.isZero())return m.abs();if(m.isZero())return this.abs();var c=this.clone(),h=m.clone();c.negative=0,h.negative=0;for(var v=0;c.isEven()&&h.isEven();v++)c.iushrn(1),h.iushrn(1);do{for(;c.isEven();)c.iushrn(1);for(;h.isEven();)h.iushrn(1);var _=c.cmp(h);if(_<0){var I=c;c=h,h=I}else if(_===0||h.cmpn(1)===0)break;c.isub(h)}while(!0);return h.iushln(v)},a.prototype.invm=function(m){return this.egcd(m).a.umod(m)},a.prototype.isEven=function(){return(this.words[0]&1)===0},a.prototype.isOdd=function(){return(this.words[0]&1)===1},a.prototype.andln=function(m){return this.words[0]&m},a.prototype.bincn=function(m){i(typeof m=="number");var c=m%26,h=(m-c)/26,v=1<<c;if(this.length<=h)return this._expand(h+1),this.words[h]|=v,this;for(var _=v,I=h;_!==0&&I<this.length;I++){var M=this.words[I]|0;M+=_,_=M>>>26,M&=67108863,this.words[I]=M}return _!==0&&(this.words[I]=_,this.length++),this},a.prototype.isZero=function(){return this.length===1&&this.words[0]===0},a.prototype.cmpn=function(m){var c=m<0;if(this.negative!==0&&!c)return-1;if(this.negative===0&&c)return 1;this.strip();var h;if(this.length>1)h=1;else{c&&(m=-m),i(m<=67108863,"Number is too big");var v=this.words[0]|0;h=v===m?0:v<m?-1:1}return this.negative!==0?-h|0:h},a.prototype.cmp=function(m){if(this.negative!==0&&m.negative===0)return-1;if(this.negative===0&&m.negative!==0)return 1;var c=this.ucmp(m);return this.negative!==0?-c|0:c},a.prototype.ucmp=function(m){if(this.length>m.length)return 1;if(this.length<m.length)return-1;for(var c=0,h=this.length-1;h>=0;h--){var v=this.words[h]|0,_=m.words[h]|0;if(v!==_){v<_?c=-1:v>_&&(c=1);break}}return c},a.prototype.gtn=function(m){return this.cmpn(m)===1},a.prototype.gt=function(m){return this.cmp(m)===1},a.prototype.gten=function(m){return this.cmpn(m)>=0},a.prototype.gte=function(m){return this.cmp(m)>=0},a.prototype.ltn=function(m){return this.cmpn(m)===-1},a.prototype.lt=function(m){return this.cmp(m)===-1},a.prototype.lten=function(m){return this.cmpn(m)<=0},a.prototype.lte=function(m){return this.cmp(m)<=0},a.prototype.eqn=function(m){return this.cmpn(m)===0},a.prototype.eq=function(m){return this.cmp(m)===0},a.red=function(m){return new ae(m)},a.prototype.toRed=function(m){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),m.convertTo(this)._forceRed(m)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(m){return this.red=m,this},a.prototype.forceRed=function(m){return i(!this.red,"Already a number in reduction context"),this._forceRed(m)},a.prototype.redAdd=function(m){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,m)},a.prototype.redIAdd=function(m){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,m)},a.prototype.redSub=function(m){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,m)},a.prototype.redISub=function(m){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,m)},a.prototype.redShl=function(m){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,m)},a.prototype.redMul=function(m){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,m),this.red.mul(this,m)},a.prototype.redIMul=function(m){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,m),this.red.imul(this,m)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(m){return i(this.red&&!m.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,m)};var Y={k256:null,p224:null,p192:null,p25519:null};function $(L,m){this.name=L,this.p=new a(m,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}$.prototype._tmp=function(){var m=new a(null);return m.words=new Array(Math.ceil(this.n/13)),m},$.prototype.ireduce=function(m){var c=m,h;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),h=c.bitLength();while(h>this.n);var v=h<this.n?-1:c.ucmp(this.p);return v===0?(c.words[0]=0,c.length=1):v>0?c.isub(this.p):c.strip!==void 0?c.strip():c._strip(),c},$.prototype.split=function(m,c){m.iushrn(this.n,0,c)},$.prototype.imulK=function(m){return m.imul(this.k)};function F(){$.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(F,$),F.prototype.split=function(m,c){for(var h=4194303,v=Math.min(m.length,9),_=0;_<v;_++)c.words[_]=m.words[_];if(c.length=v,m.length<=9){m.words[0]=0,m.length=1;return}var I=m.words[9];for(c.words[c.length++]=I&h,_=10;_<m.length;_++){var M=m.words[_]|0;m.words[_-10]=(M&h)<<4|I>>>22,I=M}I>>>=22,m.words[_-10]=I,I===0&&m.length>10?m.length-=10:m.length-=9},F.prototype.imulK=function(m){m.words[m.length]=0,m.words[m.length+1]=0,m.length+=2;for(var c=0,h=0;h<m.length;h++){var v=m.words[h]|0;c+=v*977,m.words[h]=c&67108863,c=v*64+(c/67108864|0)}return m.words[m.length-1]===0&&(m.length--,m.words[m.length-1]===0&&m.length--),m};function G(){$.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(G,$);function x(){$.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(x,$);function q(){$.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(q,$),q.prototype.imulK=function(m){for(var c=0,h=0;h<m.length;h++){var v=(m.words[h]|0)*19+c,_=v&67108863;v>>>=26,m.words[h]=_,c=v}return c!==0&&(m.words[m.length++]=c),m},a._prime=function(m){if(Y[m])return Y[m];var c;if(m==="k256")c=new F;else if(m==="p224")c=new G;else if(m==="p192")c=new x;else if(m==="p25519")c=new q;else throw new Error("Unknown prime "+m);return Y[m]=c,c};function ae(L){if(typeof L=="string"){var m=a._prime(L);this.m=m.p,this.prime=m}else i(L.gtn(1),"modulus must be greater than 1"),this.m=L,this.prime=null}ae.prototype._verify1=function(m){i(m.negative===0,"red works only with positives"),i(m.red,"red works only with red numbers")},ae.prototype._verify2=function(m,c){i((m.negative|c.negative)===0,"red works only with positives"),i(m.red&&m.red===c.red,"red works only with red numbers")},ae.prototype.imod=function(m){return this.prime?this.prime.ireduce(m)._forceRed(this):m.umod(this.m)._forceRed(this)},ae.prototype.neg=function(m){return m.isZero()?m.clone():this.m.sub(m)._forceRed(this)},ae.prototype.add=function(m,c){this._verify2(m,c);var h=m.add(c);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},ae.prototype.iadd=function(m,c){this._verify2(m,c);var h=m.iadd(c);return h.cmp(this.m)>=0&&h.isub(this.m),h},ae.prototype.sub=function(m,c){this._verify2(m,c);var h=m.sub(c);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},ae.prototype.isub=function(m,c){this._verify2(m,c);var h=m.isub(c);return h.cmpn(0)<0&&h.iadd(this.m),h},ae.prototype.shl=function(m,c){return this._verify1(m),this.imod(m.ushln(c))},ae.prototype.imul=function(m,c){return this._verify2(m,c),this.imod(m.imul(c))},ae.prototype.mul=function(m,c){return this._verify2(m,c),this.imod(m.mul(c))},ae.prototype.isqr=function(m){return this.imul(m,m.clone())},ae.prototype.sqr=function(m){return this.mul(m,m)},ae.prototype.sqrt=function(m){if(m.isZero())return m.clone();var c=this.m.andln(3);if(i(c%2===1),c===3){var h=this.m.add(new a(1)).iushrn(2);return this.pow(m,h)}for(var v=this.m.subn(1),_=0;!v.isZero()&&v.andln(1)===0;)_++,v.iushrn(1);i(!v.isZero());var I=new a(1).toRed(this),M=I.redNeg(),S=this.m.subn(1).iushrn(1),d=this.m.bitLength();for(d=new a(2*d*d).toRed(this);this.pow(d,S).cmp(M)!==0;)d.redIAdd(M);for(var g=this.pow(d,v),C=this.pow(m,v.addn(1).iushrn(1)),Z=this.pow(m,v),se=_;Z.cmp(I)!==0;){for(var P=Z,ee=0;P.cmp(I)!==0;ee++)P=P.redSqr();i(ee<se);var B=this.pow(g,new a(1).iushln(se-ee-1));C=C.redMul(B),g=B.redSqr(),Z=Z.redMul(g),se=ee}return C},ae.prototype.invm=function(m){var c=m._invmp(this.m);return c.negative!==0?(c.negative=0,this.imod(c).redNeg()):this.imod(c)},ae.prototype.pow=function(m,c){if(c.isZero())return new a(1).toRed(this);if(c.cmpn(1)===0)return m.clone();var h=4,v=new Array(1<<h);v[0]=new a(1).toRed(this),v[1]=m;for(var _=2;_<v.length;_++)v[_]=this.mul(v[_-1],m);var I=v[0],M=0,S=0,d=c.bitLength()%26;for(d===0&&(d=26),_=c.length-1;_>=0;_--){for(var g=c.words[_],C=d-1;C>=0;C--){var Z=g>>C&1;if(I!==v[0]&&(I=this.sqr(I)),Z===0&&M===0){S=0;continue}M<<=1,M|=Z,S++,!(S!==h&&(_!==0||C!==0))&&(I=this.mul(I,v[M]),S=0,M=0)}d=26}return I},ae.prototype.convertTo=function(m){var c=m.umod(this.m);return c===m?c.clone():c},ae.prototype.convertFrom=function(m){var c=m.clone();return c.red=null,c},a.mont=function(m){return new le(m)};function le(L){ae.call(this,L),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new a(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(le,ae),le.prototype.convertTo=function(m){return this.imod(m.ushln(this.shift))},le.prototype.convertFrom=function(m){var c=this.imod(m.mul(this.rinv));return c.red=null,c},le.prototype.imul=function(m,c){if(m.isZero()||c.isZero())return m.words[0]=0,m.length=1,m;var h=m.imul(c),v=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=h.isub(v).iushrn(this.shift),I=_;return _.cmp(this.m)>=0?I=_.isub(this.m):_.cmpn(0)<0&&(I=_.iadd(this.m)),I._forceRed(this)},le.prototype.mul=function(m,c){if(m.isZero()||c.isZero())return new a(0)._forceRed(this);var h=m.mul(c),v=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_=h.isub(v).iushrn(this.shift),I=_;return _.cmp(this.m)>=0?I=_.isub(this.m):_.cmpn(0)<0&&(I=_.iadd(this.m)),I._forceRed(this)},le.prototype.invm=function(m){var c=this.imod(m._invmp(this.m).mul(this.r2));return c._forceRed(this)}})(r,Dv)})(Cd);var vs=Cd.exports,ya=Xv;function Xv(r,e){if(!r)throw new Error(e||"Assertion failed")}Xv.equal=function(e,t,i){if(e!=t)throw new Error(i||"Assertion failed: "+e+" != "+t)};var Dd={};(function(r){var e=r;function t(a,f){if(Array.isArray(a))return a.slice();if(!a)return[];var u=[];if(typeof a!="string"){for(var b=0;b<a.length;b++)u[b]=a[b]|0;return u}if(f==="hex"){a=a.replace(/[^a-z0-9]+/ig,""),a.length%2!==0&&(a="0"+a);for(var b=0;b<a.length;b+=2)u.push(parseInt(a[b]+a[b+1],16))}else for(var b=0;b<a.length;b++){var p=a.charCodeAt(b),y=p>>8,A=p&255;y?u.push(y,A):u.push(A)}return u}e.toArray=t;function i(a){return a.length===1?"0"+a:a}e.zero2=i;function n(a){for(var f="",u=0;u<a.length;u++)f+=i(a[u].toString(16));return f}e.toHex=n,e.encode=function(f,u){return u==="hex"?n(f):f}})(Dd);(function(r){var e=r,t=vs,i=ya,n=Dd;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function a(y,A,R){var O=new Array(Math.max(y.bitLength(),R)+1),N;for(N=0;N<O.length;N+=1)O[N]=0;var K=1<<A+1,W=y.clone();for(N=0;N<O.length;N++){var Q,k=W.andln(K-1);W.isOdd()?(k>(K>>1)-1?Q=(K>>1)-k:Q=k,W.isubn(Q)):Q=0,O[N]=Q,W.iushrn(1)}return O}e.getNAF=a;function f(y,A){var R=[[],[]];y=y.clone(),A=A.clone();for(var O=0,N=0,K;y.cmpn(-O)>0||A.cmpn(-N)>0;){var W=y.andln(3)+O&3,Q=A.andln(3)+N&3;W===3&&(W=-1),Q===3&&(Q=-1);var k;W&1?(K=y.andln(7)+O&7,(K===3||K===5)&&Q===2?k=-W:k=W):k=0,R[0].push(k);var Y;Q&1?(K=A.andln(7)+N&7,(K===3||K===5)&&W===2?Y=-Q:Y=Q):Y=0,R[1].push(Y),2*O===k+1&&(O=1-O),2*N===Y+1&&(N=1-N),y.iushrn(1),A.iushrn(1)}return R}e.getJSF=f;function u(y,A,R){var O="_"+A;y.prototype[A]=function(){return this[O]!==void 0?this[O]:this[O]=R.call(this)}}e.cachedProperty=u;function b(y){return typeof y=="string"?e.toArray(y,"hex"):y}e.parseBytes=b;function p(y){return new t(y,"hex","le")}e.intFromLE=p})(xi);var Ld={exports:{}},fl;Ld.exports=function(e){return fl||(fl=new Ds(null)),fl.generate(e)};function Ds(r){this.rand=r}Ld.exports.Rand=Ds;Ds.prototype.generate=function(e){return this._rand(e)};Ds.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};if(typeof self=="object")self.crypto&&self.crypto.getRandomValues?Ds.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?Ds.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:typeof window=="object"&&(Ds.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var w1=Md;if(typeof w1.randomBytes!="function")throw new Error("Not supported");Ds.prototype._rand=function(e){return w1.randomBytes(e)}}catch{}var Zv=Ld.exports,qd={},ia=vs,Ec=xi,ch=Ec.getNAF,B_=Ec.getJSF,fh=Ec.assert;function zs(r,e){this.type=r,this.p=new ia(e.p,16),this.red=e.prime?ia.red(e.prime):ia.mont(this.p),this.zero=new ia(0).toRed(this.red),this.one=new ia(1).toRed(this.red),this.two=new ia(2).toRed(this.red),this.n=e.n&&new ia(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 Nh=zs;zs.prototype.point=function(){throw new Error("Not implemented")};zs.prototype.validate=function(){throw new Error("Not implemented")};zs.prototype._fixedNafMul=function(e,t){fh(e.precomputed);var i=e._getDoubles(),n=ch(t,1,this._bitLength),a=(1<<i.step+1)-(i.step%2===0?2:1);a/=3;var f=[],u,b;for(u=0;u<n.length;u+=i.step){b=0;for(var p=u+i.step-1;p>=u;p--)b=(b<<1)+n[p];f.push(b)}for(var y=this.jpoint(null,null,null),A=this.jpoint(null,null,null),R=a;R>0;R--){for(u=0;u<f.length;u++)b=f[u],b===R?A=A.mixedAdd(i.points[u]):b===-R&&(A=A.mixedAdd(i.points[u].neg()));y=y.add(A)}return y.toP()};zs.prototype._wnafMul=function(e,t){var i=4,n=e._getNAFPoints(i);i=n.wnd;for(var a=n.points,f=ch(t,i,this._bitLength),u=this.jpoint(null,null,null),b=f.length-1;b>=0;b--){for(var p=0;b>=0&&f[b]===0;b--)p++;if(b>=0&&p++,u=u.dblp(p),b<0)break;var y=f[b];fh(y!==0),e.type==="affine"?y>0?u=u.mixedAdd(a[y-1>>1]):u=u.mixedAdd(a[-y-1>>1].neg()):y>0?u=u.add(a[y-1>>1]):u=u.add(a[-y-1>>1].neg())}return e.type==="affine"?u.toP():u};zs.prototype._wnafMulAdd=function(e,t,i,n,a){var f=this._wnafT1,u=this._wnafT2,b=this._wnafT3,p=0,y,A,R;for(y=0;y<n;y++){R=t[y];var O=R._getNAFPoints(e);f[y]=O.wnd,u[y]=O.points}for(y=n-1;y>=1;y-=2){var N=y-1,K=y;if(f[N]!==1||f[K]!==1){b[N]=ch(i[N],f[N],this._bitLength),b[K]=ch(i[K],f[K],this._bitLength),p=Math.max(b[N].length,p),p=Math.max(b[K].length,p);continue}var W=[t[N],null,null,t[K]];t[N].y.cmp(t[K].y)===0?(W[1]=t[N].add(t[K]),W[2]=t[N].toJ().mixedAdd(t[K].neg())):t[N].y.cmp(t[K].y.redNeg())===0?(W[1]=t[N].toJ().mixedAdd(t[K]),W[2]=t[N].add(t[K].neg())):(W[1]=t[N].toJ().mixedAdd(t[K]),W[2]=t[N].toJ().mixedAdd(t[K].neg()));var Q=[-3,-1,-5,-7,0,7,5,1,3],k=B_(i[N],i[K]);for(p=Math.max(k[0].length,p),b[N]=new Array(p),b[K]=new Array(p),A=0;A<p;A++){var Y=k[0][A]|0,$=k[1][A]|0;b[N][A]=Q[(Y+1)*3+($+1)],b[K][A]=0,u[N]=W}}var F=this.jpoint(null,null,null),G=this._wnafT4;for(y=p;y>=0;y--){for(var x=0;y>=0;){var q=!0;for(A=0;A<n;A++)G[A]=b[A][y]|0,G[A]!==0&&(q=!1);if(!q)break;x++,y--}if(y>=0&&x++,F=F.dblp(x),y<0)break;for(A=0;A<n;A++){var ae=G[A];ae!==0&&(ae>0?R=u[A][ae-1>>1]:ae<0&&(R=u[A][-ae-1>>1].neg()),R.type==="affine"?F=F.mixedAdd(R):F=F.add(R))}}for(y=0;y<n;y++)u[y]=null;return a?F:F.toP()};function Hi(r,e){this.curve=r,this.type=e,this.precomputed=null}zs.BasePoint=Hi;Hi.prototype.eq=function(){throw new Error("Not implemented")};Hi.prototype.validate=function(){return this.curve.validate(this)};zs.prototype.decodePoint=function(e,t){e=Ec.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?fh(e[e.length-1]%2===0):e[0]===7&&fh(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")};Hi.prototype.encodeCompressed=function(e){return this.encode(e,!0)};Hi.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))};Hi.prototype.encode=function(e,t){return Ec.encode(this._encode(t),e)};Hi.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};Hi.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};Hi.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var i=[this],n=this,a=0;a<t;a+=e){for(var f=0;f<e;f++)n=n.dbl();i.push(n)}return{step:e,points:i}};Hi.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(),a=1;a<i;a++)t[a]=t[a-1].add(n);return{wnd:e,points:t}};Hi.prototype._getBeta=function(){return null};Hi.prototype.dblp=function(e){for(var t=this,i=0;i<e;i++)t=t.dbl();return t};var U_=xi,nr=vs,Bd=xh,fo=Nh,$_=U_.assert;function Ki(r){fo.call(this,"short",r),this.a=new nr(r.a,16).toRed(this.red),this.b=new nr(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)}Bd(Ki,fo);var z_=Ki;Ki.prototype._getEndomorphism=function(e){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var t,i;if(e.beta)t=new nr(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 nr(e.lambda,16);else{var a=this._getEndoRoots(this.n);this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0?i=a[0]:(i=a[1],$_(this.g.mul(i).x.cmp(this.g.x.redMul(t))===0))}var f;return e.basis?f=e.basis.map(function(u){return{a:new nr(u.a,16),b:new nr(u.b,16)}}):f=this._getEndoBasis(i),{beta:t,lambda:i,basis:f}}};Ki.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:nr.mont(e),i=new nr(2).toRed(t).redInvm(),n=i.redNeg(),a=new nr(3).toRed(t).redNeg().redSqrt().redMul(i),f=n.redAdd(a).fromRed(),u=n.redSub(a).fromRed();return[f,u]};Ki.prototype._getEndoBasis=function(e){for(var t=this.n.ushrn(Math.floor(this.n.bitLength()/2)),i=e,n=this.n.clone(),a=new nr(1),f=new nr(0),u=new nr(0),b=new nr(1),p,y,A,R,O,N,K,W=0,Q,k;i.cmpn(0)!==0;){var Y=n.div(i);Q=n.sub(Y.mul(i)),k=u.sub(Y.mul(a));var $=b.sub(Y.mul(f));if(!A&&Q.cmp(t)<0)p=K.neg(),y=a,A=Q.neg(),R=k;else if(A&&++W===2)break;K=Q,n=i,i=Q,u=a,a=k,b=f,f=$}O=Q.neg(),N=k;var F=A.sqr().add(R.sqr()),G=O.sqr().add(N.sqr());return G.cmp(F)>=0&&(O=p,N=y),A.negative&&(A=A.neg(),R=R.neg()),O.negative&&(O=O.neg(),N=N.neg()),[{a:A,b:R},{a:O,b:N}]};Ki.prototype._endoSplit=function(e){var t=this.endo.basis,i=t[0],n=t[1],a=n.b.mul(e).divRound(this.n),f=i.b.neg().mul(e).divRound(this.n),u=a.mul(i.a),b=f.mul(n.a),p=a.mul(i.b),y=f.mul(n.b),A=e.sub(u).sub(b),R=p.add(y).neg();return{k1:A,k2:R}};Ki.prototype.pointFromX=function(e,t){e=new nr(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 a=n.fromRed().isOdd();return(t&&!a||!t&&a)&&(n=n.redNeg()),this.point(e,n)};Ki.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,i=e.y,n=this.a.redMul(t),a=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return i.redSqr().redISub(a).cmpn(0)===0};Ki.prototype._endoWnafMulAdd=function(e,t,i){for(var n=this._endoWnafT1,a=this._endoWnafT2,f=0;f<e.length;f++){var u=this._endoSplit(t[f]),b=e[f],p=b._getBeta();u.k1.negative&&(u.k1.ineg(),b=b.neg(!0)),u.k2.negative&&(u.k2.ineg(),p=p.neg(!0)),n[f*2]=b,n[f*2+1]=p,a[f*2]=u.k1,a[f*2+1]=u.k2}for(var y=this._wnafMulAdd(1,n,a,f*2,i),A=0;A<f*2;A++)n[A]=null,a[A]=null;return y};function Ir(r,e,t,i){fo.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new nr(e,16),this.y=new nr(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)}Bd(Ir,fo.BasePoint);Ki.prototype.point=function(e,t,i){return new Ir(this,e,t,i)};Ki.prototype.pointFromJSON=function(e,t){return Ir.fromJSON(this,e,t)};Ir.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(a){return i.point(a.x.redMul(i.endo.beta),a.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}};Ir.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]};Ir.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 a(u){return e.point(u[0],u[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(a))},naf:f.naf&&{wnd:f.naf.wnd,points:[n].concat(f.naf.points.map(a))}},n};Ir.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)+">"};Ir.prototype.isInfinity=function(){return this.inf};Ir.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)};Ir.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(),a=i.redAdd(i).redIAdd(i).redIAdd(t).redMul(n),f=a.redSqr().redISub(this.x.redAdd(this.x)),u=a.redMul(this.x.redSub(f)).redISub(this.y);return this.curve.point(f,u)};Ir.prototype.getX=function(){return this.x.fromRed()};Ir.prototype.getY=function(){return this.y.fromRed()};Ir.prototype.mul=function(e){return e=new nr(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)};Ir.prototype.mulAdd=function(e,t,i){var n=[this,t],a=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,a):this.curve._wnafMulAdd(1,n,a,2)};Ir.prototype.jmulAdd=function(e,t,i){var n=[this,t],a=[e,i];return this.curve.endo?this.curve._endoWnafMulAdd(n,a,!0):this.curve._wnafMulAdd(1,n,a,2,!0)};Ir.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)};Ir.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(a){return a.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};Ir.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 Rr(r,e,t,i){fo.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new nr(0)):(this.x=new nr(e,16),this.y=new nr(t,16),this.z=new nr(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}Bd(Rr,fo.BasePoint);Ki.prototype.jpoint=function(e,t,i){return new Rr(this,e,t,i)};Rr.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)};Rr.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};Rr.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),a=e.x.redMul(i),f=this.y.redMul(t.redMul(e.z)),u=e.y.redMul(i.redMul(this.z)),b=n.redSub(a),p=f.redSub(u);if(b.cmpn(0)===0)return p.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var y=b.redSqr(),A=y.redMul(b),R=n.redMul(y),O=p.redSqr().redIAdd(A).redISub(R).redISub(R),N=p.redMul(R.redISub(O)).redISub(f.redMul(A)),K=this.z.redMul(e.z).redMul(b);return this.curve.jpoint(O,N,K)};Rr.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),a=this.y,f=e.y.redMul(t).redMul(this.z),u=i.redSub(n),b=a.redSub(f);if(u.cmpn(0)===0)return b.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var p=u.redSqr(),y=p.redMul(u),A=i.redMul(p),R=b.redSqr().redIAdd(y).redISub(A).redISub(A),O=b.redMul(A.redISub(R)).redISub(a.redMul(y)),N=this.z.redMul(u);return this.curve.jpoint(R,O,N)};Rr.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,a=this.curve.tinv,f=this.x,u=this.y,b=this.z,p=b.redSqr().redSqr(),y=u.redAdd(u);for(t=0;t<e;t++){var A=f.redSqr(),R=y.redSqr(),O=R.redSqr(),N=A.redAdd(A).redIAdd(A).redIAdd(n.redMul(p)),K=f.redMul(R),W=N.redSqr().redISub(K.redAdd(K)),Q=K.redISub(W),k=N.redMul(Q);k=k.redIAdd(k).redISub(O);var Y=y.redMul(b);t+1<e&&(p=p.redMul(O)),f=W,b=Y,y=k}return this.curve.jpoint(f,y.redMul(a),b)};Rr.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()};Rr.prototype._zeroDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),f=a.redSqr(),u=this.x.redAdd(a).redSqr().redISub(n).redISub(f);u=u.redIAdd(u);var b=n.redAdd(n).redIAdd(n),p=b.redSqr().redISub(u).redISub(u),y=f.redIAdd(f);y=y.redIAdd(y),y=y.redIAdd(y),e=p,t=b.redMul(u.redISub(p)).redISub(y),i=this.y.redAdd(this.y)}else{var A=this.x.redSqr(),R=this.y.redSqr(),O=R.redSqr(),N=this.x.redAdd(R).redSqr().redISub(A).redISub(O);N=N.redIAdd(N);var K=A.redAdd(A).redIAdd(A),W=K.redSqr(),Q=O.redIAdd(O);Q=Q.redIAdd(Q),Q=Q.redIAdd(Q),e=W.redISub(N).redISub(N),t=K.redMul(N.redISub(e)).redISub(Q),i=this.y.redMul(this.z),i=i.redIAdd(i)}return this.curve.jpoint(e,t,i)};Rr.prototype._threeDbl=function(){var e,t,i;if(this.zOne){var n=this.x.redSqr(),a=this.y.redSqr(),f=a.redSqr(),u=this.x.redAdd(a).redSqr().redISub(n).redISub(f);u=u.redIAdd(u);var b=n.redAdd(n).redIAdd(n).redIAdd(this.curve.a),p=b.redSqr().redISub(u).redISub(u);e=p;var y=f.redIAdd(f);y=y.redIAdd(y),y=y.redIAdd(y),t=b.redMul(u.redISub(p)).redISub(y),i=this.y.redAdd(this.y)}else{var A=this.z.redSqr(),R=this.y.redSqr(),O=this.x.redMul(R),N=this.x.redSub(A).redMul(this.x.redAdd(A));N=N.redAdd(N).redIAdd(N);var K=O.redIAdd(O);K=K.redIAdd(K);var W=K.redAdd(K);e=N.redSqr().redISub(W),i=this.y.redAdd(this.z).redSqr().redISub(R).redISub(A);var Q=R.redSqr();Q=Q.redIAdd(Q),Q=Q.redIAdd(Q),Q=Q.redIAdd(Q),t=N.redMul(K.redISub(e)).redISub(Q)}return this.curve.jpoint(e,t,i)};Rr.prototype._dbl=function(){var e=this.curve.a,t=this.x,i=this.y,n=this.z,a=n.redSqr().redSqr(),f=t.redSqr(),u=i.redSqr(),b=f.redAdd(f).redIAdd(f).redIAdd(e.redMul(a)),p=t.redAdd(t);p=p.redIAdd(p);var y=p.redMul(u),A=b.redSqr().redISub(y.redAdd(y)),R=y.redISub(A),O=u.redSqr();O=O.redIAdd(O),O=O.redIAdd(O),O=O.redIAdd(O);var N=b.redMul(R).redISub(O),K=i.redAdd(i).redMul(n);return this.curve.jpoint(A,N,K)};Rr.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(),a=e.redAdd(e).redIAdd(e),f=a.redSqr(),u=this.x.redAdd(t).redSqr().redISub(e).redISub(n);u=u.redIAdd(u),u=u.redAdd(u).redIAdd(u),u=u.redISub(f);var b=u.redSqr(),p=n.redIAdd(n);p=p.redIAdd(p),p=p.redIAdd(p),p=p.redIAdd(p);var y=a.redIAdd(u).redSqr().redISub(f).redISub(b).redISub(p),A=t.redMul(y);A=A.redIAdd(A),A=A.redIAdd(A);var R=this.x.redMul(b).redISub(A);R=R.redIAdd(R),R=R.redIAdd(R);var O=this.y.redMul(y.redMul(p.redISub(y)).redISub(u.redMul(b)));O=O.redIAdd(O),O=O.redIAdd(O),O=O.redIAdd(O);var N=this.z.redAdd(u).redSqr().redISub(i).redISub(b);return this.curve.jpoint(R,O,N)};Rr.prototype.mul=function(e,t){return e=new nr(e,t),this.curve._wnafMul(this,e)};Rr.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),a=i.redMul(e.z);return this.y.redMul(a).redISub(e.y.redMul(n)).cmpn(0)===0};Rr.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(),a=this.curve.redN.redMul(t);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(i.redIAdd(a),this.x.cmp(i)===0)return!0}};Rr.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)+">"};Rr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Xa=vs,eb=xh,Th=Nh,j_=xi;function ho(r){Th.call(this,"mont",r),this.a=new Xa(r.a,16).toRed(this.red),this.b=new Xa(r.b,16).toRed(this.red),this.i4=new Xa(4).toRed(this.red).redInvm(),this.two=new Xa(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}eb(ho,Th);var k_=ho;ho.prototype.validate=function(e){var t=e.normalize().x,i=t.redSqr(),n=i.redMul(t).redAdd(i.redMul(this.a)).redAdd(t),a=n.redSqrt();return a.redSqr().cmp(n)===0};function Sr(r,e,t){Th.BasePoint.call(this,r,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Xa(e,16),this.z=new Xa(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}eb(Sr,Th.BasePoint);ho.prototype.decodePoint=function(e,t){return this.point(j_.toArray(e,t),1)};ho.prototype.point=function(e,t){return new Sr(this,e,t)};ho.prototype.pointFromJSON=function(e){return Sr.fromJSON(this,e)};Sr.prototype.precompute=function(){};Sr.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())};Sr.fromJSON=function(e,t){return new Sr(e,t[0],t[1]||e.one)};Sr.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)+">"};Sr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};Sr.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),i=this.x.redSub(this.z),n=i.redSqr(),a=t.redSub(n),f=t.redMul(n),u=a.redMul(n.redAdd(this.curve.a24.redMul(a)));return this.curve.point(f,u)};Sr.prototype.add=function(){throw new Error("Not supported on Montgomery curve")};Sr.prototype.diffAdd=function(e,t){var i=this.x.redAdd(this.z),n=this.x.redSub(this.z),a=e.x.redAdd(e.z),f=e.x.redSub(e.z),u=f.redMul(i),b=a.redMul(n),p=t.z.redMul(u.redAdd(b).redSqr()),y=t.x.redMul(u.redISub(b).redSqr());return this.curve.point(p,y)};Sr.prototype.mul=function(e){for(var t=e.clone(),i=this,n=this.curve.point(null,null),a=this,f=[];t.cmpn(0)!==0;t.iushrn(1))f.push(t.andln(1));for(var u=f.length-1;u>=0;u--)f[u]===0?(i=i.diffAdd(n,a),n=n.dbl()):(n=i.diffAdd(n,a),i=i.dbl());return n};Sr.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")};Sr.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")};Sr.prototype.eq=function(e){return this.getX().cmp(e.getX())===0};Sr.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};Sr.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var F_=xi,us=vs,tb=xh,Ch=Nh,H_=F_.assert;function Fn(r){this.twisted=(r.a|0)!==1,this.mOneA=this.twisted&&(r.a|0)===-1,this.extended=this.mOneA,Ch.call(this,"edwards",r),this.a=new us(r.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new us(r.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new us(r.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),H_(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(r.c|0)===1}tb(Fn,Ch);var K_=Fn;Fn.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)};Fn.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)};Fn.prototype.jpoint=function(e,t,i,n){return this.point(e,t,i,n)};Fn.prototype.pointFromX=function(e,t){e=new us(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=this.c2.redSub(this.a.redMul(i)),a=this.one.redSub(this.c2.redMul(this.d).redMul(i)),f=n.redMul(a.redInvm()),u=f.redSqrt();if(u.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");var b=u.fromRed().isOdd();return(t&&!b||!t&&b)&&(u=u.redNeg()),this.point(e,u)};Fn.prototype.pointFromY=function(e,t){e=new us(e,16),e.red||(e=e.toRed(this.red));var i=e.redSqr(),n=i.redSub(this.c2),a=i.redMul(this.d).redMul(this.c2).redSub(this.a),f=n.redMul(a.redInvm());if(f.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var u=f.redSqrt();if(u.redSqr().redSub(f).cmp(this.zero)!==0)throw new Error("invalid point");return u.fromRed().isOdd()!==t&&(u=u.redNeg()),this.point(u,e)};Fn.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),a=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(i)));return n.cmp(a)===0};function Wt(r,e,t,i,n){Ch.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 us(e,16),this.y=new us(t,16),this.z=i?new us(i,16):this.curve.one,this.t=n&&new us(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()))))}tb(Wt,Ch.BasePoint);Fn.prototype.pointFromJSON=function(e){return Wt.fromJSON(this,e)};Fn.prototype.point=function(e,t,i,n){return new Wt(this,e,t,i,n)};Wt.fromJSON=function(e,t){return new Wt(e,t[0],t[1],t[2])};Wt.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)+">"};Wt.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Wt.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),a=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),f=n.redAdd(t),u=f.redSub(i),b=n.redSub(t),p=a.redMul(u),y=f.redMul(b),A=a.redMul(b),R=u.redMul(f);return this.curve.point(p,y,R,A)};Wt.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),i=this.y.redSqr(),n,a,f,u,b,p;if(this.curve.twisted){u=this.curve._mulA(t);var y=u.redAdd(i);this.zOne?(n=e.redSub(t).redSub(i).redMul(y.redSub(this.curve.two)),a=y.redMul(u.redSub(i)),f=y.redSqr().redSub(y).redSub(y)):(b=this.z.redSqr(),p=y.redSub(b).redISub(b),n=e.redSub(t).redISub(i).redMul(p),a=y.redMul(u.redSub(i)),f=y.redMul(p))}else u=t.redAdd(i),b=this.curve._mulC(this.z).redSqr(),p=u.redSub(b).redSub(b),n=this.curve._mulC(e.redISub(u)).redMul(p),a=this.curve._mulC(u).redMul(t.redISub(i)),f=u.redMul(p);return this.curve.point(n,a,f)};Wt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()};Wt.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),a=this.z.redMul(e.z.redAdd(e.z)),f=i.redSub(t),u=a.redSub(n),b=a.redAdd(n),p=i.redAdd(t),y=f.redMul(u),A=b.redMul(p),R=f.redMul(p),O=u.redMul(b);return this.curve.point(y,A,O,R)};Wt.prototype._projAdd=function(e){var t=this.z.redMul(e.z),i=t.redSqr(),n=this.x.redMul(e.x),a=this.y.redMul(e.y),f=this.curve.d.redMul(n).redMul(a),u=i.redSub(f),b=i.redAdd(f),p=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(n).redISub(a),y=t.redMul(u).redMul(p),A,R;return this.curve.twisted?(A=t.redMul(b).redMul(a.redSub(this.curve._mulA(n))),R=u.redMul(b)):(A=t.redMul(b).redMul(a.redSub(n)),R=this.curve._mulC(u).redMul(b)),this.curve.point(y,A,R)};Wt.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)};Wt.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)};Wt.prototype.mulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!1)};Wt.prototype.jmulAdd=function(e,t,i){return this.curve._wnafMulAdd(1,[this,t],[e,i],2,!0)};Wt.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};Wt.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Wt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};Wt.prototype.getY=function(){return this.normalize(),this.y.fromRed()};Wt.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};Wt.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}};Wt.prototype.toP=Wt.prototype.normalize;Wt.prototype.mixedAdd=Wt.prototype.add;(function(r){var e=r;e.base=Nh,e.short=z_,e.mont=k_,e.edwards=K_})(qd);var Dh={},Lh={},Ot={},V_=ya,G_=xh;Ot.inherits=G_;function W_(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function J_(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 a=r.charCodeAt(n);a<128?t[i++]=a:a<2048?(t[i++]=a>>6|192,t[i++]=a&63|128):W_(r,n)?(a=65536+((a&1023)<<10)+(r.charCodeAt(++n)&1023),t[i++]=a>>18|240,t[i++]=a>>12&63|128,t[i++]=a>>6&63|128,t[i++]=a&63|128):(t[i++]=a>>12|224,t[i++]=a>>6&63|128,t[i++]=a&63|128)}else for(n=0;n<r.length;n++)t[n]=r[n]|0;return t}Ot.toArray=J_;function Y_(r){for(var e="",t=0;t<r.length;t++)e+=ib(r[t].toString(16));return e}Ot.toHex=Y_;function rb(r){var e=r>>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}Ot.htonl=rb;function Q_(r,e){for(var t="",i=0;i<r.length;i++){var n=r[i];e==="little"&&(n=rb(n)),t+=nb(n.toString(16))}return t}Ot.toHex32=Q_;function ib(r){return r.length===1?"0"+r:r}Ot.zero2=ib;function nb(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=nb;function X_(r,e,t,i){var n=t-e;V_(n%4===0);for(var a=new Array(n/4),f=0,u=e;f<a.length;f++,u+=4){var b;i==="big"?b=r[u]<<24|r[u+1]<<16|r[u+2]<<8|r[u+3]:b=r[u+3]<<24|r[u+2]<<16|r[u+1]<<8|r[u],a[f]=b>>>0}return a}Ot.join32=X_;function Z_(r,e){for(var t=new Array(r.length*4),i=0,n=0;i<r.length;i++,n+=4){var a=r[i];e==="big"?(t[n]=a>>>24,t[n+1]=a>>>16&255,t[n+2]=a>>>8&255,t[n+3]=a&255):(t[n+3]=a>>>24,t[n+2]=a>>>16&255,t[n+1]=a>>>8&255,t[n]=a&255)}return t}Ot.split32=Z_;function e7(r,e){return r>>>e|r<<32-e}Ot.rotr32=e7;function t7(r,e){return r<<e|r>>>32-e}Ot.rotl32=t7;function r7(r,e){return r+e>>>0}Ot.sum32=r7;function i7(r,e,t){return r+e+t>>>0}Ot.sum32_3=i7;function n7(r,e,t,i){return r+e+t+i>>>0}Ot.sum32_4=n7;function s7(r,e,t,i,n){return r+e+t+i+n>>>0}Ot.sum32_5=s7;function a7(r,e,t,i){var n=r[e],a=r[e+1],f=i+a>>>0,u=(f<i?1:0)+t+n;r[e]=u>>>0,r[e+1]=f}Ot.sum64=a7;function o7(r,e,t,i){var n=e+i>>>0,a=(n<e?1:0)+r+t;return a>>>0}Ot.sum64_hi=o7;function c7(r,e,t,i){var n=e+i;return n>>>0}Ot.sum64_lo=c7;function f7(r,e,t,i,n,a,f,u){var b=0,p=e;p=p+i>>>0,b+=p<e?1:0,p=p+a>>>0,b+=p<a?1:0,p=p+u>>>0,b+=p<u?1:0;var y=r+t+n+f+b;return y>>>0}Ot.sum64_4_hi=f7;function h7(r,e,t,i,n,a,f,u){var b=e+i+a+u;return b>>>0}Ot.sum64_4_lo=h7;function u7(r,e,t,i,n,a,f,u,b,p){var y=0,A=e;A=A+i>>>0,y+=A<e?1:0,A=A+a>>>0,y+=A<a?1:0,A=A+u>>>0,y+=A<u?1:0,A=A+p>>>0,y+=A<p?1:0;var R=r+t+n+f+b+y;return R>>>0}Ot.sum64_5_hi=u7;function l7(r,e,t,i,n,a,f,u,b,p){var y=e+i+a+u+p;return y>>>0}Ot.sum64_5_lo=l7;function d7(r,e,t){var i=e<<32-t|r>>>t;return i>>>0}Ot.rotr64_hi=d7;function p7(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Ot.rotr64_lo=p7;function g7(r,e,t){return r>>>t}Ot.shr64_hi=g7;function v7(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Ot.shr64_lo=v7;var uo={},_1=Ot,b7=ya;function qh(){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}uo.BlockHash=qh;qh.prototype.update=function(e,t){if(e=_1.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=_1.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};qh.prototype.digest=function(e){return this.update(this._pad()),b7(this.pending===null),this._digest(e)};qh.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 a=1;a<i;a++)n[a]=0;if(e<<=3,this.endian==="big"){for(var f=8;f<this.padLength;f++)n[a++]=0;n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=e>>>24&255,n[a++]=e>>>16&255,n[a++]=e>>>8&255,n[a++]=e&255}else for(n[a++]=e&255,n[a++]=e>>>8&255,n[a++]=e>>>16&255,n[a++]=e>>>24&255,n[a++]=0,n[a++]=0,n[a++]=0,n[a++]=0,f=8;f<this.padLength;f++)n[a++]=0;return n};var lo={},Hn={},m7=Ot,Rn=m7.rotr32;function y7(r,e,t,i){if(r===0)return sb(e,t,i);if(r===1||r===3)return ob(e,t,i);if(r===2)return ab(e,t,i)}Hn.ft_1=y7;function sb(r,e,t){return r&e^~r&t}Hn.ch32=sb;function ab(r,e,t){return r&e^r&t^e&t}Hn.maj32=ab;function ob(r,e,t){return r^e^t}Hn.p32=ob;function w7(r){return Rn(r,2)^Rn(r,13)^Rn(r,22)}Hn.s0_256=w7;function _7(r){return Rn(r,6)^Rn(r,11)^Rn(r,25)}Hn.s1_256=_7;function A7(r){return Rn(r,7)^Rn(r,18)^r>>>3}Hn.g0_256=A7;function E7(r){return Rn(r,17)^Rn(r,19)^r>>>10}Hn.g1_256=E7;var ro=Ot,x7=uo,S7=Hn,hl=ro.rotl32,Ko=ro.sum32,I7=ro.sum32_5,M7=S7.ft_1,cb=x7.BlockHash,P7=[1518500249,1859775393,2400959708,3395469782];function Un(){if(!(this instanceof Un))return new Un;cb.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}ro.inherits(Un,cb);var O7=Un;Un.blockSize=512;Un.outSize=160;Un.hmacStrength=80;Un.padLength=64;Un.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]=hl(i[n-3]^i[n-8]^i[n-14]^i[n-16],1);var a=this.h[0],f=this.h[1],u=this.h[2],b=this.h[3],p=this.h[4];for(n=0;n<i.length;n++){var y=~~(n/20),A=I7(hl(a,5),M7(y,f,u,b),p,i[n],P7[y]);p=b,b=u,u=hl(f,30),f=a,a=A}this.h[0]=Ko(this.h[0],a),this.h[1]=Ko(this.h[1],f),this.h[2]=Ko(this.h[2],u),this.h[3]=Ko(this.h[3],b),this.h[4]=Ko(this.h[4],p)};Un.prototype._digest=function(e){return e==="hex"?ro.toHex32(this.h,"big"):ro.split32(this.h,"big")};var io=Ot,R7=uo,po=Hn,N7=ya,nn=io.sum32,T7=io.sum32_4,C7=io.sum32_5,D7=po.ch32,L7=po.maj32,q7=po.s0_256,B7=po.s1_256,U7=po.g0_256,$7=po.g1_256,fb=R7.BlockHash,z7=[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 $n(){if(!(this instanceof $n))return new $n;fb.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=z7,this.W=new Array(64)}io.inherits($n,fb);var hb=$n;$n.blockSize=512;$n.outSize=256;$n.hmacStrength=192;$n.padLength=64;$n.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]=T7($7(i[n-2]),i[n-7],U7(i[n-15]),i[n-16]);var a=this.h[0],f=this.h[1],u=this.h[2],b=this.h[3],p=this.h[4],y=this.h[5],A=this.h[6],R=this.h[7];for(N7(this.k.length===i.length),n=0;n<i.length;n++){var O=C7(R,B7(p),D7(p,y,A),this.k[n],i[n]),N=nn(q7(a),L7(a,f,u));R=A,A=y,y=p,p=nn(b,O),b=u,u=f,f=a,a=nn(O,N)}this.h[0]=nn(this.h[0],a),this.h[1]=nn(this.h[1],f),this.h[2]=nn(this.h[2],u),this.h[3]=nn(this.h[3],b),this.h[4]=nn(this.h[4],p),this.h[5]=nn(this.h[5],y),this.h[6]=nn(this.h[6],A),this.h[7]=nn(this.h[7],R)};$n.prototype._digest=function(e){return e==="hex"?io.toHex32(this.h,"big"):io.split32(this.h,"big")};var td=Ot,ub=hb;function ds(){if(!(this instanceof ds))return new ds;ub.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}td.inherits(ds,ub);var j7=ds;ds.blockSize=512;ds.outSize=224;ds.hmacStrength=192;ds.padLength=64;ds.prototype._digest=function(e){return e==="hex"?td.toHex32(this.h.slice(0,7),"big"):td.split32(this.h.slice(0,7),"big")};var hi=Ot,k7=uo,F7=ya,Nn=hi.rotr64_hi,Tn=hi.rotr64_lo,lb=hi.shr64_hi,db=hi.shr64_lo,Ms=hi.sum64,ul=hi.sum64_hi,ll=hi.sum64_lo,H7=hi.sum64_4_hi,K7=hi.sum64_4_lo,V7=hi.sum64_5_hi,G7=hi.sum64_5_lo,pb=k7.BlockHash,W7=[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 ln(){if(!(this instanceof ln))return new ln;pb.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=W7,this.W=new Array(160)}hi.inherits(ln,pb);var gb=ln;ln.blockSize=1024;ln.outSize=512;ln.hmacStrength=192;ln.padLength=128;ln.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 a=s9(i[n-4],i[n-3]),f=a9(i[n-4],i[n-3]),u=i[n-14],b=i[n-13],p=i9(i[n-30],i[n-29]),y=n9(i[n-30],i[n-29]),A=i[n-32],R=i[n-31];i[n]=H7(a,f,u,b,p,y,A,R),i[n+1]=K7(a,f,u,b,p,y,A,R)}};ln.prototype._update=function(e,t){this._prepareBlock(e,t);var i=this.W,n=this.h[0],a=this.h[1],f=this.h[2],u=this.h[3],b=this.h[4],p=this.h[5],y=this.h[6],A=this.h[7],R=this.h[8],O=this.h[9],N=this.h[10],K=this.h[11],W=this.h[12],Q=this.h[13],k=this.h[14],Y=this.h[15];F7(this.k.length===i.length);for(var $=0;$<i.length;$+=2){var F=k,G=Y,x=t9(R,O),q=r9(R,O),ae=J7(R,O,N,K,W),le=Y7(R,O,N,K,W,Q),L=this.k[$],m=this.k[$+1],c=i[$],h=i[$+1],v=V7(F,G,x,q,ae,le,L,m,c,h),_=G7(F,G,x,q,ae,le,L,m,c,h);F=Z7(n,a),G=e9(n,a),x=Q7(n,a,f,u,b),q=X7(n,a,f,u,b,p);var I=ul(F,G,x,q),M=ll(F,G,x,q);k=W,Y=Q,W=N,Q=K,N=R,K=O,R=ul(y,A,v,_),O=ll(A,A,v,_),y=b,A=p,b=f,p=u,f=n,u=a,n=ul(v,_,I,M),a=ll(v,_,I,M)}Ms(this.h,0,n,a),Ms(this.h,2,f,u),Ms(this.h,4,b,p),Ms(this.h,6,y,A),Ms(this.h,8,R,O),Ms(this.h,10,N,K),Ms(this.h,12,W,Q),Ms(this.h,14,k,Y)};ln.prototype._digest=function(e){return e==="hex"?hi.toHex32(this.h,"big"):hi.split32(this.h,"big")};function J7(r,e,t,i,n){var a=r&t^~r&n;return a<0&&(a+=4294967296),a}function Y7(r,e,t,i,n,a){var f=e&i^~e&a;return f<0&&(f+=4294967296),f}function Q7(r,e,t,i,n){var a=r&t^r&n^t&n;return a<0&&(a+=4294967296),a}function X7(r,e,t,i,n,a){var f=e&i^e&a^i&a;return f<0&&(f+=4294967296),f}function Z7(r,e){var t=Nn(r,e,28),i=Nn(e,r,2),n=Nn(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function e9(r,e){var t=Tn(r,e,28),i=Tn(e,r,2),n=Tn(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function t9(r,e){var t=Nn(r,e,14),i=Nn(r,e,18),n=Nn(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function r9(r,e){var t=Tn(r,e,14),i=Tn(r,e,18),n=Tn(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function i9(r,e){var t=Nn(r,e,1),i=Nn(r,e,8),n=lb(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function n9(r,e){var t=Tn(r,e,1),i=Tn(r,e,8),n=db(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function s9(r,e){var t=Nn(r,e,19),i=Nn(e,r,29),n=lb(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}function a9(r,e){var t=Tn(r,e,19),i=Tn(e,r,29),n=db(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}var rd=Ot,vb=gb;function ps(){if(!(this instanceof ps))return new ps;vb.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}rd.inherits(ps,vb);var o9=ps;ps.blockSize=1024;ps.outSize=384;ps.hmacStrength=192;ps.padLength=128;ps.prototype._digest=function(e){return e==="hex"?rd.toHex32(this.h.slice(0,12),"big"):rd.split32(this.h.slice(0,12),"big")};lo.sha1=O7;lo.sha224=j7;lo.sha256=hb;lo.sha384=o9;lo.sha512=gb;var bb={},pa=Ot,c9=uo,Bf=pa.rotl32,A1=pa.sum32,Vo=pa.sum32_3,E1=pa.sum32_4,mb=c9.BlockHash;function zn(){if(!(this instanceof zn))return new zn;mb.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}pa.inherits(zn,mb);bb.ripemd160=zn;zn.blockSize=512;zn.outSize=160;zn.hmacStrength=192;zn.padLength=64;zn.prototype._update=function(e,t){for(var i=this.h[0],n=this.h[1],a=this.h[2],f=this.h[3],u=this.h[4],b=i,p=n,y=a,A=f,R=u,O=0;O<80;O++){var N=A1(Bf(E1(i,x1(O,n,a,f),e[u9[O]+t],f9(O)),d9[O]),u);i=u,u=f,f=Bf(a,10),a=n,n=N,N=A1(Bf(E1(b,x1(79-O,p,y,A),e[l9[O]+t],h9(O)),p9[O]),R),b=R,R=A,A=Bf(y,10),y=p,p=N}N=Vo(this.h[1],a,A),this.h[1]=Vo(this.h[2],f,R),this.h[2]=Vo(this.h[3],u,b),this.h[3]=Vo(this.h[4],i,p),this.h[4]=Vo(this.h[0],n,y),this.h[0]=N};zn.prototype._digest=function(e){return e==="hex"?pa.toHex32(this.h,"little"):pa.split32(this.h,"little")};function x1(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 f9(r){return r<=15?0:r<=31?1518500249:r<=47?1859775393:r<=63?2400959708:2840853838}function h9(r){return r<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0}var u9=[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],l9=[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],d9=[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],p9=[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],g9=Ot,v9=ya;function no(r,e,t){if(!(this instanceof no))return new no(r,e,t);this.Hash=r,this.blockSize=r.blockSize/8,this.outSize=r.outSize/8,this.inner=null,this.outer=null,this._init(g9.toArray(e,t))}var b9=no;no.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),v9(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)};no.prototype.update=function(e,t){return this.inner.update(e,t),this};no.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=uo,e.sha=lo,e.ripemd=bb,e.hmac=b9,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})(Lh);var dl,S1;function m9(){return S1||(S1=1,dl={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"]]}}),dl}(function(r){var e=r,t=Lh,i=qd,n=xi,a=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,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=f;function u(p,y){Object.defineProperty(e,p,{configurable:!0,enumerable:!0,get:function(){var A=new f(y);return Object.defineProperty(e,p,{configurable:!0,enumerable:!0,value:A}),A}})}u("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"]}),u("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"]}),u("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"]}),u("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"]}),u("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"]}),u("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"]}),u("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 b;try{b=m9()}catch{b=void 0}u("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",b]})})(Dh);var y9=Lh,ha=Dd,yb=ya;function Bs(r){if(!(this instanceof Bs))return new Bs(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=ha.toArray(r.entropy,r.entropyEnc||"hex"),t=ha.toArray(r.nonce,r.nonceEnc||"hex"),i=ha.toArray(r.pers,r.persEnc||"hex");yb(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var w9=Bs;Bs.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 a=0;a<this.V.length;a++)this.K[a]=0,this.V[a]=1;this._update(n),this._reseed=1,this.reseedInterval=281474976710656};Bs.prototype._hmac=function(){return new y9.hmac(this.hash,this.K)};Bs.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())};Bs.prototype.reseed=function(e,t,i,n){typeof t!="string"&&(n=i,i=t,t=null),e=ha.toArray(e,t),i=ha.toArray(i,n),yb(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(i||[])),this._reseed=1};Bs.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=ha.toArray(i,n||"hex"),this._update(i));for(var a=[];a.length<e;)this.V=this._hmac().update(this.V).digest(),a=a.concat(this.V);var f=a.slice(0,e);return this._update(i),this._reseed++,ha.encode(f,t)};var _9=vs,A9=xi,id=A9.assert;function jr(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 E9=jr;jr.fromPublic=function(e,t,i){return t instanceof jr?t:new jr(e,{pub:t,pubEnc:i})};jr.fromPrivate=function(e,t,i){return t instanceof jr?t:new jr(e,{priv:t,privEnc:i})};jr.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"}};jr.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};jr.prototype.getPrivate=function(e){return e==="hex"?this.priv.toString(16,2):this.priv};jr.prototype._importPrivate=function(e,t){this.priv=new _9(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)};jr.prototype._importPublic=function(e,t){if(e.x||e.y){this.ec.curve.type==="mont"?id(e.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&id(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)};jr.prototype.derive=function(e){return e.validate()||id(e.validate(),"public point not validated"),e.mul(this.priv).getX()};jr.prototype.sign=function(e,t,i){return this.ec.sign(e,this,t,i)};jr.prototype.verify=function(e,t){return this.ec.verify(e,t,this)};jr.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var hh=vs,Ud=xi,x9=Ud.assert;function Bh(r,e){if(r instanceof Bh)return r;this._importDER(r,e)||(x9(r.r&&r.s,"Signature without r or s"),this.r=new hh(r.r,16),this.s=new hh(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var S9=Bh;function I9(){this.place=0}function pl(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,a=0,f=e.place;a<i;a++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function I1(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)}Bh.prototype._importDER=function(e,t){e=Ud.toArray(e,t);var i=new I9;if(e[i.place++]!==48)return!1;var n=pl(e,i);if(n===!1||n+i.place!==e.length||e[i.place++]!==2)return!1;var a=pl(e,i);if(a===!1||e[i.place]&128)return!1;var f=e.slice(i.place,a+i.place);if(i.place+=a,e[i.place++]!==2)return!1;var u=pl(e,i);if(u===!1||e.length!==u+i.place||e[i.place]&128)return!1;var b=e.slice(i.place,u+i.place);if(f[0]===0)if(f[1]&128)f=f.slice(1);else return!1;if(b[0]===0)if(b[1]&128)b=b.slice(1);else return!1;return this.r=new hh(f),this.s=new hh(b),this.recoveryParam=null,!0};function gl(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)}Bh.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=I1(t),i=I1(i);!i[0]&&!(i[1]&128);)i=i.slice(1);var n=[2];gl(n,t.length),n=n.concat(t),n.push(2),gl(n,i.length);var a=n.concat(i),f=[48];return gl(f,a.length),f=f.concat(a),Ud.encode(f,e)};var ua=vs,wb=w9,M9=xi,vl=Dh,P9=Zv,_b=M9.assert,$d=E9,Uh=S9;function ki(r){if(!(this instanceof ki))return new ki(r);typeof r=="string"&&(_b(Object.prototype.hasOwnProperty.call(vl,r),"Unknown curve "+r),r=vl[r]),r instanceof vl.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 O9=ki;ki.prototype.keyPair=function(e){return new $d(this,e)};ki.prototype.keyFromPrivate=function(e,t){return $d.fromPrivate(this,e,t)};ki.prototype.keyFromPublic=function(e,t){return $d.fromPublic(this,e,t)};ki.prototype.genKeyPair=function(e){e||(e={});for(var t=new wb({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||P9(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),i=this.n.byteLength(),n=this.n.sub(new ua(2));;){var a=new ua(t.generate(i));if(!(a.cmp(n)>0))return a.iaddn(1),this.keyFromPrivate(a)}};ki.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};ki.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 ua(e,16));for(var a=this.n.byteLength(),f=t.getPrivate().toArray("be",a),u=e.toArray("be",a),b=new wb({hash:this.hash,entropy:f,nonce:u,pers:n.pers,persEnc:n.persEnc||"utf8"}),p=this.n.sub(new ua(1)),y=0;;y++){var A=n.k?n.k(y):new ua(b.generate(this.n.byteLength()));if(A=this._truncateToN(A,!0),!(A.cmpn(1)<=0||A.cmp(p)>=0)){var R=this.g.mul(A);if(!R.isInfinity()){var O=R.getX(),N=O.umod(this.n);if(N.cmpn(0)!==0){var K=A.invm(this.n).mul(N.mul(t.getPrivate()).iadd(e));if(K=K.umod(this.n),K.cmpn(0)!==0){var W=(R.getY().isOdd()?1:0)|(O.cmp(N)!==0?2:0);return n.canonical&&K.cmp(this.nh)>0&&(K=this.n.sub(K),W^=1),new Uh({r:N,s:K,recoveryParam:W})}}}}}};ki.prototype.verify=function(e,t,i,n){e=this._truncateToN(new ua(e,16)),i=this.keyFromPublic(i,n),t=new Uh(t,"hex");var a=t.r,f=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||f.cmpn(1)<0||f.cmp(this.n)>=0)return!1;var u=f.invm(this.n),b=u.mul(e).umod(this.n),p=u.mul(a).umod(this.n),y;return this.curve._maxwellTrick?(y=this.g.jmulAdd(b,i.getPublic(),p),y.isInfinity()?!1:y.eqXToP(a)):(y=this.g.mulAdd(b,i.getPublic(),p),y.isInfinity()?!1:y.getX().umod(this.n).cmp(a)===0)};ki.prototype.recoverPubKey=function(r,e,t,i){_b((3&t)===t,"The recovery param is more than two bits"),e=new Uh(e,i);var n=this.n,a=new ua(r),f=e.r,u=e.s,b=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),b):f=this.curve.pointFromX(f,b);var y=e.r.invm(n),A=n.sub(a).mul(y).umod(n),R=u.mul(y).umod(n);return this.g.mulAdd(A,f,R)};ki.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new Uh(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(r,e,n)}catch{continue}if(a.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var xc=xi,Ab=xc.assert,M1=xc.parseBytes,go=xc.cachedProperty;function xr(r,e){this.eddsa=r,this._secret=M1(e.secret),r.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=M1(e.pub)}xr.fromPublic=function(e,t){return t instanceof xr?t:new xr(e,{pub:t})};xr.fromSecret=function(e,t){return t instanceof xr?t:new xr(e,{secret:t})};xr.prototype.secret=function(){return this._secret};go(xr,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())});go(xr,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())});go(xr,"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});go(xr,"priv",function(){return this.eddsa.decodeInt(this.privBytes())});go(xr,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()});go(xr,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)});xr.prototype.sign=function(e){return Ab(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)};xr.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)};xr.prototype.getSecret=function(e){return Ab(this._secret,"KeyPair is public only"),xc.encode(this.secret(),e)};xr.prototype.getPublic=function(e){return xc.encode(this.pubBytes(),e)};var R9=xr,N9=vs,$h=xi,P1=$h.assert,zh=$h.cachedProperty,T9=$h.parseBytes;function wa(r,e){this.eddsa=r,typeof e!="object"&&(e=T9(e)),Array.isArray(e)&&(P1(e.length===r.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,r.encodingLength),S:e.slice(r.encodingLength)}),P1(e.R&&e.S,"Signature without R or S"),r.isPoint(e.R)&&(this._R=e.R),e.S instanceof N9&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}zh(wa,"S",function(){return this.eddsa.decodeInt(this.Sencoded())});zh(wa,"R",function(){return this.eddsa.decodePoint(this.Rencoded())});zh(wa,"Rencoded",function(){return this.eddsa.encodePoint(this.R())});zh(wa,"Sencoded",function(){return this.eddsa.encodeInt(this.S())});wa.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};wa.prototype.toHex=function(){return $h.encode(this.toBytes(),"hex").toUpperCase()};var C9=wa,D9=Lh,L9=Dh,so=xi,q9=so.assert,Eb=so.parseBytes,xb=R9,O1=C9;function ui(r){if(q9(r==="ed25519","only tested with ed25519 so far"),!(this instanceof ui))return new ui(r);r=L9[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=D9.sha512}var B9=ui;ui.prototype.sign=function(e,t){e=Eb(e);var i=this.keyFromSecret(t),n=this.hashInt(i.messagePrefix(),e),a=this.g.mul(n),f=this.encodePoint(a),u=this.hashInt(f,i.pubBytes(),e).mul(i.priv()),b=n.add(u).umod(this.curve.n);return this.makeSignature({R:a,S:b,Rencoded:f})};ui.prototype.verify=function(e,t,i){if(e=Eb(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var n=this.keyFromPublic(i),a=this.hashInt(t.Rencoded(),n.pubBytes(),e),f=this.g.mul(t.S()),u=t.R().add(n.pub().mul(a));return u.eq(f)};ui.prototype.hashInt=function(){for(var e=this.hash(),t=0;t<arguments.length;t++)e.update(arguments[t]);return so.intFromLE(e.digest()).umod(this.curve.n)};ui.prototype.keyFromPublic=function(e){return xb.fromPublic(this,e)};ui.prototype.keyFromSecret=function(e){return xb.fromSecret(this,e)};ui.prototype.makeSignature=function(e){return e instanceof O1?e:new O1(this,e)};ui.prototype.encodePoint=function(e){var t=e.getY().toArray("le",this.encodingLength);return t[this.encodingLength-1]|=e.getX().isOdd()?128:0,t};ui.prototype.decodePoint=function(e){e=so.parseBytes(e);var t=e.length-1,i=e.slice(0,t).concat(e[t]&-129),n=(e[t]&128)!==0,a=so.intFromLE(i);return this.curve.pointFromY(a,n)};ui.prototype.encodeInt=function(e){return e.toArray("le",this.encodingLength)};ui.prototype.decodeInt=function(e){return so.intFromLE(e)};ui.prototype.isPoint=function(e){return e instanceof this.pointClass};(function(r){var e=r;e.version=q_.version,e.utils=xi,e.rand=Zv,e.curve=qd,e.curves=Dh,e.ec=O9,e.eddsa=B9})(Qv);var zd={},Sb={};(function(r){Object.defineProperty(r,"__esModule",{value:!0});var e=mt,t=Ei;r.DIGEST_LENGTH=64,r.BLOCK_SIZE=128;var i=function(){function u(){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 u.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},u.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},u.prototype.clean=function(){t.wipe(this._buffer),t.wipe(this._tempHi),t.wipe(this._tempLo),this.reset()},u.prototype.update=function(b,p){if(p===void 0&&(p=b.length),this._finished)throw new Error("SHA512: can't update because hash was finished.");var y=0;if(this._bytesHashed+=p,this._bufferLength>0){for(;this._bufferLength<r.BLOCK_SIZE&&p>0;)this._buffer[this._bufferLength++]=b[y++],p--;this._bufferLength===this.blockSize&&(a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(p>=this.blockSize&&(y=a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,b,y,p),p%=this.blockSize);p>0;)this._buffer[this._bufferLength++]=b[y++],p--;return this},u.prototype.finish=function(b){if(!this._finished){var p=this._bytesHashed,y=this._bufferLength,A=p/536870912|0,R=p<<3,O=p%128<112?128:256;this._buffer[y]=128;for(var N=y+1;N<O-8;N++)this._buffer[N]=0;e.writeUint32BE(A,this._buffer,O-8),e.writeUint32BE(R,this._buffer,O-4),a(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,O),this._finished=!0}for(var N=0;N<this.digestLength/8;N++)e.writeUint32BE(this._stateHi[N],b,N*8),e.writeUint32BE(this._stateLo[N],b,N*8+4);return this},u.prototype.digest=function(){var b=new Uint8Array(this.digestLength);return this.finish(b),b},u.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}},u.prototype.restoreState=function(b){return this._stateHi.set(b.stateHi),this._stateLo.set(b.stateLo),this._bufferLength=b.bufferLength,b.buffer&&this._buffer.set(b.buffer),this._bytesHashed=b.bytesHashed,this._finished=!1,this},u.prototype.cleanSavedState=function(b){t.wipe(b.stateHi),t.wipe(b.stateLo),b.buffer&&t.wipe(b.buffer),b.bufferLength=0,b.bytesHashed=0},u}();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 a(u,b,p,y,A,R,O){for(var N=p[0],K=p[1],W=p[2],Q=p[3],k=p[4],Y=p[5],$=p[6],F=p[7],G=y[0],x=y[1],q=y[2],ae=y[3],le=y[4],L=y[5],m=y[6],c=y[7],h,v,_,I,M,S,d,g;O>=128;){for(var C=0;C<16;C++){var Z=8*C+R;u[C]=e.readUint32BE(A,Z),b[C]=e.readUint32BE(A,Z+4)}for(var C=0;C<80;C++){var se=N,P=K,ee=W,B=Q,j=k,H=Y,w=$,z=F,ne=G,ce=x,he=q,ye=ae,we=le,Te=L,Qe=m,Oe=c;if(h=F,v=c,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=(k>>>14|le<<18)^(k>>>18|le<<14)^(le>>>9|k<<23),v=(le>>>14|k<<18)^(le>>>18|k<<14)^(k>>>9|le<<23),M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,h=k&Y^~k&$,v=le&L^~le&m,M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,h=n[C*2],v=n[C*2+1],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,h=u[C%16],v=b[C%16],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,_=d&65535|g<<16,I=M&65535|S<<16,h=_,v=I,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=(N>>>28|G<<4)^(G>>>2|N<<30)^(G>>>7|N<<25),v=(G>>>28|N<<4)^(N>>>2|G<<30)^(N>>>7|G<<25),M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,h=N&K^N&W^K&W,v=G&x^G&q^x&q,M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,z=d&65535|g<<16,Oe=M&65535|S<<16,h=B,v=ye,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=_,v=I,M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,B=d&65535|g<<16,ye=M&65535|S<<16,K=se,W=P,Q=ee,k=B,Y=j,$=H,F=w,N=z,x=ne,q=ce,ae=he,le=ye,L=we,m=Te,c=Qe,G=Oe,C%16===15)for(var Z=0;Z<16;Z++)h=u[Z],v=b[Z],M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=u[(Z+9)%16],v=b[(Z+9)%16],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,_=u[(Z+1)%16],I=b[(Z+1)%16],h=(_>>>1|I<<31)^(_>>>8|I<<24)^_>>>7,v=(I>>>1|_<<31)^(I>>>8|_<<24)^(I>>>7|_<<25),M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,_=u[(Z+14)%16],I=b[(Z+14)%16],h=(_>>>19|I<<13)^(I>>>29|_<<3)^_>>>6,v=(I>>>19|_<<13)^(_>>>29|I<<3)^(I>>>6|_<<26),M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,u[Z]=d&65535|g<<16,b[Z]=M&65535|S<<16}h=N,v=G,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[0],v=y[0],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[0]=N=d&65535|g<<16,y[0]=G=M&65535|S<<16,h=K,v=x,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[1],v=y[1],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[1]=K=d&65535|g<<16,y[1]=x=M&65535|S<<16,h=W,v=q,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[2],v=y[2],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[2]=W=d&65535|g<<16,y[2]=q=M&65535|S<<16,h=Q,v=ae,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[3],v=y[3],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[3]=Q=d&65535|g<<16,y[3]=ae=M&65535|S<<16,h=k,v=le,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[4],v=y[4],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[4]=k=d&65535|g<<16,y[4]=le=M&65535|S<<16,h=Y,v=L,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[5],v=y[5],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[5]=Y=d&65535|g<<16,y[5]=L=M&65535|S<<16,h=$,v=m,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[6],v=y[6],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[6]=$=d&65535|g<<16,y[6]=m=M&65535|S<<16,h=F,v=c,M=v&65535,S=v>>>16,d=h&65535,g=h>>>16,h=p[7],v=y[7],M+=v&65535,S+=v>>>16,d+=h&65535,g+=h>>>16,S+=M>>>16,d+=S>>>16,g+=d>>>16,p[7]=F=d&65535|g<<16,y[7]=c=M&65535|S<<16,R+=128,O-=128}return R}function f(u){var b=new i;b.update(u);var p=b.digest();return b.clean(),p}r.hash=f})(Sb);(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=$s,t=Sb,i=Ei;r.SIGNATURE_LENGTH=64,r.PUBLIC_KEY_LENGTH=32,r.SECRET_KEY_LENGTH=64,r.SEED_LENGTH=32;function n(B){const j=new Float64Array(16);if(B)for(let H=0;H<B.length;H++)j[H]=B[H];return j}const a=new Uint8Array(32);a[0]=9;const f=n(),u=n([1]),b=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]),y=n([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),A=n([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),R=n([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function O(B,j){for(let H=0;H<16;H++)B[H]=j[H]|0}function N(B){let j=1;for(let H=0;H<16;H++){let w=B[H]+j+65535;j=Math.floor(w/65536),B[H]=w-j*65536}B[0]+=j-1+37*(j-1)}function K(B,j,H){const w=~(H-1);for(let z=0;z<16;z++){const ne=w&(B[z]^j[z]);B[z]^=ne,j[z]^=ne}}function W(B,j){const H=n(),w=n();for(let z=0;z<16;z++)w[z]=j[z];N(w),N(w),N(w);for(let z=0;z<2;z++){H[0]=w[0]-65517;for(let ce=1;ce<15;ce++)H[ce]=w[ce]-65535-(H[ce-1]>>16&1),H[ce-1]&=65535;H[15]=w[15]-32767-(H[14]>>16&1);const ne=H[15]>>16&1;H[14]&=65535,K(w,H,1-ne)}for(let z=0;z<16;z++)B[2*z]=w[z]&255,B[2*z+1]=w[z]>>8}function Q(B,j){let H=0;for(let w=0;w<32;w++)H|=B[w]^j[w];return(1&H-1>>>8)-1}function k(B,j){const H=new Uint8Array(32),w=new Uint8Array(32);return W(H,B),W(w,j),Q(H,w)}function Y(B){const j=new Uint8Array(32);return W(j,B),j[0]&1}function $(B,j){for(let H=0;H<16;H++)B[H]=j[2*H]+(j[2*H+1]<<8);B[15]&=32767}function F(B,j,H){for(let w=0;w<16;w++)B[w]=j[w]+H[w]}function G(B,j,H){for(let w=0;w<16;w++)B[w]=j[w]-H[w]}function x(B,j,H){let w,z,ne=0,ce=0,he=0,ye=0,we=0,Te=0,Qe=0,Oe=0,Ce=0,Ie=0,me=0,Re=0,De=0,ve=0,Ne=0,Se=0,be=0,Ue=0,Me=0,_e=0,He=0,Ve=0,Ee=0,Ke=0,ut=0,Ge=0,_t=0,lt=0,Je=0,Et=0,It=0,Le=H[0],Xe=H[1],tt=H[2],qe=H[3],et=H[4],Ze=H[5],ze=H[6],ft=H[7],rt=H[8],je=H[9],it=H[10],st=H[11],Be=H[12],Ye=H[13],ht=H[14],ke=H[15];w=j[0],ne+=w*Le,ce+=w*Xe,he+=w*tt,ye+=w*qe,we+=w*et,Te+=w*Ze,Qe+=w*ze,Oe+=w*ft,Ce+=w*rt,Ie+=w*je,me+=w*it,Re+=w*st,De+=w*Be,ve+=w*Ye,Ne+=w*ht,Se+=w*ke,w=j[1],ce+=w*Le,he+=w*Xe,ye+=w*tt,we+=w*qe,Te+=w*et,Qe+=w*Ze,Oe+=w*ze,Ce+=w*ft,Ie+=w*rt,me+=w*je,Re+=w*it,De+=w*st,ve+=w*Be,Ne+=w*Ye,Se+=w*ht,be+=w*ke,w=j[2],he+=w*Le,ye+=w*Xe,we+=w*tt,Te+=w*qe,Qe+=w*et,Oe+=w*Ze,Ce+=w*ze,Ie+=w*ft,me+=w*rt,Re+=w*je,De+=w*it,ve+=w*st,Ne+=w*Be,Se+=w*Ye,be+=w*ht,Ue+=w*ke,w=j[3],ye+=w*Le,we+=w*Xe,Te+=w*tt,Qe+=w*qe,Oe+=w*et,Ce+=w*Ze,Ie+=w*ze,me+=w*ft,Re+=w*rt,De+=w*je,ve+=w*it,Ne+=w*st,Se+=w*Be,be+=w*Ye,Ue+=w*ht,Me+=w*ke,w=j[4],we+=w*Le,Te+=w*Xe,Qe+=w*tt,Oe+=w*qe,Ce+=w*et,Ie+=w*Ze,me+=w*ze,Re+=w*ft,De+=w*rt,ve+=w*je,Ne+=w*it,Se+=w*st,be+=w*Be,Ue+=w*Ye,Me+=w*ht,_e+=w*ke,w=j[5],Te+=w*Le,Qe+=w*Xe,Oe+=w*tt,Ce+=w*qe,Ie+=w*et,me+=w*Ze,Re+=w*ze,De+=w*ft,ve+=w*rt,Ne+=w*je,Se+=w*it,be+=w*st,Ue+=w*Be,Me+=w*Ye,_e+=w*ht,He+=w*ke,w=j[6],Qe+=w*Le,Oe+=w*Xe,Ce+=w*tt,Ie+=w*qe,me+=w*et,Re+=w*Ze,De+=w*ze,ve+=w*ft,Ne+=w*rt,Se+=w*je,be+=w*it,Ue+=w*st,Me+=w*Be,_e+=w*Ye,He+=w*ht,Ve+=w*ke,w=j[7],Oe+=w*Le,Ce+=w*Xe,Ie+=w*tt,me+=w*qe,Re+=w*et,De+=w*Ze,ve+=w*ze,Ne+=w*ft,Se+=w*rt,be+=w*je,Ue+=w*it,Me+=w*st,_e+=w*Be,He+=w*Ye,Ve+=w*ht,Ee+=w*ke,w=j[8],Ce+=w*Le,Ie+=w*Xe,me+=w*tt,Re+=w*qe,De+=w*et,ve+=w*Ze,Ne+=w*ze,Se+=w*ft,be+=w*rt,Ue+=w*je,Me+=w*it,_e+=w*st,He+=w*Be,Ve+=w*Ye,Ee+=w*ht,Ke+=w*ke,w=j[9],Ie+=w*Le,me+=w*Xe,Re+=w*tt,De+=w*qe,ve+=w*et,Ne+=w*Ze,Se+=w*ze,be+=w*ft,Ue+=w*rt,Me+=w*je,_e+=w*it,He+=w*st,Ve+=w*Be,Ee+=w*Ye,Ke+=w*ht,ut+=w*ke,w=j[10],me+=w*Le,Re+=w*Xe,De+=w*tt,ve+=w*qe,Ne+=w*et,Se+=w*Ze,be+=w*ze,Ue+=w*ft,Me+=w*rt,_e+=w*je,He+=w*it,Ve+=w*st,Ee+=w*Be,Ke+=w*Ye,ut+=w*ht,Ge+=w*ke,w=j[11],Re+=w*Le,De+=w*Xe,ve+=w*tt,Ne+=w*qe,Se+=w*et,be+=w*Ze,Ue+=w*ze,Me+=w*ft,_e+=w*rt,He+=w*je,Ve+=w*it,Ee+=w*st,Ke+=w*Be,ut+=w*Ye,Ge+=w*ht,_t+=w*ke,w=j[12],De+=w*Le,ve+=w*Xe,Ne+=w*tt,Se+=w*qe,be+=w*et,Ue+=w*Ze,Me+=w*ze,_e+=w*ft,He+=w*rt,Ve+=w*je,Ee+=w*it,Ke+=w*st,ut+=w*Be,Ge+=w*Ye,_t+=w*ht,lt+=w*ke,w=j[13],ve+=w*Le,Ne+=w*Xe,Se+=w*tt,be+=w*qe,Ue+=w*et,Me+=w*Ze,_e+=w*ze,He+=w*ft,Ve+=w*rt,Ee+=w*je,Ke+=w*it,ut+=w*st,Ge+=w*Be,_t+=w*Ye,lt+=w*ht,Je+=w*ke,w=j[14],Ne+=w*Le,Se+=w*Xe,be+=w*tt,Ue+=w*qe,Me+=w*et,_e+=w*Ze,He+=w*ze,Ve+=w*ft,Ee+=w*rt,Ke+=w*je,ut+=w*it,Ge+=w*st,_t+=w*Be,lt+=w*Ye,Je+=w*ht,Et+=w*ke,w=j[15],Se+=w*Le,be+=w*Xe,Ue+=w*tt,Me+=w*qe,_e+=w*et,He+=w*Ze,Ve+=w*ze,Ee+=w*ft,Ke+=w*rt,ut+=w*je,Ge+=w*it,_t+=w*st,lt+=w*Be,Je+=w*Ye,Et+=w*ht,It+=w*ke,ne+=38*be,ce+=38*Ue,he+=38*Me,ye+=38*_e,we+=38*He,Te+=38*Ve,Qe+=38*Ee,Oe+=38*Ke,Ce+=38*ut,Ie+=38*Ge,me+=38*_t,Re+=38*lt,De+=38*Je,ve+=38*Et,Ne+=38*It,z=1,w=ne+z+65535,z=Math.floor(w/65536),ne=w-z*65536,w=ce+z+65535,z=Math.floor(w/65536),ce=w-z*65536,w=he+z+65535,z=Math.floor(w/65536),he=w-z*65536,w=ye+z+65535,z=Math.floor(w/65536),ye=w-z*65536,w=we+z+65535,z=Math.floor(w/65536),we=w-z*65536,w=Te+z+65535,z=Math.floor(w/65536),Te=w-z*65536,w=Qe+z+65535,z=Math.floor(w/65536),Qe=w-z*65536,w=Oe+z+65535,z=Math.floor(w/65536),Oe=w-z*65536,w=Ce+z+65535,z=Math.floor(w/65536),Ce=w-z*65536,w=Ie+z+65535,z=Math.floor(w/65536),Ie=w-z*65536,w=me+z+65535,z=Math.floor(w/65536),me=w-z*65536,w=Re+z+65535,z=Math.floor(w/65536),Re=w-z*65536,w=De+z+65535,z=Math.floor(w/65536),De=w-z*65536,w=ve+z+65535,z=Math.floor(w/65536),ve=w-z*65536,w=Ne+z+65535,z=Math.floor(w/65536),Ne=w-z*65536,w=Se+z+65535,z=Math.floor(w/65536),Se=w-z*65536,ne+=z-1+37*(z-1),z=1,w=ne+z+65535,z=Math.floor(w/65536),ne=w-z*65536,w=ce+z+65535,z=Math.floor(w/65536),ce=w-z*65536,w=he+z+65535,z=Math.floor(w/65536),he=w-z*65536,w=ye+z+65535,z=Math.floor(w/65536),ye=w-z*65536,w=we+z+65535,z=Math.floor(w/65536),we=w-z*65536,w=Te+z+65535,z=Math.floor(w/65536),Te=w-z*65536,w=Qe+z+65535,z=Math.floor(w/65536),Qe=w-z*65536,w=Oe+z+65535,z=Math.floor(w/65536),Oe=w-z*65536,w=Ce+z+65535,z=Math.floor(w/65536),Ce=w-z*65536,w=Ie+z+65535,z=Math.floor(w/65536),Ie=w-z*65536,w=me+z+65535,z=Math.floor(w/65536),me=w-z*65536,w=Re+z+65535,z=Math.floor(w/65536),Re=w-z*65536,w=De+z+65535,z=Math.floor(w/65536),De=w-z*65536,w=ve+z+65535,z=Math.floor(w/65536),ve=w-z*65536,w=Ne+z+65535,z=Math.floor(w/65536),Ne=w-z*65536,w=Se+z+65535,z=Math.floor(w/65536),Se=w-z*65536,ne+=z-1+37*(z-1),B[0]=ne,B[1]=ce,B[2]=he,B[3]=ye,B[4]=we,B[5]=Te,B[6]=Qe,B[7]=Oe,B[8]=Ce,B[9]=Ie,B[10]=me,B[11]=Re,B[12]=De,B[13]=ve,B[14]=Ne,B[15]=Se}function q(B,j){x(B,j,j)}function ae(B,j){const H=n();let w;for(w=0;w<16;w++)H[w]=j[w];for(w=253;w>=0;w--)q(H,H),w!==2&&w!==4&&x(H,H,j);for(w=0;w<16;w++)B[w]=H[w]}function le(B,j){const H=n();let w;for(w=0;w<16;w++)H[w]=j[w];for(w=250;w>=0;w--)q(H,H),w!==1&&x(H,H,j);for(w=0;w<16;w++)B[w]=H[w]}function L(B,j){const H=n(),w=n(),z=n(),ne=n(),ce=n(),he=n(),ye=n(),we=n(),Te=n();G(H,B[1],B[0]),G(Te,j[1],j[0]),x(H,H,Te),F(w,B[0],B[1]),F(Te,j[0],j[1]),x(w,w,Te),x(z,B[3],j[3]),x(z,z,p),x(ne,B[2],j[2]),F(ne,ne,ne),G(ce,w,H),G(he,ne,z),F(ye,ne,z),F(we,w,H),x(B[0],ce,he),x(B[1],we,ye),x(B[2],ye,he),x(B[3],ce,we)}function m(B,j,H){for(let w=0;w<4;w++)K(B[w],j[w],H)}function c(B,j){const H=n(),w=n(),z=n();ae(z,j[2]),x(H,j[0],z),x(w,j[1],z),W(B,w),B[31]^=Y(H)<<7}function h(B,j,H){O(B[0],f),O(B[1],u),O(B[2],u),O(B[3],f);for(let w=255;w>=0;--w){const z=H[w/8|0]>>(w&7)&1;m(B,j,z),L(j,B),L(B,B),m(B,j,z)}}function v(B,j){const H=[n(),n(),n(),n()];O(H[0],y),O(H[1],A),O(H[2],u),x(H[3],y,A),h(B,H,j)}function _(B){if(B.length!==r.SEED_LENGTH)throw new Error(`ed25519: seed must be ${r.SEED_LENGTH} bytes`);const j=(0,t.hash)(B);j[0]&=248,j[31]&=127,j[31]|=64;const H=new Uint8Array(32),w=[n(),n(),n(),n()];v(w,j),c(H,w);const z=new Uint8Array(64);return z.set(B),z.set(H,32),{publicKey:H,secretKey:z}}r.generateKeyPairFromSeed=_;function I(B){const j=(0,e.randomBytes)(32,B),H=_(j);return(0,i.wipe)(j),H}r.generateKeyPair=I;function M(B){if(B.length!==r.SECRET_KEY_LENGTH)throw new Error(`ed25519: secret key must be ${r.SECRET_KEY_LENGTH} bytes`);return new Uint8Array(B.subarray(32))}r.extractPublicKeyFromSecretKey=M;const S=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 d(B,j){let H,w,z,ne;for(w=63;w>=32;--w){for(H=0,z=w-32,ne=w-12;z<ne;++z)j[z]+=H-16*j[w]*S[z-(w-32)],H=Math.floor((j[z]+128)/256),j[z]-=H*256;j[z]+=H,j[w]=0}for(H=0,z=0;z<32;z++)j[z]+=H-(j[31]>>4)*S[z],H=j[z]>>8,j[z]&=255;for(z=0;z<32;z++)j[z]-=H*S[z];for(w=0;w<32;w++)j[w+1]+=j[w]>>8,B[w]=j[w]&255}function g(B){const j=new Float64Array(64);for(let H=0;H<64;H++)j[H]=B[H];for(let H=0;H<64;H++)B[H]=0;d(B,j)}function C(B,j){const H=new Float64Array(64),w=[n(),n(),n(),n()],z=(0,t.hash)(B.subarray(0,32));z[0]&=248,z[31]&=127,z[31]|=64;const ne=new Uint8Array(64);ne.set(z.subarray(32),32);const ce=new t.SHA512;ce.update(ne.subarray(32)),ce.update(j);const he=ce.digest();ce.clean(),g(he),v(w,he),c(ne,w),ce.reset(),ce.update(ne.subarray(0,32)),ce.update(B.subarray(32)),ce.update(j);const ye=ce.digest();g(ye);for(let we=0;we<32;we++)H[we]=he[we];for(let we=0;we<32;we++)for(let Te=0;Te<32;Te++)H[we+Te]+=ye[we]*z[Te];return d(ne.subarray(32),H),ne}r.sign=C;function Z(B,j){const H=n(),w=n(),z=n(),ne=n(),ce=n(),he=n(),ye=n();return O(B[2],u),$(B[1],j),q(z,B[1]),x(ne,z,b),G(z,z,B[2]),F(ne,B[2],ne),q(ce,ne),q(he,ce),x(ye,he,ce),x(H,ye,z),x(H,H,ne),le(H,H),x(H,H,z),x(H,H,ne),x(H,H,ne),x(B[0],H,ne),q(w,B[0]),x(w,w,ne),k(w,z)&&x(B[0],B[0],R),q(w,B[0]),x(w,w,ne),k(w,z)?-1:(Y(B[0])===j[31]>>7&&G(B[0],f,B[0]),x(B[3],B[0],B[1]),0)}function se(B,j,H){const w=new Uint8Array(32),z=[n(),n(),n(),n()],ne=[n(),n(),n(),n()];if(H.length!==r.SIGNATURE_LENGTH)throw new Error(`ed25519: signature must be ${r.SIGNATURE_LENGTH} bytes`);if(Z(ne,B))return!1;const ce=new t.SHA512;ce.update(H.subarray(0,32)),ce.update(B),ce.update(j);const he=ce.digest();return g(he),h(z,ne,he),v(ne,H.subarray(32)),L(z,ne),c(w,z),!Q(H,w)}r.verify=se;function P(B){let j=[n(),n(),n(),n()];if(Z(j,B))throw new Error("Ed25519: invalid public key");let H=n(),w=n(),z=j[1];F(H,u,z),G(w,u,z),ae(w,w),x(H,H,w);let ne=new Uint8Array(32);return W(ne,H),ne}r.convertPublicKeyToX25519=P;function ee(B){const j=(0,t.hash)(B.subarray(0,32));j[0]&=248,j[31]&=127,j[31]|=64;const H=new Uint8Array(j.subarray(0,32));return(0,i.wipe)(j),H}r.convertSecretKeyToX25519=ee})(zd);const U9="EdDSA",$9="JWT",uh=".",jh="base64url",Ib="utf8",Mb="utf8",z9=":",j9="did",k9="key",R1="base58btc",F9="z",H9="K36",K9=32,V9=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),G9=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 ga(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return G9(r)}catch{return r}}function gs(r){return typeof r=="string"?r:V9(r)||""}function N1(r){return ga(Er(Ar(r,jh),Ib))}function lh(r){return Er(Ar(gs(r),Ib),jh)}function Pb(r){const e=Ar(H9,R1),t=F9+Er(Yf([e,r]),R1);return[j9,k9,t].join(z9)}function W9(r){return Er(r,jh)}function J9(r){return Ar(r,jh)}function Y9(r){return Ar([lh(r.header),lh(r.payload)].join(uh),Mb)}function Q9(r){return[lh(r.header),lh(r.payload),W9(r.signature)].join(uh)}function nd(r){const e=r.split(uh),t=N1(e[0]),i=N1(e[1]),n=J9(e[2]),a=Ar(e.slice(0,2).join(uh),Mb);return{header:t,payload:i,signature:n,data:a}}function T1(r=$s.randomBytes(K9)){return zd.generateKeyPairFromSeed(r)}async function X9(r,e,t,i,n=xe.fromMiliseconds(Date.now())){const a={alg:U9,typ:$9},f=Pb(i.publicKey),u=n+t,b={iss:f,sub:r,aud:e,iat:n,exp:u},p=Y9({header:a,payload:b}),y=zd.sign(i.secretKey,p);return Q9({header:a,payload:b,signature:y})}const Z9={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"}};var la={env:{NODE_ENV:'"production"',VITE_WALLETCONNECT_PROJECT_ID:'"1d93edc21291f98e3bed6ff7617ff539"'},nextTick:"setImmediate",platform:'"browser"',version:'"v16.0.0"',browser:!0},eA={};const tA=":";function ac(r){const[e,t]=r.split(tA);return{namespace:e,reference:t}}function C1(r,e=[]){const t=[];return Object.keys(r).forEach(i=>{if(e.length&&!e.includes(i))return;const n=r[i];t.push(...n.accounts)}),t}function Ob(r,e){return r.includes(":")?[r]:e.chains||[]}var rA=Object.defineProperty,D1=Object.getOwnPropertySymbols,iA=Object.prototype.hasOwnProperty,nA=Object.prototype.propertyIsEnumerable,L1=(r,e,t)=>e in r?rA(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,q1=(r,e)=>{for(var t in e||(e={}))iA.call(e,t)&&L1(r,t,e[t]);if(D1)for(var t of D1(e))nA.call(e,t)&&L1(r,t,e[t]);return r};const sA="ReactNative",wi={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},aA="js";function dh(){return typeof la<"u"&&typeof la.versions<"u"&&typeof la.versions.node<"u"}function vo(){return!Ih()&&!!Pd()&&navigator.product===sA}function Sc(){return!dh()&&!!Pd()&&!!Ih()}function Ic(){return vo()?wi.reactNative:dh()?wi.node:Sc()?wi.browser:wi.unknown}function oA(){var r;try{return vo()&&typeof globalThis<"u"&&typeof(globalThis==null?void 0:globalThis.Application)<"u"?(r=globalThis.Application)==null?void 0:r.applicationId:void 0}catch{return}}function cA(r,e){let t=dc.parse(r);return t=q1(q1({},t),e),r=dc.stringify(t),r}function Rb(){return Uv()||{name:"",description:"",url:"",icons:[""]}}function fA(){if(Ic()===wi.reactNative&&typeof globalThis<"u"&&typeof(globalThis==null?void 0:globalThis.Platform)<"u"){const{OS:t,Version:i}=globalThis.Platform;return[t,i].join("-")}const r=k8();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 hA(){var r;const e=Ic();return e===wi.browser?[e,((r=Bv())==null?void 0:r.host)||"unknown"].join(":"):e}function Nb(r,e,t){const i=fA(),n=hA();return[[r,e].join("-"),[aA,t].join("-"),i,n].join("/")}function uA({protocol:r,version:e,relayUrl:t,sdkVersion:i,auth:n,projectId:a,useOnCloseEvent:f,bundleId:u}){const b=t.split("?"),p=Nb(r,e,i),y={auth:n,ua:p,projectId:a,useOnCloseEvent:f||void 0,origin:u||void 0},A=cA(b[1]||"",y);return b[0]+"?"+A}function ca(r,e){return r.filter(t=>e.includes(t)).length===r.length}function Tb(r){return Object.fromEntries(r.entries())}function Cb(r){return new Map(Object.entries(r))}function aa(r=xe.FIVE_MINUTES,e){const t=xe.toMiliseconds(r||xe.FIVE_MINUTES);let i,n,a;return{resolve:f=>{a&&i&&(clearTimeout(a),i(f))},reject:f=>{a&&n&&(clearTimeout(a),n(f))},done:()=>new Promise((f,u)=>{a=setTimeout(()=>{u(new Error(e))},t),i=f,n=u})}}function Za(r,e,t){return new Promise(async(i,n)=>{const a=setTimeout(()=>n(new Error(t)),e);try{const f=await r;i(f)}catch(f){n(f)}clearTimeout(a)})}function Db(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 lA(r){return Db("topic",r)}function dA(r){return Db("id",r)}function Lb(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 vr(r,e){return xe.fromMiliseconds(Date.now()+xe.toMiliseconds(r))}function Os(r){return Date.now()>=xe.toMiliseconds(r)}function St(r,e){return`${r}${e?`:${e}`:""}`}function Qf(r=[],e=[]){return[...new Set([...r,...e])]}async function pA({id:r,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const n=typeof t=="string"?JSON.parse(t):t,a=n==null?void 0:n.href;if(typeof a!="string")return;const f=gA(a,r,e),u=Ic();if(u===wi.browser){if(!((i=Ih())!=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,bA()?"_blank":"_self","noreferrer noopener")}else u===wi.reactNative&&typeof(globalThis==null?void 0:globalThis.Linking)<"u"&&await globalThis.Linking.openURL(f)}catch(n){console.error(n)}}function gA(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 a=r.includes("?")?"&startapp=":"?startapp=";n=`${n}${a}${mA(i,!0)}`}else n=`${n}/wc?${i}`;return n}async function vA(r,e){let t="";try{if(Sc()&&(t=localStorage.getItem(e),t))return t;t=await r.getItem(e)}catch(i){console.error(i)}return t}function B1(r,e){if(!r.includes(e))return null;const t=r.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function U1(){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 jd(){return typeof la<"u"&&eA.IS_VITEST==="true"}function bA(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function mA(r,e=!1){const t=Buffer.from(r).toString("base64");return e?t.replace(/[=]/g,""):t}function qb(r){return Buffer.from(r,"base64").toString("utf-8")}var Bb=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};function yA(r){var e=r.default;if(typeof e=="function"){var t=function(){return e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(r).forEach(function(i){var n=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(t,i,n.get?n:{enumerable:!0,get:function(){return r[i]}})}),t}var Ub={exports:{}};/**
|
||
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
||
*
|
||
* @version 0.8.0
|
||
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
||
* @copyright Chen, Yi-Cyuan 2015-2018
|
||
* @license MIT
|
||
*/(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 a=!i&&typeof self=="object",f=!n.JS_SHA3_NO_NODE_JS&&typeof la=="object"&&la.versions&&la.versions.node;f?n=Bb:a&&(n=self);var u=!n.JS_SHA3_NO_COMMON_JS&&!0&&r.exports,b=!n.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",p="0123456789abcdef".split(""),y=[31,7936,2031616,520093696],A=[4,1024,262144,67108864],R=[1,256,65536,16777216],O=[6,1536,393216,100663296],N=[0,8,16,24],K=[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],W=[224,256,384,512],Q=[128,256],k=["hex","buffer","arrayBuffer","array","digest"],Y={128:168,256:136};(n.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(P){return Object.prototype.toString.call(P)==="[object Array]"}),b&&(n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(P){return typeof P=="object"&&P.buffer&&P.buffer.constructor===ArrayBuffer});for(var $=function(P,ee,B){return function(j){return new C(P,ee,P).update(j)[B]()}},F=function(P,ee,B){return function(j,H){return new C(P,ee,H).update(j)[B]()}},G=function(P,ee,B){return function(j,H,w,z){return h["cshake"+P].update(j,H,w,z)[B]()}},x=function(P,ee,B){return function(j,H,w,z){return h["kmac"+P].update(j,H,w,z)[B]()}},q=function(P,ee,B,j){for(var H=0;H<k.length;++H){var w=k[H];P[w]=ee(B,j,w)}return P},ae=function(P,ee){var B=$(P,ee,"hex");return B.create=function(){return new C(P,ee,P)},B.update=function(j){return B.create().update(j)},q(B,$,P,ee)},le=function(P,ee){var B=F(P,ee,"hex");return B.create=function(j){return new C(P,ee,j)},B.update=function(j,H){return B.create(H).update(j)},q(B,F,P,ee)},L=function(P,ee){var B=Y[P],j=G(P,ee,"hex");return j.create=function(H,w,z){return!w&&!z?h["shake"+P].create(H):new C(P,ee,H).bytepad([w,z],B)},j.update=function(H,w,z,ne){return j.create(w,z,ne).update(H)},q(j,G,P,ee)},m=function(P,ee){var B=Y[P],j=x(P,ee,"hex");return j.create=function(H,w,z){return new Z(P,ee,w).bytepad(["KMAC",z],B).bytepad([H],B)},j.update=function(H,w,z,ne){return j.create(H,z,ne).update(w)},q(j,x,P,ee)},c=[{name:"keccak",padding:R,bits:W,createMethod:ae},{name:"sha3",padding:O,bits:W,createMethod:ae},{name:"shake",padding:y,bits:Q,createMethod:le},{name:"cshake",padding:A,bits:Q,createMethod:L},{name:"kmac",padding:A,bits:Q,createMethod:m}],h={},v=[],_=0;_<c.length;++_)for(var I=c[_],M=I.bits,S=0;S<M.length;++S){var d=I.name+"_"+M[S];if(v.push(d),h[d]=I.createMethod(M[S],I.padding),I.name!=="sha3"){var g=I.name+M[S];v.push(g),h[g]=h[d]}}function C(P,ee,B){this.blocks=[],this.s=[],this.padding=ee,this.outputBits=B,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(P<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=B>>5,this.extraBytes=(B&31)>>3;for(var j=0;j<50;++j)this.s[j]=0}C.prototype.update=function(P){if(this.finalized)throw new Error(t);var ee,B=typeof P;if(B!=="string"){if(B==="object"){if(P===null)throw new Error(e);if(b&&P.constructor===ArrayBuffer)P=new Uint8Array(P);else if(!Array.isArray(P)&&(!b||!ArrayBuffer.isView(P)))throw new Error(e)}else throw new Error(e);ee=!0}for(var j=this.blocks,H=this.byteCount,w=P.length,z=this.blockCount,ne=0,ce=this.s,he,ye;ne<w;){if(this.reset)for(this.reset=!1,j[0]=this.block,he=1;he<z+1;++he)j[he]=0;if(ee)for(he=this.start;ne<w&&he<H;++ne)j[he>>2]|=P[ne]<<N[he++&3];else for(he=this.start;ne<w&&he<H;++ne)ye=P.charCodeAt(ne),ye<128?j[he>>2]|=ye<<N[he++&3]:ye<2048?(j[he>>2]|=(192|ye>>6)<<N[he++&3],j[he>>2]|=(128|ye&63)<<N[he++&3]):ye<55296||ye>=57344?(j[he>>2]|=(224|ye>>12)<<N[he++&3],j[he>>2]|=(128|ye>>6&63)<<N[he++&3],j[he>>2]|=(128|ye&63)<<N[he++&3]):(ye=65536+((ye&1023)<<10|P.charCodeAt(++ne)&1023),j[he>>2]|=(240|ye>>18)<<N[he++&3],j[he>>2]|=(128|ye>>12&63)<<N[he++&3],j[he>>2]|=(128|ye>>6&63)<<N[he++&3],j[he>>2]|=(128|ye&63)<<N[he++&3]);if(this.lastByteIndex=he,he>=H){for(this.start=he-H,this.block=j[z],he=0;he<z;++he)ce[he]^=j[he];se(ce),this.reset=!0}else this.start=he}return this},C.prototype.encode=function(P,ee){var B=P&255,j=1,H=[B];for(P=P>>8,B=P&255;B>0;)H.unshift(B),P=P>>8,B=P&255,++j;return ee?H.push(j):H.unshift(j),this.update(H),H.length},C.prototype.encodeString=function(P){var ee,B=typeof P;if(B!=="string"){if(B==="object"){if(P===null)throw new Error(e);if(b&&P.constructor===ArrayBuffer)P=new Uint8Array(P);else if(!Array.isArray(P)&&(!b||!ArrayBuffer.isView(P)))throw new Error(e)}else throw new Error(e);ee=!0}var j=0,H=P.length;if(ee)j=H;else for(var w=0;w<P.length;++w){var z=P.charCodeAt(w);z<128?j+=1:z<2048?j+=2:z<55296||z>=57344?j+=3:(z=65536+((z&1023)<<10|P.charCodeAt(++w)&1023),j+=4)}return j+=this.encode(j*8),this.update(P),j},C.prototype.bytepad=function(P,ee){for(var B=this.encode(ee),j=0;j<P.length;++j)B+=this.encodeString(P[j]);var H=ee-B%ee,w=[];return w.length=H,this.update(w),this},C.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var P=this.blocks,ee=this.lastByteIndex,B=this.blockCount,j=this.s;if(P[ee>>2]|=this.padding[ee&3],this.lastByteIndex===this.byteCount)for(P[0]=P[B],ee=1;ee<B+1;++ee)P[ee]=0;for(P[B-1]|=2147483648,ee=0;ee<B;++ee)j[ee]^=P[ee];se(j)}},C.prototype.toString=C.prototype.hex=function(){this.finalize();for(var P=this.blockCount,ee=this.s,B=this.outputBlocks,j=this.extraBytes,H=0,w=0,z="",ne;w<B;){for(H=0;H<P&&w<B;++H,++w)ne=ee[H],z+=p[ne>>4&15]+p[ne&15]+p[ne>>12&15]+p[ne>>8&15]+p[ne>>20&15]+p[ne>>16&15]+p[ne>>28&15]+p[ne>>24&15];w%P===0&&(se(ee),H=0)}return j&&(ne=ee[H],z+=p[ne>>4&15]+p[ne&15],j>1&&(z+=p[ne>>12&15]+p[ne>>8&15]),j>2&&(z+=p[ne>>20&15]+p[ne>>16&15])),z},C.prototype.arrayBuffer=function(){this.finalize();var P=this.blockCount,ee=this.s,B=this.outputBlocks,j=this.extraBytes,H=0,w=0,z=this.outputBits>>3,ne;j?ne=new ArrayBuffer(B+1<<2):ne=new ArrayBuffer(z);for(var ce=new Uint32Array(ne);w<B;){for(H=0;H<P&&w<B;++H,++w)ce[w]=ee[H];w%P===0&&se(ee)}return j&&(ce[H]=ee[H],ne=ne.slice(0,z)),ne},C.prototype.buffer=C.prototype.arrayBuffer,C.prototype.digest=C.prototype.array=function(){this.finalize();for(var P=this.blockCount,ee=this.s,B=this.outputBlocks,j=this.extraBytes,H=0,w=0,z=[],ne,ce;w<B;){for(H=0;H<P&&w<B;++H,++w)ne=w<<2,ce=ee[H],z[ne]=ce&255,z[ne+1]=ce>>8&255,z[ne+2]=ce>>16&255,z[ne+3]=ce>>24&255;w%P===0&&se(ee)}return j&&(ne=w<<2,ce=ee[H],z[ne]=ce&255,j>1&&(z[ne+1]=ce>>8&255),j>2&&(z[ne+2]=ce>>16&255)),z};function Z(P,ee,B){C.call(this,P,ee,B)}Z.prototype=new C,Z.prototype.finalize=function(){return this.encode(this.outputBits,!0),C.prototype.finalize.call(this)};var se=function(P){var ee,B,j,H,w,z,ne,ce,he,ye,we,Te,Qe,Oe,Ce,Ie,me,Re,De,ve,Ne,Se,be,Ue,Me,_e,He,Ve,Ee,Ke,ut,Ge,_t,lt,Je,Et,It,Le,Xe,tt,qe,et,Ze,ze,ft,rt,je,it,st,Be,Ye,ht,ke,Ct,Dt,at,bt,Tr,Cr,Dr,Lr,qr,er;for(j=0;j<48;j+=2)H=P[0]^P[10]^P[20]^P[30]^P[40],w=P[1]^P[11]^P[21]^P[31]^P[41],z=P[2]^P[12]^P[22]^P[32]^P[42],ne=P[3]^P[13]^P[23]^P[33]^P[43],ce=P[4]^P[14]^P[24]^P[34]^P[44],he=P[5]^P[15]^P[25]^P[35]^P[45],ye=P[6]^P[16]^P[26]^P[36]^P[46],we=P[7]^P[17]^P[27]^P[37]^P[47],Te=P[8]^P[18]^P[28]^P[38]^P[48],Qe=P[9]^P[19]^P[29]^P[39]^P[49],ee=Te^(z<<1|ne>>>31),B=Qe^(ne<<1|z>>>31),P[0]^=ee,P[1]^=B,P[10]^=ee,P[11]^=B,P[20]^=ee,P[21]^=B,P[30]^=ee,P[31]^=B,P[40]^=ee,P[41]^=B,ee=H^(ce<<1|he>>>31),B=w^(he<<1|ce>>>31),P[2]^=ee,P[3]^=B,P[12]^=ee,P[13]^=B,P[22]^=ee,P[23]^=B,P[32]^=ee,P[33]^=B,P[42]^=ee,P[43]^=B,ee=z^(ye<<1|we>>>31),B=ne^(we<<1|ye>>>31),P[4]^=ee,P[5]^=B,P[14]^=ee,P[15]^=B,P[24]^=ee,P[25]^=B,P[34]^=ee,P[35]^=B,P[44]^=ee,P[45]^=B,ee=ce^(Te<<1|Qe>>>31),B=he^(Qe<<1|Te>>>31),P[6]^=ee,P[7]^=B,P[16]^=ee,P[17]^=B,P[26]^=ee,P[27]^=B,P[36]^=ee,P[37]^=B,P[46]^=ee,P[47]^=B,ee=ye^(H<<1|w>>>31),B=we^(w<<1|H>>>31),P[8]^=ee,P[9]^=B,P[18]^=ee,P[19]^=B,P[28]^=ee,P[29]^=B,P[38]^=ee,P[39]^=B,P[48]^=ee,P[49]^=B,Oe=P[0],Ce=P[1],rt=P[11]<<4|P[10]>>>28,je=P[10]<<4|P[11]>>>28,Ve=P[20]<<3|P[21]>>>29,Ee=P[21]<<3|P[20]>>>29,Dr=P[31]<<9|P[30]>>>23,Lr=P[30]<<9|P[31]>>>23,et=P[40]<<18|P[41]>>>14,Ze=P[41]<<18|P[40]>>>14,lt=P[2]<<1|P[3]>>>31,Je=P[3]<<1|P[2]>>>31,Ie=P[13]<<12|P[12]>>>20,me=P[12]<<12|P[13]>>>20,it=P[22]<<10|P[23]>>>22,st=P[23]<<10|P[22]>>>22,Ke=P[33]<<13|P[32]>>>19,ut=P[32]<<13|P[33]>>>19,qr=P[42]<<2|P[43]>>>30,er=P[43]<<2|P[42]>>>30,Ct=P[5]<<30|P[4]>>>2,Dt=P[4]<<30|P[5]>>>2,Et=P[14]<<6|P[15]>>>26,It=P[15]<<6|P[14]>>>26,Re=P[25]<<11|P[24]>>>21,De=P[24]<<11|P[25]>>>21,Be=P[34]<<15|P[35]>>>17,Ye=P[35]<<15|P[34]>>>17,Ge=P[45]<<29|P[44]>>>3,_t=P[44]<<29|P[45]>>>3,Ue=P[6]<<28|P[7]>>>4,Me=P[7]<<28|P[6]>>>4,at=P[17]<<23|P[16]>>>9,bt=P[16]<<23|P[17]>>>9,Le=P[26]<<25|P[27]>>>7,Xe=P[27]<<25|P[26]>>>7,ve=P[36]<<21|P[37]>>>11,Ne=P[37]<<21|P[36]>>>11,ht=P[47]<<24|P[46]>>>8,ke=P[46]<<24|P[47]>>>8,ze=P[8]<<27|P[9]>>>5,ft=P[9]<<27|P[8]>>>5,_e=P[18]<<20|P[19]>>>12,He=P[19]<<20|P[18]>>>12,Tr=P[29]<<7|P[28]>>>25,Cr=P[28]<<7|P[29]>>>25,tt=P[38]<<8|P[39]>>>24,qe=P[39]<<8|P[38]>>>24,Se=P[48]<<14|P[49]>>>18,be=P[49]<<14|P[48]>>>18,P[0]=Oe^~Ie&Re,P[1]=Ce^~me&De,P[10]=Ue^~_e&Ve,P[11]=Me^~He&Ee,P[20]=lt^~Et&Le,P[21]=Je^~It&Xe,P[30]=ze^~rt&it,P[31]=ft^~je&st,P[40]=Ct^~at&Tr,P[41]=Dt^~bt&Cr,P[2]=Ie^~Re&ve,P[3]=me^~De&Ne,P[12]=_e^~Ve&Ke,P[13]=He^~Ee&ut,P[22]=Et^~Le&tt,P[23]=It^~Xe&qe,P[32]=rt^~it&Be,P[33]=je^~st&Ye,P[42]=at^~Tr&Dr,P[43]=bt^~Cr&Lr,P[4]=Re^~ve&Se,P[5]=De^~Ne&be,P[14]=Ve^~Ke&Ge,P[15]=Ee^~ut&_t,P[24]=Le^~tt&et,P[25]=Xe^~qe&Ze,P[34]=it^~Be&ht,P[35]=st^~Ye&ke,P[44]=Tr^~Dr&qr,P[45]=Cr^~Lr&er,P[6]=ve^~Se&Oe,P[7]=Ne^~be&Ce,P[16]=Ke^~Ge&Ue,P[17]=ut^~_t&Me,P[26]=tt^~et<,P[27]=qe^~Ze&Je,P[36]=Be^~ht&ze,P[37]=Ye^~ke&ft,P[46]=Dr^~qr&Ct,P[47]=Lr^~er&Dt,P[8]=Se^~Oe&Ie,P[9]=be^~Ce&me,P[18]=Ge^~Ue&_e,P[19]=_t^~Me&He,P[28]=et^~lt&Et,P[29]=Ze^~Je&It,P[38]=ht^~ze&rt,P[39]=ke^~ft&je,P[48]=qr^~Ct&at,P[49]=er^~Dt&bt,P[0]^=K[j],P[1]^=K[j+1]};if(u)r.exports=h;else for(_=0;_<v.length;++_)n[v[_]]=h[v[_]]})()})(Ub);var wA=Ub.exports;const _A="logger/5.7.0";let $1=!1,z1=!1;const Xf={debug:1,default:2,info:2,warning:3,error:4,off:5};let j1=Xf.default,bl=null;function AA(){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("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(r){return r.message}return null}const k1=AA();var sd;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(sd||(sd={}));var fn;(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"})(fn||(fn={}));const F1="0123456789abcdef";let Or=class gr{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const i=e.toLowerCase();Xf[i]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(j1>Xf[i])&&console.log.apply(console,t)}debug(...e){this._log(gr.levels.DEBUG,e)}info(...e){this._log(gr.levels.INFO,e)}warn(...e){this._log(gr.levels.WARNING,e)}makeError(e,t,i){if(z1)return this.makeError("censored error",t,{});t||(t=gr.errors.UNKNOWN_ERROR),i||(i={});const n=[];Object.keys(i).forEach(b=>{const p=i[b];try{if(p instanceof Uint8Array){let y="";for(let A=0;A<p.length;A++)y+=F1[p[A]>>4],y+=F1[p[A]&15];n.push(b+"=Uint8Array(0x"+y+")")}else n.push(b+"="+JSON.stringify(p))}catch{n.push(b+"="+JSON.stringify(i[b].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);const a=e;let f="";switch(t){case fn.NUMERIC_FAULT:{f="NUMERIC_FAULT";const b=e;switch(b){case"overflow":case"underflow":case"division-by-zero":f+="-"+b;break;case"negative-power":case"negative-width":f+="-unsupported";break;case"unbound-bitwise-result":f+="-unbound-result";break}break}case fn.CALL_EXCEPTION:case fn.INSUFFICIENT_FUNDS:case fn.MISSING_NEW:case fn.NONCE_EXPIRED:case fn.REPLACEMENT_UNDERPRICED:case fn.TRANSACTION_REPLACED:case fn.UNPREDICTABLE_GAS_LIMIT:f=t;break}f&&(e+=" [ See: https://links.ethers.org/v5-errors-"+f+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const u=new Error(e);return u.reason=a,u.code=t,Object.keys(i).forEach(function(b){u[b]=i[b]}),u}throwError(e,t,i){throw this.makeError(e,t,i)}throwArgumentError(e,t,i){return this.throwError(e,gr.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){k1&&this.throwError("platform missing String.prototype.normalize",gr.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:k1})}checkSafeUint53(e,t){typeof e=="number"&&(t==null&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,gr.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,gr.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,gr.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+i,gr.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||e==null)&&this.throwError("missing new",gr.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",gr.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",gr.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return bl||(bl=new gr(_A)),bl}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",gr.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),$1){if(!e)return;this.globalLogger().throwError("error censorship permanent",gr.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}z1=!!e,$1=!!t}static setLogLevel(e){const t=Xf[e.toLowerCase()];if(t==null){gr.globalLogger().warn("invalid log level - "+e);return}j1=t}static from(e){return new gr(e)}};Or.errors=fn,Or.levels=sd;const EA="bytes/5.7.0",cr=new Or(EA);function $b(r){return!!r.toHexString}function eo(r){return r.slice||(r.slice=function(){const e=Array.prototype.slice.call(arguments);return eo(new Uint8Array(Array.prototype.slice.apply(r,e)))}),r}function xA(r){return _i(r)&&!(r.length%2)||bo(r)}function H1(r){return typeof r=="number"&&r==r&&r%1===0}function bo(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!H1(r.length)||r.length<0)return!1;for(let e=0;e<r.length;e++){const t=r[e];if(!H1(t)||t<0||t>=256)return!1}return!0}function ir(r,e){if(e||(e={}),typeof r=="number"){cr.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),eo(new Uint8Array(t))}if(e.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),$b(r)&&(r=r.toHexString()),_i(r)){let t=r.substring(2);t.length%2&&(e.hexPad==="left"?t="0"+t:e.hexPad==="right"?t+="0":cr.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 eo(new Uint8Array(i))}return bo(r)?eo(new Uint8Array(r)):cr.throwArgumentError("invalid arrayify value","value",r)}function SA(r){const e=r.map(n=>ir(n)),t=e.reduce((n,a)=>n+a.length,0),i=new Uint8Array(t);return e.reduce((n,a)=>(i.set(a,n),n+a.length),0),eo(i)}function IA(r,e){r=ir(r),r.length>e&&cr.throwArgumentError("value out of range","value",arguments[0]);const t=new Uint8Array(e);return t.set(r,e-r.length),eo(t)}function _i(r,e){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}const ml="0123456789abcdef";function ci(r,e){if(e||(e={}),typeof r=="number"){cr.checkSafeUint53(r,"invalid hexlify value");let t="";for(;r;)t=ml[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),$b(r))return r.toHexString();if(_i(r))return r.length%2&&(e.hexPad==="left"?r="0x0"+r.substring(2):e.hexPad==="right"?r+="0":cr.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(bo(r)){let t="0x";for(let i=0;i<r.length;i++){let n=r[i];t+=ml[(n&240)>>4]+ml[n&15]}return t}return cr.throwArgumentError("invalid hexlify value","value",r)}function MA(r){if(typeof r!="string")r=ci(r);else if(!_i(r)||r.length%2)return null;return(r.length-2)/2}function K1(r,e,t){return typeof r!="string"?r=ci(r):(!_i(r)||r.length%2)&&cr.throwArgumentError("invalid hexData","value",r),e=2+2*e,t!=null?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function Cn(r,e){for(typeof r!="string"?r=ci(r):_i(r)||cr.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&cr.throwArgumentError("value out of range","value",arguments[1]);r.length<2*e+2;)r="0x0"+r.substring(2);return r}function zb(r){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(xA(r)){let t=ir(r);t.length===64?(e.v=27+(t[32]>>7),t[32]&=127,e.r=ci(t.slice(0,32)),e.s=ci(t.slice(32,64))):t.length===65?(e.r=ci(t.slice(0,32)),e.s=ci(t.slice(32,64)),e.v=t[64]):cr.throwArgumentError("invalid signature string","signature",r),e.v<27&&(e.v===0||e.v===1?e.v+=27:cr.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=ci(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=IA(ir(e._vs),32);e._vs=ci(n);const a=n[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=a:e.recoveryParam!==a&&cr.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),n[0]&=127;const f=ci(n);e.s==null?e.s=f:e.s!==f&&cr.throwArgumentError("signature v mismatch _vs","signature",r)}if(e.recoveryParam==null)e.v==null?cr.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&&cr.throwArgumentError("signature recoveryParam mismatch v","signature",r)}e.r==null||!_i(e.r)?cr.throwArgumentError("signature missing or invalid r","signature",r):e.r=Cn(e.r,32),e.s==null||!_i(e.s)?cr.throwArgumentError("signature missing or invalid s","signature",r):e.s=Cn(e.s,32);const t=ir(e.s);t[0]>=128&&cr.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(t[0]|=128);const i=ci(t);e._vs&&(_i(e._vs)||cr.throwArgumentError("signature invalid _vs","signature",r),e._vs=Cn(e._vs,32)),e._vs==null?e._vs=i:e._vs!==i&&cr.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function kd(r){return"0x"+wA.keccak_256(ir(r))}var jb={exports:{}},PA={},OA=Object.freeze({__proto__:null,default:PA}),RA=yA(OA);(function(r){(function(e,t){function i(c,h){if(!c)throw new Error(h||"Assertion failed")}function n(c,h){c.super_=h;var v=function(){};v.prototype=h.prototype,c.prototype=new v,c.prototype.constructor=c}function a(c,h,v){if(a.isBN(c))return c;this.negative=0,this.words=null,this.length=0,this.red=null,c!==null&&((h==="le"||h==="be")&&(v=h,h=10),this._init(c||0,h||10,v||"be"))}typeof e=="object"?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;var f;try{typeof window<"u"&&typeof window.Buffer<"u"?f=window.Buffer:f=RA.Buffer}catch{}a.isBN=function(c){return c instanceof a?!0:c!==null&&typeof c=="object"&&c.constructor.wordSize===a.wordSize&&Array.isArray(c.words)},a.max=function(c,h){return c.cmp(h)>0?c:h},a.min=function(c,h){return c.cmp(h)<0?c:h},a.prototype._init=function(c,h,v){if(typeof c=="number")return this._initNumber(c,h,v);if(typeof c=="object")return this._initArray(c,h,v);h==="hex"&&(h=16),i(h===(h|0)&&h>=2&&h<=36),c=c.toString().replace(/\s+/g,"");var _=0;c[0]==="-"&&(_++,this.negative=1),_<c.length&&(h===16?this._parseHex(c,_,v):(this._parseBase(c,h,_),v==="le"&&this._initArray(this.toArray(),h,v)))},a.prototype._initNumber=function(c,h,v){c<0&&(this.negative=1,c=-c),c<67108864?(this.words=[c&67108863],this.length=1):c<4503599627370496?(this.words=[c&67108863,c/67108864&67108863],this.length=2):(i(c<9007199254740992),this.words=[c&67108863,c/67108864&67108863,1],this.length=3),v==="le"&&this._initArray(this.toArray(),h,v)},a.prototype._initArray=function(c,h,v){if(i(typeof c.length=="number"),c.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(c.length/3),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var I,M,S=0;if(v==="be")for(_=c.length-1,I=0;_>=0;_-=3)M=c[_]|c[_-1]<<8|c[_-2]<<16,this.words[I]|=M<<S&67108863,this.words[I+1]=M>>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);else if(v==="le")for(_=0,I=0;_<c.length;_+=3)M=c[_]|c[_+1]<<8|c[_+2]<<16,this.words[I]|=M<<S&67108863,this.words[I+1]=M>>>26-S&67108863,S+=24,S>=26&&(S-=26,I++);return this._strip()};function u(c,h){var v=c.charCodeAt(h);if(v>=48&&v<=57)return v-48;if(v>=65&&v<=70)return v-55;if(v>=97&&v<=102)return v-87;i(!1,"Invalid character in "+c)}function b(c,h,v){var _=u(c,v);return v-1>=h&&(_|=u(c,v-1)<<4),_}a.prototype._parseHex=function(c,h,v){this.length=Math.ceil((c.length-h)/6),this.words=new Array(this.length);for(var _=0;_<this.length;_++)this.words[_]=0;var I=0,M=0,S;if(v==="be")for(_=c.length-1;_>=h;_-=2)S=b(c,h,_)<<I,this.words[M]|=S&67108863,I>=18?(I-=18,M+=1,this.words[M]|=S>>>26):I+=8;else{var d=c.length-h;for(_=d%2===0?h+1:h;_<c.length;_+=2)S=b(c,h,_)<<I,this.words[M]|=S&67108863,I>=18?(I-=18,M+=1,this.words[M]|=S>>>26):I+=8}this._strip()};function p(c,h,v,_){for(var I=0,M=0,S=Math.min(c.length,v),d=h;d<S;d++){var g=c.charCodeAt(d)-48;I*=_,g>=49?M=g-49+10:g>=17?M=g-17+10:M=g,i(g>=0&&M<_,"Invalid character"),I+=M}return I}a.prototype._parseBase=function(c,h,v){this.words=[0],this.length=1;for(var _=0,I=1;I<=67108863;I*=h)_++;_--,I=I/h|0;for(var M=c.length-v,S=M%_,d=Math.min(M,M-S)+v,g=0,C=v;C<d;C+=_)g=p(c,C,C+_,h),this.imuln(I),this.words[0]+g<67108864?this.words[0]+=g:this._iaddn(g);if(S!==0){var Z=1;for(g=p(c,C,c.length,h),C=0;C<S;C++)Z*=h;this.imuln(Z),this.words[0]+g<67108864?this.words[0]+=g:this._iaddn(g)}this._strip()},a.prototype.copy=function(c){c.words=new Array(this.length);for(var h=0;h<this.length;h++)c.words[h]=this.words[h];c.length=this.length,c.negative=this.negative,c.red=this.red};function y(c,h){c.words=h.words,c.length=h.length,c.negative=h.negative,c.red=h.red}if(a.prototype._move=function(c){y(c,this)},a.prototype.clone=function(){var c=new a(null);return this.copy(c),c},a.prototype._expand=function(c){for(;this.length<c;)this.words[this.length++]=0;return this},a.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},a.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{a.prototype[Symbol.for("nodejs.util.inspect.custom")]=A}catch{a.prototype.inspect=A}else a.prototype.inspect=A;function A(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var R=["","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"],O=[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];a.prototype.toString=function(c,h){c=c||10,h=h|0||1;var v;if(c===16||c==="hex"){v="";for(var _=0,I=0,M=0;M<this.length;M++){var S=this.words[M],d=((S<<_|I)&16777215).toString(16);I=S>>>24-_&16777215,_+=2,_>=26&&(_-=26,M--),I!==0||M!==this.length-1?v=R[6-d.length]+d+v:v=d+v}for(I!==0&&(v=I.toString(16)+v);v.length%h!==0;)v="0"+v;return this.negative!==0&&(v="-"+v),v}if(c===(c|0)&&c>=2&&c<=36){var g=O[c],C=N[c];v="";var Z=this.clone();for(Z.negative=0;!Z.isZero();){var se=Z.modrn(C).toString(c);Z=Z.idivn(C),Z.isZero()?v=se+v:v=R[g-se.length]+se+v}for(this.isZero()&&(v="0"+v);v.length%h!==0;)v="0"+v;return this.negative!==0&&(v="-"+v),v}i(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var c=this.words[0];return this.length===2?c+=this.words[1]*67108864:this.length===3&&this.words[2]===1?c+=4503599627370496+this.words[1]*67108864:this.length>2&&i(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-c:c},a.prototype.toJSON=function(){return this.toString(16,2)},f&&(a.prototype.toBuffer=function(c,h){return this.toArrayLike(f,c,h)}),a.prototype.toArray=function(c,h){return this.toArrayLike(Array,c,h)};var K=function(c,h){return c.allocUnsafe?c.allocUnsafe(h):new c(h)};a.prototype.toArrayLike=function(c,h,v){this._strip();var _=this.byteLength(),I=v||Math.max(1,_);i(_<=I,"byte array longer than desired length"),i(I>0,"Requested array length <= 0");var M=K(c,I),S=h==="le"?"LE":"BE";return this["_toArrayLike"+S](M,_),M},a.prototype._toArrayLikeLE=function(c,h){for(var v=0,_=0,I=0,M=0;I<this.length;I++){var S=this.words[I]<<M|_;c[v++]=S&255,v<c.length&&(c[v++]=S>>8&255),v<c.length&&(c[v++]=S>>16&255),M===6?(v<c.length&&(c[v++]=S>>24&255),_=0,M=0):(_=S>>>24,M+=2)}if(v<c.length)for(c[v++]=_;v<c.length;)c[v++]=0},a.prototype._toArrayLikeBE=function(c,h){for(var v=c.length-1,_=0,I=0,M=0;I<this.length;I++){var S=this.words[I]<<M|_;c[v--]=S&255,v>=0&&(c[v--]=S>>8&255),v>=0&&(c[v--]=S>>16&255),M===6?(v>=0&&(c[v--]=S>>24&255),_=0,M=0):(_=S>>>24,M+=2)}if(v>=0)for(c[v--]=_;v>=0;)c[v--]=0},Math.clz32?a.prototype._countBits=function(c){return 32-Math.clz32(c)}:a.prototype._countBits=function(c){var h=c,v=0;return h>=4096&&(v+=13,h>>>=13),h>=64&&(v+=7,h>>>=7),h>=8&&(v+=4,h>>>=4),h>=2&&(v+=2,h>>>=2),v+h},a.prototype._zeroBits=function(c){if(c===0)return 26;var h=c,v=0;return h&8191||(v+=13,h>>>=13),h&127||(v+=7,h>>>=7),h&15||(v+=4,h>>>=4),h&3||(v+=2,h>>>=2),h&1||v++,v},a.prototype.bitLength=function(){var c=this.words[this.length-1],h=this._countBits(c);return(this.length-1)*26+h};function W(c){for(var h=new Array(c.bitLength()),v=0;v<h.length;v++){var _=v/26|0,I=v%26;h[v]=c.words[_]>>>I&1}return h}a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var c=0,h=0;h<this.length;h++){var v=this._zeroBits(this.words[h]);if(c+=v,v!==26)break}return c},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(c){return this.negative!==0?this.abs().inotn(c).iaddn(1):this.clone()},a.prototype.fromTwos=function(c){return this.testn(c-1)?this.notn(c).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return this.negative!==0},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(c){for(;this.length<c.length;)this.words[this.length++]=0;for(var h=0;h<c.length;h++)this.words[h]=this.words[h]|c.words[h];return this._strip()},a.prototype.ior=function(c){return i((this.negative|c.negative)===0),this.iuor(c)},a.prototype.or=function(c){return this.length>c.length?this.clone().ior(c):c.clone().ior(this)},a.prototype.uor=function(c){return this.length>c.length?this.clone().iuor(c):c.clone().iuor(this)},a.prototype.iuand=function(c){var h;this.length>c.length?h=c:h=this;for(var v=0;v<h.length;v++)this.words[v]=this.words[v]&c.words[v];return this.length=h.length,this._strip()},a.prototype.iand=function(c){return i((this.negative|c.negative)===0),this.iuand(c)},a.prototype.and=function(c){return this.length>c.length?this.clone().iand(c):c.clone().iand(this)},a.prototype.uand=function(c){return this.length>c.length?this.clone().iuand(c):c.clone().iuand(this)},a.prototype.iuxor=function(c){var h,v;this.length>c.length?(h=this,v=c):(h=c,v=this);for(var _=0;_<v.length;_++)this.words[_]=h.words[_]^v.words[_];if(this!==h)for(;_<h.length;_++)this.words[_]=h.words[_];return this.length=h.length,this._strip()},a.prototype.ixor=function(c){return i((this.negative|c.negative)===0),this.iuxor(c)},a.prototype.xor=function(c){return this.length>c.length?this.clone().ixor(c):c.clone().ixor(this)},a.prototype.uxor=function(c){return this.length>c.length?this.clone().iuxor(c):c.clone().iuxor(this)},a.prototype.inotn=function(c){i(typeof c=="number"&&c>=0);var h=Math.ceil(c/26)|0,v=c%26;this._expand(h),v>0&&h--;for(var _=0;_<h;_++)this.words[_]=~this.words[_]&67108863;return v>0&&(this.words[_]=~this.words[_]&67108863>>26-v),this._strip()},a.prototype.notn=function(c){return this.clone().inotn(c)},a.prototype.setn=function(c,h){i(typeof c=="number"&&c>=0);var v=c/26|0,_=c%26;return this._expand(v+1),h?this.words[v]=this.words[v]|1<<_:this.words[v]=this.words[v]&~(1<<_),this._strip()},a.prototype.iadd=function(c){var h;if(this.negative!==0&&c.negative===0)return this.negative=0,h=this.isub(c),this.negative^=1,this._normSign();if(this.negative===0&&c.negative!==0)return c.negative=0,h=this.isub(c),c.negative=1,h._normSign();var v,_;this.length>c.length?(v=this,_=c):(v=c,_=this);for(var I=0,M=0;M<_.length;M++)h=(v.words[M]|0)+(_.words[M]|0)+I,this.words[M]=h&67108863,I=h>>>26;for(;I!==0&&M<v.length;M++)h=(v.words[M]|0)+I,this.words[M]=h&67108863,I=h>>>26;if(this.length=v.length,I!==0)this.words[this.length]=I,this.length++;else if(v!==this)for(;M<v.length;M++)this.words[M]=v.words[M];return this},a.prototype.add=function(c){var h;return c.negative!==0&&this.negative===0?(c.negative=0,h=this.sub(c),c.negative^=1,h):c.negative===0&&this.negative!==0?(this.negative=0,h=c.sub(this),this.negative=1,h):this.length>c.length?this.clone().iadd(c):c.clone().iadd(this)},a.prototype.isub=function(c){if(c.negative!==0){c.negative=0;var h=this.iadd(c);return c.negative=1,h._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(c),this.negative=1,this._normSign();var v=this.cmp(c);if(v===0)return this.negative=0,this.length=1,this.words[0]=0,this;var _,I;v>0?(_=this,I=c):(_=c,I=this);for(var M=0,S=0;S<I.length;S++)h=(_.words[S]|0)-(I.words[S]|0)+M,M=h>>26,this.words[S]=h&67108863;for(;M!==0&&S<_.length;S++)h=(_.words[S]|0)+M,M=h>>26,this.words[S]=h&67108863;if(M===0&&S<_.length&&_!==this)for(;S<_.length;S++)this.words[S]=_.words[S];return this.length=Math.max(this.length,S),_!==this&&(this.negative=1),this._strip()},a.prototype.sub=function(c){return this.clone().isub(c)};function Q(c,h,v){v.negative=h.negative^c.negative;var _=c.length+h.length|0;v.length=_,_=_-1|0;var I=c.words[0]|0,M=h.words[0]|0,S=I*M,d=S&67108863,g=S/67108864|0;v.words[0]=d;for(var C=1;C<_;C++){for(var Z=g>>>26,se=g&67108863,P=Math.min(C,h.length-1),ee=Math.max(0,C-c.length+1);ee<=P;ee++){var B=C-ee|0;I=c.words[B]|0,M=h.words[ee]|0,S=I*M+se,Z+=S/67108864|0,se=S&67108863}v.words[C]=se|0,g=Z|0}return g!==0?v.words[C]=g|0:v.length--,v._strip()}var k=function(c,h,v){var _=c.words,I=h.words,M=v.words,S=0,d,g,C,Z=_[0]|0,se=Z&8191,P=Z>>>13,ee=_[1]|0,B=ee&8191,j=ee>>>13,H=_[2]|0,w=H&8191,z=H>>>13,ne=_[3]|0,ce=ne&8191,he=ne>>>13,ye=_[4]|0,we=ye&8191,Te=ye>>>13,Qe=_[5]|0,Oe=Qe&8191,Ce=Qe>>>13,Ie=_[6]|0,me=Ie&8191,Re=Ie>>>13,De=_[7]|0,ve=De&8191,Ne=De>>>13,Se=_[8]|0,be=Se&8191,Ue=Se>>>13,Me=_[9]|0,_e=Me&8191,He=Me>>>13,Ve=I[0]|0,Ee=Ve&8191,Ke=Ve>>>13,ut=I[1]|0,Ge=ut&8191,_t=ut>>>13,lt=I[2]|0,Je=lt&8191,Et=lt>>>13,It=I[3]|0,Le=It&8191,Xe=It>>>13,tt=I[4]|0,qe=tt&8191,et=tt>>>13,Ze=I[5]|0,ze=Ze&8191,ft=Ze>>>13,rt=I[6]|0,je=rt&8191,it=rt>>>13,st=I[7]|0,Be=st&8191,Ye=st>>>13,ht=I[8]|0,ke=ht&8191,Ct=ht>>>13,Dt=I[9]|0,at=Dt&8191,bt=Dt>>>13;v.negative=c.negative^h.negative,v.length=19,d=Math.imul(se,Ee),g=Math.imul(se,Ke),g=g+Math.imul(P,Ee)|0,C=Math.imul(P,Ke);var Tr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Tr>>>26)|0,Tr&=67108863,d=Math.imul(B,Ee),g=Math.imul(B,Ke),g=g+Math.imul(j,Ee)|0,C=Math.imul(j,Ke),d=d+Math.imul(se,Ge)|0,g=g+Math.imul(se,_t)|0,g=g+Math.imul(P,Ge)|0,C=C+Math.imul(P,_t)|0;var Cr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Cr>>>26)|0,Cr&=67108863,d=Math.imul(w,Ee),g=Math.imul(w,Ke),g=g+Math.imul(z,Ee)|0,C=Math.imul(z,Ke),d=d+Math.imul(B,Ge)|0,g=g+Math.imul(B,_t)|0,g=g+Math.imul(j,Ge)|0,C=C+Math.imul(j,_t)|0,d=d+Math.imul(se,Je)|0,g=g+Math.imul(se,Et)|0,g=g+Math.imul(P,Je)|0,C=C+Math.imul(P,Et)|0;var Dr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,d=Math.imul(ce,Ee),g=Math.imul(ce,Ke),g=g+Math.imul(he,Ee)|0,C=Math.imul(he,Ke),d=d+Math.imul(w,Ge)|0,g=g+Math.imul(w,_t)|0,g=g+Math.imul(z,Ge)|0,C=C+Math.imul(z,_t)|0,d=d+Math.imul(B,Je)|0,g=g+Math.imul(B,Et)|0,g=g+Math.imul(j,Je)|0,C=C+Math.imul(j,Et)|0,d=d+Math.imul(se,Le)|0,g=g+Math.imul(se,Xe)|0,g=g+Math.imul(P,Le)|0,C=C+Math.imul(P,Xe)|0;var Lr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Lr>>>26)|0,Lr&=67108863,d=Math.imul(we,Ee),g=Math.imul(we,Ke),g=g+Math.imul(Te,Ee)|0,C=Math.imul(Te,Ke),d=d+Math.imul(ce,Ge)|0,g=g+Math.imul(ce,_t)|0,g=g+Math.imul(he,Ge)|0,C=C+Math.imul(he,_t)|0,d=d+Math.imul(w,Je)|0,g=g+Math.imul(w,Et)|0,g=g+Math.imul(z,Je)|0,C=C+Math.imul(z,Et)|0,d=d+Math.imul(B,Le)|0,g=g+Math.imul(B,Xe)|0,g=g+Math.imul(j,Le)|0,C=C+Math.imul(j,Xe)|0,d=d+Math.imul(se,qe)|0,g=g+Math.imul(se,et)|0,g=g+Math.imul(P,qe)|0,C=C+Math.imul(P,et)|0;var qr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(qr>>>26)|0,qr&=67108863,d=Math.imul(Oe,Ee),g=Math.imul(Oe,Ke),g=g+Math.imul(Ce,Ee)|0,C=Math.imul(Ce,Ke),d=d+Math.imul(we,Ge)|0,g=g+Math.imul(we,_t)|0,g=g+Math.imul(Te,Ge)|0,C=C+Math.imul(Te,_t)|0,d=d+Math.imul(ce,Je)|0,g=g+Math.imul(ce,Et)|0,g=g+Math.imul(he,Je)|0,C=C+Math.imul(he,Et)|0,d=d+Math.imul(w,Le)|0,g=g+Math.imul(w,Xe)|0,g=g+Math.imul(z,Le)|0,C=C+Math.imul(z,Xe)|0,d=d+Math.imul(B,qe)|0,g=g+Math.imul(B,et)|0,g=g+Math.imul(j,qe)|0,C=C+Math.imul(j,et)|0,d=d+Math.imul(se,ze)|0,g=g+Math.imul(se,ft)|0,g=g+Math.imul(P,ze)|0,C=C+Math.imul(P,ft)|0;var er=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(er>>>26)|0,er&=67108863,d=Math.imul(me,Ee),g=Math.imul(me,Ke),g=g+Math.imul(Re,Ee)|0,C=Math.imul(Re,Ke),d=d+Math.imul(Oe,Ge)|0,g=g+Math.imul(Oe,_t)|0,g=g+Math.imul(Ce,Ge)|0,C=C+Math.imul(Ce,_t)|0,d=d+Math.imul(we,Je)|0,g=g+Math.imul(we,Et)|0,g=g+Math.imul(Te,Je)|0,C=C+Math.imul(Te,Et)|0,d=d+Math.imul(ce,Le)|0,g=g+Math.imul(ce,Xe)|0,g=g+Math.imul(he,Le)|0,C=C+Math.imul(he,Xe)|0,d=d+Math.imul(w,qe)|0,g=g+Math.imul(w,et)|0,g=g+Math.imul(z,qe)|0,C=C+Math.imul(z,et)|0,d=d+Math.imul(B,ze)|0,g=g+Math.imul(B,ft)|0,g=g+Math.imul(j,ze)|0,C=C+Math.imul(j,ft)|0,d=d+Math.imul(se,je)|0,g=g+Math.imul(se,it)|0,g=g+Math.imul(P,je)|0,C=C+Math.imul(P,it)|0;var Qr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Qr>>>26)|0,Qr&=67108863,d=Math.imul(ve,Ee),g=Math.imul(ve,Ke),g=g+Math.imul(Ne,Ee)|0,C=Math.imul(Ne,Ke),d=d+Math.imul(me,Ge)|0,g=g+Math.imul(me,_t)|0,g=g+Math.imul(Re,Ge)|0,C=C+Math.imul(Re,_t)|0,d=d+Math.imul(Oe,Je)|0,g=g+Math.imul(Oe,Et)|0,g=g+Math.imul(Ce,Je)|0,C=C+Math.imul(Ce,Et)|0,d=d+Math.imul(we,Le)|0,g=g+Math.imul(we,Xe)|0,g=g+Math.imul(Te,Le)|0,C=C+Math.imul(Te,Xe)|0,d=d+Math.imul(ce,qe)|0,g=g+Math.imul(ce,et)|0,g=g+Math.imul(he,qe)|0,C=C+Math.imul(he,et)|0,d=d+Math.imul(w,ze)|0,g=g+Math.imul(w,ft)|0,g=g+Math.imul(z,ze)|0,C=C+Math.imul(z,ft)|0,d=d+Math.imul(B,je)|0,g=g+Math.imul(B,it)|0,g=g+Math.imul(j,je)|0,C=C+Math.imul(j,it)|0,d=d+Math.imul(se,Be)|0,g=g+Math.imul(se,Ye)|0,g=g+Math.imul(P,Be)|0,C=C+Math.imul(P,Ye)|0;var Vi=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Vi>>>26)|0,Vi&=67108863,d=Math.imul(be,Ee),g=Math.imul(be,Ke),g=g+Math.imul(Ue,Ee)|0,C=Math.imul(Ue,Ke),d=d+Math.imul(ve,Ge)|0,g=g+Math.imul(ve,_t)|0,g=g+Math.imul(Ne,Ge)|0,C=C+Math.imul(Ne,_t)|0,d=d+Math.imul(me,Je)|0,g=g+Math.imul(me,Et)|0,g=g+Math.imul(Re,Je)|0,C=C+Math.imul(Re,Et)|0,d=d+Math.imul(Oe,Le)|0,g=g+Math.imul(Oe,Xe)|0,g=g+Math.imul(Ce,Le)|0,C=C+Math.imul(Ce,Xe)|0,d=d+Math.imul(we,qe)|0,g=g+Math.imul(we,et)|0,g=g+Math.imul(Te,qe)|0,C=C+Math.imul(Te,et)|0,d=d+Math.imul(ce,ze)|0,g=g+Math.imul(ce,ft)|0,g=g+Math.imul(he,ze)|0,C=C+Math.imul(he,ft)|0,d=d+Math.imul(w,je)|0,g=g+Math.imul(w,it)|0,g=g+Math.imul(z,je)|0,C=C+Math.imul(z,it)|0,d=d+Math.imul(B,Be)|0,g=g+Math.imul(B,Ye)|0,g=g+Math.imul(j,Be)|0,C=C+Math.imul(j,Ye)|0,d=d+Math.imul(se,ke)|0,g=g+Math.imul(se,Ct)|0,g=g+Math.imul(P,ke)|0,C=C+Math.imul(P,Ct)|0;var Xr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Xr>>>26)|0,Xr&=67108863,d=Math.imul(_e,Ee),g=Math.imul(_e,Ke),g=g+Math.imul(He,Ee)|0,C=Math.imul(He,Ke),d=d+Math.imul(be,Ge)|0,g=g+Math.imul(be,_t)|0,g=g+Math.imul(Ue,Ge)|0,C=C+Math.imul(Ue,_t)|0,d=d+Math.imul(ve,Je)|0,g=g+Math.imul(ve,Et)|0,g=g+Math.imul(Ne,Je)|0,C=C+Math.imul(Ne,Et)|0,d=d+Math.imul(me,Le)|0,g=g+Math.imul(me,Xe)|0,g=g+Math.imul(Re,Le)|0,C=C+Math.imul(Re,Xe)|0,d=d+Math.imul(Oe,qe)|0,g=g+Math.imul(Oe,et)|0,g=g+Math.imul(Ce,qe)|0,C=C+Math.imul(Ce,et)|0,d=d+Math.imul(we,ze)|0,g=g+Math.imul(we,ft)|0,g=g+Math.imul(Te,ze)|0,C=C+Math.imul(Te,ft)|0,d=d+Math.imul(ce,je)|0,g=g+Math.imul(ce,it)|0,g=g+Math.imul(he,je)|0,C=C+Math.imul(he,it)|0,d=d+Math.imul(w,Be)|0,g=g+Math.imul(w,Ye)|0,g=g+Math.imul(z,Be)|0,C=C+Math.imul(z,Ye)|0,d=d+Math.imul(B,ke)|0,g=g+Math.imul(B,Ct)|0,g=g+Math.imul(j,ke)|0,C=C+Math.imul(j,Ct)|0,d=d+Math.imul(se,at)|0,g=g+Math.imul(se,bt)|0,g=g+Math.imul(P,at)|0,C=C+Math.imul(P,bt)|0;var Gi=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,d=Math.imul(_e,Ge),g=Math.imul(_e,_t),g=g+Math.imul(He,Ge)|0,C=Math.imul(He,_t),d=d+Math.imul(be,Je)|0,g=g+Math.imul(be,Et)|0,g=g+Math.imul(Ue,Je)|0,C=C+Math.imul(Ue,Et)|0,d=d+Math.imul(ve,Le)|0,g=g+Math.imul(ve,Xe)|0,g=g+Math.imul(Ne,Le)|0,C=C+Math.imul(Ne,Xe)|0,d=d+Math.imul(me,qe)|0,g=g+Math.imul(me,et)|0,g=g+Math.imul(Re,qe)|0,C=C+Math.imul(Re,et)|0,d=d+Math.imul(Oe,ze)|0,g=g+Math.imul(Oe,ft)|0,g=g+Math.imul(Ce,ze)|0,C=C+Math.imul(Ce,ft)|0,d=d+Math.imul(we,je)|0,g=g+Math.imul(we,it)|0,g=g+Math.imul(Te,je)|0,C=C+Math.imul(Te,it)|0,d=d+Math.imul(ce,Be)|0,g=g+Math.imul(ce,Ye)|0,g=g+Math.imul(he,Be)|0,C=C+Math.imul(he,Ye)|0,d=d+Math.imul(w,ke)|0,g=g+Math.imul(w,Ct)|0,g=g+Math.imul(z,ke)|0,C=C+Math.imul(z,Ct)|0,d=d+Math.imul(B,at)|0,g=g+Math.imul(B,bt)|0,g=g+Math.imul(j,at)|0,C=C+Math.imul(j,bt)|0;var Wi=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Wi>>>26)|0,Wi&=67108863,d=Math.imul(_e,Je),g=Math.imul(_e,Et),g=g+Math.imul(He,Je)|0,C=Math.imul(He,Et),d=d+Math.imul(be,Le)|0,g=g+Math.imul(be,Xe)|0,g=g+Math.imul(Ue,Le)|0,C=C+Math.imul(Ue,Xe)|0,d=d+Math.imul(ve,qe)|0,g=g+Math.imul(ve,et)|0,g=g+Math.imul(Ne,qe)|0,C=C+Math.imul(Ne,et)|0,d=d+Math.imul(me,ze)|0,g=g+Math.imul(me,ft)|0,g=g+Math.imul(Re,ze)|0,C=C+Math.imul(Re,ft)|0,d=d+Math.imul(Oe,je)|0,g=g+Math.imul(Oe,it)|0,g=g+Math.imul(Ce,je)|0,C=C+Math.imul(Ce,it)|0,d=d+Math.imul(we,Be)|0,g=g+Math.imul(we,Ye)|0,g=g+Math.imul(Te,Be)|0,C=C+Math.imul(Te,Ye)|0,d=d+Math.imul(ce,ke)|0,g=g+Math.imul(ce,Ct)|0,g=g+Math.imul(he,ke)|0,C=C+Math.imul(he,Ct)|0,d=d+Math.imul(w,at)|0,g=g+Math.imul(w,bt)|0,g=g+Math.imul(z,at)|0,C=C+Math.imul(z,bt)|0;var Zr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,d=Math.imul(_e,Le),g=Math.imul(_e,Xe),g=g+Math.imul(He,Le)|0,C=Math.imul(He,Xe),d=d+Math.imul(be,qe)|0,g=g+Math.imul(be,et)|0,g=g+Math.imul(Ue,qe)|0,C=C+Math.imul(Ue,et)|0,d=d+Math.imul(ve,ze)|0,g=g+Math.imul(ve,ft)|0,g=g+Math.imul(Ne,ze)|0,C=C+Math.imul(Ne,ft)|0,d=d+Math.imul(me,je)|0,g=g+Math.imul(me,it)|0,g=g+Math.imul(Re,je)|0,C=C+Math.imul(Re,it)|0,d=d+Math.imul(Oe,Be)|0,g=g+Math.imul(Oe,Ye)|0,g=g+Math.imul(Ce,Be)|0,C=C+Math.imul(Ce,Ye)|0,d=d+Math.imul(we,ke)|0,g=g+Math.imul(we,Ct)|0,g=g+Math.imul(Te,ke)|0,C=C+Math.imul(Te,Ct)|0,d=d+Math.imul(ce,at)|0,g=g+Math.imul(ce,bt)|0,g=g+Math.imul(he,at)|0,C=C+Math.imul(he,bt)|0;var Si=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Si>>>26)|0,Si&=67108863,d=Math.imul(_e,qe),g=Math.imul(_e,et),g=g+Math.imul(He,qe)|0,C=Math.imul(He,et),d=d+Math.imul(be,ze)|0,g=g+Math.imul(be,ft)|0,g=g+Math.imul(Ue,ze)|0,C=C+Math.imul(Ue,ft)|0,d=d+Math.imul(ve,je)|0,g=g+Math.imul(ve,it)|0,g=g+Math.imul(Ne,je)|0,C=C+Math.imul(Ne,it)|0,d=d+Math.imul(me,Be)|0,g=g+Math.imul(me,Ye)|0,g=g+Math.imul(Re,Be)|0,C=C+Math.imul(Re,Ye)|0,d=d+Math.imul(Oe,ke)|0,g=g+Math.imul(Oe,Ct)|0,g=g+Math.imul(Ce,ke)|0,C=C+Math.imul(Ce,Ct)|0,d=d+Math.imul(we,at)|0,g=g+Math.imul(we,bt)|0,g=g+Math.imul(Te,at)|0,C=C+Math.imul(Te,bt)|0;var Ii=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Ii>>>26)|0,Ii&=67108863,d=Math.imul(_e,ze),g=Math.imul(_e,ft),g=g+Math.imul(He,ze)|0,C=Math.imul(He,ft),d=d+Math.imul(be,je)|0,g=g+Math.imul(be,it)|0,g=g+Math.imul(Ue,je)|0,C=C+Math.imul(Ue,it)|0,d=d+Math.imul(ve,Be)|0,g=g+Math.imul(ve,Ye)|0,g=g+Math.imul(Ne,Be)|0,C=C+Math.imul(Ne,Ye)|0,d=d+Math.imul(me,ke)|0,g=g+Math.imul(me,Ct)|0,g=g+Math.imul(Re,ke)|0,C=C+Math.imul(Re,Ct)|0,d=d+Math.imul(Oe,at)|0,g=g+Math.imul(Oe,bt)|0,g=g+Math.imul(Ce,at)|0,C=C+Math.imul(Ce,bt)|0;var lr=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(lr>>>26)|0,lr&=67108863,d=Math.imul(_e,je),g=Math.imul(_e,it),g=g+Math.imul(He,je)|0,C=Math.imul(He,it),d=d+Math.imul(be,Be)|0,g=g+Math.imul(be,Ye)|0,g=g+Math.imul(Ue,Be)|0,C=C+Math.imul(Ue,Ye)|0,d=d+Math.imul(ve,ke)|0,g=g+Math.imul(ve,Ct)|0,g=g+Math.imul(Ne,ke)|0,C=C+Math.imul(Ne,Ct)|0,d=d+Math.imul(me,at)|0,g=g+Math.imul(me,bt)|0,g=g+Math.imul(Re,at)|0,C=C+Math.imul(Re,bt)|0;var Ji=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Ji>>>26)|0,Ji&=67108863,d=Math.imul(_e,Be),g=Math.imul(_e,Ye),g=g+Math.imul(He,Be)|0,C=Math.imul(He,Ye),d=d+Math.imul(be,ke)|0,g=g+Math.imul(be,Ct)|0,g=g+Math.imul(Ue,ke)|0,C=C+Math.imul(Ue,Ct)|0,d=d+Math.imul(ve,at)|0,g=g+Math.imul(ve,bt)|0,g=g+Math.imul(Ne,at)|0,C=C+Math.imul(Ne,bt)|0;var Yi=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Yi>>>26)|0,Yi&=67108863,d=Math.imul(_e,ke),g=Math.imul(_e,Ct),g=g+Math.imul(He,ke)|0,C=Math.imul(He,Ct),d=d+Math.imul(be,at)|0,g=g+Math.imul(be,bt)|0,g=g+Math.imul(Ue,at)|0,C=C+Math.imul(Ue,bt)|0;var Qi=(S+d|0)+((g&8191)<<13)|0;S=(C+(g>>>13)|0)+(Qi>>>26)|0,Qi&=67108863,d=Math.imul(_e,at),g=Math.imul(_e,bt),g=g+Math.imul(He,at)|0,C=Math.imul(He,bt);var js=(S+d|0)+((g&8191)<<13)|0;return S=(C+(g>>>13)|0)+(js>>>26)|0,js&=67108863,M[0]=Tr,M[1]=Cr,M[2]=Dr,M[3]=Lr,M[4]=qr,M[5]=er,M[6]=Qr,M[7]=Vi,M[8]=Xr,M[9]=Gi,M[10]=Wi,M[11]=Zr,M[12]=Si,M[13]=Ii,M[14]=lr,M[15]=Ji,M[16]=Yi,M[17]=Qi,M[18]=js,S!==0&&(M[19]=S,v.length++),v};Math.imul||(k=Q);function Y(c,h,v){v.negative=h.negative^c.negative,v.length=c.length+h.length;for(var _=0,I=0,M=0;M<v.length-1;M++){var S=I;I=0;for(var d=_&67108863,g=Math.min(M,h.length-1),C=Math.max(0,M-c.length+1);C<=g;C++){var Z=M-C,se=c.words[Z]|0,P=h.words[C]|0,ee=se*P,B=ee&67108863;S=S+(ee/67108864|0)|0,B=B+d|0,d=B&67108863,S=S+(B>>>26)|0,I+=S>>>26,S&=67108863}v.words[M]=d,_=S,S=I}return _!==0?v.words[M]=_:v.length--,v._strip()}function $(c,h,v){return Y(c,h,v)}a.prototype.mulTo=function(c,h){var v,_=this.length+c.length;return this.length===10&&c.length===10?v=k(this,c,h):_<63?v=Q(this,c,h):_<1024?v=Y(this,c,h):v=$(this,c,h),v},a.prototype.mul=function(c){var h=new a(null);return h.words=new Array(this.length+c.length),this.mulTo(c,h)},a.prototype.mulf=function(c){var h=new a(null);return h.words=new Array(this.length+c.length),$(this,c,h)},a.prototype.imul=function(c){return this.clone().mulTo(c,this)},a.prototype.imuln=function(c){var h=c<0;h&&(c=-c),i(typeof c=="number"),i(c<67108864);for(var v=0,_=0;_<this.length;_++){var I=(this.words[_]|0)*c,M=(I&67108863)+(v&67108863);v>>=26,v+=I/67108864|0,v+=M>>>26,this.words[_]=M&67108863}return v!==0&&(this.words[_]=v,this.length++),h?this.ineg():this},a.prototype.muln=function(c){return this.clone().imuln(c)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(c){var h=W(c);if(h.length===0)return new a(1);for(var v=this,_=0;_<h.length&&h[_]===0;_++,v=v.sqr());if(++_<h.length)for(var I=v.sqr();_<h.length;_++,I=I.sqr())h[_]!==0&&(v=v.mul(I));return v},a.prototype.iushln=function(c){i(typeof c=="number"&&c>=0);var h=c%26,v=(c-h)/26,_=67108863>>>26-h<<26-h,I;if(h!==0){var M=0;for(I=0;I<this.length;I++){var S=this.words[I]&_,d=(this.words[I]|0)-S<<h;this.words[I]=d|M,M=S>>>26-h}M&&(this.words[I]=M,this.length++)}if(v!==0){for(I=this.length-1;I>=0;I--)this.words[I+v]=this.words[I];for(I=0;I<v;I++)this.words[I]=0;this.length+=v}return this._strip()},a.prototype.ishln=function(c){return i(this.negative===0),this.iushln(c)},a.prototype.iushrn=function(c,h,v){i(typeof c=="number"&&c>=0);var _;h?_=(h-h%26)/26:_=0;var I=c%26,M=Math.min((c-I)/26,this.length),S=67108863^67108863>>>I<<I,d=v;if(_-=M,_=Math.max(0,_),d){for(var g=0;g<M;g++)d.words[g]=this.words[g];d.length=M}if(M!==0)if(this.length>M)for(this.length-=M,g=0;g<this.length;g++)this.words[g]=this.words[g+M];else this.words[0]=0,this.length=1;var C=0;for(g=this.length-1;g>=0&&(C!==0||g>=_);g--){var Z=this.words[g]|0;this.words[g]=C<<26-I|Z>>>I,C=Z&S}return d&&C!==0&&(d.words[d.length++]=C),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},a.prototype.ishrn=function(c,h,v){return i(this.negative===0),this.iushrn(c,h,v)},a.prototype.shln=function(c){return this.clone().ishln(c)},a.prototype.ushln=function(c){return this.clone().iushln(c)},a.prototype.shrn=function(c){return this.clone().ishrn(c)},a.prototype.ushrn=function(c){return this.clone().iushrn(c)},a.prototype.testn=function(c){i(typeof c=="number"&&c>=0);var h=c%26,v=(c-h)/26,_=1<<h;if(this.length<=v)return!1;var I=this.words[v];return!!(I&_)},a.prototype.imaskn=function(c){i(typeof c=="number"&&c>=0);var h=c%26,v=(c-h)/26;if(i(this.negative===0,"imaskn works only with positive numbers"),this.length<=v)return this;if(h!==0&&v++,this.length=Math.min(v,this.length),h!==0){var _=67108863^67108863>>>h<<h;this.words[this.length-1]&=_}return this._strip()},a.prototype.maskn=function(c){return this.clone().imaskn(c)},a.prototype.iaddn=function(c){return i(typeof c=="number"),i(c<67108864),c<0?this.isubn(-c):this.negative!==0?this.length===1&&(this.words[0]|0)<=c?(this.words[0]=c-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(c),this.negative=1,this):this._iaddn(c)},a.prototype._iaddn=function(c){this.words[0]+=c;for(var h=0;h<this.length&&this.words[h]>=67108864;h++)this.words[h]-=67108864,h===this.length-1?this.words[h+1]=1:this.words[h+1]++;return this.length=Math.max(this.length,h+1),this},a.prototype.isubn=function(c){if(i(typeof c=="number"),i(c<67108864),c<0)return this.iaddn(-c);if(this.negative!==0)return this.negative=0,this.iaddn(c),this.negative=1,this;if(this.words[0]-=c,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var h=0;h<this.length&&this.words[h]<0;h++)this.words[h]+=67108864,this.words[h+1]-=1;return this._strip()},a.prototype.addn=function(c){return this.clone().iaddn(c)},a.prototype.subn=function(c){return this.clone().isubn(c)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(c,h,v){var _=c.length+v,I;this._expand(_);var M,S=0;for(I=0;I<c.length;I++){M=(this.words[I+v]|0)+S;var d=(c.words[I]|0)*h;M-=d&67108863,S=(M>>26)-(d/67108864|0),this.words[I+v]=M&67108863}for(;I<this.length-v;I++)M=(this.words[I+v]|0)+S,S=M>>26,this.words[I+v]=M&67108863;if(S===0)return this._strip();for(i(S===-1),S=0,I=0;I<this.length;I++)M=-(this.words[I]|0)+S,S=M>>26,this.words[I]=M&67108863;return this.negative=1,this._strip()},a.prototype._wordDiv=function(c,h){var v=this.length-c.length,_=this.clone(),I=c,M=I.words[I.length-1]|0,S=this._countBits(M);v=26-S,v!==0&&(I=I.ushln(v),_.iushln(v),M=I.words[I.length-1]|0);var d=_.length-I.length,g;if(h!=="mod"){g=new a(null),g.length=d+1,g.words=new Array(g.length);for(var C=0;C<g.length;C++)g.words[C]=0}var Z=_.clone()._ishlnsubmul(I,1,d);Z.negative===0&&(_=Z,g&&(g.words[d]=1));for(var se=d-1;se>=0;se--){var P=(_.words[I.length+se]|0)*67108864+(_.words[I.length+se-1]|0);for(P=Math.min(P/M|0,67108863),_._ishlnsubmul(I,P,se);_.negative!==0;)P--,_.negative=0,_._ishlnsubmul(I,1,se),_.isZero()||(_.negative^=1);g&&(g.words[se]=P)}return g&&g._strip(),_._strip(),h!=="div"&&v!==0&&_.iushrn(v),{div:g||null,mod:_}},a.prototype.divmod=function(c,h,v){if(i(!c.isZero()),this.isZero())return{div:new a(0),mod:new a(0)};var _,I,M;return this.negative!==0&&c.negative===0?(M=this.neg().divmod(c,h),h!=="mod"&&(_=M.div.neg()),h!=="div"&&(I=M.mod.neg(),v&&I.negative!==0&&I.iadd(c)),{div:_,mod:I}):this.negative===0&&c.negative!==0?(M=this.divmod(c.neg(),h),h!=="mod"&&(_=M.div.neg()),{div:_,mod:M.mod}):this.negative&c.negative?(M=this.neg().divmod(c.neg(),h),h!=="div"&&(I=M.mod.neg(),v&&I.negative!==0&&I.isub(c)),{div:M.div,mod:I}):c.length>this.length||this.cmp(c)<0?{div:new a(0),mod:this}:c.length===1?h==="div"?{div:this.divn(c.words[0]),mod:null}:h==="mod"?{div:null,mod:new a(this.modrn(c.words[0]))}:{div:this.divn(c.words[0]),mod:new a(this.modrn(c.words[0]))}:this._wordDiv(c,h)},a.prototype.div=function(c){return this.divmod(c,"div",!1).div},a.prototype.mod=function(c){return this.divmod(c,"mod",!1).mod},a.prototype.umod=function(c){return this.divmod(c,"mod",!0).mod},a.prototype.divRound=function(c){var h=this.divmod(c);if(h.mod.isZero())return h.div;var v=h.div.negative!==0?h.mod.isub(c):h.mod,_=c.ushrn(1),I=c.andln(1),M=v.cmp(_);return M<0||I===1&&M===0?h.div:h.div.negative!==0?h.div.isubn(1):h.div.iaddn(1)},a.prototype.modrn=function(c){var h=c<0;h&&(c=-c),i(c<=67108863);for(var v=(1<<26)%c,_=0,I=this.length-1;I>=0;I--)_=(v*_+(this.words[I]|0))%c;return h?-_:_},a.prototype.modn=function(c){return this.modrn(c)},a.prototype.idivn=function(c){var h=c<0;h&&(c=-c),i(c<=67108863);for(var v=0,_=this.length-1;_>=0;_--){var I=(this.words[_]|0)+v*67108864;this.words[_]=I/c|0,v=I%c}return this._strip(),h?this.ineg():this},a.prototype.divn=function(c){return this.clone().idivn(c)},a.prototype.egcd=function(c){i(c.negative===0),i(!c.isZero());var h=this,v=c.clone();h.negative!==0?h=h.umod(c):h=h.clone();for(var _=new a(1),I=new a(0),M=new a(0),S=new a(1),d=0;h.isEven()&&v.isEven();)h.iushrn(1),v.iushrn(1),++d;for(var g=v.clone(),C=h.clone();!h.isZero();){for(var Z=0,se=1;!(h.words[0]&se)&&Z<26;++Z,se<<=1);if(Z>0)for(h.iushrn(Z);Z-- >0;)(_.isOdd()||I.isOdd())&&(_.iadd(g),I.isub(C)),_.iushrn(1),I.iushrn(1);for(var P=0,ee=1;!(v.words[0]&ee)&&P<26;++P,ee<<=1);if(P>0)for(v.iushrn(P);P-- >0;)(M.isOdd()||S.isOdd())&&(M.iadd(g),S.isub(C)),M.iushrn(1),S.iushrn(1);h.cmp(v)>=0?(h.isub(v),_.isub(M),I.isub(S)):(v.isub(h),M.isub(_),S.isub(I))}return{a:M,b:S,gcd:v.iushln(d)}},a.prototype._invmp=function(c){i(c.negative===0),i(!c.isZero());var h=this,v=c.clone();h.negative!==0?h=h.umod(c):h=h.clone();for(var _=new a(1),I=new a(0),M=v.clone();h.cmpn(1)>0&&v.cmpn(1)>0;){for(var S=0,d=1;!(h.words[0]&d)&&S<26;++S,d<<=1);if(S>0)for(h.iushrn(S);S-- >0;)_.isOdd()&&_.iadd(M),_.iushrn(1);for(var g=0,C=1;!(v.words[0]&C)&&g<26;++g,C<<=1);if(g>0)for(v.iushrn(g);g-- >0;)I.isOdd()&&I.iadd(M),I.iushrn(1);h.cmp(v)>=0?(h.isub(v),_.isub(I)):(v.isub(h),I.isub(_))}var Z;return h.cmpn(1)===0?Z=_:Z=I,Z.cmpn(0)<0&&Z.iadd(c),Z},a.prototype.gcd=function(c){if(this.isZero())return c.abs();if(c.isZero())return this.abs();var h=this.clone(),v=c.clone();h.negative=0,v.negative=0;for(var _=0;h.isEven()&&v.isEven();_++)h.iushrn(1),v.iushrn(1);do{for(;h.isEven();)h.iushrn(1);for(;v.isEven();)v.iushrn(1);var I=h.cmp(v);if(I<0){var M=h;h=v,v=M}else if(I===0||v.cmpn(1)===0)break;h.isub(v)}while(!0);return v.iushln(_)},a.prototype.invm=function(c){return this.egcd(c).a.umod(c)},a.prototype.isEven=function(){return(this.words[0]&1)===0},a.prototype.isOdd=function(){return(this.words[0]&1)===1},a.prototype.andln=function(c){return this.words[0]&c},a.prototype.bincn=function(c){i(typeof c=="number");var h=c%26,v=(c-h)/26,_=1<<h;if(this.length<=v)return this._expand(v+1),this.words[v]|=_,this;for(var I=_,M=v;I!==0&&M<this.length;M++){var S=this.words[M]|0;S+=I,I=S>>>26,S&=67108863,this.words[M]=S}return I!==0&&(this.words[M]=I,this.length++),this},a.prototype.isZero=function(){return this.length===1&&this.words[0]===0},a.prototype.cmpn=function(c){var h=c<0;if(this.negative!==0&&!h)return-1;if(this.negative===0&&h)return 1;this._strip();var v;if(this.length>1)v=1;else{h&&(c=-c),i(c<=67108863,"Number is too big");var _=this.words[0]|0;v=_===c?0:_<c?-1:1}return this.negative!==0?-v|0:v},a.prototype.cmp=function(c){if(this.negative!==0&&c.negative===0)return-1;if(this.negative===0&&c.negative!==0)return 1;var h=this.ucmp(c);return this.negative!==0?-h|0:h},a.prototype.ucmp=function(c){if(this.length>c.length)return 1;if(this.length<c.length)return-1;for(var h=0,v=this.length-1;v>=0;v--){var _=this.words[v]|0,I=c.words[v]|0;if(_!==I){_<I?h=-1:_>I&&(h=1);break}}return h},a.prototype.gtn=function(c){return this.cmpn(c)===1},a.prototype.gt=function(c){return this.cmp(c)===1},a.prototype.gten=function(c){return this.cmpn(c)>=0},a.prototype.gte=function(c){return this.cmp(c)>=0},a.prototype.ltn=function(c){return this.cmpn(c)===-1},a.prototype.lt=function(c){return this.cmp(c)===-1},a.prototype.lten=function(c){return this.cmpn(c)<=0},a.prototype.lte=function(c){return this.cmp(c)<=0},a.prototype.eqn=function(c){return this.cmpn(c)===0},a.prototype.eq=function(c){return this.cmp(c)===0},a.red=function(c){return new L(c)},a.prototype.toRed=function(c){return i(!this.red,"Already a number in reduction context"),i(this.negative===0,"red works only with positives"),c.convertTo(this)._forceRed(c)},a.prototype.fromRed=function(){return i(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(c){return this.red=c,this},a.prototype.forceRed=function(c){return i(!this.red,"Already a number in reduction context"),this._forceRed(c)},a.prototype.redAdd=function(c){return i(this.red,"redAdd works only with red numbers"),this.red.add(this,c)},a.prototype.redIAdd=function(c){return i(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,c)},a.prototype.redSub=function(c){return i(this.red,"redSub works only with red numbers"),this.red.sub(this,c)},a.prototype.redISub=function(c){return i(this.red,"redISub works only with red numbers"),this.red.isub(this,c)},a.prototype.redShl=function(c){return i(this.red,"redShl works only with red numbers"),this.red.shl(this,c)},a.prototype.redMul=function(c){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,c),this.red.mul(this,c)},a.prototype.redIMul=function(c){return i(this.red,"redMul works only with red numbers"),this.red._verify2(this,c),this.red.imul(this,c)},a.prototype.redSqr=function(){return i(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return i(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return i(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return i(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return i(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(c){return i(this.red&&!c.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,c)};var F={k256:null,p224:null,p192:null,p25519:null};function G(c,h){this.name=c,this.p=new a(h,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}G.prototype._tmp=function(){var c=new a(null);return c.words=new Array(Math.ceil(this.n/13)),c},G.prototype.ireduce=function(c){var h=c,v;do this.split(h,this.tmp),h=this.imulK(h),h=h.iadd(this.tmp),v=h.bitLength();while(v>this.n);var _=v<this.n?-1:h.ucmp(this.p);return _===0?(h.words[0]=0,h.length=1):_>0?h.isub(this.p):h.strip!==void 0?h.strip():h._strip(),h},G.prototype.split=function(c,h){c.iushrn(this.n,0,h)},G.prototype.imulK=function(c){return c.imul(this.k)};function x(){G.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(x,G),x.prototype.split=function(c,h){for(var v=4194303,_=Math.min(c.length,9),I=0;I<_;I++)h.words[I]=c.words[I];if(h.length=_,c.length<=9){c.words[0]=0,c.length=1;return}var M=c.words[9];for(h.words[h.length++]=M&v,I=10;I<c.length;I++){var S=c.words[I]|0;c.words[I-10]=(S&v)<<4|M>>>22,M=S}M>>>=22,c.words[I-10]=M,M===0&&c.length>10?c.length-=10:c.length-=9},x.prototype.imulK=function(c){c.words[c.length]=0,c.words[c.length+1]=0,c.length+=2;for(var h=0,v=0;v<c.length;v++){var _=c.words[v]|0;h+=_*977,c.words[v]=h&67108863,h=_*64+(h/67108864|0)}return c.words[c.length-1]===0&&(c.length--,c.words[c.length-1]===0&&c.length--),c};function q(){G.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(q,G);function ae(){G.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(ae,G);function le(){G.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(le,G),le.prototype.imulK=function(c){for(var h=0,v=0;v<c.length;v++){var _=(c.words[v]|0)*19+h,I=_&67108863;_>>>=26,c.words[v]=I,h=_}return h!==0&&(c.words[c.length++]=h),c},a._prime=function(c){if(F[c])return F[c];var h;if(c==="k256")h=new x;else if(c==="p224")h=new q;else if(c==="p192")h=new ae;else if(c==="p25519")h=new le;else throw new Error("Unknown prime "+c);return F[c]=h,h};function L(c){if(typeof c=="string"){var h=a._prime(c);this.m=h.p,this.prime=h}else i(c.gtn(1),"modulus must be greater than 1"),this.m=c,this.prime=null}L.prototype._verify1=function(c){i(c.negative===0,"red works only with positives"),i(c.red,"red works only with red numbers")},L.prototype._verify2=function(c,h){i((c.negative|h.negative)===0,"red works only with positives"),i(c.red&&c.red===h.red,"red works only with red numbers")},L.prototype.imod=function(c){return this.prime?this.prime.ireduce(c)._forceRed(this):(y(c,c.umod(this.m)._forceRed(this)),c)},L.prototype.neg=function(c){return c.isZero()?c.clone():this.m.sub(c)._forceRed(this)},L.prototype.add=function(c,h){this._verify2(c,h);var v=c.add(h);return v.cmp(this.m)>=0&&v.isub(this.m),v._forceRed(this)},L.prototype.iadd=function(c,h){this._verify2(c,h);var v=c.iadd(h);return v.cmp(this.m)>=0&&v.isub(this.m),v},L.prototype.sub=function(c,h){this._verify2(c,h);var v=c.sub(h);return v.cmpn(0)<0&&v.iadd(this.m),v._forceRed(this)},L.prototype.isub=function(c,h){this._verify2(c,h);var v=c.isub(h);return v.cmpn(0)<0&&v.iadd(this.m),v},L.prototype.shl=function(c,h){return this._verify1(c),this.imod(c.ushln(h))},L.prototype.imul=function(c,h){return this._verify2(c,h),this.imod(c.imul(h))},L.prototype.mul=function(c,h){return this._verify2(c,h),this.imod(c.mul(h))},L.prototype.isqr=function(c){return this.imul(c,c.clone())},L.prototype.sqr=function(c){return this.mul(c,c)},L.prototype.sqrt=function(c){if(c.isZero())return c.clone();var h=this.m.andln(3);if(i(h%2===1),h===3){var v=this.m.add(new a(1)).iushrn(2);return this.pow(c,v)}for(var _=this.m.subn(1),I=0;!_.isZero()&&_.andln(1)===0;)I++,_.iushrn(1);i(!_.isZero());var M=new a(1).toRed(this),S=M.redNeg(),d=this.m.subn(1).iushrn(1),g=this.m.bitLength();for(g=new a(2*g*g).toRed(this);this.pow(g,d).cmp(S)!==0;)g.redIAdd(S);for(var C=this.pow(g,_),Z=this.pow(c,_.addn(1).iushrn(1)),se=this.pow(c,_),P=I;se.cmp(M)!==0;){for(var ee=se,B=0;ee.cmp(M)!==0;B++)ee=ee.redSqr();i(B<P);var j=this.pow(C,new a(1).iushln(P-B-1));Z=Z.redMul(j),C=j.redSqr(),se=se.redMul(C),P=B}return Z},L.prototype.invm=function(c){var h=c._invmp(this.m);return h.negative!==0?(h.negative=0,this.imod(h).redNeg()):this.imod(h)},L.prototype.pow=function(c,h){if(h.isZero())return new a(1).toRed(this);if(h.cmpn(1)===0)return c.clone();var v=4,_=new Array(1<<v);_[0]=new a(1).toRed(this),_[1]=c;for(var I=2;I<_.length;I++)_[I]=this.mul(_[I-1],c);var M=_[0],S=0,d=0,g=h.bitLength()%26;for(g===0&&(g=26),I=h.length-1;I>=0;I--){for(var C=h.words[I],Z=g-1;Z>=0;Z--){var se=C>>Z&1;if(M!==_[0]&&(M=this.sqr(M)),se===0&&S===0){d=0;continue}S<<=1,S|=se,d++,!(d!==v&&(I!==0||Z!==0))&&(M=this.mul(M,_[S]),d=0,S=0)}g=26}return M},L.prototype.convertTo=function(c){var h=c.umod(this.m);return h===c?h.clone():h},L.prototype.convertFrom=function(c){var h=c.clone();return h.red=null,h},a.mont=function(c){return new m(c)};function m(c){L.call(this,c),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new a(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(m,L),m.prototype.convertTo=function(c){return this.imod(c.ushln(this.shift))},m.prototype.convertFrom=function(c){var h=this.imod(c.mul(this.rinv));return h.red=null,h},m.prototype.imul=function(c,h){if(c.isZero()||h.isZero())return c.words[0]=0,c.length=1,c;var v=c.imul(h),_=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=v.isub(_).iushrn(this.shift),M=I;return I.cmp(this.m)>=0?M=I.isub(this.m):I.cmpn(0)<0&&(M=I.iadd(this.m)),M._forceRed(this)},m.prototype.mul=function(c,h){if(c.isZero()||h.isZero())return new a(0)._forceRed(this);var v=c.mul(h),_=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),I=v.isub(_).iushrn(this.shift),M=I;return I.cmp(this.m)>=0?M=I.isub(this.m):I.cmpn(0)<0&&(M=I.iadd(this.m)),M._forceRed(this)},m.prototype.invm=function(c){var h=this.imod(c._invmp(this.m).mul(this.r2));return h._forceRed(this)}})(r,Bb)})(jb);var vt=jb.exports;const kb="bignumber/5.7.0";var ph=vt.BN;const os=new Or(kb),yl={},V1=9007199254740991;function NA(r){return r!=null&&(Gt.isBigNumber(r)||typeof r=="number"&&r%1===0||typeof r=="string"&&!!r.match(/^-?[0-9]+$/)||_i(r)||typeof r=="bigint"||bo(r))}let G1=!1;class Gt{constructor(e,t){e!==yl&&os.throwError("cannot call constructor directly; use BigNumber.from",Or.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return si(Pt(this).fromTwos(e))}toTwos(e){return si(Pt(this).toTwos(e))}abs(){return this._hex[0]==="-"?Gt.from(this._hex.substring(1)):this}add(e){return si(Pt(this).add(Pt(e)))}sub(e){return si(Pt(this).sub(Pt(e)))}div(e){return Gt.from(e).isZero()&&Li("division-by-zero","div"),si(Pt(this).div(Pt(e)))}mul(e){return si(Pt(this).mul(Pt(e)))}mod(e){const t=Pt(e);return t.isNeg()&&Li("division-by-zero","mod"),si(Pt(this).umod(t))}pow(e){const t=Pt(e);return t.isNeg()&&Li("negative-power","pow"),si(Pt(this).pow(t))}and(e){const t=Pt(e);return(this.isNegative()||t.isNeg())&&Li("unbound-bitwise-result","and"),si(Pt(this).and(t))}or(e){const t=Pt(e);return(this.isNegative()||t.isNeg())&&Li("unbound-bitwise-result","or"),si(Pt(this).or(t))}xor(e){const t=Pt(e);return(this.isNegative()||t.isNeg())&&Li("unbound-bitwise-result","xor"),si(Pt(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&Li("negative-width","mask"),si(Pt(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Li("negative-width","shl"),si(Pt(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Li("negative-width","shr"),si(Pt(this).shrn(e))}eq(e){return Pt(this).eq(Pt(e))}lt(e){return Pt(this).lt(Pt(e))}lte(e){return Pt(this).lte(Pt(e))}gt(e){return Pt(this).gt(Pt(e))}gte(e){return Pt(this).gte(Pt(e))}isNegative(){return this._hex[0]==="-"}isZero(){return Pt(this).isZero()}toNumber(){try{return Pt(this).toNumber()}catch{Li("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return os.throwError("this platform does not support BigInt",Or.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?G1||(G1=!0,os.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?os.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",Or.errors.UNEXPECTED_ARGUMENT,{}):os.throwError("BigNumber.toString does not accept parameters",Or.errors.UNEXPECTED_ARGUMENT,{})),Pt(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Gt)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new Gt(yl,pc(e)):e.match(/^-?[0-9]+$/)?new Gt(yl,pc(new ph(e))):os.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Li("underflow","BigNumber.from",e),(e>=V1||e<=-V1)&&Li("overflow","BigNumber.from",e),Gt.from(String(e));const t=e;if(typeof t=="bigint")return Gt.from(t.toString());if(bo(t))return Gt.from(ci(t));if(t)if(t.toHexString){const i=t.toHexString();if(typeof i=="string")return Gt.from(i)}else{let i=t._hex;if(i==null&&t.type==="BigNumber"&&(i=t.hex),typeof i=="string"&&(_i(i)||i[0]==="-"&&_i(i.substring(1))))return Gt.from(i)}return os.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function pc(r){if(typeof r!="string")return pc(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&os.throwArgumentError("invalid hex","value",r),r=pc(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 si(r){return Gt.from(pc(r))}function Pt(r){const e=Gt.from(r).toHexString();return e[0]==="-"?new ph("-"+e.substring(3),16):new ph(e.substring(2),16)}function Li(r,e,t){const i={fault:r,operation:e};return t!=null&&(i.value=t),os.throwError(r,Or.errors.NUMERIC_FAULT,i)}function TA(r){return new ph(r,36).toString(16)}const Wr=new Or(kb),oc={},Fb=Gt.from(0),Hb=Gt.from(-1);function Kb(r,e,t,i){const n={fault:e,operation:t};return i!==void 0&&(n.value=i),Wr.throwError(r,Or.errors.NUMERIC_FAULT,n)}let cc="0";for(;cc.length<256;)cc+=cc;function Fd(r){if(typeof r!="number")try{r=Gt.from(r).toNumber()}catch{}return typeof r=="number"&&r>=0&&r<=256&&!(r%1)?"1"+cc.substring(0,r):Wr.throwArgumentError("invalid decimal size","decimals",r)}function wl(r,e){e==null&&(e=0);const t=Fd(e);r=Gt.from(r);const i=r.lt(Fb);i&&(r=r.mul(Hb));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 a=r.div(t).toString();return t.length===1?r=a:r=a+"."+n,i&&(r="-"+r),r}function is(r,e){e==null&&(e=0);const t=Fd(e);(typeof r!="string"||!r.match(/^-?[0-9.]+$/))&&Wr.throwArgumentError("invalid decimal value","value",r);const i=r.substring(0,1)==="-";i&&(r=r.substring(1)),r==="."&&Wr.throwArgumentError("missing value","value",r);const n=r.split(".");n.length>2&&Wr.throwArgumentError("too many decimal points","value",r);let a=n[0],f=n[1];for(a||(a="0"),f||(f="0");f[f.length-1]==="0";)f=f.substring(0,f.length-1);for(f.length>t.length-1&&Kb("fractional component exceeds decimals","underflow","parseFixed"),f===""&&(f="0");f.length<t.length-1;)f+="0";const u=Gt.from(a),b=Gt.from(f);let p=u.mul(t).add(b);return i&&(p=p.mul(Hb)),p}let _l=class ad{constructor(e,t,i,n){e!==oc&&Wr.throwError("cannot use FixedFormat constructor; use FixedFormat.from",Or.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=Fd(n),Object.freeze(this)}static from(e){if(e instanceof ad)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 a=e.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);a||Wr.throwArgumentError("invalid fixed format","format",e),t=a[1]!=="u",i=parseInt(a[2]),n=parseInt(a[3])}}else if(e){const a=(f,u,b)=>e[f]==null?b:(typeof e[f]!==u&&Wr.throwArgumentError("invalid fixed format ("+f+" not "+u+")","format."+f,e[f]),e[f]);t=a("signed","boolean",t),i=a("width","number",i),n=a("decimals","number",n)}return i%8&&Wr.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",i),n>80&&Wr.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new ad(oc,t,i,n)}},Vb=class Vr{constructor(e,t,i,n){e!==oc&&Wr.throwError("cannot use FixedNumber constructor; use FixedNumber.from",Or.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&&Wr.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=is(this._value,this.format.decimals),i=is(e._value,e.format.decimals);return Vr.fromValue(t.add(i),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=is(this._value,this.format.decimals),i=is(e._value,e.format.decimals);return Vr.fromValue(t.sub(i),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=is(this._value,this.format.decimals),i=is(e._value,e.format.decimals);return Vr.fromValue(t.mul(i).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=is(this._value,this.format.decimals),i=is(e._value,e.format.decimals);return Vr.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=Vr.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return this.isNegative()&&i&&(t=t.subUnsafe(W1.toFormat(t.format))),t}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let t=Vr.from(e[0],this.format);const i=!e[1].match(/^(0*)$/);return!this.isNegative()&&i&&(t=t.addUnsafe(W1.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)&&Wr.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;const i=Vr.from("1"+cc.substring(0,e),this.format),n=CA.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&&Wr.throwArgumentError("invalid byte width","width",e);const t=Gt.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Cn(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Vr.fromString(this._value,e)}static fromValue(e,t,i){return i==null&&t!=null&&!NA(t)&&(i=t,t=null),t==null&&(t=0),i==null&&(i="fixed"),Vr.fromString(wl(e,t),_l.from(i))}static fromString(e,t){t==null&&(t="fixed");const i=_l.from(t),n=is(e,i.decimals);!i.signed&&n.lt(Fb)&&Kb("unsigned value cannot be negative","overflow","value",e);let a=null;i.signed?a=n.toTwos(i.width).toHexString():(a=n.toHexString(),a=Cn(a,i.width/8));const f=wl(n,i.decimals);return new Vr(oc,a,f,i)}static fromBytes(e,t){t==null&&(t="fixed");const i=_l.from(t);if(ir(e).length>i.width/8)throw new Error("overflow");let n=Gt.from(e);i.signed&&(n=n.fromTwos(i.width));const a=n.toTwos((i.signed?0:1)+i.width).toHexString(),f=wl(n,i.decimals);return new Vr(oc,a,f,i)}static from(e,t){if(typeof e=="string")return Vr.fromString(e,t);if(bo(e))return Vr.fromBytes(e,t);try{return Vr.fromValue(e,0,t)}catch(i){if(i.code!==Or.errors.INVALID_ARGUMENT)throw i}return Wr.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}};const W1=Vb.from(1),CA=Vb.from("0.5"),DA="strings/5.7.0",LA=new Or(DA);var gh;(function(r){r.current="",r.NFC="NFC",r.NFD="NFD",r.NFKC="NFKC",r.NFKD="NFKD"})(gh||(gh={}));var J1;(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"})(J1||(J1={}));function Al(r,e=gh.current){e!=gh.current&&(LA.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 a=r.charCodeAt(i);if(i>=r.length||(a&64512)!==56320)throw new Error("invalid utf-8 string");const f=65536+((n&1023)<<10)+(a&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 ir(t)}function qA(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 El(r,e){e||(e=function(n){return[parseInt(n,16)]});let t=0,i={};return r.split(",").forEach(n=>{let a=n.split(":");t+=parseInt(a[0],16),i[t]=e(a[1])}),i}function Y1(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}})}Y1("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)),El("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"),El("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"),El("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",qA),Y1("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");function BA(r){r=atob(r);const e=[];for(let t=0;t<r.length;t++)e.push(r.charCodeAt(t));return ir(e)}function Gb(r,e){e==null&&(e=1);const t=[],i=t.forEach,n=function(a,f){i.call(a,function(u){f>0&&Array.isArray(u)?n(u,f-1):t.push(u)})};return n(r,e),t}function UA(r){const e={};for(let t=0;t<r.length;t++){const i=r[t];e[i[0]]=i[1]}return e}function $A(r){let e=0;function t(){return r[e++]<<8|r[e++]}let i=t(),n=1,a=[0,1];for(let F=1;F<i;F++)a.push(n+=t());let f=t(),u=e;e+=f;let b=0,p=0;function y(){return b==0&&(p=p<<8|r[e++],b=8),p>>--b&1}const A=31,R=Math.pow(2,A),O=R>>>1,N=O>>1,K=R-1;let W=0;for(let F=0;F<A;F++)W=W<<1|y();let Q=[],k=0,Y=R;for(;;){let F=Math.floor(((W-k+1)*n-1)/Y),G=0,x=i;for(;x-G>1;){let le=G+x>>>1;F<a[le]?x=le:G=le}if(G==0)break;Q.push(G);let q=k+Math.floor(Y*a[G]/n),ae=k+Math.floor(Y*a[G+1]/n)-1;for(;!((q^ae)&O);)W=W<<1&K|y(),q=q<<1&K,ae=ae<<1&K|1;for(;q&~ae&N;)W=W&O|W<<1&K>>>1|y(),q=q<<1^O,ae=(ae^O)<<1|O|1;k=q,Y=1+ae-q}let $=i-4;return Q.map(F=>{switch(F-$){case 3:return $+65792+(r[u++]<<16|r[u++]<<8|r[u++]);case 2:return $+256+(r[u++]<<8|r[u++]);case 1:return $+r[u++];default:return F-1}})}function zA(r){let e=0;return()=>r[e++]}function jA(r){return zA($A(r))}function kA(r){return r&1?~r>>1:r>>1}function FA(r,e){let t=Array(r);for(let i=0;i<r;i++)t[i]=1+e();return t}function Q1(r,e){let t=Array(r);for(let i=0,n=-1;i<r;i++)t[i]=n+=1+e();return t}function HA(r,e){let t=Array(r);for(let i=0,n=0;i<r;i++)t[i]=n+=kA(e());return t}function vh(r,e){let t=Q1(r(),r),i=r(),n=Q1(i,r),a=FA(i,r);for(let f=0;f<i;f++)for(let u=0;u<a[f];u++)t.push(n[f]+u);return e?t.map(f=>e[f]):t}function KA(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(GA(t,r))}for(;;){let t=r()-1;if(t<0)break;e.push(WA(t,r))}return UA(Gb(e))}function VA(r){let e=[];for(;;){let t=r();if(t==0)break;e.push(t)}return e}function Wb(r,e,t){let i=Array(r).fill(void 0).map(()=>[]);for(let n=0;n<e;n++)HA(r,t).forEach((a,f)=>i[f].push(a));return i}function GA(r,e){let t=1+e(),i=e(),n=VA(e),a=Wb(n.length,1+r,e);return Gb(a.map((f,u)=>{const b=f[0],p=f.slice(1);return Array(n[u]).fill(void 0).map((y,A)=>{let R=A*i;return[b+A*t,p.map(O=>O+R)]})}))}function WA(r,e){let t=1+e();return Wb(t,1+r,e).map(i=>[i[0],i.slice(1)])}function JA(r){let e=vh(r).sort((i,n)=>i-n);return t();function t(){let i=[];for(;;){let p=vh(r,e);if(p.length==0)break;i.push({set:new Set(p),node:t()})}i.sort((p,y)=>y.set.size-p.set.size);let n=r(),a=n%3;n=n/3|0;let f=!!(n&1);n>>=1;let u=n==1,b=n==2;return{branches:i,valid:a,fe0f:f,save:u,check:b}}}function YA(){return jA(BA("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}const Uf=YA();new Set(vh(Uf)),new Set(vh(Uf)),KA(Uf),JA(Uf);const QA=new Uint8Array(32);QA.fill(0);const XA=`Ethereum Signed Message:
|
||
`;function Jb(r){return typeof r=="string"&&(r=Al(r)),kd(SA([Al(XA),Al(String(r.length)),r]))}const ZA="address/5.7.0",ic=new Or(ZA);function X1(r){_i(r,20)||ic.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=ir(kd(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 eE=9007199254740991;function tE(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const Hd={};for(let r=0;r<10;r++)Hd[String(r)]=String(r);for(let r=0;r<26;r++)Hd[String.fromCharCode(65+r)]=String(10+r);const Z1=Math.floor(tE(eE));function rE(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let e=r.split("").map(i=>Hd[i]).join("");for(;e.length>=Z1;){let i=e.substring(0,Z1);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 iE(r){let e=null;if(typeof r!="string"&&ic.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),e=X1(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==r&&ic.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)!==rE(r)&&ic.throwArgumentError("bad icap checksum","address",r),e=TA(r.substring(4));e.length<40;)e="0"+e;e=X1("0x"+e)}else ic.throwArgumentError("invalid address","address",r);return e}function Go(r,e,t){Object.defineProperty(r,e,{enumerable:!0,value:t,writable:!1})}const nE=new Uint8Array(32);nE.fill(0),Gt.from(-1);const sE=Gt.from(0),aE=Gt.from(1);Gt.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Cn(aE.toHexString(),32),Cn(sE.toHexString(),32);var xn={},Rt={},Mc=Yb;function Yb(r,e){if(!r)throw new Error(e||"Assertion failed")}Yb.equal=function(r,e,t){if(r!=e)throw new Error(t||"Assertion failed: "+r+" != "+e)};var od={exports:{}};typeof Object.create=="function"?od.exports=function(r,e){e&&(r.super_=e,r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:od.exports=function(r,e){if(e){r.super_=e;var t=function(){};t.prototype=e.prototype,r.prototype=new t,r.prototype.constructor=r}};var oE=Mc,cE=od.exports;Rt.inherits=cE;function fE(r,e){return(r.charCodeAt(e)&64512)!==55296||e<0||e+1>=r.length?!1:(r.charCodeAt(e+1)&64512)===56320}function hE(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 a=r.charCodeAt(n);a<128?t[i++]=a:a<2048?(t[i++]=a>>6|192,t[i++]=a&63|128):fE(r,n)?(a=65536+((a&1023)<<10)+(r.charCodeAt(++n)&1023),t[i++]=a>>18|240,t[i++]=a>>12&63|128,t[i++]=a>>6&63|128,t[i++]=a&63|128):(t[i++]=a>>12|224,t[i++]=a>>6&63|128,t[i++]=a&63|128)}else for(n=0;n<r.length;n++)t[n]=r[n]|0;return t}Rt.toArray=hE;function uE(r){for(var e="",t=0;t<r.length;t++)e+=Xb(r[t].toString(16));return e}Rt.toHex=uE;function Qb(r){var e=r>>>24|r>>>8&65280|r<<8&16711680|(r&255)<<24;return e>>>0}Rt.htonl=Qb;function lE(r,e){for(var t="",i=0;i<r.length;i++){var n=r[i];e==="little"&&(n=Qb(n)),t+=Zb(n.toString(16))}return t}Rt.toHex32=lE;function Xb(r){return r.length===1?"0"+r:r}Rt.zero2=Xb;function Zb(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}Rt.zero8=Zb;function dE(r,e,t,i){var n=t-e;oE(n%4===0);for(var a=new Array(n/4),f=0,u=e;f<a.length;f++,u+=4){var b;i==="big"?b=r[u]<<24|r[u+1]<<16|r[u+2]<<8|r[u+3]:b=r[u+3]<<24|r[u+2]<<16|r[u+1]<<8|r[u],a[f]=b>>>0}return a}Rt.join32=dE;function pE(r,e){for(var t=new Array(r.length*4),i=0,n=0;i<r.length;i++,n+=4){var a=r[i];e==="big"?(t[n]=a>>>24,t[n+1]=a>>>16&255,t[n+2]=a>>>8&255,t[n+3]=a&255):(t[n+3]=a>>>24,t[n+2]=a>>>16&255,t[n+1]=a>>>8&255,t[n]=a&255)}return t}Rt.split32=pE;function gE(r,e){return r>>>e|r<<32-e}Rt.rotr32=gE;function vE(r,e){return r<<e|r>>>32-e}Rt.rotl32=vE;function bE(r,e){return r+e>>>0}Rt.sum32=bE;function mE(r,e,t){return r+e+t>>>0}Rt.sum32_3=mE;function yE(r,e,t,i){return r+e+t+i>>>0}Rt.sum32_4=yE;function wE(r,e,t,i,n){return r+e+t+i+n>>>0}Rt.sum32_5=wE;function _E(r,e,t,i){var n=r[e],a=r[e+1],f=i+a>>>0,u=(f<i?1:0)+t+n;r[e]=u>>>0,r[e+1]=f}Rt.sum64=_E;function AE(r,e,t,i){var n=e+i>>>0,a=(n<e?1:0)+r+t;return a>>>0}Rt.sum64_hi=AE;function EE(r,e,t,i){var n=e+i;return n>>>0}Rt.sum64_lo=EE;function xE(r,e,t,i,n,a,f,u){var b=0,p=e;p=p+i>>>0,b+=p<e?1:0,p=p+a>>>0,b+=p<a?1:0,p=p+u>>>0,b+=p<u?1:0;var y=r+t+n+f+b;return y>>>0}Rt.sum64_4_hi=xE;function SE(r,e,t,i,n,a,f,u){var b=e+i+a+u;return b>>>0}Rt.sum64_4_lo=SE;function IE(r,e,t,i,n,a,f,u,b,p){var y=0,A=e;A=A+i>>>0,y+=A<e?1:0,A=A+a>>>0,y+=A<a?1:0,A=A+u>>>0,y+=A<u?1:0,A=A+p>>>0,y+=A<p?1:0;var R=r+t+n+f+b+y;return R>>>0}Rt.sum64_5_hi=IE;function ME(r,e,t,i,n,a,f,u,b,p){var y=e+i+a+u+p;return y>>>0}Rt.sum64_5_lo=ME;function PE(r,e,t){var i=e<<32-t|r>>>t;return i>>>0}Rt.rotr64_hi=PE;function OE(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Rt.rotr64_lo=OE;function RE(r,e,t){return r>>>t}Rt.shr64_hi=RE;function NE(r,e,t){var i=r<<32-t|e>>>t;return i>>>0}Rt.shr64_lo=NE;var mo={},eg=Rt,TE=Mc;function $f(){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}mo.BlockHash=$f,$f.prototype.update=function(r,e){if(r=eg.toArray(r,e),this.pending?this.pending=this.pending.concat(r):this.pending=r,this.pendingTotal+=r.length,this.pending.length>=this._delta8){r=this.pending;var t=r.length%this._delta8;this.pending=r.slice(r.length-t,r.length),this.pending.length===0&&(this.pending=null),r=eg.join32(r,0,r.length-t,this.endian);for(var i=0;i<r.length;i+=this._delta32)this._update(r,i,i+this._delta32)}return this},$f.prototype.digest=function(r){return this.update(this._pad()),TE(this.pending===null),this._digest(r)},$f.prototype._pad=function(){var r=this.pendingTotal,e=this._delta8,t=e-(r+this.padLength)%e,i=new Array(t+this.padLength);i[0]=128;for(var n=1;n<t;n++)i[n]=0;if(r<<=3,this.endian==="big"){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=r>>>24&255,i[n++]=r>>>16&255,i[n++]=r>>>8&255,i[n++]=r&255}else for(i[n++]=r&255,i[n++]=r>>>8&255,i[n++]=r>>>16&255,i[n++]=r>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,a=8;a<this.padLength;a++)i[n++]=0;return i};var Wa={},Kn={},CE=Rt,Dn=CE.rotr32;function DE(r,e,t,i){if(r===0)return em(e,t,i);if(r===1||r===3)return rm(e,t,i);if(r===2)return tm(e,t,i)}Kn.ft_1=DE;function em(r,e,t){return r&e^~r&t}Kn.ch32=em;function tm(r,e,t){return r&e^r&t^e&t}Kn.maj32=tm;function rm(r,e,t){return r^e^t}Kn.p32=rm;function LE(r){return Dn(r,2)^Dn(r,13)^Dn(r,22)}Kn.s0_256=LE;function qE(r){return Dn(r,6)^Dn(r,11)^Dn(r,25)}Kn.s1_256=qE;function BE(r){return Dn(r,7)^Dn(r,18)^r>>>3}Kn.g0_256=BE;function UE(r){return Dn(r,17)^Dn(r,19)^r>>>10}Kn.g1_256=UE;var ao=Rt,$E=mo,zE=Kn,xl=ao.rotl32,Wo=ao.sum32,jE=ao.sum32_5,kE=zE.ft_1,im=$E.BlockHash,FE=[1518500249,1859775393,2400959708,3395469782];function Pn(){if(!(this instanceof Pn))return new Pn;im.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}ao.inherits(Pn,im);var HE=Pn;Pn.blockSize=512,Pn.outSize=160,Pn.hmacStrength=80,Pn.padLength=64,Pn.prototype._update=function(r,e){for(var t=this.W,i=0;i<16;i++)t[i]=r[e+i];for(;i<t.length;i++)t[i]=xl(t[i-3]^t[i-8]^t[i-14]^t[i-16],1);var n=this.h[0],a=this.h[1],f=this.h[2],u=this.h[3],b=this.h[4];for(i=0;i<t.length;i++){var p=~~(i/20),y=jE(xl(n,5),kE(p,a,f,u),b,t[i],FE[p]);b=u,u=f,f=xl(a,30),a=n,n=y}this.h[0]=Wo(this.h[0],n),this.h[1]=Wo(this.h[1],a),this.h[2]=Wo(this.h[2],f),this.h[3]=Wo(this.h[3],u),this.h[4]=Wo(this.h[4],b)},Pn.prototype._digest=function(r){return r==="hex"?ao.toHex32(this.h,"big"):ao.split32(this.h,"big")};var oo=Rt,KE=mo,yo=Kn,VE=Mc,sn=oo.sum32,GE=oo.sum32_4,WE=oo.sum32_5,JE=yo.ch32,YE=yo.maj32,QE=yo.s0_256,XE=yo.s1_256,ZE=yo.g0_256,ex=yo.g1_256,nm=KE.BlockHash,tx=[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 On(){if(!(this instanceof On))return new On;nm.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=tx,this.W=new Array(64)}oo.inherits(On,nm);var sm=On;On.blockSize=512,On.outSize=256,On.hmacStrength=192,On.padLength=64,On.prototype._update=function(r,e){for(var t=this.W,i=0;i<16;i++)t[i]=r[e+i];for(;i<t.length;i++)t[i]=GE(ex(t[i-2]),t[i-7],ZE(t[i-15]),t[i-16]);var n=this.h[0],a=this.h[1],f=this.h[2],u=this.h[3],b=this.h[4],p=this.h[5],y=this.h[6],A=this.h[7];for(VE(this.k.length===t.length),i=0;i<t.length;i++){var R=WE(A,XE(b),JE(b,p,y),this.k[i],t[i]),O=sn(QE(n),YE(n,a,f));A=y,y=p,p=b,b=sn(u,R),u=f,f=a,a=n,n=sn(R,O)}this.h[0]=sn(this.h[0],n),this.h[1]=sn(this.h[1],a),this.h[2]=sn(this.h[2],f),this.h[3]=sn(this.h[3],u),this.h[4]=sn(this.h[4],b),this.h[5]=sn(this.h[5],p),this.h[6]=sn(this.h[6],y),this.h[7]=sn(this.h[7],A)},On.prototype._digest=function(r){return r==="hex"?oo.toHex32(this.h,"big"):oo.split32(this.h,"big")};var cd=Rt,am=sm;function fs(){if(!(this instanceof fs))return new fs;am.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}cd.inherits(fs,am);var rx=fs;fs.blockSize=512,fs.outSize=224,fs.hmacStrength=192,fs.padLength=64,fs.prototype._digest=function(r){return r==="hex"?cd.toHex32(this.h.slice(0,7),"big"):cd.split32(this.h.slice(0,7),"big")};var li=Rt,ix=mo,nx=Mc,Ln=li.rotr64_hi,qn=li.rotr64_lo,om=li.shr64_hi,cm=li.shr64_lo,Ps=li.sum64,Sl=li.sum64_hi,Il=li.sum64_lo,sx=li.sum64_4_hi,ax=li.sum64_4_lo,ox=li.sum64_5_hi,cx=li.sum64_5_lo,fm=ix.BlockHash,fx=[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 hn(){if(!(this instanceof hn))return new hn;fm.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=fx,this.W=new Array(160)}li.inherits(hn,fm);var hm=hn;hn.blockSize=1024,hn.outSize=512,hn.hmacStrength=192,hn.padLength=128,hn.prototype._prepareBlock=function(r,e){for(var t=this.W,i=0;i<32;i++)t[i]=r[e+i];for(;i<t.length;i+=2){var n=wx(t[i-4],t[i-3]),a=_x(t[i-4],t[i-3]),f=t[i-14],u=t[i-13],b=mx(t[i-30],t[i-29]),p=yx(t[i-30],t[i-29]),y=t[i-32],A=t[i-31];t[i]=sx(n,a,f,u,b,p,y,A),t[i+1]=ax(n,a,f,u,b,p,y,A)}},hn.prototype._update=function(r,e){this._prepareBlock(r,e);var t=this.W,i=this.h[0],n=this.h[1],a=this.h[2],f=this.h[3],u=this.h[4],b=this.h[5],p=this.h[6],y=this.h[7],A=this.h[8],R=this.h[9],O=this.h[10],N=this.h[11],K=this.h[12],W=this.h[13],Q=this.h[14],k=this.h[15];nx(this.k.length===t.length);for(var Y=0;Y<t.length;Y+=2){var $=Q,F=k,G=vx(A,R),x=bx(A,R),q=hx(A,R,O,N,K),ae=ux(A,R,O,N,K,W),le=this.k[Y],L=this.k[Y+1],m=t[Y],c=t[Y+1],h=ox($,F,G,x,q,ae,le,L,m,c),v=cx($,F,G,x,q,ae,le,L,m,c);$=px(i,n),F=gx(i,n),G=lx(i,n,a,f,u),x=dx(i,n,a,f,u,b);var _=Sl($,F,G,x),I=Il($,F,G,x);Q=K,k=W,K=O,W=N,O=A,N=R,A=Sl(p,y,h,v),R=Il(y,y,h,v),p=u,y=b,u=a,b=f,a=i,f=n,i=Sl(h,v,_,I),n=Il(h,v,_,I)}Ps(this.h,0,i,n),Ps(this.h,2,a,f),Ps(this.h,4,u,b),Ps(this.h,6,p,y),Ps(this.h,8,A,R),Ps(this.h,10,O,N),Ps(this.h,12,K,W),Ps(this.h,14,Q,k)},hn.prototype._digest=function(r){return r==="hex"?li.toHex32(this.h,"big"):li.split32(this.h,"big")};function hx(r,e,t,i,n){var a=r&t^~r&n;return a<0&&(a+=4294967296),a}function ux(r,e,t,i,n,a){var f=e&i^~e&a;return f<0&&(f+=4294967296),f}function lx(r,e,t,i,n){var a=r&t^r&n^t&n;return a<0&&(a+=4294967296),a}function dx(r,e,t,i,n,a){var f=e&i^e&a^i&a;return f<0&&(f+=4294967296),f}function px(r,e){var t=Ln(r,e,28),i=Ln(e,r,2),n=Ln(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function gx(r,e){var t=qn(r,e,28),i=qn(e,r,2),n=qn(e,r,7),a=t^i^n;return a<0&&(a+=4294967296),a}function vx(r,e){var t=Ln(r,e,14),i=Ln(r,e,18),n=Ln(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function bx(r,e){var t=qn(r,e,14),i=qn(r,e,18),n=qn(e,r,9),a=t^i^n;return a<0&&(a+=4294967296),a}function mx(r,e){var t=Ln(r,e,1),i=Ln(r,e,8),n=om(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function yx(r,e){var t=qn(r,e,1),i=qn(r,e,8),n=cm(r,e,7),a=t^i^n;return a<0&&(a+=4294967296),a}function wx(r,e){var t=Ln(r,e,19),i=Ln(e,r,29),n=om(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}function _x(r,e){var t=qn(r,e,19),i=qn(e,r,29),n=cm(r,e,6),a=t^i^n;return a<0&&(a+=4294967296),a}var fd=Rt,um=hm;function hs(){if(!(this instanceof hs))return new hs;um.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}fd.inherits(hs,um);var Ax=hs;hs.blockSize=1024,hs.outSize=384,hs.hmacStrength=192,hs.padLength=128,hs.prototype._digest=function(r){return r==="hex"?fd.toHex32(this.h.slice(0,12),"big"):fd.split32(this.h.slice(0,12),"big")},Wa.sha1=HE,Wa.sha224=rx,Wa.sha256=sm,Wa.sha384=Ax,Wa.sha512=hm;var lm={},da=Rt,Ex=mo,zf=da.rotl32,tg=da.sum32,Jo=da.sum32_3,rg=da.sum32_4,dm=Ex.BlockHash;function Sn(){if(!(this instanceof Sn))return new Sn;dm.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}da.inherits(Sn,dm),lm.ripemd160=Sn,Sn.blockSize=512,Sn.outSize=160,Sn.hmacStrength=192,Sn.padLength=64,Sn.prototype._update=function(r,e){for(var t=this.h[0],i=this.h[1],n=this.h[2],a=this.h[3],f=this.h[4],u=t,b=i,p=n,y=a,A=f,R=0;R<80;R++){var O=tg(zf(rg(t,ig(R,i,n,a),r[Ix[R]+e],xx(R)),Px[R]),f);t=f,f=a,a=zf(n,10),n=i,i=O,O=tg(zf(rg(u,ig(79-R,b,p,y),r[Mx[R]+e],Sx(R)),Ox[R]),A),u=A,A=y,y=zf(p,10),p=b,b=O}O=Jo(this.h[1],n,y),this.h[1]=Jo(this.h[2],a,A),this.h[2]=Jo(this.h[3],f,u),this.h[3]=Jo(this.h[4],t,b),this.h[4]=Jo(this.h[0],i,p),this.h[0]=O},Sn.prototype._digest=function(r){return r==="hex"?da.toHex32(this.h,"little"):da.split32(this.h,"little")};function ig(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 xx(r){return r<=15?0:r<=31?1518500249:r<=47?1859775393:r<=63?2400959708:2840853838}function Sx(r){return r<=15?1352829926:r<=31?1548603684:r<=47?1836072691:r<=63?2053994217:0}var Ix=[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],Mx=[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],Px=[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],Ox=[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],Rx=Rt,Nx=Mc;function to(r,e,t){if(!(this instanceof to))return new to(r,e,t);this.Hash=r,this.blockSize=r.blockSize/8,this.outSize=r.outSize/8,this.inner=null,this.outer=null,this._init(Rx.toArray(e,t))}var Tx=to;to.prototype._init=function(r){r.length>this.blockSize&&(r=new this.Hash().update(r).digest()),Nx(r.length<=this.blockSize);for(var e=r.length;e<this.blockSize;e++)r.push(0);for(e=0;e<r.length;e++)r[e]^=54;for(this.inner=new this.Hash().update(r),e=0;e<r.length;e++)r[e]^=106;this.outer=new this.Hash().update(r)},to.prototype.update=function(r,e){return this.inner.update(r,e),this},to.prototype.digest=function(r){return this.outer.update(this.inner.digest()),this.outer.digest(r)},function(r){var e=r;e.utils=Rt,e.common=mo,e.sha=Wa,e.ripemd=lm,e.hmac=Tx,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}(xn);function wo(r,e,t){return t={path:e,exports:{},require:function(i,n){return Cx(i,n??t.path)}},r(t,t.exports),t.exports}function Cx(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var Kd=pm;function pm(r,e){if(!r)throw new Error(e||"Assertion failed")}pm.equal=function(r,e,t){if(r!=e)throw new Error(t||"Assertion failed: "+r+" != "+e)};var un=wo(function(r,e){var t=e;function i(f,u){if(Array.isArray(f))return f.slice();if(!f)return[];var b=[];if(typeof f!="string"){for(var p=0;p<f.length;p++)b[p]=f[p]|0;return b}if(u==="hex"){f=f.replace(/[^a-z0-9]+/ig,""),f.length%2!==0&&(f="0"+f);for(var p=0;p<f.length;p+=2)b.push(parseInt(f[p]+f[p+1],16))}else for(var p=0;p<f.length;p++){var y=f.charCodeAt(p),A=y>>8,R=y&255;A?b.push(A,R):b.push(R)}return b}t.toArray=i;function n(f){return f.length===1?"0"+f:f}t.zero2=n;function a(f){for(var u="",b=0;b<f.length;b++)u+=n(f[b].toString(16));return u}t.toHex=a,t.encode=function(f,u){return u==="hex"?a(f):f}}),Ai=wo(function(r,e){var t=e;t.assert=Kd,t.toArray=un.toArray,t.zero2=un.zero2,t.toHex=un.toHex,t.encode=un.encode;function i(b,p,y){var A=new Array(Math.max(b.bitLength(),y)+1);A.fill(0);for(var R=1<<p+1,O=b.clone(),N=0;N<A.length;N++){var K,W=O.andln(R-1);O.isOdd()?(W>(R>>1)-1?K=(R>>1)-W:K=W,O.isubn(K)):K=0,A[N]=K,O.iushrn(1)}return A}t.getNAF=i;function n(b,p){var y=[[],[]];b=b.clone(),p=p.clone();for(var A=0,R=0,O;b.cmpn(-A)>0||p.cmpn(-R)>0;){var N=b.andln(3)+A&3,K=p.andln(3)+R&3;N===3&&(N=-1),K===3&&(K=-1);var W;N&1?(O=b.andln(7)+A&7,(O===3||O===5)&&K===2?W=-N:W=N):W=0,y[0].push(W);var Q;K&1?(O=p.andln(7)+R&7,(O===3||O===5)&&N===2?Q=-K:Q=K):Q=0,y[1].push(Q),2*A===W+1&&(A=1-A),2*R===Q+1&&(R=1-R),b.iushrn(1),p.iushrn(1)}return y}t.getJSF=n;function a(b,p,y){var A="_"+p;b.prototype[p]=function(){return this[A]!==void 0?this[A]:this[A]=y.call(this)}}t.cachedProperty=a;function f(b){return typeof b=="string"?t.toArray(b,"hex"):b}t.parseBytes=f;function u(b){return new vt(b,"hex","le")}t.intFromLE=u}),jf=Ai.getNAF,Dx=Ai.getJSF,bh=Ai.assert;function Ts(r,e){this.type=r,this.p=new vt(e.p,16),this.red=e.prime?vt.red(e.prime):vt.mont(this.p),this.zero=new vt(0).toRed(this.red),this.one=new vt(1).toRed(this.red),this.two=new vt(2).toRed(this.red),this.n=e.n&&new vt(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 _a=Ts;Ts.prototype.point=function(){throw new Error("Not implemented")},Ts.prototype.validate=function(){throw new Error("Not implemented")},Ts.prototype._fixedNafMul=function(r,e){bh(r.precomputed);var t=r._getDoubles(),i=jf(e,1,this._bitLength),n=(1<<t.step+1)-(t.step%2===0?2:1);n/=3;var a=[],f,u;for(f=0;f<i.length;f+=t.step){u=0;for(var b=f+t.step-1;b>=f;b--)u=(u<<1)+i[b];a.push(u)}for(var p=this.jpoint(null,null,null),y=this.jpoint(null,null,null),A=n;A>0;A--){for(f=0;f<a.length;f++)u=a[f],u===A?y=y.mixedAdd(t.points[f]):u===-A&&(y=y.mixedAdd(t.points[f].neg()));p=p.add(y)}return p.toP()},Ts.prototype._wnafMul=function(r,e){var t=4,i=r._getNAFPoints(t);t=i.wnd;for(var n=i.points,a=jf(e,t,this._bitLength),f=this.jpoint(null,null,null),u=a.length-1;u>=0;u--){for(var b=0;u>=0&&a[u]===0;u--)b++;if(u>=0&&b++,f=f.dblp(b),u<0)break;var p=a[u];bh(p!==0),r.type==="affine"?p>0?f=f.mixedAdd(n[p-1>>1]):f=f.mixedAdd(n[-p-1>>1].neg()):p>0?f=f.add(n[p-1>>1]):f=f.add(n[-p-1>>1].neg())}return r.type==="affine"?f.toP():f},Ts.prototype._wnafMulAdd=function(r,e,t,i,n){var a=this._wnafT1,f=this._wnafT2,u=this._wnafT3,b=0,p,y,A;for(p=0;p<i;p++){A=e[p];var R=A._getNAFPoints(r);a[p]=R.wnd,f[p]=R.points}for(p=i-1;p>=1;p-=2){var O=p-1,N=p;if(a[O]!==1||a[N]!==1){u[O]=jf(t[O],a[O],this._bitLength),u[N]=jf(t[N],a[N],this._bitLength),b=Math.max(u[O].length,b),b=Math.max(u[N].length,b);continue}var K=[e[O],null,null,e[N]];e[O].y.cmp(e[N].y)===0?(K[1]=e[O].add(e[N]),K[2]=e[O].toJ().mixedAdd(e[N].neg())):e[O].y.cmp(e[N].y.redNeg())===0?(K[1]=e[O].toJ().mixedAdd(e[N]),K[2]=e[O].add(e[N].neg())):(K[1]=e[O].toJ().mixedAdd(e[N]),K[2]=e[O].toJ().mixedAdd(e[N].neg()));var W=[-3,-1,-5,-7,0,7,5,1,3],Q=Dx(t[O],t[N]);for(b=Math.max(Q[0].length,b),u[O]=new Array(b),u[N]=new Array(b),y=0;y<b;y++){var k=Q[0][y]|0,Y=Q[1][y]|0;u[O][y]=W[(k+1)*3+(Y+1)],u[N][y]=0,f[O]=K}}var $=this.jpoint(null,null,null),F=this._wnafT4;for(p=b;p>=0;p--){for(var G=0;p>=0;){var x=!0;for(y=0;y<i;y++)F[y]=u[y][p]|0,F[y]!==0&&(x=!1);if(!x)break;G++,p--}if(p>=0&&G++,$=$.dblp(G),p<0)break;for(y=0;y<i;y++){var q=F[y];q!==0&&(q>0?A=f[y][q-1>>1]:q<0&&(A=f[y][-q-1>>1].neg()),A.type==="affine"?$=$.mixedAdd(A):$=$.add(A))}}for(p=0;p<i;p++)f[p]=null;return n?$:$.toP()};function qi(r,e){this.curve=r,this.type=e,this.precomputed=null}Ts.BasePoint=qi,qi.prototype.eq=function(){throw new Error("Not implemented")},qi.prototype.validate=function(){return this.curve.validate(this)},Ts.prototype.decodePoint=function(r,e){r=Ai.toArray(r,e);var t=this.p.byteLength();if((r[0]===4||r[0]===6||r[0]===7)&&r.length-1===2*t){r[0]===6?bh(r[r.length-1]%2===0):r[0]===7&&bh(r[r.length-1]%2===1);var i=this.point(r.slice(1,1+t),r.slice(1+t,1+2*t));return i}else if((r[0]===2||r[0]===3)&&r.length-1===t)return this.pointFromX(r.slice(1,1+t),r[0]===3);throw new Error("Unknown point format")},qi.prototype.encodeCompressed=function(r){return this.encode(r,!0)},qi.prototype._encode=function(r){var e=this.curve.p.byteLength(),t=this.getX().toArray("be",e);return r?[this.getY().isEven()?2:3].concat(t):[4].concat(t,this.getY().toArray("be",e))},qi.prototype.encode=function(r,e){return Ai.encode(this._encode(e),r)},qi.prototype.precompute=function(r){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,r),e.beta=this._getBeta(),this.precomputed=e,this},qi.prototype._hasDoubles=function(r){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return e?e.points.length>=Math.ceil((r.bitLength()+1)/e.step):!1},qi.prototype._getDoubles=function(r,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],i=this,n=0;n<e;n+=r){for(var a=0;a<r;a++)i=i.dbl();t.push(i)}return{step:r,points:t}},qi.prototype._getNAFPoints=function(r){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],t=(1<<r)-1,i=t===1?null:this.dbl(),n=1;n<t;n++)e[n]=e[n-1].add(i);return{wnd:r,points:e}},qi.prototype._getBeta=function(){return null},qi.prototype.dblp=function(r){for(var e=this,t=0;t<r;t++)e=e.dbl();return e};var Vd=wo(function(r){typeof Object.create=="function"?r.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:r.exports=function(e,t){if(t){e.super_=t;var i=function(){};i.prototype=t.prototype,e.prototype=new i,e.prototype.constructor=e}}}),Lx=Ai.assert;function ji(r){_a.call(this,"short",r),this.a=new vt(r.a,16).toRed(this.red),this.b=new vt(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)}Vd(ji,_a);var qx=ji;ji.prototype._getEndomorphism=function(r){if(!(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)){var e,t;if(r.beta)e=new vt(r.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=i[0].cmp(i[1])<0?i[0]:i[1],e=e.toRed(this.red)}if(r.lambda)t=new vt(r.lambda,16);else{var n=this._getEndoRoots(this.n);this.g.mul(n[0]).x.cmp(this.g.x.redMul(e))===0?t=n[0]:(t=n[1],Lx(this.g.mul(t).x.cmp(this.g.x.redMul(e))===0))}var a;return r.basis?a=r.basis.map(function(f){return{a:new vt(f.a,16),b:new vt(f.b,16)}}):a=this._getEndoBasis(t),{beta:e,lambda:t,basis:a}}},ji.prototype._getEndoRoots=function(r){var e=r===this.p?this.red:vt.mont(r),t=new vt(2).toRed(e).redInvm(),i=t.redNeg(),n=new vt(3).toRed(e).redNeg().redSqrt().redMul(t),a=i.redAdd(n).fromRed(),f=i.redSub(n).fromRed();return[a,f]},ji.prototype._getEndoBasis=function(r){for(var e=this.n.ushrn(Math.floor(this.n.bitLength()/2)),t=r,i=this.n.clone(),n=new vt(1),a=new vt(0),f=new vt(0),u=new vt(1),b,p,y,A,R,O,N,K=0,W,Q;t.cmpn(0)!==0;){var k=i.div(t);W=i.sub(k.mul(t)),Q=f.sub(k.mul(n));var Y=u.sub(k.mul(a));if(!y&&W.cmp(e)<0)b=N.neg(),p=n,y=W.neg(),A=Q;else if(y&&++K===2)break;N=W,i=t,t=W,f=n,n=Q,u=a,a=Y}R=W.neg(),O=Q;var $=y.sqr().add(A.sqr()),F=R.sqr().add(O.sqr());return F.cmp($)>=0&&(R=b,O=p),y.negative&&(y=y.neg(),A=A.neg()),R.negative&&(R=R.neg(),O=O.neg()),[{a:y,b:A},{a:R,b:O}]},ji.prototype._endoSplit=function(r){var e=this.endo.basis,t=e[0],i=e[1],n=i.b.mul(r).divRound(this.n),a=t.b.neg().mul(r).divRound(this.n),f=n.mul(t.a),u=a.mul(i.a),b=n.mul(t.b),p=a.mul(i.b),y=r.sub(f).sub(u),A=b.add(p).neg();return{k1:y,k2:A}},ji.prototype.pointFromX=function(r,e){r=new vt(r,16),r.red||(r=r.toRed(this.red));var t=r.redSqr().redMul(r).redIAdd(r.redMul(this.a)).redIAdd(this.b),i=t.redSqrt();if(i.redSqr().redSub(t).cmp(this.zero)!==0)throw new Error("invalid point");var n=i.fromRed().isOdd();return(e&&!n||!e&&n)&&(i=i.redNeg()),this.point(r,i)},ji.prototype.validate=function(r){if(r.inf)return!0;var e=r.x,t=r.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return t.redSqr().redISub(n).cmpn(0)===0},ji.prototype._endoWnafMulAdd=function(r,e,t){for(var i=this._endoWnafT1,n=this._endoWnafT2,a=0;a<r.length;a++){var f=this._endoSplit(e[a]),u=r[a],b=u._getBeta();f.k1.negative&&(f.k1.ineg(),u=u.neg(!0)),f.k2.negative&&(f.k2.ineg(),b=b.neg(!0)),i[a*2]=u,i[a*2+1]=b,n[a*2]=f.k1,n[a*2+1]=f.k2}for(var p=this._wnafMulAdd(1,i,n,a*2,t),y=0;y<a*2;y++)i[y]=null,n[y]=null;return p};function yr(r,e,t,i){_a.BasePoint.call(this,r,"affine"),e===null&&t===null?(this.x=null,this.y=null,this.inf=!0):(this.x=new vt(e,16),this.y=new vt(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)}Vd(yr,_a.BasePoint),ji.prototype.point=function(r,e,t){return new yr(this,r,e,t)},ji.prototype.pointFromJSON=function(r,e){return yr.fromJSON(this,r,e)},yr.prototype._getBeta=function(){if(this.curve.endo){var r=this.precomputed;if(r&&r.beta)return r.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(r){var t=this.curve,i=function(n){return t.point(n.x.redMul(t.endo.beta),n.y)};r.beta=e,e.precomputed={beta:null,naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e}},yr.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]},yr.fromJSON=function(r,e,t){typeof e=="string"&&(e=JSON.parse(e));var i=r.point(e[0],e[1],t);if(!e[2])return i;function n(f){return r.point(f[0],f[1],t)}var a=e[2];return i.precomputed={beta:null,doubles:a.doubles&&{step:a.doubles.step,points:[i].concat(a.doubles.points.map(n))},naf:a.naf&&{wnd:a.naf.wnd,points:[i].concat(a.naf.points.map(n))}},i},yr.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)+">"},yr.prototype.isInfinity=function(){return this.inf},yr.prototype.add=function(r){if(this.inf)return r;if(r.inf)return this;if(this.eq(r))return this.dbl();if(this.neg().eq(r))return this.curve.point(null,null);if(this.x.cmp(r.x)===0)return this.curve.point(null,null);var e=this.y.redSub(r.y);e.cmpn(0)!==0&&(e=e.redMul(this.x.redSub(r.x).redInvm()));var t=e.redSqr().redISub(this.x).redISub(r.x),i=e.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,i)},yr.prototype.dbl=function(){if(this.inf)return this;var r=this.y.redAdd(this.y);if(r.cmpn(0)===0)return this.curve.point(null,null);var e=this.curve.a,t=this.x.redSqr(),i=r.redInvm(),n=t.redAdd(t).redIAdd(t).redIAdd(e).redMul(i),a=n.redSqr().redISub(this.x.redAdd(this.x)),f=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,f)},yr.prototype.getX=function(){return this.x.fromRed()},yr.prototype.getY=function(){return this.y.fromRed()},yr.prototype.mul=function(r){return r=new vt(r,16),this.isInfinity()?this:this._hasDoubles(r)?this.curve._fixedNafMul(this,r):this.curve.endo?this.curve._endoWnafMulAdd([this],[r]):this.curve._wnafMul(this,r)},yr.prototype.mulAdd=function(r,e,t){var i=[this,e],n=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},yr.prototype.jmulAdd=function(r,e,t){var i=[this,e],n=[r,t];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},yr.prototype.eq=function(r){return this===r||this.inf===r.inf&&(this.inf||this.x.cmp(r.x)===0&&this.y.cmp(r.y)===0)},yr.prototype.neg=function(r){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(r&&this.precomputed){var t=this.precomputed,i=function(n){return n.neg()};e.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(i)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(i)}}}return e},yr.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var r=this.curve.jpoint(this.x,this.y,this.curve.one);return r};function Pr(r,e,t,i){_a.BasePoint.call(this,r,"jacobian"),e===null&&t===null&&i===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new vt(0)):(this.x=new vt(e,16),this.y=new vt(t,16),this.z=new vt(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}Vd(Pr,_a.BasePoint),ji.prototype.jpoint=function(r,e,t){return new Pr(this,r,e,t)},Pr.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var r=this.z.redInvm(),e=r.redSqr(),t=this.x.redMul(e),i=this.y.redMul(e).redMul(r);return this.curve.point(t,i)},Pr.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Pr.prototype.add=function(r){if(this.isInfinity())return r;if(r.isInfinity())return this;var e=r.z.redSqr(),t=this.z.redSqr(),i=this.x.redMul(e),n=r.x.redMul(t),a=this.y.redMul(e.redMul(r.z)),f=r.y.redMul(t.redMul(this.z)),u=i.redSub(n),b=a.redSub(f);if(u.cmpn(0)===0)return b.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var p=u.redSqr(),y=p.redMul(u),A=i.redMul(p),R=b.redSqr().redIAdd(y).redISub(A).redISub(A),O=b.redMul(A.redISub(R)).redISub(a.redMul(y)),N=this.z.redMul(r.z).redMul(u);return this.curve.jpoint(R,O,N)},Pr.prototype.mixedAdd=function(r){if(this.isInfinity())return r.toJ();if(r.isInfinity())return this;var e=this.z.redSqr(),t=this.x,i=r.x.redMul(e),n=this.y,a=r.y.redMul(e).redMul(this.z),f=t.redSub(i),u=n.redSub(a);if(f.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var b=f.redSqr(),p=b.redMul(f),y=t.redMul(b),A=u.redSqr().redIAdd(p).redISub(y).redISub(y),R=u.redMul(y.redISub(A)).redISub(n.redMul(p)),O=this.z.redMul(f);return this.curve.jpoint(A,R,O)},Pr.prototype.dblp=function(r){if(r===0)return this;if(this.isInfinity())return this;if(!r)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var t=this;for(e=0;e<r;e++)t=t.dbl();return t}var i=this.curve.a,n=this.curve.tinv,a=this.x,f=this.y,u=this.z,b=u.redSqr().redSqr(),p=f.redAdd(f);for(e=0;e<r;e++){var y=a.redSqr(),A=p.redSqr(),R=A.redSqr(),O=y.redAdd(y).redIAdd(y).redIAdd(i.redMul(b)),N=a.redMul(A),K=O.redSqr().redISub(N.redAdd(N)),W=N.redISub(K),Q=O.redMul(W);Q=Q.redIAdd(Q).redISub(R);var k=p.redMul(u);e+1<r&&(b=b.redMul(R)),a=K,u=k,p=Q}return this.curve.jpoint(a,p.redMul(n),u)},Pr.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},Pr.prototype._zeroDbl=function(){var r,e,t;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),f=this.x.redAdd(n).redSqr().redISub(i).redISub(a);f=f.redIAdd(f);var u=i.redAdd(i).redIAdd(i),b=u.redSqr().redISub(f).redISub(f),p=a.redIAdd(a);p=p.redIAdd(p),p=p.redIAdd(p),r=b,e=u.redMul(f.redISub(b)).redISub(p),t=this.y.redAdd(this.y)}else{var y=this.x.redSqr(),A=this.y.redSqr(),R=A.redSqr(),O=this.x.redAdd(A).redSqr().redISub(y).redISub(R);O=O.redIAdd(O);var N=y.redAdd(y).redIAdd(y),K=N.redSqr(),W=R.redIAdd(R);W=W.redIAdd(W),W=W.redIAdd(W),r=K.redISub(O).redISub(O),e=N.redMul(O.redISub(r)).redISub(W),t=this.y.redMul(this.z),t=t.redIAdd(t)}return this.curve.jpoint(r,e,t)},Pr.prototype._threeDbl=function(){var r,e,t;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),a=n.redSqr(),f=this.x.redAdd(n).redSqr().redISub(i).redISub(a);f=f.redIAdd(f);var u=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),b=u.redSqr().redISub(f).redISub(f);r=b;var p=a.redIAdd(a);p=p.redIAdd(p),p=p.redIAdd(p),e=u.redMul(f.redISub(b)).redISub(p),t=this.y.redAdd(this.y)}else{var y=this.z.redSqr(),A=this.y.redSqr(),R=this.x.redMul(A),O=this.x.redSub(y).redMul(this.x.redAdd(y));O=O.redAdd(O).redIAdd(O);var N=R.redIAdd(R);N=N.redIAdd(N);var K=N.redAdd(N);r=O.redSqr().redISub(K),t=this.y.redAdd(this.z).redSqr().redISub(A).redISub(y);var W=A.redSqr();W=W.redIAdd(W),W=W.redIAdd(W),W=W.redIAdd(W),e=O.redMul(N.redISub(r)).redISub(W)}return this.curve.jpoint(r,e,t)},Pr.prototype._dbl=function(){var r=this.curve.a,e=this.x,t=this.y,i=this.z,n=i.redSqr().redSqr(),a=e.redSqr(),f=t.redSqr(),u=a.redAdd(a).redIAdd(a).redIAdd(r.redMul(n)),b=e.redAdd(e);b=b.redIAdd(b);var p=b.redMul(f),y=u.redSqr().redISub(p.redAdd(p)),A=p.redISub(y),R=f.redSqr();R=R.redIAdd(R),R=R.redIAdd(R),R=R.redIAdd(R);var O=u.redMul(A).redISub(R),N=t.redAdd(t).redMul(i);return this.curve.jpoint(y,O,N)},Pr.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var r=this.x.redSqr(),e=this.y.redSqr(),t=this.z.redSqr(),i=e.redSqr(),n=r.redAdd(r).redIAdd(r),a=n.redSqr(),f=this.x.redAdd(e).redSqr().redISub(r).redISub(i);f=f.redIAdd(f),f=f.redAdd(f).redIAdd(f),f=f.redISub(a);var u=f.redSqr(),b=i.redIAdd(i);b=b.redIAdd(b),b=b.redIAdd(b),b=b.redIAdd(b);var p=n.redIAdd(f).redSqr().redISub(a).redISub(u).redISub(b),y=e.redMul(p);y=y.redIAdd(y),y=y.redIAdd(y);var A=this.x.redMul(u).redISub(y);A=A.redIAdd(A),A=A.redIAdd(A);var R=this.y.redMul(p.redMul(b.redISub(p)).redISub(f.redMul(u)));R=R.redIAdd(R),R=R.redIAdd(R),R=R.redIAdd(R);var O=this.z.redAdd(f).redSqr().redISub(t).redISub(u);return this.curve.jpoint(A,R,O)},Pr.prototype.mul=function(r,e){return r=new vt(r,e),this.curve._wnafMul(this,r)},Pr.prototype.eq=function(r){if(r.type==="affine")return this.eq(r.toJ());if(this===r)return!0;var e=this.z.redSqr(),t=r.z.redSqr();if(this.x.redMul(t).redISub(r.x.redMul(e)).cmpn(0)!==0)return!1;var i=e.redMul(this.z),n=t.redMul(r.z);return this.y.redMul(n).redISub(r.y.redMul(i)).cmpn(0)===0},Pr.prototype.eqXToP=function(r){var e=this.z.redSqr(),t=r.toRed(this.curve.red).redMul(e);if(this.x.cmp(t)===0)return!0;for(var i=r.clone(),n=this.curve.redN.redMul(e);;){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}},Pr.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)+">"},Pr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var Zf=wo(function(r,e){var t=e;t.base=_a,t.short=qx,t.mont=null,t.edwards=null}),eh=wo(function(r,e){var t=e,i=Ai.assert;function n(u){u.type==="short"?this.curve=new Zf.short(u):u.type==="edwards"?this.curve=new Zf.edwards(u):this.curve=new Zf.mont(u),this.g=this.curve.g,this.n=this.curve.n,this.hash=u.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}t.PresetCurve=n;function a(u,b){Object.defineProperty(t,u,{configurable:!0,enumerable:!0,get:function(){var p=new n(b);return Object.defineProperty(t,u,{configurable:!0,enumerable:!0,value:p}),p}})}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:xn.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:xn.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:xn.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:xn.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:xn.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:xn.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:xn.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var f;try{f=null.crash()}catch{f=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:xn.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",f]})});function Cs(r){if(!(this instanceof Cs))return new Cs(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=un.toArray(r.entropy,r.entropyEnc||"hex"),t=un.toArray(r.nonce,r.nonceEnc||"hex"),i=un.toArray(r.pers,r.persEnc||"hex");Kd(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,i)}var ng=Cs;Cs.prototype._init=function(r,e,t){var i=r.concat(e).concat(t);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},Cs.prototype._hmac=function(){return new xn.hmac(this.hash,this.K)},Cs.prototype._update=function(r){var e=this._hmac().update(this.V).update([0]);r&&(e=e.update(r)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),r&&(this.K=this._hmac().update(this.V).update([1]).update(r).digest(),this.V=this._hmac().update(this.V).digest())},Cs.prototype.reseed=function(r,e,t,i){typeof e!="string"&&(i=t,t=e,e=null),r=un.toArray(r,e),t=un.toArray(t,i),Kd(r.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(r.concat(t||[])),this._reseed=1},Cs.prototype.generate=function(r,e,t,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof e!="string"&&(i=t,t=e,e=null),t&&(t=un.toArray(t,i||"hex"),this._update(t));for(var n=[];n.length<r;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var a=n.slice(0,r);return this._update(t),this._reseed++,un.encode(a,e)};var Ml=Ai.assert;function zr(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 Pl=zr;zr.fromPublic=function(r,e,t){return e instanceof zr?e:new zr(r,{pub:e,pubEnc:t})},zr.fromPrivate=function(r,e,t){return e instanceof zr?e:new zr(r,{priv:e,privEnc:t})},zr.prototype.validate=function(){var r=this.getPublic();return r.isInfinity()?{result:!1,reason:"Invalid public key"}:r.validate()?r.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"}},zr.prototype.getPublic=function(r,e){return typeof r=="string"&&(e=r,r=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,r):this.pub},zr.prototype.getPrivate=function(r){return r==="hex"?this.priv.toString(16,2):this.priv},zr.prototype._importPrivate=function(r,e){this.priv=new vt(r,e||16),this.priv=this.priv.umod(this.ec.curve.n)},zr.prototype._importPublic=function(r,e){if(r.x||r.y){this.ec.curve.type==="mont"?Ml(r.x,"Need x coordinate"):(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")&&Ml(r.x&&r.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(r.x,r.y);return}this.pub=this.ec.curve.decodePoint(r,e)},zr.prototype.derive=function(r){return r.validate()||Ml(r.validate(),"public point not validated"),r.mul(this.priv).getX()},zr.prototype.sign=function(r,e,t){return this.ec.sign(r,this,e,t)},zr.prototype.verify=function(r,e){return this.ec.verify(r,e,this)},zr.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Bx=Ai.assert;function kh(r,e){if(r instanceof kh)return r;this._importDER(r,e)||(Bx(r.r&&r.s,"Signature without r or s"),this.r=new vt(r.r,16),this.s=new vt(r.s,16),r.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=r.recoveryParam)}var kf=kh;function Ux(){this.place=0}function Ol(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,a=0,f=e.place;a<i;a++,f++)n<<=8,n|=r[f],n>>>=0;return n<=127?!1:(e.place=f,n)}function sg(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)}kh.prototype._importDER=function(r,e){r=Ai.toArray(r,e);var t=new Ux;if(r[t.place++]!==48)return!1;var i=Ol(r,t);if(i===!1||i+t.place!==r.length||r[t.place++]!==2)return!1;var n=Ol(r,t);if(n===!1)return!1;var a=r.slice(t.place,n+t.place);if(t.place+=n,r[t.place++]!==2)return!1;var f=Ol(r,t);if(f===!1||r.length!==f+t.place)return!1;var u=r.slice(t.place,f+t.place);if(a[0]===0)if(a[1]&128)a=a.slice(1);else return!1;if(u[0]===0)if(u[1]&128)u=u.slice(1);else return!1;return this.r=new vt(a),this.s=new vt(u),this.recoveryParam=null,!0};function Rl(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)}kh.prototype.toDER=function(r){var e=this.r.toArray(),t=this.s.toArray();for(e[0]&128&&(e=[0].concat(e)),t[0]&128&&(t=[0].concat(t)),e=sg(e),t=sg(t);!t[0]&&!(t[1]&128);)t=t.slice(1);var i=[2];Rl(i,e.length),i=i.concat(e),i.push(2),Rl(i,t.length);var n=i.concat(t),a=[48];return Rl(a,n.length),a=a.concat(n),Ai.encode(a,r)};var $x=function(){throw new Error("unsupported")},gm=Ai.assert;function $i(r){if(!(this instanceof $i))return new $i(r);typeof r=="string"&&(gm(Object.prototype.hasOwnProperty.call(eh,r),"Unknown curve "+r),r=eh[r]),r instanceof eh.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 zx=$i;$i.prototype.keyPair=function(r){return new Pl(this,r)},$i.prototype.keyFromPrivate=function(r,e){return Pl.fromPrivate(this,r,e)},$i.prototype.keyFromPublic=function(r,e){return Pl.fromPublic(this,r,e)},$i.prototype.genKeyPair=function(r){r||(r={});for(var e=new ng({hash:this.hash,pers:r.pers,persEnc:r.persEnc||"utf8",entropy:r.entropy||$x(this.hash.hmacStrength),entropyEnc:r.entropy&&r.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),i=this.n.sub(new vt(2));;){var n=new vt(e.generate(t));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},$i.prototype._truncateToN=function(r,e){var t=r.byteLength()*8-this.n.bitLength();return t>0&&(r=r.ushrn(t)),!e&&r.cmp(this.n)>=0?r.sub(this.n):r},$i.prototype.sign=function(r,e,t,i){typeof t=="object"&&(i=t,t=null),i||(i={}),e=this.keyFromPrivate(e,t),r=this._truncateToN(new vt(r,16));for(var n=this.n.byteLength(),a=e.getPrivate().toArray("be",n),f=r.toArray("be",n),u=new ng({hash:this.hash,entropy:a,nonce:f,pers:i.pers,persEnc:i.persEnc||"utf8"}),b=this.n.sub(new vt(1)),p=0;;p++){var y=i.k?i.k(p):new vt(u.generate(this.n.byteLength()));if(y=this._truncateToN(y,!0),!(y.cmpn(1)<=0||y.cmp(b)>=0)){var A=this.g.mul(y);if(!A.isInfinity()){var R=A.getX(),O=R.umod(this.n);if(O.cmpn(0)!==0){var N=y.invm(this.n).mul(O.mul(e.getPrivate()).iadd(r));if(N=N.umod(this.n),N.cmpn(0)!==0){var K=(A.getY().isOdd()?1:0)|(R.cmp(O)!==0?2:0);return i.canonical&&N.cmp(this.nh)>0&&(N=this.n.sub(N),K^=1),new kf({r:O,s:N,recoveryParam:K})}}}}}},$i.prototype.verify=function(r,e,t,i){r=this._truncateToN(new vt(r,16)),t=this.keyFromPublic(t,i),e=new kf(e,"hex");var n=e.r,a=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0||a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var f=a.invm(this.n),u=f.mul(r).umod(this.n),b=f.mul(n).umod(this.n),p;return this.curve._maxwellTrick?(p=this.g.jmulAdd(u,t.getPublic(),b),p.isInfinity()?!1:p.eqXToP(n)):(p=this.g.mulAdd(u,t.getPublic(),b),p.isInfinity()?!1:p.getX().umod(this.n).cmp(n)===0)},$i.prototype.recoverPubKey=function(r,e,t,i){gm((3&t)===t,"The recovery param is more than two bits"),e=new kf(e,i);var n=this.n,a=new vt(r),f=e.r,u=e.s,b=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),b):f=this.curve.pointFromX(f,b);var y=e.r.invm(n),A=n.sub(a).mul(y).umod(n),R=u.mul(y).umod(n);return this.g.mulAdd(A,f,R)},$i.prototype.getKeyRecoveryParam=function(r,e,t,i){if(e=new kf(e,i),e.recoveryParam!==null)return e.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(r,e,n)}catch{continue}if(a.eq(t))return n}throw new Error("Unable to find valid recovery factor")};var jx=wo(function(r,e){var t=e;t.version="6.5.4",t.utils=Ai,t.rand=function(){throw new Error("unsupported")},t.curve=Zf,t.curves=eh,t.ec=zx,t.eddsa=null}),kx=jx.ec;const Fx="signing-key/5.7.0",hd=new Or(Fx);let Nl=null;function Rs(){return Nl||(Nl=new kx("secp256k1")),Nl}class Hx{constructor(e){Go(this,"curve","secp256k1"),Go(this,"privateKey",ci(e)),MA(this.privateKey)!==32&&hd.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const t=Rs().keyFromPrivate(ir(this.privateKey));Go(this,"publicKey","0x"+t.getPublic(!1,"hex")),Go(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),Go(this,"_isSigningKey",!0)}_addPoint(e){const t=Rs().keyFromPublic(ir(this.publicKey)),i=Rs().keyFromPublic(ir(e));return"0x"+t.pub.add(i.pub).encodeCompressed("hex")}signDigest(e){const t=Rs().keyFromPrivate(ir(this.privateKey)),i=ir(e);i.length!==32&&hd.throwArgumentError("bad digest length","digest",e);const n=t.sign(i,{canonical:!0});return zb({recoveryParam:n.recoveryParam,r:Cn("0x"+n.r.toString(16),32),s:Cn("0x"+n.s.toString(16),32)})}computeSharedSecret(e){const t=Rs().keyFromPrivate(ir(this.privateKey)),i=Rs().keyFromPublic(ir(vm(e)));return Cn("0x"+t.derive(i.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function Kx(r,e){const t=zb(e),i={r:ir(t.r),s:ir(t.s)};return"0x"+Rs().recoverPubKey(ir(r),i,t.recoveryParam).encode("hex",!1)}function vm(r,e){const t=ir(r);return t.length===32?new Hx(t).publicKey:t.length===33?"0x"+Rs().keyFromPublic(t).getPublic(!1,"hex"):t.length===65?ci(t):hd.throwArgumentError("invalid public or private key","key","[REDACTED]")}var ag;(function(r){r[r.legacy=0]="legacy",r[r.eip2930=1]="eip2930",r[r.eip1559=2]="eip1559"})(ag||(ag={}));function Vx(r){const e=vm(r);return iE(K1(kd(K1(e,1)),12))}function Gx(r,e){return Vx(Kx(ir(r),e))}const Wx="https://rpc.walletconnect.org/v1";async function Jx(r,e,t,i,n,a){switch(t.t){case"eip191":return Yx(r,e,t.s);case"eip1271":return await Qx(r,e,t.s,i,n,a);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}function Yx(r,e,t){return Gx(Jb(e),t).toLowerCase()===r.toLowerCase()}async function Qx(r,e,t,i,n,a){try{const f="0x1626ba7e",u="0000000000000000000000000000000000000000000000000000000000000040",b="0000000000000000000000000000000000000000000000000000000000000041",p=t.substring(2),y=Jb(e).substring(2),A=f+y+u+b+p,R=await fetch(`${a||Wx}/?chainId=${i}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:Xx(),jsonrpc:"2.0",method:"eth_call",params:[{to:r,data:A},"latest"]})}),{result:O}=await R.json();return O?O.slice(0,f.length).toLowerCase()===f.toLowerCase():!1}catch(f){return console.error("isValidEip1271Signature: ",f),!1}}function Xx(){return Date.now()+Math.floor(Math.random()*1e3)}var Zx=Object.defineProperty,eS=Object.defineProperties,tS=Object.getOwnPropertyDescriptors,og=Object.getOwnPropertySymbols,rS=Object.prototype.hasOwnProperty,iS=Object.prototype.propertyIsEnumerable,cg=(r,e,t)=>e in r?Zx(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,nS=(r,e)=>{for(var t in e||(e={}))rS.call(e,t)&&cg(r,t,e[t]);if(og)for(var t of og(e))iS.call(e,t)&&cg(r,t,e[t]);return r},sS=(r,e)=>eS(r,tS(e));const aS="did:pkh:",Gd=r=>r==null?void 0:r.split(":"),bm=r=>{const e=r&&Gd(r);if(e)return r.includes(aS)?e[3]:e[1]},fg=r=>{const e=r&&Gd(r);if(e)return e[2]+":"+e[3]},mh=r=>{const e=r&&Gd(r);if(e)return e.pop()};async function hg(r){const{cacao:e,projectId:t}=r,{s:i,p:n}=e,a=mm(n,n.iss),f=mh(n.iss);return await Jx(f,a,i,bm(n.iss),t)}const mm=(r,e)=>{const t=`${r.domain} wants you to sign in with your Ethereum account:`,i=mh(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 a=`URI: ${r.aud||r.uri}`,f=`Version: ${r.version}`,u=`Chain ID: ${bm(e)}`,b=`Nonce: ${r.nonce}`,p=`Issued At: ${r.iat}`,y=r.exp?`Expiration Time: ${r.exp}`:void 0,A=r.nbf?`Not Before: ${r.nbf}`:void 0,R=r.requestId?`Request ID: ${r.requestId}`:void 0,O=r.resources?`Resources:${r.resources.map(K=>`
|
||
- ${K}`).join("")}`:void 0,N=th(r.resources);if(N){const K=gc(N);n=gS(n,K)}return[t,i,"",n,"",a,f,u,b,p,y,A,R,O].filter(K=>K!=null).join(`
|
||
`)};function oS(r){return Buffer.from(JSON.stringify(r)).toString("base64")}function cS(r){return JSON.parse(Buffer.from(r,"base64").toString("utf-8"))}function va(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 a=i[n];if(!Array.isArray(a))throw new Error(`Ability limits ${n} must be an array of objects, found: ${a}`);if(!a.length)throw new Error(`Value of ${n} is empty array, must be an array with objects`);a.forEach(f=>{if(typeof f!="object")throw new Error(`Ability limits (${n}) must be an array of objects, found: ${f}`)})})})}function fS(r,e,t,i={}){return t==null||t.sort((n,a)=>n.localeCompare(a)),{att:{[r]:hS(e,t,i)}}}function hS(r,e,t={}){e=e==null?void 0:e.sort((n,a)=>n.localeCompare(a));const i=e.map(n=>({[`${r}/${n}`]:[t]}));return Object.assign({},...i)}function ym(r){return va(r),`urn:recap:${oS(r).replace(/=/g,"")}`}function gc(r){const e=cS(r.replace("urn:recap:",""));return va(e),e}function uS(r,e,t){const i=fS(r,e,t);return ym(i)}function lS(r){return r&&r.includes("urn:recap:")}function dS(r,e){const t=gc(r),i=gc(e),n=pS(t,i);return ym(n)}function pS(r,e){va(r),va(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((n,a)=>n.localeCompare(a)),i={att:{}};return t.forEach(n=>{var a,f;Object.keys(((a=r.att)==null?void 0:a[n])||{}).concat(Object.keys(((f=e.att)==null?void 0:f[n])||{})).sort((u,b)=>u.localeCompare(b)).forEach(u=>{var b,p;i.att[n]=sS(nS({},i.att[n]),{[u]:((b=r.att[n])==null?void 0:b[u])||((p=e.att[n])==null?void 0:p[u])})})}),i}function gS(r="",e){va(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(u=>{const b=Object.keys(e.att[u]).map(A=>({ability:A.split("/")[0],action:A.split("/")[1]}));b.sort((A,R)=>A.action.localeCompare(R.action));const p={};b.forEach(A=>{p[A.ability]||(p[A.ability]=[]),p[A.ability].push(A.action)});const y=Object.keys(p).map(A=>(n++,`(${n}) '${A}': '${p[A].join("', '")}' for '${u}'.`));i.push(y.join(", ").replace(".,","."))});const a=i.join(" "),f=`${t}${a}`;return`${r?r+" ":""}${f}`}function ug(r){var e;const t=gc(r);va(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(n=>n.split("/")[1]):[]}function lg(r){const e=gc(r);va(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(n=>{var a;(a=n==null?void 0:n[0])!=null&&a.chains&&t.push(n[0].chains)})}),[...new Set(t.flat())]}function th(r){if(!r)return;const e=r==null?void 0:r[r.length-1];return lS(e)?e:void 0}const wm="base10",Jr="base16",Ls="base64pad",Yo="base64url",Pc="utf8",_m=0,ls=1,Oc=2,vS=0,dg=1,fc=12,Wd=32;function bS(){const r=Td.generateKeyPair();return{privateKey:Er(r.secretKey,Jr),publicKey:Er(r.publicKey,Jr)}}function ud(){const r=$s.randomBytes(Wd);return Er(r,Jr)}function mS(r,e){const t=Td.sharedKey(Ar(r,Jr),Ar(e,Jr),!0),i=new p_(Ac.SHA256,t).expand(Wd);return Er(i,Jr)}function rh(r){const e=Ac.hash(Ar(r,Jr));return Er(e,Jr)}function cs(r){const e=Ac.hash(Ar(r,Pc));return Er(e,Jr)}function Am(r){return Ar(`${r}`,wm)}function ba(r){return Number(Er(r,wm))}function yS(r){const e=Am(typeof r.type<"u"?r.type:_m);if(ba(e)===ls&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?Ar(r.senderPublicKey,Jr):void 0,i=typeof r.iv<"u"?Ar(r.iv,Jr):$s.randomBytes(fc),n=new Rd.ChaCha20Poly1305(Ar(r.symKey,Jr)).seal(i,Ar(r.message,Pc));return Em({type:e,sealed:n,iv:i,senderPublicKey:t,encoding:r.encoding})}function wS(r,e){const t=Am(Oc),i=$s.randomBytes(fc),n=Ar(r,Pc);return Em({type:t,sealed:n,iv:i,encoding:e})}function _S(r){const e=new Rd.ChaCha20Poly1305(Ar(r.symKey,Jr)),{sealed:t,iv:i}=vc({encoded:r.encoded,encoding:r==null?void 0:r.encoding}),n=e.open(i,t);if(n===null)throw new Error("Failed to decrypt");return Er(n,Pc)}function AS(r,e){const{sealed:t}=vc({encoded:r,encoding:e});return Er(t,Pc)}function Em(r){const{encoding:e=Ls}=r;if(ba(r.type)===Oc)return Er(Yf([r.type,r.sealed]),e);if(ba(r.type)===ls){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return Er(Yf([r.type,r.senderPublicKey,r.iv,r.sealed]),e)}return Er(Yf([r.type,r.iv,r.sealed]),e)}function vc(r){const{encoded:e,encoding:t=Ls}=r,i=Ar(e,t),n=i.slice(vS,dg),a=dg;if(ba(n)===ls){const p=a+Wd,y=p+fc,A=i.slice(a,p),R=i.slice(p,y),O=i.slice(y);return{type:n,sealed:O,iv:R,senderPublicKey:A}}if(ba(n)===Oc){const p=i.slice(a),y=$s.randomBytes(fc);return{type:n,sealed:p,iv:y}}const f=a+fc,u=i.slice(a,f),b=i.slice(f);return{type:n,sealed:b,iv:u}}function ES(r,e){const t=vc({encoded:r,encoding:e==null?void 0:e.encoding});return xm({type:ba(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?Er(t.senderPublicKey,Jr):void 0,receiverPublicKey:e==null?void 0:e.receiverPublicKey})}function xm(r){const e=(r==null?void 0:r.type)||_m;if(e===ls){if(typeof(r==null?void 0:r.senderPublicKey)>"u")throw new Error("missing sender public key");if(typeof(r==null?void 0:r.receiverPublicKey)>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r==null?void 0:r.senderPublicKey,receiverPublicKey:r==null?void 0:r.receiverPublicKey}}function pg(r){return r.type===ls&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}function gg(r){return r.type===Oc}function xS(r){return new Qv.ec("p256").keyFromPublic({x:Buffer.from(r.x,"base64").toString("hex"),y:Buffer.from(r.y,"base64").toString("hex")},"hex")}function SS(r){let e=r.replace(/-/g,"+").replace(/_/g,"/");const t=e.length%4;return t>0&&(e+="=".repeat(4-t)),e}function IS(r){return Buffer.from(SS(r),"base64")}function MS(r,e){const[t,i,n]=r.split("."),a=IS(n);if(a.length!==64)throw new Error("Invalid signature length");const f=a.slice(0,32).toString("hex"),u=a.slice(32,64).toString("hex"),b=`${t}.${i}`,p=new Ac.SHA256().update(Buffer.from(b)).digest(),y=xS(e),A=Buffer.from(p).toString("hex");if(!y.verify(A,{r:f,s:u}))throw new Error("Invalid signature");return nd(r).payload}const PS="irn";function ld(r){return(r==null?void 0:r.relay)||{protocol:PS}}function nc(r){const e=Z9[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}var OS=Object.defineProperty,RS=Object.defineProperties,NS=Object.getOwnPropertyDescriptors,vg=Object.getOwnPropertySymbols,TS=Object.prototype.hasOwnProperty,CS=Object.prototype.propertyIsEnumerable,bg=(r,e,t)=>e in r?OS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,mg=(r,e)=>{for(var t in e||(e={}))TS.call(e,t)&&bg(r,t,e[t]);if(vg)for(var t of vg(e))CS.call(e,t)&&bg(r,t,e[t]);return r},DS=(r,e)=>RS(r,NS(e));function LS(r,e="-"){const t={},i="relay"+e;return Object.keys(r).forEach(n=>{if(n.startsWith(i)){const a=n.replace(i,""),f=r[n];t[a]=f}}),t}function yg(r){if(!r.includes("wc:")){const b=qb(r);b!=null&&b.includes("wc:")&&(r=b)}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("@"),a=typeof t<"u"?r.substring(t):"",f=dc.parse(a),u=typeof f.methods=="string"?f.methods.split(","):void 0;return{protocol:i,topic:qS(n[0]),version:parseInt(n[1],10),symKey:f.symKey,relay:LS(f),methods:u,expiryTimestamp:f.expiryTimestamp?parseInt(f.expiryTimestamp,10):void 0}}function qS(r){return r.startsWith("//")?r.substring(2):r}function BS(r,e="-"){const t="relay",i={};return Object.keys(r).forEach(n=>{const a=t+e+n;r[n]&&(i[a]=r[n])}),i}function wg(r){return`${r.protocol}:${r.topic}@${r.version}?`+dc.stringify(mg(DS(mg({symKey:r.symKey},BS(r.relay)),{expiryTimestamp:r.expiryTimestamp}),r.methods?{methods:r.methods.join(",")}:{}))}function Ff(r,e,t){return`${r}?wc_ev=${t}&topic=${e}`}function _o(r){const e=[];return r.forEach(t=>{const[i,n]=t.split(":");e.push(`${i}:${n}`)}),e}function US(r){const e=[];return Object.values(r).forEach(t=>{e.push(..._o(t.accounts))}),e}function $S(r,e){const t=[];return Object.values(r).forEach(i=>{_o(i.accounts).includes(e)&&t.push(...i.methods)}),t}function zS(r,e){const t=[];return Object.values(r).forEach(i=>{_o(i.accounts).includes(e)&&t.push(...i.events)}),t}function Jd(r){return r.includes(":")}function sc(r){return Jd(r)?r.split(":")[0]:r}function jS(r){const e={};return r==null||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 _g(r,e){e=e.map(i=>i.replace("did:pkh:",""));const t=jS(e);for(const[i,n]of Object.entries(t))n.methods?n.methods=Qf(n.methods,r):n.methods=r,n.events=["chainChanged","accountsChanged"];return t}const kS={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}},FS={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 Ae(r,e){const{message:t,code:i}=FS[r];return{message:e?`${t} ${e}`:t,code:i}}function $t(r,e){const{message:t,code:i}=kS[r];return{message:e?`${t} ${e}`:t,code:i}}function jn(r,e){return!!Array.isArray(r)}function bc(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function fi(r){return typeof r>"u"}function fr(r,e){return e&&fi(r)?!0:typeof r=="string"&&!!r.trim().length}function Yd(r,e){return typeof r=="number"&&!isNaN(r)}function HS(r,e){const{requiredNamespaces:t}=e,i=Object.keys(r.namespaces),n=Object.keys(t);let a=!0;return ca(n,i)?(i.forEach(f=>{const{accounts:u,methods:b,events:p}=r.namespaces[f],y=_o(u),A=t[f];(!ca(Ob(f,A),y)||!ca(A.methods,b)||!ca(A.events,p))&&(a=!1)}),a):!1}function yh(r){return fr(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function KS(r){if(fr(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&yh(t)}}return!1}function VS(r){function e(t){try{return typeof new URL(t)<"u"}catch{return!1}}try{if(fr(r,!1)){if(e(r))return!0;const t=qb(r);return e(t)}}catch{}return!1}function GS(r){var e;return(e=r==null?void 0:r.proposer)==null?void 0:e.publicKey}function WS(r){return r==null?void 0:r.topic}function JS(r,e){let t=null;return fr(r==null?void 0:r.publicKey,!1)||(t=Ae("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function Ag(r){let e=!0;return jn(r)?r.length&&(e=r.every(t=>fr(t,!1))):e=!1,e}function YS(r,e,t){let i=null;return jn(e)&&e.length?e.forEach(n=>{i||yh(n)||(i=$t("UNSUPPORTED_CHAINS",`${t}, chain ${n} should be a string and conform to "namespace:chainId" format`))}):yh(r)||(i=$t("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 QS(r,e,t){let i=null;return Object.entries(r).forEach(([n,a])=>{if(i)return;const f=YS(n,Ob(n,a),`${e} ${t}`);f&&(i=f)}),i}function XS(r,e){let t=null;return jn(r)?r.forEach(i=>{t||KS(i)||(t=$t("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=$t("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function ZS(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=XS(i==null?void 0:i.accounts,`${e} namespace`);n&&(t=n)}),t}function eI(r,e){let t=null;return Ag(r==null?void 0:r.methods)?Ag(r==null?void 0:r.events)||(t=$t("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=$t("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function Sm(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const n=eI(i,`${e}, namespace`);n&&(t=n)}),t}function tI(r,e,t){let i=null;if(r&&bc(r)){const n=Sm(r,e);n&&(i=n);const a=QS(r,e,t);a&&(i=a)}else i=Ae("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function Tl(r,e){let t=null;if(r&&bc(r)){const i=Sm(r,e);i&&(t=i);const n=ZS(r,e);n&&(t=n)}else t=Ae("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function Im(r){return fr(r.protocol,!0)}function rI(r,e){let t=!1;return r?r&&jn(r)&&r.length&&r.forEach(i=>{t=Im(i)}):t=!0,t}function iI(r){return typeof r=="number"}function oi(r){return typeof r<"u"&&typeof r!==null}function nI(r){return!(!r||typeof r!="object"||!r.code||!Yd(r.code)||!r.message||!fr(r.message,!1))}function sI(r){return!(fi(r)||!fr(r.method,!1))}function aI(r){return!(fi(r)||fi(r.result)&&fi(r.error)||!Yd(r.id)||!fr(r.jsonrpc,!1))}function oI(r){return!(fi(r)||!fr(r.name,!1))}function Eg(r,e){return!(!yh(e)||!US(r).includes(e))}function cI(r,e,t){return fr(t,!1)?$S(r,e).includes(t):!1}function fI(r,e,t){return fr(t,!1)?zS(r,e).includes(t):!1}function xg(r,e,t){let i=null;const n=hI(r),a=uI(e),f=Object.keys(n),u=Object.keys(a),b=Sg(Object.keys(r)),p=Sg(Object.keys(e)),y=b.filter(A=>!p.includes(A));return y.length&&(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces.
|
||
Required: ${y.toString()}
|
||
Received: ${Object.keys(e).toString()}`)),ca(f,u)||(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don't satisfy required namespaces.
|
||
Required: ${f.toString()}
|
||
Approved: ${u.toString()}`)),Object.keys(e).forEach(A=>{if(!A.includes(":")||i)return;const R=_o(e[A].accounts);R.includes(A)||(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${A}
|
||
Required: ${A}
|
||
Approved: ${R.toString()}`))}),f.forEach(A=>{i||(ca(n[A].methods,a[A].methods)?ca(n[A].events,a[A].events)||(i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${A}`)):i=Ae("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${A}`))}),i}function hI(r){const e={};return Object.keys(r).forEach(t=>{var i;t.includes(":")?e[t]=r[t]:(i=r[t].chains)==null||i.forEach(n=>{e[n]={methods:r[t].methods,events:r[t].events}})}),e}function Sg(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function uI(r){const e={};return Object.keys(r).forEach(t=>{if(t.includes(":"))e[t]=r[t];else{const i=_o(r[t].accounts);i==null||i.forEach(n=>{e[n]={accounts:r[t].accounts.filter(a=>a.includes(`${n}:`)),methods:r[t].methods,events:r[t].events}})}}),e}function lI(r,e){return Yd(r)&&r<=e.max&&r>=e.min}function Ig(){const r=Ic();return new Promise(e=>{switch(r){case wi.browser:e(dI());break;case wi.reactNative:e(pI());break;case wi.node:e(gI());break;default:e(!0)}})}function dI(){return Sc()&&(navigator==null?void 0:navigator.onLine)}async function pI(){if(vo()&&typeof globalThis<"u"&&globalThis!=null&&globalThis.NetInfo){const r=await(globalThis==null?void 0:globalThis.NetInfo.fetch());return r==null?void 0:r.isConnected}return!0}function gI(){return!0}function vI(r){switch(Ic()){case wi.browser:bI(r);break;case wi.reactNative:mI(r);break}}function bI(r){!vo()&&Sc()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function mI(r){vo()&&typeof globalThis<"u"&&globalThis!=null&&globalThis.NetInfo&&(globalThis==null||globalThis.NetInfo.addEventListener(e=>r(e==null?void 0:e.isConnected)))}const Cl={};class Qo{static get(e){return Cl[e]}static set(e,t){Cl[e]=t}static delete(e){delete Cl[e]}}class Aa{}let yI=class extends Aa{constructor(e){super()}};const Mg=xe.FIVE_SECONDS,Ao={pulse:"heartbeat_pulse"};let wI=class Mm extends yI{constructor(e){super(e),this.events=new Fi.EventEmitter,this.interval=Mg,this.interval=(e==null?void 0:e.interval)||Mg}static async init(e){const t=new Mm(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(),xe.toMiliseconds(this.interval))}pulse(){this.events.emit(Ao.pulse)}};const _I=/"(?:_|\\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*:/,AI=/"(?: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*:/,EI=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function xI(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){SI(r);return}return e}function SI(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function Hf(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(!EI.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(_I.test(r)||AI.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,xI)}return JSON.parse(r)}catch(i){if(e.strict)throw i;return r}}function II(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function _r(r,...e){try{return II(r(...e))}catch(t){return Promise.reject(t)}}function MI(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function PI(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function ih(r){if(MI(r))return String(r);if(PI(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return ih(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}function Pm(){if(typeof Buffer>"u")throw new TypeError("[unstorage] Buffer is not supported!")}const dd="base64:";function OI(r){if(typeof r=="string")return r;Pm();const e=Buffer.from(r).toString("base64");return dd+e}function RI(r){return typeof r!="string"||!r.startsWith(dd)?r:(Pm(),Buffer.from(r.slice(dd.length),"base64"))}function ai(r){return r?r.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function NI(...r){return ai(r.join(":"))}function Kf(r){return r=ai(r),r?r+":":""}const TI="memory",CI=()=>{const r=new Map;return{name:TI,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 DI(r={}){const e={mounts:{"":r.driver||CI()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=p=>{for(const y of e.mountpoints)if(p.startsWith(y))return{base:y,relativeKey:p.slice(y.length),driver:e.mounts[y]};return{base:"",relativeKey:p,driver:e.mounts[""]}},i=(p,y)=>e.mountpoints.filter(A=>A.startsWith(p)||y&&p.startsWith(A)).map(A=>({relativeBase:p.length>A.length?p.slice(A.length):void 0,mountpoint:A,driver:e.mounts[A]})),n=(p,y)=>{if(e.watching){y=ai(y);for(const A of e.watchListeners)A(p,y)}},a=async()=>{if(!e.watching){e.watching=!0;for(const p in e.mounts)e.unwatch[p]=await Pg(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}},u=(p,y,A)=>{const R=new Map,O=N=>{let K=R.get(N.base);return K||(K={driver:N.driver,base:N.base,items:[]},R.set(N.base,K)),K};for(const N of p){const K=typeof N=="string",W=ai(K?N:N.key),Q=K?void 0:N.value,k=K||!N.options?y:{...y,...N.options},Y=t(W);O(Y).items.push({key:W,value:Q,relativeKey:Y.relativeKey,options:k})}return Promise.all([...R.values()].map(N=>A(N))).then(N=>N.flat())},b={hasItem(p,y={}){p=ai(p);const{relativeKey:A,driver:R}=t(p);return _r(R.hasItem,A,y)},getItem(p,y={}){p=ai(p);const{relativeKey:A,driver:R}=t(p);return _r(R.getItem,A,y).then(O=>Hf(O))},getItems(p,y){return u(p,y,A=>A.driver.getItems?_r(A.driver.getItems,A.items.map(R=>({key:R.relativeKey,options:R.options})),y).then(R=>R.map(O=>({key:NI(A.base,O.key),value:Hf(O.value)}))):Promise.all(A.items.map(R=>_r(A.driver.getItem,R.relativeKey,R.options).then(O=>({key:R.key,value:Hf(O)})))))},getItemRaw(p,y={}){p=ai(p);const{relativeKey:A,driver:R}=t(p);return R.getItemRaw?_r(R.getItemRaw,A,y):_r(R.getItem,A,y).then(O=>RI(O))},async setItem(p,y,A={}){if(y===void 0)return b.removeItem(p);p=ai(p);const{relativeKey:R,driver:O}=t(p);O.setItem&&(await _r(O.setItem,R,ih(y),A),O.watch||n("update",p))},async setItems(p,y){await u(p,y,async A=>{if(A.driver.setItems)return _r(A.driver.setItems,A.items.map(R=>({key:R.relativeKey,value:ih(R.value),options:R.options})),y);A.driver.setItem&&await Promise.all(A.items.map(R=>_r(A.driver.setItem,R.relativeKey,ih(R.value),R.options)))})},async setItemRaw(p,y,A={}){if(y===void 0)return b.removeItem(p,A);p=ai(p);const{relativeKey:R,driver:O}=t(p);if(O.setItemRaw)await _r(O.setItemRaw,R,y,A);else if(O.setItem)await _r(O.setItem,R,OI(y),A);else return;O.watch||n("update",p)},async removeItem(p,y={}){typeof y=="boolean"&&(y={removeMeta:y}),p=ai(p);const{relativeKey:A,driver:R}=t(p);R.removeItem&&(await _r(R.removeItem,A,y),(y.removeMeta||y.removeMata)&&await _r(R.removeItem,A+"$",y),R.watch||n("remove",p))},async getMeta(p,y={}){typeof y=="boolean"&&(y={nativeOnly:y}),p=ai(p);const{relativeKey:A,driver:R}=t(p),O=Object.create(null);if(R.getMeta&&Object.assign(O,await _r(R.getMeta,A,y)),!y.nativeOnly){const N=await _r(R.getItem,A+"$",y).then(K=>Hf(K));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(O,N))}return O},setMeta(p,y,A={}){return this.setItem(p+"$",y,A)},removeMeta(p,y={}){return this.removeItem(p+"$",y)},async getKeys(p,y={}){p=Kf(p);const A=i(p,!0);let R=[];const O=[];for(const N of A){const K=await _r(N.driver.getKeys,N.relativeBase,y);for(const W of K){const Q=N.mountpoint+ai(W);R.some(k=>Q.startsWith(k))||O.push(Q)}R=[N.mountpoint,...R.filter(W=>!W.startsWith(N.mountpoint))]}return p?O.filter(N=>N.startsWith(p)&&N[N.length-1]!=="$"):O.filter(N=>N[N.length-1]!=="$")},async clear(p,y={}){p=Kf(p),await Promise.all(i(p,!1).map(async A=>{if(A.driver.clear)return _r(A.driver.clear,A.relativeBase,y);if(A.driver.removeItem){const R=await A.driver.getKeys(A.relativeBase||"",y);return Promise.all(R.map(O=>A.driver.removeItem(O,y)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(p=>Og(p)))},async watch(p){return await a(),e.watchListeners.push(p),async()=>{e.watchListeners=e.watchListeners.filter(y=>y!==p),e.watchListeners.length===0&&await f()}},async unwatch(){e.watchListeners=[],await f()},mount(p,y){if(p=Kf(p),p&&e.mounts[p])throw new Error(`already mounted at ${p}`);return p&&(e.mountpoints.push(p),e.mountpoints.sort((A,R)=>R.length-A.length)),e.mounts[p]=y,e.watching&&Promise.resolve(Pg(y,n,p)).then(A=>{e.unwatch[p]=A}).catch(console.error),b},async unmount(p,y=!0){p=Kf(p),!(!p||!e.mounts[p])&&(e.watching&&p in e.unwatch&&(e.unwatch[p](),delete e.unwatch[p]),y&&await Og(e.mounts[p]),e.mountpoints=e.mountpoints.filter(A=>A!==p),delete e.mounts[p])},getMount(p=""){p=ai(p)+":";const y=t(p);return{driver:y.driver,base:y.base}},getMounts(p="",y={}){return p=ai(p),i(p,y.parents).map(R=>({driver:R.driver,base:R.mountpoint}))},keys:(p,y={})=>b.getKeys(p,y),get:(p,y={})=>b.getItem(p,y),set:(p,y,A={})=>b.setItem(p,y,A),has:(p,y={})=>b.hasItem(p,y),del:(p,y={})=>b.removeItem(p,y),remove:(p,y={})=>b.removeItem(p,y)};return b}function Pg(r,e,t){return r.watch?r.watch((i,n)=>e(i,t+n)):()=>{}}async function Og(r){typeof r.dispose=="function"&&await _r(r.dispose)}function Ea(r){return new Promise((e,t)=>{r.oncomplete=r.onsuccess=()=>e(r.result),r.onabort=r.onerror=()=>t(r.error)})}function Om(r,e){const t=indexedDB.open(r);t.onupgradeneeded=()=>t.result.createObjectStore(e);const i=Ea(t);return(n,a)=>i.then(f=>a(f.transaction(e,n).objectStore(e)))}let Dl;function Rc(){return Dl||(Dl=Om("keyval-store","keyval")),Dl}function Rg(r,e=Rc()){return e("readonly",t=>Ea(t.get(r)))}function LI(r,e,t=Rc()){return t("readwrite",i=>(i.put(e,r),Ea(i.transaction)))}function qI(r,e=Rc()){return e("readwrite",t=>(t.delete(r),Ea(t.transaction)))}function BI(r=Rc()){return r("readwrite",e=>(e.clear(),Ea(e.transaction)))}function UI(r,e){return r.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue())},Ea(r.transaction)}function $I(r=Rc()){return r("readonly",e=>{if(e.getAllKeys)return Ea(e.getAllKeys());const t=[];return UI(e,i=>t.push(i.key)).then(()=>t)})}const zI="idb-keyval";var jI=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}:`:"",t=n=>e+n;let i;return r.dbName&&r.storeName&&(i=Om(r.dbName,r.storeName)),{name:zI,options:r,async hasItem(n){return!(typeof await Rg(t(n),i)>"u")},async getItem(n){return await Rg(t(n),i)??null},setItem(n,a){return LI(t(n),a,i)},removeItem(n){return qI(t(n),i)},getKeys(){return $I(i)},clear(){return BI(i)}}};const kI="WALLET_CONNECT_V2_INDEXED_DB",FI="keyvaluestorage";let HI=class{constructor(){this.indexedDb=DI({driver:jI({dbName:kI,storeName:FI})})}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,gs(t))}async removeItem(e){await this.indexedDb.removeItem(e)}};var Ll=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},nh={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 Ll<"u"&&Ll.localStorage?nh.exports=Ll.localStorage:typeof window<"u"&&window.localStorage?nh.exports=window.localStorage:nh.exports=new e})();function KI(r){var e;return[r[0],ga((e=r[1])!=null?e:"")]}class VI{constructor(){this.localStorage=nh.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(KI)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return ga(t)}async setItem(e,t){this.localStorage.setItem(e,gs(t))}async removeItem(e){this.localStorage.removeItem(e)}}const GI="wc_storage_version",Ng=1,WI=async(r,e,t)=>{const i=GI,n=await e.getItem(i);if(n&&n>=Ng){t(e);return}const a=await r.getKeys();if(!a.length){t(e);return}const f=[];for(;a.length;){const u=a.shift();if(!u)continue;const b=u.toLowerCase();if(b.includes("wc@")||b.includes("walletconnect")||b.includes("wc_")||b.includes("wallet_connect")){const p=await r.getItem(u);await e.setItem(u,p),f.push(u)}}await e.setItem(i,Ng),t(e),JI(r,f)},JI=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let YI=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new VI;this.storage=e;try{const t=new HI;WI(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 QI(r){try{return JSON.stringify(r)}catch{return'"[Circular]"'}}var XI=ZI;function ZI(r,e,t){var i=t&&t.stringify||QI,n=1;if(typeof r=="object"&&r!==null){var a=e.length+n;if(a===1)return r;var f=new Array(a);f[0]=i(r);for(var u=1;u<a;u++)f[u]=i(e[u]);return f.join(" ")}if(typeof r!="string")return r;var b=e.length;if(b===0)return r;for(var p="",y=1-n,A=-1,R=r&&r.length||0,O=0;O<R;){if(r.charCodeAt(O)===37&&O+1<R){switch(A=A>-1?A:0,r.charCodeAt(O+1)){case 100:case 102:if(y>=b||e[y]==null)break;A<O&&(p+=r.slice(A,O)),p+=Number(e[y]),A=O+2,O++;break;case 105:if(y>=b||e[y]==null)break;A<O&&(p+=r.slice(A,O)),p+=Math.floor(Number(e[y])),A=O+2,O++;break;case 79:case 111:case 106:if(y>=b||e[y]===void 0)break;A<O&&(p+=r.slice(A,O));var N=typeof e[y];if(N==="string"){p+="'"+e[y]+"'",A=O+2,O++;break}if(N==="function"){p+=e[y].name||"<anonymous>",A=O+2,O++;break}p+=i(e[y]),A=O+2,O++;break;case 115:if(y>=b)break;A<O&&(p+=r.slice(A,O)),p+=String(e[y]),A=O+2,O++;break;case 37:A<O&&(p+=r.slice(A,O)),p+="%",A=O+2,O++,y--;break}++y}++O}return A===-1?r:(A<R&&(p+=r.slice(A)),p)}const Tg=XI;var Ja=Bn;const mc=fM().console||{},eM={mapHttpRequest:Vf,mapHttpResponse:Vf,wrapRequestSerializer:ql,wrapResponseSerializer:ql,wrapErrorSerializer:ql,req:Vf,res:Vf,err:sM};function tM(r,e){return Array.isArray(r)?r.filter(function(i){return i!=="!stdSerializers.err"}):r===!0?Object.keys(e):!1}function Bn(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||mc;r.browser.write&&(r.browser.asObject=!0);const i=r.serializers||{},n=tM(r.browser.serialize,i);let a=r.browser.serialize;Array.isArray(r.browser.serialize)&&r.browser.serialize.indexOf("!stdSerializers.err")>-1&&(a=!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 u=r.level||"info",b=Object.create(t);b.log||(b.log=yc),Object.defineProperty(b,"levelVal",{get:y}),Object.defineProperty(b,"level",{get:A,set:R});const p={transmit:e,serialize:n,asObject:r.browser.asObject,levels:f,timestamp:aM(r)};b.levels=Bn.levels,b.level=u,b.setMaxListeners=b.getMaxListeners=b.emit=b.addListener=b.on=b.prependListener=b.once=b.prependOnceListener=b.removeListener=b.removeAllListeners=b.listeners=b.listenerCount=b.eventNames=b.write=b.flush=yc,b.serializers=i,b._serialize=n,b._stdErrSerialize=a,b.child=O,e&&(b._logEvent=pd());function y(){return this.level==="silent"?1/0:this.levels.values[this.level]}function A(){return this._level}function R(N){if(N!=="silent"&&!this.levels.values[N])throw Error("unknown level "+N);this._level=N,Ka(p,b,"error","log"),Ka(p,b,"fatal","error"),Ka(p,b,"warn","error"),Ka(p,b,"info","log"),Ka(p,b,"debug","log"),Ka(p,b,"trace","log")}function O(N,K){if(!N)throw new Error("missing bindings for child Pino");K=K||{},n&&N.serializers&&(K.serializers=N.serializers);const W=K.serializers;if(n&&W){var Q=Object.assign({},i,W),k=r.browser.serialize===!0?Object.keys(Q):n;delete N.serializers,Fh([N],k,Q,this._stdErrSerialize)}function Y($){this._childLevel=($._childLevel|0)+1,this.error=Va($,N,"error"),this.fatal=Va($,N,"fatal"),this.warn=Va($,N,"warn"),this.info=Va($,N,"info"),this.debug=Va($,N,"debug"),this.trace=Va($,N,"trace"),Q&&(this.serializers=Q,this._serialize=k),e&&(this._logEvent=pd([].concat($._logEvent.bindings,N)))}return Y.prototype=this,new Y(this)}return b}Bn.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"}};Bn.stdSerializers=eM;Bn.stdTimeFunctions=Object.assign({},{nullTime:Rm,epochTime:Nm,unixTime:oM,isoTime:cM});function Ka(r,e,t,i){const n=Object.getPrototypeOf(e);e[t]=e.levelVal>e.levels.values[t]?yc:n[t]?n[t]:mc[t]||mc[i]||yc,rM(r,e,t)}function rM(r,e,t){!r.transmit&&e[t]===yc||(e[t]=function(i){return function(){const a=r.timestamp(),f=new Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===mc?mc:this;for(var b=0;b<f.length;b++)f[b]=arguments[b];if(r.serialize&&!r.asObject&&Fh(f,this._serialize,this.serializers,this._stdErrSerialize),r.asObject?i.call(u,iM(this,t,f,a)):i.apply(u,f),r.transmit){const p=r.transmit.level||e.level,y=Bn.levels.values[p],A=Bn.levels.values[t];if(A<y)return;nM(this,{ts:a,methodLevel:t,methodValue:A,transmitLevel:p,transmitValue:Bn.levels.values[r.transmit.level||e.level],send:r.transmit.send,val:e.levelVal},f)}}}(e[t]))}function iM(r,e,t,i){r._serialize&&Fh(t,r._serialize,r.serializers,r._stdErrSerialize);const n=t.slice();let a=n[0];const f={};i&&(f.time=i),f.level=Bn.levels.values[e];let u=(r._childLevel|0)+1;if(u<1&&(u=1),a!==null&&typeof a=="object"){for(;u--&&typeof n[0]=="object";)Object.assign(f,n.shift());a=n.length?Tg(n.shift(),n):void 0}else typeof a=="string"&&(a=Tg(n.shift(),n));return a!==void 0&&(f.msg=a),f}function Fh(r,e,t,i){for(const n in r)if(i&&r[n]instanceof Error)r[n]=Bn.stdSerializers.err(r[n]);else if(typeof r[n]=="object"&&!Array.isArray(r[n]))for(const a in r[n])e&&e.indexOf(a)>-1&&a in t&&(r[n][a]=t[a](r[n][a]))}function Va(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 nM(r,e,t){const i=e.send,n=e.ts,a=e.methodLevel,f=e.methodValue,u=e.val,b=r._logEvent.bindings;Fh(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 b.indexOf(p)===-1}),r._logEvent.level.label=a,r._logEvent.level.value=f,i(a,r._logEvent,u),r._logEvent=pd(b)}function pd(r){return{ts:0,messages:[],bindings:r||[],level:{label:"",value:0}}}function sM(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 aM(r){return typeof r.timestamp=="function"?r.timestamp:r.timestamp===!1?Rm:Nm}function Vf(){return{}}function ql(r){return r}function yc(){}function Rm(){return!1}function Nm(){return Date.now()}function oM(){return Math.round(Date.now()/1e3)}function cM(){return new Date(Date.now()).toISOString()}function fM(){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 Nc=Sd(Ja),hM={level:"info"},Tc="custom_context",Qd=1e3*1024;let uM=class{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}},Cg=class{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new uM(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}}}}},Tm=class{constructor(e,t=Qd){this.level=e??"error",this.levelValue=Ja.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Cg(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===Ja.levels.values.error?console.error(e):t===Ja.levels.values.warn?console.warn(e):t===Ja.levels.values.debug?console.debug(e):t===Ja.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(gs({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 Cg(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(gs({extraMetadata:e})),new Blob(t,{type:"application/json"})}},lM=class{constructor(e,t=Qd){this.baseChunkLogger=new Tm(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 dM{constructor(e,t=Qd){this.baseChunkLogger=new Tm(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 pM=Object.defineProperty,gM=Object.defineProperties,vM=Object.getOwnPropertyDescriptors,Dg=Object.getOwnPropertySymbols,bM=Object.prototype.hasOwnProperty,mM=Object.prototype.propertyIsEnumerable,Lg=(r,e,t)=>e in r?pM(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,wh=(r,e)=>{for(var t in e||(e={}))bM.call(e,t)&&Lg(r,t,e[t]);if(Dg)for(var t of Dg(e))mM.call(e,t)&&Lg(r,t,e[t]);return r},_h=(r,e)=>gM(r,vM(e));function Hh(r){return _h(wh({},r),{level:(r==null?void 0:r.level)||hM.level})}function yM(r,e=Tc){return r[e]||""}function wM(r,e,t=Tc){return r[t]=e,r}function di(r,e=Tc){let t="";return typeof r.bindings>"u"?t=yM(r,e):t=r.bindings().context||"",t}function _M(r,e,t=Tc){const i=di(r,t);return i.trim()?`${i}/${e}`:e}function Yr(r,e,t=Tc){const i=_M(r,e,t),n=r.child({context:i});return wM(n,i,t)}function AM(r){var e,t;const i=new lM((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Nc(_h(wh({},r.opts),{level:"trace",browser:_h(wh({},(t=r.opts)==null?void 0:t.browser),{write:n=>i.write(n)})})),chunkLoggerController:i}}function EM(r){var e;const t=new dM((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Nc(_h(wh({},r.opts),{level:"trace"}),t),chunkLoggerController:t}}function xM(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?AM(r):EM(r)}let SM=class extends Aa{constructor(e){super(),this.opts=e,this.protocol="wc",this.version=2}},IM=class extends Aa{constructor(e,t){super(),this.core=e,this.logger=t,this.records=new Map}},MM=class{constructor(e,t){this.logger=e,this.core=t}},PM=class extends Aa{constructor(e,t){super(),this.relayer=e,this.logger=t}},OM=class extends Aa{constructor(e){super()}},RM=class{constructor(e,t,i,n){this.core=e,this.logger=t,this.name=i}},NM=class extends Aa{constructor(e,t){super(),this.relayer=e,this.logger=t}},TM=class extends Aa{constructor(e,t){super(),this.core=e,this.logger=t}},CM=class{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}},DM=class{constructor(e,t){this.projectId=e,this.logger=t}},LM=class{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}},qM=class{constructor(e){this.opts=e,this.protocol="wc",this.version=2}},BM=class{constructor(e){this.client=e}};const UM="PARSE_ERROR",$M="INVALID_REQUEST",zM="METHOD_NOT_FOUND",jM="INVALID_PARAMS",Cm="INTERNAL_ERROR",Xd="SERVER_ERROR",kM=[-32700,-32600,-32601,-32602,-32603],hc={[UM]:{code:-32700,message:"Parse error"},[$M]:{code:-32600,message:"Invalid Request"},[zM]:{code:-32601,message:"Method not found"},[jM]:{code:-32602,message:"Invalid params"},[Cm]:{code:-32603,message:"Internal error"},[Xd]:{code:-32e3,message:"Server error"}},Dm=Xd;function FM(r){return kM.includes(r)}function qg(r){return Object.keys(hc).includes(r)?hc[r]:hc[Dm]}function HM(r){const e=Object.values(hc).find(t=>t.code===r);return e||hc[Dm]}function Lm(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var qm={};/*! *****************************************************************************
|
||
Copyright (c) Microsoft Corporation.
|
||
|
||
Permission to use, copy, modify, and/or distribute this software for any
|
||
purpose with or without fee is hereby granted.
|
||
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
PERFORMANCE OF THIS SOFTWARE.
|
||
***************************************************************************** */var gd=function(r,e){return gd=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])},gd(r,e)};function KM(r,e){gd(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var vd=function(){return vd=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},vd.apply(this,arguments)};function VM(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 GM(r,e,t,i){var n=arguments.length,a=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,f;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,e,t,i);else for(var u=r.length-1;u>=0;u--)(f=r[u])&&(a=(n<3?f(a):n>3?f(e,t,a):f(e,t))||a);return n>3&&a&&Object.defineProperty(e,t,a),a}function WM(r,e){return function(t,i){e(t,i,r)}}function JM(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function YM(r,e,t,i){function n(a){return a instanceof t?a:new t(function(f){f(a)})}return new(t||(t=Promise))(function(a,f){function u(y){try{p(i.next(y))}catch(A){f(A)}}function b(y){try{p(i.throw(y))}catch(A){f(A)}}function p(y){y.done?a(y.value):n(y.value).then(u,b)}p((i=i.apply(r,e||[])).next())})}function QM(r,e){var t={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},i,n,a,f;return f={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(f[Symbol.iterator]=function(){return this}),f;function u(p){return function(y){return b([p,y])}}function b(p){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(a=p[0]&2?n.return:p[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,p[1])).done)return a;switch(n=0,a&&(p=[p[0]&2,a.value]),p[0]){case 0:case 1:a=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(a=t.trys,!(a=a.length>0&&a[a.length-1])&&(p[0]===6||p[0]===2)){t=0;continue}if(p[0]===3&&(!a||p[1]>a[0]&&p[1]<a[3])){t.label=p[1];break}if(p[0]===6&&t.label<a[1]){t.label=a[1],a=p;break}if(a&&t.label<a[2]){t.label=a[2],t.ops.push(p);break}a[2]&&t.ops.pop(),t.trys.pop();continue}p=e.call(r,t)}catch(y){p=[6,y],n=0}finally{i=a=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function XM(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function ZM(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function bd(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 Bm(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,a=[],f;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(u){f={error:u}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(f)throw f.error}}return a}function eP(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(Bm(arguments[e]));return r}function tP(){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 a=arguments[e],f=0,u=a.length;f<u;f++,n++)i[n]=a[f];return i}function wc(r){return this instanceof wc?(this.v=r,this):new wc(r)}function rP(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,a=[];return n={},f("next"),f("throw"),f("return"),n[Symbol.asyncIterator]=function(){return this},n;function f(R){i[R]&&(n[R]=function(O){return new Promise(function(N,K){a.push([R,O,N,K])>1||u(R,O)})})}function u(R,O){try{b(i[R](O))}catch(N){A(a[0][3],N)}}function b(R){R.value instanceof wc?Promise.resolve(R.value.v).then(p,y):A(a[0][2],R)}function p(R){u("next",R)}function y(R){u("throw",R)}function A(R,O){R(O),a.shift(),a.length&&u(a[0][0],a[0][1])}}function iP(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,a){e[n]=r[n]?function(f){return(t=!t)?{value:wc(r[n](f)),done:n==="return"}:a?a(f):f}:a}}function nP(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 bd=="function"?bd(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(a){t[a]=r[a]&&function(f){return new Promise(function(u,b){f=r[a](f),n(u,b,f.done,f.value)})}}function n(a,f,u,b){Promise.resolve(b).then(function(p){a({value:p,done:u})},f)}}function sP(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function aP(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 oP(r){return r&&r.__esModule?r:{default:r}}function cP(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function fP(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}const hP=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return vd},__asyncDelegator:iP,__asyncGenerator:rP,__asyncValues:nP,__await:wc,__awaiter:YM,__classPrivateFieldGet:cP,__classPrivateFieldSet:fP,__createBinding:XM,__decorate:GM,__exportStar:ZM,__extends:KM,__generator:QM,__importDefault:oP,__importStar:aP,__makeTemplateObject:sP,__metadata:JM,__param:WM,__read:Bm,__rest:VM,__spread:eP,__spreadArrays:tP,__values:bd},Symbol.toStringTag,{value:"Module"})),uP=Cv(hP);var ns={},Bg;function lP(){if(Bg)return ns;Bg=1,Object.defineProperty(ns,"__esModule",{value:!0}),ns.isBrowserCryptoAvailable=ns.getSubtleCrypto=ns.getBrowerCrypto=void 0;function r(){return(globalThis==null?void 0:globalThis.crypto)||(globalThis==null?void 0:globalThis.msCrypto)||{}}ns.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}ns.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return ns.isBrowserCryptoAvailable=t,ns}var ss={},Ug;function dP(){if(Ug)return ss;Ug=1;var r={env:{NODE_ENV:'"production"',VITE_WALLETCONNECT_PROJECT_ID:'"1d93edc21291f98e3bed6ff7617ff539"'},nextTick:"setImmediate",platform:'"browser"',version:'"v16.0.0"',browser:!0};Object.defineProperty(ss,"__esModule",{value:!0}),ss.isBrowser=ss.isNode=ss.isReactNative=void 0;function e(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}ss.isReactNative=e;function t(){return typeof r<"u"&&typeof r.versions<"u"&&typeof r.versions.node<"u"}ss.isNode=t;function i(){return!e()&&!t()}return ss.isBrowser=i,ss}(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=uP;e.__exportStar(lP(),r),e.__exportStar(dP(),r)})(qm);function Ns(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function fa(r=6){return BigInt(Ns(r))}function qs(r,e,t){return{id:t||Ns(),jsonrpc:"2.0",method:r,params:e}}function Kh(r,e){return{id:r,jsonrpc:"2.0",result:e}}function Vh(r,e,t){return{id:r,jsonrpc:"2.0",error:pP(e)}}function pP(r,e){return typeof r>"u"?qg(Cm):(typeof r=="string"&&(r=Object.assign(Object.assign({},qg(Xd)),{message:r})),FM(r.code)&&(r=HM(r.code)),r)}class gP{}class vP extends gP{constructor(){super()}}class bP extends vP{constructor(e){super()}}const mP="^https?:",yP="^wss?:";function wP(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function Um(r,e){const t=wP(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function $g(r){return Um(r,mP)}function zg(r){return Um(r,yP)}function _P(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function $m(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Zd(r){return $m(r)&&"method"in r}function Gh(r){return $m(r)&&(In(r)||zi(r))}function In(r){return"result"in r}function zi(r){return"error"in r}let pn=class extends bP{constructor(e){super(e),this.events=new Fi.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(qs(e.method,e.params||[],e.id||fa().toString()),t)}async requestStrict(e,t){return new Promise(async(i,n)=>{if(!this.connection.connected)try{await this.open()}catch(a){n(a)}this.events.on(`${e.id}`,a=>{zi(a)?n(a.error):i(a.result)});try{await this.connection.send(e,t)}catch(a){n(a)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Gh(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 AP=()=>typeof WebSocket<"u"?WebSocket:typeof globalThis<"u"&&typeof globalThis.WebSocket<"u"?globalThis.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),EP=()=>typeof WebSocket<"u"||typeof globalThis<"u"&&typeof globalThis.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",jg=r=>r.split("?")[0],kg=10,xP=AP();let SP=class{constructor(e){if(this.url=e,this.events=new Fi.EventEmitter,this.registering=!1,!zg(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(gs(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!zg(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",a=>{this.resetMaxListeners(),n(a)}),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=new URLSearchParams(e).get("origin"),a=qm.isReactNative()?{headers:{origin:n}}:{rejectUnauthorized:!_P(e)},f=new xP(e,[],a);EP()?f.onerror=u=>{const b=u;i(this.emitError(b.error))}:f.on("error",u=>{i(this.emitError(u))}),f.onopen=()=>{this.onOpen(f),t(f)}})}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"?ga(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=Vh(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return Lm(e,jg(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>kg&&this.events.setMaxListeners(kg)}emitError(e){const t=this.parseError(new Error((e==null?void 0:e.message)||`WebSocket connection failed for host: ${jg(this.url)}`));return this.events.emit("register_error",t),t}};var Ah={exports:{}};Ah.exports;(function(r,e){var t=200,i="__lodash_hash_undefined__",n=1,a=2,f=9007199254740991,u="[object Arguments]",b="[object Array]",p="[object AsyncFunction]",y="[object Boolean]",A="[object Date]",R="[object Error]",O="[object Function]",N="[object GeneratorFunction]",K="[object Map]",W="[object Number]",Q="[object Null]",k="[object Object]",Y="[object Promise]",$="[object Proxy]",F="[object RegExp]",G="[object Set]",x="[object String]",q="[object Symbol]",ae="[object Undefined]",le="[object WeakMap]",L="[object ArrayBuffer]",m="[object DataView]",c="[object Float32Array]",h="[object Float64Array]",v="[object Int8Array]",_="[object Int16Array]",I="[object Int32Array]",M="[object Uint8Array]",S="[object Uint8ClampedArray]",d="[object Uint16Array]",g="[object Uint32Array]",C=/[\\^$.*+?()[\]{}|]/g,Z=/^\[object .+?Constructor\]$/,se=/^(?:0|[1-9]\d*)$/,P={};P[c]=P[h]=P[v]=P[_]=P[I]=P[M]=P[S]=P[d]=P[g]=!0,P[u]=P[b]=P[L]=P[y]=P[m]=P[A]=P[R]=P[O]=P[K]=P[W]=P[k]=P[F]=P[G]=P[x]=P[le]=!1;var ee=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis,B=typeof self=="object"&&self&&self.Object===Object&&self,j=ee||B||Function("return this")(),H=e&&!e.nodeType&&e,w=H&&!0&&r&&!r.nodeType&&r,z=w&&w.exports===H,ne=z&&ee.process,ce=function(){try{return ne&&ne.binding&&ne.binding("util")}catch{}}(),he=ce&&ce.isTypedArray;function ye(V,te){for(var pe=-1,$e=V==null?0:V.length,kt=0,pt=[];++pe<$e;){var Jt=V[pe];te(Jt,pe,V)&&(pt[kt++]=Jt)}return pt}function we(V,te){for(var pe=-1,$e=te.length,kt=V.length;++pe<$e;)V[kt+pe]=te[pe];return V}function Te(V,te){for(var pe=-1,$e=V==null?0:V.length;++pe<$e;)if(te(V[pe],pe,V))return!0;return!1}function Qe(V,te){for(var pe=-1,$e=Array(V);++pe<V;)$e[pe]=te(pe);return $e}function Oe(V){return function(te){return V(te)}}function Ce(V,te){return V.has(te)}function Ie(V,te){return V==null?void 0:V[te]}function me(V){var te=-1,pe=Array(V.size);return V.forEach(function($e,kt){pe[++te]=[kt,$e]}),pe}function Re(V,te){return function(pe){return V(te(pe))}}function De(V){var te=-1,pe=Array(V.size);return V.forEach(function($e){pe[++te]=$e}),pe}var ve=Array.prototype,Ne=Function.prototype,Se=Object.prototype,be=j["__core-js_shared__"],Ue=Ne.toString,Me=Se.hasOwnProperty,_e=function(){var V=/[^.]+$/.exec(be&&be.keys&&be.keys.IE_PROTO||"");return V?"Symbol(src)_1."+V:""}(),He=Se.toString,Ve=RegExp("^"+Ue.call(Me).replace(C,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ee=z?j.Buffer:void 0,Ke=j.Symbol,ut=j.Uint8Array,Ge=Se.propertyIsEnumerable,_t=ve.splice,lt=Ke?Ke.toStringTag:void 0,Je=Object.getOwnPropertySymbols,Et=Ee?Ee.isBuffer:void 0,It=Re(Object.keys,Object),Le=pi(j,"DataView"),Xe=pi(j,"Map"),tt=pi(j,"Promise"),qe=pi(j,"Set"),et=pi(j,"WeakMap"),Ze=pi(Object,"create"),ze=Gn(Le),ft=Gn(Xe),rt=Gn(tt),je=Gn(qe),it=Gn(et),st=Ke?Ke.prototype:void 0,Be=st?st.valueOf:void 0;function Ye(V){var te=-1,pe=V==null?0:V.length;for(this.clear();++te<pe;){var $e=V[te];this.set($e[0],$e[1])}}function ht(){this.__data__=Ze?Ze(null):{},this.size=0}function ke(V){var te=this.has(V)&&delete this.__data__[V];return this.size-=te?1:0,te}function Ct(V){var te=this.__data__;if(Ze){var pe=te[V];return pe===i?void 0:pe}return Me.call(te,V)?te[V]:void 0}function Dt(V){var te=this.__data__;return Ze?te[V]!==void 0:Me.call(te,V)}function at(V,te){var pe=this.__data__;return this.size+=this.has(V)?0:1,pe[V]=Ze&&te===void 0?i:te,this}Ye.prototype.clear=ht,Ye.prototype.delete=ke,Ye.prototype.get=Ct,Ye.prototype.has=Dt,Ye.prototype.set=at;function bt(V){var te=-1,pe=V==null?0:V.length;for(this.clear();++te<pe;){var $e=V[te];this.set($e[0],$e[1])}}function Tr(){this.__data__=[],this.size=0}function Cr(V){var te=this.__data__,pe=ks(te,V);if(pe<0)return!1;var $e=te.length-1;return pe==$e?te.pop():_t.call(te,pe,1),--this.size,!0}function Dr(V){var te=this.__data__,pe=ks(te,V);return pe<0?void 0:te[pe][1]}function Lr(V){return ks(this.__data__,V)>-1}function qr(V,te){var pe=this.__data__,$e=ks(pe,V);return $e<0?(++this.size,pe.push([V,te])):pe[$e][1]=te,this}bt.prototype.clear=Tr,bt.prototype.delete=Cr,bt.prototype.get=Dr,bt.prototype.has=Lr,bt.prototype.set=qr;function er(V){var te=-1,pe=V==null?0:V.length;for(this.clear();++te<pe;){var $e=V[te];this.set($e[0],$e[1])}}function Qr(){this.size=0,this.__data__={hash:new Ye,map:new(Xe||bt),string:new Ye}}function Vi(V){var te=bs(this,V).delete(V);return this.size-=te?1:0,te}function Xr(V){return bs(this,V).get(V)}function Gi(V){return bs(this,V).has(V)}function Wi(V,te){var pe=bs(this,V),$e=pe.size;return pe.set(V,te),this.size+=pe.size==$e?0:1,this}er.prototype.clear=Qr,er.prototype.delete=Vi,er.prototype.get=Xr,er.prototype.has=Gi,er.prototype.set=Wi;function Zr(V){var te=-1,pe=V==null?0:V.length;for(this.__data__=new er;++te<pe;)this.add(V[te])}function Si(V){return this.__data__.set(V,i),this}function Ii(V){return this.__data__.has(V)}Zr.prototype.add=Zr.prototype.push=Si,Zr.prototype.has=Ii;function lr(V){var te=this.__data__=new bt(V);this.size=te.size}function Ji(){this.__data__=new bt,this.size=0}function Yi(V){var te=this.__data__,pe=te.delete(V);return this.size=te.size,pe}function Qi(V){return this.__data__.get(V)}function js(V){return this.__data__.has(V)}function Dc(V,te){var pe=this.__data__;if(pe instanceof bt){var $e=pe.__data__;if(!Xe||$e.length<t-1)return $e.push([V,te]),this.size=++pe.size,this;pe=this.__data__=new er($e)}return pe.set(V,te),this.size=pe.size,this}lr.prototype.clear=Ji,lr.prototype.delete=Yi,lr.prototype.get=Qi,lr.prototype.has=js,lr.prototype.set=Dc;function Lc(V,te){var pe=Oa(V),$e=!pe&&Gc(V),kt=!pe&&!$e&&Io(V),pt=!pe&&!$e&&!kt&&Yc(V),Jt=pe||$e||kt||pt,hr=Jt?Qe(V.length,String):[],Nt=hr.length;for(var Ft in V)Me.call(V,Ft)&&!(Jt&&(Ft=="length"||kt&&(Ft=="offset"||Ft=="parent")||pt&&(Ft=="buffer"||Ft=="byteLength"||Ft=="byteOffset")||kc(Ft,Nt)))&&hr.push(Ft);return hr}function ks(V,te){for(var pe=V.length;pe--;)if(Vc(V[pe][0],te))return pe;return-1}function xo(V,te,pe){var $e=te(V);return Oa(V)?$e:we($e,pe(V))}function Fs(V){return V==null?V===void 0?ae:Q:lt&< in Object(V)?zc(V):Xh(V)}function So(V){return Ks(V)&&Fs(V)==u}function Hs(V,te,pe,$e,kt){return V===te?!0:V==null||te==null||!Ks(V)&&!Ks(te)?V!==V&&te!==te:qc(V,te,pe,$e,Hs,kt)}function qc(V,te,pe,$e,kt,pt){var Jt=Oa(V),hr=Oa(te),Nt=Jt?b:vn(V),Ft=hr?b:vn(te);Nt=Nt==u?k:Nt,Ft=Ft==u?k:Ft;var sr=Nt==k,ei=Ft==k,ur=Nt==Ft;if(ur&&Io(V)){if(!Io(te))return!1;Jt=!0,sr=!1}if(ur&&!sr)return pt||(pt=new lr),Jt||Yc(V)?Ma(V,te,pe,$e,kt,pt):Qh(V,te,Nt,pe,$e,kt,pt);if(!(pe&n)){var Yt=sr&&Me.call(V,"__wrapped__"),kr=ei&&Me.call(te,"__wrapped__");if(Yt||kr){var Xi=Yt?V.value():V,Mi=kr?te.value():te;return pt||(pt=new lr),kt(Xi,Mi,pe,$e,pt)}}return ur?(pt||(pt=new lr),$c(V,te,pe,$e,kt,pt)):!1}function Yh(V){if(!Jc(V)||Hc(V))return!1;var te=Ra(V)?Ve:Z;return te.test(Gn(V))}function Bc(V){return Ks(V)&&Wc(V.length)&&!!P[Fs(V)]}function Uc(V){if(!Kc(V))return It(V);var te=[];for(var pe in Object(V))Me.call(V,pe)&&pe!="constructor"&&te.push(pe);return te}function Ma(V,te,pe,$e,kt,pt){var Jt=pe&n,hr=V.length,Nt=te.length;if(hr!=Nt&&!(Jt&&Nt>hr))return!1;var Ft=pt.get(V);if(Ft&&pt.get(te))return Ft==te;var sr=-1,ei=!0,ur=pe&a?new Zr:void 0;for(pt.set(V,te),pt.set(te,V);++sr<hr;){var Yt=V[sr],kr=te[sr];if($e)var Xi=Jt?$e(kr,Yt,sr,te,V,pt):$e(Yt,kr,sr,V,te,pt);if(Xi!==void 0){if(Xi)continue;ei=!1;break}if(ur){if(!Te(te,function(Mi,bn){if(!Ce(ur,bn)&&(Yt===Mi||kt(Yt,Mi,pe,$e,pt)))return ur.push(bn)})){ei=!1;break}}else if(!(Yt===kr||kt(Yt,kr,pe,$e,pt))){ei=!1;break}}return pt.delete(V),pt.delete(te),ei}function Qh(V,te,pe,$e,kt,pt,Jt){switch(pe){case m:if(V.byteLength!=te.byteLength||V.byteOffset!=te.byteOffset)return!1;V=V.buffer,te=te.buffer;case L:return!(V.byteLength!=te.byteLength||!pt(new ut(V),new ut(te)));case y:case A:case W:return Vc(+V,+te);case R:return V.name==te.name&&V.message==te.message;case F:case x:return V==te+"";case K:var hr=me;case G:var Nt=$e&n;if(hr||(hr=De),V.size!=te.size&&!Nt)return!1;var Ft=Jt.get(V);if(Ft)return Ft==te;$e|=a,Jt.set(V,te);var sr=Ma(hr(V),hr(te),$e,kt,pt,Jt);return Jt.delete(V),sr;case q:if(Be)return Be.call(V)==Be.call(te)}return!1}function $c(V,te,pe,$e,kt,pt){var Jt=pe&n,hr=Pa(V),Nt=hr.length,Ft=Pa(te),sr=Ft.length;if(Nt!=sr&&!Jt)return!1;for(var ei=Nt;ei--;){var ur=hr[ei];if(!(Jt?ur in te:Me.call(te,ur)))return!1}var Yt=pt.get(V);if(Yt&&pt.get(te))return Yt==te;var kr=!0;pt.set(V,te),pt.set(te,V);for(var Xi=Jt;++ei<Nt;){ur=hr[ei];var Mi=V[ur],bn=te[ur];if($e)var Mo=Jt?$e(bn,Mi,ur,te,V,pt):$e(Mi,bn,ur,V,te,pt);if(!(Mo===void 0?Mi===bn||kt(Mi,bn,pe,$e,pt):Mo)){kr=!1;break}Xi||(Xi=ur=="constructor")}if(kr&&!Xi){var Vs=V.constructor,br=te.constructor;Vs!=br&&"constructor"in V&&"constructor"in te&&!(typeof Vs=="function"&&Vs instanceof Vs&&typeof br=="function"&&br instanceof br)&&(kr=!1)}return pt.delete(V),pt.delete(te),kr}function Pa(V){return xo(V,tu,jc)}function bs(V,te){var pe=V.__data__;return Fc(te)?pe[typeof te=="string"?"string":"hash"]:pe.map}function pi(V,te){var pe=Ie(V,te);return Yh(pe)?pe:void 0}function zc(V){var te=Me.call(V,lt),pe=V[lt];try{V[lt]=void 0;var $e=!0}catch{}var kt=He.call(V);return $e&&(te?V[lt]=pe:delete V[lt]),kt}var jc=Je?function(V){return V==null?[]:(V=Object(V),ye(Je(V),function(te){return Ge.call(V,te)}))}:jt,vn=Fs;(Le&&vn(new Le(new ArrayBuffer(1)))!=m||Xe&&vn(new Xe)!=K||tt&&vn(tt.resolve())!=Y||qe&&vn(new qe)!=G||et&&vn(new et)!=le)&&(vn=function(V){var te=Fs(V),pe=te==k?V.constructor:void 0,$e=pe?Gn(pe):"";if($e)switch($e){case ze:return m;case ft:return K;case rt:return Y;case je:return G;case it:return le}return te});function kc(V,te){return te=te??f,!!te&&(typeof V=="number"||se.test(V))&&V>-1&&V%1==0&&V<te}function Fc(V){var te=typeof V;return te=="string"||te=="number"||te=="symbol"||te=="boolean"?V!=="__proto__":V===null}function Hc(V){return!!_e&&_e in V}function Kc(V){var te=V&&V.constructor,pe=typeof te=="function"&&te.prototype||Se;return V===pe}function Xh(V){return He.call(V)}function Gn(V){if(V!=null){try{return Ue.call(V)}catch{}try{return V+""}catch{}}return""}function Vc(V,te){return V===te||V!==V&&te!==te}var Gc=So(function(){return arguments}())?So:function(V){return Ks(V)&&Me.call(V,"callee")&&!Ge.call(V,"callee")},Oa=Array.isArray;function Zh(V){return V!=null&&Wc(V.length)&&!Ra(V)}var Io=Et||zt;function eu(V,te){return Hs(V,te)}function Ra(V){if(!Jc(V))return!1;var te=Fs(V);return te==O||te==N||te==p||te==$}function Wc(V){return typeof V=="number"&&V>-1&&V%1==0&&V<=f}function Jc(V){var te=typeof V;return V!=null&&(te=="object"||te=="function")}function Ks(V){return V!=null&&typeof V=="object"}var Yc=he?Oe(he):Bc;function tu(V){return Zh(V)?Lc(V):Uc(V)}function jt(){return[]}function zt(){return!1}r.exports=eu})(Ah,Ah.exports);var IP=Ah.exports;const MP=Sd(IP),zm="wc",jm=2,e0="core",kn=`${zm}@2:${e0}:`,PP={name:e0,logger:"error"},OP={database:":memory:"},RP="crypto",Fg="client_ed25519_seed",NP=xe.ONE_DAY,TP="keychain",CP="0.3",DP="messages",LP="0.3",qP=xe.SIX_HOURS,BP="publisher",km="irn",UP="error",Fm="wss://relay.walletconnect.org",$P="relayer",Gr={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"},zP="_subscription",Bi={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},jP=.1,md="2.17.0",Kt={link_mode:"link_mode",relay:"relay"},kP="0.3",FP="WALLETCONNECT_CLIENT_ID",Hg="WALLETCONNECT_LINK_MODE_APPS",Mn={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},HP="subscription",KP="0.3",VP=xe.FIVE_SECONDS*1e3,GP="pairing",WP="0.3",Xo={wc_pairingDelete:{req:{ttl:xe.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:xe.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:xe.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:xe.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:xe.ONE_DAY,prompt:!1,tag:0},res:{ttl:xe.ONE_DAY,prompt:!1,tag:0}}},oa={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},an={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},JP="history",YP="0.3",QP="expirer",Ui={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},XP="0.3",ZP="verify-api",eO="https://verify.walletconnect.com",Hm="https://verify.walletconnect.org",uc=Hm,tO=`${uc}/v3`,rO=[eO,Hm],iO="echo",nO="https://echo.walletconnect.com",En={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"},as={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"},on={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"},na={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"},sa={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"},Zo={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"},sO=.1,aO="event-client",oO=86400,cO="https://pulse.walletconnect.org/batch";function fO(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 a=r.charAt(n),f=a.charCodeAt(0);if(t[f]!==255)throw new TypeError(a+" is ambiguous");t[f]=n}var u=r.length,b=r.charAt(0),p=Math.log(u)/Math.log(256),y=Math.log(256)/Math.log(u);function A(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 K=0,W=0,Q=0,k=N.length;Q!==k&&N[Q]===0;)Q++,K++;for(var Y=(k-Q)*y+1>>>0,$=new Uint8Array(Y);Q!==k;){for(var F=N[Q],G=0,x=Y-1;(F!==0||G<W)&&x!==-1;x--,G++)F+=256*$[x]>>>0,$[x]=F%u>>>0,F=F/u>>>0;if(F!==0)throw new Error("Non-zero carry");W=G,Q++}for(var q=Y-W;q!==Y&&$[q]===0;)q++;for(var ae=b.repeat(K);q<Y;++q)ae+=r.charAt($[q]);return ae}function R(N){if(typeof N!="string")throw new TypeError("Expected String");if(N.length===0)return new Uint8Array;var K=0;if(N[K]!==" "){for(var W=0,Q=0;N[K]===b;)W++,K++;for(var k=(N.length-K)*p+1>>>0,Y=new Uint8Array(k);N[K];){var $=t[N.charCodeAt(K)];if($===255)return;for(var F=0,G=k-1;($!==0||F<Q)&&G!==-1;G--,F++)$+=u*Y[G]>>>0,Y[G]=$%256>>>0,$=$/256>>>0;if($!==0)throw new Error("Non-zero carry");Q=F,K++}if(N[K]!==" "){for(var x=k-Q;x!==k&&Y[x]===0;)x++;for(var q=new Uint8Array(W+(k-x)),ae=W;x!==k;)q[ae++]=Y[x++];return q}}}function O(N){var K=R(N);if(K)return K;throw new Error(`Non-${e} character`)}return{encode:A,decodeUnsafe:R,decode:O}}var hO=fO,uO=hO;const Km=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")},lO=r=>new TextEncoder().encode(r),dO=r=>new TextDecoder().decode(r);class pO{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 gO{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 Vm(this,e)}}class vO{constructor(e){this.decoders=e}or(e){return Vm(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 Vm=(r,e)=>new vO({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class bO{constructor(e,t,i,n){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=n,this.encoder=new pO(e,t,i),this.decoder=new gO(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Wh=({name:r,prefix:e,encode:t,decode:i})=>new bO(r,e,t,i),Cc=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:n}=uO(t,e);return Wh({prefix:r,name:e,encode:i,decode:a=>Km(n(a))})},mO=(r,e,t,i)=>{const n={};for(let y=0;y<e.length;++y)n[e[y]]=y;let a=r.length;for(;r[a-1]==="=";)--a;const f=new Uint8Array(a*t/8|0);let u=0,b=0,p=0;for(let y=0;y<a;++y){const A=n[r[y]];if(A===void 0)throw new SyntaxError(`Non-${i} character`);b=b<<t|A,u+=t,u>=8&&(u-=8,f[p++]=255&b>>u)}if(u>=t||255&b<<8-u)throw new SyntaxError("Unexpected end of data");return f},yO=(r,e,t)=>{const i=e[e.length-1]==="=",n=(1<<t)-1;let a="",f=0,u=0;for(let b=0;b<r.length;++b)for(u=u<<8|r[b],f+=8;f>t;)f-=t,a+=e[n&u>>f];if(f&&(a+=e[n&u<<t-f]),i)for(;a.length*t&7;)a+="=";return a},Nr=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Wh({prefix:e,name:r,encode(n){return yO(n,i,t)},decode(n){return mO(n,i,t,r)}}),wO=Wh({prefix:"\0",name:"identity",encode:r=>dO(r),decode:r=>lO(r)});var _O=Object.freeze({__proto__:null,identity:wO});const AO=Nr({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var EO=Object.freeze({__proto__:null,base2:AO});const xO=Nr({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var SO=Object.freeze({__proto__:null,base8:xO});const IO=Cc({prefix:"9",name:"base10",alphabet:"0123456789"});var MO=Object.freeze({__proto__:null,base10:IO});const PO=Nr({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),OO=Nr({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var RO=Object.freeze({__proto__:null,base16:PO,base16upper:OO});const NO=Nr({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),TO=Nr({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),CO=Nr({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),DO=Nr({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),LO=Nr({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),qO=Nr({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),BO=Nr({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),UO=Nr({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$O=Nr({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zO=Object.freeze({__proto__:null,base32:NO,base32upper:TO,base32pad:CO,base32padupper:DO,base32hex:LO,base32hexupper:qO,base32hexpad:BO,base32hexpadupper:UO,base32z:$O});const jO=Cc({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),kO=Cc({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var FO=Object.freeze({__proto__:null,base36:jO,base36upper:kO});const HO=Cc({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),KO=Cc({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var VO=Object.freeze({__proto__:null,base58btc:HO,base58flickr:KO});const GO=Nr({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),WO=Nr({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),JO=Nr({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),YO=Nr({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var QO=Object.freeze({__proto__:null,base64:GO,base64pad:WO,base64url:JO,base64urlpad:YO});const Gm=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),XO=Gm.reduce((r,e,t)=>(r[t]=e,r),[]),ZO=Gm.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function eR(r){return r.reduce((e,t)=>(e+=XO[t],e),"")}function tR(r){const e=[];for(const t of r){const i=ZO[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const rR=Wh({prefix:"🚀",name:"base256emoji",encode:eR,decode:tR});var iR=Object.freeze({__proto__:null,base256emoji:rR}),nR=Wm,Kg=128,sR=127,aR=~sR,oR=Math.pow(2,31);function Wm(r,e,t){e=e||[],t=t||0;for(var i=t;r>=oR;)e[t++]=r&255|Kg,r/=128;for(;r&aR;)e[t++]=r&255|Kg,r>>>=7;return e[t]=r|0,Wm.bytes=t-i+1,e}var cR=yd,fR=128,Vg=127;function yd(r,i){var t=0,i=i||0,n=0,a=i,f,u=r.length;do{if(a>=u)throw yd.bytes=0,new RangeError("Could not decode varint");f=r[a++],t+=n<28?(f&Vg)<<n:(f&Vg)*Math.pow(2,n),n+=7}while(f>=fR);return yd.bytes=a-i,t}var hR=Math.pow(2,7),uR=Math.pow(2,14),lR=Math.pow(2,21),dR=Math.pow(2,28),pR=Math.pow(2,35),gR=Math.pow(2,42),vR=Math.pow(2,49),bR=Math.pow(2,56),mR=Math.pow(2,63),yR=function(r){return r<hR?1:r<uR?2:r<lR?3:r<dR?4:r<pR?5:r<gR?6:r<vR?7:r<bR?8:r<mR?9:10},wR={encode:nR,decode:cR,encodingLength:yR},Jm=wR;const Gg=(r,e,t=0)=>(Jm.encode(r,e,t),e),Wg=r=>Jm.encodingLength(r),wd=(r,e)=>{const t=e.byteLength,i=Wg(r),n=i+Wg(t),a=new Uint8Array(n+t);return Gg(r,a,0),Gg(t,a,i),a.set(e,n),new _R(r,t,e,a)};class _R{constructor(e,t,i,n){this.code=e,this.size=t,this.digest=i,this.bytes=n}}const Ym=({name:r,code:e,encode:t})=>new AR(r,e,t);class AR{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?wd(this.code,t):t.then(i=>wd(this.code,i))}else throw Error("Unknown type, must be binary type")}}const Qm=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),ER=Ym({name:"sha2-256",code:18,encode:Qm("SHA-256")}),xR=Ym({name:"sha2-512",code:19,encode:Qm("SHA-512")});var SR=Object.freeze({__proto__:null,sha256:ER,sha512:xR});const Xm=0,IR="identity",Zm=Km,MR=r=>wd(Xm,Zm(r)),PR={code:Xm,name:IR,encode:Zm,digest:MR};var OR=Object.freeze({__proto__:null,identity:PR});new TextEncoder,new TextDecoder;const Jg={..._O,...EO,...SO,...MO,...RO,...zO,...FO,...VO,...QO,...iR};({...SR,...OR});function RR(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function e2(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const Yg=e2("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Bl=e2("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=RR(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),NR={utf8:Yg,"utf-8":Yg,hex:Jg.base16,latin1:Bl,ascii:Bl,binary:Bl,...Jg};function TR(r,e="utf8"){const t=NR[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 CR{constructor(e,t){this.core=e,this.logger=t,this.keychain=new Map,this.name=TP,this.version=CP,this.initialized=!1,this.storagePrefix=kn,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:a}=Ae("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(a)}return n},this.del=async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()},this.core=e,this.logger=Yr(t,this.name)}get context(){return di(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Tb(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Cb(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class DR{constructor(e,t,i){this.core=e,this.logger=t,this.name=RP,this.randomSessionIdentifier=ud(),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(),a=T1(n);return Pb(a.publicKey)},this.generateKeyPair=()=>{this.isInitialized();const n=bS();return this.setPrivateKey(n.publicKey,n.privateKey)},this.signJWT=async n=>{this.isInitialized();const a=await this.getClientSeed(),f=T1(a),u=this.randomSessionIdentifier;return await X9(u,n,NP,f)},this.generateSharedKey=(n,a,f)=>{this.isInitialized();const u=this.getPrivateKey(n),b=mS(u,a);return this.setSymKey(b,f)},this.setSymKey=async(n,a)=>{this.isInitialized();const f=a||rh(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,a,f)=>{this.isInitialized();const u=xm(f),b=gs(a);if(gg(u))return wS(b,f==null?void 0:f.encoding);if(pg(u)){const R=u.senderPublicKey,O=u.receiverPublicKey;n=await this.generateSharedKey(R,O)}const p=this.getSymKey(n),{type:y,senderPublicKey:A}=u;return yS({type:y,symKey:p,message:b,senderPublicKey:A,encoding:f==null?void 0:f.encoding})},this.decode=async(n,a,f)=>{this.isInitialized();const u=ES(a,f);if(gg(u)){const b=AS(a,f==null?void 0:f.encoding);return ga(b)}if(pg(u)){const b=u.receiverPublicKey,p=u.senderPublicKey;n=await this.generateSharedKey(b,p)}try{const b=this.getSymKey(n),p=_S({symKey:b,encoded:a,encoding:f==null?void 0:f.encoding});return ga(p)}catch(b){this.logger.error(`Failed to decode message from topic: '${n}', clientId: '${await this.getClientId()}'`),this.logger.error(b)}},this.getPayloadType=(n,a=Ls)=>{const f=vc({encoded:n,encoding:a});return ba(f.type)},this.getPayloadSenderPublicKey=(n,a=Ls)=>{const f=vc({encoded:n,encoding:a});return f.senderPublicKey?Er(f.senderPublicKey,Jr):void 0},this.core=e,this.logger=Yr(t,this.name),this.keychain=i||new CR(this.core,this.logger)}get context(){return di(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(Fg)}catch{e=ud(),await this.keychain.set(Fg,e)}return TR(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class LR extends MM{constructor(e,t){super(e,t),this.logger=e,this.core=t,this.messages=new Map,this.name=DP,this.version=LP,this.initialized=!1,this.storagePrefix=kn,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 a=cs(n);let f=this.messages.get(i);return typeof f>"u"&&(f={}),typeof f[a]<"u"||(f[a]=n,this.messages.set(i,f),await this.persist()),a},this.get=i=>{this.isInitialized();let n=this.messages.get(i);return typeof n>"u"&&(n={}),n},this.has=(i,n)=>{this.isInitialized();const a=this.get(i),f=cs(n);return typeof a[f]<"u"},this.del=async i=>{this.isInitialized(),this.messages.delete(i),await this.persist()},this.logger=Yr(e,this.name),this.core=t}get context(){return di(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Tb(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Cb(e):void 0}async persist(){await this.setRelayerMessages(this.messages)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class qR extends PM{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.events=new Fi.EventEmitter,this.name=BP,this.queue=new Map,this.publishTimeout=xe.toMiliseconds(xe.ONE_MINUTE),this.failedPublishTimeout=xe.toMiliseconds(xe.ONE_SECOND),this.needsTransportRestart=!1,this.publish=async(i,n,a)=>{var f;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:n,opts:a}});const u=(a==null?void 0:a.ttl)||qP,b=ld(a),p=(a==null?void 0:a.prompt)||!1,y=(a==null?void 0:a.tag)||0,A=(a==null?void 0:a.id)||fa().toString(),R={topic:i,message:n,opts:{ttl:u,relay:b,prompt:p,tag:y,id:A,attestation:a==null?void 0:a.attestation}},O=`Failed to publish payload, please try again. id:${A} tag:${y}`,N=Date.now();let K,W=1;try{for(;K===void 0;){if(Date.now()-N>this.publishTimeout)throw new Error(O);this.logger.trace({id:A,attempts:W},`publisher.publish - attempt ${W}`),K=await await Za(this.rpcPublish(i,n,u,b,p,y,A,a==null?void 0:a.attestation).catch(Q=>this.logger.warn(Q)),this.publishTimeout,O),W++,K||await new Promise(Q=>setTimeout(Q,this.failedPublishTimeout))}this.relayer.events.emit(Gr.publish,R),this.logger.debug("Successfully Published Payload"),this.logger.trace({type:"method",method:"publish",params:{id:A,topic:i,message:n,opts:a}})}catch(Q){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(Q),(f=a==null?void 0:a.internal)!=null&&f.throwOnFailedPublish)throw Q;this.queue.set(A,R)}},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=Yr(t,this.name),this.registerEventListeners()}get context(){return di(this.logger)}rpcPublish(e,t,i,n,a,f,u,b){var p,y,A,R;const O={method:nc(n.protocol).publish,params:{topic:e,message:t,ttl:i,prompt:a,tag:f,attestation:b},id:u};return fi((p=O.params)==null?void 0:p.prompt)&&((y=O.params)==null||delete y.prompt),fi((A=O.params)==null?void 0:A.tag)&&((R=O.params)==null||delete R.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:O}),this.relayer.request(O)}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async e=>{const{topic:t,message:i,opts:n}=e;await this.publish(t,i,n)})}registerEventListeners(){this.relayer.core.heartbeat.on(Ao.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(Gr.connection_stalled);return}this.checkQueue()}),this.relayer.on(Gr.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}class BR{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(a=>a!==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 UR=Object.defineProperty,$R=Object.defineProperties,zR=Object.getOwnPropertyDescriptors,Qg=Object.getOwnPropertySymbols,jR=Object.prototype.hasOwnProperty,kR=Object.prototype.propertyIsEnumerable,Xg=(r,e,t)=>e in r?UR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ec=(r,e)=>{for(var t in e||(e={}))jR.call(e,t)&&Xg(r,t,e[t]);if(Qg)for(var t of Qg(e))kR.call(e,t)&&Xg(r,t,e[t]);return r},Ul=(r,e)=>$R(r,zR(e));class FR extends NM{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,this.subscriptions=new Map,this.topicMap=new BR,this.events=new Fi.EventEmitter,this.name=HP,this.version=KP,this.pending=new Map,this.cached=[],this.initialized=!1,this.pendingSubscriptionWatchLabel="pending_sub_watch_label",this.pollingInterval=20,this.storagePrefix=kn,this.subscribeTimeout=xe.toMiliseconds(xe.ONE_MINUTE),this.restartInProgress=!1,this.batchSubscribeTopicsLimit=500,this.pendingBatchMessages=[],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 a=ld(n),f={topic:i,relay:a,transportType:n==null?void 0:n.transportType};this.pending.set(i,f);const u=await this.rpcSubscribe(i,a,n==null?void 0:n.transportType);return typeof u=="string"&&(this.onSubscribe(u,f),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:n}})),u}catch(a){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(a),a}},this.unsubscribe=async(i,n)=>{await this.restartToComplete(),this.isInitialized(),typeof(n==null?void 0: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((a,f)=>{const u=new xe.Watch;u.start(n);const b=setInterval(()=>{!this.pending.has(i)&&this.topics.includes(i)&&(clearInterval(b),u.stop(n),a(!0)),u.elapsed(n)>=VP&&(clearInterval(b),u.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()=>{this.restartInProgress=!0,await this.restore(),await this.reset(),this.restartInProgress=!1},this.relayer=e,this.logger=Yr(t,this.name),this.clientId=""}get context(){return di(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}onEnable(){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=ld(i);await this.rpcUnsubscribe(e,t,n);const a=$t("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,a),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=Kt.relay){i===Kt.relay&&await this.restartToComplete();const n={method:nc(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});try{const a=cs(e+this.clientId);return i===Kt.link_mode?(setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(f=>this.logger.warn(f))},xe.toMiliseconds(xe.ONE_SECOND)),a):await await Za(this.relayer.request(n).catch(f=>this.logger.warn(f)),this.subscribeTimeout)?a:null}catch{this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(Gr.connection_stalled)}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:nc(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{return await await Za(this.relayer.request(i).catch(n=>this.logger.warn(n)),this.subscribeTimeout)}catch{this.relayer.events.emit(Gr.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:nc(t.protocol).batchFetchMessages,params:{topics:e.map(a=>a.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let n;try{n=await await Za(this.relayer.request(i).catch(a=>this.logger.warn(a)),this.subscribeTimeout)}catch{this.relayer.events.emit(Gr.connection_stalled)}return n}rpcUnsubscribe(e,t,i){const n={method:nc(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,Ul(ec({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,ec({},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,ec({},t)),this.topicMap.set(t.topic,e),this.events.emit(Mn.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}=Ae("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(Mn.deleted,Ul(ec({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Mn.sync)}async reset(){if(this.cached.length){const e=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let t=0;t<e;t++){const i=this.cached.splice(0,this.batchSubscribeTopicsLimit);await this.batchFetchMessages(i),await this.batchSubscribe(i)}}this.events.emit(Mn.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=Ae("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){if(!e.length)return;const t=await this.rpcBatchSubscribe(e);jn(t)&&this.onBatchSubscribe(t.map((i,n)=>Ul(ec({},e[n]),{id:i})))}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&&(this.pendingBatchMessages=this.pendingBatchMessages.concat(t.messages))}async onConnect(){await this.restart(),this.onEnable()}onDisconnect(){this.onDisable()}async checkPending(){if(!this.initialized||!this.relayer.connected)return;const e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e),this.pendingBatchMessages.length&&(await this.relayer.handleBatchMessageEvents(this.pendingBatchMessages),this.pendingBatchMessages=[])}registerEventListeners(){this.relayer.core.heartbeat.on(Ao.pulse,async()=>{await this.checkPending()}),this.events.on(Mn.created,async e=>{const t=Mn.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(Mn.deleted,async e=>{const t=Mn.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(){!this.relayer.connected&&!this.relayer.connecting&&await this.relayer.transportOpen(),this.restartInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.restartInProgress||(clearInterval(t),e())},this.pollingInterval)})}}var HR=Object.defineProperty,Zg=Object.getOwnPropertySymbols,KR=Object.prototype.hasOwnProperty,VR=Object.prototype.propertyIsEnumerable,ev=(r,e,t)=>e in r?HR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,GR=(r,e)=>{for(var t in e||(e={}))KR.call(e,t)&&ev(r,t,e[t]);if(Zg)for(var t of Zg(e))VR.call(e,t)&&ev(r,t,e[t]);return r};class WR extends OM{constructor(e){super(e),this.protocol="wc",this.version=2,this.events=new Fi.EventEmitter,this.name=$P,this.transportExplicitlyClosed=!1,this.initialized=!1,this.connectionAttemptInProgress=!1,this.connectionStatusPollingInterval=20,this.staleConnectionErrors=["socket hang up","stalled","interrupted"],this.hasExperiencedNetworkDisruption=!1,this.requestsInFlight=new Map,this.heartBeatTimeout=xe.toMiliseconds(xe.THIRTY_SECONDS+xe.ONE_SECOND),this.request=async t=>{var i,n;this.logger.debug("Publishing Request Payload");const a=t.id||fa().toString();await this.toEstablishConnection();try{const f=this.provider.request(t);this.requestsInFlight.set(a,{promise:f,request:t}),this.logger.trace({id:a,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - attempt to publish...");const u=await new Promise(async(b,p)=>{const y=()=>{p(new Error(`relayer.request - publish interrupted, id: ${a}`))};this.provider.on(Bi.disconnect,y);const A=await f;this.provider.off(Bi.disconnect,y),b(A)});return this.logger.trace({id:a,method:t.method,topic:(n=t.params)==null?void 0:n.topic},"relayer.request - published"),u}catch(f){throw this.logger.debug(`Failed to Publish Request: ${a}`),f}finally{this.requestsInFlight.delete(a)}},this.resetPingTimeout=()=>{if(dh())try{clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,n;(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)}},this.onPayloadHandler=t=>{this.onProviderPayload(t),this.resetPingTimeout()},this.onConnectHandler=()=>{this.logger.trace("relayer connected"),this.startPingTimeout(),this.events.emit(Gr.connect)},this.onDisconnectHandler=()=>{this.logger.trace("relayer disconnected"),this.onProviderDisconnect()},this.onProviderErrorHandler=t=>{this.logger.error(t),this.events.emit(Gr.error,t),this.logger.info("Fatal socket error received, closing transport"),this.transportClose()},this.registerProviderListeners=()=>{this.provider.on(Bi.payload,this.onPayloadHandler),this.provider.on(Bi.connect,this.onConnectHandler),this.provider.on(Bi.disconnect,this.onDisconnectHandler),this.provider.on(Bi.error,this.onProviderErrorHandler)},this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Yr(e.logger,this.name):Nc(Hh({level:e.logger||UP})),this.messages=new LR(this.logger,e.core),this.subscriber=new FR(this,this.logger),this.publisher=new qR(this,this.logger),this.relayUrl=(e==null?void 0:e.relayUrl)||Fm,this.projectId=e.projectId,this.bundleId=oA(),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)}}get context(){return di(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:Kt.relay})}async subscribe(e,t){var i;this.isInitialized(),(t==null?void 0:t.transportType)==="relay"&&await this.toEstablishConnection();let n=((i=this.subscriber.topicMap.get(e))==null?void 0:i[0])||"",a;const f=u=>{u.topic===e&&(this.subscriber.off(Mn.created,f),a())};return await Promise.all([new Promise(u=>{a=u,this.subscriber.on(Mn.created,f)}),new Promise(async u=>{n=await this.subscriber.subscribe(e,t)||n,u()})]),n}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(){if(!this.hasExperiencedNetworkDisruption&&this.connected&&this.requestsInFlight.size>0)try{await Promise.all(Array.from(this.requestsInFlight.values()).map(e=>e.promise))}catch(e){this.logger.warn(e)}this.hasExperiencedNetworkDisruption||this.connected?await Za(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),await this.createProvider(),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;try{await new Promise(async(t,i)=>{const n=()=>{this.provider.off(Bi.disconnect,n),i(new Error("Connection interrupted while trying to subscribe"))};this.provider.on(Bi.disconnect,n),await Za(this.provider.connect(),xe.toMiliseconds(xe.ONE_MINUTE),`Socket stalled when trying to connect to ${this.relayUrl}`).catch(a=>{i(a)}).finally(()=>{clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0}),this.subscriber.start().catch(a=>{this.logger.error(a),this.onDisconnectHandler()}),this.hasExperiencedNetworkDisruption=!1,t()})}catch(t){this.logger.error(t);const i=t;if(this.hasExperiencedNetworkDisruption=!0,!this.isConnectionStalled(i.message))throw t}finally{this.connectionAttemptInProgress=!1}}async restartTransport(e){this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await Ig())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if((e==null?void 0: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.trace(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(n){this.logger.warn(n)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const n=vr(xe.FIVE_MINUTES),a={topic:i,expiry:n,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,a)}this.events.emit(Gr.message,e),await this.recordMessageEvent(e)}startPingTimeout(){var e,t,i,n,a;if(dh())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((a=(n=(i=this.provider)==null?void 0:i.connection)==null?void 0:n.socket)==null||a.once("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(f){this.logger.warn(f)}}isConnectionStalled(e){return this.staleConnectionErrors.some(t=>e.includes(t))}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new pn(new SP(uA({sdkVersion:md,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId}))),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.debug(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isSubscribed(t))return this.logger.debug(`Ignoring message for non-subscribed topic ${t}`),!0;const n=this.messages.has(t,i);return n&&this.logger.debug(`Ignoring duplicate message: ${i}`),n}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Zd(e)){if(!e.method.endsWith(zP))return;const t=e.params,{topic:i,message:n,publishedAt:a,attestation:f}=t.data,u={topic:i,message:n,publishedAt:a,transportType:Kt.relay,attestation:f};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(GR({type:"event",event:t.id},u)),this.events.emit(t.id,u),await this.acknowledgePayload(e),await this.onMessageEvent(u)}else Gh(e)&&this.events.emit(Gr.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(this.events.emit(Gr.message,e),await this.recordMessageEvent(e))}async acknowledgePayload(e){const t=Kh(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Bi.payload,this.onPayloadHandler),this.provider.off(Bi.connect,this.onConnectHandler),this.provider.off(Bi.disconnect,this.onDisconnectHandler),this.provider.off(Bi.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Ig();vI(async t=>{e!==t&&(e=t,t?await this.restartTransport().catch(i=>this.logger.error(i)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})}async onProviderDisconnect(){await this.subscriber.stop(),this.requestsInFlight.clear(),clearTimeout(this.pingTimeout),this.events.emit(Gr.disconnect),this.connectionAttemptInProgress=!1,!this.transportExplicitlyClosed&&(this.reconnectTimeout||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e))},xe.toMiliseconds(jP))))}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){await this.confirmOnlineStateOrThrow(),!this.connected&&(this.connectionAttemptInProgress&&await new Promise(e=>{const t=setInterval(()=>{this.connected&&(clearInterval(t),e())},this.connectionStatusPollingInterval)}),await this.transportOpen())}}var JR=Object.defineProperty,tv=Object.getOwnPropertySymbols,YR=Object.prototype.hasOwnProperty,QR=Object.prototype.propertyIsEnumerable,rv=(r,e,t)=>e in r?JR(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,iv=(r,e)=>{for(var t in e||(e={}))YR.call(e,t)&&rv(r,t,e[t]);if(tv)for(var t of tv(e))QR.call(e,t)&&rv(r,t,e[t]);return r};class xa extends RM{constructor(e,t,i,n=kn,a=void 0){super(e,t,i,n),this.core=e,this.logger=t,this.name=i,this.map=new Map,this.version=kP,this.cached=[],this.initialized=!1,this.storagePrefix=kn,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&&!fi(f)?this.map.set(this.getKey(f),f):GS(f)?this.map.set(f.id,f):WS(f)&&this.map.set(f.topic,f)}),this.cached=[],this.initialized=!0)},this.set=async(f,u)=>{this.isInitialized(),this.map.has(f)?await this.update(f,u):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:f,value:u}),this.map.set(f,u),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(u=>Object.keys(f).every(b=>MP(u[b],f[b]))):this.values),this.update=async(f,u)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:f,update:u});const b=iv(iv({},this.getData(f)),u);this.map.set(f,b),await this.persist()},this.delete=async(f,u)=>{this.isInitialized(),this.map.has(f)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:f,reason:u}),this.map.delete(f),this.addToRecentlyDeleted(f),await this.persist())},this.logger=Yr(t,this.name),this.storagePrefix=n,this.getKey=a}get context(){return di(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}=Ae("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(n),new Error(n)}const{message:i}=Ae("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}=Ae("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}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class XR{constructor(e,t){this.core=e,this.logger=t,this.name=GP,this.version=WP,this.events=new Id,this.initialized=!1,this.storagePrefix=kn,this.ignoredPayloadTypes=[ls],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=ud(),a=await this.core.crypto.setSymKey(n),f=vr(xe.FIVE_MINUTES),u={protocol:km},b={topic:a,expiry:f,relay:u,active:!1,methods:i==null?void 0:i.methods},p=wg({protocol:this.core.protocol,version:this.core.version,topic:a,symKey:n,relay:u,expiryTimestamp:f,methods:i==null?void 0:i.methods});return this.events.emit(oa.create,b),this.core.expirer.set(a,f),await this.pairings.set(a,b),await this.core.relayer.subscribe(a,{transportType:i==null?void 0:i.transportType}),{topic:a,uri:p}},this.pair=async i=>{this.isInitialized();const n=this.core.eventClient.createEvent({properties:{topic:i==null?void 0:i.uri,trace:[En.pairing_started]}});this.isValidPair(i,n);const{topic:a,symKey:f,relay:u,expiryTimestamp:b,methods:p}=yg(i.uri);n.props.properties.topic=a,n.addTrace(En.pairing_uri_validation_success),n.addTrace(En.pairing_uri_not_expired);let y;if(this.pairings.keys.includes(a)){if(y=this.pairings.get(a),n.addTrace(En.existing_pairing),y.active)throw n.setError(as.active_pairing_already_exists),new Error(`Pairing already exists: ${a}. Please try again with a new connection URI.`);n.addTrace(En.pairing_not_expired)}const A=b||vr(xe.FIVE_MINUTES),R={topic:a,relay:u,expiry:A,active:!1,methods:p};this.core.expirer.set(a,A),await this.pairings.set(a,R),n.addTrace(En.store_new_pairing),i.activatePairing&&await this.activate({topic:a}),this.events.emit(oa.create,R),n.addTrace(En.emit_inactive_pairing),this.core.crypto.keychain.has(a)||await this.core.crypto.setSymKey(f,a),n.addTrace(En.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{n.setError(as.no_internet_connection)}try{await this.core.relayer.subscribe(a,{relay:u})}catch(O){throw n.setError(as.subscribe_pairing_topic_failure),O}return n.addTrace(En.subscribe_pairing_topic_success),R},this.activate=async({topic:i})=>{this.isInitialized();const n=vr(xe.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 a=await this.sendRequest(n,"wc_pairingPing",{}),{done:f,resolve:u,reject:b}=aa();this.events.once(St("pairing_ping",a),({error:p})=>{p?b(p):u()}),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",$t("USER_DISCONNECTED")),await this.deletePairing(n))},this.formatUriFromPairing=i=>{this.isInitialized();const{topic:n,relay:a,expiry:f,methods:u}=i,b=this.core.crypto.keychain.get(n);return wg({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:b,relay:a,expiryTimestamp:f,methods:u})},this.sendRequest=async(i,n,a)=>{const f=qs(n,a),u=await this.core.crypto.encode(i,f),b=Xo[n].req;return this.core.history.set(i,f),this.core.relayer.publish(i,u,b),f.id},this.sendResult=async(i,n,a)=>{const f=Kh(i,a),u=await this.core.crypto.encode(n,f),b=await this.core.history.get(n,i),p=Xo[b.request.method].res;await this.core.relayer.publish(n,u,p),await this.core.history.resolve(f)},this.sendError=async(i,n,a)=>{const f=Vh(i,a),u=await this.core.crypto.encode(n,f),b=await this.core.history.get(n,i),p=Xo[b.request.method]?Xo[b.request.method].res:Xo.unregistered_method.res;await this.core.relayer.publish(n,u,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,$t("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=>Os(n.expiry));await Promise.all(i.map(n=>this.deletePairing(n.topic)))},this.onRelayEventRequest=i=>{const{topic:n,payload:a}=i;switch(a.method){case"wc_pairingPing":return this.onPairingPingRequest(n,a);case"wc_pairingDelete":return this.onPairingDeleteRequest(n,a);default:return this.onUnknownRpcMethodRequest(n,a)}},this.onRelayEventResponse=async i=>{const{topic:n,payload:a}=i,f=(await this.core.history.get(n,a.id)).request.method;switch(f){case"wc_pairingPing":return this.onPairingPingResponse(n,a);default:return this.onUnknownRpcMethodResponse(f)}},this.onPairingPingRequest=async(i,n)=>{const{id:a}=n;try{this.isValidPing({topic:i}),await this.sendResult(a,i,!0),this.events.emit(oa.ping,{id:a,topic:i})}catch(f){await this.sendError(a,i,f),this.logger.error(f)}},this.onPairingPingResponse=(i,n)=>{const{id:a}=n;setTimeout(()=>{In(n)?this.events.emit(St("pairing_ping",a),{}):zi(n)&&this.events.emit(St("pairing_ping",a),{error:n.error})},500)},this.onPairingDeleteRequest=async(i,n)=>{const{id:a}=n;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(oa.delete,{id:a,topic:i})}catch(f){await this.sendError(a,i,f),this.logger.error(f)}},this.onUnknownRpcMethodRequest=async(i,n)=>{const{id:a,method:f}=n;try{if(this.registeredMethods.includes(f))return;const u=$t("WC_METHOD_UNSUPPORTED",f);await this.sendError(a,i,u),this.logger.error(u)}catch(u){await this.sendError(a,i,u),this.logger.error(u)}},this.onUnknownRpcMethodResponse=i=>{this.registeredMethods.includes(i)||this.logger.error($t("WC_METHOD_UNSUPPORTED",i))},this.isValidPair=(i,n)=>{var a;if(!oi(i)){const{message:u}=Ae("MISSING_OR_INVALID",`pair() params: ${i}`);throw n.setError(as.malformed_pairing_uri),new Error(u)}if(!VS(i.uri)){const{message:u}=Ae("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw n.setError(as.malformed_pairing_uri),new Error(u)}const f=yg(i==null?void 0:i.uri);if(!((a=f==null?void 0:f.relay)!=null&&a.protocol)){const{message:u}=Ae("MISSING_OR_INVALID","pair() uri#relay-protocol");throw n.setError(as.malformed_pairing_uri),new Error(u)}if(!(f!=null&&f.symKey)){const{message:u}=Ae("MISSING_OR_INVALID","pair() uri#symKey");throw n.setError(as.malformed_pairing_uri),new Error(u)}if(f!=null&&f.expiryTimestamp&&xe.toMiliseconds(f==null?void 0:f.expiryTimestamp)<Date.now()){n.setError(as.pairing_expired);const{message:u}=Ae("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(u)}},this.isValidPing=async i=>{if(!oi(i)){const{message:a}=Ae("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidDisconnect=async i=>{if(!oi(i)){const{message:a}=Ae("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(a)}const{topic:n}=i;await this.isValidPairingTopic(n)},this.isValidPairingTopic=async i=>{if(!fr(i,!1)){const{message:n}=Ae("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(n)}if(!this.pairings.keys.includes(i)){const{message:n}=Ae("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(n)}if(Os(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:n}=Ae("EXPIRED",`pairing topic: ${i}`);throw new Error(n)}},this.core=e,this.logger=Yr(t,this.name),this.pairings=new xa(this.core,this.logger,this.name,this.storagePrefix)}get context(){return di(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Gr.message,async e=>{const{topic:t,message:i,transportType:n}=e;if(!this.pairings.keys.includes(t)||n===Kt.link_mode||this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))return;const a=await this.core.crypto.decode(t,i);try{Zd(a)?(this.core.history.set(t,a),this.onRelayEventRequest({topic:t,payload:a})):Gh(a)&&(await this.core.history.resolve(a),await this.onRelayEventResponse({topic:t,payload:a}),this.core.history.delete(t,a.id))}catch(f){this.logger.error(f)}})}registerExpirerEvents(){this.core.expirer.on(Ui.expired,async e=>{const{topic:t}=Lb(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(oa.expire,{topic:t}))})}}class ZR extends IM{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.records=new Map,this.events=new Fi.EventEmitter,this.name=JP,this.version=YP,this.cached=[],this.initialized=!1,this.storagePrefix=kn,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,a)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:n,chainId:a}),this.records.has(n.id))return;const f={id:n.id,topic:i,request:{method:n.method,params:n.params||null},chainId:a,expiry:vr(xe.THIRTY_DAYS)};this.records.set(f.id,f),this.persist(),this.events.emit(an.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=zi(i)?{error:i.error}:{result:i.result},this.records.set(n.id,n),this.persist(),this.events.emit(an.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(a=>{if(a.topic===i){if(typeof n<"u"&&a.id!==n)return;this.records.delete(a.id),this.events.emit(an.deleted,a)}}),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=Yr(t,this.name)}get context(){return di(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:qs(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}=Ae("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(an.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=Ae("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(an.created,e=>{const t=an.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(an.updated,e=>{const t=an.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(an.deleted,e=>{const t=an.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(Ao.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{xe.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(an.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}class eN extends TM{constructor(e,t){super(e,t),this.core=e,this.logger=t,this.expirations=new Map,this.events=new Fi.EventEmitter,this.name=QP,this.version=XP,this.cached=[],this.initialized=!1,this.storagePrefix=kn,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 a=this.formatTarget(i),f={target:a,expiry:n};this.expirations.set(a,f),this.checkExpiry(a,f),this.events.emit(Ui.created,{target:a,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),a=this.getExpiration(n);this.expirations.delete(n),this.events.emit(Ui.deleted,{target:n,expiration:a})}},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=Yr(t,this.name)}get context(){return di(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 lA(e);if(typeof e=="number")return dA(e);const{message:t}=Ae("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(Ui.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=Ae("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}=Ae("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;xe.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Ui.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(Ao.pulse,()=>this.checkExpirations()),this.events.on(Ui.created,e=>{const t=Ui.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Ui.expired,e=>{const t=Ui.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Ui.deleted,e=>{const t=Ui.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.getLocalStorage=Qt.getLocalStorageOrThrow=Qt.getCrypto=Qt.getCryptoOrThrow=Qt.getLocation=Qt.getLocationOrThrow=Qt.getNavigator=Qt.getNavigatorOrThrow=t2=Qt.getDocument=Qt.getDocumentOrThrow=Qt.getFromWindowOrThrow=Qt.getFromWindow=void 0;function Sa(r){let e;return typeof window<"u"&&typeof window[r]<"u"&&(e=window[r]),e}Qt.getFromWindow=Sa;function Eo(r){const e=Sa(r);if(!e)throw new Error(`${r} is not defined in Window`);return e}Qt.getFromWindowOrThrow=Eo;function tN(){return Eo("document")}Qt.getDocumentOrThrow=tN;function rN(){return Sa("document")}var t2=Qt.getDocument=rN;function iN(){return Eo("navigator")}Qt.getNavigatorOrThrow=iN;function nN(){return Sa("navigator")}Qt.getNavigator=nN;function sN(){return Eo("location")}Qt.getLocationOrThrow=sN;function aN(){return Sa("location")}Qt.getLocation=aN;function oN(){return Eo("crypto")}Qt.getCryptoOrThrow=oN;function cN(){return Sa("crypto")}Qt.getCrypto=cN;function fN(){return Eo("localStorage")}Qt.getLocalStorageOrThrow=fN;function hN(){return Sa("localStorage")}Qt.getLocalStorage=hN;class uN extends CM{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,this.name=ZP,this.verifyUrlV3=tO,this.storagePrefix=kn,this.version=jm,this.init=async()=>{var n;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&xe.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(!Sc()||this.isDevEnv)return;const a=window.location.origin,{id:f,decryptedId:u}=n,b=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${a}&id=${f}&decryptedId=${u}`;try{const p=t2(),y=this.startAbortTimer(xe.ONE_SECOND*5),A=await new Promise((R,O)=>{const N=()=>{window.removeEventListener("message",W),p.body.removeChild(K),O("attestation aborted")};this.abortController.signal.addEventListener("abort",N);const K=p.createElement("iframe");K.src=b,K.style.display="none",K.addEventListener("error",N,{signal:this.abortController.signal});const W=Q=>{if(Q.data&&typeof Q.data=="string")try{const k=JSON.parse(Q.data);if(k.type==="verify_attestation"){if(nd(k.attestation).payload.id!==f)return;clearInterval(y),p.body.removeChild(K),this.abortController.signal.removeEventListener("abort",N),window.removeEventListener("message",W),R(k.attestation===null?"":k.attestation)}}catch(k){this.logger.warn(k)}};p.body.appendChild(K),window.addEventListener("message",W,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",A),A}catch(p){this.logger.warn(p)}return""},this.resolve=async n=>{if(this.isDevEnv)return"";const{attestationId:a,hash:f,encryptedId:u}=n;if(a===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(a){if(nd(a).payload.id!==u)return;const p=await this.isValidJwtAttestation(a);if(p){if(!p.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return p}}if(!f)return;const b=this.getVerifyUrl(n==null?void 0:n.verifyUrl);return this.fetchAttestation(f,b)},this.fetchAttestation=async(n,a)=>{this.logger.debug(`resolving attestation: ${n} from url: ${a}`);const f=this.startAbortTimer(xe.ONE_SECOND*5),u=await fetch(`${a}/attestation/${n}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(f),u.status===200?await u.json():void 0},this.getVerifyUrl=n=>{let a=n||uc;return rO.includes(a)||(this.logger.info(`verify url: ${a}, not included in trusted list, assigning default: ${uc}`),a=uc),a},this.fetchPublicKey=async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const n=this.startAbortTimer(xe.FIVE_SECONDS),a=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(n),await a.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 a=await this.getPublicKey();try{if(a)return this.validateAttestation(n,a)}catch(u){this.logger.error(u),this.logger.warn("error validating attestation")}const f=await this.fetchAndPersistPublicKey();try{if(f)return this.validateAttestation(n,f)}catch(u){this.logger.error(u),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 a=>{const f=await this.fetchPublicKey();f&&(await this.persistPublicKey(f),a(f))});const n=await this.fetchPromise;return this.fetchPromise=void 0,n},this.validateAttestation=(n,a)=>{const f=MS(n,a.publicKey),u={hasExpired:xe.toMiliseconds(f.exp)<Date.now(),payload:f};if(u.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:u.payload.origin,isScam:u.payload.isScam,isVerified:u.payload.isVerified}},this.logger=Yr(t,this.name),this.abortController=new AbortController,this.isDevEnv=jd(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return di(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),xe.toMiliseconds(e))}}class lN extends DM{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,this.context=iO,this.registerDeviceToken=async i=>{const{clientId:n,token:a,notificationType:f,enableEncrypted:u=!1}=i,b=`${nO}/${this.projectId}/clients`;await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,type:f,token:a,always_raw:u})})},this.logger=Yr(t,this.context)}}var dN=Object.defineProperty,nv=Object.getOwnPropertySymbols,pN=Object.prototype.hasOwnProperty,gN=Object.prototype.propertyIsEnumerable,sv=(r,e,t)=>e in r?dN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,tc=(r,e)=>{for(var t in e||(e={}))pN.call(e,t)&&sv(r,t,e[t]);if(nv)for(var t of nv(e))gN.call(e,t)&&sv(r,t,e[t]);return r};class vN extends LM{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,this.context=aO,this.storagePrefix=kn,this.storageVersion=sO,this.events=new Map,this.shouldPersist=!1,this.init=async()=>{if(!jd())try{const n={eventId:U1(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Nb(this.core.relayer.protocol,this.core.relayer.version,md)}}};await this.sendEvent([n])}catch(n){this.logger.warn(n)}},this.createEvent=n=>{const{event:a="ERROR",type:f="",properties:{topic:u,trace:b}}=n,p=U1(),y=this.core.projectId||"",A=Date.now(),R=tc({eventId:p,timestamp:A,props:{event:a,type:f,properties:{topic:u,trace:b}},bundleId:y,domain:this.getAppDomain()},this.setMethods(p));return this.telemetryEnabled&&(this.events.set(p,R),this.shouldPersist=!0),R},this.getEvent=n=>{const{eventId:a,topic:f}=n;if(a)return this.events.get(a);const u=Array.from(this.events.values()).find(b=>b.props.properties.topic===f);if(u)return tc(tc({},u),this.setMethods(u.eventId))},this.deleteEvent=n=>{const{eventId:a}=n;this.events.delete(a),this.shouldPersist=!0},this.setEventListeners=()=>{this.core.heartbeat.on(Ao.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(n=>{xe.fromMiliseconds(Date.now())-xe.fromMiliseconds(n.timestamp)>oO&&(this.events.delete(n.eventId),this.shouldPersist=!0)})})},this.setMethods=n=>({addTrace:a=>this.addTrace(n,a),setError:a=>this.setError(n,a)}),this.addTrace=(n,a)=>{const f=this.events.get(n);f&&(f.props.properties.trace.push(a),this.events.set(n,f),this.shouldPersist=!0)},this.setError=(n,a)=>{const f=this.events.get(n);f&&(f.props.type=a,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(a=>{this.events.set(a.eventId,tc(tc({},a),this.setMethods(a.eventId)))})}catch(n){this.logger.warn(n)}},this.submit=async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const n=[];for(const[a,f]of this.events)f.props.type&&n.push(f);if(n.length!==0)try{if((await this.sendEvent(n)).ok)for(const a of n)this.events.delete(a.eventId),this.shouldPersist=!0}catch(a){this.logger.warn(a)}},this.sendEvent=async n=>{const a=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${cO}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${md}${a}`,{method:"POST",body:JSON.stringify(n)})},this.getAppDomain=()=>Rb().url,this.logger=Yr(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 bN=Object.defineProperty,av=Object.getOwnPropertySymbols,mN=Object.prototype.hasOwnProperty,yN=Object.prototype.propertyIsEnumerable,ov=(r,e,t)=>e in r?bN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,cv=(r,e)=>{for(var t in e||(e={}))mN.call(e,t)&&ov(r,t,e[t]);if(av)for(var t of av(e))yN.call(e,t)&&ov(r,t,e[t]);return r};class t0 extends SM{constructor(e){var t;super(e),this.protocol=zm,this.version=jm,this.name=e0,this.events=new Fi.EventEmitter,this.initialized=!1,this.on=(f,u)=>this.events.on(f,u),this.once=(f,u)=>this.events.once(f,u),this.off=(f,u)=>this.events.off(f,u),this.removeListener=(f,u)=>this.events.removeListener(f,u),this.dispatchEnvelope=({topic:f,message:u,sessionExists:b})=>{if(!f||!u)return;const p={topic:f,message:u,publishedAt:Date.now(),transportType:Kt.link_mode};this.relayer.onLinkMessageEvent(p,{sessionExists:b})},this.projectId=e==null?void 0:e.projectId,this.relayUrl=(e==null?void 0:e.relayUrl)||Fm,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Hh({level:typeof(e==null?void 0:e.logger)=="string"&&e.logger?e.logger:PP.logger}),{logger:n,chunkLoggerController:a}=xM({opts:i,maxSizeInBytes:e==null?void 0:e.maxLogBlobSizeInBytes,loggerOverride:e==null?void 0:e.logger});this.logChunkController=a,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var f,u;(f=this.logChunkController)!=null&&f.downloadLogsBlobInBrowser&&((u=this.logChunkController)==null||u.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Yr(n,this.name),this.heartbeat=new wI,this.crypto=new DR(this,this.logger,e==null?void 0:e.keychain),this.history=new ZR(this,this.logger),this.expirer=new eN(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new YI(cv(cv({},OP),e==null?void 0:e.storageOptions)),this.relayer=new WR({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new XR(this,this.logger),this.verify=new uN(this,this.logger,this.storage),this.echoClient=new lN(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new vN(this,this.logger,e==null?void 0:e.telemetryEnabled)}static async init(e){const t=new t0(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(FP,i),t}get context(){return di(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(Hg,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(Hg)||[],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 wN=t0,r2="wc",i2=2,n2="client",r0=`${r2}@${i2}:${n2}:`,$l={name:n2,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},fv="WALLETCONNECT_DEEPLINK_CHOICE",_N="proposal",s2="Proposal expired",AN="session",Ga=xe.SEVEN_DAYS,EN="engine",wr={wc_sessionPropose:{req:{ttl:xe.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:xe.ONE_DAY,prompt:!1,tag:1104},res:{ttl:xe.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:xe.ONE_DAY,prompt:!1,tag:1106},res:{ttl:xe.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:xe.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:xe.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:xe.ONE_DAY,prompt:!1,tag:1112},res:{ttl:xe.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:xe.ONE_DAY,prompt:!1,tag:1114},res:{ttl:xe.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:xe.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:xe.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:xe.FIVE_MINUTES,prompt:!1,tag:1119}}},zl={min:xe.FIVE_MINUTES,max:xe.SEVEN_DAYS},An={idle:"IDLE",active:"ACTIVE"},xN="request",SN=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],IN="wc",MN="auth",PN="authKeys",ON="pairingTopics",RN="requests",Jh=`${IN}@${1.5}:${MN}:`,sh=`${Jh}:PUB_KEY`;var NN=Object.defineProperty,TN=Object.defineProperties,CN=Object.getOwnPropertyDescriptors,hv=Object.getOwnPropertySymbols,DN=Object.prototype.hasOwnProperty,LN=Object.prototype.propertyIsEnumerable,uv=(r,e,t)=>e in r?NN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,rr=(r,e)=>{for(var t in e||(e={}))DN.call(e,t)&&uv(r,t,e[t]);if(hv)for(var t of hv(e))LN.call(e,t)&&uv(r,t,e[t]);return r},cn=(r,e)=>TN(r,CN(e));class qN extends BM{constructor(e){super(e),this.name=EN,this.events=new Id,this.initialized=!1,this.requestQueue={state:An.idle,queue:[]},this.sessionRequestQueue={state:An.idle,queue:[]},this.requestQueueDelay=xe.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(wr)}),this.initialized=!0,setTimeout(()=>{this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},xe.toMiliseconds(this.requestQueueDelay)))},this.connect=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=cn(rr({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(i);const{pairingTopic:n,requiredNamespaces:a,optionalNamespaces:f,sessionProperties:u,relays:b}=i;let p=n,y,A=!1;try{p&&(A=this.client.core.pairing.pairings.get(p).active)}catch($){throw this.client.logger.error(`connect() -> pairing.get(${p}) failed`),$}if(!p||!A){const{topic:$,uri:F}=await this.client.core.pairing.create();p=$,y=F}if(!p){const{message:$}=Ae("NO_MATCHING_KEY",`connect() pairing topic: ${p}`);throw new Error($)}const R=await this.client.core.crypto.generateKeyPair(),O=wr.wc_sessionPropose.req.ttl||xe.FIVE_MINUTES,N=vr(O),K=rr({requiredNamespaces:a,optionalNamespaces:f,relays:b??[{protocol:km}],proposer:{publicKey:R,metadata:this.client.metadata},expiryTimestamp:N,pairingTopic:p},u&&{sessionProperties:u}),{reject:W,resolve:Q,done:k}=aa(O,s2);this.events.once(St("session_connect"),async({error:$,session:F})=>{if($)W($);else if(F){F.self.publicKey=R;const G=cn(rr({},F),{pairingTopic:K.pairingTopic,requiredNamespaces:K.requiredNamespaces,optionalNamespaces:K.optionalNamespaces,transportType:Kt.relay});await this.client.session.set(F.topic,G),await this.setExpiry(F.topic,F.expiry),p&&await this.client.core.pairing.updateMetadata({topic:p,metadata:F.peer.metadata}),this.cleanupDuplicatePairings(G),Q(G)}});const Y=await this.sendRequest({topic:p,method:"wc_sessionPropose",params:K,throwOnFailedPublish:!0});return await this.setProposal(Y,rr({id:Y},K)),{uri:y,approval:k}},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,a;const f=this.client.core.eventClient.createEvent({properties:{topic:(i=t==null?void 0:t.id)==null?void 0:i.toString(),trace:[on.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw f.setError(na.no_internet_connection),q}try{await this.isValidProposalId(t==null?void 0:t.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${t==null?void 0:t.id}) failed`),f.setError(na.proposal_not_found),q}try{await this.isValidApprove(t)}catch(q){throw this.client.logger.error("approve() -> isValidApprove() failed"),f.setError(na.session_approve_namespace_validation_failure),q}const{id:u,relayProtocol:b,namespaces:p,sessionProperties:y,sessionConfig:A}=t,R=this.client.proposal.get(u);this.client.core.eventClient.deleteEvent({eventId:f.eventId});const{pairingTopic:O,proposer:N,requiredNamespaces:K,optionalNamespaces:W}=R;let Q=(n=this.client.core.eventClient)==null?void 0:n.getEvent({topic:O});Q||(Q=(a=this.client.core.eventClient)==null?void 0:a.createEvent({type:on.session_approve_started,properties:{topic:O,trace:[on.session_approve_started,on.session_namespaces_validation_success]}}));const k=await this.client.core.crypto.generateKeyPair(),Y=N.publicKey,$=await this.client.core.crypto.generateSharedKey(k,Y),F=rr(rr({relay:{protocol:b??"irn"},namespaces:p,controller:{publicKey:k,metadata:this.client.metadata},expiry:vr(Ga)},y&&{sessionProperties:y}),A&&{sessionConfig:A}),G=Kt.relay;Q.addTrace(on.subscribing_session_topic);try{await this.client.core.relayer.subscribe($,{transportType:G})}catch(q){throw Q.setError(na.subscribe_session_topic_failure),q}Q.addTrace(on.subscribe_session_topic_success);const x=cn(rr({},F),{topic:$,requiredNamespaces:K,optionalNamespaces:W,pairingTopic:O,acknowledged:!1,self:F.controller,peer:{publicKey:N.publicKey,metadata:N.metadata},controller:k,transportType:Kt.relay});await this.client.session.set($,x),Q.addTrace(on.store_session);try{Q.addTrace(on.publishing_session_settle),await this.sendRequest({topic:$,method:"wc_sessionSettle",params:F,throwOnFailedPublish:!0}).catch(q=>{throw Q==null||Q.setError(na.session_settle_publish_failure),q}),Q.addTrace(on.session_settle_publish_success),Q.addTrace(on.publishing_session_approve),await this.sendResult({id:u,topic:O,result:{relay:{protocol:b??"irn"},responderPublicKey:k},throwOnFailedPublish:!0}).catch(q=>{throw Q==null||Q.setError(na.session_approve_publish_failure),q}),Q.addTrace(on.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete($,$t("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe($),q}return this.client.core.eventClient.deleteEvent({eventId:Q.eventId}),await this.client.core.pairing.updateMetadata({topic:O,metadata:N.metadata}),await this.client.proposal.delete(u,$t("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:O}),await this.setExpiry($,vr(Ga)),{topic:$,acknowledged:()=>Promise.resolve(this.client.session.get($))}},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 a;try{a=this.client.proposal.get(i).pairingTopic}catch(f){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),f}a&&(await this.sendError({id:i,topic:a,error:n,rpcOpts:wr.wc_sessionPropose.reject}),await this.client.proposal.delete(i,$t("USER_DISCONNECTED")))},this.update=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(t)}catch(A){throw this.client.logger.error("update() -> isValidUpdate() failed"),A}const{topic:i,namespaces:n}=t,{done:a,resolve:f,reject:u}=aa(),b=Ns(),p=fa().toString(),y=this.client.session.get(i).namespaces;return this.events.once(St("session_update",b),({error:A})=>{A?u(A):f()}),await this.client.session.update(i,{namespaces:n}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:n},throwOnFailedPublish:!0,clientRpcId:b,relayRpcId:p}).catch(A=>{this.client.logger.error(A),this.client.session.update(i,{namespaces:y}),u(A)}),{acknowledged:a}},this.extend=async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(t)}catch(b){throw this.client.logger.error("extend() -> isValidExtend() failed"),b}const{topic:i}=t,n=Ns(),{done:a,resolve:f,reject:u}=aa();return this.events.once(St("session_extend",n),({error:b})=>{b?u(b):f()}),await this.setExpiry(i,vr(Ga)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:n,throwOnFailedPublish:!0}).catch(b=>{u(b)}),{acknowledged:a}},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:a,expiry:f=wr.wc_sessionRequest.req.ttl}=t,u=this.client.session.get(a);(u==null?void 0:u.transportType)===Kt.relay&&await this.confirmOnlineStateOrThrow();const b=Ns(),p=fa().toString(),{done:y,resolve:A,reject:R}=aa(f,"Request expired. Please try again.");this.events.once(St("session_request",b),({error:N,result:K})=>{N?R(N):A(K)});const O=this.getAppLinkIfEnabled(u.peer.metadata,u.transportType);return O?(await this.sendRequest({clientRpcId:b,relayRpcId:p,topic:a,method:"wc_sessionRequest",params:{request:cn(rr({},n),{expiryTimestamp:vr(f)}),chainId:i},expiry:f,throwOnFailedPublish:!0,appLink:O}).catch(N=>R(N)),this.client.events.emit("session_request_sent",{topic:a,request:n,chainId:i,id:b}),await y()):await Promise.all([new Promise(async N=>{await this.sendRequest({clientRpcId:b,relayRpcId:p,topic:a,method:"wc_sessionRequest",params:{request:cn(rr({},n),{expiryTimestamp:vr(f)}),chainId:i},expiry:f,throwOnFailedPublish:!0}).catch(K=>R(K)),this.client.events.emit("session_request_sent",{topic:a,request:n,chainId:i,id:b}),N()}),new Promise(async N=>{var K;if(!((K=u.sessionConfig)!=null&&K.disableDeepLink)){const W=await vA(this.client.core.storage,fv);await pA({id:b,topic:a,wcDeepLink:W})}N()}),y()]).then(N=>N[2])},this.respond=async t=>{this.isInitialized(),await this.isValidRespond(t);const{topic:i,response:n}=t,{id:a}=n,f=this.client.session.get(i);f.transportType===Kt.relay&&await this.confirmOnlineStateOrThrow();const u=this.getAppLinkIfEnabled(f.peer.metadata,f.transportType);In(n)?await this.sendResult({id:a,topic:i,result:n.result,throwOnFailedPublish:!0,appLink:u}):zi(n)&&await this.sendError({id:a,topic:i,error:n.error,appLink:u}),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=Ns(),a=fa().toString(),{done:f,resolve:u,reject:b}=aa();this.events.once(St("session_ping",n),({error:p})=>{p?b(p):u()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:n,relayRpcId:a}),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:a}=t,f=fa().toString();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:n,chainId:a},throwOnFailedPublish:!0,relayRpcId:f})},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:$t("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}=Ae("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(n)}},this.find=t=>(this.isInitialized(),this.client.session.getAll().filter(i=>HS(i,t))),this.getPendingSessionRequests=()=>this.client.pendingRequest.getAll(),this.authenticate=async(t,i)=>{var n;this.isInitialized(),this.isValidAuthenticate(t);const a=i&&this.client.core.linkModeSupportedApps.includes(i)&&((n=this.client.metadata.redirect)==null?void 0:n.linkMode),f=a?Kt.link_mode:Kt.relay;f===Kt.relay&&await this.confirmOnlineStateOrThrow();const{chains:u,statement:b="",uri:p,domain:y,nonce:A,type:R,exp:O,nbf:N,methods:K=[],expiry:W}=t,Q=[...t.resources||[]],{topic:k,uri:Y}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:f});this.client.logger.info({message:"Generated new pairing",pairing:{topic:k,uri:Y}});const $=await this.client.core.crypto.generateKeyPair(),F=rh($);if(await Promise.all([this.client.auth.authKeys.set(sh,{responseTopic:F,publicKey:$}),this.client.auth.pairingTopics.set(F,{topic:F,pairingTopic:k})]),await this.client.core.relayer.subscribe(F,{transportType:f}),this.client.logger.info(`sending request to new pairing topic: ${k}`),K.length>0){const{namespace:M}=ac(u[0]);let S=uS(M,"request",K);th(Q)&&(S=dS(S,Q.pop())),Q.push(S)}const G=W&&W>wr.wc_sessionAuthenticate.req.ttl?W:wr.wc_sessionAuthenticate.req.ttl,x={authPayload:{type:R??"caip122",chains:u,statement:b,aud:p,domain:y,version:"1",nonce:A,iat:new Date().toISOString(),exp:O,nbf:N,resources:Q},requester:{publicKey:$,metadata:this.client.metadata},expiryTimestamp:vr(G)},q={eip155:{chains:u,methods:[...new Set(["personal_sign",...K])],events:["chainChanged","accountsChanged"]}},ae={requiredNamespaces:{},optionalNamespaces:q,relays:[{protocol:"irn"}],pairingTopic:k,proposer:{publicKey:$,metadata:this.client.metadata},expiryTimestamp:vr(wr.wc_sessionPropose.req.ttl)},{done:le,resolve:L,reject:m}=aa(G,"Request expired"),c=async({error:M,session:S})=>{if(this.events.off(St("session_request",v),h),M)m(M);else if(S){S.self.publicKey=$,await this.client.session.set(S.topic,S),await this.setExpiry(S.topic,S.expiry),k&&await this.client.core.pairing.updateMetadata({topic:k,metadata:S.peer.metadata});const d=this.client.session.get(S.topic);await this.deleteProposal(_),L({session:d})}},h=async M=>{var S,d,g;if(await this.deletePendingAuthRequest(v,{message:"fulfilled",code:0}),M.error){const j=$t("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return M.error.code===j.code?void 0:(this.events.off(St("session_connect"),c),m(M.error.message))}await this.deleteProposal(_),this.events.off(St("session_connect"),c);const{cacaos:C,responder:Z}=M.result,se=[],P=[];for(const j of C){await hg({cacao:j,projectId:this.client.core.projectId})||(this.client.logger.error(j,"Signature verification failed"),m($t("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:H}=j,w=th(H.resources),z=[fg(H.iss)],ne=mh(H.iss);if(w){const ce=ug(w),he=lg(w);se.push(...ce),z.push(...he)}for(const ce of z)P.push(`${ce}:${ne}`)}const ee=await this.client.core.crypto.generateSharedKey($,Z.publicKey);let B;se.length>0&&(B={topic:ee,acknowledged:!0,self:{publicKey:$,metadata:this.client.metadata},peer:Z,controller:Z.publicKey,expiry:vr(Ga),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:k,namespaces:_g([...new Set(se)],[...new Set(P)]),transportType:f},await this.client.core.relayer.subscribe(ee,{transportType:f}),await this.client.session.set(ee,B),k&&await this.client.core.pairing.updateMetadata({topic:k,metadata:Z.metadata}),B=this.client.session.get(ee)),(S=this.client.metadata.redirect)!=null&&S.linkMode&&(d=Z.metadata.redirect)!=null&&d.linkMode&&(g=Z.metadata.redirect)!=null&&g.universal&&i&&(this.client.core.addLinkModeSupportedApp(Z.metadata.redirect.universal),this.client.session.update(ee,{transportType:Kt.link_mode})),L({auths:C,session:B})},v=Ns(),_=Ns();this.events.once(St("session_connect"),c),this.events.once(St("session_request",v),h);let I;try{if(a){const M=qs("wc_sessionAuthenticate",x,v);this.client.core.history.set(k,M);const S=await this.client.core.crypto.encode("",M,{type:Oc,encoding:Yo});I=Ff(i,k,S)}else await Promise.all([this.sendRequest({topic:k,method:"wc_sessionAuthenticate",params:x,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:v}),this.sendRequest({topic:k,method:"wc_sessionPropose",params:ae,expiry:wr.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:_})])}catch(M){throw this.events.off(St("session_connect"),c),this.events.off(St("session_request",v),h),M}return await this.setProposal(_,rr({id:_},ae)),await this.setAuthRequest(v,{request:cn(rr({},x),{verifyContext:{}}),pairingTopic:k,transportType:f}),{uri:I??Y,response:le}},this.approveSessionAuthenticate=async t=>{const{id:i,auths:n}=t,a=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[sa.authenticated_session_approve_started]}});try{this.isInitialized()}catch(W){throw a.setError(Zo.no_internet_connection),W}const f=this.getPendingAuthRequest(i);if(!f)throw a.setError(Zo.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const u=f.transportType||Kt.relay;u===Kt.relay&&await this.confirmOnlineStateOrThrow();const b=f.requester.publicKey,p=await this.client.core.crypto.generateKeyPair(),y=rh(b),A={type:ls,receiverPublicKey:b,senderPublicKey:p},R=[],O=[];for(const W of n){if(!await hg({cacao:W,projectId:this.client.core.projectId})){a.setError(Zo.invalid_cacao);const F=$t("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:y,error:F,encodeOpts:A}),new Error(F.message)}a.addTrace(sa.cacaos_verified);const{p:Q}=W,k=th(Q.resources),Y=[fg(Q.iss)],$=mh(Q.iss);if(k){const F=ug(k),G=lg(k);R.push(...F),Y.push(...G)}for(const F of Y)O.push(`${F}:${$}`)}const N=await this.client.core.crypto.generateSharedKey(p,b);a.addTrace(sa.create_authenticated_session_topic);let K;if((R==null?void 0:R.length)>0){K={topic:N,acknowledged:!0,self:{publicKey:p,metadata:this.client.metadata},peer:{publicKey:b,metadata:f.requester.metadata},controller:b,expiry:vr(Ga),authentication:n,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:f.pairingTopic,namespaces:_g([...new Set(R)],[...new Set(O)]),transportType:u},a.addTrace(sa.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(N,{transportType:u})}catch(W){throw a.setError(Zo.subscribe_authenticated_session_topic_failure),W}a.addTrace(sa.subscribe_authenticated_session_topic_success),await this.client.session.set(N,K),a.addTrace(sa.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:f.pairingTopic,metadata:f.requester.metadata})}a.addTrace(sa.publishing_authenticated_session_approve);try{await this.sendResult({topic:y,id:i,result:{cacaos:n,responder:{publicKey:p,metadata:this.client.metadata}},encodeOpts:A,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(f.requester.metadata,u)})}catch(W){throw a.setError(Zo.authenticated_session_approve_publish_failure),W}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:a.eventId}),{session:K}},this.rejectSessionAuthenticate=async t=>{this.isInitialized();const{id:i,reason:n}=t,a=this.getPendingAuthRequest(i);if(!a)throw new Error(`Could not find pending auth request with id ${i}`);a.transportType===Kt.relay&&await this.confirmOnlineStateOrThrow();const f=a.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),b=rh(f),p={type:ls,receiverPublicKey:f,senderPublicKey:u};await this.sendError({id:i,topic:b,error:n,encodeOpts:p,rpcOpts:wr.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(a.requester.metadata,a.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,$t("USER_DISCONNECTED"))},this.formatAuthMessage=t=>{this.isInitialized();const{request:i,iss:n}=t;return mm(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(a=>{var f,u;return((f=a.peerMetadata)==null?void 0:f.url)&&((u=a.peerMetadata)==null?void 0:u.url)===t.peer.metadata.url&&a.topic&&a.topic!==i.topic});if(n.length===0)return;this.client.logger.info(`Cleaning up ${n.length} duplicate pairing(s)`),await Promise.all(n.map(a=>this.client.core.pairing.disconnect({topic:a.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:a=!1,emitEvent:f=!0,id:u=0}=t,{self:b}=this.client.session.get(n);await this.client.core.relayer.unsubscribe(n),await this.client.session.delete(n,$t("USER_DISCONNECTED")),this.addToRecentlyDeleted(n,"session"),this.client.core.crypto.keychain.has(b.publicKey)&&await this.client.core.crypto.deleteKeyPair(b.publicKey),this.client.core.crypto.keychain.has(n)&&await this.client.core.crypto.deleteSymKey(n),a||this.client.core.expirer.del(n),this.client.core.storage.removeItem(fv).catch(p=>this.client.logger.warn(p)),this.getPendingSessionRequests().forEach(p=>{p.topic===n&&this.deletePendingSessionRequest(p.id,$t("USER_DISCONNECTED"))}),n===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=An.idle),f&&this.client.events.emit("session_delete",{id:u,topic:n})},this.deleteProposal=async(t,i)=>{if(i)try{const n=this.client.proposal.get(t),a=this.client.core.eventClient.getEvent({topic:n.pairingTopic});a==null||a.setError(na.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(t,$t("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(a=>a.id!==t),n&&(this.sessionRequestQueue.state=An.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,vr(wr.wc_sessionPropose.req.ttl)),await this.client.proposal.set(t,i)},this.setAuthRequest=async(t,i)=>{const{request:n,pairingTopic:a,transportType:f=Kt.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:a,verifyContext:n.verifyContext,transportType:f})},this.setPendingSessionRequest=async t=>{const{id:i,topic:n,params:a,verifyContext:f}=t,u=a.request.expiryTimestamp||vr(wr.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,u),await this.client.pendingRequest.set(i,{id:i,topic:n,params:a,verifyContext:f})},this.sendRequest=async t=>{const{topic:i,method:n,params:a,expiry:f,relayRpcId:u,clientRpcId:b,throwOnFailedPublish:p,appLink:y}=t,A=qs(n,a,b);let R;const O=!!y;try{const W=O?Yo:Ls;R=await this.client.core.crypto.encode(i,A,{encoding:W})}catch(W){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),W}let N;if(SN.includes(n)){const W=cs(JSON.stringify(A)),Q=cs(R);N=await this.client.core.verify.register({id:Q,decryptedId:W})}const K=wr[n].req;if(K.attestation=N,f&&(K.ttl=f),u&&(K.id=u),this.client.core.history.set(i,A),O){const W=Ff(y,i,R);await globalThis.Linking.openURL(W,this.client.name)}else{const W=wr[n].req;f&&(W.ttl=f),u&&(W.id=u),p?(W.internal=cn(rr({},W.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,R,W)):this.client.core.relayer.publish(i,R,W).catch(Q=>this.client.logger.error(Q))}return A.id},this.sendResult=async t=>{const{id:i,topic:n,result:a,throwOnFailedPublish:f,encodeOpts:u,appLink:b}=t,p=Kh(i,a);let y;const A=b&&typeof(globalThis==null?void 0:globalThis.Linking)<"u";try{const O=A?Yo:Ls;y=await this.client.core.crypto.encode(n,p,cn(rr({},u||{}),{encoding:O}))}catch(O){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${n} failed`),O}let R;try{R=await this.client.core.history.get(n,i)}catch(O){throw this.client.logger.error(`sendResult() -> history.get(${n}, ${i}) failed`),O}if(A){const O=Ff(b,n,y);await globalThis.Linking.openURL(O,this.client.name)}else{const O=wr[R.request.method].res;f?(O.internal=cn(rr({},O.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(n,y,O)):this.client.core.relayer.publish(n,y,O).catch(N=>this.client.logger.error(N))}await this.client.core.history.resolve(p)},this.sendError=async t=>{const{id:i,topic:n,error:a,encodeOpts:f,rpcOpts:u,appLink:b}=t,p=Vh(i,a);let y;const A=b&&typeof(globalThis==null?void 0:globalThis.Linking)<"u";try{const O=A?Yo:Ls;y=await this.client.core.crypto.encode(n,p,cn(rr({},f||{}),{encoding:O}))}catch(O){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),O}let R;try{R=await this.client.core.history.get(n,i)}catch(O){throw this.client.logger.error(`sendError() -> history.get(${n}, ${i}) failed`),O}if(A){const O=Ff(b,n,y);await globalThis.Linking.openURL(O,this.client.name)}else{const O=u||wr[R.request.method].res;this.client.core.relayer.publish(n,y,O)}await this.client.core.history.resolve(p)},this.cleanup=async()=>{const t=[],i=[];this.client.session.getAll().forEach(n=>{let a=!1;Os(n.expiry)&&(a=!0),this.client.core.crypto.keychain.has(n.topic)||(a=!0),a&&t.push(n.topic)}),this.client.proposal.getAll().forEach(n=>{Os(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===An.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=An.active;const t=this.requestQueue.queue.shift();if(t)try{await this.processRequest(t)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=An.idle},this.processRequest=async t=>{const{topic:i,payload:n,attestation:a,transportType:f,encryptedId:u}=t,b=n.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:b}))switch(b){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:n,attestation:a,encryptedId:u});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:a,encryptedId:u,transportType:f});case"wc_sessionEvent":return await this.onSessionEventRequest(i,n);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:n,attestation:a,encryptedId:u,transportType:f});default:return this.client.logger.info(`Unsupported request method ${b}`)}},this.onRelayEventResponse=async t=>{const{topic:i,payload:n,transportType:a}=t,f=(await this.client.core.history.get(i,n.id)).request.method;switch(f){case"wc_sessionPropose":return this.onSessionProposeResponse(i,n,a);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}=Ae("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,a=this.expectedPairingMethodMap.get(i);return!a||a.includes(n)?!1:!!(a.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)},this.onSessionProposeRequest=async t=>{const{topic:i,payload:n,attestation:a,encryptedId:f}=t,{params:u,id:b}=n;try{const p=this.client.core.eventClient.getEvent({topic:i});this.isValidConnect(rr({},n.params));const y=u.expiryTimestamp||vr(wr.wc_sessionPropose.req.ttl),A=rr({id:b,pairingTopic:i,expiryTimestamp:y},u);await this.setProposal(b,A);const R=await this.getVerifyContext({attestationId:a,hash:cs(JSON.stringify(n)),encryptedId:f,metadata:A.proposer.metadata});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),p==null||p.setError(as.proposal_listener_not_found)),p==null||p.addTrace(En.emit_session_proposal),this.client.events.emit("session_proposal",{id:b,params:A,verifyContext:R})}catch(p){await this.sendError({id:b,topic:i,error:p,rpcOpts:wr.wc_sessionPropose.autoReject}),this.client.logger.error(p)}},this.onSessionProposeResponse=async(t,i,n)=>{const{id:a}=i;if(In(i)){const{result:f}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:f});const u=this.client.proposal.get(a);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:u});const b=u.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:b});const p=f.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:p});const y=await this.client.core.crypto.generateSharedKey(b,p);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",sessionTopic:y});const A=await this.client.core.relayer.subscribe(y,{transportType:n});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:A}),await this.client.core.pairing.activate({topic:t})}else if(zi(i)){await this.client.proposal.delete(a,$t("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:a}=i;try{this.isValidSessionSettleRequest(a);const{relay:f,controller:u,expiry:b,namespaces:p,sessionProperties:y,sessionConfig:A}=i.params,R=cn(rr(rr({topic:t,relay:f,expiry:b,namespaces:p,acknowledged:!0,pairingTopic:"",requiredNamespaces:{},optionalNamespaces:{},controller:u.publicKey,self:{publicKey:"",metadata:this.client.metadata},peer:{publicKey:u.publicKey,metadata:u.metadata}},y&&{sessionProperties:y}),A&&{sessionConfig:A}),{transportType:Kt.relay}),O=St("session_connect");if(this.events.listenerCount(O)===0)throw new Error(`emitting ${O} without any listeners 997`);this.events.emit(St("session_connect"),{session:R}),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;In(i)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(St("session_approve",n),{})):zi(i)&&(await this.client.session.delete(t,$t("USER_DISCONNECTED")),this.events.emit(St("session_approve",n),{error:i.error}))},this.onSessionUpdateRequest=async(t,i)=>{const{params:n,id:a}=i;try{const f=`${t}_session_update`,u=Qo.get(f);if(u&&this.isRequestOutOfSync(u,a)){this.client.logger.info(`Discarding out of sync request - ${a}`),this.sendError({id:a,topic:t,error:$t("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(rr({topic:t},n));try{Qo.set(f,a),await this.client.session.update(t,{namespaces:n.namespaces}),await this.sendResult({id:a,topic:t,result:!0,throwOnFailedPublish:!0})}catch(b){throw Qo.delete(f),b}this.client.events.emit("session_update",{id:a,topic:t,params:n})}catch(f){await this.sendError({id:a,topic:t,error:f}),this.client.logger.error(f)}},this.isRequestOutOfSync=(t,i)=>parseInt(i.toString().slice(0,-3))<=parseInt(t.toString().slice(0,-3)),this.onSessionUpdateResponse=(t,i)=>{const{id:n}=i,a=St("session_update",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);In(i)?this.events.emit(St("session_update",n),{}):zi(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,vr(Ga)),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:n,topic:t})}catch(a){await this.sendError({id:n,topic:t,error:a}),this.client.logger.error(a)}},this.onSessionExtendResponse=(t,i)=>{const{id:n}=i,a=St("session_extend",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);In(i)?this.events.emit(St("session_extend",n),{}):zi(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(a){await this.sendError({id:n,topic:t,error:a}),this.client.logger.error(a)}},this.onSessionPingResponse=(t,i)=>{const{id:n}=i,a=St("session_ping",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);setTimeout(()=>{In(i)?this.events.emit(St("session_ping",n),{}):zi(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(a=>{this.client.core.relayer.once(Gr.publish,async()=>{a(await this.deleteSession({topic:t,id:n}))})}),this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:$t("USER_DISCONNECTED")})]).catch(a=>this.client.logger.error(a))}catch(a){this.client.logger.error(a)}},this.onSessionRequest=async t=>{var i,n,a;const{topic:f,payload:u,attestation:b,encryptedId:p,transportType:y}=t,{id:A,params:R}=u;try{await this.isValidRequest(rr({topic:f},R));const O=this.client.session.get(f),N=await this.getVerifyContext({attestationId:b,hash:cs(JSON.stringify(qs("wc_sessionRequest",R,A))),encryptedId:p,metadata:O.peer.metadata,transportType:y}),K={id:A,topic:f,params:R,verifyContext:N};await this.setPendingSessionRequest(K),y===Kt.link_mode&&(i=O.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((n=O.peer.metadata.redirect)==null?void 0:n.universal),(a=this.client.signConfig)!=null&&a.disableRequestQueue?this.emitSessionRequest(K):(this.addSessionRequestToSessionRequestQueue(K),this.processSessionRequestQueue())}catch(O){await this.sendError({id:A,topic:f,error:O}),this.client.logger.error(O)}},this.onSessionRequestResponse=(t,i)=>{const{id:n}=i,a=St("session_request",n);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);In(i)?this.events.emit(St("session_request",n),{result:i.result}):zi(i)&&this.events.emit(St("session_request",n),{error:i.error})},this.onSessionEventRequest=async(t,i)=>{const{id:n,params:a}=i;try{const f=`${t}_session_event_${a.event.name}`,u=Qo.get(f);if(u&&this.isRequestOutOfSync(u,n)){this.client.logger.info(`Discarding out of sync request - ${n}`);return}this.isValidEmit(rr({topic:t},a)),this.client.events.emit("session_event",{id:n,topic:t,params:a}),Qo.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}),In(i)?this.events.emit(St("session_request",n),{result:i.result}):zi(i)&&this.events.emit(St("session_request",n),{error:i.error})},this.onSessionAuthenticateRequest=async t=>{var i;const{topic:n,payload:a,attestation:f,encryptedId:u,transportType:b}=t;try{const{requester:p,authPayload:y,expiryTimestamp:A}=a.params,R=await this.getVerifyContext({attestationId:f,hash:cs(JSON.stringify(a)),encryptedId:u,metadata:p.metadata,transportType:b}),O={requester:p,pairingTopic:n,id:a.id,authPayload:y,verifyContext:R,expiryTimestamp:A};await this.setAuthRequest(a.id,{request:O,pairingTopic:n,transportType:b}),b===Kt.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:a.params,id:a.id,verifyContext:R})}catch(p){this.client.logger.error(p);const y=a.params.requester.publicKey,A=await this.client.core.crypto.generateKeyPair(),R=this.getAppLinkIfEnabled(a.params.requester.metadata,b),O={type:ls,receiverPublicKey:y,senderPublicKey:A};await this.sendError({id:a.id,topic:n,error:p,encodeOpts:O,rpcOpts:wr.wc_sessionAuthenticate.autoReject,appLink:R})}},this.addSessionRequestToSessionRequestQueue=t=>{this.sessionRequestQueue.queue.push(t)},this.cleanupAfterResponse=t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=An.idle,this.processSessionRequestQueue()},xe.toMiliseconds(this.requestQueueDelay))},this.cleanupPendingSentRequestsForTopic=({topic:t,error:i})=>{const n=this.client.core.history.pending;n.length>0&&n.filter(a=>a.topic===t&&a.request.method==="wc_sessionRequest").forEach(a=>{const f=a.request.id,u=St("session_request",f);if(this.events.listenerCount(u)===0)throw new Error(`emitting ${u} without any listeners`);this.events.emit(St("session_request",a.request.id),{error:i})})},this.processSessionRequestQueue=()=>{if(this.sessionRequestQueue.state===An.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=An.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:qs("wc_sessionPropose",{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties},i.id)})},this.isValidConnect=async t=>{if(!oi(t)){const{message:b}=Ae("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(b)}const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:a,sessionProperties:f,relays:u}=t;if(fi(i)||await this.isValidPairingTopic(i),!rI(u)){const{message:b}=Ae("MISSING_OR_INVALID",`connect() relays: ${u}`);throw new Error(b)}!fi(n)&&bc(n)!==0&&this.validateNamespaces(n,"requiredNamespaces"),!fi(a)&&bc(a)!==0&&this.validateNamespaces(a,"optionalNamespaces"),fi(f)||this.validateSessionProps(f,"sessionProperties")},this.validateNamespaces=(t,i)=>{const n=tI(t,"connect()",i);if(n)throw new Error(n.message)},this.isValidApprove=async t=>{if(!oi(t))throw new Error(Ae("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:i,namespaces:n,relayProtocol:a,sessionProperties:f}=t;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const u=this.client.proposal.get(i),b=Tl(n,"approve()");if(b)throw new Error(b.message);const p=xg(u.requiredNamespaces,n,"approve()");if(p)throw new Error(p.message);if(!fr(a,!0)){const{message:y}=Ae("MISSING_OR_INVALID",`approve() relayProtocol: ${a}`);throw new Error(y)}fi(f)||this.validateSessionProps(f,"sessionProperties")},this.isValidReject=async t=>{if(!oi(t)){const{message:a}=Ae("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(a)}const{id:i,reason:n}=t;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!nI(n)){const{message:a}=Ae("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(n)}`);throw new Error(a)}},this.isValidSessionSettleRequest=t=>{if(!oi(t)){const{message:p}=Ae("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(p)}const{relay:i,controller:n,namespaces:a,expiry:f}=t;if(!Im(i)){const{message:p}=Ae("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(p)}const u=JS(n,"onSessionSettleRequest()");if(u)throw new Error(u.message);const b=Tl(a,"onSessionSettleRequest()");if(b)throw new Error(b.message);if(Os(f)){const{message:p}=Ae("EXPIRED","onSessionSettleRequest()");throw new Error(p)}},this.isValidUpdate=async t=>{if(!oi(t)){const{message:b}=Ae("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(b)}const{topic:i,namespaces:n}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const a=this.client.session.get(i),f=Tl(n,"update()");if(f)throw new Error(f.message);const u=xg(a.requiredNamespaces,n,"update()");if(u)throw new Error(u.message)},this.isValidExtend=async t=>{if(!oi(t)){const{message:n}=Ae("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(!oi(t)){const{message:b}=Ae("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(b)}const{topic:i,request:n,chainId:a,expiry:f}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:u}=this.client.session.get(i);if(!Eg(u,a)){const{message:b}=Ae("MISSING_OR_INVALID",`request() chainId: ${a}`);throw new Error(b)}if(!sI(n)){const{message:b}=Ae("MISSING_OR_INVALID",`request() ${JSON.stringify(n)}`);throw new Error(b)}if(!cI(u,a,n.method)){const{message:b}=Ae("MISSING_OR_INVALID",`request() method: ${n.method}`);throw new Error(b)}if(f&&!lI(f,zl)){const{message:b}=Ae("MISSING_OR_INVALID",`request() expiry: ${f}. Expiry must be a number (in seconds) between ${zl.min} and ${zl.max}`);throw new Error(b)}},this.isValidRespond=async t=>{var i;if(!oi(t)){const{message:f}=Ae("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(f)}const{topic:n,response:a}=t;try{await this.isValidSessionTopic(n)}catch(f){throw(i=t==null?void 0:t.response)!=null&&i.id&&this.cleanupAfterResponse(t),f}if(!aI(a)){const{message:f}=Ae("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(a)}`);throw new Error(f)}},this.isValidPing=async t=>{if(!oi(t)){const{message:n}=Ae("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(n)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)},this.isValidEmit=async t=>{if(!oi(t)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(u)}const{topic:i,event:n,chainId:a}=t;await this.isValidSessionTopic(i);const{namespaces:f}=this.client.session.get(i);if(!Eg(f,a)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() chainId: ${a}`);throw new Error(u)}if(!oI(n)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(u)}if(!fI(f,a,n.name)){const{message:u}=Ae("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(n)}`);throw new Error(u)}},this.isValidDisconnect=async t=>{if(!oi(t)){const{message:n}=Ae("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:a,nonce:f}=t;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");if(!fr(n,!1))throw new Error("uri is required parameter");if(!fr(a,!1))throw new Error("domain is required parameter");if(!fr(f,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(b=>ac(b).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:u}=ac(i[0]);if(u!=="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:a,metadata:f,transportType:u}=t,b={verified:{verifyUrl:f.verifyUrl||uc,validation:"UNKNOWN",origin:f.url||""}};try{if(u===Kt.link_mode){const y=this.getAppLinkIfEnabled(f,u);return b.verified.validation=y&&new URL(y).origin===new URL(f.url).origin?"VALID":"INVALID",b}const p=await this.client.core.verify.resolve({attestationId:i,hash:n,encryptedId:a,verifyUrl:f.verifyUrl});p&&(b.verified.origin=p.origin,b.verified.isScam=p.isScam,b.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(b)}`),b},this.validateSessionProps=(t,i)=>{Object.values(t).forEach(n=>{if(!fr(n,!1)){const{message:a}=Ae("MISSING_OR_INVALID",`${i} must be in Record<string, string> format. Received: ${JSON.stringify(n)}`);throw new Error(a)}})},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 a=this.recentlyDeletedLimit/2;for(const f of this.recentlyDeletedMap.keys()){if(n++>=a)break;this.recentlyDeletedMap.delete(f)}}},this.checkRecentlyDeleted=t=>{const i=this.recentlyDeletedMap.get(t);if(i){const{message:n}=Ae("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${t}`);throw new Error(n)}},this.isLinkModeEnabled=(t,i)=>{var n,a,f,u,b,p,y,A,R;return!t||i!==Kt.link_mode?!1:((a=(n=this.client.metadata)==null?void 0:n.redirect)==null?void 0:a.linkMode)===!0&&((u=(f=this.client.metadata)==null?void 0:f.redirect)==null?void 0:u.universal)!==void 0&&((p=(b=this.client.metadata)==null?void 0:b.redirect)==null?void 0:p.universal)!==""&&((y=t==null?void 0:t.redirect)==null?void 0:y.universal)!==void 0&&((A=t==null?void 0:t.redirect)==null?void 0:A.universal)!==""&&((R=t==null?void 0:t.redirect)==null?void 0:R.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(t.redirect.universal)&&typeof(globalThis==null?void 0:globalThis.Linking)<"u"},this.getAppLinkIfEnabled=(t,i)=>{var n;return this.isLinkModeEnabled(t,i)?(n=t==null?void 0: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=B1(t,"topic")||"",n=decodeURIComponent(B1(t,"wc_ev")||""),a=this.client.session.keys.includes(i);a&&this.client.session.update(i,{transportType:Kt.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:n,sessionExists:a})},this.registerLinkModeListeners=async()=>{var t;if(jd()||vo()&&(t=this.client.metadata.redirect)!=null&&t.linkMode){const i=globalThis==null?void 0:globalThis.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}=Ae("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Gr.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:a}=e,{publicKey:f}=this.client.auth.authKeys.keys.includes(sh)?this.client.auth.authKeys.get(sh):{responseTopic:void 0,publicKey:void 0},u=await this.client.core.crypto.decode(t,i,{receiverPublicKey:f,encoding:a===Kt.link_mode?Yo:Ls});try{Zd(u)?(this.client.core.history.set(t,u),this.onRelayEventRequest({topic:t,payload:u,attestation:n,transportType:a,encryptedId:cs(i)})):Gh(u)?(await this.client.core.history.resolve(u),await this.onRelayEventResponse({topic:t,payload:u,transportType:a}),this.client.core.history.delete(t,u.id)):this.onRelayEventUnknownPayload({topic:t,payload:u,transportType:a})}catch(b){this.client.logger.error(b)}}registerExpirerEvents(){this.client.core.expirer.on(Ui.expired,async e=>{const{topic:t,id:i}=Lb(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,Ae("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,Ae("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(oa.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(oa.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!fr(e,!1)){const{message:t}=Ae("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}=Ae("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(Os(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Ae("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!fr(e,!1)){const{message:t}=Ae("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}=Ae("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(Os(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Ae("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Ae("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(fr(e,!1)){const{message:t}=Ae("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=Ae("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!iI(e)){const{message:t}=Ae("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Ae("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(Os(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Ae("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}}class BN extends xa{constructor(e,t){super(e,t,_N,r0),this.core=e,this.logger=t}}class UN extends xa{constructor(e,t){super(e,t,AN,r0),this.core=e,this.logger=t}}class $N extends xa{constructor(e,t){super(e,t,xN,r0,i=>i.id),this.core=e,this.logger=t}}class zN extends xa{constructor(e,t){super(e,t,PN,Jh,()=>sh),this.core=e,this.logger=t}}class jN extends xa{constructor(e,t){super(e,t,ON,Jh),this.core=e,this.logger=t}}class kN extends xa{constructor(e,t){super(e,t,RN,Jh,i=>i.id),this.core=e,this.logger=t}}class FN{constructor(e,t){this.core=e,this.logger=t,this.authKeys=new zN(this.core,this.logger),this.pairingTopics=new jN(this.core,this.logger),this.requests=new kN(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}class i0 extends qM{constructor(e){super(e),this.protocol=r2,this.version=i2,this.name=$l.name,this.events=new Fi.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(a){throw this.logger.error(a.message),a}},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==null?void 0:e.name)||$l.name,this.metadata=(e==null?void 0:e.metadata)||Rb(),this.signConfig=e==null?void 0:e.signConfig;const t=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Nc(Hh({level:(e==null?void 0:e.logger)||$l.logger}));this.core=(e==null?void 0:e.core)||new wN(e),this.logger=Yr(t,this.name),this.session=new UN(this.core,this.logger),this.proposal=new BN(this.core,this.logger),this.pendingRequest=new $N(this.core,this.logger),this.engine=new qN(this),this.auth=new FN(this.core,this.logger)}static async init(e){const t=new i0(e);return await t.initialize(),t}get context(){return di(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"),this.engine.processRelayMessageCache()}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var _d={exports:{}};(function(r,e){var t=typeof self<"u"?self:Dv,i=function(){function a(){this.fetch=!1,this.DOMException=t.DOMException}return a.prototype=t,new a}();(function(a){(function(f){var u={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};function b(h){return h&&DataView.prototype.isPrototypeOf(h)}if(u.arrayBuffer)var p=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],y=ArrayBuffer.isView||function(h){return h&&p.indexOf(Object.prototype.toString.call(h))>-1};function A(h){if(typeof h!="string"&&(h=String(h)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(h))throw new TypeError("Invalid character in header field name");return h.toLowerCase()}function R(h){return typeof h!="string"&&(h=String(h)),h}function O(h){var v={next:function(){var _=h.shift();return{done:_===void 0,value:_}}};return u.iterable&&(v[Symbol.iterator]=function(){return v}),v}function N(h){this.map={},h instanceof N?h.forEach(function(v,_){this.append(_,v)},this):Array.isArray(h)?h.forEach(function(v){this.append(v[0],v[1])},this):h&&Object.getOwnPropertyNames(h).forEach(function(v){this.append(v,h[v])},this)}N.prototype.append=function(h,v){h=A(h),v=R(v);var _=this.map[h];this.map[h]=_?_+", "+v:v},N.prototype.delete=function(h){delete this.map[A(h)]},N.prototype.get=function(h){return h=A(h),this.has(h)?this.map[h]:null},N.prototype.has=function(h){return this.map.hasOwnProperty(A(h))},N.prototype.set=function(h,v){this.map[A(h)]=R(v)},N.prototype.forEach=function(h,v){for(var _ in this.map)this.map.hasOwnProperty(_)&&h.call(v,this.map[_],_,this)},N.prototype.keys=function(){var h=[];return this.forEach(function(v,_){h.push(_)}),O(h)},N.prototype.values=function(){var h=[];return this.forEach(function(v){h.push(v)}),O(h)},N.prototype.entries=function(){var h=[];return this.forEach(function(v,_){h.push([_,v])}),O(h)},u.iterable&&(N.prototype[Symbol.iterator]=N.prototype.entries);function K(h){if(h.bodyUsed)return Promise.reject(new TypeError("Already read"));h.bodyUsed=!0}function W(h){return new Promise(function(v,_){h.onload=function(){v(h.result)},h.onerror=function(){_(h.error)}})}function Q(h){var v=new FileReader,_=W(v);return v.readAsArrayBuffer(h),_}function k(h){var v=new FileReader,_=W(v);return v.readAsText(h),_}function Y(h){for(var v=new Uint8Array(h),_=new Array(v.length),I=0;I<v.length;I++)_[I]=String.fromCharCode(v[I]);return _.join("")}function $(h){if(h.slice)return h.slice(0);var v=new Uint8Array(h.byteLength);return v.set(new Uint8Array(h)),v.buffer}function F(){return this.bodyUsed=!1,this._initBody=function(h){this._bodyInit=h,h?typeof h=="string"?this._bodyText=h:u.blob&&Blob.prototype.isPrototypeOf(h)?this._bodyBlob=h:u.formData&&FormData.prototype.isPrototypeOf(h)?this._bodyFormData=h:u.searchParams&&URLSearchParams.prototype.isPrototypeOf(h)?this._bodyText=h.toString():u.arrayBuffer&&u.blob&&b(h)?(this._bodyArrayBuffer=$(h.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(h)||y(h))?this._bodyArrayBuffer=$(h):this._bodyText=h=Object.prototype.toString.call(h):this._bodyText="",this.headers.get("content-type")||(typeof h=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):u.searchParams&&URLSearchParams.prototype.isPrototypeOf(h)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},u.blob&&(this.blob=function(){var h=K(this);if(h)return h;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?K(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Q)}),this.text=function(){var h=K(this);if(h)return h;if(this._bodyBlob)return k(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(Y(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},u.formData&&(this.formData=function(){return this.text().then(ae)}),this.json=function(){return this.text().then(JSON.parse)},this}var G=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function x(h){var v=h.toUpperCase();return G.indexOf(v)>-1?v:h}function q(h,v){v=v||{};var _=v.body;if(h instanceof q){if(h.bodyUsed)throw new TypeError("Already read");this.url=h.url,this.credentials=h.credentials,v.headers||(this.headers=new N(h.headers)),this.method=h.method,this.mode=h.mode,this.signal=h.signal,!_&&h._bodyInit!=null&&(_=h._bodyInit,h.bodyUsed=!0)}else this.url=String(h);if(this.credentials=v.credentials||this.credentials||"same-origin",(v.headers||!this.headers)&&(this.headers=new N(v.headers)),this.method=x(v.method||this.method||"GET"),this.mode=v.mode||this.mode||null,this.signal=v.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&_)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(_)}q.prototype.clone=function(){return new q(this,{body:this._bodyInit})};function ae(h){var v=new FormData;return h.trim().split("&").forEach(function(_){if(_){var I=_.split("="),M=I.shift().replace(/\+/g," "),S=I.join("=").replace(/\+/g," ");v.append(decodeURIComponent(M),decodeURIComponent(S))}}),v}function le(h){var v=new N,_=h.replace(/\r?\n[\t ]+/g," ");return _.split(/\r?\n/).forEach(function(I){var M=I.split(":"),S=M.shift().trim();if(S){var d=M.join(":").trim();v.append(S,d)}}),v}F.call(q.prototype);function L(h,v){v||(v={}),this.type="default",this.status=v.status===void 0?200:v.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in v?v.statusText:"OK",this.headers=new N(v.headers),this.url=v.url||"",this._initBody(h)}F.call(L.prototype),L.prototype.clone=function(){return new L(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new N(this.headers),url:this.url})},L.error=function(){var h=new L(null,{status:0,statusText:""});return h.type="error",h};var m=[301,302,303,307,308];L.redirect=function(h,v){if(m.indexOf(v)===-1)throw new RangeError("Invalid status code");return new L(null,{status:v,headers:{location:h}})},f.DOMException=a.DOMException;try{new f.DOMException}catch{f.DOMException=function(v,_){this.message=v,this.name=_;var I=Error(v);this.stack=I.stack},f.DOMException.prototype=Object.create(Error.prototype),f.DOMException.prototype.constructor=f.DOMException}function c(h,v){return new Promise(function(_,I){var M=new q(h,v);if(M.signal&&M.signal.aborted)return I(new f.DOMException("Aborted","AbortError"));var S=new XMLHttpRequest;function d(){S.abort()}S.onload=function(){var g={status:S.status,statusText:S.statusText,headers:le(S.getAllResponseHeaders()||"")};g.url="responseURL"in S?S.responseURL:g.headers.get("X-Request-URL");var C="response"in S?S.response:S.responseText;_(new L(C,g))},S.onerror=function(){I(new TypeError("Network request failed"))},S.ontimeout=function(){I(new TypeError("Network request failed"))},S.onabort=function(){I(new f.DOMException("Aborted","AbortError"))},S.open(M.method,M.url,!0),M.credentials==="include"?S.withCredentials=!0:M.credentials==="omit"&&(S.withCredentials=!1),"responseType"in S&&u.blob&&(S.responseType="blob"),M.headers.forEach(function(g,C){S.setRequestHeader(C,g)}),M.signal&&(M.signal.addEventListener("abort",d),S.onreadystatechange=function(){S.readyState===4&&M.signal.removeEventListener("abort",d)}),S.send(typeof M._bodyInit>"u"?null:M._bodyInit)})}return c.polyfill=!0,a.fetch||(a.fetch=c,a.Headers=N,a.Request=q,a.Response=L),f.Headers=N,f.Request=q,f.Response=L,f.fetch=c,Object.defineProperty(f,"__esModule",{value:!0}),f})({})})(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var n=i;e=n.fetch,e.default=n.fetch,e.fetch=n.fetch,e.Headers=n.Headers,e.Request=n.Request,e.Response=n.Response,r.exports=e})(_d,_d.exports);var HN=_d.exports;const lv=Sd(HN);var KN=Object.defineProperty,VN=Object.defineProperties,GN=Object.getOwnPropertyDescriptors,dv=Object.getOwnPropertySymbols,WN=Object.prototype.hasOwnProperty,JN=Object.prototype.propertyIsEnumerable,pv=(r,e,t)=>e in r?KN(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,gv=(r,e)=>{for(var t in e||(e={}))WN.call(e,t)&&pv(r,t,e[t]);if(dv)for(var t of dv(e))JN.call(e,t)&&pv(r,t,e[t]);return r},vv=(r,e)=>VN(r,GN(e));const YN={Accept:"application/json","Content-Type":"application/json"},QN="POST",bv={headers:YN,method:QN},mv=10;class Vn{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new Fi.EventEmitter,this.isAvailable=!1,this.registering=!1,!$g(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}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(){if(!this.isAvailable)throw new Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{const t=gs(e),i=await(await lv(this.url,vv(gv({},bv),{body:t}))).json();this.onPayload({data:i})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!$g(e))throw new Error(`Provided URL is not compatible with HTTP 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",a=>{this.resetMaxListeners(),n(a)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return n(new Error("HTTP connection is missing or invalid"));i()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){const t=gs({id:1,jsonrpc:"2.0",method:"test",params:[]});await lv(e,vv(gv({},bv),{body:t}))}this.onOpen()}catch(t){const i=this.parseError(t);throw this.events.emit("register_error",i),this.onClose(),i}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?ga(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),n=i.message||i.toString(),a=Vh(e,n);this.events.emit("payload",a)}parseError(e,t=this.url){return Lm(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>mv&&this.events.setMaxListeners(mv)}}const yv="error",XN="wss://relay.walletconnect.org",ZN="wc",eT="universal_provider",wv=`${ZN}@2:${eT}:`,a2="https://rpc.walletconnect.org/v1/",Ya="generic",tT=`${a2}bundler`,gn={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};var rc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},Ad={exports:{}};/**
|
||
* @license
|
||
* Lodash <https://lodash.com/>
|
||
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
||
* Released under MIT license <https://lodash.com/license>
|
||
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
||
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
||
*/(function(r,e){(function(){var t,i="4.17.21",n=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",f="Expected a function",u="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",p=500,y="__lodash_placeholder__",A=1,R=2,O=4,N=1,K=2,W=1,Q=2,k=4,Y=8,$=16,F=32,G=64,x=128,q=256,ae=512,le=30,L="...",m=800,c=16,h=1,v=2,_=3,I=1/0,M=9007199254740991,S=17976931348623157e292,d=NaN,g=4294967295,C=g-1,Z=g>>>1,se=[["ary",x],["bind",W],["bindKey",Q],["curry",Y],["curryRight",$],["flip",ae],["partial",F],["partialRight",G],["rearg",q]],P="[object Arguments]",ee="[object Array]",B="[object AsyncFunction]",j="[object Boolean]",H="[object Date]",w="[object DOMException]",z="[object Error]",ne="[object Function]",ce="[object GeneratorFunction]",he="[object Map]",ye="[object Number]",we="[object Null]",Te="[object Object]",Qe="[object Promise]",Oe="[object Proxy]",Ce="[object RegExp]",Ie="[object Set]",me="[object String]",Re="[object Symbol]",De="[object Undefined]",ve="[object WeakMap]",Ne="[object WeakSet]",Se="[object ArrayBuffer]",be="[object DataView]",Ue="[object Float32Array]",Me="[object Float64Array]",_e="[object Int8Array]",He="[object Int16Array]",Ve="[object Int32Array]",Ee="[object Uint8Array]",Ke="[object Uint8ClampedArray]",ut="[object Uint16Array]",Ge="[object Uint32Array]",_t=/\b__p \+= '';/g,lt=/\b(__p \+=) '' \+/g,Je=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Et=/&(?:amp|lt|gt|quot|#39);/g,It=/[&<>"']/g,Le=RegExp(Et.source),Xe=RegExp(It.source),tt=/<%-([\s\S]+?)%>/g,qe=/<%([\s\S]+?)%>/g,et=/<%=([\s\S]+?)%>/g,Ze=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ze=/^\w*$/,ft=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rt=/[\\^$.*+?()[\]{}|]/g,je=RegExp(rt.source),it=/^\s+/,st=/\s/,Be=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ye=/\{\n\/\* \[wrapped with (.+)\] \*/,ht=/,? & /,ke=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ct=/[()=,{}\[\]\/\s]/,Dt=/\\(\\)?/g,at=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,bt=/\w*$/,Tr=/^[-+]0x[0-9a-f]+$/i,Cr=/^0b[01]+$/i,Dr=/^\[object .+?Constructor\]$/,Lr=/^0o[0-7]+$/i,qr=/^(?:0|[1-9]\d*)$/,er=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qr=/($^)/,Vi=/['\n\r\u2028\u2029\\]/g,Xr="\\ud800-\\udfff",Gi="\\u0300-\\u036f",Wi="\\ufe20-\\ufe2f",Zr="\\u20d0-\\u20ff",Si=Gi+Wi+Zr,Ii="\\u2700-\\u27bf",lr="a-z\\xdf-\\xf6\\xf8-\\xff",Ji="\\xac\\xb1\\xd7\\xf7",Yi="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Qi="\\u2000-\\u206f",js=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Dc="A-Z\\xc0-\\xd6\\xd8-\\xde",Lc="\\ufe0e\\ufe0f",ks=Ji+Yi+Qi+js,xo="['’]",Fs="["+Xr+"]",So="["+ks+"]",Hs="["+Si+"]",qc="\\d+",Yh="["+Ii+"]",Bc="["+lr+"]",Uc="[^"+Xr+ks+qc+Ii+lr+Dc+"]",Ma="\\ud83c[\\udffb-\\udfff]",Qh="(?:"+Hs+"|"+Ma+")",$c="[^"+Xr+"]",Pa="(?:\\ud83c[\\udde6-\\uddff]){2}",bs="[\\ud800-\\udbff][\\udc00-\\udfff]",pi="["+Dc+"]",zc="\\u200d",jc="(?:"+Bc+"|"+Uc+")",vn="(?:"+pi+"|"+Uc+")",kc="(?:"+xo+"(?:d|ll|m|re|s|t|ve))?",Fc="(?:"+xo+"(?:D|LL|M|RE|S|T|VE))?",Hc=Qh+"?",Kc="["+Lc+"]?",Xh="(?:"+zc+"(?:"+[$c,Pa,bs].join("|")+")"+Kc+Hc+")*",Gn="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Vc="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gc=Kc+Hc+Xh,Oa="(?:"+[Yh,Pa,bs].join("|")+")"+Gc,Zh="(?:"+[$c+Hs+"?",Hs,Pa,bs,Fs].join("|")+")",Io=RegExp(xo,"g"),eu=RegExp(Hs,"g"),Ra=RegExp(Ma+"(?="+Ma+")|"+Zh+Gc,"g"),Wc=RegExp([pi+"?"+Bc+"+"+kc+"(?="+[So,pi,"$"].join("|")+")",vn+"+"+Fc+"(?="+[So,pi+jc,"$"].join("|")+")",pi+"?"+jc+"+"+kc,pi+"+"+Fc,Vc,Gn,qc,Oa].join("|"),"g"),Jc=RegExp("["+zc+Xr+Si+Lc+"]"),Ks=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Yc=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],tu=-1,jt={};jt[Ue]=jt[Me]=jt[_e]=jt[He]=jt[Ve]=jt[Ee]=jt[Ke]=jt[ut]=jt[Ge]=!0,jt[P]=jt[ee]=jt[Se]=jt[j]=jt[be]=jt[H]=jt[z]=jt[ne]=jt[he]=jt[ye]=jt[Te]=jt[Ce]=jt[Ie]=jt[me]=jt[ve]=!1;var zt={};zt[P]=zt[ee]=zt[Se]=zt[be]=zt[j]=zt[H]=zt[Ue]=zt[Me]=zt[_e]=zt[He]=zt[Ve]=zt[he]=zt[ye]=zt[Te]=zt[Ce]=zt[Ie]=zt[me]=zt[Re]=zt[Ee]=zt[Ke]=zt[ut]=zt[Ge]=!0,zt[z]=zt[ne]=zt[ve]=!1;var V={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},te={"&":"&","<":"<",">":">",'"':""","'":"'"},pe={"&":"&","<":"<",">":">",""":'"',"'":"'"},$e={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},kt=parseFloat,pt=parseInt,Jt=typeof rc=="object"&&rc&&rc.Object===Object&&rc,hr=typeof self=="object"&&self&&self.Object===Object&&self,Nt=Jt||hr||Function("return this")(),Ft=e&&!e.nodeType&&e,sr=Ft&&!0&&r&&!r.nodeType&&r,ei=sr&&sr.exports===Ft,ur=ei&&Jt.process,Yt=function(){try{var re=sr&&sr.require&&sr.require("util").types;return re||ur&&ur.binding&&ur.binding("util")}catch{}}(),kr=Yt&&Yt.isArrayBuffer,Xi=Yt&&Yt.isDate,Mi=Yt&&Yt.isMap,bn=Yt&&Yt.isRegExp,Mo=Yt&&Yt.isSet,Vs=Yt&&Yt.isTypedArray;function br(re,fe,oe){switch(oe.length){case 0:return re.call(fe);case 1:return re.call(fe,oe[0]);case 2:return re.call(fe,oe[0],oe[1]);case 3:return re.call(fe,oe[0],oe[1],oe[2])}return re.apply(fe,oe)}function f2(re,fe,oe,Fe){for(var dt=-1,Lt=re==null?0:re.length;++dt<Lt;){var dr=re[dt];fe(Fe,dr,oe(dr),re)}return Fe}function Pi(re,fe){for(var oe=-1,Fe=re==null?0:re.length;++oe<Fe&&fe(re[oe],oe,re)!==!1;);return re}function h2(re,fe){for(var oe=re==null?0:re.length;oe--&&fe(re[oe],oe,re)!==!1;);return re}function a0(re,fe){for(var oe=-1,Fe=re==null?0:re.length;++oe<Fe;)if(!fe(re[oe],oe,re))return!1;return!0}function ms(re,fe){for(var oe=-1,Fe=re==null?0:re.length,dt=0,Lt=[];++oe<Fe;){var dr=re[oe];fe(dr,oe,re)&&(Lt[dt++]=dr)}return Lt}function Qc(re,fe){var oe=re==null?0:re.length;return!!oe&&Na(re,fe,0)>-1}function ru(re,fe,oe){for(var Fe=-1,dt=re==null?0:re.length;++Fe<dt;)if(oe(fe,re[Fe]))return!0;return!1}function Xt(re,fe){for(var oe=-1,Fe=re==null?0:re.length,dt=Array(Fe);++oe<Fe;)dt[oe]=fe(re[oe],oe,re);return dt}function ys(re,fe){for(var oe=-1,Fe=fe.length,dt=re.length;++oe<Fe;)re[dt+oe]=fe[oe];return re}function iu(re,fe,oe,Fe){var dt=-1,Lt=re==null?0:re.length;for(Fe&&Lt&&(oe=re[++dt]);++dt<Lt;)oe=fe(oe,re[dt],dt,re);return oe}function u2(re,fe,oe,Fe){var dt=re==null?0:re.length;for(Fe&&dt&&(oe=re[--dt]);dt--;)oe=fe(oe,re[dt],dt,re);return oe}function nu(re,fe){for(var oe=-1,Fe=re==null?0:re.length;++oe<Fe;)if(fe(re[oe],oe,re))return!0;return!1}var l2=su("length");function d2(re){return re.split("")}function p2(re){return re.match(ke)||[]}function o0(re,fe,oe){var Fe;return oe(re,function(dt,Lt,dr){if(fe(dt,Lt,dr))return Fe=Lt,!1}),Fe}function Xc(re,fe,oe,Fe){for(var dt=re.length,Lt=oe+(Fe?1:-1);Fe?Lt--:++Lt<dt;)if(fe(re[Lt],Lt,re))return Lt;return-1}function Na(re,fe,oe){return fe===fe?I2(re,fe,oe):Xc(re,c0,oe)}function g2(re,fe,oe,Fe){for(var dt=oe-1,Lt=re.length;++dt<Lt;)if(Fe(re[dt],fe))return dt;return-1}function c0(re){return re!==re}function f0(re,fe){var oe=re==null?0:re.length;return oe?ou(re,fe)/oe:d}function su(re){return function(fe){return fe==null?t:fe[re]}}function au(re){return function(fe){return re==null?t:re[fe]}}function h0(re,fe,oe,Fe,dt){return dt(re,function(Lt,dr,Ht){oe=Fe?(Fe=!1,Lt):fe(oe,Lt,dr,Ht)}),oe}function v2(re,fe){var oe=re.length;for(re.sort(fe);oe--;)re[oe]=re[oe].value;return re}function ou(re,fe){for(var oe,Fe=-1,dt=re.length;++Fe<dt;){var Lt=fe(re[Fe]);Lt!==t&&(oe=oe===t?Lt:oe+Lt)}return oe}function cu(re,fe){for(var oe=-1,Fe=Array(re);++oe<re;)Fe[oe]=fe(oe);return Fe}function b2(re,fe){return Xt(fe,function(oe){return[oe,re[oe]]})}function u0(re){return re&&re.slice(0,g0(re)+1).replace(it,"")}function gi(re){return function(fe){return re(fe)}}function fu(re,fe){return Xt(fe,function(oe){return re[oe]})}function Po(re,fe){return re.has(fe)}function l0(re,fe){for(var oe=-1,Fe=re.length;++oe<Fe&&Na(fe,re[oe],0)>-1;);return oe}function d0(re,fe){for(var oe=re.length;oe--&&Na(fe,re[oe],0)>-1;);return oe}function m2(re,fe){for(var oe=re.length,Fe=0;oe--;)re[oe]===fe&&++Fe;return Fe}var y2=au(V),w2=au(te);function _2(re){return"\\"+$e[re]}function A2(re,fe){return re==null?t:re[fe]}function Ta(re){return Jc.test(re)}function E2(re){return Ks.test(re)}function x2(re){for(var fe,oe=[];!(fe=re.next()).done;)oe.push(fe.value);return oe}function hu(re){var fe=-1,oe=Array(re.size);return re.forEach(function(Fe,dt){oe[++fe]=[dt,Fe]}),oe}function p0(re,fe){return function(oe){return re(fe(oe))}}function ws(re,fe){for(var oe=-1,Fe=re.length,dt=0,Lt=[];++oe<Fe;){var dr=re[oe];(dr===fe||dr===y)&&(re[oe]=y,Lt[dt++]=oe)}return Lt}function Zc(re){var fe=-1,oe=Array(re.size);return re.forEach(function(Fe){oe[++fe]=Fe}),oe}function S2(re){var fe=-1,oe=Array(re.size);return re.forEach(function(Fe){oe[++fe]=[Fe,Fe]}),oe}function I2(re,fe,oe){for(var Fe=oe-1,dt=re.length;++Fe<dt;)if(re[Fe]===fe)return Fe;return-1}function M2(re,fe,oe){for(var Fe=oe+1;Fe--;)if(re[Fe]===fe)return Fe;return Fe}function Ca(re){return Ta(re)?O2(re):l2(re)}function Zi(re){return Ta(re)?R2(re):d2(re)}function g0(re){for(var fe=re.length;fe--&&st.test(re.charAt(fe)););return fe}var P2=au(pe);function O2(re){for(var fe=Ra.lastIndex=0;Ra.test(re);)++fe;return fe}function R2(re){return re.match(Ra)||[]}function N2(re){return re.match(Wc)||[]}var T2=function re(fe){fe=fe==null?Nt:Da.defaults(Nt.Object(),fe,Da.pick(Nt,Yc));var oe=fe.Array,Fe=fe.Date,dt=fe.Error,Lt=fe.Function,dr=fe.Math,Ht=fe.Object,uu=fe.RegExp,C2=fe.String,Oi=fe.TypeError,ef=oe.prototype,D2=Lt.prototype,La=Ht.prototype,tf=fe["__core-js_shared__"],rf=D2.toString,Ut=La.hasOwnProperty,L2=0,v0=function(){var s=/[^.]+$/.exec(tf&&tf.keys&&tf.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""}(),nf=La.toString,q2=rf.call(Ht),B2=Nt._,U2=uu("^"+rf.call(Ut).replace(rt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),sf=ei?fe.Buffer:t,_s=fe.Symbol,af=fe.Uint8Array,b0=sf?sf.allocUnsafe:t,of=p0(Ht.getPrototypeOf,Ht),m0=Ht.create,y0=La.propertyIsEnumerable,cf=ef.splice,w0=_s?_s.isConcatSpreadable:t,Oo=_s?_s.iterator:t,Gs=_s?_s.toStringTag:t,ff=function(){try{var s=Xs(Ht,"defineProperty");return s({},"",{}),s}catch{}}(),$2=fe.clearTimeout!==Nt.clearTimeout&&fe.clearTimeout,z2=Fe&&Fe.now!==Nt.Date.now&&Fe.now,j2=fe.setTimeout!==Nt.setTimeout&&fe.setTimeout,hf=dr.ceil,uf=dr.floor,lu=Ht.getOwnPropertySymbols,k2=sf?sf.isBuffer:t,_0=fe.isFinite,F2=ef.join,H2=p0(Ht.keys,Ht),pr=dr.max,Br=dr.min,K2=Fe.now,V2=fe.parseInt,A0=dr.random,G2=ef.reverse,du=Xs(fe,"DataView"),Ro=Xs(fe,"Map"),pu=Xs(fe,"Promise"),qa=Xs(fe,"Set"),No=Xs(fe,"WeakMap"),To=Xs(Ht,"create"),lf=No&&new No,Ba={},W2=Zs(du),J2=Zs(Ro),Y2=Zs(pu),Q2=Zs(qa),X2=Zs(No),df=_s?_s.prototype:t,Co=df?df.valueOf:t,E0=df?df.toString:t;function D(s){if(tr(s)&&!gt(s)&&!(s instanceof Mt)){if(s instanceof Ri)return s;if(Ut.call(s,"__wrapped__"))return xp(s)}return new Ri(s)}var Ua=function(){function s(){}return function(o){if(!Zt(o))return{};if(m0)return m0(o);s.prototype=o;var l=new s;return s.prototype=t,l}}();function pf(){}function Ri(s,o){this.__wrapped__=s,this.__actions__=[],this.__chain__=!!o,this.__index__=0,this.__values__=t}D.templateSettings={escape:tt,evaluate:qe,interpolate:et,variable:"",imports:{_:D}},D.prototype=pf.prototype,D.prototype.constructor=D,Ri.prototype=Ua(pf.prototype),Ri.prototype.constructor=Ri;function Mt(s){this.__wrapped__=s,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=g,this.__views__=[]}function Z2(){var s=new Mt(this.__wrapped__);return s.__actions__=ti(this.__actions__),s.__dir__=this.__dir__,s.__filtered__=this.__filtered__,s.__iteratees__=ti(this.__iteratees__),s.__takeCount__=this.__takeCount__,s.__views__=ti(this.__views__),s}function ey(){if(this.__filtered__){var s=new Mt(this);s.__dir__=-1,s.__filtered__=!0}else s=this.clone(),s.__dir__*=-1;return s}function ty(){var s=this.__wrapped__.value(),o=this.__dir__,l=gt(s),E=o<0,T=l?s.length:0,U=d6(0,T,this.__views__),J=U.start,X=U.end,ie=X-J,ue=E?X:J-1,de=this.__iteratees__,ge=de.length,Pe=0,We=Br(ie,this.__takeCount__);if(!l||!E&&T==ie&&We==ie)return G0(s,this.__actions__);var ot=[];e:for(;ie--&&Pe<We;){ue+=o;for(var wt=-1,ct=s[ue];++wt<ge;){var xt=de[wt],Tt=xt.iteratee,mi=xt.type,Kr=Tt(ct);if(mi==v)ct=Kr;else if(!Kr){if(mi==h)continue e;break e}}ot[Pe++]=ct}return ot}Mt.prototype=Ua(pf.prototype),Mt.prototype.constructor=Mt;function Ws(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var E=s[o];this.set(E[0],E[1])}}function ry(){this.__data__=To?To(null):{},this.size=0}function iy(s){var o=this.has(s)&&delete this.__data__[s];return this.size-=o?1:0,o}function ny(s){var o=this.__data__;if(To){var l=o[s];return l===b?t:l}return Ut.call(o,s)?o[s]:t}function sy(s){var o=this.__data__;return To?o[s]!==t:Ut.call(o,s)}function ay(s,o){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=To&&o===t?b:o,this}Ws.prototype.clear=ry,Ws.prototype.delete=iy,Ws.prototype.get=ny,Ws.prototype.has=sy,Ws.prototype.set=ay;function Wn(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var E=s[o];this.set(E[0],E[1])}}function oy(){this.__data__=[],this.size=0}function cy(s){var o=this.__data__,l=gf(o,s);if(l<0)return!1;var E=o.length-1;return l==E?o.pop():cf.call(o,l,1),--this.size,!0}function fy(s){var o=this.__data__,l=gf(o,s);return l<0?t:o[l][1]}function hy(s){return gf(this.__data__,s)>-1}function uy(s,o){var l=this.__data__,E=gf(l,s);return E<0?(++this.size,l.push([s,o])):l[E][1]=o,this}Wn.prototype.clear=oy,Wn.prototype.delete=cy,Wn.prototype.get=fy,Wn.prototype.has=hy,Wn.prototype.set=uy;function Jn(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var E=s[o];this.set(E[0],E[1])}}function ly(){this.size=0,this.__data__={hash:new Ws,map:new(Ro||Wn),string:new Ws}}function dy(s){var o=Mf(this,s).delete(s);return this.size-=o?1:0,o}function py(s){return Mf(this,s).get(s)}function gy(s){return Mf(this,s).has(s)}function vy(s,o){var l=Mf(this,s),E=l.size;return l.set(s,o),this.size+=l.size==E?0:1,this}Jn.prototype.clear=ly,Jn.prototype.delete=dy,Jn.prototype.get=py,Jn.prototype.has=gy,Jn.prototype.set=vy;function Js(s){var o=-1,l=s==null?0:s.length;for(this.__data__=new Jn;++o<l;)this.add(s[o])}function by(s){return this.__data__.set(s,b),this}function my(s){return this.__data__.has(s)}Js.prototype.add=Js.prototype.push=by,Js.prototype.has=my;function en(s){var o=this.__data__=new Wn(s);this.size=o.size}function yy(){this.__data__=new Wn,this.size=0}function wy(s){var o=this.__data__,l=o.delete(s);return this.size=o.size,l}function _y(s){return this.__data__.get(s)}function Ay(s){return this.__data__.has(s)}function Ey(s,o){var l=this.__data__;if(l instanceof Wn){var E=l.__data__;if(!Ro||E.length<n-1)return E.push([s,o]),this.size=++l.size,this;l=this.__data__=new Jn(E)}return l.set(s,o),this.size=l.size,this}en.prototype.clear=yy,en.prototype.delete=wy,en.prototype.get=_y,en.prototype.has=Ay,en.prototype.set=Ey;function x0(s,o){var l=gt(s),E=!l&&ea(s),T=!l&&!E&&Is(s),U=!l&&!E&&!T&&ka(s),J=l||E||T||U,X=J?cu(s.length,C2):[],ie=X.length;for(var ue in s)(o||Ut.call(s,ue))&&!(J&&(ue=="length"||T&&(ue=="offset"||ue=="parent")||U&&(ue=="buffer"||ue=="byteLength"||ue=="byteOffset")||Zn(ue,ie)))&&X.push(ue);return X}function S0(s){var o=s.length;return o?s[Su(0,o-1)]:t}function xy(s,o){return Pf(ti(s),Ys(o,0,s.length))}function Sy(s){return Pf(ti(s))}function gu(s,o,l){(l!==t&&!tn(s[o],l)||l===t&&!(o in s))&&Yn(s,o,l)}function Do(s,o,l){var E=s[o];(!(Ut.call(s,o)&&tn(E,l))||l===t&&!(o in s))&&Yn(s,o,l)}function gf(s,o){for(var l=s.length;l--;)if(tn(s[l][0],o))return l;return-1}function Iy(s,o,l,E){return As(s,function(T,U,J){o(E,T,l(T),J)}),E}function I0(s,o){return s&&yn(o,mr(o),s)}function My(s,o){return s&&yn(o,ii(o),s)}function Yn(s,o,l){o=="__proto__"&&ff?ff(s,o,{configurable:!0,enumerable:!0,value:l,writable:!0}):s[o]=l}function vu(s,o){for(var l=-1,E=o.length,T=oe(E),U=s==null;++l<E;)T[l]=U?t:Yu(s,o[l]);return T}function Ys(s,o,l){return s===s&&(l!==t&&(s=s<=l?s:l),o!==t&&(s=s>=o?s:o)),s}function Ni(s,o,l,E,T,U){var J,X=o&A,ie=o&R,ue=o&O;if(l&&(J=T?l(s,E,T,U):l(s)),J!==t)return J;if(!Zt(s))return s;var de=gt(s);if(de){if(J=g6(s),!X)return ti(s,J)}else{var ge=Ur(s),Pe=ge==ne||ge==ce;if(Is(s))return Y0(s,X);if(ge==Te||ge==P||Pe&&!T){if(J=ie||Pe?{}:gp(s),!X)return ie?n6(s,My(J,s)):i6(s,I0(J,s))}else{if(!zt[ge])return T?s:{};J=v6(s,ge,X)}}U||(U=new en);var We=U.get(s);if(We)return We;U.set(s,J),Hp(s)?s.forEach(function(ct){J.add(Ni(ct,o,l,ct,s,U))}):kp(s)&&s.forEach(function(ct,xt){J.set(xt,Ni(ct,o,l,xt,s,U))});var ot=ue?ie?qu:Lu:ie?ii:mr,wt=de?t:ot(s);return Pi(wt||s,function(ct,xt){wt&&(xt=ct,ct=s[xt]),Do(J,xt,Ni(ct,o,l,xt,s,U))}),J}function Py(s){var o=mr(s);return function(l){return M0(l,s,o)}}function M0(s,o,l){var E=l.length;if(s==null)return!E;for(s=Ht(s);E--;){var T=l[E],U=o[T],J=s[T];if(J===t&&!(T in s)||!U(J))return!1}return!0}function P0(s,o,l){if(typeof s!="function")throw new Oi(f);return jo(function(){s.apply(t,l)},o)}function Lo(s,o,l,E){var T=-1,U=Qc,J=!0,X=s.length,ie=[],ue=o.length;if(!X)return ie;l&&(o=Xt(o,gi(l))),E?(U=ru,J=!1):o.length>=n&&(U=Po,J=!1,o=new Js(o));e:for(;++T<X;){var de=s[T],ge=l==null?de:l(de);if(de=E||de!==0?de:0,J&&ge===ge){for(var Pe=ue;Pe--;)if(o[Pe]===ge)continue e;ie.push(de)}else U(o,ge,E)||ie.push(de)}return ie}var As=tp(mn),O0=tp(mu,!0);function Oy(s,o){var l=!0;return As(s,function(E,T,U){return l=!!o(E,T,U),l}),l}function vf(s,o,l){for(var E=-1,T=s.length;++E<T;){var U=s[E],J=o(U);if(J!=null&&(X===t?J===J&&!bi(J):l(J,X)))var X=J,ie=U}return ie}function Ry(s,o,l,E){var T=s.length;for(l=yt(l),l<0&&(l=-l>T?0:T+l),E=E===t||E>T?T:yt(E),E<0&&(E+=T),E=l>E?0:Vp(E);l<E;)s[l++]=o;return s}function R0(s,o){var l=[];return As(s,function(E,T,U){o(E,T,U)&&l.push(E)}),l}function Mr(s,o,l,E,T){var U=-1,J=s.length;for(l||(l=m6),T||(T=[]);++U<J;){var X=s[U];o>0&&l(X)?o>1?Mr(X,o-1,l,E,T):ys(T,X):E||(T[T.length]=X)}return T}var bu=rp(),N0=rp(!0);function mn(s,o){return s&&bu(s,o,mr)}function mu(s,o){return s&&N0(s,o,mr)}function bf(s,o){return ms(o,function(l){return es(s[l])})}function Qs(s,o){o=xs(o,s);for(var l=0,E=o.length;s!=null&&l<E;)s=s[wn(o[l++])];return l&&l==E?s:t}function T0(s,o,l){var E=o(s);return gt(s)?E:ys(E,l(s))}function Fr(s){return s==null?s===t?De:we:Gs&&Gs in Ht(s)?l6(s):S6(s)}function yu(s,o){return s>o}function Ny(s,o){return s!=null&&Ut.call(s,o)}function Ty(s,o){return s!=null&&o in Ht(s)}function Cy(s,o,l){return s>=Br(o,l)&&s<pr(o,l)}function wu(s,o,l){for(var E=l?ru:Qc,T=s[0].length,U=s.length,J=U,X=oe(U),ie=1/0,ue=[];J--;){var de=s[J];J&&o&&(de=Xt(de,gi(o))),ie=Br(de.length,ie),X[J]=!l&&(o||T>=120&&de.length>=120)?new Js(J&&de):t}de=s[0];var ge=-1,Pe=X[0];e:for(;++ge<T&&ue.length<ie;){var We=de[ge],ot=o?o(We):We;if(We=l||We!==0?We:0,!(Pe?Po(Pe,ot):E(ue,ot,l))){for(J=U;--J;){var wt=X[J];if(!(wt?Po(wt,ot):E(s[J],ot,l)))continue e}Pe&&Pe.push(ot),ue.push(We)}}return ue}function Dy(s,o,l,E){return mn(s,function(T,U,J){o(E,l(T),U,J)}),E}function qo(s,o,l){o=xs(o,s),s=yp(s,o);var E=s==null?s:s[wn(Ci(o))];return E==null?t:br(E,s,l)}function C0(s){return tr(s)&&Fr(s)==P}function Ly(s){return tr(s)&&Fr(s)==Se}function qy(s){return tr(s)&&Fr(s)==H}function Bo(s,o,l,E,T){return s===o?!0:s==null||o==null||!tr(s)&&!tr(o)?s!==s&&o!==o:By(s,o,l,E,Bo,T)}function By(s,o,l,E,T,U){var J=gt(s),X=gt(o),ie=J?ee:Ur(s),ue=X?ee:Ur(o);ie=ie==P?Te:ie,ue=ue==P?Te:ue;var de=ie==Te,ge=ue==Te,Pe=ie==ue;if(Pe&&Is(s)){if(!Is(o))return!1;J=!0,de=!1}if(Pe&&!de)return U||(U=new en),J||ka(s)?lp(s,o,l,E,T,U):h6(s,o,ie,l,E,T,U);if(!(l&N)){var We=de&&Ut.call(s,"__wrapped__"),ot=ge&&Ut.call(o,"__wrapped__");if(We||ot){var wt=We?s.value():s,ct=ot?o.value():o;return U||(U=new en),T(wt,ct,l,E,U)}}return Pe?(U||(U=new en),u6(s,o,l,E,T,U)):!1}function Uy(s){return tr(s)&&Ur(s)==he}function _u(s,o,l,E){var T=l.length,U=T,J=!E;if(s==null)return!U;for(s=Ht(s);T--;){var X=l[T];if(J&&X[2]?X[1]!==s[X[0]]:!(X[0]in s))return!1}for(;++T<U;){X=l[T];var ie=X[0],ue=s[ie],de=X[1];if(J&&X[2]){if(ue===t&&!(ie in s))return!1}else{var ge=new en;if(E)var Pe=E(ue,de,ie,s,o,ge);if(!(Pe===t?Bo(de,ue,N|K,E,ge):Pe))return!1}}return!0}function D0(s){if(!Zt(s)||w6(s))return!1;var o=es(s)?U2:Dr;return o.test(Zs(s))}function $y(s){return tr(s)&&Fr(s)==Ce}function zy(s){return tr(s)&&Ur(s)==Ie}function jy(s){return tr(s)&&Df(s.length)&&!!jt[Fr(s)]}function L0(s){return typeof s=="function"?s:s==null?ni:typeof s=="object"?gt(s)?U0(s[0],s[1]):B0(s):i1(s)}function Au(s){if(!zo(s))return H2(s);var o=[];for(var l in Ht(s))Ut.call(s,l)&&l!="constructor"&&o.push(l);return o}function ky(s){if(!Zt(s))return x6(s);var o=zo(s),l=[];for(var E in s)E=="constructor"&&(o||!Ut.call(s,E))||l.push(E);return l}function Eu(s,o){return s<o}function q0(s,o){var l=-1,E=ri(s)?oe(s.length):[];return As(s,function(T,U,J){E[++l]=o(T,U,J)}),E}function B0(s){var o=Uu(s);return o.length==1&&o[0][2]?bp(o[0][0],o[0][1]):function(l){return l===s||_u(l,s,o)}}function U0(s,o){return zu(s)&&vp(o)?bp(wn(s),o):function(l){var E=Yu(l,s);return E===t&&E===o?Qu(l,s):Bo(o,E,N|K)}}function mf(s,o,l,E,T){s!==o&&bu(o,function(U,J){if(T||(T=new en),Zt(U))Fy(s,o,J,l,mf,E,T);else{var X=E?E(ku(s,J),U,J+"",s,o,T):t;X===t&&(X=U),gu(s,J,X)}},ii)}function Fy(s,o,l,E,T,U,J){var X=ku(s,l),ie=ku(o,l),ue=J.get(ie);if(ue){gu(s,l,ue);return}var de=U?U(X,ie,l+"",s,o,J):t,ge=de===t;if(ge){var Pe=gt(ie),We=!Pe&&Is(ie),ot=!Pe&&!We&&ka(ie);de=ie,Pe||We||ot?gt(X)?de=X:ar(X)?de=ti(X):We?(ge=!1,de=Y0(ie,!0)):ot?(ge=!1,de=Q0(ie,!0)):de=[]:ko(ie)||ea(ie)?(de=X,ea(X)?de=Gp(X):(!Zt(X)||es(X))&&(de=gp(ie))):ge=!1}ge&&(J.set(ie,de),T(de,ie,E,U,J),J.delete(ie)),gu(s,l,de)}function $0(s,o){var l=s.length;if(l)return o+=o<0?l:0,Zn(o,l)?s[o]:t}function z0(s,o,l){o.length?o=Xt(o,function(U){return gt(U)?function(J){return Qs(J,U.length===1?U[0]:U)}:U}):o=[ni];var E=-1;o=Xt(o,gi(nt()));var T=q0(s,function(U,J,X){var ie=Xt(o,function(ue){return ue(U)});return{criteria:ie,index:++E,value:U}});return v2(T,function(U,J){return r6(U,J,l)})}function Hy(s,o){return j0(s,o,function(l,E){return Qu(s,E)})}function j0(s,o,l){for(var E=-1,T=o.length,U={};++E<T;){var J=o[E],X=Qs(s,J);l(X,J)&&Uo(U,xs(J,s),X)}return U}function Ky(s){return function(o){return Qs(o,s)}}function xu(s,o,l,E){var T=E?g2:Na,U=-1,J=o.length,X=s;for(s===o&&(o=ti(o)),l&&(X=Xt(s,gi(l)));++U<J;)for(var ie=0,ue=o[U],de=l?l(ue):ue;(ie=T(X,de,ie,E))>-1;)X!==s&&cf.call(X,ie,1),cf.call(s,ie,1);return s}function k0(s,o){for(var l=s?o.length:0,E=l-1;l--;){var T=o[l];if(l==E||T!==U){var U=T;Zn(T)?cf.call(s,T,1):Pu(s,T)}}return s}function Su(s,o){return s+uf(A0()*(o-s+1))}function Vy(s,o,l,E){for(var T=-1,U=pr(hf((o-s)/(l||1)),0),J=oe(U);U--;)J[E?U:++T]=s,s+=l;return J}function Iu(s,o){var l="";if(!s||o<1||o>M)return l;do o%2&&(l+=s),o=uf(o/2),o&&(s+=s);while(o);return l}function At(s,o){return Fu(mp(s,o,ni),s+"")}function Gy(s){return S0(Fa(s))}function Wy(s,o){var l=Fa(s);return Pf(l,Ys(o,0,l.length))}function Uo(s,o,l,E){if(!Zt(s))return s;o=xs(o,s);for(var T=-1,U=o.length,J=U-1,X=s;X!=null&&++T<U;){var ie=wn(o[T]),ue=l;if(ie==="__proto__"||ie==="constructor"||ie==="prototype")return s;if(T!=J){var de=X[ie];ue=E?E(de,ie,X):t,ue===t&&(ue=Zt(de)?de:Zn(o[T+1])?[]:{})}Do(X,ie,ue),X=X[ie]}return s}var F0=lf?function(s,o){return lf.set(s,o),s}:ni,Jy=ff?function(s,o){return ff(s,"toString",{configurable:!0,enumerable:!1,value:Zu(o),writable:!0})}:ni;function Yy(s){return Pf(Fa(s))}function Ti(s,o,l){var E=-1,T=s.length;o<0&&(o=-o>T?0:T+o),l=l>T?T:l,l<0&&(l+=T),T=o>l?0:l-o>>>0,o>>>=0;for(var U=oe(T);++E<T;)U[E]=s[E+o];return U}function Qy(s,o){var l;return As(s,function(E,T,U){return l=o(E,T,U),!l}),!!l}function yf(s,o,l){var E=0,T=s==null?E:s.length;if(typeof o=="number"&&o===o&&T<=Z){for(;E<T;){var U=E+T>>>1,J=s[U];J!==null&&!bi(J)&&(l?J<=o:J<o)?E=U+1:T=U}return T}return Mu(s,o,ni,l)}function Mu(s,o,l,E){var T=0,U=s==null?0:s.length;if(U===0)return 0;o=l(o);for(var J=o!==o,X=o===null,ie=bi(o),ue=o===t;T<U;){var de=uf((T+U)/2),ge=l(s[de]),Pe=ge!==t,We=ge===null,ot=ge===ge,wt=bi(ge);if(J)var ct=E||ot;else ue?ct=ot&&(E||Pe):X?ct=ot&&Pe&&(E||!We):ie?ct=ot&&Pe&&!We&&(E||!wt):We||wt?ct=!1:ct=E?ge<=o:ge<o;ct?T=de+1:U=de}return Br(U,C)}function H0(s,o){for(var l=-1,E=s.length,T=0,U=[];++l<E;){var J=s[l],X=o?o(J):J;if(!l||!tn(X,ie)){var ie=X;U[T++]=J===0?0:J}}return U}function K0(s){return typeof s=="number"?s:bi(s)?d:+s}function vi(s){if(typeof s=="string")return s;if(gt(s))return Xt(s,vi)+"";if(bi(s))return E0?E0.call(s):"";var o=s+"";return o=="0"&&1/s==-I?"-0":o}function Es(s,o,l){var E=-1,T=Qc,U=s.length,J=!0,X=[],ie=X;if(l)J=!1,T=ru;else if(U>=n){var ue=o?null:c6(s);if(ue)return Zc(ue);J=!1,T=Po,ie=new Js}else ie=o?[]:X;e:for(;++E<U;){var de=s[E],ge=o?o(de):de;if(de=l||de!==0?de:0,J&&ge===ge){for(var Pe=ie.length;Pe--;)if(ie[Pe]===ge)continue e;o&&ie.push(ge),X.push(de)}else T(ie,ge,l)||(ie!==X&&ie.push(ge),X.push(de))}return X}function Pu(s,o){return o=xs(o,s),s=yp(s,o),s==null||delete s[wn(Ci(o))]}function V0(s,o,l,E){return Uo(s,o,l(Qs(s,o)),E)}function wf(s,o,l,E){for(var T=s.length,U=E?T:-1;(E?U--:++U<T)&&o(s[U],U,s););return l?Ti(s,E?0:U,E?U+1:T):Ti(s,E?U+1:0,E?T:U)}function G0(s,o){var l=s;return l instanceof Mt&&(l=l.value()),iu(o,function(E,T){return T.func.apply(T.thisArg,ys([E],T.args))},l)}function Ou(s,o,l){var E=s.length;if(E<2)return E?Es(s[0]):[];for(var T=-1,U=oe(E);++T<E;)for(var J=s[T],X=-1;++X<E;)X!=T&&(U[T]=Lo(U[T]||J,s[X],o,l));return Es(Mr(U,1),o,l)}function W0(s,o,l){for(var E=-1,T=s.length,U=o.length,J={};++E<T;){var X=E<U?o[E]:t;l(J,s[E],X)}return J}function Ru(s){return ar(s)?s:[]}function Nu(s){return typeof s=="function"?s:ni}function xs(s,o){return gt(s)?s:zu(s,o)?[s]:Ep(qt(s))}var Xy=At;function Ss(s,o,l){var E=s.length;return l=l===t?E:l,!o&&l>=E?s:Ti(s,o,l)}var J0=$2||function(s){return Nt.clearTimeout(s)};function Y0(s,o){if(o)return s.slice();var l=s.length,E=b0?b0(l):new s.constructor(l);return s.copy(E),E}function Tu(s){var o=new s.constructor(s.byteLength);return new af(o).set(new af(s)),o}function Zy(s,o){var l=o?Tu(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.byteLength)}function e6(s){var o=new s.constructor(s.source,bt.exec(s));return o.lastIndex=s.lastIndex,o}function t6(s){return Co?Ht(Co.call(s)):{}}function Q0(s,o){var l=o?Tu(s.buffer):s.buffer;return new s.constructor(l,s.byteOffset,s.length)}function X0(s,o){if(s!==o){var l=s!==t,E=s===null,T=s===s,U=bi(s),J=o!==t,X=o===null,ie=o===o,ue=bi(o);if(!X&&!ue&&!U&&s>o||U&&J&&ie&&!X&&!ue||E&&J&&ie||!l&&ie||!T)return 1;if(!E&&!U&&!ue&&s<o||ue&&l&&T&&!E&&!U||X&&l&&T||!J&&T||!ie)return-1}return 0}function r6(s,o,l){for(var E=-1,T=s.criteria,U=o.criteria,J=T.length,X=l.length;++E<J;){var ie=X0(T[E],U[E]);if(ie){if(E>=X)return ie;var ue=l[E];return ie*(ue=="desc"?-1:1)}}return s.index-o.index}function Z0(s,o,l,E){for(var T=-1,U=s.length,J=l.length,X=-1,ie=o.length,ue=pr(U-J,0),de=oe(ie+ue),ge=!E;++X<ie;)de[X]=o[X];for(;++T<J;)(ge||T<U)&&(de[l[T]]=s[T]);for(;ue--;)de[X++]=s[T++];return de}function ep(s,o,l,E){for(var T=-1,U=s.length,J=-1,X=l.length,ie=-1,ue=o.length,de=pr(U-X,0),ge=oe(de+ue),Pe=!E;++T<de;)ge[T]=s[T];for(var We=T;++ie<ue;)ge[We+ie]=o[ie];for(;++J<X;)(Pe||T<U)&&(ge[We+l[J]]=s[T++]);return ge}function ti(s,o){var l=-1,E=s.length;for(o||(o=oe(E));++l<E;)o[l]=s[l];return o}function yn(s,o,l,E){var T=!l;l||(l={});for(var U=-1,J=o.length;++U<J;){var X=o[U],ie=E?E(l[X],s[X],X,l,s):t;ie===t&&(ie=s[X]),T?Yn(l,X,ie):Do(l,X,ie)}return l}function i6(s,o){return yn(s,$u(s),o)}function n6(s,o){return yn(s,dp(s),o)}function _f(s,o){return function(l,E){var T=gt(l)?f2:Iy,U=o?o():{};return T(l,s,nt(E,2),U)}}function $a(s){return At(function(o,l){var E=-1,T=l.length,U=T>1?l[T-1]:t,J=T>2?l[2]:t;for(U=s.length>3&&typeof U=="function"?(T--,U):t,J&&Hr(l[0],l[1],J)&&(U=T<3?t:U,T=1),o=Ht(o);++E<T;){var X=l[E];X&&s(o,X,E,U)}return o})}function tp(s,o){return function(l,E){if(l==null)return l;if(!ri(l))return s(l,E);for(var T=l.length,U=o?T:-1,J=Ht(l);(o?U--:++U<T)&&E(J[U],U,J)!==!1;);return l}}function rp(s){return function(o,l,E){for(var T=-1,U=Ht(o),J=E(o),X=J.length;X--;){var ie=J[s?X:++T];if(l(U[ie],ie,U)===!1)break}return o}}function s6(s,o,l){var E=o&W,T=$o(s);function U(){var J=this&&this!==Nt&&this instanceof U?T:s;return J.apply(E?l:this,arguments)}return U}function ip(s){return function(o){o=qt(o);var l=Ta(o)?Zi(o):t,E=l?l[0]:o.charAt(0),T=l?Ss(l,1).join(""):o.slice(1);return E[s]()+T}}function za(s){return function(o){return iu(t1(e1(o).replace(Io,"")),s,"")}}function $o(s){return function(){var o=arguments;switch(o.length){case 0:return new s;case 1:return new s(o[0]);case 2:return new s(o[0],o[1]);case 3:return new s(o[0],o[1],o[2]);case 4:return new s(o[0],o[1],o[2],o[3]);case 5:return new s(o[0],o[1],o[2],o[3],o[4]);case 6:return new s(o[0],o[1],o[2],o[3],o[4],o[5]);case 7:return new s(o[0],o[1],o[2],o[3],o[4],o[5],o[6])}var l=Ua(s.prototype),E=s.apply(l,o);return Zt(E)?E:l}}function a6(s,o,l){var E=$o(s);function T(){for(var U=arguments.length,J=oe(U),X=U,ie=ja(T);X--;)J[X]=arguments[X];var ue=U<3&&J[0]!==ie&&J[U-1]!==ie?[]:ws(J,ie);if(U-=ue.length,U<l)return cp(s,o,Af,T.placeholder,t,J,ue,t,t,l-U);var de=this&&this!==Nt&&this instanceof T?E:s;return br(de,this,J)}return T}function np(s){return function(o,l,E){var T=Ht(o);if(!ri(o)){var U=nt(l,3);o=mr(o),l=function(X){return U(T[X],X,T)}}var J=s(o,l,E);return J>-1?T[U?o[J]:J]:t}}function sp(s){return Xn(function(o){var l=o.length,E=l,T=Ri.prototype.thru;for(s&&o.reverse();E--;){var U=o[E];if(typeof U!="function")throw new Oi(f);if(T&&!J&&If(U)=="wrapper")var J=new Ri([],!0)}for(E=J?E:l;++E<l;){U=o[E];var X=If(U),ie=X=="wrapper"?Bu(U):t;ie&&ju(ie[0])&&ie[1]==(x|Y|F|q)&&!ie[4].length&&ie[9]==1?J=J[If(ie[0])].apply(J,ie[3]):J=U.length==1&&ju(U)?J[X]():J.thru(U)}return function(){var ue=arguments,de=ue[0];if(J&&ue.length==1&>(de))return J.plant(de).value();for(var ge=0,Pe=l?o[ge].apply(this,ue):de;++ge<l;)Pe=o[ge].call(this,Pe);return Pe}})}function Af(s,o,l,E,T,U,J,X,ie,ue){var de=o&x,ge=o&W,Pe=o&Q,We=o&(Y|$),ot=o&ae,wt=Pe?t:$o(s);function ct(){for(var xt=arguments.length,Tt=oe(xt),mi=xt;mi--;)Tt[mi]=arguments[mi];if(We)var Kr=ja(ct),yi=m2(Tt,Kr);if(E&&(Tt=Z0(Tt,E,T,We)),U&&(Tt=ep(Tt,U,J,We)),xt-=yi,We&&xt<ue){var or=ws(Tt,Kr);return cp(s,o,Af,ct.placeholder,l,Tt,or,X,ie,ue-xt)}var rn=ge?l:this,rs=Pe?rn[s]:s;return xt=Tt.length,X?Tt=I6(Tt,X):ot&&xt>1&&Tt.reverse(),de&&ie<xt&&(Tt.length=ie),this&&this!==Nt&&this instanceof ct&&(rs=wt||$o(rs)),rs.apply(rn,Tt)}return ct}function ap(s,o){return function(l,E){return Dy(l,s,o(E),{})}}function Ef(s,o){return function(l,E){var T;if(l===t&&E===t)return o;if(l!==t&&(T=l),E!==t){if(T===t)return E;typeof l=="string"||typeof E=="string"?(l=vi(l),E=vi(E)):(l=K0(l),E=K0(E)),T=s(l,E)}return T}}function Cu(s){return Xn(function(o){return o=Xt(o,gi(nt())),At(function(l){var E=this;return s(o,function(T){return br(T,E,l)})})})}function xf(s,o){o=o===t?" ":vi(o);var l=o.length;if(l<2)return l?Iu(o,s):o;var E=Iu(o,hf(s/Ca(o)));return Ta(o)?Ss(Zi(E),0,s).join(""):E.slice(0,s)}function o6(s,o,l,E){var T=o&W,U=$o(s);function J(){for(var X=-1,ie=arguments.length,ue=-1,de=E.length,ge=oe(de+ie),Pe=this&&this!==Nt&&this instanceof J?U:s;++ue<de;)ge[ue]=E[ue];for(;ie--;)ge[ue++]=arguments[++X];return br(Pe,T?l:this,ge)}return J}function op(s){return function(o,l,E){return E&&typeof E!="number"&&Hr(o,l,E)&&(l=E=t),o=ts(o),l===t?(l=o,o=0):l=ts(l),E=E===t?o<l?1:-1:ts(E),Vy(o,l,E,s)}}function Sf(s){return function(o,l){return typeof o=="string"&&typeof l=="string"||(o=Di(o),l=Di(l)),s(o,l)}}function cp(s,o,l,E,T,U,J,X,ie,ue){var de=o&Y,ge=de?J:t,Pe=de?t:J,We=de?U:t,ot=de?t:U;o|=de?F:G,o&=~(de?G:F),o&k||(o&=~(W|Q));var wt=[s,o,T,We,ge,ot,Pe,X,ie,ue],ct=l.apply(t,wt);return ju(s)&&wp(ct,wt),ct.placeholder=E,_p(ct,s,o)}function Du(s){var o=dr[s];return function(l,E){if(l=Di(l),E=E==null?0:Br(yt(E),292),E&&_0(l)){var T=(qt(l)+"e").split("e"),U=o(T[0]+"e"+(+T[1]+E));return T=(qt(U)+"e").split("e"),+(T[0]+"e"+(+T[1]-E))}return o(l)}}var c6=qa&&1/Zc(new qa([,-0]))[1]==I?function(s){return new qa(s)}:rl;function fp(s){return function(o){var l=Ur(o);return l==he?hu(o):l==Ie?S2(o):b2(o,s(o))}}function Qn(s,o,l,E,T,U,J,X){var ie=o&Q;if(!ie&&typeof s!="function")throw new Oi(f);var ue=E?E.length:0;if(ue||(o&=~(F|G),E=T=t),J=J===t?J:pr(yt(J),0),X=X===t?X:yt(X),ue-=T?T.length:0,o&G){var de=E,ge=T;E=T=t}var Pe=ie?t:Bu(s),We=[s,o,l,E,T,de,ge,U,J,X];if(Pe&&E6(We,Pe),s=We[0],o=We[1],l=We[2],E=We[3],T=We[4],X=We[9]=We[9]===t?ie?0:s.length:pr(We[9]-ue,0),!X&&o&(Y|$)&&(o&=~(Y|$)),!o||o==W)var ot=s6(s,o,l);else o==Y||o==$?ot=a6(s,o,X):(o==F||o==(W|F))&&!T.length?ot=o6(s,o,l,E):ot=Af.apply(t,We);var wt=Pe?F0:wp;return _p(wt(ot,We),s,o)}function hp(s,o,l,E){return s===t||tn(s,La[l])&&!Ut.call(E,l)?o:s}function up(s,o,l,E,T,U){return Zt(s)&&Zt(o)&&(U.set(o,s),mf(s,o,t,up,U),U.delete(o)),s}function f6(s){return ko(s)?t:s}function lp(s,o,l,E,T,U){var J=l&N,X=s.length,ie=o.length;if(X!=ie&&!(J&&ie>X))return!1;var ue=U.get(s),de=U.get(o);if(ue&&de)return ue==o&&de==s;var ge=-1,Pe=!0,We=l&K?new Js:t;for(U.set(s,o),U.set(o,s);++ge<X;){var ot=s[ge],wt=o[ge];if(E)var ct=J?E(wt,ot,ge,o,s,U):E(ot,wt,ge,s,o,U);if(ct!==t){if(ct)continue;Pe=!1;break}if(We){if(!nu(o,function(xt,Tt){if(!Po(We,Tt)&&(ot===xt||T(ot,xt,l,E,U)))return We.push(Tt)})){Pe=!1;break}}else if(!(ot===wt||T(ot,wt,l,E,U))){Pe=!1;break}}return U.delete(s),U.delete(o),Pe}function h6(s,o,l,E,T,U,J){switch(l){case be:if(s.byteLength!=o.byteLength||s.byteOffset!=o.byteOffset)return!1;s=s.buffer,o=o.buffer;case Se:return!(s.byteLength!=o.byteLength||!U(new af(s),new af(o)));case j:case H:case ye:return tn(+s,+o);case z:return s.name==o.name&&s.message==o.message;case Ce:case me:return s==o+"";case he:var X=hu;case Ie:var ie=E&N;if(X||(X=Zc),s.size!=o.size&&!ie)return!1;var ue=J.get(s);if(ue)return ue==o;E|=K,J.set(s,o);var de=lp(X(s),X(o),E,T,U,J);return J.delete(s),de;case Re:if(Co)return Co.call(s)==Co.call(o)}return!1}function u6(s,o,l,E,T,U){var J=l&N,X=Lu(s),ie=X.length,ue=Lu(o),de=ue.length;if(ie!=de&&!J)return!1;for(var ge=ie;ge--;){var Pe=X[ge];if(!(J?Pe in o:Ut.call(o,Pe)))return!1}var We=U.get(s),ot=U.get(o);if(We&&ot)return We==o&&ot==s;var wt=!0;U.set(s,o),U.set(o,s);for(var ct=J;++ge<ie;){Pe=X[ge];var xt=s[Pe],Tt=o[Pe];if(E)var mi=J?E(Tt,xt,Pe,o,s,U):E(xt,Tt,Pe,s,o,U);if(!(mi===t?xt===Tt||T(xt,Tt,l,E,U):mi)){wt=!1;break}ct||(ct=Pe=="constructor")}if(wt&&!ct){var Kr=s.constructor,yi=o.constructor;Kr!=yi&&"constructor"in s&&"constructor"in o&&!(typeof Kr=="function"&&Kr instanceof Kr&&typeof yi=="function"&&yi instanceof yi)&&(wt=!1)}return U.delete(s),U.delete(o),wt}function Xn(s){return Fu(mp(s,t,Mp),s+"")}function Lu(s){return T0(s,mr,$u)}function qu(s){return T0(s,ii,dp)}var Bu=lf?function(s){return lf.get(s)}:rl;function If(s){for(var o=s.name+"",l=Ba[o],E=Ut.call(Ba,o)?l.length:0;E--;){var T=l[E],U=T.func;if(U==null||U==s)return T.name}return o}function ja(s){var o=Ut.call(D,"placeholder")?D:s;return o.placeholder}function nt(){var s=D.iteratee||el;return s=s===el?L0:s,arguments.length?s(arguments[0],arguments[1]):s}function Mf(s,o){var l=s.__data__;return y6(o)?l[typeof o=="string"?"string":"hash"]:l.map}function Uu(s){for(var o=mr(s),l=o.length;l--;){var E=o[l],T=s[E];o[l]=[E,T,vp(T)]}return o}function Xs(s,o){var l=A2(s,o);return D0(l)?l:t}function l6(s){var o=Ut.call(s,Gs),l=s[Gs];try{s[Gs]=t;var E=!0}catch{}var T=nf.call(s);return E&&(o?s[Gs]=l:delete s[Gs]),T}var $u=lu?function(s){return s==null?[]:(s=Ht(s),ms(lu(s),function(o){return y0.call(s,o)}))}:il,dp=lu?function(s){for(var o=[];s;)ys(o,$u(s)),s=of(s);return o}:il,Ur=Fr;(du&&Ur(new du(new ArrayBuffer(1)))!=be||Ro&&Ur(new Ro)!=he||pu&&Ur(pu.resolve())!=Qe||qa&&Ur(new qa)!=Ie||No&&Ur(new No)!=ve)&&(Ur=function(s){var o=Fr(s),l=o==Te?s.constructor:t,E=l?Zs(l):"";if(E)switch(E){case W2:return be;case J2:return he;case Y2:return Qe;case Q2:return Ie;case X2:return ve}return o});function d6(s,o,l){for(var E=-1,T=l.length;++E<T;){var U=l[E],J=U.size;switch(U.type){case"drop":s+=J;break;case"dropRight":o-=J;break;case"take":o=Br(o,s+J);break;case"takeRight":s=pr(s,o-J);break}}return{start:s,end:o}}function p6(s){var o=s.match(Ye);return o?o[1].split(ht):[]}function pp(s,o,l){o=xs(o,s);for(var E=-1,T=o.length,U=!1;++E<T;){var J=wn(o[E]);if(!(U=s!=null&&l(s,J)))break;s=s[J]}return U||++E!=T?U:(T=s==null?0:s.length,!!T&&Df(T)&&Zn(J,T)&&(gt(s)||ea(s)))}function g6(s){var o=s.length,l=new s.constructor(o);return o&&typeof s[0]=="string"&&Ut.call(s,"index")&&(l.index=s.index,l.input=s.input),l}function gp(s){return typeof s.constructor=="function"&&!zo(s)?Ua(of(s)):{}}function v6(s,o,l){var E=s.constructor;switch(o){case Se:return Tu(s);case j:case H:return new E(+s);case be:return Zy(s,l);case Ue:case Me:case _e:case He:case Ve:case Ee:case Ke:case ut:case Ge:return Q0(s,l);case he:return new E;case ye:case me:return new E(s);case Ce:return e6(s);case Ie:return new E;case Re:return t6(s)}}function b6(s,o){var l=o.length;if(!l)return s;var E=l-1;return o[E]=(l>1?"& ":"")+o[E],o=o.join(l>2?", ":" "),s.replace(Be,`{
|
||
/* [wrapped with `+o+`] */
|
||
`)}function m6(s){return gt(s)||ea(s)||!!(w0&&s&&s[w0])}function Zn(s,o){var l=typeof s;return o=o??M,!!o&&(l=="number"||l!="symbol"&&qr.test(s))&&s>-1&&s%1==0&&s<o}function Hr(s,o,l){if(!Zt(l))return!1;var E=typeof o;return(E=="number"?ri(l)&&Zn(o,l.length):E=="string"&&o in l)?tn(l[o],s):!1}function zu(s,o){if(gt(s))return!1;var l=typeof s;return l=="number"||l=="symbol"||l=="boolean"||s==null||bi(s)?!0:ze.test(s)||!Ze.test(s)||o!=null&&s in Ht(o)}function y6(s){var o=typeof s;return o=="string"||o=="number"||o=="symbol"||o=="boolean"?s!=="__proto__":s===null}function ju(s){var o=If(s),l=D[o];if(typeof l!="function"||!(o in Mt.prototype))return!1;if(s===l)return!0;var E=Bu(l);return!!E&&s===E[0]}function w6(s){return!!v0&&v0 in s}var _6=tf?es:nl;function zo(s){var o=s&&s.constructor,l=typeof o=="function"&&o.prototype||La;return s===l}function vp(s){return s===s&&!Zt(s)}function bp(s,o){return function(l){return l==null?!1:l[s]===o&&(o!==t||s in Ht(l))}}function A6(s){var o=Tf(s,function(E){return l.size===p&&l.clear(),E}),l=o.cache;return o}function E6(s,o){var l=s[1],E=o[1],T=l|E,U=T<(W|Q|x),J=E==x&&l==Y||E==x&&l==q&&s[7].length<=o[8]||E==(x|q)&&o[7].length<=o[8]&&l==Y;if(!(U||J))return s;E&W&&(s[2]=o[2],T|=l&W?0:k);var X=o[3];if(X){var ie=s[3];s[3]=ie?Z0(ie,X,o[4]):X,s[4]=ie?ws(s[3],y):o[4]}return X=o[5],X&&(ie=s[5],s[5]=ie?ep(ie,X,o[6]):X,s[6]=ie?ws(s[5],y):o[6]),X=o[7],X&&(s[7]=X),E&x&&(s[8]=s[8]==null?o[8]:Br(s[8],o[8])),s[9]==null&&(s[9]=o[9]),s[0]=o[0],s[1]=T,s}function x6(s){var o=[];if(s!=null)for(var l in Ht(s))o.push(l);return o}function S6(s){return nf.call(s)}function mp(s,o,l){return o=pr(o===t?s.length-1:o,0),function(){for(var E=arguments,T=-1,U=pr(E.length-o,0),J=oe(U);++T<U;)J[T]=E[o+T];T=-1;for(var X=oe(o+1);++T<o;)X[T]=E[T];return X[o]=l(J),br(s,this,X)}}function yp(s,o){return o.length<2?s:Qs(s,Ti(o,0,-1))}function I6(s,o){for(var l=s.length,E=Br(o.length,l),T=ti(s);E--;){var U=o[E];s[E]=Zn(U,l)?T[U]:t}return s}function ku(s,o){if(!(o==="constructor"&&typeof s[o]=="function")&&o!="__proto__")return s[o]}var wp=Ap(F0),jo=j2||function(s,o){return Nt.setTimeout(s,o)},Fu=Ap(Jy);function _p(s,o,l){var E=o+"";return Fu(s,b6(E,M6(p6(E),l)))}function Ap(s){var o=0,l=0;return function(){var E=K2(),T=c-(E-l);if(l=E,T>0){if(++o>=m)return arguments[0]}else o=0;return s.apply(t,arguments)}}function Pf(s,o){var l=-1,E=s.length,T=E-1;for(o=o===t?E:o;++l<o;){var U=Su(l,T),J=s[U];s[U]=s[l],s[l]=J}return s.length=o,s}var Ep=A6(function(s){var o=[];return s.charCodeAt(0)===46&&o.push(""),s.replace(ft,function(l,E,T,U){o.push(T?U.replace(Dt,"$1"):E||l)}),o});function wn(s){if(typeof s=="string"||bi(s))return s;var o=s+"";return o=="0"&&1/s==-I?"-0":o}function Zs(s){if(s!=null){try{return rf.call(s)}catch{}try{return s+""}catch{}}return""}function M6(s,o){return Pi(se,function(l){var E="_."+l[0];o&l[1]&&!Qc(s,E)&&s.push(E)}),s.sort()}function xp(s){if(s instanceof Mt)return s.clone();var o=new Ri(s.__wrapped__,s.__chain__);return o.__actions__=ti(s.__actions__),o.__index__=s.__index__,o.__values__=s.__values__,o}function P6(s,o,l){(l?Hr(s,o,l):o===t)?o=1:o=pr(yt(o),0);var E=s==null?0:s.length;if(!E||o<1)return[];for(var T=0,U=0,J=oe(hf(E/o));T<E;)J[U++]=Ti(s,T,T+=o);return J}function O6(s){for(var o=-1,l=s==null?0:s.length,E=0,T=[];++o<l;){var U=s[o];U&&(T[E++]=U)}return T}function R6(){var s=arguments.length;if(!s)return[];for(var o=oe(s-1),l=arguments[0],E=s;E--;)o[E-1]=arguments[E];return ys(gt(l)?ti(l):[l],Mr(o,1))}var N6=At(function(s,o){return ar(s)?Lo(s,Mr(o,1,ar,!0)):[]}),T6=At(function(s,o){var l=Ci(o);return ar(l)&&(l=t),ar(s)?Lo(s,Mr(o,1,ar,!0),nt(l,2)):[]}),C6=At(function(s,o){var l=Ci(o);return ar(l)&&(l=t),ar(s)?Lo(s,Mr(o,1,ar,!0),t,l):[]});function D6(s,o,l){var E=s==null?0:s.length;return E?(o=l||o===t?1:yt(o),Ti(s,o<0?0:o,E)):[]}function L6(s,o,l){var E=s==null?0:s.length;return E?(o=l||o===t?1:yt(o),o=E-o,Ti(s,0,o<0?0:o)):[]}function q6(s,o){return s&&s.length?wf(s,nt(o,3),!0,!0):[]}function B6(s,o){return s&&s.length?wf(s,nt(o,3),!0):[]}function U6(s,o,l,E){var T=s==null?0:s.length;return T?(l&&typeof l!="number"&&Hr(s,o,l)&&(l=0,E=T),Ry(s,o,l,E)):[]}function Sp(s,o,l){var E=s==null?0:s.length;if(!E)return-1;var T=l==null?0:yt(l);return T<0&&(T=pr(E+T,0)),Xc(s,nt(o,3),T)}function Ip(s,o,l){var E=s==null?0:s.length;if(!E)return-1;var T=E-1;return l!==t&&(T=yt(l),T=l<0?pr(E+T,0):Br(T,E-1)),Xc(s,nt(o,3),T,!0)}function Mp(s){var o=s==null?0:s.length;return o?Mr(s,1):[]}function $6(s){var o=s==null?0:s.length;return o?Mr(s,I):[]}function z6(s,o){var l=s==null?0:s.length;return l?(o=o===t?1:yt(o),Mr(s,o)):[]}function j6(s){for(var o=-1,l=s==null?0:s.length,E={};++o<l;){var T=s[o];E[T[0]]=T[1]}return E}function Pp(s){return s&&s.length?s[0]:t}function k6(s,o,l){var E=s==null?0:s.length;if(!E)return-1;var T=l==null?0:yt(l);return T<0&&(T=pr(E+T,0)),Na(s,o,T)}function F6(s){var o=s==null?0:s.length;return o?Ti(s,0,-1):[]}var H6=At(function(s){var o=Xt(s,Ru);return o.length&&o[0]===s[0]?wu(o):[]}),K6=At(function(s){var o=Ci(s),l=Xt(s,Ru);return o===Ci(l)?o=t:l.pop(),l.length&&l[0]===s[0]?wu(l,nt(o,2)):[]}),V6=At(function(s){var o=Ci(s),l=Xt(s,Ru);return o=typeof o=="function"?o:t,o&&l.pop(),l.length&&l[0]===s[0]?wu(l,t,o):[]});function G6(s,o){return s==null?"":F2.call(s,o)}function Ci(s){var o=s==null?0:s.length;return o?s[o-1]:t}function W6(s,o,l){var E=s==null?0:s.length;if(!E)return-1;var T=E;return l!==t&&(T=yt(l),T=T<0?pr(E+T,0):Br(T,E-1)),o===o?M2(s,o,T):Xc(s,c0,T,!0)}function J6(s,o){return s&&s.length?$0(s,yt(o)):t}var Y6=At(Op);function Op(s,o){return s&&s.length&&o&&o.length?xu(s,o):s}function Q6(s,o,l){return s&&s.length&&o&&o.length?xu(s,o,nt(l,2)):s}function X6(s,o,l){return s&&s.length&&o&&o.length?xu(s,o,t,l):s}var Z6=Xn(function(s,o){var l=s==null?0:s.length,E=vu(s,o);return k0(s,Xt(o,function(T){return Zn(T,l)?+T:T}).sort(X0)),E});function e3(s,o){var l=[];if(!(s&&s.length))return l;var E=-1,T=[],U=s.length;for(o=nt(o,3);++E<U;){var J=s[E];o(J,E,s)&&(l.push(J),T.push(E))}return k0(s,T),l}function Hu(s){return s==null?s:G2.call(s)}function t3(s,o,l){var E=s==null?0:s.length;return E?(l&&typeof l!="number"&&Hr(s,o,l)?(o=0,l=E):(o=o==null?0:yt(o),l=l===t?E:yt(l)),Ti(s,o,l)):[]}function r3(s,o){return yf(s,o)}function i3(s,o,l){return Mu(s,o,nt(l,2))}function n3(s,o){var l=s==null?0:s.length;if(l){var E=yf(s,o);if(E<l&&tn(s[E],o))return E}return-1}function s3(s,o){return yf(s,o,!0)}function a3(s,o,l){return Mu(s,o,nt(l,2),!0)}function o3(s,o){var l=s==null?0:s.length;if(l){var E=yf(s,o,!0)-1;if(tn(s[E],o))return E}return-1}function c3(s){return s&&s.length?H0(s):[]}function f3(s,o){return s&&s.length?H0(s,nt(o,2)):[]}function h3(s){var o=s==null?0:s.length;return o?Ti(s,1,o):[]}function u3(s,o,l){return s&&s.length?(o=l||o===t?1:yt(o),Ti(s,0,o<0?0:o)):[]}function l3(s,o,l){var E=s==null?0:s.length;return E?(o=l||o===t?1:yt(o),o=E-o,Ti(s,o<0?0:o,E)):[]}function d3(s,o){return s&&s.length?wf(s,nt(o,3),!1,!0):[]}function p3(s,o){return s&&s.length?wf(s,nt(o,3)):[]}var g3=At(function(s){return Es(Mr(s,1,ar,!0))}),v3=At(function(s){var o=Ci(s);return ar(o)&&(o=t),Es(Mr(s,1,ar,!0),nt(o,2))}),b3=At(function(s){var o=Ci(s);return o=typeof o=="function"?o:t,Es(Mr(s,1,ar,!0),t,o)});function m3(s){return s&&s.length?Es(s):[]}function y3(s,o){return s&&s.length?Es(s,nt(o,2)):[]}function w3(s,o){return o=typeof o=="function"?o:t,s&&s.length?Es(s,t,o):[]}function Ku(s){if(!(s&&s.length))return[];var o=0;return s=ms(s,function(l){if(ar(l))return o=pr(l.length,o),!0}),cu(o,function(l){return Xt(s,su(l))})}function Rp(s,o){if(!(s&&s.length))return[];var l=Ku(s);return o==null?l:Xt(l,function(E){return br(o,t,E)})}var _3=At(function(s,o){return ar(s)?Lo(s,o):[]}),A3=At(function(s){return Ou(ms(s,ar))}),E3=At(function(s){var o=Ci(s);return ar(o)&&(o=t),Ou(ms(s,ar),nt(o,2))}),x3=At(function(s){var o=Ci(s);return o=typeof o=="function"?o:t,Ou(ms(s,ar),t,o)}),S3=At(Ku);function I3(s,o){return W0(s||[],o||[],Do)}function M3(s,o){return W0(s||[],o||[],Uo)}var P3=At(function(s){var o=s.length,l=o>1?s[o-1]:t;return l=typeof l=="function"?(s.pop(),l):t,Rp(s,l)});function Np(s){var o=D(s);return o.__chain__=!0,o}function O3(s,o){return o(s),s}function Of(s,o){return o(s)}var R3=Xn(function(s){var o=s.length,l=o?s[0]:0,E=this.__wrapped__,T=function(U){return vu(U,s)};return o>1||this.__actions__.length||!(E instanceof Mt)||!Zn(l)?this.thru(T):(E=E.slice(l,+l+(o?1:0)),E.__actions__.push({func:Of,args:[T],thisArg:t}),new Ri(E,this.__chain__).thru(function(U){return o&&!U.length&&U.push(t),U}))});function N3(){return Np(this)}function T3(){return new Ri(this.value(),this.__chain__)}function C3(){this.__values__===t&&(this.__values__=Kp(this.value()));var s=this.__index__>=this.__values__.length,o=s?t:this.__values__[this.__index__++];return{done:s,value:o}}function D3(){return this}function L3(s){for(var o,l=this;l instanceof pf;){var E=xp(l);E.__index__=0,E.__values__=t,o?T.__wrapped__=E:o=E;var T=E;l=l.__wrapped__}return T.__wrapped__=s,o}function q3(){var s=this.__wrapped__;if(s instanceof Mt){var o=s;return this.__actions__.length&&(o=new Mt(this)),o=o.reverse(),o.__actions__.push({func:Of,args:[Hu],thisArg:t}),new Ri(o,this.__chain__)}return this.thru(Hu)}function B3(){return G0(this.__wrapped__,this.__actions__)}var U3=_f(function(s,o,l){Ut.call(s,l)?++s[l]:Yn(s,l,1)});function $3(s,o,l){var E=gt(s)?a0:Oy;return l&&Hr(s,o,l)&&(o=t),E(s,nt(o,3))}function z3(s,o){var l=gt(s)?ms:R0;return l(s,nt(o,3))}var j3=np(Sp),k3=np(Ip);function F3(s,o){return Mr(Rf(s,o),1)}function H3(s,o){return Mr(Rf(s,o),I)}function K3(s,o,l){return l=l===t?1:yt(l),Mr(Rf(s,o),l)}function Tp(s,o){var l=gt(s)?Pi:As;return l(s,nt(o,3))}function Cp(s,o){var l=gt(s)?h2:O0;return l(s,nt(o,3))}var V3=_f(function(s,o,l){Ut.call(s,l)?s[l].push(o):Yn(s,l,[o])});function G3(s,o,l,E){s=ri(s)?s:Fa(s),l=l&&!E?yt(l):0;var T=s.length;return l<0&&(l=pr(T+l,0)),Lf(s)?l<=T&&s.indexOf(o,l)>-1:!!T&&Na(s,o,l)>-1}var W3=At(function(s,o,l){var E=-1,T=typeof o=="function",U=ri(s)?oe(s.length):[];return As(s,function(J){U[++E]=T?br(o,J,l):qo(J,o,l)}),U}),J3=_f(function(s,o,l){Yn(s,l,o)});function Rf(s,o){var l=gt(s)?Xt:q0;return l(s,nt(o,3))}function Y3(s,o,l,E){return s==null?[]:(gt(o)||(o=o==null?[]:[o]),l=E?t:l,gt(l)||(l=l==null?[]:[l]),z0(s,o,l))}var Q3=_f(function(s,o,l){s[l?0:1].push(o)},function(){return[[],[]]});function X3(s,o,l){var E=gt(s)?iu:h0,T=arguments.length<3;return E(s,nt(o,4),l,T,As)}function Z3(s,o,l){var E=gt(s)?u2:h0,T=arguments.length<3;return E(s,nt(o,4),l,T,O0)}function ew(s,o){var l=gt(s)?ms:R0;return l(s,Cf(nt(o,3)))}function tw(s){var o=gt(s)?S0:Gy;return o(s)}function rw(s,o,l){(l?Hr(s,o,l):o===t)?o=1:o=yt(o);var E=gt(s)?xy:Wy;return E(s,o)}function iw(s){var o=gt(s)?Sy:Yy;return o(s)}function nw(s){if(s==null)return 0;if(ri(s))return Lf(s)?Ca(s):s.length;var o=Ur(s);return o==he||o==Ie?s.size:Au(s).length}function sw(s,o,l){var E=gt(s)?nu:Qy;return l&&Hr(s,o,l)&&(o=t),E(s,nt(o,3))}var aw=At(function(s,o){if(s==null)return[];var l=o.length;return l>1&&Hr(s,o[0],o[1])?o=[]:l>2&&Hr(o[0],o[1],o[2])&&(o=[o[0]]),z0(s,Mr(o,1),[])}),Nf=z2||function(){return Nt.Date.now()};function ow(s,o){if(typeof o!="function")throw new Oi(f);return s=yt(s),function(){if(--s<1)return o.apply(this,arguments)}}function Dp(s,o,l){return o=l?t:o,o=s&&o==null?s.length:o,Qn(s,x,t,t,t,t,o)}function Lp(s,o){var l;if(typeof o!="function")throw new Oi(f);return s=yt(s),function(){return--s>0&&(l=o.apply(this,arguments)),s<=1&&(o=t),l}}var Vu=At(function(s,o,l){var E=W;if(l.length){var T=ws(l,ja(Vu));E|=F}return Qn(s,E,o,l,T)}),qp=At(function(s,o,l){var E=W|Q;if(l.length){var T=ws(l,ja(qp));E|=F}return Qn(o,E,s,l,T)});function Bp(s,o,l){o=l?t:o;var E=Qn(s,Y,t,t,t,t,t,o);return E.placeholder=Bp.placeholder,E}function Up(s,o,l){o=l?t:o;var E=Qn(s,$,t,t,t,t,t,o);return E.placeholder=Up.placeholder,E}function $p(s,o,l){var E,T,U,J,X,ie,ue=0,de=!1,ge=!1,Pe=!0;if(typeof s!="function")throw new Oi(f);o=Di(o)||0,Zt(l)&&(de=!!l.leading,ge="maxWait"in l,U=ge?pr(Di(l.maxWait)||0,o):U,Pe="trailing"in l?!!l.trailing:Pe);function We(or){var rn=E,rs=T;return E=T=t,ue=or,J=s.apply(rs,rn),J}function ot(or){return ue=or,X=jo(xt,o),de?We(or):J}function wt(or){var rn=or-ie,rs=or-ue,n1=o-rn;return ge?Br(n1,U-rs):n1}function ct(or){var rn=or-ie,rs=or-ue;return ie===t||rn>=o||rn<0||ge&&rs>=U}function xt(){var or=Nf();if(ct(or))return Tt(or);X=jo(xt,wt(or))}function Tt(or){return X=t,Pe&&E?We(or):(E=T=t,J)}function mi(){X!==t&&J0(X),ue=0,E=ie=T=X=t}function Kr(){return X===t?J:Tt(Nf())}function yi(){var or=Nf(),rn=ct(or);if(E=arguments,T=this,ie=or,rn){if(X===t)return ot(ie);if(ge)return J0(X),X=jo(xt,o),We(ie)}return X===t&&(X=jo(xt,o)),J}return yi.cancel=mi,yi.flush=Kr,yi}var cw=At(function(s,o){return P0(s,1,o)}),fw=At(function(s,o,l){return P0(s,Di(o)||0,l)});function hw(s){return Qn(s,ae)}function Tf(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new Oi(f);var l=function(){var E=arguments,T=o?o.apply(this,E):E[0],U=l.cache;if(U.has(T))return U.get(T);var J=s.apply(this,E);return l.cache=U.set(T,J)||U,J};return l.cache=new(Tf.Cache||Jn),l}Tf.Cache=Jn;function Cf(s){if(typeof s!="function")throw new Oi(f);return function(){var o=arguments;switch(o.length){case 0:return!s.call(this);case 1:return!s.call(this,o[0]);case 2:return!s.call(this,o[0],o[1]);case 3:return!s.call(this,o[0],o[1],o[2])}return!s.apply(this,o)}}function uw(s){return Lp(2,s)}var lw=Xy(function(s,o){o=o.length==1&>(o[0])?Xt(o[0],gi(nt())):Xt(Mr(o,1),gi(nt()));var l=o.length;return At(function(E){for(var T=-1,U=Br(E.length,l);++T<U;)E[T]=o[T].call(this,E[T]);return br(s,this,E)})}),Gu=At(function(s,o){var l=ws(o,ja(Gu));return Qn(s,F,t,o,l)}),zp=At(function(s,o){var l=ws(o,ja(zp));return Qn(s,G,t,o,l)}),dw=Xn(function(s,o){return Qn(s,q,t,t,t,o)});function pw(s,o){if(typeof s!="function")throw new Oi(f);return o=o===t?o:yt(o),At(s,o)}function gw(s,o){if(typeof s!="function")throw new Oi(f);return o=o==null?0:pr(yt(o),0),At(function(l){var E=l[o],T=Ss(l,0,o);return E&&ys(T,E),br(s,this,T)})}function vw(s,o,l){var E=!0,T=!0;if(typeof s!="function")throw new Oi(f);return Zt(l)&&(E="leading"in l?!!l.leading:E,T="trailing"in l?!!l.trailing:T),$p(s,o,{leading:E,maxWait:o,trailing:T})}function bw(s){return Dp(s,1)}function mw(s,o){return Gu(Nu(o),s)}function yw(){if(!arguments.length)return[];var s=arguments[0];return gt(s)?s:[s]}function ww(s){return Ni(s,O)}function _w(s,o){return o=typeof o=="function"?o:t,Ni(s,O,o)}function Aw(s){return Ni(s,A|O)}function Ew(s,o){return o=typeof o=="function"?o:t,Ni(s,A|O,o)}function xw(s,o){return o==null||M0(s,o,mr(o))}function tn(s,o){return s===o||s!==s&&o!==o}var Sw=Sf(yu),Iw=Sf(function(s,o){return s>=o}),ea=C0(function(){return arguments}())?C0:function(s){return tr(s)&&Ut.call(s,"callee")&&!y0.call(s,"callee")},gt=oe.isArray,Mw=kr?gi(kr):Ly;function ri(s){return s!=null&&Df(s.length)&&!es(s)}function ar(s){return tr(s)&&ri(s)}function Pw(s){return s===!0||s===!1||tr(s)&&Fr(s)==j}var Is=k2||nl,Ow=Xi?gi(Xi):qy;function Rw(s){return tr(s)&&s.nodeType===1&&!ko(s)}function Nw(s){if(s==null)return!0;if(ri(s)&&(gt(s)||typeof s=="string"||typeof s.splice=="function"||Is(s)||ka(s)||ea(s)))return!s.length;var o=Ur(s);if(o==he||o==Ie)return!s.size;if(zo(s))return!Au(s).length;for(var l in s)if(Ut.call(s,l))return!1;return!0}function Tw(s,o){return Bo(s,o)}function Cw(s,o,l){l=typeof l=="function"?l:t;var E=l?l(s,o):t;return E===t?Bo(s,o,t,l):!!E}function Wu(s){if(!tr(s))return!1;var o=Fr(s);return o==z||o==w||typeof s.message=="string"&&typeof s.name=="string"&&!ko(s)}function Dw(s){return typeof s=="number"&&_0(s)}function es(s){if(!Zt(s))return!1;var o=Fr(s);return o==ne||o==ce||o==B||o==Oe}function jp(s){return typeof s=="number"&&s==yt(s)}function Df(s){return typeof s=="number"&&s>-1&&s%1==0&&s<=M}function Zt(s){var o=typeof s;return s!=null&&(o=="object"||o=="function")}function tr(s){return s!=null&&typeof s=="object"}var kp=Mi?gi(Mi):Uy;function Lw(s,o){return s===o||_u(s,o,Uu(o))}function qw(s,o,l){return l=typeof l=="function"?l:t,_u(s,o,Uu(o),l)}function Bw(s){return Fp(s)&&s!=+s}function Uw(s){if(_6(s))throw new dt(a);return D0(s)}function $w(s){return s===null}function zw(s){return s==null}function Fp(s){return typeof s=="number"||tr(s)&&Fr(s)==ye}function ko(s){if(!tr(s)||Fr(s)!=Te)return!1;var o=of(s);if(o===null)return!0;var l=Ut.call(o,"constructor")&&o.constructor;return typeof l=="function"&&l instanceof l&&rf.call(l)==q2}var Ju=bn?gi(bn):$y;function jw(s){return jp(s)&&s>=-M&&s<=M}var Hp=Mo?gi(Mo):zy;function Lf(s){return typeof s=="string"||!gt(s)&&tr(s)&&Fr(s)==me}function bi(s){return typeof s=="symbol"||tr(s)&&Fr(s)==Re}var ka=Vs?gi(Vs):jy;function kw(s){return s===t}function Fw(s){return tr(s)&&Ur(s)==ve}function Hw(s){return tr(s)&&Fr(s)==Ne}var Kw=Sf(Eu),Vw=Sf(function(s,o){return s<=o});function Kp(s){if(!s)return[];if(ri(s))return Lf(s)?Zi(s):ti(s);if(Oo&&s[Oo])return x2(s[Oo]());var o=Ur(s),l=o==he?hu:o==Ie?Zc:Fa;return l(s)}function ts(s){if(!s)return s===0?s:0;if(s=Di(s),s===I||s===-I){var o=s<0?-1:1;return o*S}return s===s?s:0}function yt(s){var o=ts(s),l=o%1;return o===o?l?o-l:o:0}function Vp(s){return s?Ys(yt(s),0,g):0}function Di(s){if(typeof s=="number")return s;if(bi(s))return d;if(Zt(s)){var o=typeof s.valueOf=="function"?s.valueOf():s;s=Zt(o)?o+"":o}if(typeof s!="string")return s===0?s:+s;s=u0(s);var l=Cr.test(s);return l||Lr.test(s)?pt(s.slice(2),l?2:8):Tr.test(s)?d:+s}function Gp(s){return yn(s,ii(s))}function Gw(s){return s?Ys(yt(s),-M,M):s===0?s:0}function qt(s){return s==null?"":vi(s)}var Ww=$a(function(s,o){if(zo(o)||ri(o)){yn(o,mr(o),s);return}for(var l in o)Ut.call(o,l)&&Do(s,l,o[l])}),Wp=$a(function(s,o){yn(o,ii(o),s)}),qf=$a(function(s,o,l,E){yn(o,ii(o),s,E)}),Jw=$a(function(s,o,l,E){yn(o,mr(o),s,E)}),Yw=Xn(vu);function Qw(s,o){var l=Ua(s);return o==null?l:I0(l,o)}var Xw=At(function(s,o){s=Ht(s);var l=-1,E=o.length,T=E>2?o[2]:t;for(T&&Hr(o[0],o[1],T)&&(E=1);++l<E;)for(var U=o[l],J=ii(U),X=-1,ie=J.length;++X<ie;){var ue=J[X],de=s[ue];(de===t||tn(de,La[ue])&&!Ut.call(s,ue))&&(s[ue]=U[ue])}return s}),Zw=At(function(s){return s.push(t,up),br(Jp,t,s)});function e5(s,o){return o0(s,nt(o,3),mn)}function t5(s,o){return o0(s,nt(o,3),mu)}function r5(s,o){return s==null?s:bu(s,nt(o,3),ii)}function i5(s,o){return s==null?s:N0(s,nt(o,3),ii)}function n5(s,o){return s&&mn(s,nt(o,3))}function s5(s,o){return s&&mu(s,nt(o,3))}function a5(s){return s==null?[]:bf(s,mr(s))}function o5(s){return s==null?[]:bf(s,ii(s))}function Yu(s,o,l){var E=s==null?t:Qs(s,o);return E===t?l:E}function c5(s,o){return s!=null&&pp(s,o,Ny)}function Qu(s,o){return s!=null&&pp(s,o,Ty)}var f5=ap(function(s,o,l){o!=null&&typeof o.toString!="function"&&(o=nf.call(o)),s[o]=l},Zu(ni)),h5=ap(function(s,o,l){o!=null&&typeof o.toString!="function"&&(o=nf.call(o)),Ut.call(s,o)?s[o].push(l):s[o]=[l]},nt),u5=At(qo);function mr(s){return ri(s)?x0(s):Au(s)}function ii(s){return ri(s)?x0(s,!0):ky(s)}function l5(s,o){var l={};return o=nt(o,3),mn(s,function(E,T,U){Yn(l,o(E,T,U),E)}),l}function d5(s,o){var l={};return o=nt(o,3),mn(s,function(E,T,U){Yn(l,T,o(E,T,U))}),l}var p5=$a(function(s,o,l){mf(s,o,l)}),Jp=$a(function(s,o,l,E){mf(s,o,l,E)}),g5=Xn(function(s,o){var l={};if(s==null)return l;var E=!1;o=Xt(o,function(U){return U=xs(U,s),E||(E=U.length>1),U}),yn(s,qu(s),l),E&&(l=Ni(l,A|R|O,f6));for(var T=o.length;T--;)Pu(l,o[T]);return l});function v5(s,o){return Yp(s,Cf(nt(o)))}var b5=Xn(function(s,o){return s==null?{}:Hy(s,o)});function Yp(s,o){if(s==null)return{};var l=Xt(qu(s),function(E){return[E]});return o=nt(o),j0(s,l,function(E,T){return o(E,T[0])})}function m5(s,o,l){o=xs(o,s);var E=-1,T=o.length;for(T||(T=1,s=t);++E<T;){var U=s==null?t:s[wn(o[E])];U===t&&(E=T,U=l),s=es(U)?U.call(s):U}return s}function y5(s,o,l){return s==null?s:Uo(s,o,l)}function w5(s,o,l,E){return E=typeof E=="function"?E:t,s==null?s:Uo(s,o,l,E)}var Qp=fp(mr),Xp=fp(ii);function _5(s,o,l){var E=gt(s),T=E||Is(s)||ka(s);if(o=nt(o,4),l==null){var U=s&&s.constructor;T?l=E?new U:[]:Zt(s)?l=es(U)?Ua(of(s)):{}:l={}}return(T?Pi:mn)(s,function(J,X,ie){return o(l,J,X,ie)}),l}function A5(s,o){return s==null?!0:Pu(s,o)}function E5(s,o,l){return s==null?s:V0(s,o,Nu(l))}function x5(s,o,l,E){return E=typeof E=="function"?E:t,s==null?s:V0(s,o,Nu(l),E)}function Fa(s){return s==null?[]:fu(s,mr(s))}function S5(s){return s==null?[]:fu(s,ii(s))}function I5(s,o,l){return l===t&&(l=o,o=t),l!==t&&(l=Di(l),l=l===l?l:0),o!==t&&(o=Di(o),o=o===o?o:0),Ys(Di(s),o,l)}function M5(s,o,l){return o=ts(o),l===t?(l=o,o=0):l=ts(l),s=Di(s),Cy(s,o,l)}function P5(s,o,l){if(l&&typeof l!="boolean"&&Hr(s,o,l)&&(o=l=t),l===t&&(typeof o=="boolean"?(l=o,o=t):typeof s=="boolean"&&(l=s,s=t)),s===t&&o===t?(s=0,o=1):(s=ts(s),o===t?(o=s,s=0):o=ts(o)),s>o){var E=s;s=o,o=E}if(l||s%1||o%1){var T=A0();return Br(s+T*(o-s+kt("1e-"+((T+"").length-1))),o)}return Su(s,o)}var O5=za(function(s,o,l){return o=o.toLowerCase(),s+(l?Zp(o):o)});function Zp(s){return Xu(qt(s).toLowerCase())}function e1(s){return s=qt(s),s&&s.replace(er,y2).replace(eu,"")}function R5(s,o,l){s=qt(s),o=vi(o);var E=s.length;l=l===t?E:Ys(yt(l),0,E);var T=l;return l-=o.length,l>=0&&s.slice(l,T)==o}function N5(s){return s=qt(s),s&&Xe.test(s)?s.replace(It,w2):s}function T5(s){return s=qt(s),s&&je.test(s)?s.replace(rt,"\\$&"):s}var C5=za(function(s,o,l){return s+(l?"-":"")+o.toLowerCase()}),D5=za(function(s,o,l){return s+(l?" ":"")+o.toLowerCase()}),L5=ip("toLowerCase");function q5(s,o,l){s=qt(s),o=yt(o);var E=o?Ca(s):0;if(!o||E>=o)return s;var T=(o-E)/2;return xf(uf(T),l)+s+xf(hf(T),l)}function B5(s,o,l){s=qt(s),o=yt(o);var E=o?Ca(s):0;return o&&E<o?s+xf(o-E,l):s}function U5(s,o,l){s=qt(s),o=yt(o);var E=o?Ca(s):0;return o&&E<o?xf(o-E,l)+s:s}function $5(s,o,l){return l||o==null?o=0:o&&(o=+o),V2(qt(s).replace(it,""),o||0)}function z5(s,o,l){return(l?Hr(s,o,l):o===t)?o=1:o=yt(o),Iu(qt(s),o)}function j5(){var s=arguments,o=qt(s[0]);return s.length<3?o:o.replace(s[1],s[2])}var k5=za(function(s,o,l){return s+(l?"_":"")+o.toLowerCase()});function F5(s,o,l){return l&&typeof l!="number"&&Hr(s,o,l)&&(o=l=t),l=l===t?g:l>>>0,l?(s=qt(s),s&&(typeof o=="string"||o!=null&&!Ju(o))&&(o=vi(o),!o&&Ta(s))?Ss(Zi(s),0,l):s.split(o,l)):[]}var H5=za(function(s,o,l){return s+(l?" ":"")+Xu(o)});function K5(s,o,l){return s=qt(s),l=l==null?0:Ys(yt(l),0,s.length),o=vi(o),s.slice(l,l+o.length)==o}function V5(s,o,l){var E=D.templateSettings;l&&Hr(s,o,l)&&(o=t),s=qt(s),o=qf({},o,E,hp);var T=qf({},o.imports,E.imports,hp),U=mr(T),J=fu(T,U),X,ie,ue=0,de=o.interpolate||Qr,ge="__p += '",Pe=uu((o.escape||Qr).source+"|"+de.source+"|"+(de===et?at:Qr).source+"|"+(o.evaluate||Qr).source+"|$","g"),We="//# sourceURL="+(Ut.call(o,"sourceURL")?(o.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++tu+"]")+`
|
||
`;s.replace(Pe,function(ct,xt,Tt,mi,Kr,yi){return Tt||(Tt=mi),ge+=s.slice(ue,yi).replace(Vi,_2),xt&&(X=!0,ge+=`' +
|
||
__e(`+xt+`) +
|
||
'`),Kr&&(ie=!0,ge+=`';
|
||
`+Kr+`;
|
||
__p += '`),Tt&&(ge+=`' +
|
||
((__t = (`+Tt+`)) == null ? '' : __t) +
|
||
'`),ue=yi+ct.length,ct}),ge+=`';
|
||
`;var ot=Ut.call(o,"variable")&&o.variable;if(!ot)ge=`with (obj) {
|
||
`+ge+`
|
||
}
|
||
`;else if(Ct.test(ot))throw new dt(u);ge=(ie?ge.replace(_t,""):ge).replace(lt,"$1").replace(Je,"$1;"),ge="function("+(ot||"obj")+`) {
|
||
`+(ot?"":`obj || (obj = {});
|
||
`)+"var __t, __p = ''"+(X?", __e = _.escape":"")+(ie?`, __j = Array.prototype.join;
|
||
function print() { __p += __j.call(arguments, '') }
|
||
`:`;
|
||
`)+ge+`return __p
|
||
}`;var wt=r1(function(){return Lt(U,We+"return "+ge).apply(t,J)});if(wt.source=ge,Wu(wt))throw wt;return wt}function G5(s){return qt(s).toLowerCase()}function W5(s){return qt(s).toUpperCase()}function J5(s,o,l){if(s=qt(s),s&&(l||o===t))return u0(s);if(!s||!(o=vi(o)))return s;var E=Zi(s),T=Zi(o),U=l0(E,T),J=d0(E,T)+1;return Ss(E,U,J).join("")}function Y5(s,o,l){if(s=qt(s),s&&(l||o===t))return s.slice(0,g0(s)+1);if(!s||!(o=vi(o)))return s;var E=Zi(s),T=d0(E,Zi(o))+1;return Ss(E,0,T).join("")}function Q5(s,o,l){if(s=qt(s),s&&(l||o===t))return s.replace(it,"");if(!s||!(o=vi(o)))return s;var E=Zi(s),T=l0(E,Zi(o));return Ss(E,T).join("")}function X5(s,o){var l=le,E=L;if(Zt(o)){var T="separator"in o?o.separator:T;l="length"in o?yt(o.length):l,E="omission"in o?vi(o.omission):E}s=qt(s);var U=s.length;if(Ta(s)){var J=Zi(s);U=J.length}if(l>=U)return s;var X=l-Ca(E);if(X<1)return E;var ie=J?Ss(J,0,X).join(""):s.slice(0,X);if(T===t)return ie+E;if(J&&(X+=ie.length-X),Ju(T)){if(s.slice(X).search(T)){var ue,de=ie;for(T.global||(T=uu(T.source,qt(bt.exec(T))+"g")),T.lastIndex=0;ue=T.exec(de);)var ge=ue.index;ie=ie.slice(0,ge===t?X:ge)}}else if(s.indexOf(vi(T),X)!=X){var Pe=ie.lastIndexOf(T);Pe>-1&&(ie=ie.slice(0,Pe))}return ie+E}function Z5(s){return s=qt(s),s&&Le.test(s)?s.replace(Et,P2):s}var e8=za(function(s,o,l){return s+(l?" ":"")+o.toUpperCase()}),Xu=ip("toUpperCase");function t1(s,o,l){return s=qt(s),o=l?t:o,o===t?E2(s)?N2(s):p2(s):s.match(o)||[]}var r1=At(function(s,o){try{return br(s,t,o)}catch(l){return Wu(l)?l:new dt(l)}}),t8=Xn(function(s,o){return Pi(o,function(l){l=wn(l),Yn(s,l,Vu(s[l],s))}),s});function r8(s){var o=s==null?0:s.length,l=nt();return s=o?Xt(s,function(E){if(typeof E[1]!="function")throw new Oi(f);return[l(E[0]),E[1]]}):[],At(function(E){for(var T=-1;++T<o;){var U=s[T];if(br(U[0],this,E))return br(U[1],this,E)}})}function i8(s){return Py(Ni(s,A))}function Zu(s){return function(){return s}}function n8(s,o){return s==null||s!==s?o:s}var s8=sp(),a8=sp(!0);function ni(s){return s}function el(s){return L0(typeof s=="function"?s:Ni(s,A))}function o8(s){return B0(Ni(s,A))}function c8(s,o){return U0(s,Ni(o,A))}var f8=At(function(s,o){return function(l){return qo(l,s,o)}}),h8=At(function(s,o){return function(l){return qo(s,l,o)}});function tl(s,o,l){var E=mr(o),T=bf(o,E);l==null&&!(Zt(o)&&(T.length||!E.length))&&(l=o,o=s,s=this,T=bf(o,mr(o)));var U=!(Zt(l)&&"chain"in l)||!!l.chain,J=es(s);return Pi(T,function(X){var ie=o[X];s[X]=ie,J&&(s.prototype[X]=function(){var ue=this.__chain__;if(U||ue){var de=s(this.__wrapped__),ge=de.__actions__=ti(this.__actions__);return ge.push({func:ie,args:arguments,thisArg:s}),de.__chain__=ue,de}return ie.apply(s,ys([this.value()],arguments))})}),s}function u8(){return Nt._===this&&(Nt._=B2),this}function rl(){}function l8(s){return s=yt(s),At(function(o){return $0(o,s)})}var d8=Cu(Xt),p8=Cu(a0),g8=Cu(nu);function i1(s){return zu(s)?su(wn(s)):Ky(s)}function v8(s){return function(o){return s==null?t:Qs(s,o)}}var b8=op(),m8=op(!0);function il(){return[]}function nl(){return!1}function y8(){return{}}function w8(){return""}function _8(){return!0}function A8(s,o){if(s=yt(s),s<1||s>M)return[];var l=g,E=Br(s,g);o=nt(o),s-=g;for(var T=cu(E,o);++l<s;)o(l);return T}function E8(s){return gt(s)?Xt(s,wn):bi(s)?[s]:ti(Ep(qt(s)))}function x8(s){var o=++L2;return qt(s)+o}var S8=Ef(function(s,o){return s+o},0),I8=Du("ceil"),M8=Ef(function(s,o){return s/o},1),P8=Du("floor");function O8(s){return s&&s.length?vf(s,ni,yu):t}function R8(s,o){return s&&s.length?vf(s,nt(o,2),yu):t}function N8(s){return f0(s,ni)}function T8(s,o){return f0(s,nt(o,2))}function C8(s){return s&&s.length?vf(s,ni,Eu):t}function D8(s,o){return s&&s.length?vf(s,nt(o,2),Eu):t}var L8=Ef(function(s,o){return s*o},1),q8=Du("round"),B8=Ef(function(s,o){return s-o},0);function U8(s){return s&&s.length?ou(s,ni):0}function $8(s,o){return s&&s.length?ou(s,nt(o,2)):0}return D.after=ow,D.ary=Dp,D.assign=Ww,D.assignIn=Wp,D.assignInWith=qf,D.assignWith=Jw,D.at=Yw,D.before=Lp,D.bind=Vu,D.bindAll=t8,D.bindKey=qp,D.castArray=yw,D.chain=Np,D.chunk=P6,D.compact=O6,D.concat=R6,D.cond=r8,D.conforms=i8,D.constant=Zu,D.countBy=U3,D.create=Qw,D.curry=Bp,D.curryRight=Up,D.debounce=$p,D.defaults=Xw,D.defaultsDeep=Zw,D.defer=cw,D.delay=fw,D.difference=N6,D.differenceBy=T6,D.differenceWith=C6,D.drop=D6,D.dropRight=L6,D.dropRightWhile=q6,D.dropWhile=B6,D.fill=U6,D.filter=z3,D.flatMap=F3,D.flatMapDeep=H3,D.flatMapDepth=K3,D.flatten=Mp,D.flattenDeep=$6,D.flattenDepth=z6,D.flip=hw,D.flow=s8,D.flowRight=a8,D.fromPairs=j6,D.functions=a5,D.functionsIn=o5,D.groupBy=V3,D.initial=F6,D.intersection=H6,D.intersectionBy=K6,D.intersectionWith=V6,D.invert=f5,D.invertBy=h5,D.invokeMap=W3,D.iteratee=el,D.keyBy=J3,D.keys=mr,D.keysIn=ii,D.map=Rf,D.mapKeys=l5,D.mapValues=d5,D.matches=o8,D.matchesProperty=c8,D.memoize=Tf,D.merge=p5,D.mergeWith=Jp,D.method=f8,D.methodOf=h8,D.mixin=tl,D.negate=Cf,D.nthArg=l8,D.omit=g5,D.omitBy=v5,D.once=uw,D.orderBy=Y3,D.over=d8,D.overArgs=lw,D.overEvery=p8,D.overSome=g8,D.partial=Gu,D.partialRight=zp,D.partition=Q3,D.pick=b5,D.pickBy=Yp,D.property=i1,D.propertyOf=v8,D.pull=Y6,D.pullAll=Op,D.pullAllBy=Q6,D.pullAllWith=X6,D.pullAt=Z6,D.range=b8,D.rangeRight=m8,D.rearg=dw,D.reject=ew,D.remove=e3,D.rest=pw,D.reverse=Hu,D.sampleSize=rw,D.set=y5,D.setWith=w5,D.shuffle=iw,D.slice=t3,D.sortBy=aw,D.sortedUniq=c3,D.sortedUniqBy=f3,D.split=F5,D.spread=gw,D.tail=h3,D.take=u3,D.takeRight=l3,D.takeRightWhile=d3,D.takeWhile=p3,D.tap=O3,D.throttle=vw,D.thru=Of,D.toArray=Kp,D.toPairs=Qp,D.toPairsIn=Xp,D.toPath=E8,D.toPlainObject=Gp,D.transform=_5,D.unary=bw,D.union=g3,D.unionBy=v3,D.unionWith=b3,D.uniq=m3,D.uniqBy=y3,D.uniqWith=w3,D.unset=A5,D.unzip=Ku,D.unzipWith=Rp,D.update=E5,D.updateWith=x5,D.values=Fa,D.valuesIn=S5,D.without=_3,D.words=t1,D.wrap=mw,D.xor=A3,D.xorBy=E3,D.xorWith=x3,D.zip=S3,D.zipObject=I3,D.zipObjectDeep=M3,D.zipWith=P3,D.entries=Qp,D.entriesIn=Xp,D.extend=Wp,D.extendWith=qf,tl(D,D),D.add=S8,D.attempt=r1,D.camelCase=O5,D.capitalize=Zp,D.ceil=I8,D.clamp=I5,D.clone=ww,D.cloneDeep=Aw,D.cloneDeepWith=Ew,D.cloneWith=_w,D.conformsTo=xw,D.deburr=e1,D.defaultTo=n8,D.divide=M8,D.endsWith=R5,D.eq=tn,D.escape=N5,D.escapeRegExp=T5,D.every=$3,D.find=j3,D.findIndex=Sp,D.findKey=e5,D.findLast=k3,D.findLastIndex=Ip,D.findLastKey=t5,D.floor=P8,D.forEach=Tp,D.forEachRight=Cp,D.forIn=r5,D.forInRight=i5,D.forOwn=n5,D.forOwnRight=s5,D.get=Yu,D.gt=Sw,D.gte=Iw,D.has=c5,D.hasIn=Qu,D.head=Pp,D.identity=ni,D.includes=G3,D.indexOf=k6,D.inRange=M5,D.invoke=u5,D.isArguments=ea,D.isArray=gt,D.isArrayBuffer=Mw,D.isArrayLike=ri,D.isArrayLikeObject=ar,D.isBoolean=Pw,D.isBuffer=Is,D.isDate=Ow,D.isElement=Rw,D.isEmpty=Nw,D.isEqual=Tw,D.isEqualWith=Cw,D.isError=Wu,D.isFinite=Dw,D.isFunction=es,D.isInteger=jp,D.isLength=Df,D.isMap=kp,D.isMatch=Lw,D.isMatchWith=qw,D.isNaN=Bw,D.isNative=Uw,D.isNil=zw,D.isNull=$w,D.isNumber=Fp,D.isObject=Zt,D.isObjectLike=tr,D.isPlainObject=ko,D.isRegExp=Ju,D.isSafeInteger=jw,D.isSet=Hp,D.isString=Lf,D.isSymbol=bi,D.isTypedArray=ka,D.isUndefined=kw,D.isWeakMap=Fw,D.isWeakSet=Hw,D.join=G6,D.kebabCase=C5,D.last=Ci,D.lastIndexOf=W6,D.lowerCase=D5,D.lowerFirst=L5,D.lt=Kw,D.lte=Vw,D.max=O8,D.maxBy=R8,D.mean=N8,D.meanBy=T8,D.min=C8,D.minBy=D8,D.stubArray=il,D.stubFalse=nl,D.stubObject=y8,D.stubString=w8,D.stubTrue=_8,D.multiply=L8,D.nth=J6,D.noConflict=u8,D.noop=rl,D.now=Nf,D.pad=q5,D.padEnd=B5,D.padStart=U5,D.parseInt=$5,D.random=P5,D.reduce=X3,D.reduceRight=Z3,D.repeat=z5,D.replace=j5,D.result=m5,D.round=q8,D.runInContext=re,D.sample=tw,D.size=nw,D.snakeCase=k5,D.some=sw,D.sortedIndex=r3,D.sortedIndexBy=i3,D.sortedIndexOf=n3,D.sortedLastIndex=s3,D.sortedLastIndexBy=a3,D.sortedLastIndexOf=o3,D.startCase=H5,D.startsWith=K5,D.subtract=B8,D.sum=U8,D.sumBy=$8,D.template=V5,D.times=A8,D.toFinite=ts,D.toInteger=yt,D.toLength=Vp,D.toLower=G5,D.toNumber=Di,D.toSafeInteger=Gw,D.toString=qt,D.toUpper=W5,D.trim=J5,D.trimEnd=Y5,D.trimStart=Q5,D.truncate=X5,D.unescape=Z5,D.uniqueId=x8,D.upperCase=e8,D.upperFirst=Xu,D.each=Tp,D.eachRight=Cp,D.first=Pp,tl(D,function(){var s={};return mn(D,function(o,l){Ut.call(D.prototype,l)||(s[l]=o)}),s}(),{chain:!1}),D.VERSION=i,Pi(["bind","bindKey","curry","curryRight","partial","partialRight"],function(s){D[s].placeholder=D}),Pi(["drop","take"],function(s,o){Mt.prototype[s]=function(l){l=l===t?1:pr(yt(l),0);var E=this.__filtered__&&!o?new Mt(this):this.clone();return E.__filtered__?E.__takeCount__=Br(l,E.__takeCount__):E.__views__.push({size:Br(l,g),type:s+(E.__dir__<0?"Right":"")}),E},Mt.prototype[s+"Right"]=function(l){return this.reverse()[s](l).reverse()}}),Pi(["filter","map","takeWhile"],function(s,o){var l=o+1,E=l==h||l==_;Mt.prototype[s]=function(T){var U=this.clone();return U.__iteratees__.push({iteratee:nt(T,3),type:l}),U.__filtered__=U.__filtered__||E,U}}),Pi(["head","last"],function(s,o){var l="take"+(o?"Right":"");Mt.prototype[s]=function(){return this[l](1).value()[0]}}),Pi(["initial","tail"],function(s,o){var l="drop"+(o?"":"Right");Mt.prototype[s]=function(){return this.__filtered__?new Mt(this):this[l](1)}}),Mt.prototype.compact=function(){return this.filter(ni)},Mt.prototype.find=function(s){return this.filter(s).head()},Mt.prototype.findLast=function(s){return this.reverse().find(s)},Mt.prototype.invokeMap=At(function(s,o){return typeof s=="function"?new Mt(this):this.map(function(l){return qo(l,s,o)})}),Mt.prototype.reject=function(s){return this.filter(Cf(nt(s)))},Mt.prototype.slice=function(s,o){s=yt(s);var l=this;return l.__filtered__&&(s>0||o<0)?new Mt(l):(s<0?l=l.takeRight(-s):s&&(l=l.drop(s)),o!==t&&(o=yt(o),l=o<0?l.dropRight(-o):l.take(o-s)),l)},Mt.prototype.takeRightWhile=function(s){return this.reverse().takeWhile(s).reverse()},Mt.prototype.toArray=function(){return this.take(g)},mn(Mt.prototype,function(s,o){var l=/^(?:filter|find|map|reject)|While$/.test(o),E=/^(?:head|last)$/.test(o),T=D[E?"take"+(o=="last"?"Right":""):o],U=E||/^find/.test(o);T&&(D.prototype[o]=function(){var J=this.__wrapped__,X=E?[1]:arguments,ie=J instanceof Mt,ue=X[0],de=ie||gt(J),ge=function(xt){var Tt=T.apply(D,ys([xt],X));return E&&Pe?Tt[0]:Tt};de&&l&&typeof ue=="function"&&ue.length!=1&&(ie=de=!1);var Pe=this.__chain__,We=!!this.__actions__.length,ot=U&&!Pe,wt=ie&&!We;if(!U&&de){J=wt?J:new Mt(this);var ct=s.apply(J,X);return ct.__actions__.push({func:Of,args:[ge],thisArg:t}),new Ri(ct,Pe)}return ot&&wt?s.apply(this,X):(ct=this.thru(ge),ot?E?ct.value()[0]:ct.value():ct)})}),Pi(["pop","push","shift","sort","splice","unshift"],function(s){var o=ef[s],l=/^(?:push|sort|unshift)$/.test(s)?"tap":"thru",E=/^(?:pop|shift)$/.test(s);D.prototype[s]=function(){var T=arguments;if(E&&!this.__chain__){var U=this.value();return o.apply(gt(U)?U:[],T)}return this[l](function(J){return o.apply(gt(J)?J:[],T)})}}),mn(Mt.prototype,function(s,o){var l=D[o];if(l){var E=l.name+"";Ut.call(Ba,E)||(Ba[E]=[]),Ba[E].push({name:o,func:l})}}),Ba[Af(t,Q).name]=[{name:"wrapper",func:t}],Mt.prototype.clone=Z2,Mt.prototype.reverse=ey,Mt.prototype.value=ty,D.prototype.at=R3,D.prototype.chain=N3,D.prototype.commit=T3,D.prototype.next=C3,D.prototype.plant=L3,D.prototype.reverse=q3,D.prototype.toJSON=D.prototype.valueOf=D.prototype.value=B3,D.prototype.first=D.prototype.head,Oo&&(D.prototype[Oo]=D3),D},Da=T2();sr?((sr.exports=Da)._=Da,Ft._=Da):Nt._=Da}).call(rc)})(Ad,Ad.exports);var rT=Object.defineProperty,iT=Object.defineProperties,nT=Object.getOwnPropertyDescriptors,_v=Object.getOwnPropertySymbols,sT=Object.prototype.hasOwnProperty,aT=Object.prototype.propertyIsEnumerable,Av=(r,e,t)=>e in r?rT(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Gf=(r,e)=>{for(var t in e||(e={}))sT.call(e,t)&&Av(r,t,e[t]);if(_v)for(var t of _v(e))aT.call(e,t)&&Av(r,t,e[t]);return r},oT=(r,e)=>iT(r,nT(e));function dn(r,e,t){var i;const n=ac(r);return((i=e.rpcMap)==null?void 0:i[n.reference])||`${a2}?chainId=${n.namespace}:${n.reference}&projectId=${t}`}function Ia(r){return r.includes(":")?r.split(":")[1]:r}function o2(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function cT(r,e){const t=Object.keys(e.namespaces).filter(n=>n.includes(r));if(!t.length)return[];const i=[];return t.forEach(n=>{const a=e.namespaces[n].accounts;i.push(...a)}),i}function jl(r={},e={}){const t=Ev(r),i=Ev(e);return Ad.exports.merge(t,i)}function Ev(r){var e,t,i,n;const a={};if(!bc(r))return a;for(const[f,u]of Object.entries(r)){const b=Jd(f)?[f]:u.chains,p=u.methods||[],y=u.events||[],A=u.rpcMap||{},R=sc(f);a[R]=oT(Gf(Gf({},a[R]),u),{chains:Qf(b,(e=a[R])==null?void 0:e.chains),methods:Qf(p,(t=a[R])==null?void 0:t.methods),events:Qf(y,(i=a[R])==null?void 0:i.events),rpcMap:Gf(Gf({},A),(n=a[R])==null?void 0:n.rpcMap)})}return a}function fT(r){return r.includes(":")?r.split(":")[2]:r}function xv(r){const e={};for(const[t,i]of Object.entries(r)){const n=i.methods||[],a=i.events||[],f=i.accounts||[],u=Jd(t)?[t]:i.chains?i.chains:o2(i.accounts);e[t]={chains:u,methods:n,events:a,accounts:f}}return e}function kl(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const c2={},Bt=r=>c2[r],Fl=(r,e)=>{c2[r]=e};class hT{constructor(e){this.name="polkadot",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=Ia(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}var uT=Object.defineProperty,lT=Object.defineProperties,dT=Object.getOwnPropertyDescriptors,Sv=Object.getOwnPropertySymbols,pT=Object.prototype.hasOwnProperty,gT=Object.prototype.propertyIsEnumerable,Iv=(r,e,t)=>e in r?uT(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Mv=(r,e)=>{for(var t in e||(e={}))pT.call(e,t)&&Iv(r,t,e[t]);if(Sv)for(var t of Sv(e))gT.call(e,t)&&Iv(r,t,e[t]);return r},Pv=(r,e)=>lT(r,dT(e));class vT{constructor(e){this.name="eip155",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const i=t||dn(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=parseInt(Ia(t));e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,i;let n=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";n=n.startsWith("0x")?n:`0x${n}`;const a=parseInt(n,16);if(this.isChainApproved(a))this.setDefaultChain(`${a}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:n}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${a}`);else throw new Error(`Failed to switch to chain 'eip155:${a}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,i,n;const a=(i=(t=e.request)==null?void 0:t.params)==null?void 0:i[0];if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const f=this.client.session.get(e.topic),u=((n=f==null?void 0:f.sessionProperties)==null?void 0:n.capabilities)||{};if(u!=null&&u[a])return u==null?void 0:u[a];const b=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Pv(Mv({},f.sessionProperties||{}),{capabilities:Pv(Mv({},u||{}),{[a]:b})})})}catch(p){console.warn("Failed to update session with capabilities",p)}return b}async getCallStatus(e){var t,i;const n=this.client.session.get(e.topic),a=(t=n.sessionProperties)==null?void 0:t.bundler_name;if(a){const u=this.getBundlerUrl(e.chainId,a);try{return await this.getUserOperationReceipt(u,e)}catch(b){console.warn("Failed to fetch call status from bundler",b,u)}}const f=(i=n.sessionProperties)==null?void 0:i.bundler_url;if(f)try{return await this.getUserOperationReceipt(f,e)}catch(u){console.warn("Failed to fetch call status from custom bundler",u,f)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var i;const n=new URL(e),a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(qs("eth_getUserOperationReceipt",[(i=t.request.params)==null?void 0:i[0]]))});if(!a.ok)throw new Error(`Failed to fetch user operation receipt - ${a.status}`);return await a.json()}getBundlerUrl(e,t){return`${tT}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}class bT{constructor(e){this.name="solana",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=Ia(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}class mT{constructor(e){this.name="cosmos",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=Ia(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}class yT{constructor(e){this.name="algorand",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){const i=t||dn(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new pn(new Vn(i,Bt("disableProviderPing")))}}class wT{constructor(e){this.name="cip34",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const i=this.getCardanoRPCUrl(t),n=Ia(t);e[n]=this.createHttpProvider(n,i)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||this.getCardanoRPCUrl(e);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}class _T{constructor(e){this.name="elrond",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=Ia(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}class AT{constructor(e){this.name="multiversx",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const n=Ia(t);e[n]=this.createHttpProvider(n,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}class ET{constructor(e){this.name="near",this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){const i=t||dn(`${this.name}:${e}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace);return typeof i>"u"?void 0:new pn(new Vn(i,Bt("disableProviderPing")))}}class xT{constructor(e){this.name=Ya,this.namespace=e.namespace,this.events=Bt("events"),this.client=Bt("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(gn.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){var e,t;const i={};return(t=(e=this.namespace)==null?void 0:e.accounts)==null||t.forEach(n=>{const a=ac(n);i[`${a.namespace}:${a.reference}`]=this.createHttpProvider(n)}),i}getHttpProvider(e){const t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||dn(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new pn(new Vn(i,Bt("disableProviderPing")))}}var ST=Object.defineProperty,IT=Object.defineProperties,MT=Object.getOwnPropertyDescriptors,Ov=Object.getOwnPropertySymbols,PT=Object.prototype.hasOwnProperty,OT=Object.prototype.propertyIsEnumerable,Rv=(r,e,t)=>e in r?ST(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Wf=(r,e)=>{for(var t in e||(e={}))PT.call(e,t)&&Rv(r,t,e[t]);if(Ov)for(var t of Ov(e))OT.call(e,t)&&Rv(r,t,e[t]);return r},Hl=(r,e)=>IT(r,MT(e));class n0{constructor(e){this.events=new Id,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=e,this.logger=typeof(e==null?void 0:e.logger)<"u"&&typeof(e==null?void 0:e.logger)!="string"?e.logger:Nc(Hh({level:(e==null?void 0:e.logger)||yv})),this.disableProviderPing=(e==null?void 0:e.disableProviderPing)||!1}static async init(e){const t=new n0(e);return await t.initialize(),t}async request(e,t,i){const[n,a]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(n).request({request:Wf({},e),chainId:`${n}:${a}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,n){const a=new Date().getTime();this.request(e,i,n).then(f=>t(null,Kh(a,f))).catch(f=>t(f,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:$t("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:i,response:n}=await this.client.authenticate(e,t);i&&(this.uri=i,this.events.emit("display_uri",i));const a=await n();if(this.session=a.session,this.session){const f=xv(this.session.namespaces);this.namespaces=jl(this.namespaces,f),this.persist("namespaces",this.namespaces),this.onConnect()}return a}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){this.shouldAbortPairingAttempt=!1;let t=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(t>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:i,approval:n}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});i&&(this.uri=i,this.events.emit("display_uri",i)),await n().then(a=>{this.session=a;const f=xv(a.namespaces);this.namespaces=jl(this.namespaces,f),this.persist("namespaces",this.namespaces)}).catch(a=>{if(a.message!==s2)throw a;t++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[i,n]=this.validateChain(e),a=this.getProvider(i);a.name===Ya?a.setDefaultChain(`${i}:${n}`,t):a.setDefaultChain(n,t)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(jn(t)){for(const i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const e=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[e]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await i0.init({core:this.providerOpts.core,logger:this.providerOpts.logger||yv,relayUrl:this.providerOpts.relayUrl||XN,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>sc(t)))];Fl("client",this.client),Fl("events",this.events),Fl("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const i=cT(t,this.session),n=o2(i),a=jl(this.namespaces,this.optionalNamespaces),f=Hl(Wf({},a[t]),{accounts:i,chains:n});switch(t){case"eip155":this.rpcProviders[t]=new vT({namespace:f});break;case"algorand":this.rpcProviders[t]=new yT({namespace:f});break;case"solana":this.rpcProviders[t]=new bT({namespace:f});break;case"cosmos":this.rpcProviders[t]=new mT({namespace:f});break;case"polkadot":this.rpcProviders[t]=new hT({namespace:f});break;case"cip34":this.rpcProviders[t]=new wT({namespace:f});break;case"elrond":this.rpcProviders[t]=new _T({namespace:f});break;case"multiversx":this.rpcProviders[t]=new AT({namespace:f});break;case"near":this.rpcProviders[t]=new ET({namespace:f});break;default:this.rpcProviders[Ya]?this.rpcProviders[Ya].updateNamespace(f):this.rpcProviders[Ya]=new xT({namespace:f})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{const{params:t}=e,{event:i}=t;if(i.name==="accountsChanged"){const n=i.data;n&&jn(n)&&this.events.emit("accountsChanged",n.map(fT))}else if(i.name==="chainChanged"){const n=t.chainId,a=t.event.data,f=sc(n),u=kl(n)!==kl(a)?`${f}:${kl(a)}`:n;this.onChainChanged(u)}else this.events.emit(i.name,i.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i;const{namespaces:n}=t,a=(i=this.client)==null?void 0:i.session.get(e);this.session=Hl(Wf({},a),{namespaces:n}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",Hl(Wf({},$t("USER_DISCONNECTED")),{data:e.topic}))}),this.on(gn.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Ya]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t,optionalNamespaces:i,sessionProperties:n}=e;t&&Object.keys(t).length&&(this.namespaces=t),i&&Object.keys(i).length&&(this.optionalNamespaces=i),this.sessionProperties=n,this.persist("namespaces",t),this.persist("optionalNamespaces",i)}validateChain(e){const[t,i]=(e==null?void 0:e.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(f=>sc(f)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];const n=sc(Object.keys(this.namespaces)[0]),a=this.rpcProviders[n].getDefaultChain();return[n,a]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}onChainChanged(e,t=!1){if(!this.namespaces)return;const[i,n]=this.validateChain(e);n&&(t||this.getProvider(i).setDefaultChain(n),this.namespaces[i]?this.namespaces[i].defaultChain=n:this.namespaces[`${i}:${n}`]?this.namespaces[`${i}:${n}`].defaultChain=n:this.namespaces[`${i}:${n}`]={defaultChain:n},this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",n))}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(e,t){this.client.core.storage.setItem(`${wv}/${e}`,t)}async getFromStore(e){return await this.client.core.storage.getItem(`${wv}/${e}`)}}const RT=n0,NT="wc",TT="ethereum_provider",CT=`${NT}@2:${TT}:`,DT="https://rpc.walletconnect.org/v1/",Ed=["eth_sendTransaction","personal_sign"],LT=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_sendCalls","wallet_getCapabilities","wallet_getCallsStatus","wallet_showCallsStatus"],xd=["chainChanged","accountsChanged"],qT=["chainChanged","accountsChanged","message","disconnect","connect"];var BT=Object.defineProperty,UT=Object.defineProperties,$T=Object.getOwnPropertyDescriptors,Nv=Object.getOwnPropertySymbols,zT=Object.prototype.hasOwnProperty,jT=Object.prototype.propertyIsEnumerable,Tv=(r,e,t)=>e in r?BT(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Qa=(r,e)=>{for(var t in e||(e={}))zT.call(e,t)&&Tv(r,t,e[t]);if(Nv)for(var t of Nv(e))jT.call(e,t)&&Tv(r,t,e[t]);return r},Kl=(r,e)=>UT(r,$T(e));function Eh(r){return Number(r[0].split(":")[1])}function Jf(r){return`0x${r.toString(16)}`}function kT(r){const{chains:e,optionalChains:t,methods:i,optionalMethods:n,events:a,optionalEvents:f,rpcMap:u}=r;if(!jn(e))throw new Error("Invalid chains");const b={chains:e,methods:i||Ed,events:a||xd,rpcMap:Qa({},e.length?{[Eh(e)]:u[Eh(e)]}:{})},p=a==null?void 0:a.filter(O=>!xd.includes(O)),y=i==null?void 0:i.filter(O=>!Ed.includes(O));if(!t&&!f&&!n&&!(p!=null&&p.length)&&!(y!=null&&y.length))return{required:e.length?b:void 0};const A=(p==null?void 0:p.length)&&(y==null?void 0:y.length)||!t,R={chains:[...new Set(A?b.chains.concat(t||[]):t)],methods:[...new Set(b.methods.concat(n!=null&&n.length?n:LT))],events:[...new Set(b.events.concat(f!=null&&f.length?f:qT))],rpcMap:u};return{required:e.length?b:void 0,optional:t.length?R:void 0}}class s0{constructor(){this.events=new Fi.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=CT,this.on=(e,t)=>(this.events.on(e,t),this),this.once=(e,t)=>(this.events.once(e,t),this),this.removeListener=(e,t)=>(this.events.removeListener(e,t),this),this.off=(e,t)=>(this.events.off(e,t),this),this.parseAccount=e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e,this.signer={},this.rpc={}}static async init(e){const t=new s0;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,i){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:t,optional:i}=kT(this.rpc);try{const n=await new Promise(async(f,u)=>{var b;this.rpc.showQrModal&&((b=this.modal)==null||b.subscribeModal(p=>{!p.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),u(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(Kl(Qa({namespaces:Qa({},t&&{[this.namespace]:t})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e==null?void 0:e.pairingTopic})).then(p=>{f(p)}).catch(p=>{u(new Error(p.message))})});if(!n)return;const a=C1(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:a),this.setAccounts(a),this.events.emit("connect",{chainId:Jf(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{this.modal&&this.modal.closeModal()}}async authenticate(e,t){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e==null?void 0:e.chains});try{const i=await new Promise(async(a,f)=>{var u;this.rpc.showQrModal&&((u=this.modal)==null||u.subscribeModal(b=>{!b.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),f(new Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(Kl(Qa({},e),{chains:this.rpc.chains}),t).then(b=>{a(b)}).catch(b=>{f(new Error(b.message))})}),n=i.session;if(n){const a=C1(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:a),this.setAccounts(a),this.events.emit("connect",{chainId:Jf(this.chainId)})}return i}catch(i){throw this.signer.logger.error(i),i}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",e=>{const{params:t}=e,{event:i}=t;i.name==="accountsChanged"?(this.accounts=this.parseAccounts(i.data),this.events.emit("accountsChanged",this.accounts)):i.name==="chainChanged"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.data),this.events.emit("session_event",e)}),this.signer.on("chainChanged",e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",Jf(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",Kl(Qa({},$t("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",e=>{var t,i;this.rpc.showQrModal&&((t=this.modal)==null||t.closeModal(),(i=this.modal)==null||i.openModal({uri:e})),this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",Jf(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,i,n]=e.split(":");return{chainId:`${t}:${i}`,address:n}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,i;const n=(t=e==null?void 0:e.chains)!=null?t:[],a=(i=e==null?void 0:e.optionalChains)!=null?i:[],f=n.concat(a);if(!f.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const u=n.length?(e==null?void 0:e.methods)||Ed:[],b=n.length?(e==null?void 0:e.events)||xd:[],p=(e==null?void 0:e.optionalMethods)||[],y=(e==null?void 0:e.optionalEvents)||[],A=(e==null?void 0:e.rpcMap)||this.buildRpcMap(f,e.projectId),R=(e==null?void 0:e.qrModalOptions)||void 0;return{chains:n==null?void 0:n.map(O=>this.formatChainId(O)),optionalChains:a.map(O=>this.formatChainId(O)),methods:u,events:b,optionalMethods:p,optionalEvents:y,rpcMap:A,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:R,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const i={};return e.forEach(n=>{i[n]=this.getRpcUrl(n,t)}),i}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?Eh(this.rpc.chains):Eh(this.rpc.optionalChains),this.signer=await RT.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let t;try{const{WalletConnectModal:i}=await F8(()=>import("./index-xoNRwz7B.js").then(n=>n.i),__vite__mapDeps([0,1,2]));t=i}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(t)try{this.modal=new t(Qa({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(i){throw this.signer.logger.error(i),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:i,rpcMap:n}=e;t&&jn(t)&&(this.rpc.chains=t.map(a=>this.formatChainId(a)),t.forEach(a=>{this.rpc.rpcMap[a]=(n==null?void 0:n[a])||this.getRpcUrl(a)})),i&&jn(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i==null?void 0:i.map(a=>this.formatChainId(a)),i.forEach(a=>{this.rpc.rpcMap[a]=(n==null?void 0:n[a])||this.getRpcUrl(a)}))}getRpcUrl(e,t){var i;return((i=this.rpc.rpcMap)==null?void 0:i[e])||`${DT}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t==null?void 0:t.accounts),this.setAccounts(t==null?void 0:t.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(t=>this.signer.logger.warn(t))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}}const pC=s0;export{pC as EthereumProvider,qT as OPTIONAL_EVENTS,LT as OPTIONAL_METHODS,xd as REQUIRED_EVENTS,Ed as REQUIRED_METHODS,s0 as default};
|