@stacks/storage 6.16.1 → 6.16.2-pr.8d709117.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +6 -6
package/dist/umd/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.StacksStorage=e():t.StacksStorage=e()}(this,(()=>(()=>{var t,e,n={525:(t,e)=>{"use strict";function n(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function r(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)}function i(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function o(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");n(t.outputLen),n(t.blockLen)}function s(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function a(t,e){i(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(e,"__esModule",{value:!0}),e.output=e.exists=e.hash=e.bytes=e.bool=e.number=void 0,e.number=n,e.bool=r,e.bytes=i,e.hash=o,e.exists=s,e.output=a;const c={number:n,bool:r,bytes:i,hash:o,exists:s,output:a};e.default=c},350:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SHA2=void 0;const r=n(525),i=n(64);class o extends i.Hash{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,i.createView)(this.buffer)}update(t){r.default.exists(this);const{view:e,buffer:n,blockLen:o}=this,s=(t=(0,i.toBytes)(t)).length;for(let r=0;r<s;){const a=Math.min(o-this.pos,s-r);if(a!==o)n.set(t.subarray(r,r+a),this.pos),this.pos+=a,r+=a,this.pos===o&&(this.process(e,0),this.pos=0);else{const e=(0,i.createView)(t);for(;o<=s-r;r+=o)this.process(e,r)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){r.default.exists(this),r.default.output(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:o,isLE:s}=this;let{pos:a}=this;e[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(n,0),a=0);for(let t=a;t<o;t++)e[t]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,u=r?0:4;t.setUint32(e+c,s,r),t.setUint32(e+u,a,r)}(n,o-8,BigInt(8*this.length),s),this.process(n,0);const c=(0,i.createView)(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=u/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<f;t++)c.setUint32(4*t,l[t],s)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return t.length=r,t.pos=s,t.finished=i,t.destroyed=o,r%e&&t.buffer.set(n),t}}e.SHA2=o},661:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0}},514:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hmac=void 0;const r=n(525),i=n(64);class o extends i.Hash{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,r.default.hash(t);const n=(0,i.toBytes)(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let t=0;t<s.length;t++)s[t]^=54;this.iHash.update(s),this.oHash=t.create();for(let t=0;t<s.length;t++)s[t]^=106;this.oHash.update(s),s.fill(0)}update(t){return r.default.exists(this),this.iHash.update(t),this}digestInto(t){r.default.exists(this),r.default.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=r,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}e.hmac=(t,e,n)=>new o(t,e).update(n).digest(),e.hmac.create=(t,e)=>new o(t,e)},53:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sha224=e.sha256=void 0;const r=n(350),i=n(64),o=(t,e,n)=>t&e^t&n^e&n,s=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),a=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),c=new Uint32Array(64);class u extends r.SHA2{constructor(){super(64,32,8,!1),this.A=0|a[0],this.B=0|a[1],this.C=0|a[2],this.D=0|a[3],this.E=0|a[4],this.F=0|a[5],this.G=0|a[6],this.H=0|a[7]}get(){const{A:t,B:e,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[t,e,n,r,i,o,s,a]}set(t,e,n,r,i,o,s,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(t,e){for(let n=0;n<16;n++,e+=4)c[n]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=c[t-15],n=c[t-2],r=(0,i.rotr)(e,7)^(0,i.rotr)(e,18)^e>>>3,o=(0,i.rotr)(n,17)^(0,i.rotr)(n,19)^n>>>10;c[t]=o+c[t-7]+r+c[t-16]|0}let{A:n,B:r,C:a,D:u,E:f,F:l,G:h,H:p}=this;for(let t=0;t<64;t++){const e=p+((0,i.rotr)(f,6)^(0,i.rotr)(f,11)^(0,i.rotr)(f,25))+((d=f)&l^~d&h)+s[t]+c[t]|0,y=((0,i.rotr)(n,2)^(0,i.rotr)(n,13)^(0,i.rotr)(n,22))+o(n,r,a)|0;p=h,h=l,l=f,f=u+e|0,u=a,a=r,r=n,n=e+y|0}var d;n=n+this.A|0,r=r+this.B|0,a=a+this.C|0,u=u+this.D|0,f=f+this.E|0,l=l+this.F|0,h=h+this.G|0,p=p+this.H|0,this.set(n,r,a,u,f,l,h,p)}roundClean(){c.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class f extends u{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}e.sha256=(0,i.wrapConstructor)((()=>new u)),e.sha224=(0,i.wrapConstructor)((()=>new f))},64:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.randomBytes=e.wrapConstructorWithOpts=e.wrapConstructor=e.checkOpts=e.Hash=e.concatBytes=e.toBytes=e.utf8ToBytes=e.asyncLoop=e.nextTick=e.hexToBytes=e.bytesToHex=e.isLE=e.rotr=e.createView=e.u32=e.u8=void 0;const r=n(661);if(e.u8=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),e.u32=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),e.createView=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),e.rotr=(t,e)=>t<<32-e|t>>>e,e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!e.isLE)throw new Error("Non little-endian hardware is not supported");const i=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function o(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}function s(t){if("string"==typeof t&&(t=o(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}e.bytesToHex=function(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=i[t[n]];return e},e.hexToBytes=function(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e},e.nextTick=async()=>{},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=o,e.toBytes=s,e.concatBytes=function(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n},e.Hash=class{clone(){return this._cloneInto()}},e.checkOpts=function(t,e){if(void 0!==e&&("object"!=typeof e||(n=e,"[object Object]"!==Object.prototype.toString.call(n)||n.constructor!==Object)))throw new TypeError("Options should be object or undefined");var n;return Object.assign(t,e)},e.wrapConstructor=function(t){const e=e=>t().update(s(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e},e.wrapConstructorWithOpts=function(t){const e=(e,n)=>t(n).update(s(e)).digest(),n=t({});return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=e=>t(e),e},e.randomBytes=function(t=32){if(r.crypto.web)return r.crypto.web.getRandomValues(new Uint8Array(t));if(r.crypto.node)return new Uint8Array(r.crypto.node.randomBytes(t).buffer);throw new Error("The environment doesn't have randomBytes function")}},698:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.utils=e.schnorr=e.verify=e.signSync=e.sign=e.getSharedSecret=e.recoverPublicKey=e.getPublicKey=e.Signature=e.Point=e.CURVE=void 0;const r=n(695),i=BigInt(0),o=BigInt(1),s=BigInt(2),a=BigInt(3),c=BigInt(8),u=Object.freeze({a:i,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:o,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")});e.CURVE=u;const f=(t,e)=>(t+e/s)/e,l={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=u,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-o*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,a=BigInt("0x100000000000000000000000000000000"),c=f(s*t,e),l=f(-r*t,e);let h=D(t-c*n-l*i,e),p=D(-c*r-l*s,e);const d=h>a,y=p>a;if(d&&(h=e-h),y&&(p=e-p),h>a||p>a)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:d,k1:h,k2neg:y,k2:p}}},h=32,p=32,d=h+1,y=2*h+1;function g(t){const{a:e,b:n}=u,r=D(t*t),i=D(r*t);return D(i+e*t+n)}const m=u.a===i;class b extends Error{constructor(t){super(t)}}function w(t){if(!(t instanceof v))throw new TypeError("JacobianPoint expected")}class v{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof S))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(S.ZERO)?v.ZERO:new v(t.x,t.y,o)}static toAffineBatch(t){const e=function(t,e=u.P){const n=new Array(t.length),r=R(t.reduce(((t,r,o)=>r===i?t:(n[o]=t,D(t*r,e))),o),e);return t.reduceRight(((t,r,o)=>r===i?t:(n[o]=D(t*n[o],e),D(t*r,e))),r),n}(t.map((t=>t.z)));return t.map(((t,n)=>t.toAffine(e[n])))}static normalizeZ(t){return v.toAffineBatch(t).map(v.fromAffine)}equals(t){w(t);const{x:e,y:n,z:r}=this,{x:i,y:o,z:s}=t,a=D(r*r),c=D(s*s),u=D(e*c),f=D(i*a),l=D(D(n*s)*c),h=D(D(o*r)*a);return u===f&&l===h}negate(){return new v(this.x,D(-this.y),this.z)}double(){const{x:t,y:e,z:n}=this,r=D(t*t),i=D(e*e),o=D(i*i),u=t+i,f=D(s*(D(u*u)-r-o)),l=D(a*r),h=D(l*l),p=D(h-s*f),d=D(l*(f-p)-c*o),y=D(s*e*n);return new v(p,d,y)}add(t){w(t);const{x:e,y:n,z:r}=this,{x:o,y:a,z:c}=t;if(o===i||a===i)return this;if(e===i||n===i)return t;const u=D(r*r),f=D(c*c),l=D(e*f),h=D(o*u),p=D(D(n*c)*f),d=D(D(a*r)*u),y=D(h-l),g=D(d-p);if(y===i)return g===i?this.double():v.ZERO;const m=D(y*y),b=D(y*m),x=D(l*m),E=D(g*g-b-s*x),S=D(g*(x-E)-p*b),A=D(r*c*y);return new v(E,S,A)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=v.ZERO;if("bigint"==typeof t&&t===i)return e;let n=P(t);if(n===o)return this;if(!m){let t=e,r=this;for(;n>i;)n&o&&(t=t.add(r)),r=r.double(),n>>=o;return t}let{k1neg:r,k1:s,k2neg:a,k2:c}=l.splitScalar(n),u=e,f=e,h=this;for(;s>i||c>i;)s&o&&(u=u.add(h)),c&o&&(f=f.add(h)),h=h.double(),s>>=o,c>>=o;return r&&(u=u.negate()),a&&(f=f.negate()),f=new v(D(f.x*l.beta),f.y,f.z),u.add(f)}precomputeWindow(t){const e=m?128/t+1:256/t+1,n=[];let r=this,i=r;for(let o=0;o<e;o++){i=r,n.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(r),n.push(i);r=i.double()}return n}wNAF(t,e){!e&&this.equals(v.BASE)&&(e=S.BASE);const n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let r=e&&E.get(e);r||(r=this.precomputeWindow(n),e&&1!==n&&(r=v.normalizeZ(r),E.set(e,r)));let i=v.ZERO,s=v.BASE;const a=1+(m?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let e=0;e<a;e++){const n=e*c;let a=Number(t&u);t>>=l,a>c&&(a-=f,t+=o);const h=n,p=n+Math.abs(a)-1,d=e%2!=0,y=a<0;0===a?s=s.add(x(d,r[h])):i=i.add(x(y,r[p]))}return{p:i,f:s}}multiply(t,e){let n,r,i=P(t);if(m){const{k1neg:t,k1:o,k2neg:s,k2:a}=l.splitScalar(i);let{p:c,f:u}=this.wNAF(o,e),{p:f,f:h}=this.wNAF(a,e);c=x(t,c),f=x(s,f),f=new v(D(f.x*l.beta),f.y,f.z),n=c.add(f),r=u.add(h)}else{const{p:t,f:o}=this.wNAF(i,e);n=t,r=o}return v.normalizeZ([n,r])[0]}toAffine(t){const{x:e,y:n,z:r}=this,i=this.equals(v.ZERO);null==t&&(t=i?c:R(r));const s=t,a=D(s*s),u=D(a*s),f=D(e*a),l=D(n*u),h=D(r*s);if(i)return S.ZERO;if(h!==o)throw new Error("invZ was invalid");return new S(f,l)}}function x(t,e){const n=e.negate();return t?n:e}v.BASE=new v(u.Gx,u.Gy,o),v.ZERO=new v(i,o,i);const E=new WeakMap;class S{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,E.delete(this)}hasEvenY(){return this.y%s===i}static fromCompressedHex(t){const e=32===t.length,n=L(e?t:t.subarray(1));if(!K(n))throw new Error("Point is not on curve");let r=function(t){const{P:e}=u,n=BigInt(6),r=BigInt(11),i=BigInt(22),o=BigInt(23),c=BigInt(44),f=BigInt(88),l=t*t*t%e,h=l*l*t%e,p=H(h,a)*h%e,d=H(p,a)*h%e,y=H(d,s)*l%e,g=H(y,r)*y%e,m=H(g,i)*g%e,b=H(m,c)*m%e,w=H(b,f)*b%e,v=H(w,c)*m%e,x=H(v,a)*h%e,E=H(x,o)*g%e,S=H(E,n)*l%e,A=H(S,s);if(A*A%e!==t)throw new Error("Cannot find square root");return A}(g(n));const i=(r&o)===o;e?i&&(r=D(-r)):1==(1&t[0])!==i&&(r=D(-r));const c=new S(n,r);return c.assertValidity(),c}static fromUncompressedHex(t){const e=L(t.subarray(1,h+1)),n=L(t.subarray(h+1,2*h+1)),r=new S(e,n);return r.assertValidity(),r}static fromHex(t){const e=N(t),n=e.length,r=e[0];if(n===h)return this.fromCompressedHex(e);if(n===d&&(2===r||3===r))return this.fromCompressedHex(e);if(n===y&&4===r)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${d} compressed bytes or ${y} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return S.BASE.multiply(W(t))}static fromSignature(t,e,n){const{r,s:i}=X(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");const o=z(N(t)),{n:s}=u,a=2===n||3===n?r+s:r,c=R(a,s),f=D(-o*c,s),l=D(i*c,s),h=1&n?"03":"02",p=S.fromHex(h+U(a)),d=S.BASE.multiplyAndAddUnsafe(p,f,l);if(!d)throw new Error("Cannot recover signature: point at infinify");return d.assertValidity(),d}toRawBytes(t=!1){return $(this.toHex(t))}toHex(t=!1){const e=U(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${U(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:n}=this;if(!K(e)||!K(n))throw new Error(t);const r=D(n*n);if(D(r-g(e))!==i)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new S(this.x,D(-this.y))}double(){return v.fromAffine(this).double().toAffine()}add(t){return v.fromAffine(this).add(v.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return v.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){const r=v.fromAffine(this),s=e===i||e===o||this!==S.BASE?r.multiplyUnsafe(e):r.multiply(e),a=v.fromAffine(t).multiplyUnsafe(n),c=s.add(a);return c.equals(v.ZERO)?void 0:c.toAffine()}}function A(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function _(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${T(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:L(n),left:t.subarray(e+2)}}e.Point=S,S.BASE=new S(u.Gx,u.Gy),S.ZERO=new S(i,i);class k{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=t instanceof Uint8Array,n="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);const r=e?T(t):t;if(128!==r.length)throw new Error(`${n}: Expected 64-byte hex`);return new k(C(r.slice(0,64)),C(r.slice(64,128)))}static fromDER(t){const e=t instanceof Uint8Array;if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:n,s:r}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${T(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=_(t.subarray(2)),{data:r,left:i}=_(n);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${T(i)}`);return{r:e,s:r}}(e?t:$(t));return new k(n,r)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!G(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!G(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=u.n>>o;return this.s>t}normalizeS(){return this.hasHighS()?new k(this.r,D(-this.s,u.n)):this}toDERRawBytes(){return $(this.toDERHex())}toDERHex(){const t=A(B(this.s)),e=A(B(this.r)),n=t.length/2,r=e.length/2,i=B(n),o=B(r);return`30${B(r+n+4)}02${o}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return $(this.toCompactHex())}toCompactHex(){return U(this.r)+U(this.s)}}function O(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n}e.Signature=k;const j=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function T(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let n=0;n<t.length;n++)e+=j[t[n]];return e}const F=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function U(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(i<=t&&t<F))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function I(t){const e=$(U(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function B(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function C(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function $(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function L(t){return C(T(t))}function N(t){return t instanceof Uint8Array?Uint8Array.from(t):$(t)}function P(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&G(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=u.P){const n=t%e;return n>=i?n:e+n}function H(t,e){const{P:n}=u;let r=t;for(;e-- >i;)r*=r,r%=n;return r}function R(t,e=u.P){if(t===i||e<=i)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=D(t,e),r=e,s=i,a=o,c=o,f=i;for(;n!==i;){const t=r/n,e=r%n,i=s-c*t,o=a-f*t;r=n,n=e,s=c,a=f,c=i,f=o}if(r!==o)throw new Error("invert: does not exist");return D(s,e)}function z(t,e=!1){const n=function(t){const e=8*t.length-8*p,n=L(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=u;return n>=r?n-r:n}let M,q;class V{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,"number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return e.utils.hmacSha256(this.k,...t)}hmacSync(...t){return q(this.k,...t)}checkSync(){if("function"!=typeof q)throw new b("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),0!==t.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),0!==t.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return O(...e)}generateSync(){this.checkSync(),this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return O(...e)}}function G(t){return i<t&&t<u.n}function K(t){return i<t&&t<u.P}function J(t,e,n,r=!0){const{n:s}=u,a=z(t,!0);if(!G(a))return;const c=R(a,s),f=S.BASE.multiply(a),l=D(f.x,s);if(l===i)return;const h=D(c*D(e+n*l,s),s);if(h===i)return;let p=new k(l,h),d=(f.x===p.r?0:2)|Number(f.y&o);return r&&p.hasHighS()&&(p=p.normalizeS(),d^=1),{sig:p,recovery:d}}function W(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*p)throw new Error("Expected 32 bytes of private key");e=C(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==p)throw new Error("Expected 32 bytes of private key");e=L(t)}if(!G(e))throw new Error("Expected private key: 0 < key < n");return e}function Z(t){return t instanceof S?(t.assertValidity(),t):S.fromHex(t)}function X(t){if(t instanceof k)return t.assertValidity(),t;try{return k.fromDER(t)}catch(e){return k.fromCompact(t)}}function Y(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?r===d||r===y:n?r===2*d||r===2*y:t instanceof S}function Q(t){return L(t.length>h?t.slice(0,h):t)}function tt(t){const e=Q(t),n=D(e,u.n);return et(n<i?e:n)}function et(t){return I(t)}function nt(t,n,r){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const i=N(t),o=W(n),s=[et(o),tt(i)];if(null!=r){!0===r&&(r=e.utils.randomBytes(h));const t=N(r);if(t.length!==h)throw new Error(`sign: Expected ${h} bytes of extra data`);s.push(t)}return{seed:O(...s),m:Q(i),d:o}}function rt(t,e){const{sig:n,recovery:r}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?n.toDERRawBytes():n.toCompactRawBytes();return o?[s,r]:s}e.getPublicKey=function(t,e=!1){return S.fromPrivateKey(t).toRawBytes(e)},e.recoverPublicKey=function(t,e,n,r=!1){return S.fromSignature(t,e,n).toRawBytes(r)},e.getSharedSecret=function(t,e,n=!1){if(Y(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!Y(e))throw new TypeError("getSharedSecret: second arg must be public key");const r=Z(e);return r.assertValidity(),r.multiply(W(t)).toRawBytes(n)},e.sign=async function(t,e,n={}){const{seed:r,m:i,d:o}=nt(t,e,n.extraEntropy),s=new V(32,p);let a;for(await s.reseed(r);!(a=J(await s.generate(),i,o,n.canonical));)await s.reseed();return rt(a,n)},e.signSync=function(t,e,n={}){const{seed:r,m:i,d:o}=nt(t,e,n.extraEntropy),s=new V(32,p);let a;for(s.reseedSync(r);!(a=J(s.generateSync(),i,o,n.canonical));)s.reseedSync();return rt(a,n)};const it={strict:!0};function ot(t){return D(L(t),u.n)}e.verify=function(t,e,n,r=it){let i;try{i=X(t),e=N(e)}catch(t){return!1}const{r:o,s}=i;if(r.strict&&i.hasHighS())return!1;const a=z(e);let c;try{c=Z(n)}catch(t){return!1}const{n:f}=u,l=R(s,f),h=D(a*l,f),p=D(o*l,f),d=S.BASE.multiplyAndAddUnsafe(c,h,p);return!!d&&D(d.x,f)===o};class st{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){const e=N(t);if(64!==e.length)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${e.length}`);const n=L(e.subarray(0,32)),r=L(e.subarray(32,64));return new st(n,r)}assertValidity(){const{r:t,s:e}=this;if(!K(t)||!G(e))throw new Error("Invalid signature")}toHex(){return U(this.r)+U(this.s)}toRawBytes(){return $(this.toHex())}}class at{constructor(t,n,r=e.utils.randomBytes()){if(null==t)throw new TypeError(`sign: Expected valid message, not "${t}"`);this.m=N(t);const{x:i,scalar:o}=this.getScalar(W(n));if(this.px=i,this.d=o,this.rand=N(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(t){const e=S.fromPrivateKey(t),n=e.hasEvenY()?t:u.n-t;return{point:e,scalar:n,x:e.toRawX()}}initNonce(t,e){return I(t^L(e))}finalizeNonce(t){const e=D(L(t),u.n);if(e===i)throw new Error("sign: Creation of signature failed. k is zero");const{point:n,x:r,scalar:o}=this.getScalar(e);return{R:n,rx:r,k:o}}finalizeSig(t,e,n,r){return new st(t.x,D(e+n*r,u.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}async calc(){const{m:t,d:n,px:r,rand:i}=this,o=e.utils.taggedHash,s=this.initNonce(n,await o(pt.aux,i)),{R:a,rx:c,k:u}=this.finalizeNonce(await o(pt.nonce,s,r,t)),f=ot(await o(pt.challenge,c,r,t)),l=this.finalizeSig(a,u,f,n);return await ft(l,t,r)||this.error(),l}calcSync(){const{m:t,d:n,px:r,rand:i}=this,o=e.utils.taggedHashSync,s=this.initNonce(n,o(pt.aux,i)),{R:a,rx:c,k:u}=this.finalizeNonce(o(pt.nonce,s,r,t)),f=ot(o(pt.challenge,c,r,t)),l=this.finalizeSig(a,u,f,n);return lt(l,t,r)||this.error(),l}}function ct(t,e,n){const r=t instanceof st,i=r?t:st.fromHex(t);return r&&i.assertValidity(),{...i,m:N(e),P:Z(n)}}function ut(t,e,n,r){const i=S.BASE.multiplyAndAddUnsafe(e,W(n),D(-r,u.n));return!(!i||!i.hasEvenY()||i.x!==t)}async function ft(t,n,r){try{const{r:i,s:o,m:s,P:a}=ct(t,n,r),c=ot(await e.utils.taggedHash(pt.challenge,I(i),a.toRawX(),s));return ut(i,a,o,c)}catch(t){return!1}}function lt(t,n,r){try{const{r:i,s:o,m:s,P:a}=ct(t,n,r),c=ot(e.utils.taggedHashSync(pt.challenge,I(i),a.toRawX(),s));return ut(i,a,o,c)}catch(t){if(t instanceof b)throw t;return!1}}e.schnorr={Signature:st,getPublicKey:function(t){return S.fromPrivateKey(t).toRawX()},sign:async function(t,e,n){return new at(t,e,n).calc()},verify:ft,signSync:function(t,e,n){return new at(t,e,n).calcSync()},verifySync:lt},S.BASE._setWindowSize(8);const ht={node:r,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},pt={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},dt={};e.utils={bytesToHex:T,hexToBytes:$,concatBytes:O,mod:D,invert:R,isValidPrivateKey(t){try{return W(t),!0}catch(t){return!1}},_bigintTo32Bytes:I,_normalizePrivateKey:W,hashToPrivateKey:t=>{t=N(t);const e=p+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return I(D(L(t),u.n-o)+o)},randomBytes:(t=32)=>{if(ht.web)return ht.web.getRandomValues(new Uint8Array(t));if(ht.node){const{randomBytes:e}=ht.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>e.utils.hashToPrivateKey(e.utils.randomBytes(p+8)),precompute(t=8,e=S.BASE){const n=e===S.BASE?e:new S(e.x,e.y);return n._setWindowSize(t),n.multiply(a),n},sha256:async(...t)=>{if(ht.web){const e=await ht.web.subtle.digest("SHA-256",O(...t));return new Uint8Array(e)}if(ht.node){const{createHash:e}=ht.node,n=e("sha256");return t.forEach((t=>n.update(t))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ht.web){const n=await ht.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),r=O(...e),i=await ht.web.subtle.sign("HMAC",n,r);return new Uint8Array(i)}if(ht.node){const{createHmac:n}=ht.node,r=n("sha256",t);return e.forEach((t=>r.update(t))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...n)=>{let r=dt[t];if(void 0===r){const n=await e.utils.sha256(Uint8Array.from(t,(t=>t.charCodeAt(0))));r=O(n,n),dt[t]=r}return e.utils.sha256(r,...n)},taggedHashSync:(t,...e)=>{if("function"!=typeof M)throw new b("sha256Sync is undefined, you need to set it");let n=dt[t];if(void 0===n){const e=M(Uint8Array.from(t,(t=>t.charCodeAt(0))));n=O(e,e),dt[t]=n}return M(n,...e)},_JacobianPoint:v},Object.defineProperties(e.utils,{sha256Sync:{configurable:!1,get:()=>M,set(t){M||(M=t)}},hmacSha256Sync:{configurable:!1,get:()=>q,set(t){q||(q=t)}}})},166:t=>{"use strict";t.exports=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),o=i.charCodeAt(0);if(255!==e[o])throw new TypeError(i+" is ambiguous");e[o]=r}var s=t.length,a=t.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return new Uint8Array;for(var n=0,r=0,i=0;t[n]===a;)r++,n++;for(var o=(t.length-n)*c+1>>>0,u=new Uint8Array(o);t[n];){var f=e[t.charCodeAt(n)];if(255===f)return;for(var l=0,h=o-1;(0!==f||l<i)&&-1!==h;h--,l++)f+=s*u[h]>>>0,u[h]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");i=l,n++}for(var p=o-i;p!==o&&0===u[p];)p++;for(var d=new Uint8Array(r+(o-p)),y=r;p!==o;)d[y++]=u[p++];return d}return{encode:function(e){if(e instanceof Uint8Array||(ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e))),!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===e.length)return"";for(var n=0,r=0,i=0,o=e.length;i!==o&&0===e[i];)i++,n++;for(var c=(o-i)*u+1>>>0,f=new Uint8Array(c);i!==o;){for(var l=e[i],h=0,p=c-1;(0!==l||h<r)&&-1!==p;p--,h++)l+=256*f[p]>>>0,f[p]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");r=h,i++}for(var d=c-r;d!==c&&0===f[d];)d++;for(var y=a.repeat(n);d<c;++d)y+=t.charAt(f[d]);return y},decodeUnsafe:f,decode:function(t){var e=f(t);if(e)return e;throw new Error("Non-base"+s+" character")}}}},766:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=a(t),s=o[0],c=o[1],u=new i(function(t,e,n){return 3*(e+n)/4-n}(0,s,c)),f=0,l=c>0?s-4:s;for(n=0;n<l;n+=4)e=r[t.charCodeAt(n)]<<18|r[t.charCodeAt(n+1)]<<12|r[t.charCodeAt(n+2)]<<6|r[t.charCodeAt(n+3)],u[f++]=e>>16&255,u[f++]=e>>8&255,u[f++]=255&e;return 2===c&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[f++]=255&e),1===c&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;a<u;a+=s)o.push(c(t,a,a+s>u?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=o[s],r[o.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,r){for(var i,o,s=[],a=e;a<r;a+=3)i=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},22:(t,e,n)=>{const r=n(166);t.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},98:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.c32ToB58=e.b58ToC32=e.c32addressDecode=e.c32address=e.versions=void 0;const r=n(392),i=n(716),o=n(64);e.versions={mainnet:{p2pkh:22,p2sh:20},testnet:{p2pkh:26,p2sh:21}};const s={};s[0]=e.versions.mainnet.p2pkh,s[5]=e.versions.mainnet.p2sh,s[111]=e.versions.testnet.p2pkh,s[196]=e.versions.testnet.p2sh;const a={};function c(t,e){if(!e.match(/^[0-9a-fA-F]{40}$/))throw new Error("Invalid argument: not a hash160 hex string");return`S${(0,r.c32checkEncode)(t,e)}`}function u(t){if(t.length<=5)throw new Error("Invalid c32 address: invalid length");if("S"!=t[0])throw new Error('Invalid c32 address: must start with "S"');return(0,r.c32checkDecode)(t.slice(1))}a[e.versions.mainnet.p2pkh]=0,a[e.versions.mainnet.p2sh]=5,a[e.versions.testnet.p2pkh]=111,a[e.versions.testnet.p2sh]=196,e.c32address=c,e.c32addressDecode=u,e.b58ToC32=function(t,e=-1){const n=i.decode(t),r=(0,o.bytesToHex)(n.data),a=parseInt((0,o.bytesToHex)(n.prefix),16);let u;return e<0?(u=a,void 0!==s[a]&&(u=s[a])):u=e,c(u,r)},e.c32ToB58=function(t,e=-1){const n=u(t),r=n[0],o=n[1];let s;e<0?(s=r,void 0!==a[r]&&(s=a[r])):s=e;let c=s.toString(16);return 1===c.length&&(c=`0${c}`),i.encode(o,c)}},716:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.encode=void 0;const r=n(53),i=n(64),o=n(166),s="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";e.encode=function(t,e="00"){const n="string"==typeof t?(0,i.hexToBytes)(t):t,a="string"==typeof e?(0,i.hexToBytes)(e):t;if(!(n instanceof Uint8Array&&a instanceof Uint8Array))throw new TypeError("Argument must be of type Uint8Array or string");const c=(0,r.sha256)((0,r.sha256)(new Uint8Array([...a,...n])));return o(s).encode([...a,...n,...c.slice(0,4)])},e.decode=function(t){const e=o(s).decode(t),n=e.slice(0,1),i=e.slice(1,-4),a=(0,r.sha256)((0,r.sha256)(new Uint8Array([...n,...i])));return e.slice(-4).forEach(((t,e)=>{if(t!==a[e])throw new Error("Invalid checksum")})),{prefix:n,data:i}}},392:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.c32checkDecode=e.c32checkEncode=void 0;const r=n(53),i=n(64),o=n(103);function s(t){const e=(0,r.sha256)((0,r.sha256)((0,i.hexToBytes)(t)));return(0,i.bytesToHex)(e.slice(0,4))}e.c32checkEncode=function(t,e){if(t<0||t>=32)throw new Error("Invalid version (must be between 0 and 31)");if(!e.match(/^[0-9a-fA-F]*$/))throw new Error("Invalid data (not a hex string)");(e=e.toLowerCase()).length%2!=0&&(e=`0${e}`);let n=t.toString(16);1===n.length&&(n=`0${n}`);const r=s(`${n}${e}`),i=(0,o.c32encode)(`${e}${r}`);return`${o.c32[t]}${i}`},e.c32checkDecode=function(t){t=(0,o.c32normalize)(t);const e=(0,o.c32decode)(t.slice(1)),n=t[0],r=o.c32.indexOf(n),i=e.slice(-8);let a=r.toString(16);if(1===a.length&&(a=`0${a}`),s(`${a}${e.substring(0,e.length-8)}`)!==i)throw new Error("Invalid c32check string: checksum mismatch");return[r,e.substring(0,e.length-8)]}},103:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.c32decode=e.c32normalize=e.c32encode=e.c32=void 0;const r=n(64);e.c32="0123456789ABCDEFGHJKMNPQRSTVWXYZ";const i="0123456789abcdef";function o(t){return t.toUpperCase().replace(/O/g,"0").replace(/L|I/g,"1")}e.c32encode=function(t,n){if(!t.match(/^[0-9a-fA-F]*$/))throw new Error("Not a hex-encoded string");t.length%2!=0&&(t=`0${t}`);let o=[],s=0;for(let n=(t=t.toLowerCase()).length-1;n>=0;n--)if(s<4){const r=i.indexOf(t[n])>>s;let a=0;0!==n&&(a=i.indexOf(t[n-1]));const c=1+s,u=a%(1<<c)<<5-c,f=e.c32[r+u];s=c,o.unshift(f)}else s=0;let a=0;for(let t=0;t<o.length&&"0"===o[t];t++)a++;o=o.slice(a);const c=(new TextDecoder).decode((0,r.hexToBytes)(t)).match(/^\u0000*/),u=c?c[0].length:0;for(let t=0;t<u;t++)o.unshift(e.c32[0]);if(n){const t=n-o.length;for(let n=0;n<t;n++)o.unshift(e.c32[0])}return o.join("")},e.c32normalize=o,e.c32decode=function(t,n){if(!(t=o(t)).match(`^[${e.c32}]*$`))throw new Error("Not a c32-encoded string");const r=t.match(`^${e.c32[0]}*`),s=r?r[0].length:0;let a=[],c=0,u=0;for(let n=t.length-1;n>=0;n--){4===u&&(a.unshift(i[c]),u=0,c=0);const r=(e.c32.indexOf(t[n])<<u)+c,o=i[r%16];if(u+=1,c=r>>4,c>1<<u)throw new Error("Panic error in decoding.");a.unshift(o)}a.unshift(i[c]),a.length%2==1&&a.unshift("0");let f=0;for(let t=0;t<a.length&&"0"===a[t];t++)f++;a=a.slice(f-f%2);let l=a.join("");for(let t=0;t<s;t++)l=`00${l}`;if(n){const t=2*n-l.length;for(let e=0;e<t;e+=2)l=`00${l}`}return l}},870:(t,e,n)=>{"use strict";e.H4=void 0;n(103),n(392);const r=n(98);Object.defineProperty(e,"H4",{enumerable:!0,get:function(){return r.c32address}})},616:function(){!function(t){!function(e){var n="URLSearchParams"in t,r="Symbol"in t&&"iterator"in Symbol,i="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),o="FormData"in t,s="ArrayBuffer"in t;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&a.indexOf(Object.prototype.toString.call(t))>-1};function u(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function h(t){this.map={},t instanceof h?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function p(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}}))}function y(t){var e=new FileReader,n=d(e);return e.readAsArrayBuffer(t),n}function g(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:i&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:o&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:n&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&i&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=g(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=g(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var t=p(this);if(t)return t;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?p(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,e,n,r=p(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,n=d(e=new FileReader),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r<e.length;r++)n[r]=String.fromCharCode(e[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(t,e){t=u(t),e=f(e);var n=this.map[t];this.map[t]=n?n+", "+e:e},h.prototype.delete=function(t){delete this.map[u(t)]},h.prototype.get=function(t){return t=u(t),this.has(t)?this.map[t]:null},h.prototype.has=function(t){return this.map.hasOwnProperty(u(t))},h.prototype.set=function(t,e){this.map[u(t)]=f(e)},h.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},h.prototype.keys=function(){var t=[];return this.forEach((function(e,n){t.push(n)})),l(t)},h.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),l(t)},h.prototype.entries=function(){var t=[];return this.forEach((function(e,n){t.push([n,e])})),l(t)},r&&(h.prototype[Symbol.iterator]=h.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var n,r,i=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new h(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new h(e.headers)),this.method=(r=(n=e.method||this.method||"GET").toUpperCase(),b.indexOf(r)>-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function v(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}})),e}function x(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new h(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},x.error=function(){var t=new x(null,{status:0,statusText:""});return t.type="error",t};var E=[301,302,303,307,308];x.redirect=function(t,e){if(-1===E.indexOf(e))throw new RangeError("Invalid status code");return new x(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function S(t,n){return new Promise((function(r,o){var s=new w(t,n);if(s.signal&&s.signal.aborted)return o(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function c(){a.abort()}a.onload=function(){var t,e,n={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new h,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var n=t.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();e.append(r,i)}})),e)};n.url="responseURL"in a?a.responseURL:n.headers.get("X-Request-URL");var i="response"in a?a.response:a.responseText;r(new x(i,n))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",c),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",c)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}S.polyfill=!0,t.fetch||(t.fetch=S,t.Headers=h,t.Request=w,t.Response=x),e.Headers=h,e.Request=w,e.Response=x,e.fetch=S,Object.defineProperty(e,"__esModule",{value:!0})}({})}("undefined"!=typeof self?self:this)},959:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.encode=e.unescape=e.escape=e.pad=void 0;const r=n(766);function i(t){return`${t}${"=".repeat(4-(t.length%4||4))}`}function o(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function s(t){return i(t).replace(/-/g,"+").replace(/_/g,"/")}e.pad=i,e.escape=o,e.unescape=s,e.encode=function(t){return o((0,r.fromByteArray)((new TextEncoder).encode(t)))},e.decode=function(t){return(new TextDecoder).decode((0,r.toByteArray)(i(s(t))))}},996:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.cryptoClients=e.SECP256K1Client=void 0;const r=n(869);Object.defineProperty(e,"SECP256K1Client",{enumerable:!0,get:function(){return r.SECP256K1Client}});const i={ES256K:r.SECP256K1Client};e.cryptoClients=i},869:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SECP256K1Client=void 0;const r=n(514),i=n(53),o=n(698),s=n(575),a=n(643),c=n(64);o.utils.hmacSha256Sync=(t,...e)=>{const n=r.hmac.create(i.sha256,t);return e.forEach((t=>n.update(t))),n.digest()};class u{static derivePublicKey(t,e=!0){return 66===t.length&&(t=t.slice(0,64)),t.length<64&&(t=t.padStart(64,"0")),(0,c.bytesToHex)(o.getPublicKey(t,e))}static signHash(t,e,n="jose"){if(!t||!e)throw new a.MissingParametersError("a signing input hash and private key are all required");const r=o.signSync(t,e.slice(0,64),{der:!0,canonical:!1});if("der"===n)return(0,c.bytesToHex)(r);if("jose"===n)return(0,s.derToJose)(r,"ES256");throw Error("Invalid signature format")}static loadSignature(t){return(0,s.joseToDer)(t,"ES256")}static verifyHash(t,e,n){if(!t||!e||!n)throw new a.MissingParametersError("a signing input hash, der signature, and public key are all required");return o.verify(e,t,n,{strict:!1})}}e.SECP256K1Client=u,u.algorithmName="ES256K"},874:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.hashSha256Async=e.hashSha256=void 0;const i=n(53);function o(t){return(0,i.sha256)(t)}e.hashSha256=o,e.hashSha256Async=function(t){return r(this,void 0,void 0,(function*(){try{if("undefined"!=typeof crypto&&void 0!==crypto.subtle){const e="string"==typeof t?(new TextEncoder).encode(t):t,n=yield crypto.subtle.digest("SHA-256",e);return new Uint8Array(n)}{const e=n(812);if(!e.createHash)throw new Error("`crypto` module does not contain `createHash`");return Promise.resolve(e.createHash("sha256").update(t).digest())}}catch(e){return console.log(e),console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, nor the or the Node.js `require("crypto").createHash` module is available. Falling back to JS implementation.'),Promise.resolve(o(t))}}))}},917:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeToken=void 0;const r=n(959);e.decodeToken=function(t){if("string"==typeof t){const e=t.split(".");return{header:JSON.parse(r.decode(e[0])),payload:JSON.parse(r.decode(e[1])),signature:e[2]}}if("object"==typeof t){if("string"!=typeof t.payload)throw new Error("Expected token payload to be a base64 or json string");let e=t.payload;"{"!==t.payload[0]&&(e=r.decode(e));const n=[];return t.header.map((t=>{const e=JSON.parse(r.decode(t));n.push(e)})),{header:n,payload:JSON.parse(e),signature:t.signature}}}},575:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.joseToDer=e.derToJose=void 0;const r=n(766),i=n(959);function o(t){return(t/8|0)+(t%8==0?0:1)}const s={ES256:o(256),ES384:o(384),ES512:o(521)};function a(t){const e=s[t];if(e)return e;throw new Error(`Unknown algorithm "${t}"`)}const c=128;function u(t){if(t instanceof Uint8Array)return t;if("string"==typeof t)return(0,r.toByteArray)((0,i.pad)(t));throw new TypeError("ECDSA signature must be a Base64 string or a Uint8Array")}function f(t,e,n){let r=0;for(;e+r<n&&0===t[e+r];)++r;return t[e+r]>=c&&--r,r}e.derToJose=function(t,e){const n=u(t),o=a(e),s=o+1,c=n.length;let f=0;if(48!==n[f++])throw new Error('Could not find expected "seq"');let l=n[f++];if(129===l&&(l=n[f++]),c-f<l)throw new Error(`"seq" specified length of "${l}", only "${c-f}" remaining`);if(2!==n[f++])throw new Error('Could not find expected "int" for "r"');const h=n[f++];if(c-f-2<h)throw new Error(`"r" specified length of "${h}", only "${c-f-2}" available`);if(s<h)throw new Error(`"r" specified length of "${h}", max of "${s}" is acceptable`);const p=f;if(f+=h,2!==n[f++])throw new Error('Could not find expected "int" for "s"');const d=n[f++];if(c-f!==d)throw new Error(`"s" specified length of "${d}", expected "${c-f}"`);if(s<d)throw new Error(`"s" specified length of "${d}", max of "${s}" is acceptable`);const y=f;if(f+=d,f!==c)throw new Error(`Expected to consume entire array, but "${c-f}" bytes remain`);const g=o-h,m=o-d,b=new Uint8Array(g+h+m+d);for(f=0;f<g;++f)b[f]=0;b.set(n.subarray(p+Math.max(-g,0),p+h),f),f=o;for(const t=f;f<t+m;++f)b[f]=0;return b.set(n.subarray(y+Math.max(-m,0),y+d),f),(0,i.escape)((0,r.fromByteArray)(b))},e.joseToDer=function(t,e){t=u(t);const n=a(e),r=t.length;if(r!==2*n)throw new TypeError(`"${e}" signatures must be "${2*n}" bytes, saw "${r}"`);const i=f(t,0,n),o=f(t,n,t.length),s=n-i,l=n-o,h=2+s+1+1+l,p=h<c,d=new Uint8Array((p?2:3)+h);let y=0;return d[y++]=48,p?d[y++]=h:(d[y++]=129,d[y++]=255&h),d[y++]=2,d[y++]=s,i<0?(d[y++]=0,d.set(t.subarray(0,n),y),y+=n):(d.set(t.subarray(i,n),y),y+=n-i),d[y++]=2,d[y++]=l,o<0?(d[y++]=0,d.set(t.subarray(n),y)):d.set(t.subarray(n+o),y),d}},643:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InvalidTokenError=e.MissingParametersError=void 0;class n extends Error{constructor(t){super(),this.name="MissingParametersError",this.message=t||""}}e.MissingParametersError=n;class r extends Error{constructor(t){super(),this.name="InvalidTokenError",this.message=t||""}}e.InvalidTokenError=r},474:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(650),e),i(n(458),e),i(n(917),e),i(n(643),e),i(n(996),e)},650:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.TokenSigner=e.createUnsecuredToken=void 0;const i=n(959),o=n(996),s=n(643),a=n(874);function c(t,e){const n=[],r=i.encode(JSON.stringify(e));n.push(r);const o=i.encode(JSON.stringify(t));return n.push(o),n.join(".")}e.createUnsecuredToken=function(t){return c(t,{typ:"JWT",alg:"none"})+"."},e.TokenSigner=class{constructor(t,e){if(!t||!e)throw new s.MissingParametersError("a signing algorithm and private key are required");if("string"!=typeof t)throw new Error("signing algorithm parameter must be a string");if(t=t.toUpperCase(),!o.cryptoClients.hasOwnProperty(t))throw new Error("invalid signing algorithm");this.tokenType="JWT",this.cryptoClient=o.cryptoClients[t],this.rawPrivateKey=e}header(t={}){const e={typ:this.tokenType,alg:this.cryptoClient.algorithmName};return Object.assign({},e,t)}sign(t,e=!1,n={}){const r=this.header(n),i=c(t,r),o=(0,a.hashSha256)(i);return this.createWithSignedHash(t,e,r,i,o)}signAsync(t,e=!1,n={}){return r(this,void 0,void 0,(function*(){const r=this.header(n),i=c(t,r),o=yield(0,a.hashSha256Async)(i);return this.createWithSignedHash(t,e,r,i,o)}))}createWithSignedHash(t,e,n,r,o){const s=this.cryptoClient.signHash(o,this.rawPrivateKey);return e?{header:[i.encode(JSON.stringify(n))],payload:JSON.stringify(t),signature:[s]}:[r,s].join(".")}}},458:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenVerifier=void 0;const r=n(959),i=n(996),o=n(643),s=n(874);e.TokenVerifier=class{constructor(t,e){if(!t||!e)throw new o.MissingParametersError("a signing algorithm and public key are required");if("string"!=typeof t)throw"signing algorithm parameter must be a string";if(t=t.toUpperCase(),!i.cryptoClients.hasOwnProperty(t))throw"invalid signing algorithm";this.tokenType="JWT",this.cryptoClient=i.cryptoClients[t],this.rawPublicKey=e}verify(t){return"string"==typeof t?this.verifyCompact(t,!1):"object"==typeof t&&this.verifyExpanded(t,!1)}verifyAsync(t){return"string"==typeof t?this.verifyCompact(t,!0):"object"==typeof t?this.verifyExpanded(t,!0):Promise.resolve(!1)}verifyCompact(t,e){const n=t.split("."),r=n[0]+"."+n[1],i=t=>{const e=this.cryptoClient.loadSignature(n[2]);return this.cryptoClient.verifyHash(t,e,this.rawPublicKey)};if(e)return(0,s.hashSha256Async)(r).then((t=>i(t)));{const t=(0,s.hashSha256)(r);return i(t)}}verifyExpanded(t,e){const n=[t.header.join("."),r.encode(t.payload)].join(".");let i=!0;const o=e=>(t.signature.map((t=>{const n=this.cryptoClient.loadSignature(t);this.cryptoClient.verifyHash(e,n,this.rawPublicKey)||(i=!1)})),i);if(e)return(0,s.hashSha256Async)(n).then((t=>o(t)));{const t=(0,s.hashSha256)(n);return o(t)}}}},907:(t,e,n)=>{t=n.nmd(t);var r="__lodash_hash_undefined__",i=9007199254740991,o="[object Arguments]",s="[object Boolean]",a="[object Date]",c="[object Function]",u="[object GeneratorFunction]",f="[object Map]",l="[object Number]",h="[object Object]",p="[object Promise]",d="[object RegExp]",y="[object Set]",g="[object String]",m="[object Symbol]",b="[object WeakMap]",w="[object ArrayBuffer]",v="[object DataView]",x="[object Float32Array]",E="[object Float64Array]",S="[object Int8Array]",A="[object Int16Array]",_="[object Int32Array]",k="[object Uint8Array]",O="[object Uint8ClampedArray]",j="[object Uint16Array]",T="[object Uint32Array]",F=/\w*$/,U=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,B={};B[o]=B["[object Array]"]=B[w]=B[v]=B[s]=B[a]=B[x]=B[E]=B[S]=B[A]=B[_]=B[f]=B[l]=B[h]=B[d]=B[y]=B[g]=B[m]=B[k]=B[O]=B[j]=B[T]=!0,B["[object Error]"]=B[c]=B[b]=!1;var C="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,$="object"==typeof self&&self&&self.Object===Object&&self,L=C||$||Function("return this")(),N=e&&!e.nodeType&&e,P=N&&t&&!t.nodeType&&t,D=P&&P.exports===N;function H(t,e){return t.set(e[0],e[1]),t}function R(t,e){return t.add(e),t}function z(t,e,n,r){var i=-1,o=t?t.length:0;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function M(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function q(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function V(t,e){return function(n){return t(e(n))}}function G(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var K,J=Array.prototype,W=Function.prototype,Z=Object.prototype,X=L["__core-js_shared__"],Y=(K=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=W.toString,tt=Z.hasOwnProperty,et=Z.toString,nt=RegExp("^"+Q.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rt=D?L.Buffer:void 0,it=L.Symbol,ot=L.Uint8Array,st=V(Object.getPrototypeOf,Object),at=Object.create,ct=Z.propertyIsEnumerable,ut=J.splice,ft=Object.getOwnPropertySymbols,lt=rt?rt.isBuffer:void 0,ht=V(Object.keys,Object),pt=Lt(L,"DataView"),dt=Lt(L,"Map"),yt=Lt(L,"Promise"),gt=Lt(L,"Set"),mt=Lt(L,"WeakMap"),bt=Lt(Object,"create"),wt=Rt(pt),vt=Rt(dt),xt=Rt(yt),Et=Rt(gt),St=Rt(mt),At=it?it.prototype:void 0,_t=At?At.valueOf:void 0;function kt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ot(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function jt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Tt(t){this.__data__=new Ot(t)}function Ft(t,e,n){var r=t[e];tt.call(t,e)&&zt(r,n)&&(void 0!==n||e in t)||(t[e]=n)}function Ut(t,e){for(var n=t.length;n--;)if(zt(t[n][0],e))return n;return-1}function It(t,e,n,r,i,p,b){var U;if(r&&(U=p?r(t,i,p,b):r(t)),void 0!==U)return U;if(!Kt(t))return t;var I=Mt(t);if(I){if(U=function(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&tt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!e)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,U)}else{var C=Pt(t),$=C==c||C==u;if(Vt(t))return function(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}(t,e);if(C==h||C==o||$&&!p){if(M(t))return p?t:{};if(U=function(t){return"function"!=typeof t.constructor||Ht(t)?{}:Kt(e=st(t))?at(e):{};var e}($?{}:t),!e)return function(t,e){return Ct(t,Nt(t),e)}(t,function(t,e){return t&&Ct(e,Jt(e),t)}(U,t))}else{if(!B[C])return p?t:{};U=function(t,e,n,r){var i,o=t.constructor;switch(e){case w:return Bt(t);case s:case a:return new o(+t);case v:return function(t,e){var n=e?Bt(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,r);case x:case E:case S:case A:case _:case k:case O:case j:case T:return function(t,e){var n=e?Bt(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,r);case f:return function(t,e,n){return z(e?n(q(t),!0):q(t),H,new t.constructor)}(t,r,n);case l:case g:return new o(t);case d:return function(t){var e=new t.constructor(t.source,F.exec(t));return e.lastIndex=t.lastIndex,e}(t);case y:return function(t,e,n){return z(e?n(G(t),!0):G(t),R,new t.constructor)}(t,r,n);case m:return i=t,_t?Object(_t.call(i)):{}}}(t,C,It,e)}}b||(b=new Tt);var L=b.get(t);if(L)return L;if(b.set(t,U),!I)var N=n?function(t){return function(t,e,n){var r=e(t);return Mt(t)?r:function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}(r,n(t))}(t,Jt,Nt)}(t):Jt(t);return function(t,e){for(var n=-1,r=t?t.length:0;++n<r&&!1!==e(t[n],n););}(N||t,(function(i,o){N&&(i=t[o=i]),Ft(U,o,It(i,e,n,r,o,t,b))})),U}function Bt(t){var e=new t.constructor(t.byteLength);return new ot(e).set(new ot(t)),e}function Ct(t,e,n,r){n||(n={});for(var i=-1,o=e.length;++i<o;){var s=e[i],a=r?r(n[s],t[s],s,n,t):void 0;Ft(n,s,void 0===a?t[s]:a)}return n}function $t(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function Lt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Kt(t)||(e=t,Y&&Y in e))&&(Gt(t)||M(t)?nt:U).test(Rt(t));var e}(n)?n:void 0}kt.prototype.clear=function(){this.__data__=bt?bt(null):{}},kt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},kt.prototype.get=function(t){var e=this.__data__;if(bt){var n=e[t];return n===r?void 0:n}return tt.call(e,t)?e[t]:void 0},kt.prototype.has=function(t){var e=this.__data__;return bt?void 0!==e[t]:tt.call(e,t)},kt.prototype.set=function(t,e){return this.__data__[t]=bt&&void 0===e?r:e,this},Ot.prototype.clear=function(){this.__data__=[]},Ot.prototype.delete=function(t){var e=this.__data__,n=Ut(e,t);return!(n<0||(n==e.length-1?e.pop():ut.call(e,n,1),0))},Ot.prototype.get=function(t){var e=this.__data__,n=Ut(e,t);return n<0?void 0:e[n][1]},Ot.prototype.has=function(t){return Ut(this.__data__,t)>-1},Ot.prototype.set=function(t,e){var n=this.__data__,r=Ut(n,t);return r<0?n.push([t,e]):n[r][1]=e,this},jt.prototype.clear=function(){this.__data__={hash:new kt,map:new(dt||Ot),string:new kt}},jt.prototype.delete=function(t){return $t(this,t).delete(t)},jt.prototype.get=function(t){return $t(this,t).get(t)},jt.prototype.has=function(t){return $t(this,t).has(t)},jt.prototype.set=function(t,e){return $t(this,t).set(t,e),this},Tt.prototype.clear=function(){this.__data__=new Ot},Tt.prototype.delete=function(t){return this.__data__.delete(t)},Tt.prototype.get=function(t){return this.__data__.get(t)},Tt.prototype.has=function(t){return this.__data__.has(t)},Tt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Ot){var r=n.__data__;if(!dt||r.length<199)return r.push([t,e]),this;n=this.__data__=new jt(r)}return n.set(t,e),this};var Nt=ft?V(ft,Object):function(){return[]},Pt=function(t){return et.call(t)};function Dt(t,e){return!!(e=null==e?i:e)&&("number"==typeof t||I.test(t))&&t>-1&&t%1==0&&t<e}function Ht(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Z)}function Rt(t){if(null!=t){try{return Q.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function zt(t,e){return t===e||t!=t&&e!=e}(pt&&Pt(new pt(new ArrayBuffer(1)))!=v||dt&&Pt(new dt)!=f||yt&&Pt(yt.resolve())!=p||gt&&Pt(new gt)!=y||mt&&Pt(new mt)!=b)&&(Pt=function(t){var e=et.call(t),n=e==h?t.constructor:void 0,r=n?Rt(n):void 0;if(r)switch(r){case wt:return v;case vt:return f;case xt:return p;case Et:return y;case St:return b}return e});var Mt=Array.isArray;function qt(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}(t.length)&&!Gt(t)}var Vt=lt||function(){return!1};function Gt(t){var e=Kt(t)?et.call(t):"";return e==c||e==u}function Kt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Jt(t){return qt(t)?function(t,e){var n=Mt(t)||function(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&qt(t)}(t)&&tt.call(t,"callee")&&(!ct.call(t,"callee")||et.call(t)==o)}(t)?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],r=n.length,i=!!r;for(var s in t)!e&&!tt.call(t,s)||i&&("length"==s||Dt(s,r))||n.push(s);return n}(t):function(t){if(!Ht(t))return ht(t);var e=[];for(var n in Object(t))tt.call(t,n)&&"constructor"!=n&&e.push(n);return e}(t)}t.exports=function(t){return It(t,!0,!0)}},406:t=>{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var a,c=[],u=!1,f=-1;function l(){u&&a&&(u=!1,a.length?c=a.concat(c):f=-1,c.length&&h())}function h(){if(!u){var t=s(l);u=!0;for(var e=c.length;e;){for(a=c,c=[];++f<e;)a&&a[f].run();f=-1,e=c.length}a=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function d(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new p(t,e)),1!==c.length||u||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=d,r.addListener=d,r.once=d,r.off=d,r.removeListener=d,r.removeAllListeners=d,r.emit=d,r.prependListener=d,r.prependOnceListener=d,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},179:(t,e,n)=>{t.exports=n(224)},224:(t,e,n)=>{!function(){var e={};if(e.async=n(903),"object"!=typeof e.async)throw new Error("Module async is required (https://github.com/caolan/async)");var r=e.async;function i(t,e){if(!e||"object"!=typeof e)return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}function o(){var t={},e=Array.prototype.slice.call(arguments),n=null,r=null;return e.forEach((function(e){if(e&&e.constructor===Object)for(n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]]})),t}function s(){this.custom={},this.extend=function(t){return i(this.custom,t)},this.reset=function(){this.custom={}},this.remove=function(t){c.array(t)||(t=[t]),t.forEach((function(t){delete this.custom[t]}),this)}}function a(t,e){var n=["@"];if(this._schema=t,this._custom={},null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._custom["$"+r]=e[r]);this._getDepth=function(){return n.length},this._dumpStack=function(){return n.map((function(t){return t.replace(/^\[/g,"")})).join(".").replace(/\.\u001b\u001c\u001d\u001e/g,"[")},this._deeperObject=function(t){return n.push(/^[a-z$_][a-z0-9$_]*$/i.test(t)?t:'["'+t+'"]'),this},this._deeperArray=function(t){return n.push("["+t+"]"),this},this._back=function(){return n.pop(),this}}var c={function:function(t){return"function"==typeof t},string:function(t){return"string"==typeof t},number:function(t){return"number"==typeof t&&!isNaN(t)},integer:function(t){return"number"==typeof t&&t%1==0},NaN:function(t){return"number"==typeof t&&isNaN(t)},boolean:function(t){return"boolean"==typeof t},null:function(t){return null===t},date:function(t){return null!=t&&t instanceof Date},object:function(t){return"object"==typeof t&&null!=t&&t.constructor!==Array},array:function(t){return null!=t&&t.constructor===Array},any:function(){return!0}};function u(t,e){return"function"==typeof t?e instanceof t:c[t=t in c?t:"any"](e)}function f(t,e){for(var n=[],r=t.indexOf(e);-1!==r;)n.push(r),r=t.indexOf(e,r+1);return n}var l={void:/^$/,url:/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)?(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,"date-time":/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z?|(-|\+)\d{2}:\d{2})$/,date:/^\d{4}-\d{2}-\d{2}$/,coolDateTime:/^\d{4}(-|\/)\d{2}(-|\/)\d{2}(T| )\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/,time:/^\d{2}\:\d{2}\:\d{2}$/,color:/^#([0-9a-f])+$/i,email:new RegExp("(?:[^\\W_](?:[\\w\\.\\+]+)@(?:localhost|(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:northwesternmutual|travelersinsurance|vermögensberatung|vermögensberater|americanexpress|kerryproperties|sandvikcoromant|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|construction|lplfinancial|scholarships|versicherung|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|university|vlaanderen|volkswagen|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|موريتانيا|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|السعودية|yokohama|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|католик|الجزائر|العليان|اتصالات|پاکستان|البحرين|كاثوليك|இந்தியா|yamaxun|youtube|zuerich|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|москва|онлайн|ファッション|भारतम्|ارامكو|امارات|الاردن|المغرب|ابوظبي|مليسيا|இலங்கை|فلسطين|yachts|yandex|zappos|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|ישראל|বাংলা|భారత్|भारोत|संगठन|ایران|بازار|بھارت|سودان|همراه|سورية|ഭാരതം|嘉里大酒店|yahoo|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|duck|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|ಭಾರತ|ଭାରତ|大众汽车|ভাৰত|ভারত|موقع|香格里拉|сайт|アマゾン|дети|ポイント|ලංකා|電訊盈科|クラウド|ભારત|भारत|عمان|بارت|ڀارت|عراق|شبكة|بيتك|组织机构|تونس|グーグル|ਭਾਰਤ|yoga|zara|zero|zone|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|कॉम|セール|คอม|我爱你|қаз|срб|бел|קום|淡马锡|орг|नेट|ストア|мкд|كوم|中文网|ком|укр|亚马逊|诺基亚|飞利浦|мон|عرب|ไทย|рус|ລາວ|みんな|天主教|مصر|قطر|հայ|新加坡|xxx|xyz|you|yun|zip|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|佛山|慈善|集团|在线|한국|点看|八卦|公益|公司|网站|移动|联通|бг|时尚|微博|삼성|商标|商店|商城|ею|新闻|家電|中信|中国|中國|娱乐|谷歌|购物|通販|网店|餐厅|网络|香港|食品|台湾|台灣|手机|澳門|닷컴|政府|გე|机构|健康|招聘|рф|大拿|ευ|ελ|世界|書籍|网址|닷넷|コム|游戏|企业|信息|嘉里|广东|政务|ye|yt|za|zm|zw))))"),numeric:/^[0-9]+$/,integer:/^\-?[0-9]+$/,decimal:/^\-?[0-9]*\.?[0-9]+$/,alpha:/^[a-z]+$/i,alphaNumeric:/^[a-z0-9]+$/i,alphaDash:/^[a-z0-9_-]+$/i,javascript:/^[a-z_\$][a-z0-9_\$]*$/i,upperString:/^[A-Z ]*$/,lowerString:/^[a-z ]*$/,v4uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$/i},h={optional:function(t,e){!0!==("boolean"==typeof t.optional?t.optional:"true"===t.optional)&&void 0===e&&this.report("is missing and not optional",null,"optional")},type:function(t,e){if(void 0!==e&&("string"==typeof t.type||t.type instanceof Array||"function"==typeof t.type)){var n=c.array(t.type)?t.type:[t.type];n.some((function(t){return u(t,e)}))||(n=n.map((function(t){return"function"==typeof t?"an instance of "+t.name:t})),this.report("must be "+n.join(" or ")+", but is "+function(t){for(var e in c)if(u(e,t))return"any"===e||"object"===e&&t.constructor!==Object?"an instance of "+t.constructor.name:e}(e),null,"type"))}},uniqueness:function(t,e){if("string"==typeof t.uniqueness&&(t.uniqueness="true"===t.uniqueness),"boolean"==typeof t.uniqueness&&!1!==t.uniqueness&&(c.array(e)||"string"==typeof e))for(var n=[],r=0;r<e.length;r++)if(!(n.indexOf(e[r])>=0)){var i=f(e,e[r]);i.length>1&&(n.push(e[r]),this.report("has value ["+e[r]+"] more than once at indexes ["+i.join(", ")+"]",null,"uniqueness"))}},pattern:function(t,e){var n=t.pattern;if("string"==typeof e){var r=!1;c.array(n)||(n=[n]),n.forEach((function(t){"string"==typeof t&&t in l&&(t=l[t]),t instanceof RegExp&&t.test(e)&&(r=!0)})),r||this.report("must match ["+n.join(" or ")+'], but is equal to "'+e+'"',null,"pattern")}},validDate:function(t,e){"true"===String(t.validDate)&&e instanceof Date&&isNaN(e.getTime())&&this.report("must be a valid date",null,"validDate")},minLength:function(t,e){if("string"==typeof e||c.array(e)){var n=Number(t.minLength);isNaN(n)||e.length<n&&this.report("must be longer than "+n+" elements, but it has "+e.length,null,"minLength")}},maxLength:function(t,e){if("string"==typeof e||c.array(e)){var n=Number(t.maxLength);isNaN(n)||e.length>n&&this.report("must be shorter than "+n+" elements, but it has "+e.length,null,"maxLength")}},exactLength:function(t,e){if("string"==typeof e||c.array(e)){var n=Number(t.exactLength);isNaN(n)||e.length!==n&&this.report("must have exactly "+n+" elements, but it have "+e.length,null,"exactLength")}},lt:function(t,e){var n=Number(t.lt);"number"!=typeof e||isNaN(n)||e>=n&&this.report("must be less than "+n+', but is equal to "'+e+'"',null,"lt")},lte:function(t,e){var n=Number(t.lte);"number"!=typeof e||isNaN(n)||e>n&&this.report("must be less than or equal to "+n+', but is equal to "'+e+'"',null,"lte")},gt:function(t,e){var n=Number(t.gt);"number"!=typeof e||isNaN(n)||e<=n&&this.report("must be greater than "+n+', but is equal to "'+e+'"',null,"gt")},gte:function(t,e){var n=Number(t.gte);"number"!=typeof e||isNaN(n)||e<n&&this.report("must be greater than or equal to "+n+', but is equal to "'+e+'"',null,"gte")},eq:function(t,e){if("number"==typeof e||"string"==typeof e||"boolean"==typeof e){var n=t.eq;if("number"==typeof n||"string"==typeof n||"boolean"==typeof n||c.array(n))if(c.array(n)){for(var r=0;r<n.length;r++)if(e===n[r])return;this.report("must be equal to ["+n.map((function(t){return'"'+t+'"'})).join(" or ")+'], but is equal to "'+e+'"',null,"eq")}else e!==n&&this.report('must be equal to "'+n+'", but is equal to "'+e+'"',null,"eq")}},ne:function(t,e){if("number"==typeof e||"string"==typeof e){var n=t.ne;if("number"==typeof n||"string"==typeof n||c.array(n))if(c.array(n)){for(var r=0;r<n.length;r++)if(e===n[r])return void this.report('must not be equal to "'+n[r]+'"',null,"ne")}else e===n&&this.report('must not be equal to "'+n+'"',null,"ne")}},someKeys:function(t,e){var n=t.someKeys;c.object(e)&&(n.some((function(t){return t in e}))||this.report("must have at least key "+n.map((function(t){return'"'+t+'"'})).join(" or "),null,"someKeys"))},strict:function(t,e){if("string"==typeof t.strict&&(t.strict="true"===t.strict),!0===t.strict&&c.object(e)&&c.object(t.properties)&&void 0===t.properties["*"]){var n=Object.keys(e).filter((function(e){return void 0===t.properties[e]}));if(n.length>0){var r="should not contains "+(n.length>1?"properties":"property")+" ["+n.map((function(t){return'"'+t+'"'})).join(", ")+"]";this.report(r,null,"strict")}}},exec:function(t,e,n){var r=this;if("function"==typeof n)return this.asyncExec(t,e,n);(c.array(t.exec)?t.exec:[t.exec]).forEach((function(n){"function"==typeof n&&n.call(r,t,e)}))},properties:function(t,e,n){if("function"==typeof n)return this.asyncProperties(t,e,n);if(t.properties instanceof Object&&e instanceof Object){var r,i=t.properties;if(null!=i["*"])for(r in e)r in i||(this._deeperObject(r),this._validate(i["*"],e[r]),this._back());for(r in i)"*"!==r&&(this._deeperObject(r),this._validate(i[r],e[r]),this._back())}},items:function(t,e,n){if("function"==typeof n)return this.asyncItems(t,e,n);if(t.items instanceof Object&&e instanceof Object){var r,i,o=t.items;if(c.array(o)&&c.array(e))for(r=0,i=o.length;r<i;r++)this._deeperArray(r),this._validate(o[r],e[r]),this._back();else for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(this._deeperArray(s),this._validate(o,e[s]),this._back())}}},p={asyncExec:function(t,e,n){var i=this;r.eachSeries(c.array(t.exec)?t.exec:[t.exec],(function(n,o){if("function"==typeof n){if(n.length>2)return n.call(i,t,e,o);n.call(i,t,e)}r.nextTick(o)}),n)},asyncProperties:function(t,e,n){if(!(t.properties instanceof Object&&c.object(e)))return n();var i=this,o=t.properties;r.series([function(t){if(null==o["*"])return t();r.eachSeries(Object.keys(e),(function(t,n){if(t in o)return r.nextTick(n);i._deeperObject(t),i._asyncValidate(o["*"],e[t],(function(t){i._back(),n(t)}))}),t)},function(t){r.eachSeries(Object.keys(o),(function(t,n){if("*"===t)return r.nextTick(n);i._deeperObject(t),i._asyncValidate(o[t],e[t],(function(t){i._back(),n(t)}))}),t)}],n)},asyncItems:function(t,e,n){if(!(t.items instanceof Object&&e instanceof Object))return n();var i=this,o=t.items;c.array(o)&&c.array(e)?r.timesSeries(o.length,(function(t,n){i._deeperArray(t),i._asyncValidate(o[t],e[t],(function(t,e){i._back(),n(t,e)})),i._back()}),n):r.eachSeries(Object.keys(e),(function(t,n){i._deeperArray(t),i._asyncValidate(o,e[t],(function(t,e){i._back(),n(t,e)}))}),n)}};function d(t,e){a.prototype.constructor.call(this,t,o(d.custom,e));var n=[];this._basicFields=Object.keys(h),this._customFields=Object.keys(this._custom),this.origin=null,this.report=function(t,e,r){var i={code:e||this.userCode||null,reason:r||"unknown",message:this.userError||t||"is invalid",property:this.userAlias?this.userAlias+" ("+this._dumpStack()+")":this._dumpStack()};return n.push(i),this},this.result=function(){return{error:n,valid:0===n.length,format:function(){return!0===this.valid?"Candidate is valid":this.error.map((function(t){return"Property "+t.property+": "+t.message})).join("\n")}}}}i(d.prototype,h),i(d.prototype,p),i(d,new s),d.prototype.validate=function(t,e){if(this.origin=t,"function"==typeof e){var n=this;return r.nextTick((function(){n._asyncValidate(n._schema,t,(function(t){n.origin=null,e(t,n.result())}))}))}return this._validate(this._schema,t).result()},d.prototype._validate=function(t,e,n){return this.userCode=t.code||null,this.userError=t.error||null,this.userAlias=t.alias||null,this._basicFields.forEach((function(n){!(n in t)&&"optional"!==n||"function"!=typeof this[n]||this[n](t,e)}),this),this._customFields.forEach((function(n){n in t&&"function"==typeof this._custom[n]&&this._custom[n].call(this,t,e)}),this),this},d.prototype._asyncValidate=function(t,e,n){var i=this;this.userCode=t.code||null,this.userError=t.error||null,this.userAlias=t.alias||null,r.series([function(n){r.eachSeries(Object.keys(h),(function(n,o){r.nextTick((function(){if((n in t||"optional"===n)&&"function"==typeof i[n]){if(i[n].length>2)return i[n](t,e,o);i[n](t,e)}o()}))}),n)},function(n){r.eachSeries(Object.keys(i._custom),(function(n,o){r.nextTick((function(){if(n in t&&"function"==typeof i._custom[n]){if(i._custom[n].length>2)return i._custom[n].call(i,t,e,o);i._custom[n].call(i,t,e)}o()}))}),n)}],n)};var y={number:function(t,e){var n;if("number"==typeof t)return t;if(""===t)return void 0!==e.def?e.def:null;if("string"==typeof t){if("number"==typeof(n=parseFloat(t.replace(/,/g,".").replace(/ /g,""))))return n}else if(t instanceof Date)return+t;return null},integer:function(t,e){var n;if("number"==typeof t&&t%1==0)return t;if(""===t)return void 0!==e.def?e.def:null;if("string"==typeof t){if("number"==typeof(n=parseInt(t.replace(/ /g,""),10)))return n}else{if("number"==typeof t)return parseInt(t,10);if("boolean"==typeof t)return t?1:0;if(t instanceof Date)return+t}return null},string:function(t,e){return"boolean"==typeof t||"number"==typeof t||t instanceof Date?t.toString():c.array(t)?e.items||e.properties?t:t.join(String(e.joinWith||",")):t instanceof Object?e.items||e.properties?t:JSON.stringify(t):"string"==typeof t&&t.length?t:null},date:function(t,e){if(t instanceof Date)return t;var n=new Date(t);return isNaN(n.getTime())?null:n},boolean:function(t,e){return void 0===t?null:("string"!=typeof t||"false"!==t.toLowerCase())&&!!t},object:function(t,e){if("string"!=typeof t||c.object(t))return t;try{return JSON.parse(t)}catch(t){return null}},array:function(t,e){if(c.array(t))return t;if(void 0===t)return null;if("string"==typeof t){if("["===t.substring(0,1)&&"]"===t.slice(-1))try{return JSON.parse(t)}catch(t){return null}return t.split(String(e.splitWith||","))}return c.array(t)?null:[t]}},g={upper:function(t){return t.toUpperCase()},lower:function(t){return t.toLowerCase()},title:function(t){return t.replace(/\S*/g,(function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()}))},capitalize:function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()},ucfirst:function(t){return t.charAt(0).toUpperCase()+t.substr(1)},trim:function(t){return t.trim()}},m={strict:function(t,e){return"string"==typeof t.strict&&(t.strict="true"===t.strict),!0!==t.strict?e:c.object(t.properties)&&c.object(e)?(Object.keys(e).forEach((function(n){n in t.properties||delete e[n]})),e):e},optional:function(t,e){return!0===("boolean"==typeof t.optional?t.optional:"false"!==t.optional)||void 0!==e?e:(this.report(),t.def===Date?new Date:t.def)},type:function(t,e){if("string"!=typeof t.type||"function"!=typeof y[t.type])return e;var n,r="boolean"!=typeof t.optional||t.optional;return"function"==typeof y[t.type]?(null===(n=y[t.type](e,t))&&!r||!n&&isNaN(n)||null===n&&"string"===t.type)&&(n=t.def):r||(n=t.def),(null!=n||void 0!==t.def&&t.def===n)&&n!==e?(this.report(),n):e},rules:function(t,e){var n=t.rules;if("string"!=typeof e||"string"!=typeof n&&!c.array(n))return e;var r=!1;return(c.array(n)?n:[n]).forEach((function(t){"function"==typeof g[t]&&(e=g[t](e),r=!0)})),r&&this.report(),e},min:function(t,e){var n=Number(e);if(isNaN(n))return e;var r=Number(t.min);return isNaN(r)?e:n<r?(this.report(),r):e},max:function(t,e){var n=Number(e);if(isNaN(n))return e;var r=Number(t.max);return isNaN(r)?e:n>r?(this.report(),r):e},minLength:function(t,e){var n=Number(t.minLength);if("string"!=typeof e||isNaN(n)||n<0)return e;var r="",i=n-e.length;if(i>0){for(var o=0;o<i;o++)r+="-";return this.report(),e+r}return e},maxLength:function(t,e){var n=Number(t.maxLength);return"string"!=typeof e||isNaN(n)||n<0?e:e.length>n?(this.report(),e.slice(0,n)):e},properties:function(t,e,n){if("function"==typeof n)return this.asyncProperties(t,e,n);if(!e||"object"!=typeof e)return e;var r,i,o=t.properties;if(void 0!==o["*"])for(i in e)i in o||(this._deeperObject(i),(void 0!==(r=this._sanitize(o["*"],e[i]))||"exec"in o["*"])&&(e[i]=r),this._back());for(i in o)"*"!==i&&(this._deeperObject(i),(void 0!==(r=this._sanitize(o[i],e[i]))||"exec"in o[i])&&(e[i]=r),this._back());return e},items:function(t,e,n){if("function"==typeof n)return this.asyncItems(t,e,n);if(!(t.items instanceof Object&&e instanceof Object))return e;var r;if(c.array(t.items)&&c.array(e)){var i=t.items.length<e.length?t.items.length:e.length;for(r=0;r<i;r++)this._deeperArray(r),e[r]=this._sanitize(t.items[r],e[r]),this._back()}else for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._deeperArray(r),e[r]=this._sanitize(t.items,e[r]),this._back());return e},exec:function(t,e,n){return"function"==typeof n?this.asyncExec(t,e,n):((c.array(t.exec)?t.exec:[t.exec]).forEach((function(n){"function"==typeof n&&(e=n.call(this,t,e))}),this),e)}},b={asyncExec:function(t,e,n){var i=this,o=c.array(t.exec)?t.exec:[t.exec];r.eachSeries(o,(function(n,r){if("function"==typeof n){if(n.length>2)return n.call(i,t,e,(function(t,n){if(t)return r(t);e=n,r()}));e=n.call(i,t,e)}r()}),(function(t){n(t,e)}))},asyncProperties:function(t,e,n){if(!e||"object"!=typeof e)return n(null,e);var i=this,o=t.properties;r.series([function(t){if(null==o["*"])return t();var n=o["*"];r.eachSeries(Object.keys(e),(function(t,r){if(t in o)return r();i._deeperObject(t),i._asyncSanitize(n,e[t],(function(n,o){void 0!==o&&(e[t]=o),i._back(),r()}))}),t)},function(t){r.eachSeries(Object.keys(o),(function(t,n){if("*"===t)return n();i._deeperObject(t),i._asyncSanitize(o[t],e[t],(function(r,o){if(r)return n(r);void 0!==o&&(e[t]=o),i._back(),n()}))}),t)}],(function(t){return n(t,e)}))},asyncItems:function(t,e,n){if(!(t.items instanceof Object&&e instanceof Object))return n(null,e);var i=this,o=t.items;if(c.array(o)&&c.array(e)){var s=o.length<e.length?o.length:e.length;r.timesSeries(s,(function(t,n){i._deeperArray(t),i._asyncSanitize(o[t],e[t],(function(r,o){if(r)return n(r);e[t]=o,i._back(),n()}))}),(function(t){n(t,e)}))}else r.eachSeries(Object.keys(e),(function(t,n){i._deeperArray(t),i._asyncSanitize(o,e[t],(function(r,o){if(r)return n();e[t]=o,i._back(),n()}))}),(function(t){n(t,e)}));return e}};function w(t,e){a.prototype.constructor.call(this,t,o(w.custom,e));var n=[];this._basicFields=Object.keys(m),this._customFields=Object.keys(this._custom),this.origin=null,this.report=function(t){var e={message:t||"was sanitized",property:this.userAlias?this.userAlias+" ("+this._dumpStack()+")":this._dumpStack()};n.some((function(t){return t.property===e.property}))||n.push(e)},this.result=function(t){return{data:t,reporting:n,format:function(){return this.reporting.map((function(t){return"Property "+t.property+" "+t.message})).join("\n")}}}}i(w.prototype,m),i(w.prototype,b),i(w,new s),w.prototype.sanitize=function(t,e){if(this.origin=t,"function"==typeof e){var n=this;return this._asyncSanitize(this._schema,t,(function(t,r){n.origin=null,e(t,n.result(r))}))}var r=this._sanitize(this._schema,t);return this.origin=null,this.result(r)},w.prototype._sanitize=function(t,e){return this.userAlias=t.alias||null,this._basicFields.forEach((function(n){!(n in t)&&"optional"!==n||"function"!=typeof this[n]||(e=this[n](t,e))}),this),this._customFields.forEach((function(n){n in t&&"function"==typeof this._custom[n]&&(e=this._custom[n].call(this,t,e))}),this),e},w.prototype._asyncSanitize=function(t,e,n){var i=this;this.userAlias=t.alias||null,r.waterfall([function(n){r.reduce(i._basicFields,e,(function(e,n,o){r.nextTick((function(){if((n in t||"optional"===n)&&"function"==typeof i[n]){if(i[n].length>2)return i[n](t,e,o);e=i[n](t,e)}o(null,e)}))}),n)},function(e,n){r.reduce(i._customFields,e,(function(e,n,o){r.nextTick((function(){if(n in t&&"function"==typeof i._custom[n]){if(i._custom[n].length>2)return i._custom[n].call(i,t,e,o);e=i._custom[n].call(i,t,e)}o(null,e)}))}),n)}],n)};var v=2147483647,x={int:function(t,e){return t+(0|Math.random()*(e-t+1))},float:function(t,e){return Math.random()*(e-t)+t},bool:function(){return Math.random()>.5},char:function(t,e){return String.fromCharCode(this.int(t,e))},fromList:function(t){return t[this.int(0,t.length-1)]}},E={"date-time":function(){return(new Date).toISOString()},date:function(){return(new Date).toISOString().replace(/T.*$/,"")},time:function(){return(new Date).toLocaleTimeString({},{hour12:!1})},color:function(t,e){var n="#";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("0123456789abcdefABCDEF");return n},numeric:function(){return""+x.int(0,v)},integer:function(){return!0===x.bool()?"-"+this.numeric():this.numeric()},decimal:function(){return this.integer()+"."+this.numeric()},alpha:function(t,e){var n="";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");return n},alphaNumeric:function(t,e){var n="";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");return n},alphaDash:function(t,e){var n="";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("_-abcdefghijklmnopqrstuvwxyz_-ABCDEFGHIJKLMNOPQRSTUVWXYZ_-0123456789_-");return n},javascript:function(t,e){for(var n=x.fromList("_$abcdefghijklmnopqrstuvwxyz_$ABCDEFGHIJKLMNOPQRSTUVWXYZ_$"),r=0,i=x.int(t,e-1);r<i;r++)n+=x.fromList("_$abcdefghijklmnopqrstuvwxyz_$ABCDEFGHIJKLMNOPQRSTUVWXYZ_$0123456789_$");return n}};function S(t){var e=-2147483648,n=v;return null!=t.gte?e=t.gte:null!=t.gt&&(e=t.gt+1),null!=t.lte?n=t.lte:null!=t.lt&&(n=t.lt-1),{min:e,max:n}}var A={string:function(t){if(null!=t.eq)return t.eq;var e="",n=null!=t.minLength?t.minLength:0,r=null!=t.maxLength?t.maxLength:32;if("string"==typeof t.pattern&&"function"==typeof E[t.pattern])return E[t.pattern](n,r);for(var i=null!=t.exactLength?t.exactLength:x.int(n,r),o=0;o<i;o++)e+=x.char(32,126);return e},number:function(t){if(null!=t.eq)return t.eq;var e=S(t),n=x.float(e.min,e.max);if(null!=t.ne)for(var r=c.array(t.ne)?t.ne:[t.ne];-1!==r.indexOf(n);)n=x.float(e.min,e.max);return n},integer:function(t){if(null!=t.eq)return t.eq;var e=S(t),n=x.int(e.min,e.max);if(null!=t.ne)for(var r=c.array(t.ne)?t.ne:[t.ne];-1!==r.indexOf(n);)n=x.int(e.min,e.max);return n},boolean:function(t){return null!=t.eq?t.eq:x.bool()},null:function(t){return null},date:function(t){return null!=t.eq?t.eq:new Date},object:function(t){var e={},n=t.properties||{};for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){if(!0===n[r].optional&&!0===x.bool())continue;if("*"!==r)e[r]=this.generate(n[r]);else for(var i="__random_key_",o=i+0,s=x.int(1,9),a=1;a<=s;a++)o in n||(e[o]=this.generate(n[r])),o=i+a}return e},array:function(t){var e,n,r,i,o=t.items||{},s=null!=t.minLength?t.minLength:0,a=null!=t.maxLength?t.maxLength:16;if(c.array(o))for(r=o.length,null!=t.exactLength?r=t.exactLength:r<s?r=s:r>a&&(r=a),n=new Array(r),e=null,i=0;i<r;i++)e=o[i].type||"any",c.array(e)&&(e=e[x.int(0,e.length-1)]),n[i]=this[e](o[i]);else for(r=null!=t.exactLength?t.exactLength:x.int(s,a),n=new Array(r),e=o.type||"any",c.array(e)&&(e=e[x.int(0,e.length-1)]),i=0;i<r;i++)n[i]=this[e](o);return n},any:function(t){var e=Object.keys(A);return this[e[x.int(0,e.length-2)]](t)}};function _(){}i(_.prototype,A);var k=null;_.instance=function(){return k instanceof _||(k=new _),k},_.prototype.generate=function(t){var e=t.type||"any";return c.array(e)&&(e=e[x.int(0,e.length-1)]),this[e](t)};var O={};t.exports?t.exports=O:window.SchemaInspector=O,O.newSanitization=function(t,e){return new w(t,e)},O.newValidation=function(t,e){return new d(t,e)},O.Validation=d,O.Sanitization=w,O.sanitize=function(t,e,n,r){return 3===arguments.length&&"function"==typeof n&&(r=n,n=null),new w(t,n).sanitize(e,r)},O.validate=function(t,e,n,r){return 3===arguments.length&&"function"==typeof n&&(r=n,n=null),new d(t,n).validate(e,r)},O.generate=function(t,e){if("number"==typeof e){for(var n=new Array(e),r=0;r<e;r++)n[r]=_.instance().generate(t);return n}return _.instance().generate(t)}}()},903:function(t,e,n){t=n.nmd(t);var r=n(406);!function(e){"use strict";function i(t,e){e|=0;for(var n=Math.max(t.length-e,0),r=Array(n),i=0;i<n;i++)r[i]=t[e+i];return r}var o=function(t){var e=i(arguments,1);return function(){var n=i(arguments);return t.apply(null,e.concat(n))}},s=function(t){return function(){var e=i(arguments),n=e.pop();t.call(this,e,n)}};function a(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var c="function"==typeof setImmediate&&setImmediate,u="object"==typeof r&&"function"==typeof r.nextTick;function f(t){setTimeout(t,0)}function l(t){return function(e){var n=i(arguments,1);t((function(){e.apply(null,n)}))}}var h=l(c?setImmediate:u?r.nextTick:f);function p(t){return s((function(e,n){var r;try{r=t.apply(this,e)}catch(t){return n(t)}a(r)&&"function"==typeof r.then?r.then((function(t){d(n,null,t)}),(function(t){d(n,t.message?t:new Error(t))})):n(null,r)}))}function d(t,e,n){try{t(e,n)}catch(t){h(y,t)}}function y(t){throw t}var g="function"==typeof Symbol;function m(t){return g&&"AsyncFunction"===t[Symbol.toStringTag]}function b(t){return m(t)?p(t):t}function w(t){return function(e){var n=i(arguments,1),r=s((function(n,r){var i=this;return t(e,(function(t,e){b(t).apply(i,n.concat(e))}),r)}));return n.length?r.apply(this,n):r}}var v="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,x="object"==typeof self&&self&&self.Object===Object&&self,E=v||x||Function("return this")(),S=E.Symbol,A=Object.prototype,_=A.hasOwnProperty,k=A.toString,O=S?S.toStringTag:void 0;var j=Object.prototype.toString;var T="[object Null]",F="[object Undefined]",U=S?S.toStringTag:void 0;function I(t){return null==t?void 0===t?F:T:U&&U in Object(t)?function(t){var e=_.call(t,O),n=t[O];try{t[O]=void 0;var r=!0}catch(t){}var i=k.call(t);return r&&(e?t[O]=n:delete t[O]),i}(t):function(t){return j.call(t)}(t)}var B="[object AsyncFunction]",C="[object Function]",$="[object GeneratorFunction]",L="[object Proxy]";var N=9007199254740991;function P(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=N}function D(t){return null!=t&&P(t.length)&&!function(t){if(!a(t))return!1;var e=I(t);return e==C||e==$||e==B||e==L}(t)}var H={};function R(){}function z(t){return function(){if(null!==t){var e=t;t=null,e.apply(this,arguments)}}}var M="function"==typeof Symbol&&Symbol.iterator,q=function(t){return M&&t[M]&&t[M]()};function V(t){return null!=t&&"object"==typeof t}function G(t){return V(t)&&"[object Arguments]"==I(t)}var K=Object.prototype,J=K.hasOwnProperty,W=K.propertyIsEnumerable,Z=G(function(){return arguments}())?G:function(t){return V(t)&&J.call(t,"callee")&&!W.call(t,"callee")},X=Array.isArray;var Y="object"==typeof e&&e&&!e.nodeType&&e,Q=Y&&t&&!t.nodeType&&t,tt=Q&&Q.exports===Y?E.Buffer:void 0,et=(tt?tt.isBuffer:void 0)||function(){return!1},nt=9007199254740991,rt=/^(?:0|[1-9]\d*)$/;function it(t,e){var n=typeof t;return!!(e=null==e?nt:e)&&("number"==n||"symbol"!=n&&rt.test(t))&&t>-1&&t%1==0&&t<e}var ot={};ot["[object Float32Array]"]=ot["[object Float64Array]"]=ot["[object Int8Array]"]=ot["[object Int16Array]"]=ot["[object Int32Array]"]=ot["[object Uint8Array]"]=ot["[object Uint8ClampedArray]"]=ot["[object Uint16Array]"]=ot["[object Uint32Array]"]=!0,ot["[object Arguments]"]=ot["[object Array]"]=ot["[object ArrayBuffer]"]=ot["[object Boolean]"]=ot["[object DataView]"]=ot["[object Date]"]=ot["[object Error]"]=ot["[object Function]"]=ot["[object Map]"]=ot["[object Number]"]=ot["[object Object]"]=ot["[object RegExp]"]=ot["[object Set]"]=ot["[object String]"]=ot["[object WeakMap]"]=!1;var st,at="object"==typeof e&&e&&!e.nodeType&&e,ct=at&&t&&!t.nodeType&&t,ut=ct&&ct.exports===at&&v.process,ft=function(){try{return ct&&ct.require&&ct.require("util").types||ut&&ut.binding&&ut.binding("util")}catch(t){}}(),lt=ft&&ft.isTypedArray,ht=lt?(st=lt,function(t){return st(t)}):function(t){return V(t)&&P(t.length)&&!!ot[I(t)]},pt=Object.prototype.hasOwnProperty;function dt(t,e){var n=X(t),r=!n&&Z(t),i=!n&&!r&&et(t),o=!n&&!r&&!i&&ht(t),s=n||r||i||o,a=s?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=a.length;for(var u in t)!e&&!pt.call(t,u)||s&&("length"==u||i&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||it(u,c))||a.push(u);return a}var yt=Object.prototype;var gt=function(t,e){return function(n){return t(e(n))}}(Object.keys,Object),mt=Object.prototype.hasOwnProperty;function bt(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||yt))return gt(t);var e,n,r=[];for(var i in Object(t))mt.call(t,i)&&"constructor"!=i&&r.push(i);return r}function wt(t){return D(t)?dt(t):bt(t)}function vt(t){if(D(t))return function(t){var e=-1,n=t.length;return function(){return++e<n?{value:t[e],key:e}:null}}(t);var e,n,r,i,o=q(t);return o?function(t){var e=-1;return function(){var n=t.next();return n.done?null:(e++,{value:n.value,key:e})}}(o):(n=wt(e=t),r=-1,i=n.length,function t(){var o=n[++r];return"__proto__"===o?t():r<i?{value:e[o],key:o}:null})}function xt(t){return function(){if(null===t)throw new Error("Callback was already called.");var e=t;t=null,e.apply(this,arguments)}}function Et(t){return function(e,n,r){if(r=z(r||R),t<=0||!e)return r(null);var i=vt(e),o=!1,s=0,a=!1;function c(t,e){if(s-=1,t)o=!0,r(t);else{if(e===H||o&&s<=0)return o=!0,r(null);a||u()}}function u(){for(a=!0;s<t&&!o;){var e=i();if(null===e)return o=!0,void(s<=0&&r(null));s+=1,n(e.value,e.key,xt(c))}a=!1}u()}}function St(t,e,n,r){Et(e)(t,b(n),r)}function At(t,e){return function(n,r,i){return t(n,e,r,i)}}function _t(t,e,n){n=z(n||R);var r=0,i=0,o=t.length;function s(t,e){t?n(t):++i!==o&&e!==H||n(null)}for(0===o&&n(null);r<o;r++)e(t[r],r,xt(s))}var kt=At(St,1/0),Ot=function(t,e,n){(D(t)?_t:kt)(t,b(e),n)};function jt(t){return function(e,n,r){return t(Ot,e,b(n),r)}}function Tt(t,e,n,r){r=r||R,e=e||[];var i=[],o=0,s=b(n);t(e,(function(t,e,n){var r=o++;s(t,(function(t,e){i[r]=e,n(t)}))}),(function(t){r(t,i)}))}var Ft=jt(Tt),Ut=w(Ft);function It(t){return function(e,n,r,i){return t(Et(n),e,b(r),i)}}var Bt=It(Tt),Ct=At(Bt,1),$t=w(Ct);function Lt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var Nt,Pt=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),s=o.length;s--;){var a=o[Nt?s:++r];if(!1===e(i[a],a,i))break}return t};function Dt(t,e){return t&&Pt(t,e,wt)}function Ht(t){return t!=t}function Rt(t,e,n){return e==e?function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}(t,Ht,n)}var zt=function(t,e,n){"function"==typeof e&&(n=e,e=null),n=z(n||R);var r=wt(t).length;if(!r)return n(null);e||(e=r);var o={},s=0,a=!1,c=Object.create(null),u=[],f=[],l={};function h(t,e){u.push((function(){!function(t,e){if(!a){var r=xt((function(e,r){if(s--,arguments.length>2&&(r=i(arguments,1)),e){var u={};Dt(o,(function(t,e){u[e]=t})),u[t]=r,a=!0,c=Object.create(null),n(e,u)}else o[t]=r,Lt(c[t]||[],(function(t){t()})),p()}));s++;var u=b(e[e.length-1]);e.length>1?u(o,r):u(r)}}(t,e)}))}function p(){if(0===u.length&&0===s)return n(null,o);for(;u.length&&s<e;)u.shift()()}function d(e){var n=[];return Dt(t,(function(t,r){X(t)&&Rt(t,e,0)>=0&&n.push(r)})),n}Dt(t,(function(e,n){if(!X(e))return h(n,[e]),void f.push(n);var r=e.slice(0,e.length-1),i=r.length;if(0===i)return h(n,e),void f.push(n);l[n]=i,Lt(r,(function(o){if(!t[o])throw new Error("async.auto task `"+n+"` has a non-existent dependency `"+o+"` in "+r.join(", "));var s,a,u;a=function(){0==--i&&h(n,e)},(u=c[s=o])||(u=c[s]=[]),u.push(a)}))})),function(){for(var t=0;f.length;)t++,Lt(d(f.pop()),(function(t){0==--l[t]&&f.push(t)}));if(t!==r)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),p()};function Mt(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var qt="[object Symbol]";var Vt=1/0,Gt=S?S.prototype:void 0,Kt=Gt?Gt.toString:void 0;function Jt(t){if("string"==typeof t)return t;if(X(t))return Mt(t,Jt)+"";if(function(t){return"symbol"==typeof t||V(t)&&I(t)==qt}(t))return Kt?Kt.call(t):"";var e=t+"";return"0"==e&&1/t==-Vt?"-0":e}function Wt(t,e,n){var r=t.length;return n=void 0===n?r:n,!e&&n>=r?t:function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}(t,e,n)}var Zt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Xt="\\ud800-\\udfff",Yt="["+Xt+"]",Qt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",te="\\ud83c[\\udffb-\\udfff]",ee="[^"+Xt+"]",ne="(?:\\ud83c[\\udde6-\\uddff]){2}",re="[\\ud800-\\udbff][\\udc00-\\udfff]",ie="(?:"+Qt+"|"+te+")?",oe="[\\ufe0e\\ufe0f]?",se=oe+ie+("(?:\\u200d(?:"+[ee,ne,re].join("|")+")"+oe+ie+")*"),ae="(?:"+[ee+Qt+"?",Qt,ne,re,Yt].join("|")+")",ce=RegExp(te+"(?="+te+")|"+ae+se,"g");function ue(t){return function(t){return Zt.test(t)}(t)?function(t){return t.match(ce)||[]}(t):function(t){return t.split("")}(t)}var fe=/^\s+|\s+$/g;function le(t,e,n){if((t=null==(r=t)?"":Jt(r))&&(n||void 0===e))return t.replace(fe,"");var r;if(!t||!(e=Jt(e)))return t;var i=ue(t),o=ue(e);return Wt(i,function(t,e){for(var n=-1,r=t.length;++n<r&&Rt(e,t[n],0)>-1;);return n}(i,o),function(t,e){for(var n=t.length;n--&&Rt(e,t[n],0)>-1;);return n}(i,o)+1).join("")}var he=/^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m,pe=/,/,de=/(=.+)?(\s*)$/,ye=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function ge(t,e){var n={};Dt(t,(function(t,e){var r,i=m(t),o=!i&&1===t.length||i&&0===t.length;if(X(t))r=t.slice(0,-1),t=t[t.length-1],n[e]=r.concat(r.length>0?s:t);else if(o)n[e]=t;else{if(r=function(t){return(t=(t=(t=t.toString().replace(ye,"")).match(he)[2].replace(" ",""))?t.split(pe):[]).map((function(t){return le(t.replace(de,""))}))}(t),0===t.length&&!i&&0===r.length)throw new Error("autoInject task functions require explicit parameters.");i||r.pop(),n[e]=r.concat(s)}function s(e,n){var i=Mt(r,(function(t){return e[t]}));i.push(n),b(t).apply(null,i)}})),zt(n,e)}function me(){this.head=this.tail=null,this.length=0}function be(t,e){t.length=1,t.head=t.tail=e}function we(t,e,n){if(null==e)e=1;else if(0===e)throw new Error("Concurrency must not be zero");var r=b(t),i=0,o=[],s=!1;function a(t,e,n){if(null!=n&&"function"!=typeof n)throw new Error("task callback must be a function");if(f.started=!0,X(t)||(t=[t]),0===t.length&&f.idle())return h((function(){f.drain()}));for(var r=0,i=t.length;r<i;r++){var o={data:t[r],callback:n||R};e?f._tasks.unshift(o):f._tasks.push(o)}s||(s=!0,h((function(){s=!1,f.process()})))}function c(t){return function(e){i-=1;for(var n=0,r=t.length;n<r;n++){var s=t[n],a=Rt(o,s,0);0===a?o.shift():a>0&&o.splice(a,1),s.callback.apply(s,arguments),null!=e&&f.error(e,s.data)}i<=f.concurrency-f.buffer&&f.unsaturated(),f.idle()&&f.drain(),f.process()}}var u=!1,f={_tasks:new me,concurrency:e,payload:n,saturated:R,unsaturated:R,buffer:e/4,empty:R,drain:R,error:R,started:!1,paused:!1,push:function(t,e){a(t,!1,e)},kill:function(){f.drain=R,f._tasks.empty()},unshift:function(t,e){a(t,!0,e)},remove:function(t){f._tasks.remove(t)},process:function(){if(!u){for(u=!0;!f.paused&&i<f.concurrency&&f._tasks.length;){var t=[],e=[],n=f._tasks.length;f.payload&&(n=Math.min(n,f.payload));for(var s=0;s<n;s++){var a=f._tasks.shift();t.push(a),o.push(a),e.push(a.data)}i+=1,0===f._tasks.length&&f.empty(),i===f.concurrency&&f.saturated();var l=xt(c(t));r(e,l)}u=!1}},length:function(){return f._tasks.length},running:function(){return i},workersList:function(){return o},idle:function(){return f._tasks.length+i===0},pause:function(){f.paused=!0},resume:function(){!1!==f.paused&&(f.paused=!1,h(f.process))}};return f}function ve(t,e){return we(t,1,e)}me.prototype.removeLink=function(t){return t.prev?t.prev.next=t.next:this.head=t.next,t.next?t.next.prev=t.prev:this.tail=t.prev,t.prev=t.next=null,this.length-=1,t},me.prototype.empty=function(){for(;this.head;)this.shift();return this},me.prototype.insertAfter=function(t,e){e.prev=t,e.next=t.next,t.next?t.next.prev=e:this.tail=e,t.next=e,this.length+=1},me.prototype.insertBefore=function(t,e){e.prev=t.prev,e.next=t,t.prev?t.prev.next=e:this.head=e,t.prev=e,this.length+=1},me.prototype.unshift=function(t){this.head?this.insertBefore(this.head,t):be(this,t)},me.prototype.push=function(t){this.tail?this.insertAfter(this.tail,t):be(this,t)},me.prototype.shift=function(){return this.head&&this.removeLink(this.head)},me.prototype.pop=function(){return this.tail&&this.removeLink(this.tail)},me.prototype.toArray=function(){for(var t=Array(this.length),e=this.head,n=0;n<this.length;n++)t[n]=e.data,e=e.next;return t},me.prototype.remove=function(t){for(var e=this.head;e;){var n=e.next;t(e)&&this.removeLink(e),e=n}return this};var xe=At(St,1);function Ee(t,e,n,r){r=z(r||R);var i=b(n);xe(t,(function(t,n,r){i(e,t,(function(t,n){e=n,r(t)}))}),(function(t){r(t,e)}))}function Se(){var t=Mt(arguments,b);return function(){var e=i(arguments),n=this,r=e[e.length-1];"function"==typeof r?e.pop():r=R,Ee(t,e,(function(t,e,r){e.apply(n,t.concat((function(t){var e=i(arguments,1);r(t,e)})))}),(function(t,e){r.apply(n,[t].concat(e))}))}}var Ae=function(){return Se.apply(null,i(arguments).reverse())},_e=Array.prototype.concat,ke=function(t,e,n,r){r=r||R;var o=b(n);Bt(t,e,(function(t,e){o(t,(function(t){return t?e(t):e(null,i(arguments,1))}))}),(function(t,e){for(var n=[],i=0;i<e.length;i++)e[i]&&(n=_e.apply(n,e[i]));return r(t,n)}))},Oe=At(ke,1/0),je=At(ke,1),Te=function(){var t=i(arguments),e=[null].concat(t);return function(){return arguments[arguments.length-1].apply(this,e)}};function Fe(t){return t}function Ue(t,e){return function(n,r,i,o){o=o||R;var s,a=!1;n(r,(function(n,r,o){i(n,(function(r,i){r?o(r):t(i)&&!s?(a=!0,s=e(!0,n),o(null,H)):o()}))}),(function(t){t?o(t):o(null,a?s:e(!1))}))}}function Ie(t,e){return e}var Be=jt(Ue(Fe,Ie)),Ce=It(Ue(Fe,Ie)),$e=At(Ce,1);function Le(t){return function(e){var n=i(arguments,1);n.push((function(e){var n=i(arguments,1);"object"==typeof console&&(e?console.error&&console.error(e):console[t]&&Lt(n,(function(e){console[t](e)})))})),b(e).apply(null,n)}}var Ne=Le("dir");function Pe(t,e,n){n=xt(n||R);var r=b(t),o=b(e);function s(t){if(t)return n(t);var e=i(arguments,1);e.push(a),o.apply(this,e)}function a(t,e){return t?n(t):e?void r(s):n(null)}a(null,!0)}function De(t,e,n){n=xt(n||R);var r=b(t),o=function(t){if(t)return n(t);var s=i(arguments,1);if(e.apply(this,s))return r(o);n.apply(null,[null].concat(s))};r(o)}function He(t,e,n){De(t,(function(){return!e.apply(this,arguments)}),n)}function Re(t,e,n){n=xt(n||R);var r=b(e),i=b(t);function o(t){if(t)return n(t);i(s)}function s(t,e){return t?n(t):e?void r(o):n(null)}i(s)}function ze(t){return function(e,n,r){return t(e,r)}}function Me(t,e,n){Ot(t,ze(b(e)),n)}function qe(t,e,n,r){Et(e)(t,ze(b(n)),r)}var Ve=At(qe,1);function Ge(t){return m(t)?t:s((function(e,n){var r=!0;e.push((function(){var t=arguments;r?h((function(){n.apply(null,t)})):n.apply(null,t)})),t.apply(this,e),r=!1}))}function Ke(t){return!t}var Je=jt(Ue(Ke,Ke)),We=It(Ue(Ke,Ke)),Ze=At(We,1);function Xe(t){return function(e){return null==e?void 0:e[t]}}function Ye(t,e,n,r){var i=new Array(e.length);t(e,(function(t,e,r){n(t,(function(t,n){i[e]=!!n,r(t)}))}),(function(t){if(t)return r(t);for(var n=[],o=0;o<e.length;o++)i[o]&&n.push(e[o]);r(null,n)}))}function Qe(t,e,n,r){var i=[];t(e,(function(t,e,r){n(t,(function(n,o){n?r(n):(o&&i.push({index:e,value:t}),r())}))}),(function(t){t?r(t):r(null,Mt(i.sort((function(t,e){return t.index-e.index})),Xe("value")))}))}function tn(t,e,n,r){(D(e)?Ye:Qe)(t,e,b(n),r||R)}var en=jt(tn),nn=It(tn),rn=At(nn,1);function on(t,e){var n=xt(e||R),r=b(Ge(t));!function t(e){if(e)return n(e);r(t)}()}var sn=function(t,e,n,r){r=r||R;var i=b(n);Bt(t,e,(function(t,e){i(t,(function(n,r){return n?e(n):e(null,{key:r,val:t})}))}),(function(t,e){for(var n={},i=Object.prototype.hasOwnProperty,o=0;o<e.length;o++)if(e[o]){var s=e[o].key,a=e[o].val;i.call(n,s)?n[s].push(a):n[s]=[a]}return r(t,n)}))},an=At(sn,1/0),cn=At(sn,1),un=Le("log");function fn(t,e,n,r){r=z(r||R);var i={},o=b(n);St(t,e,(function(t,e,n){o(t,e,(function(t,r){if(t)return n(t);i[e]=r,n()}))}),(function(t){r(t,i)}))}var ln=At(fn,1/0),hn=At(fn,1);function pn(t,e){return e in t}function dn(t,e){var n=Object.create(null),r=Object.create(null);e=e||Fe;var o=b(t),a=s((function(t,s){var a=e.apply(null,t);pn(n,a)?h((function(){s.apply(null,n[a])})):pn(r,a)?r[a].push(s):(r[a]=[s],o.apply(null,t.concat((function(){var t=i(arguments);n[a]=t;var e=r[a];delete r[a];for(var o=0,s=e.length;o<s;o++)e[o].apply(null,t)}))))}));return a.memo=n,a.unmemoized=t,a}var yn=l(u?r.nextTick:c?setImmediate:f);function gn(t,e,n){n=n||R;var r=D(e)?[]:{};t(e,(function(t,e,n){b(t)((function(t,o){arguments.length>2&&(o=i(arguments,1)),r[e]=o,n(t)}))}),(function(t){n(t,r)}))}function mn(t,e){gn(Ot,t,e)}function bn(t,e,n){gn(Et(e),t,n)}var wn=function(t,e){var n=b(t);return we((function(t,e){n(t[0],e)}),e,1)},vn=function(t,e){var n=wn(t,e);return n.push=function(t,e,r){if(null==r&&(r=R),"function"!=typeof r)throw new Error("task callback must be a function");if(n.started=!0,X(t)||(t=[t]),0===t.length)return h((function(){n.drain()}));e=e||0;for(var i=n._tasks.head;i&&e>=i.priority;)i=i.next;for(var o=0,s=t.length;o<s;o++){var a={data:t[o],priority:e,callback:r};i?n._tasks.insertBefore(i,a):n._tasks.push(a)}h(n.process)},delete n.unshift,n};function xn(t,e){if(e=z(e||R),!X(t))return e(new TypeError("First argument to race must be an array of functions"));if(!t.length)return e();for(var n=0,r=t.length;n<r;n++)b(t[n])(e)}function En(t,e,n,r){Ee(i(t).reverse(),e,n,r)}function Sn(t){var e=b(t);return s((function(t,n){return t.push((function(t,e){var r;t?n(null,{error:t}):(r=arguments.length<=2?e:i(arguments,1),n(null,{value:r}))})),e.apply(this,t)}))}function An(t){var e;return X(t)?e=Mt(t,Sn):(e={},Dt(t,(function(t,n){e[n]=Sn.call(this,t)}))),e}function _n(t,e,n,r){tn(t,e,(function(t,e){n(t,(function(t,n){e(t,!n)}))}),r)}var kn=jt(_n),On=It(_n),jn=At(On,1);function Tn(t){return function(){return t}}function Fn(t,e,n){var r={times:5,intervalFunc:Tn(0)};if(arguments.length<3&&"function"==typeof t?(n=e||R,e=t):(function(t,e){if("object"==typeof e)t.times=+e.times||5,t.intervalFunc="function"==typeof e.interval?e.interval:Tn(+e.interval||0),t.errorFilter=e.errorFilter;else{if("number"!=typeof e&&"string"!=typeof e)throw new Error("Invalid arguments for async.retry");t.times=+e||5}}(r,t),n=n||R),"function"!=typeof e)throw new Error("Invalid arguments for async.retry");var i=b(e),o=1;!function t(){i((function(e){e&&o++<r.times&&("function"!=typeof r.errorFilter||r.errorFilter(e))?setTimeout(t,r.intervalFunc(o)):n.apply(null,arguments)}))}()}var Un=function(t,e){e||(e=t,t=null);var n=b(e);return s((function(e,r){function i(t){n.apply(null,e.concat(t))}t?Fn(t,i,r):Fn(i,r)}))};function In(t,e){gn(xe,t,e)}var Bn=jt(Ue(Boolean,Fe)),Cn=It(Ue(Boolean,Fe)),$n=At(Cn,1);function Ln(t,e,n){var r=b(e);function i(t,e){var n=t.criteria,r=e.criteria;return n<r?-1:n>r?1:0}Ft(t,(function(t,e){r(t,(function(n,r){if(n)return e(n);e(null,{value:t,criteria:r})}))}),(function(t,e){if(t)return n(t);n(null,Mt(e.sort(i),Xe("value")))}))}function Nn(t,e,n){var r=b(t);return s((function(i,o){var s,a=!1;i.push((function(){a||(o.apply(null,arguments),clearTimeout(s))})),s=setTimeout((function(){var e=t.name||"anonymous",r=new Error('Callback function "'+e+'" timed out.');r.code="ETIMEDOUT",n&&(r.info=n),a=!0,o(r)}),e),r.apply(null,i)}))}var Pn=Math.ceil,Dn=Math.max;function Hn(t,e,n,r){var i=b(n);Bt(function(t,e,n,r){for(var i=-1,o=Dn(Pn((e-t)/(n||1)),0),s=Array(o);o--;)s[r?o:++i]=t,t+=n;return s}(0,t,1),e,i,r)}var Rn=At(Hn,1/0),zn=At(Hn,1);function Mn(t,e,n,r){arguments.length<=3&&(r=n,n=e,e=X(t)?[]:{}),r=z(r||R);var i=b(n);Ot(t,(function(t,n,r){i(e,t,n,r)}),(function(t){r(t,e)}))}function qn(t,e){var n,r=null;e=e||R,Ve(t,(function(t,e){b(t)((function(t,o){n=arguments.length>2?i(arguments,1):o,r=t,e(!t)}))}),(function(){e(r,n)}))}function Vn(t){return function(){return(t.unmemoized||t).apply(null,arguments)}}function Gn(t,e,n){n=xt(n||R);var r=b(e);if(!t())return n(null);var o=function(e){if(e)return n(e);if(t())return r(o);var s=i(arguments,1);n.apply(null,[null].concat(s))};r(o)}function Kn(t,e,n){Gn((function(){return!t.apply(this,arguments)}),e,n)}var Jn=function(t,e){if(e=z(e||R),!X(t))return e(new Error("First argument to waterfall must be an array of functions"));if(!t.length)return e();var n=0;function r(e){var r=b(t[n++]);e.push(xt(o)),r.apply(null,e)}function o(o){if(o||n===t.length)return e.apply(null,arguments);r(i(arguments,1))}r([])},Wn={apply:o,applyEach:Ut,applyEachSeries:$t,asyncify:p,auto:zt,autoInject:ge,cargo:ve,compose:Ae,concat:Oe,concatLimit:ke,concatSeries:je,constant:Te,detect:Be,detectLimit:Ce,detectSeries:$e,dir:Ne,doDuring:Pe,doUntil:He,doWhilst:De,during:Re,each:Me,eachLimit:qe,eachOf:Ot,eachOfLimit:St,eachOfSeries:xe,eachSeries:Ve,ensureAsync:Ge,every:Je,everyLimit:We,everySeries:Ze,filter:en,filterLimit:nn,filterSeries:rn,forever:on,groupBy:an,groupByLimit:sn,groupBySeries:cn,log:un,map:Ft,mapLimit:Bt,mapSeries:Ct,mapValues:ln,mapValuesLimit:fn,mapValuesSeries:hn,memoize:dn,nextTick:yn,parallel:mn,parallelLimit:bn,priorityQueue:vn,queue:wn,race:xn,reduce:Ee,reduceRight:En,reflect:Sn,reflectAll:An,reject:kn,rejectLimit:On,rejectSeries:jn,retry:Fn,retryable:Un,seq:Se,series:In,setImmediate:h,some:Bn,someLimit:Cn,someSeries:$n,sortBy:Ln,timeout:Nn,times:Rn,timesLimit:Hn,timesSeries:zn,transform:Mn,tryEach:qn,unmemoize:Vn,until:Kn,waterfall:Jn,whilst:Gn,all:Je,allLimit:We,allSeries:Ze,any:Bn,anyLimit:Cn,anySeries:$n,find:Be,findLimit:Ce,findSeries:$e,forEach:Me,forEachSeries:Ve,forEachLimit:qe,forEachOf:Ot,forEachOfSeries:xe,forEachOfLimit:St,inject:Ee,foldl:Ee,foldr:En,select:en,selectLimit:nn,selectSeries:rn,wrapSync:p};e.default=Wn,e.apply=o,e.applyEach=Ut,e.applyEachSeries=$t,e.asyncify=p,e.auto=zt,e.autoInject=ge,e.cargo=ve,e.compose=Ae,e.concat=Oe,e.concatLimit=ke,e.concatSeries=je,e.constant=Te,e.detect=Be,e.detectLimit=Ce,e.detectSeries=$e,e.dir=Ne,e.doDuring=Pe,e.doUntil=He,e.doWhilst=De,e.during=Re,e.each=Me,e.eachLimit=qe,e.eachOf=Ot,e.eachOfLimit=St,e.eachOfSeries=xe,e.eachSeries=Ve,e.ensureAsync=Ge,e.every=Je,e.everyLimit=We,e.everySeries=Ze,e.filter=en,e.filterLimit=nn,e.filterSeries=rn,e.forever=on,e.groupBy=an,e.groupByLimit=sn,e.groupBySeries=cn,e.log=un,e.map=Ft,e.mapLimit=Bt,e.mapSeries=Ct,e.mapValues=ln,e.mapValuesLimit=fn,e.mapValuesSeries=hn,e.memoize=dn,e.nextTick=yn,e.parallel=mn,e.parallelLimit=bn,e.priorityQueue=vn,e.queue=wn,e.race=xn,e.reduce=Ee,e.reduceRight=En,e.reflect=Sn,e.reflectAll=An,e.reject=kn,e.rejectLimit=On,e.rejectSeries=jn,e.retry=Fn,e.retryable=Un,e.seq=Se,e.series=In,e.setImmediate=h,e.some=Bn,e.someLimit=Cn,e.someSeries=$n,e.sortBy=Ln,e.timeout=Nn,e.times=Rn,e.timesLimit=Hn,e.timesSeries=zn,e.transform=Mn,e.tryEach=qn,e.unmemoize=Vn,e.until=Kn,e.waterfall=Jn,e.whilst=Gn,e.all=Je,e.allLimit=We,e.allSeries=Ze,e.any=Bn,e.anyLimit=Cn,e.anySeries=$n,e.find=Be,e.findLimit=Ce,e.findSeries=$e,e.forEach=Me,e.forEachSeries=Ve,e.forEachLimit=qe,e.forEachOf=Ot,e.forEachOfSeries=xe,e.forEachOfLimit=St,e.inject=Ee,e.foldl=Ee,e.foldr=En,e.select=en,e.selectLimit=nn,e.selectSeries=rn,e.wrapSync=p,Object.defineProperty(e,"__esModule",{value:!0})}(e)},377:(t,e,n)=>{"use strict";t.exports=n(613)},613:(t,e)=>{"use strict";function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function r(t,e){var r;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return n(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,void 0):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=t[Symbol.iterator]()).next.bind(r)}function i(t,e){return void 0===e&&(e="{$origin}\n{$ttl}\n\n; SOA Record\n{name} {ttl} IN SOA {mname}{rname}(\n{serial} ;serial\n{refresh} ;refresh\n{retry} ;retry\n{expire} ;expire\n{minimum} ;minimum ttl\n)\n\n; NS Records\n{ns}\n\n; MX Records\n{mx}\n\n; A Records\n{a}\n\n; AAAA Records\n{aaaa}\n\n; CNAME Records\n{cname}\n\n; PTR Records\n{ptr}\n\n; TXT Records\n{txt}\n\n; SRV Records\n{srv}\n\n; SPF Records\n{spf}\n\n; URI Records\n{uri}\n"),e=function(t,e){var n="";return void 0!==t&&(n+="$ORIGIN "+t),e.replace("{$origin}",n)}(t.$origin,e),e=function(t,e){var n="";return void 0!==t&&(n+="$TTL "+t),e.replace("{$ttl}",n)}(t.$ttl,e),e=function(t,e){var n=e;if(void 0!==t)for(var r in t.name=t.name||"@",t.ttl=t.ttl||"",t)n=n.replace("{"+r+"}",t[r]+"\t");return n}(t.soa,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tNS\t"+s.host+"\n"}return e.replace("{ns}",n)}(t.ns,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tA\t"+s.ip+"\n"}return e.replace("{a}",n)}(t.a,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tAAAA\t"+s.ip+"\n"}return e.replace("{aaaa}",n)}(t.aaaa,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tCNAME\t"+s.alias+"\n"}return e.replace("{cname}",n)}(t.cname,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tMX\t"+s.preference+"\t"+s.host+"\n"}return e.replace("{mx}",n)}(t.mx,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tPTR\t"+s.host+"\n"}return e.replace("{ptr}",n)}(t.ptr,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tTXT\t";var a=s.txt;"string"==typeof a?n+='"'+a+'"':a instanceof Array&&(n+=a.map((function(t){return'"'+t+'"'})).join(" ")),n+="\n"}return e.replace("{txt}",n)}(t.txt,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tSRV\t"+s.priority+"\t",n+=s.weight+"\t",n+=s.port+"\t",n+=s.target+"\n"}return e.replace("{srv}",n)}(t.srv,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tSPF\t"+s.data+"\n"}return e.replace("{spf}",n)}(t.spf,e),(e=function(t,e){e=(e=e.replace("{zone}",t.$origin||!!t.soa&&t.soa.name||"")).replace("{datetime}",(new Date).toISOString());var n=Math.round(Date.now()/1e3);return e.replace("{time}",""+n)}(t,e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tURI\t"+s.priority+"\t",n+=s.weight+"\t",n+='"'+s.target+'"\n'}return e.replace("{uri}",n)}(t.uri,e))).replace(/\n{2,}/gim,"\n\n")}function o(t){return function(t){for(var e,n={},i=r(t.split("\n"));!(e=i()).done;){var o=e.value;if(o&&o.trim()){var m=o.toUpperCase();/\s+TXT\s+/.test(m)?(n.txt=n.txt||[],n.txt.push(h(o))):0===m.indexOf("$ORIGIN")?n.$origin=o.split(/\s+/g)[1]:0===m.indexOf("$TTL")?n.$ttl=parseInt(o.split(/\s+/g)[1],10):/\s+SOA\s+/.test(m)?n.soa=s(o):/\s+NS\s+/.test(m)?(n.ns=n.ns||[],n.ns.push(a(o))):/\s+A\s+/.test(m)?(n.a=n.a||[],n.a.push(c(o,n.a))):/\s+AAAA\s+/.test(m)?(n.aaaa=n.aaaa||[],n.aaaa.push(u(o))):/\s+CNAME\s+/.test(m)?(n.cname=n.cname||[],n.cname.push(f(o))):/\s+MX\s+/.test(m)?(n.mx=n.mx||[],n.mx.push(l(o))):/\s+PTR\s+/.test(m)?(n.ptr=n.ptr||[],n.ptr.push(p(o,n.ptr,n.$origin))):/\s+SRV\s+/.test(m)?(n.srv=n.srv||[],n.srv.push(d(o))):/\s+SPF\s+/.test(m)?(n.spf=n.spf||[],n.spf.push(y(o))):/\s+URI\s+/.test(m)&&(n.uri=n.uri||[],n.uri.push(g(o)))}}return n}(t=function(t){for(var e=[],n=/\([\s\S]*?\)/gim,r=n.exec(t);null!==r;){var i=r[0].replace(/\s+/gm," ");e.push({match:r,replacement:i}),r=n.exec(t)}for(var o=t.split(""),s=0,a=e;s<a.length;s++){var c=a[s],u=c.match;o.splice(u.index,u[0].length,c.replacement)}return o.join("").replace(/\(|\)/gim," ")}(t=function(t){return t.replace(/(^|[^\\]);.*/g,(function(t,e){return e||""}))}(t)))}function s(t){var e={},n=t.trim().split(/\s+/g),r=n.length;return e.name=n[0],e.minimum=parseInt(n[r-1],10),e.expire=parseInt(n[r-2],10),e.retry=parseInt(n[r-3],10),e.refresh=parseInt(n[r-4],10),e.serial=parseInt(n[r-5],10),e.rname=n[r-6],e.mname=n[r-7],isNaN(n[1])||(e.ttl=parseInt(n[1],10)),e}function a(t){var e=t.trim().split(/\s+/g),n={name:e[0],host:e[e.length-1]};return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function c(t,e){var n=t.trim().split(/\s+/g),r=t.trim().toUpperCase().split(/\s+/g),i={name:n[0],ip:n[n.length-1]};return 0===r.lastIndexOf("A")&&(i.name=e.length?e[e.length-1].name:"@"),isNaN(n[1])||(i.ttl=parseInt(n[1],10)),i}function u(t){var e=t.trim().split(/\s+/g),n={name:e[0],ip:e[e.length-1]};return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function f(t){var e=t.trim().split(/\s+/g),n={name:e[0],alias:e[e.length-1]};return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function l(t){var e=t.trim().split(/\s+/g),n=e.length,r={name:e[0],preference:parseInt(e[n-2],10),host:e[n-1]};return isNaN(e[1])||(r.ttl=parseInt(e[1],10)),r}function h(t){var e=t.trim().match(/[^\s"']+|"[^"]*"|'[^']*'/g);if(!e)throw new Error("Failure to tokenize TXT record");var n,r=e.length,i=e.indexOf("TXT");function o(t){return t.indexOf('"')>-1&&(t=t.split('"')[1]),t}n=r-i-1>1?[].concat(e.slice(i+1).map(o)):o(e[r-1]);var s={name:e[0],txt:n};return isNaN(e[1])||(s.ttl=parseInt(e[1],10)),s}function p(t,e,n){var r=t.trim().split(/\s+/g);0===t.trim().toUpperCase().split(/\s+/g).lastIndexOf("PTR")&&e[e.length-1]&&r.unshift(e[e.length-1].name);var i={name:r[0],fullname:r[0]+"."+n,host:r[r.length-1]};return isNaN(r[1])||(i.ttl=parseInt(r[1],10)),i}function d(t){var e=t.trim().split(/\s+/g),n=e.length,r={name:e[0],target:e[n-1],priority:parseInt(e[n-4],10),weight:parseInt(e[n-3],10),port:parseInt(e[n-2],10)};return isNaN(e[1])||(r.ttl=parseInt(e[1],10)),r}function y(t){for(var e=t.trim().split(/\s+/g),n={name:e[0],data:""},r=e.length;r-- >4;)n.data=e[r]+" "+n.data.trim();return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function g(t){var e=t.trim().split(/\s+/g),n=e.length,r={name:e[0],target:e[n-1].replace(/"/g,""),priority:parseInt(e[n-3],10),weight:parseInt(e[n-2],10)};return isNaN(e[1])||(r.ttl=parseInt(e[1],10)),r}(function(){var t=function(t){this.jsonZoneFile="object"==typeof t?JSON.parse(JSON.stringify(t)):"string"==typeof t?o(t):void 0}.prototype;t.toJSON=function(){return this.jsonZoneFile},t.toString=function(){return i(this.toJSON())}})(),e.makeZoneFile=i,e.parseZoneFile=o},314:()=>{},695:()=>{},812:()=>{}},r={};function i(t){var e=r[t];if(void 0!==e)return e.exports;var o=r[t]={id:t,loaded:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.loaded=!0,o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,i.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var o=Object.create(null);i.r(o);var s={};t=t||[null,e({}),e([]),e(e)];for(var a=2&r&&n;"object"==typeof a&&!~t.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach((t=>s[t]=()=>n[t]));return s.default=()=>n,i.d(o,s),o},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var o={};return(()=>{"use strict";i.r(o),i.d(o,{BLOCKSTACK_GAIA_HUB_LABEL:()=>zn,GaiaHubConfig:()=>t.GaiaHubConfig,Storage:()=>Zn,connectToGaiaHub:()=>Gn,deleteFromGaiaHub:()=>qn,getBucketUrl:()=>Kn,getFullReadUrl:()=>Vn,getUserAppFileUrl:()=>Xn,uploadToGaiaHub:()=>Mn});var t={};i.r(t),i.d(t,{Ne:()=>zn,cc:()=>Gn,gZ:()=>qn,CC:()=>Jn,JV:()=>Kn,J$:()=>Vn,d_:()=>Mn});var e=i(474);const n=["debug","info","warn","error","none"],r={},s={};for(let t=0;t<n.length;t++){const e=n[t];r[e]=t,s[t]=e}class a{static error(t){this.shouldLog("error")&&console.error(this.logMessage("error",t))}static warn(t){this.shouldLog("warn")&&console.warn(this.logMessage("warn",t))}static info(t){this.shouldLog("info")&&console.log(this.logMessage("info",t))}static debug(t){this.shouldLog("debug")&&console.log(this.logMessage("debug",t))}static logMessage(t,e){return`[${t.toUpperCase()}] ${e}`}static shouldLog(t){return r.debug<=r[t]}}function c(t){return Number.isFinite(t)?Math.floor(1024*t*1024):0}function u(){let t=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(t+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?n:3&n|8).toString(16)}))}function f(t,{throwIfUnavailable:e,usageDesc:n,returnEmptyObject:r}={}){let o;try{if(o=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==i.g)return i.g;throw new Error("Unexpected runtime environment - no supported global scope (`window`, `self`, `global`) available")}(),o){const e=o[t];if(e)return e}}catch(e){a.error(`Error getting object '${t}' from global scope '${o}': ${e}`)}if(e){const e=function(t,e,n){return n?`Use of '${n}' requires \`${e}\` which is unavailable on the '${t}' object within the currently executing environment.`:`\`${e}\` is unavailable on the '${t}' object within the currently executing environment.`}(o,t.toString(),n);throw a.error(e),new Error(e)}if(r)return{}}const l=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function h(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(const n of t)e+=l[n];return e}function p(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);const e=(t=t.startsWith("0x")||t.startsWith("0X")?t.slice(2):t).length%2?`0${t}`:t,n=new Uint8Array(e.length/2);for(let t=0;t<n.length;t++){const r=2*t,i=e.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");n[t]=o}return n}function d(t){return(new TextEncoder).encode(t)}function y(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n}function g(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function m(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const b={number:g,bool:function(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:m,hash:function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");g(t.outputLen),g(t.blockLen)},exists:function(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function(t,e){m(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}},w=("object"==typeof self&&"crypto"in self&&self.crypto,t=>new DataView(t.buffer,t.byteOffset,t.byteLength)),v=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function x(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));class E{clone(){return this._cloneInto()}}function S(t){const e=e=>t().update(x(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}class A extends E{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,b.hash(t);const n=x(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?t.create().update(n).digest():n);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return b.exists(this),this.iHash.update(t),this}digestInto(t){b.exists(this),b.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=r,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const _=(t,e,n)=>new A(t,e).update(n).digest();_.create=(t,e)=>new A(t,e);class k extends E{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=w(this.buffer)}update(t){b.exists(this);const{view:e,buffer:n,blockLen:r}=this,i=(t=x(t)).length;for(let o=0;o<i;){const s=Math.min(r-this.pos,i-o);if(s!==r)n.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(e,0),this.pos=0);else{const e=w(t);for(;r<=i-o;o+=r)this.process(e,o)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){b.exists(this),b.output(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let t=o;t<r;t++)e[t]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,u=r?0:4;t.setUint32(e+c,s,r),t.setUint32(e+u,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const s=w(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=a/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<c;t++)s.setUint32(4*t,u[t],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return t.length=r,t.pos=s,t.finished=i,t.destroyed=o,r%e&&t.buffer.set(n),t}}const O=(t,e,n)=>t&e^t&n^e&n,j=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),T=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),F=new Uint32Array(64);class U extends k{constructor(){super(64,32,8,!1),this.A=0|T[0],this.B=0|T[1],this.C=0|T[2],this.D=0|T[3],this.E=0|T[4],this.F=0|T[5],this.G=0|T[6],this.H=0|T[7]}get(){const{A:t,B:e,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[t,e,n,r,i,o,s,a]}set(t,e,n,r,i,o,s,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(t,e){for(let n=0;n<16;n++,e+=4)F[n]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=F[t-15],n=F[t-2],r=v(e,7)^v(e,18)^e>>>3,i=v(n,17)^v(n,19)^n>>>10;F[t]=i+F[t-7]+r+F[t-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let t=0;t<64;t++){const e=u+(v(s,6)^v(s,11)^v(s,25))+((f=s)&a^~f&c)+j[t]+F[t]|0,l=(v(n,2)^v(n,13)^v(n,22))+O(n,r,i)|0;u=c,c=a,a=s,s=o+e|0,o=i,i=r,r=n,n=e+l|0}var f;n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,i,o,s,a,c,u)}roundClean(){F.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class I extends U{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const B=S((()=>new U));S((()=>new I));var C=i(314),$=i.t(C,2);const L=BigInt(0),N=BigInt(1),P=BigInt(2),D=BigInt(3),H=BigInt(8),R=Object.freeze({a:L,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:N,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),z=(t,e)=>(t+e/P)/e,M={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=R,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-N*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,s=BigInt("0x100000000000000000000000000000000"),a=z(o*t,e),c=z(-r*t,e);let u=bt(t-a*n-c*i,e),f=bt(-a*r-c*o,e);const l=u>s,h=f>s;if(l&&(u=e-u),h&&(f=e-f),u>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:h,k2:f}}},q=32,V=32,G=32,K=q+1,J=2*q+1;function W(t){const{a:e,b:n}=R,r=bt(t*t),i=bt(r*t);return bt(i+e*t+n)}const Z=R.a===L;class X extends Error{constructor(t){super(t)}}function Y(t){if(!(t instanceof Q))throw new TypeError("JacobianPoint expected")}class Q{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof nt))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(nt.ZERO)?Q.ZERO:new Q(t.x,t.y,N)}static toAffineBatch(t){const e=function(t,e=R.P){const n=new Array(t.length),r=vt(t.reduce(((t,r,i)=>r===L?t:(n[i]=t,bt(t*r,e))),N),e);return t.reduceRight(((t,r,i)=>r===L?t:(n[i]=bt(t*n[i],e),bt(t*r,e))),r),n}(t.map((t=>t.z)));return t.map(((t,n)=>t.toAffine(e[n])))}static normalizeZ(t){return Q.toAffineBatch(t).map(Q.fromAffine)}equals(t){Y(t);const{x:e,y:n,z:r}=this,{x:i,y:o,z:s}=t,a=bt(r*r),c=bt(s*s),u=bt(e*c),f=bt(i*a),l=bt(bt(n*s)*c),h=bt(bt(o*r)*a);return u===f&&l===h}negate(){return new Q(this.x,bt(-this.y),this.z)}double(){const{x:t,y:e,z:n}=this,r=bt(t*t),i=bt(e*e),o=bt(i*i),s=t+i,a=bt(P*(bt(s*s)-r-o)),c=bt(D*r),u=bt(c*c),f=bt(u-P*a),l=bt(c*(a-f)-H*o),h=bt(P*e*n);return new Q(f,l,h)}add(t){Y(t);const{x:e,y:n,z:r}=this,{x:i,y:o,z:s}=t;if(i===L||o===L)return this;if(e===L||n===L)return t;const a=bt(r*r),c=bt(s*s),u=bt(e*c),f=bt(i*a),l=bt(bt(n*s)*c),h=bt(bt(o*r)*a),p=bt(f-u),d=bt(h-l);if(p===L)return d===L?this.double():Q.ZERO;const y=bt(p*p),g=bt(p*y),m=bt(u*y),b=bt(d*d-g-P*m),w=bt(d*(m-b)-l*g),v=bt(r*s*p);return new Q(b,w,v)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=Q.ZERO;if("bigint"==typeof t&&t===L)return e;let n=mt(t);if(n===N)return this;if(!Z){let t=e,r=this;for(;n>L;)n&N&&(t=t.add(r)),r=r.double(),n>>=N;return t}let{k1neg:r,k1:i,k2neg:o,k2:s}=M.splitScalar(n),a=e,c=e,u=this;for(;i>L||s>L;)i&N&&(a=a.add(u)),s&N&&(c=c.add(u)),u=u.double(),i>>=N,s>>=N;return r&&(a=a.negate()),o&&(c=c.negate()),c=new Q(bt(c.x*M.beta),c.y,c.z),a.add(c)}precomputeWindow(t){const e=Z?128/t+1:256/t+1,n=[];let r=this,i=r;for(let o=0;o<e;o++){i=r,n.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(r),n.push(i);r=i.double()}return n}wNAF(t,e){!e&&this.equals(Q.BASE)&&(e=nt.BASE);const n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let r=e&&et.get(e);r||(r=this.precomputeWindow(n),e&&1!==n&&(r=Q.normalizeZ(r),et.set(e,r)));let i=Q.ZERO,o=Q.BASE;const s=1+(Z?128/n:256/n),a=2**(n-1),c=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let e=0;e<s;e++){const n=e*a;let s=Number(t&c);t>>=f,s>a&&(s-=u,t+=N);const l=n,h=n+Math.abs(s)-1,p=e%2!=0,d=s<0;0===s?o=o.add(tt(p,r[l])):i=i.add(tt(d,r[h]))}return{p:i,f:o}}multiply(t,e){let n,r,i=mt(t);if(Z){const{k1neg:t,k1:o,k2neg:s,k2:a}=M.splitScalar(i);let{p:c,f:u}=this.wNAF(o,e),{p:f,f:l}=this.wNAF(a,e);c=tt(t,c),f=tt(s,f),f=new Q(bt(f.x*M.beta),f.y,f.z),n=c.add(f),r=u.add(l)}else{const{p:t,f:o}=this.wNAF(i,e);n=t,r=o}return Q.normalizeZ([n,r])[0]}toAffine(t){const{x:e,y:n,z:r}=this,i=this.equals(Q.ZERO);null==t&&(t=i?H:vt(r));const o=t,s=bt(o*o),a=bt(s*o),c=bt(e*s),u=bt(n*a),f=bt(r*o);if(i)return nt.ZERO;if(f!==N)throw new Error("invZ was invalid");return new nt(c,u)}}function tt(t,e){const n=e.negate();return t?n:e}Q.BASE=new Q(R.Gx,R.Gy,N),Q.ZERO=new Q(L,N,L);const et=new WeakMap;class nt{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,et.delete(this)}hasEvenY(){return this.y%P===L}static fromCompressedHex(t){const e=32===t.length,n=yt(e?t:t.subarray(1));if(!kt(n))throw new Error("Point is not on curve");let r=function(t){const{P:e}=R,n=BigInt(6),r=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,f=wt(u,D)*u%e,l=wt(f,D)*u%e,h=wt(l,P)*c%e,p=wt(h,r)*h%e,d=wt(p,i)*p%e,y=wt(d,s)*d%e,g=wt(y,a)*y%e,m=wt(g,s)*d%e,b=wt(m,D)*u%e,w=wt(b,o)*p%e,v=wt(w,n)*c%e,x=wt(v,P);if(x*x%e!==t)throw new Error("Cannot find square root");return x}(W(n));const i=(r&N)===N;e?i&&(r=bt(-r)):1==(1&t[0])!==i&&(r=bt(-r));const o=new nt(n,r);return o.assertValidity(),o}static fromUncompressedHex(t){const e=yt(t.subarray(1,q+1)),n=yt(t.subarray(q+1,2*q+1)),r=new nt(e,n);return r.assertValidity(),r}static fromHex(t){const e=gt(t),n=e.length,r=e[0];if(n===q)return this.fromCompressedHex(e);if(n===K&&(2===r||3===r))return this.fromCompressedHex(e);if(n===J&&4===r)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${K} compressed bytes or ${J} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return nt.BASE.multiply(jt(t))}static fromSignature(t,e,n){const{r,s:i}=Tt(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");const o=xt(gt(t)),{n:s}=R,a=2===n||3===n?r+s:r,c=vt(a,s),u=bt(-o*c,s),f=bt(i*c,s),l=1&n?"03":"02",h=nt.fromHex(l+ft(a)),p=nt.BASE.multiplyAndAddUnsafe(h,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return dt(this.toHex(t))}toHex(t=!1){const e=ft(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${ft(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:n}=this;if(!kt(e)||!kt(n))throw new Error(t);const r=bt(n*n);if(bt(r-W(e))!==L)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new nt(this.x,bt(-this.y))}double(){return Q.fromAffine(this).double().toAffine()}add(t){return Q.fromAffine(this).add(Q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Q.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){const r=Q.fromAffine(this),i=e===L||e===N||this!==nt.BASE?r.multiplyUnsafe(e):r.multiply(e),o=Q.fromAffine(t).multiplyUnsafe(n),s=i.add(o);return s.equals(Q.ZERO)?void 0:s.toAffine()}}function rt(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function it(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${ct(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:yt(n),left:t.subarray(e+2)}}nt.BASE=new nt(R.Gx,R.Gy),nt.ZERO=new nt(L,L);class ot{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=t instanceof Uint8Array,n="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);const r=e?ct(t):t;if(128!==r.length)throw new Error(`${n}: Expected 64-byte hex`);return new ot(pt(r.slice(0,64)),pt(r.slice(64,128)))}static fromDER(t){const e=t instanceof Uint8Array;if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:n,s:r}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${ct(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=it(t.subarray(2)),{data:r,left:i}=it(n);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ct(i)}`);return{r:e,s:r}}(e?t:dt(t));return new ot(n,r)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!_t(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!_t(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=R.n>>N;return this.s>t}normalizeS(){return this.hasHighS()?new ot(this.r,bt(-this.s,R.n)):this}toDERRawBytes(){return dt(this.toDERHex())}toDERHex(){const t=rt(ht(this.s)),e=rt(ht(this.r)),n=t.length/2,r=e.length/2,i=ht(n),o=ht(r);return`30${ht(r+n+4)}02${o}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return dt(this.toCompactHex())}toCompactHex(){return ft(this.r)+ft(this.s)}}function st(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n}const at=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function ct(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let n=0;n<t.length;n++)e+=at[t[n]];return e}const ut=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ft(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(L<=t&&t<ut))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function lt(t){const e=dt(ft(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function ht(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function pt(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function dt(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function yt(t){return pt(ct(t))}function gt(t){return t instanceof Uint8Array?Uint8Array.from(t):dt(t)}function mt(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&_t(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function bt(t,e=R.P){const n=t%e;return n>=L?n:e+n}function wt(t,e){const{P:n}=R;let r=t;for(;e-- >L;)r*=r,r%=n;return r}function vt(t,e=R.P){if(t===L||e<=L)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=bt(t,e),r=e,i=L,o=N,s=N,a=L;for(;n!==L;){const t=r/n,e=r%n,c=i-s*t,u=o-a*t;r=n,n=e,i=s,o=a,s=c,a=u}if(r!==N)throw new Error("invert: does not exist");return bt(i,e)}function xt(t,e=!1){const n=function(t){const e=8*t.length-8*V,n=yt(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=R;return n>=r?n-r:n}let Et,St;class At{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,"number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Nt.hmacSha256(this.k,...t)}hmacSync(...t){return St(this.k,...t)}checkSync(){if("function"!=typeof St)throw new X("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),0!==t.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),0!==t.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return st(...e)}generateSync(){this.checkSync(),this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return st(...e)}}function _t(t){return L<t&&t<R.n}function kt(t){return L<t&&t<R.P}function Ot(t,e,n,r=!0){const{n:i}=R,o=xt(t,!0);if(!_t(o))return;const s=vt(o,i),a=nt.BASE.multiply(o),c=bt(a.x,i);if(c===L)return;const u=bt(s*bt(e+n*c,i),i);if(u===L)return;let f=new ot(c,u),l=(a.x===f.r?0:2)|Number(a.y&N);return r&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function jt(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*V)throw new Error("Expected 32 bytes of private key");e=pt(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==V)throw new Error("Expected 32 bytes of private key");e=yt(t)}if(!_t(e))throw new Error("Expected private key: 0 < key < n");return e}function Tt(t){if(t instanceof ot)return t.assertValidity(),t;try{return ot.fromDER(t)}catch(e){return ot.fromCompact(t)}}function Ft(t){return yt(t.length>q?t.slice(0,q):t)}function Ut(t){const e=Ft(t),n=bt(e,R.n);return It(n<L?e:n)}function It(t){return lt(t)}function Bt(t,e,n={}){const{seed:r,m:i,d:o}=function(t,e,n){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const r=gt(t),i=jt(e),o=[It(i),Ut(r)];if(null!=n){!0===n&&(n=Nt.randomBytes(q));const t=gt(n);if(t.length!==q)throw new Error(`sign: Expected ${q} bytes of extra data`);o.push(t)}return{seed:st(...o),m:Ft(r),d:i}}(t,e,n.extraEntropy),s=new At(G,V);let a;for(s.reseedSync(r);!(a=Ot(s.generateSync(),i,o,n.canonical));)s.reseedSync();return function(t,e){const{sig:n,recovery:r}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?n.toDERRawBytes():n.toCompactRawBytes();return o?[s,r]:s}(a,n)}const Ct={strict:!0};nt.BASE._setWindowSize(8);const $t={node:$,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Lt={},Nt={bytesToHex:ct,hexToBytes:dt,concatBytes:st,mod:bt,invert:vt,isValidPrivateKey(t){try{return jt(t),!0}catch(t){return!1}},_bigintTo32Bytes:lt,_normalizePrivateKey:jt,hashToPrivateKey:t=>{t=gt(t);const e=V+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return lt(bt(yt(t),R.n-N)+N)},randomBytes:(t=32)=>{if($t.web)return $t.web.getRandomValues(new Uint8Array(t));if($t.node){const{randomBytes:e}=$t.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Nt.hashToPrivateKey(Nt.randomBytes(V+8)),precompute(t=8,e=nt.BASE){const n=e===nt.BASE?e:new nt(e.x,e.y);return n._setWindowSize(t),n.multiply(D),n},sha256:async(...t)=>{if($t.web){const e=await $t.web.subtle.digest("SHA-256",st(...t));return new Uint8Array(e)}if($t.node){const{createHash:e}=$t.node,n=e("sha256");return t.forEach((t=>n.update(t))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if($t.web){const n=await $t.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),r=st(...e),i=await $t.web.subtle.sign("HMAC",n,r);return new Uint8Array(i)}if($t.node){const{createHmac:n}=$t.node,r=n("sha256",t);return e.forEach((t=>r.update(t))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let n=Lt[t];if(void 0===n){const e=await Nt.sha256(Uint8Array.from(t,(t=>t.charCodeAt(0))));n=st(e,e),Lt[t]=n}return Nt.sha256(n,...e)},taggedHashSync:(t,...e)=>{if("function"!=typeof Et)throw new X("sha256Sync is undefined, you need to set it");let n=Lt[t];if(void 0===n){const e=Et(Uint8Array.from(t,(t=>t.charCodeAt(0))));n=st(e,e),Lt[t]=n}return Et(n,...e)},_JacobianPoint:Q};Object.defineProperties(Nt,{sha256Sync:{configurable:!1,get:()=>Et,set(t){Et||(Et=t)}},hmacSha256Sync:{configurable:!1,get:()=>St,set(t){St||(St=t)}}});var Pt,Dt,Ht,Rt,zt,Mt,qt=i(870);!function(t){t[t.Testnet=2147483648]="Testnet",t[t.Mainnet=1]="Mainnet"}(Pt||(Pt={})),Pt.Mainnet,(Mt=Dt||(Dt={}))[Mt.Address=0]="Address",Mt[Mt.Principal=1]="Principal",Mt[Mt.LengthPrefixedString=2]="LengthPrefixedString",Mt[Mt.MemoString=3]="MemoString",Mt[Mt.AssetInfo=4]="AssetInfo",Mt[Mt.PostCondition=5]="PostCondition",Mt[Mt.PublicKey=6]="PublicKey",Mt[Mt.LengthPrefixedList=7]="LengthPrefixedList",Mt[Mt.Payload=8]="Payload",Mt[Mt.MessageSignature=9]="MessageSignature",Mt[Mt.StructuredDataSignature=10]="StructuredDataSignature",Mt[Mt.TransactionAuthField=11]="TransactionAuthField",function(t){t[t.TokenTransfer=0]="TokenTransfer",t[t.SmartContract=1]="SmartContract",t[t.VersionedSmartContract=6]="VersionedSmartContract",t[t.ContractCall=2]="ContractCall",t[t.PoisonMicroblock=3]="PoisonMicroblock",t[t.Coinbase=4]="Coinbase",t[t.CoinbaseToAltRecipient=5]="CoinbaseToAltRecipient",t[t.TenureChange=7]="TenureChange",t[t.NakamotoCoinbase=8]="NakamotoCoinbase"}(Ht||(Ht={})),function(t){t[t.Clarity1=1]="Clarity1",t[t.Clarity2=2]="Clarity2"}(Rt||(Rt={})),function(t){t[t.OnChainOnly=1]="OnChainOnly",t[t.OffChainOnly=2]="OffChainOnly",t[t.Any=3]="Any"}(zt||(zt={}));var Vt,Gt,Kt,Jt,Wt,Zt,Xt,Yt,Qt,te,ee,ne,re,ie;zt.OnChainOnly,zt.OffChainOnly,zt.Any,zt.OnChainOnly,zt.OnChainOnly,zt.OffChainOnly,zt.OffChainOnly,zt.Any,zt.Any,(Gt=Vt||(Vt={}))[Gt.Mainnet=0]="Mainnet",Gt[Gt.Testnet=128]="Testnet",Vt.Mainnet,function(t){t[t.Allow=1]="Allow",t[t.Deny=2]="Deny"}(Kt||(Kt={})),function(t){t[t.STX=0]="STX",t[t.Fungible=1]="Fungible",t[t.NonFungible=2]="NonFungible"}(Jt||(Jt={})),function(t){t[t.Standard=4]="Standard",t[t.Sponsored=5]="Sponsored"}(Wt||(Wt={})),function(t){t[t.SerializeP2PKH=0]="SerializeP2PKH",t[t.SerializeP2SH=1]="SerializeP2SH",t[t.SerializeP2WPKH=2]="SerializeP2WPKH",t[t.SerializeP2WSH=3]="SerializeP2WSH",t[t.SerializeP2SHNonSequential=5]="SerializeP2SHNonSequential",t[t.SerializeP2WSHNonSequential=7]="SerializeP2WSHNonSequential"}(Zt||(Zt={})),function(t){t[t.MainnetSingleSig=22]="MainnetSingleSig",t[t.MainnetMultiSig=20]="MainnetMultiSig",t[t.TestnetSingleSig=26]="TestnetSingleSig",t[t.TestnetMultiSig=21]="TestnetMultiSig"}(Xt||(Xt={})),(ie=Yt||(Yt={}))[ie.Compressed=0]="Compressed",ie[ie.Uncompressed=1]="Uncompressed",function(t){t[t.Equal=1]="Equal",t[t.Greater=2]="Greater",t[t.GreaterEqual=3]="GreaterEqual",t[t.Less=4]="Less",t[t.LessEqual=5]="LessEqual"}(Qt||(Qt={})),function(t){t[t.Sends=16]="Sends",t[t.DoesNotSend=17]="DoesNotSend"}(te||(te={})),function(t){t[t.Origin=1]="Origin",t[t.Standard=2]="Standard",t[t.Contract=3]="Contract"}(ee||(ee={})),function(t){t[t.STX=0]="STX",t[t.Fungible=1]="Fungible",t[t.NonFungible=2]="NonFungible"}(ne||(ne={})),function(t){t.Serialization="Serialization",t.Deserialization="Deserialization",t.SignatureValidation="SignatureValidation",t.FeeTooLow="FeeTooLow",t.BadNonce="BadNonce",t.NotEnoughFunds="NotEnoughFunds",t.NoSuchContract="NoSuchContract",t.NoSuchPublicFunction="NoSuchPublicFunction",t.BadFunctionArgument="BadFunctionArgument",t.ContractAlreadyExists="ContractAlreadyExists",t.PoisonMicroblocksDoNotConflict="PoisonMicroblocksDoNotConflict",t.PoisonMicroblockHasUnknownPubKeyHash="PoisonMicroblockHasUnknownPubKeyHash",t.PoisonMicroblockIsInvalid="PoisonMicroblockIsInvalid",t.BadAddressVersionByte="BadAddressVersionByte",t.NoCoinbaseViaMempool="NoCoinbaseViaMempool",t.ServerFailureNoSuchChainTip="ServerFailureNoSuchChainTip",t.TooMuchChaining="TooMuchChaining",t.ConflictingNonceInMempool="ConflictingNonceInMempool",t.BadTransactionVersion="BadTransactionVersion",t.TransferRecipientCannotEqualSender="TransferRecipientCannotEqualSender",t.TransferAmountMustBePositive="TransferAmountMustBePositive",t.ServerFailureDatabase="ServerFailureDatabase",t.EstimatorError="EstimatorError",t.TemporarilyBlacklisted="TemporarilyBlacklisted",t.ServerFailureOther="ServerFailureOther"}(re||(re={}));const oe=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),se=Uint8Array.from({length:16},((t,e)=>e)),ae=se.map((t=>(9*t+5)%16));let ce=[se],ue=[ae];for(let t=0;t<4;t++)for(let e of[ce,ue])e.push(e[t].map((t=>oe[t])));const fe=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((t=>new Uint8Array(t))),le=ce.map(((t,e)=>t.map((t=>fe[e][t])))),he=ue.map(((t,e)=>t.map((t=>fe[e][t])))),pe=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),de=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ye=(t,e)=>t<<e|t>>>32-e;function ge(t,e,n,r){return 0===t?e^n^r:1===t?e&n|~e&r:2===t?(e|~n)^r:3===t?e&r|n&~r:e^(n|~r)}const me=new Uint32Array(16);class be extends k{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:e,h2:n,h3:r,h4:i}=this;return[t,e,n,r,i]}set(t,e,n,r,i){this.h0=0|t,this.h1=0|e,this.h2=0|n,this.h3=0|r,this.h4=0|i}process(t,e){for(let n=0;n<16;n++,e+=4)me[n]=t.getUint32(e,!0);let n=0|this.h0,r=n,i=0|this.h1,o=i,s=0|this.h2,a=s,c=0|this.h3,u=c,f=0|this.h4,l=f;for(let t=0;t<5;t++){const e=4-t,h=pe[t],p=de[t],d=ce[t],y=ue[t],g=le[t],m=he[t];for(let e=0;e<16;e++){const r=ye(n+ge(t,i,s,c)+me[d[e]]+h,g[e])+f|0;n=f,f=c,c=0|ye(s,10),s=i,i=r}for(let t=0;t<16;t++){const n=ye(r+ge(e,o,a,u)+me[y[t]]+p,m[t])+l|0;r=l,l=u,u=0|ye(a,10),a=o,o=n}}this.set(this.h1+s+u|0,this.h2+c+l|0,this.h3+f+r|0,this.h4+n+o|0,this.h0+i+a|0)}roundClean(){me.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const we=S((()=>new be)),ve=BigInt(2**32-1),xe=BigInt(32);function Ee(t,e=!1){return e?{h:Number(t&ve),l:Number(t>>xe&ve)}:{h:0|Number(t>>xe&ve),l:0|Number(t&ve)}}const Se=function(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:o,l:s}=Ee(t[i],e);[n[i],r[i]]=[o,s]}return[n,r]},Ae=(t,e,n)=>t>>>n,_e=(t,e,n)=>t<<32-n|e>>>n,ke=(t,e,n)=>t>>>n|e<<32-n,Oe=(t,e,n)=>t<<32-n|e>>>n,je=(t,e,n)=>t<<64-n|e>>>n-32,Te=(t,e,n)=>t>>>n-32|e<<64-n,Fe=function(t,e,n,r){const i=(e>>>0)+(r>>>0);return{h:t+n+(i/2**32|0)|0,l:0|i}},Ue=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Ie=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Be=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),Ce=(t,e,n,r,i)=>e+n+r+i+(t/2**32|0)|0,$e=(t,e,n,r,i,o)=>e+n+r+i+o+(t/2**32|0)|0,Le=(t,e,n,r,i)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(i>>>0),[Ne,Pe]=Se(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((t=>BigInt(t)))),De=new Uint32Array(80),He=new Uint32Array(80);class Re extends k{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:n,Bl:r,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:u,Fh:f,Fl:l,Gh:h,Gl:p,Hh:d,Hl:y}=this;return[t,e,n,r,i,o,s,a,c,u,f,l,h,p,d,y]}set(t,e,n,r,i,o,s,a,c,u,f,l,h,p,d,y){this.Ah=0|t,this.Al=0|e,this.Bh=0|n,this.Bl=0|r,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|c,this.El=0|u,this.Fh=0|f,this.Fl=0|l,this.Gh=0|h,this.Gl=0|p,this.Hh=0|d,this.Hl=0|y}process(t,e){for(let n=0;n<16;n++,e+=4)De[n]=t.getUint32(e),He[n]=t.getUint32(e+=4);for(let t=16;t<80;t++){const e=0|De[t-15],n=0|He[t-15],r=ke(e,n,1)^ke(e,n,8)^Ae(e,n,7),i=Oe(e,n,1)^Oe(e,n,8)^_e(e,n,7),o=0|De[t-2],s=0|He[t-2],a=ke(o,s,19)^je(o,s,61)^Ae(o,s,6),c=Oe(o,s,19)^Te(o,s,61)^_e(o,s,6),u=Be(i,c,He[t-7],He[t-16]),f=Ce(u,r,a,De[t-7],De[t-16]);De[t]=0|f,He[t]=0|u}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:u,Eh:f,El:l,Fh:h,Fl:p,Gh:d,Gl:y,Hh:g,Hl:m}=this;for(let t=0;t<80;t++){const e=ke(f,l,14)^ke(f,l,18)^je(f,l,41),b=Oe(f,l,14)^Oe(f,l,18)^Te(f,l,41),w=f&h^~f&d,v=Le(m,b,l&p^~l&y,Pe[t],He[t]),x=$e(v,g,e,w,Ne[t],De[t]),E=0|v,S=ke(n,r,28)^je(n,r,34)^je(n,r,39),A=Oe(n,r,28)^Te(n,r,34)^Te(n,r,39),_=n&i^n&s^i&s,k=r&o^r&a^o&a;g=0|d,m=0|y,d=0|h,y=0|p,h=0|f,p=0|l,({h:f,l}=Fe(0|c,0|u,0|x,0|E)),c=0|s,u=0|a,s=0|i,a=0|o,i=0|n,o=0|r;const O=Ue(E,A,k);n=Ie(O,x,S,_),r=0|O}({h:n,l:r}=Fe(0|this.Ah,0|this.Al,0|n,0|r)),({h:i,l:o}=Fe(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=Fe(0|this.Ch,0|this.Cl,0|s,0|a)),({h:c,l:u}=Fe(0|this.Dh,0|this.Dl,0|c,0|u)),({h:f,l}=Fe(0|this.Eh,0|this.El,0|f,0|l)),({h,l:p}=Fe(0|this.Fh,0|this.Fl,0|h,0|p)),({h:d,l:y}=Fe(0|this.Gh,0|this.Gl,0|d,0|y)),({h:g,l:m}=Fe(0|this.Hh,0|this.Hl,0|g,0|m)),this.set(n,r,i,o,s,a,c,u,f,l,h,p,d,y,g,m)}roundClean(){De.fill(0),He.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class ze extends Re{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class Me extends Re{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class qe extends Re{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}S((()=>new Re)),S((()=>new ze)),S((()=>new Me)),S((()=>new qe)),i(907);const Ve=t=>h((t=>we(B(t)))(t));function Ge(t,n=null){let r;r=n?function(t,n){const r=(0,e.decodeToken)(t),i=r.payload;if("string"==typeof i)throw new Error("Unexpected token payload type of string");if(!i.hasOwnProperty("subject")||!i.subject)throw new Error("Token doesn't have a subject");if(!i.subject.hasOwnProperty("publicKey"))throw new Error("Token doesn't have a subject public key");if(!i.hasOwnProperty("issuer")||!i.issuer)throw new Error("Token doesn't have an issuer");if(!i.issuer.hasOwnProperty("publicKey"))throw new Error("Token doesn't have an issuer public key");if(!i.hasOwnProperty("claim"))throw new Error("Token doesn't have a claim");const o=i.issuer.publicKey,s=function(t,e=Vt.Mainnet){var n,r,i;return t="string"==typeof t?t:h(t),n=function(t,e){switch(t){case Zt.SerializeP2PKH:switch(e){case Vt.Mainnet:return Xt.MainnetSingleSig;case Vt.Testnet:return Xt.TestnetSingleSig;default:throw new Error(`Unexpected txVersion ${JSON.stringify(e)} for hashMode ${t}`)}case Zt.SerializeP2SH:case Zt.SerializeP2SHNonSequential:case Zt.SerializeP2WPKH:case Zt.SerializeP2WSH:case Zt.SerializeP2WSHNonSequential:switch(e){case Vt.Mainnet:return Xt.MainnetMultiSig;case Vt.Testnet:return Xt.TestnetMultiSig;default:throw new Error(`Unexpected txVersion ${JSON.stringify(e)} for hashMode ${t}`)}default:throw new Error(`Unexpected hashMode ${JSON.stringify(t)}`)}}(Zt.SerializeP2PKH,e),r=Ve(p(t)),i={type:Dt.Address,version:n,hash160:r},(0,qt.H4)(i.version,i.hash160)}(o);if(n===o);else if(n!==s)throw new Error("Token issuer public key does not match the verifying value");const a=new e.TokenVerifier(r.header.alg,o);if(!a)throw new Error("Invalid token verifier");if(!a.verify(t))throw new Error("Token verification failed");return r}(t,n):(0,e.decodeToken)(t);let i={};if(r.hasOwnProperty("payload")){const t=r.payload;if("string"==typeof t)throw new Error("Unexpected token payload type of string");t.hasOwnProperty("claim")&&(i=t.claim)}return i}function Ke(t,e){let n;return e.proof&&e.proof.url&&(n=e.proof.url),{"@type":"Account",service:t,identifier:e.username,proofType:"http",proofUrl:n}}Nt.hmacSha256Sync=(t,...e)=>{const n=_.create(B,t);return e.forEach((t=>n.update(t))),n.digest()};var Je=i(377),We=i(179);i(616);const Ze={referrerPolicy:"origin",headers:{"x-hiro-product":"stacksjs"}};async function Xe(t,e){const n={};return Object.assign(n,Ze,e),await fetch(t,n)}function Ye(...t){const{fetchLib:e,middlewares:n}=function(t){let e=Xe,n=[];return t.length>0&&"function"==typeof t[0]&&(e=t.shift()),t.length>0&&(n=t),{fetchLib:e,middlewares:n}}(t);return async(t,r)=>{let i={url:t,init:r??{}};for(const t of n)"function"==typeof t.pre&&(i=await Promise.resolve(t.pre({fetch:e,...i}))??i);let o=await e(i.url,i.init);for(const t of n)if("function"==typeof t.post){const n=await Promise.resolve(t.post({fetch:e,url:i.url,init:i.init,response:o?.clone()??o}));o=n??o}return o}}const Qe={type:"object",properties:{"@context":{type:"string",optional:!0},"@type":{type:"string"}}};class tn{constructor(t={}){this._profile=Object.assign({},{"@context":"http://schema.org/"},t)}toJSON(){return Object.assign({},this._profile)}toToken(t){return function(t,n,r,i,o="ES256K",s=new Date,a=function(){return new Date((new Date).setFullYear((new Date).getFullYear()+1))}()){if("ES256K"!==o)throw new Error("Signing algorithm not supported");const c=e.SECP256K1Client.derivePublicKey(n);r||(r={publicKey:c}),i||(i={publicKey:c});const f=new e.TokenSigner(o,n),l={jti:u(),iat:s.toISOString(),exp:a.toISOString(),subject:r,issuer:i,claim:t};return f.sign(l)}(this.toJSON(),t)}static validateSchema(t,e=!1){return Qe.strict=e,We.validate(Qe,t)}static fromToken(t,e=null){const n=Ge(t,e);return new tn(n)}static makeZoneFile(t,e){return function(t,e){if(!e.includes("://"))throw new Error("Invalid token file url");const n=e.split("://")[0],r=e.split("://")[1].split("/"),i={$origin:t,$ttl:3600,uri:[{name:"_http._tcp",priority:10,weight:1,target:`${n}://${r[0]}${`/${r.slice(1).join("/")}`}`}]};return(0,Je.makeZoneFile)(i,"{$origin}\n{$ttl}\n{uri}\n")}(t,e)}}const en={type:"object",strict:!1,properties:{"@context":{type:"string",optional:!0},"@type":{type:"string"},"@id":{type:"string",optional:!0},name:{type:"string",optional:!0},givenName:{type:"string",optional:!0},familyName:{type:"string",optional:!0},description:{type:"string",optional:!0},image:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},name:{type:"string",optional:!0},contentUrl:{type:"string",optional:!0}}}},website:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},url:{type:"string",optional:!0}}}},account:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},service:{type:"string",optional:!0},identifier:{type:"string",optional:!0},proofType:{type:"string",optional:!0},proofUrl:{type:"string",optional:!0},proofMessage:{type:"string",optional:!0},proofSignature:{type:"string",optional:!0}}}},worksFor:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},"@id":{type:"string",optional:!0}}}},knows:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},"@id":{type:"string",optional:!0}}}},address:{type:"object",optional:!0,properties:{"@type":{type:"string"},streetAddress:{type:"string",optional:!0},addressLocality:{type:"string",optional:!0},postalCode:{type:"string",optional:!0},addressCountry:{type:"string",optional:!0}}},birthDate:{type:"string",optional:!0},taxID:{type:"string",optional:!0}}};class nn extends tn{constructor(t={"@type":"Person"}){super(t),this._profile=Object.assign({},{"@type":"Person"},this._profile)}static validateSchema(t,e=!1){return en.strict=e,We.validate(Qe,t)}static fromToken(t,e=null){const n=Ge(t,e);return new nn(n)}static fromLegacyFormat(t){const e=function(t){const e={"@type":"Person"};if(t){t.name&&t.name.formatted&&(e.name=t.name.formatted),t.bio&&(e.description=t.bio),t.location&&t.location.formatted&&(e.address={"@type":"PostalAddress",addressLocality:t.location.formatted});const n=[];t.avatar&&t.avatar.url&&n.push({"@type":"ImageObject",name:"avatar",contentUrl:t.avatar.url}),t.cover&&t.cover.url&&n.push({"@type":"ImageObject",name:"cover",contentUrl:t.cover.url}),n.length&&(e.image=n),t.website&&(e.website=[{"@type":"WebSite",url:t.website}]);const r=[];t.bitcoin&&t.bitcoin.address&&r.push({"@type":"Account",role:"payment",service:"bitcoin",identifier:t.bitcoin.address}),t.twitter&&t.twitter.username&&r.push(Ke("twitter",t.twitter)),t.facebook&&t.facebook.username&&r.push(Ke("facebook",t.facebook)),t.github&&t.github.username&&r.push(Ke("github",t.github)),t.auth&&t.auth.length>0&&t.auth[0]&&t.auth[0].publicKeychain&&r.push({"@type":"Account",role:"key",service:"bip32",identifier:t.auth[0].publicKeychain}),t.pgp&&t.pgp.url&&r.push({"@type":"Account",role:"key",service:"pgp",identifier:t.pgp.fingerprint,contentUrl:t.pgp.url}),e.account=r}return e}(t);return new nn(e)}toJSON(){return{profile:this.profile(),name:this.name(),givenName:this.givenName(),familyName:this.familyName(),description:this.description(),avatarUrl:this.avatarUrl(),verifiedAccounts:this.verifiedAccounts(),address:this.address(),birthDate:this.birthDate(),connections:this.connections(),organizations:this.organizations()}}profile(){return Object.assign({},this._profile)}name(){return function(t){if(!t)return null;let e=null;return t.name?e=t.name:(t.givenName||t.familyName)&&(e="",t.givenName&&(e=t.givenName),t.familyName&&(e+=` ${t.familyName}`)),e}(this.profile())}givenName(){return function(t){if(!t)return null;let e=null;return t.givenName?e=t.givenName:t.name&&(e=t.name.split(" ").slice(0,-1).join(" ")),e}(this.profile())}familyName(){return function(t){if(!t)return null;let e=null;return t.familyName?e=t.familyName:t.name&&(e=t.name.split(" ").pop()),e}(this.profile())}description(){return function(t){if(!t)return null;let e=null;return t.description&&(e=t.description),e}(this.profile())}avatarUrl(){return function(t){if(!t)return null;let e=null;return t.image&&t.image.map((t=>"avatar"===t.name?(e=t.contentUrl,e):null)),e}(this.profile())}verifiedAccounts(t){return function(t,e){if(!t)return null;const n=[];return t.hasOwnProperty("account")&&e&&t.account.map((t=>{let r=!1,i=null;return e.map((e=>(e.hasOwnProperty("proof_url")&&(e.proofUrl=e.proof_url),!(!e.valid||e.service!==t.service||e.identifier!==t.identifier||!e.proofUrl||(r=!0,i=e.proofUrl,0))))),r?(t.proofUrl=i,n.push(t),t):null})),n}(this.profile(),t)}address(){return function(t){if(!t)return null;let e=null;if(t.hasOwnProperty("address")){const n=[];t.address.hasOwnProperty("streetAddress")&&n.push(t.address.streetAddress),t.address.hasOwnProperty("addressLocality")&&n.push(t.address.addressLocality),t.address.hasOwnProperty("postalCode")&&n.push(t.address.postalCode),t.address.hasOwnProperty("addressCountry")&&n.push(t.address.addressCountry),n.length&&(e=n.join(", "))}return e}(this.profile())}birthDate(){return function(t){if(!t)return null;const e=["January","February","March","April","May","June","July","August","September","October","November","December"];let n=null;if(t.hasOwnProperty("birthDate")){const r=new Date(t.birthDate);n=`${e[r.getMonth()]} ${r.getDate()}, ${r.getFullYear()}`}return n}(this.profile())}connections(){return function(t){if(!t)return null;let e=[];return t.hasOwnProperty("knows")&&(e=t.knows),e}(this.profile())}organizations(){return(t=this.profile())?t.hasOwnProperty("worksFor")?t.worksFor:[]:null;var t}}var rn,on,sn;!function(t){t[t.Testnet=2147483648]="Testnet",t[t.Mainnet=1]="Mainnet"}(rn||(rn={})),function(t){t[t.Mainnet=0]="Mainnet",t[t.Testnet=128]="Testnet"}(on||(on={})),function(t){t[t.Mainnet=385875968]="Mainnet",t[t.Testnet=4278190080]="Testnet"}(sn||(sn={}));const an=33,cn=["mainnet","testnet","devnet","mocknet"];class un{constructor(t){this.version=on.Mainnet,this.chainId=rn.Mainnet,this.bnsLookupUrl="https://api.mainnet.hiro.so",this.broadcastEndpoint="/v2/transactions",this.transferFeeEstimateEndpoint="/v2/fees/transfer",this.transactionFeeEstimateEndpoint="/v2/fees/transaction",this.accountEndpoint="/v2/accounts",this.contractAbiEndpoint="/v2/contracts/interface",this.readOnlyFunctionCallEndpoint="/v2/contracts/call-read",this.isMainnet=()=>this.version===on.Mainnet,this.getBroadcastApiUrl=()=>`${this.coreApiUrl}${this.broadcastEndpoint}`,this.getTransferFeeEstimateApiUrl=()=>`${this.coreApiUrl}${this.transferFeeEstimateEndpoint}`,this.getTransactionFeeEstimateApiUrl=()=>`${this.coreApiUrl}${this.transactionFeeEstimateEndpoint}`,this.getAccountApiUrl=t=>`${this.coreApiUrl}${this.accountEndpoint}/${t}?proof=0`,this.getAccountExtendedBalancesApiUrl=t=>`${this.coreApiUrl}/extended/v1/address/${t}/balances`,this.getAbiApiUrl=(t,e)=>`${this.coreApiUrl}${this.contractAbiEndpoint}/${t}/${e}`,this.getReadOnlyFunctionCallApiUrl=(t,e,n)=>`${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}/${t}/${e}/${encodeURIComponent(n)}`,this.getInfoUrl=()=>`${this.coreApiUrl}/v2/info`,this.getBlockTimeInfoUrl=()=>`${this.coreApiUrl}/extended/v1/info/network_block_times`,this.getPoxInfoUrl=()=>`${this.coreApiUrl}/v2/pox`,this.getRewardsUrl=(t,e)=>{let n=`${this.coreApiUrl}/extended/v1/burnchain/rewards/${t}`;return e&&(n=`${n}?limit=${e.limit}&offset=${e.offset}`),n},this.getRewardsTotalUrl=t=>`${this.coreApiUrl}/extended/v1/burnchain/rewards/${t}/total`,this.getRewardHoldersUrl=(t,e)=>{let n=`${this.coreApiUrl}/extended/v1/burnchain/reward_slot_holders/${t}`;return e&&(n=`${n}?limit=${e.limit}&offset=${e.offset}`),n},this.getStackerInfoUrl=(t,e)=>`${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}\n ${t}/${e}/get-stacker-info`,this.getDataVarUrl=(t,e,n)=>`${this.coreApiUrl}/v2/data_var/${t}/${e}/${n}?proof=0`,this.getMapEntryUrl=(t,e,n)=>`${this.coreApiUrl}/v2/map_entry/${t}/${e}/${n}?proof=0`,this.coreApiUrl=t.url,this.fetchFn=t.fetchFn??Ye()}getNameInfo(t){const e=`${this.bnsLookupUrl}/v1/names/${t}`;return this.fetchFn(e).then((t=>{if(404===t.status)throw new Error("Name not found");if(200!==t.status)throw new Error(`Bad response status: ${t.status}`);return t.json()})).then((t=>t.address?Object.assign({},t,{address:t.address}):t))}}un.fromName=t=>{switch(t){case"mainnet":return new fn;case"testnet":return new ln;case"devnet":return new pn;case"mocknet":return new hn;default:throw new Error(`Invalid network name provided. Must be one of the following: ${cn.join(", ")}`)}},un.fromNameOrNetwork=t=>"string"!=typeof t&&"version"in t?t:un.fromName(t);class fn extends un{constructor(t){super({url:t?.url??"https://api.mainnet.hiro.so",fetchFn:t?.fetchFn}),this.version=on.Mainnet,this.chainId=rn.Mainnet}}class ln extends un{constructor(t){super({url:t?.url??"https://api.testnet.hiro.so",fetchFn:t?.fetchFn}),this.version=on.Testnet,this.chainId=rn.Testnet}}class hn extends un{constructor(t){super({url:t?.url??"http://localhost:3999",fetchFn:t?.fetchFn}),this.version=on.Testnet,this.chainId=rn.Testnet}}const pn=hn,dn={MISSING_PARAMETER:"missing_parameter",REMOTE_SERVICE_ERROR:"remote_service_error",INVALID_STATE:"invalid_state",NO_SESSION_DATA:"no_session_data",DOES_NOT_EXIST:"does_not_exist",FAILED_DECRYPTION_ERROR:"failed_decryption_error",INVALID_DID_ERROR:"invalid_did_error",NOT_ENOUGH_FUNDS_ERROR:"not_enough_error",INVALID_AMOUNT_ERROR:"invalid_amount_error",LOGIN_FAILED_ERROR:"login_failed",SIGNATURE_VERIFICATION_ERROR:"signature_verification_failure",CONFLICT_ERROR:"conflict_error",NOT_ENOUGH_PROOF_ERROR:"not_enough_proof_error",BAD_PATH_ERROR:"bad_path_error",VALIDATION_ERROR:"validation_error",PAYLOAD_TOO_LARGE_ERROR:"payload_too_large_error",PRECONDITION_FAILED_ERROR:"precondition_failed_error",UNKNOWN:"unknown"};Object.freeze(dn);class yn extends Error{constructor(t){super();let e=t.message,n=`Error Code: ${t.code}`,r=this.stack;if(r)n+=`Stack Trace:\n${r}`;else try{throw new Error}catch(t){r=t.stack}e+=`\nIf you believe this exception is caused by a bug in stacks.js,\n please file a bug report: https://github.com/blockstack/stacks.js/issues\n\n${n}`,this.message=e,this.code=t.code,this.parameter=t.parameter?t.parameter:void 0}toString(){return`${super.toString()}\n code: ${this.code} param: ${this.parameter?this.parameter:"n/a"}`}}class gn extends yn{constructor(t){const e=`Failed to verify signature: ${t}`;super({code:dn.SIGNATURE_VERIFICATION_ERROR,message:e}),this.message=e,this.name="SignatureVerificationError"}}class mn extends yn{constructor(t){super({code:dn.INVALID_STATE,message:t}),this.message=t,this.name="InvalidStateError"}}class bn extends yn{constructor(t,e){super(t),e&&(this.hubError={statusCode:e.status,statusText:e.statusText},"string"==typeof e.body?this.hubError.message=e.body:"object"==typeof e.body&&Object.assign(this.hubError,e.body))}}class wn extends bn{constructor(t,e){super({message:t,code:dn.DOES_NOT_EXIST},e),this.name="DoesNotExist"}}class vn extends bn{constructor(t,e){super({message:t,code:dn.CONFLICT_ERROR},e),this.name="ConflictError"}}class xn extends bn{constructor(t,e){super({message:t,code:dn.NOT_ENOUGH_PROOF_ERROR},e),this.name="NotEnoughProofError"}}class En extends bn{constructor(t,e){super({message:t,code:dn.BAD_PATH_ERROR},e),this.name="BadPathError"}}class Sn extends bn{constructor(t,e){super({message:t,code:dn.VALIDATION_ERROR},e),this.name="ValidationError"}}class An extends bn{constructor(t,e,n){super({message:t,code:dn.PAYLOAD_TOO_LARGE_ERROR},e),this.name="PayloadTooLargeError",this.maxUploadByteSize=n}}class _n extends bn{constructor(t,e){super({message:t,code:dn.PRECONDITION_FAILED_ERROR},e),this.name="PreconditionFailedError"}}function kn(t){const e="string"==typeof t?p(t):t;if(32!=e.length&&33!=e.length)throw new Error(`Improperly formatted private-key. Private-key byte length should be 32 or 33. Length provided: ${e.length}`);if(33==e.length&&1!==e[32])throw new Error("Improperly formatted private-key. 33 bytes indicate compressed key, but the last byte must be == 01");return e}var On=i(22),jn=i.n(On);function Tn(t){return B(t)}const Fn=0;function Un(t,e=Fn){var n;return function(t,e){return function(t){const e=B(B(t));return jn().encode(y(t,e).slice(0,t.length+4))}(y(new Uint8Array([t]),e.slice(0,20)))}(e,(n=Tn("string"==typeof t?p(t):t),we(n)))}function In(t){return h(function(t,e=!1){return nt.fromPrivateKey(t).toRawBytes(e)}(kn(t).slice(0,32),!0))}Nt.hmacSha256Sync=(t,...e)=>{const n=_.create(B,t);return e.forEach((t=>n.update(t))),n.digest()};var Bn,Cn=i(766);function $n(t,e,n){return function(t,e,n,r=Ct){let i;try{i=Tt(t),e=gt(e)}catch(t){return!1}const{r:o,s}=i;if(r.strict&&i.hasHighS())return!1;const a=xt(e);let c;try{c=function(t){return t instanceof nt?(t.assertValidity(),t):nt.fromHex(t)}(n)}catch(t){return!1}const{n:u}=R,f=vt(s,u),l=bt(a*f,u),h=bt(o*f,u),p=nt.BASE.multiplyAndAddUnsafe(c,l,h);return!!p&&bt(p.x,u)===o}(n,Tn("string"==typeof t?d(t):t),e,{strict:!1})}Nt.hmacSha256Sync=(t,...e)=>{const n=_.create(B,t);return e.forEach((t=>n.update(t))),n.digest()},function(t){t.InvalidFormat="InvalidFormat",t.IsNotPoint="IsNotPoint"}(Bn||(Bn={}));const Ln={referrerPolicy:"origin"};async function Nn(t,e){const n={};return Object.assign(n,e,Ln),await fetch(t,n)}function Pn(...t){const{fetchLib:e,middlewares:n}=function(t){let e=Nn,n=[];return t.length>0&&"function"==typeof t[0]&&(e=t.shift()),t.length>0&&(n=t),{fetchLib:e,middlewares:n}}(t);return async(t,r)=>{var i;let o={url:t,init:null!=r?r:{}};for(const t of n)if("function"==typeof t.pre){const n=await Promise.resolve(t.pre(Object.assign({fetch:e},o)));o=null!=n?n:o}let s=await e(o.url,o.init);for(const t of n)if("function"==typeof t.post){const n=await Promise.resolve(t.post({fetch:e,url:o.url,init:o.init,response:null!==(i=null==s?void 0:s.clone())&&void 0!==i?i:s}));s=null!=n?n:s}return s}}const Dn=class t{constructor(e,n){this.wasString="string"==typeof e,this.content=t.normalizeContentDataType(e,n),this.contentType=n||this.detectContentType(),this.contentByteLength=this.detectContentLength()}static normalizeContentDataType(t,e){try{if("string"==typeof t){const n=(e||"").toLowerCase().replace("-","");if(n.includes("charset")&&!n.includes("charset=utf8")&&!n.includes("charset=ascii"))throw new Error(`Unable to determine byte length with charset: ${e}`);if("undefined"!=typeof TextEncoder){const e=(new TextEncoder).encode(t);return new Uint8Array(e.buffer)}return d(t)}if(t instanceof Uint8Array)return t;if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));if("undefined"!=typeof Blob&&t instanceof Blob)return t;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer)return new Uint8Array(t);if(Array.isArray(t)){if(t.length>0&&(!Number.isInteger(t[0])||t[0]<0||t[0]>255))throw new Error(`Unexpected array values provided as file data: value "${t[0]}" at index 0 is not an octet number. ${this.supportedTypesMsg}`);return new Uint8Array(t)}{const e=Object.prototype.toString.call(t);throw new Error(`Unexpected type provided as file data: ${e}. ${this.supportedTypesMsg}`)}}catch(t){throw console.error(t),new Error(`Error processing data: ${t}`)}}detectContentType(){return this.wasString?"text/plain; charset=utf-8":"undefined"!=typeof Blob&&this.content instanceof Blob&&this.content.type?this.content.type:"application/octet-stream"}detectContentLength(){if(ArrayBuffer.isView(this.content)||this.content instanceof Uint8Array)return this.content.byteLength;if("undefined"!=typeof Blob&&this.content instanceof Blob)return this.content.size;const t=Object.prototype.toString.call(this.content),e=new Error(`Unexpected type "${t}" while detecting content length`);throw console.error(e),e}async loadContent(){try{if(this.content instanceof Uint8Array)return this.content;if(ArrayBuffer.isView(this.content))return new Uint8Array(this.content.buffer,this.content.byteOffset,this.content.byteLength);if("undefined"!=typeof Blob&&this.content instanceof Blob){const t=new FileReader,e=new Promise(((e,n)=>{t.onerror=t=>{n(t)},t.onload=()=>{const n=t.result;e(new Uint8Array(n))},t.readAsArrayBuffer(this.content)}));return await e}{const t=Object.prototype.toString.call(this.content);throw new Error(`Unexpected type ${t}`)}}catch(t){console.error(t);const e=new Error(`Error loading content: ${t}`);throw console.error(e),e}}load(){return void 0===this.loadedData&&(this.loadedData=this.loadContent()),this.loadedData}};Dn.supportedTypesMsg="Supported types are: `string` (to be UTF8 encoded), `Blob`, `File`, `ArrayBuffer`, `UInt8Array` or any other typed array buffer. ";let Hn=Dn;const Rn=(t=32)=>Nt.randomBytes(t),zn="blockstack-gaia-hub-config";async function Mn(t,e,n,r="application/octet-stream",i=!0,o,s,c=Pn()){a.debug(`uploadToGaiaHub: uploading ${t} to ${n.server}`);const u={"Content-Type":r,Authorization:`bearer ${n.token}`};s||(i?u["If-None-Match"]="*":o&&(u["If-Match"]=o));const f=await c(`${n.server}/store/${n.address}/${t}`,{method:"POST",headers:u,body:e});if(!f.ok)throw await Jn(f,"Error when uploading to Gaia hub.",n);const l=await f.text();return JSON.parse(l)}async function qn(t,e,n=Pn()){a.debug(`deleteFromGaiaHub: deleting ${t} from ${e.server}`);const r=await n(`${e.server}/delete/${e.address}/${t}`,{method:"DELETE",headers:{Authorization:`bearer ${e.token}`}});if(!r.ok)throw await Jn(r,"Error deleting file from Gaia hub.",e)}function Vn(t,e){return Promise.resolve(`${e.url_prefix}${e.address}/${t}`)}async function Gn(t,n,r,i=Pn()){a.debug(`connectToGaiaHub: ${t}/hub_info`);const o=await i(`${t}/hub_info`),s=await o.json(),c=s.read_url_prefix,u=function(t,n,r,i){const o=t.challenge_text,s=t.latest_auth_version&&parseInt(t.latest_auth_version.slice(1),10)>=1,a=In(n);if(!s)return function(t,e){let n;try{n=JSON.parse(t)}catch(t){throw new Error("Failed in parsing legacy challenge text from the gaia hub.")}if("gaiahub"===n[0]&&"blockstack_storage_please_sign"===n[3]){const n=(r=Tn(d(t)),i=function(t){const e=kn(t);return e.length==an?e:y(e,new Uint8Array([1]))}(e),Bt(r,kn(i).slice(0,32),{der:!1})),o=ot.fromCompact(h(n)).toDERHex(),s=In(e);return(0,Cn.fromByteArray)(d(JSON.stringify({publickey:s,signature:o})))}var r,i;throw new Error("Failed to connect to legacy gaia hub. If you operate this hub, please update.")}(o,n);const c={gaiaChallenge:o,hubUrl:r,iss:a,salt:h(Rn(16)),associationToken:i};return`v1:${new e.TokenSigner("ES256K",n).sign(c)}`}(s,n,t,r),f=Un(In(n));return{url_prefix:c,max_file_upload_size_megabytes:s.max_file_upload_size_megabytes,address:f,token:u,server:t}}async function Kn(t,e,n=Pn()){const r=await n(`${t}/hub_info`),i=await r.text();return`${JSON.parse(i).read_url_prefix}${Un(In(e))}/`}async function Jn(t,e,n){if(t.ok)throw new Error("Cannot get a BlockstackError from a valid response.");const r=await async function(t){let e,n="";try{n=await t.text();try{e=JSON.parse(n)}catch(t){}}catch(t){a.debug(`Error getting bad http response text: ${t}`)}return{status:t.status,statusText:t.statusText,body:e||n}}(t);if(401===r.status)return new Sn(e,r);if(402===r.status)return new xn(e,r);if(403===r.status)return new En(e,r);if(404===r.status)throw new wn(e,r);if(409===r.status)return new vn(e,r);if(412===r.status)return new _n(e,r);if(413===r.status){const t=n&&n.max_file_upload_size_megabytes?c(n.max_file_upload_size_megabytes):0;return new An(e,r,t)}return new Error(e)}const Wn=".sig";class Zn{constructor(t){this.userSession=t.userSession}async getFile(t,e){const n={decrypt:!0,verify:!1,app:f("location",{returnEmptyObject:!0}).origin},r=Object.assign({},n,e);if(r.verify&&!r.decrypt)return this.getFileSignedUnencrypted(t,r);const i=await this.getFileContents(t,r.app,r.username,r.zoneFileLookupURL,!!r.decrypt);if(null===i)return i;if(r.decrypt&&!r.verify){if("string"!=typeof i)throw new Error("Expected to get back a string for the cipherText");if("string"==typeof r.decrypt){const t={privateKey:r.decrypt};return this.userSession.decryptContent(i,t)}return this.userSession.decryptContent(i)}if(r.decrypt&&r.verify){if("string"!=typeof i)throw new Error("Expected to get back a string for the cipherText");let e;return"string"==typeof r.decrypt&&(e=r.decrypt),this.handleSignedEncryptedContents(t,i,r.app,e,r.username,r.zoneFileLookupURL)}if(r.verify||r.decrypt)throw new Error("Should be unreachable.");return i}async getUserAppFileUrl(t,e,n,r){const i=await function(t){if(!t.username)return Promise.reject(new Error("No username provided"));const e={network:new fn},n=Object.assign(e,t),r=un.fromNameOrNetwork(n.network);let i;if(n.zoneFileLookupURL){const t=`${n.zoneFileLookupURL.replace(/\/$/,"")}/${n.username}`;i=r.fetchFn(t).then((t=>t.json()))}else i=r.getNameInfo(n.username);return i.then((t=>{if(t.hasOwnProperty("zonefile")&&t.hasOwnProperty("address"))return function(t,e,n=Ye()){return new Promise(((r,i)=>{let o=null;try{o=(0,Je.parseZoneFile)(t),o.hasOwnProperty("$origin")||(o=null)}catch(t){i(t)}let s=null;if(o&&Object.keys(o).length>0)s=function(t){if(!t.hasOwnProperty("uri"))return null;if(!Array.isArray(t.uri))return null;if(t.uri.length<1)return null;const e=t.uri.filter((t=>t.hasOwnProperty("target")&&"_http._tcp"===t.name));if(e.length<1)return null;const n=e[0];if(!n.hasOwnProperty("target"))return null;let r=n.target;return r.startsWith("https")||r.startsWith("http")||(r=`https://${r}`),r}(o);else try{return r(nn.fromLegacyFormat(JSON.parse(t)).profile())}catch(t){return i(t)}s?n(s).then((t=>t.text())).then((t=>JSON.parse(t))).then((t=>{const n=Ge(t[0].token,e);r(n)})).catch((t=>{a.error(`resolveZoneFileToProfile: error fetching token file ${s}: ${t}`),i(t)})):(a.debug("Token file url not found. Resolving to blank profile."),r({}))}))}(t.zonefile,t.address,r.fetchFn);throw new Error("Invalid zonefile lookup response: did not contain `address` or `zonefile` field")}))}({username:e,zoneFileLookupURL:r});let o;return i.hasOwnProperty("apps")&&i.apps.hasOwnProperty(n)&&(o=`${i.apps[n].replace(/\/?(\?|#|$)/,"/$1")}${t}`),o}async getGaiaAddress(t,e,n){const r=Yn(this.userSession,{app:t,username:e,zoneFileLookupURL:n});let i;if(e)i=await this.getUserAppFileUrl("/",r.username,r.app,r.zoneFileLookupURL);else{const t=await this.getOrSetLocalGaiaHubConnection();i=await Vn("/",t)}const o=i.match(/([13][a-km-zA-HJ-NP-Z0-9]{26,35})/);if(!o)throw new Error("Failed to parse gaia address");return o[o.length-1]}async getFileUrl(t,e){const n=Yn(this.userSession,e);let r;if(n.username)r=await this.getUserAppFileUrl(t,n.username,n.app,n.zoneFileLookupURL);else{const e=await this.getOrSetLocalGaiaHubConnection();r=await Vn(t,e)}if(r)return r;throw new Error("Missing readURL")}async getFileContents(t,e,n,r,i,o=Pn()){const s={app:e,username:n,zoneFileLookupURL:r},a=await this.getFileUrl(t,s),c=await o(a);if(!c.ok)throw await Jn(c,`getFile ${t} failed.`,null);let u=c.headers.get("Content-Type");"string"==typeof u&&(u=u.toLowerCase());const f=c.headers.get("ETag");if(f){const e=this.userSession.store.getSessionData();e.etags[t]=f,this.userSession.store.setSessionData(e)}return i||null===u||u.startsWith("text")||u.startsWith("application/json")?c.text():c.arrayBuffer()}async getFileSignedUnencrypted(t,e){const n=`${t}${Wn}`;try{const[r,i,o]=await Promise.all([this.getFileContents(t,e.app,e.username,e.zoneFileLookupURL,!1),this.getFileContents(n,e.app,e.username,e.zoneFileLookupURL,!0),this.getGaiaAddress(e.app,e.username,e.zoneFileLookupURL)]);if(!r)return r;if(!o)throw new gn(`Failed to get gaia address for verification of: ${t}`);if(!i||"string"!=typeof i)throw new gn(`Failed to obtain signature for file: ${t} -- looked in ${t}${Wn}`);let s,a;try{const t=JSON.parse(i);s=t.signature,a=t.publicKey}catch(e){if(e instanceof SyntaxError)throw new Error(`Failed to parse signature content JSON (path: ${t}${Wn}) The content may be corrupted.`);throw e}const c=Un(a);if(o!==c)throw new gn(`Signer pubkey address (${c}) doesn't match gaia address (${o})`);if(!$n("string"==typeof r?d(r):new Uint8Array(r),a,s))throw new gn(`Contents do not match ECDSA signature: path: ${t}, signature: ${t}${Wn}`);return r}catch(e){if(e instanceof wn&&e.message.indexOf(n)>=0)throw new gn(`Failed to obtain signature for file: ${t} -- looked in ${t}${Wn}`);throw e}}async handleSignedEncryptedContents(t,e,n,r,i,o){const s=In(r||this.userSession.loadUserData().appPrivateKey),a=i?await this.getGaiaAddress(n,i,o):Un(s);if(!a)throw new gn(`Failed to get gaia address for verification of: ${t}`);let c;try{c=JSON.parse(e)}catch(t){throw t instanceof SyntaxError?new Error("Failed to parse encrypted, signed content JSON. The content may not be encrypted. If using getFile, try passing { verify: false, decrypt: false }."):t}const u=c.signature,f=c.publicKey,l=c.cipherText,h=Un(f);if(f&&l&&u){if(h!==a)throw new gn(`Signer pubkey address (${h}) doesn't match gaia address (${a})`);if($n(l,f,u)){if("string"==typeof r){const t={privateKey:r};return this.userSession.decryptContent(l,t)}return this.userSession.decryptContent(l)}throw new gn(`Contents do not match ECDSA signature in file: ${t}`)}throw new gn(`Failed to get signature verification data from file: ${t}`)}async putFile(t,e,n){var r,i;const o=Object.assign({},{encrypt:!0,sign:!1,cipherTextEncoding:"hex",dangerouslyIgnoreEtag:!1},n),s=await this.getOrSetLocalGaiaHubConnection(),a=c(s.max_file_upload_size_megabytes),u=a>0,f=new Hn(e,o.contentType);let l,p=f.contentType;if(!o.encrypt&&u&&f.contentByteLength>a){const t=`The max file upload size for this hub is ${a} bytes, the given content is ${f.contentByteLength} bytes`,e=new An(t,null,a);throw console.error(e),e}if(o.encrypt&&u){const t=function(t){const{payloadShell:e,payloadValuesLength:n}=function(t){const e={iv:"",ephemeralPK:"",mac:"",cipherText:"",wasString:!!t.wasString};return"base64"===t.cipherTextEncoding&&(e.cipherTextEncoding="base64"),{payloadValuesLength:162,payloadShell:JSON.stringify(e)}}(t),r=(i=t.contentLength,16*(Math.floor(i/16)+1));var i;let o;if(t.cipherTextEncoding&&"hex"!==t.cipherTextEncoding){if("base64"!==t.cipherTextEncoding)throw new Error(`Unexpected cipherTextEncoding "${t.cipherTextEncoding}"`);o=function(t){return 4*Math.ceil(t/3)}(r)}else o=2*r;if(t.sign){const{signedPayloadShell:t,signedPayloadValuesLength:r}=function(t){const e={signature:"",publicKey:"",cipherText:t};return{signedPayloadValuesLength:210,signedPayloadShell:JSON.stringify(e)}}(e);return t.length+r+n+o}return e.length+n+o}({contentLength:f.contentByteLength,wasString:f.wasString,sign:!!o.sign,cipherTextEncoding:o.cipherTextEncoding});if(t>a){const e=new An(`The max file upload size for this hub is ${a} bytes, the given content is ${t} bytes after encryption`,null,a);throw console.error(e),e}}let y=!0;const g=this.userSession.store.getSessionData();let m;if(o.dangerouslyIgnoreEtag||(null==(r=g.etags)?void 0:r[t])&&(y=!1,l=null==(i=g.etags)?void 0:i[t]),!o.encrypt&&o.sign){const e=await f.load();let n;n="string"==typeof o.sign?o.sign:this.userSession.loadUserData().appPrivateKey;const r=function(t,e){const n="string"==typeof e?d(e):e,r=In(t);return{signature:h(Bt(Tn(n),t)),publicKey:r}}(n,e),i=JSON.stringify(r);m=async n=>{const r=(await Promise.all([Mn(t,e,n,p,y,l,o.dangerouslyIgnoreEtag),Mn(`${t}${Wn}`,i,n,"application/json")]))[0];return!o.dangerouslyIgnoreEtag&&r.etag&&(g.etags[t]=r.etag,this.userSession.store.setSessionData(g)),r.publicURL}}else{let e;if(o.encrypt||o.sign){let t;t="string"==typeof o.encrypt?o.encrypt:"string"==typeof o.sign?In(o.sign):In(this.userSession.loadUserData().appPrivateKey);const n=await f.load();e=await this.userSession.encryptContent(n,{publicKey:t,wasString:f.wasString,cipherTextEncoding:o.cipherTextEncoding,sign:o.sign}),p="application/json"}else e=f.content;m=async n=>{const r=await Mn(t,e,n,p,y,l,o.dangerouslyIgnoreEtag);return r.etag&&(g.etags[t]=r.etag,this.userSession.store.setSessionData(g)),r.publicURL}}try{return await m(s)}catch(t){if(function(t){if(!t||!t.hubError||!t.hubError.statusCode)return!1;const e=t.hubError.statusCode;return 401===e||(409===e||e>=500&&e<=599)}(t)){console.error(t),console.error("Possible recoverable error during Gaia upload, retrying...");const e=await this.setLocalGaiaHubConnection();return await m(e)}throw t}}async deleteFile(t,e){const n=await this.getOrSetLocalGaiaHubConnection();if(Object.assign({},e).wasSigned)try{await qn(t,n),await qn(`${t}${Wn}`,n);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const r=await this.setLocalGaiaHubConnection();await qn(t,r),await qn(`${t}${Wn}`,n);const i=this.userSession.store.getSessionData();delete i.etags[t],this.userSession.store.setSessionData(i)}else try{await qn(t,n);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const n=await this.setLocalGaiaHubConnection();await qn(t,n);const r=this.userSession.store.getSessionData();delete r.etags[t],this.userSession.store.setSessionData(r)}}getAppBucketUrl(t,e){return Kn(t,e)}async listFilesLoop(t,e,n,r,i,o=Pn()){if(n>65536)throw new Error("Too many entries to list");let s;t=t||await this.getOrSetLocalGaiaHubConnection();try{const n=JSON.stringify({page:e}),r={method:"POST",headers:{"Content-Type":"application/json","Content-Length":`${n.length}`,Authorization:`bearer ${t.token}`},body:n};if(s=await o(`${t.server}/list-files/${t.address}`,r),!s.ok)throw await Jn(s,"ListFiles failed.",t)}catch(t){if(0===n){const t=await this.setLocalGaiaHubConnection();return this.listFilesLoop(t,e,n+1,0,i)}throw t}const a=await s.text(),c=JSON.parse(a),u=c.entries,f=c.page;if(null==u)throw new Error("Bad listFiles response: no entries");let l=0;for(let t=0;t<u.length;t++)if(null!==u[t]&&(l++,!i(u[t])))return r+t;return f&&u.length>0?this.listFilesLoop(t,f,n+1,r+l,i):r+l}listFiles(t){return this.listFilesLoop(null,null,0,0,t)}async getOrSetLocalGaiaHubConnection(){const t=this.userSession.store.getSessionData().userData;if(!t)throw new mn("Missing userData");const e=t.gaiaHubConfig;return e?Promise.resolve(e):this.setLocalGaiaHubConnection()}async setLocalGaiaHubConnection(){const t=this.userSession.loadUserData();if(!t)throw new mn("Missing userData");t.hubUrl||(t.hubUrl="https://hub.blockstack.org");const e=await Gn(t.hubUrl,t.appPrivateKey,t.gaiaAssociationToken);t.gaiaHubConfig=e;const n=this.userSession.store.getSessionData();return n.userData.gaiaHubConfig=e,this.userSession.store.setSessionData(n),e}}function Xn(t){return new Zn({}).getUserAppFileUrl(t.path,t.username,t.appOrigin,t.zoneFileLookupURL)}function Yn(t,e){var n;const r=Object.assign({},e);if(r.username){if(!r.app){if(!t.appConfig)throw new mn("Missing AppConfig");r.app=t.appConfig.appDomain}if(!r.zoneFileLookupURL){if(!t.appConfig)throw new mn("Missing AppConfig");if(!t.store)throw new mn("Missing store UserSession");const e=(null==(n=t.store.getSessionData().userData)?void 0:n.coreNode)||t.appConfig.coreNode;e&&(r.zoneFileLookupURL=`${e}/v1/names`)}}return r}})(),o})()));
|
|
2
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.StacksStorage=e():t.StacksStorage=e()}(this,(()=>(()=>{var t,e,n={525:(t,e)=>{"use strict";function n(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function r(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)}function i(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function o(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");n(t.outputLen),n(t.blockLen)}function s(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function a(t,e){i(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}Object.defineProperty(e,"__esModule",{value:!0}),e.output=e.exists=e.hash=e.bytes=e.bool=e.number=void 0,e.number=n,e.bool=r,e.bytes=i,e.hash=o,e.exists=s,e.output=a;const c={number:n,bool:r,bytes:i,hash:o,exists:s,output:a};e.default=c},350:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SHA2=void 0;const r=n(525),i=n(64);class o extends i.Hash{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,i.createView)(this.buffer)}update(t){r.default.exists(this);const{view:e,buffer:n,blockLen:o}=this,s=(t=(0,i.toBytes)(t)).length;for(let r=0;r<s;){const a=Math.min(o-this.pos,s-r);if(a!==o)n.set(t.subarray(r,r+a),this.pos),this.pos+=a,r+=a,this.pos===o&&(this.process(e,0),this.pos=0);else{const e=(0,i.createView)(t);for(;o<=s-r;r+=o)this.process(e,r)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){r.default.exists(this),r.default.output(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:o,isLE:s}=this;let{pos:a}=this;e[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>o-a&&(this.process(n,0),a=0);for(let t=a;t<o;t++)e[t]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,u=r?0:4;t.setUint32(e+c,s,r),t.setUint32(e+u,a,r)}(n,o-8,BigInt(8*this.length),s),this.process(n,0);const c=(0,i.createView)(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const f=u/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<f;t++)c.setUint32(4*t,l[t],s)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return t.length=r,t.pos=s,t.finished=i,t.destroyed=o,r%e&&t.buffer.set(n),t}}e.SHA2=o},661:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto={node:void 0,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0}},514:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hmac=void 0;const r=n(525),i=n(64);class o extends i.Hash{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,r.default.hash(t);const n=(0,i.toBytes)(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?t.create().update(n).digest():n);for(let t=0;t<s.length;t++)s[t]^=54;this.iHash.update(s),this.oHash=t.create();for(let t=0;t<s.length;t++)s[t]^=106;this.oHash.update(s),s.fill(0)}update(t){return r.default.exists(this),this.iHash.update(t),this}digestInto(t){r.default.exists(this),r.default.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=r,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}e.hmac=(t,e,n)=>new o(t,e).update(n).digest(),e.hmac.create=(t,e)=>new o(t,e)},53:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sha224=e.sha256=void 0;const r=n(350),i=n(64),o=(t,e,n)=>t&e^t&n^e&n,s=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),a=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),c=new Uint32Array(64);class u extends r.SHA2{constructor(){super(64,32,8,!1),this.A=0|a[0],this.B=0|a[1],this.C=0|a[2],this.D=0|a[3],this.E=0|a[4],this.F=0|a[5],this.G=0|a[6],this.H=0|a[7]}get(){const{A:t,B:e,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[t,e,n,r,i,o,s,a]}set(t,e,n,r,i,o,s,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(t,e){for(let n=0;n<16;n++,e+=4)c[n]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=c[t-15],n=c[t-2],r=(0,i.rotr)(e,7)^(0,i.rotr)(e,18)^e>>>3,o=(0,i.rotr)(n,17)^(0,i.rotr)(n,19)^n>>>10;c[t]=o+c[t-7]+r+c[t-16]|0}let{A:n,B:r,C:a,D:u,E:f,F:l,G:h,H:p}=this;for(let t=0;t<64;t++){const e=p+((0,i.rotr)(f,6)^(0,i.rotr)(f,11)^(0,i.rotr)(f,25))+((d=f)&l^~d&h)+s[t]+c[t]|0,y=((0,i.rotr)(n,2)^(0,i.rotr)(n,13)^(0,i.rotr)(n,22))+o(n,r,a)|0;p=h,h=l,l=f,f=u+e|0,u=a,a=r,r=n,n=e+y|0}var d;n=n+this.A|0,r=r+this.B|0,a=a+this.C|0,u=u+this.D|0,f=f+this.E|0,l=l+this.F|0,h=h+this.G|0,p=p+this.H|0,this.set(n,r,a,u,f,l,h,p)}roundClean(){c.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class f extends u{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}e.sha256=(0,i.wrapConstructor)((()=>new u)),e.sha224=(0,i.wrapConstructor)((()=>new f))},64:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.randomBytes=e.wrapConstructorWithOpts=e.wrapConstructor=e.checkOpts=e.Hash=e.concatBytes=e.toBytes=e.utf8ToBytes=e.asyncLoop=e.nextTick=e.hexToBytes=e.bytesToHex=e.isLE=e.rotr=e.createView=e.u32=e.u8=void 0;const r=n(661);if(e.u8=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),e.u32=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),e.createView=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),e.rotr=(t,e)=>t<<32-e|t>>>e,e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!e.isLE)throw new Error("Non little-endian hardware is not supported");const i=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function o(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}function s(t){if("string"==typeof t&&(t=o(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}e.bytesToHex=function(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=i[t[n]];return e},e.hexToBytes=function(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e},e.nextTick=async()=>{},e.asyncLoop=async function(t,n,r){let i=Date.now();for(let o=0;o<t;o++){r(o);const t=Date.now()-i;t>=0&&t<n||(await(0,e.nextTick)(),i+=t)}},e.utf8ToBytes=o,e.toBytes=s,e.concatBytes=function(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n},e.Hash=class{clone(){return this._cloneInto()}},e.checkOpts=function(t,e){if(void 0!==e&&("object"!=typeof e||(n=e,"[object Object]"!==Object.prototype.toString.call(n)||n.constructor!==Object)))throw new TypeError("Options should be object or undefined");var n;return Object.assign(t,e)},e.wrapConstructor=function(t){const e=e=>t().update(s(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e},e.wrapConstructorWithOpts=function(t){const e=(e,n)=>t(n).update(s(e)).digest(),n=t({});return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=e=>t(e),e},e.randomBytes=function(t=32){if(r.crypto.web)return r.crypto.web.getRandomValues(new Uint8Array(t));if(r.crypto.node)return new Uint8Array(r.crypto.node.randomBytes(t).buffer);throw new Error("The environment doesn't have randomBytes function")}},698:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.utils=e.schnorr=e.verify=e.signSync=e.sign=e.getSharedSecret=e.recoverPublicKey=e.getPublicKey=e.Signature=e.Point=e.CURVE=void 0;const r=n(695),i=BigInt(0),o=BigInt(1),s=BigInt(2),a=BigInt(3),c=BigInt(8),u=Object.freeze({a:i,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:o,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")});e.CURVE=u;const f=(t,e)=>(t+e/s)/e,l={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=u,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-o*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,a=BigInt("0x100000000000000000000000000000000"),c=f(s*t,e),l=f(-r*t,e);let h=D(t-c*n-l*i,e),p=D(-c*r-l*s,e);const d=h>a,y=p>a;if(d&&(h=e-h),y&&(p=e-p),h>a||p>a)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:d,k1:h,k2neg:y,k2:p}}},h=32,p=32,d=h+1,y=2*h+1;function g(t){const{a:e,b:n}=u,r=D(t*t),i=D(r*t);return D(i+e*t+n)}const m=u.a===i;class b extends Error{constructor(t){super(t)}}function w(t){if(!(t instanceof v))throw new TypeError("JacobianPoint expected")}class v{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof S))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(S.ZERO)?v.ZERO:new v(t.x,t.y,o)}static toAffineBatch(t){const e=function(t,e=u.P){const n=new Array(t.length),r=R(t.reduce(((t,r,o)=>r===i?t:(n[o]=t,D(t*r,e))),o),e);return t.reduceRight(((t,r,o)=>r===i?t:(n[o]=D(t*n[o],e),D(t*r,e))),r),n}(t.map((t=>t.z)));return t.map(((t,n)=>t.toAffine(e[n])))}static normalizeZ(t){return v.toAffineBatch(t).map(v.fromAffine)}equals(t){w(t);const{x:e,y:n,z:r}=this,{x:i,y:o,z:s}=t,a=D(r*r),c=D(s*s),u=D(e*c),f=D(i*a),l=D(D(n*s)*c),h=D(D(o*r)*a);return u===f&&l===h}negate(){return new v(this.x,D(-this.y),this.z)}double(){const{x:t,y:e,z:n}=this,r=D(t*t),i=D(e*e),o=D(i*i),u=t+i,f=D(s*(D(u*u)-r-o)),l=D(a*r),h=D(l*l),p=D(h-s*f),d=D(l*(f-p)-c*o),y=D(s*e*n);return new v(p,d,y)}add(t){w(t);const{x:e,y:n,z:r}=this,{x:o,y:a,z:c}=t;if(o===i||a===i)return this;if(e===i||n===i)return t;const u=D(r*r),f=D(c*c),l=D(e*f),h=D(o*u),p=D(D(n*c)*f),d=D(D(a*r)*u),y=D(h-l),g=D(d-p);if(y===i)return g===i?this.double():v.ZERO;const m=D(y*y),b=D(y*m),x=D(l*m),E=D(g*g-b-s*x),S=D(g*(x-E)-p*b),A=D(r*c*y);return new v(E,S,A)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=v.ZERO;if("bigint"==typeof t&&t===i)return e;let n=P(t);if(n===o)return this;if(!m){let t=e,r=this;for(;n>i;)n&o&&(t=t.add(r)),r=r.double(),n>>=o;return t}let{k1neg:r,k1:s,k2neg:a,k2:c}=l.splitScalar(n),u=e,f=e,h=this;for(;s>i||c>i;)s&o&&(u=u.add(h)),c&o&&(f=f.add(h)),h=h.double(),s>>=o,c>>=o;return r&&(u=u.negate()),a&&(f=f.negate()),f=new v(D(f.x*l.beta),f.y,f.z),u.add(f)}precomputeWindow(t){const e=m?128/t+1:256/t+1,n=[];let r=this,i=r;for(let o=0;o<e;o++){i=r,n.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(r),n.push(i);r=i.double()}return n}wNAF(t,e){!e&&this.equals(v.BASE)&&(e=S.BASE);const n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let r=e&&E.get(e);r||(r=this.precomputeWindow(n),e&&1!==n&&(r=v.normalizeZ(r),E.set(e,r)));let i=v.ZERO,s=v.BASE;const a=1+(m?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let e=0;e<a;e++){const n=e*c;let a=Number(t&u);t>>=l,a>c&&(a-=f,t+=o);const h=n,p=n+Math.abs(a)-1,d=e%2!=0,y=a<0;0===a?s=s.add(x(d,r[h])):i=i.add(x(y,r[p]))}return{p:i,f:s}}multiply(t,e){let n,r,i=P(t);if(m){const{k1neg:t,k1:o,k2neg:s,k2:a}=l.splitScalar(i);let{p:c,f:u}=this.wNAF(o,e),{p:f,f:h}=this.wNAF(a,e);c=x(t,c),f=x(s,f),f=new v(D(f.x*l.beta),f.y,f.z),n=c.add(f),r=u.add(h)}else{const{p:t,f:o}=this.wNAF(i,e);n=t,r=o}return v.normalizeZ([n,r])[0]}toAffine(t){const{x:e,y:n,z:r}=this,i=this.equals(v.ZERO);null==t&&(t=i?c:R(r));const s=t,a=D(s*s),u=D(a*s),f=D(e*a),l=D(n*u),h=D(r*s);if(i)return S.ZERO;if(h!==o)throw new Error("invZ was invalid");return new S(f,l)}}function x(t,e){const n=e.negate();return t?n:e}v.BASE=new v(u.Gx,u.Gy,o),v.ZERO=new v(i,o,i);const E=new WeakMap;class S{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,E.delete(this)}hasEvenY(){return this.y%s===i}static fromCompressedHex(t){const e=32===t.length,n=L(e?t:t.subarray(1));if(!K(n))throw new Error("Point is not on curve");let r=function(t){const{P:e}=u,n=BigInt(6),r=BigInt(11),i=BigInt(22),o=BigInt(23),c=BigInt(44),f=BigInt(88),l=t*t*t%e,h=l*l*t%e,p=H(h,a)*h%e,d=H(p,a)*h%e,y=H(d,s)*l%e,g=H(y,r)*y%e,m=H(g,i)*g%e,b=H(m,c)*m%e,w=H(b,f)*b%e,v=H(w,c)*m%e,x=H(v,a)*h%e,E=H(x,o)*g%e,S=H(E,n)*l%e,A=H(S,s);if(A*A%e!==t)throw new Error("Cannot find square root");return A}(g(n));const i=(r&o)===o;e?i&&(r=D(-r)):1==(1&t[0])!==i&&(r=D(-r));const c=new S(n,r);return c.assertValidity(),c}static fromUncompressedHex(t){const e=L(t.subarray(1,h+1)),n=L(t.subarray(h+1,2*h+1)),r=new S(e,n);return r.assertValidity(),r}static fromHex(t){const e=N(t),n=e.length,r=e[0];if(n===h)return this.fromCompressedHex(e);if(n===d&&(2===r||3===r))return this.fromCompressedHex(e);if(n===y&&4===r)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${d} compressed bytes or ${y} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return S.BASE.multiply(W(t))}static fromSignature(t,e,n){const{r,s:i}=X(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");const o=z(N(t)),{n:s}=u,a=2===n||3===n?r+s:r,c=R(a,s),f=D(-o*c,s),l=D(i*c,s),h=1&n?"03":"02",p=S.fromHex(h+U(a)),d=S.BASE.multiplyAndAddUnsafe(p,f,l);if(!d)throw new Error("Cannot recover signature: point at infinify");return d.assertValidity(),d}toRawBytes(t=!1){return $(this.toHex(t))}toHex(t=!1){const e=U(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${U(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:n}=this;if(!K(e)||!K(n))throw new Error(t);const r=D(n*n);if(D(r-g(e))!==i)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new S(this.x,D(-this.y))}double(){return v.fromAffine(this).double().toAffine()}add(t){return v.fromAffine(this).add(v.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return v.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){const r=v.fromAffine(this),s=e===i||e===o||this!==S.BASE?r.multiplyUnsafe(e):r.multiply(e),a=v.fromAffine(t).multiplyUnsafe(n),c=s.add(a);return c.equals(v.ZERO)?void 0:c.toAffine()}}function A(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function _(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${T(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:L(n),left:t.subarray(e+2)}}e.Point=S,S.BASE=new S(u.Gx,u.Gy),S.ZERO=new S(i,i);class k{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=t instanceof Uint8Array,n="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);const r=e?T(t):t;if(128!==r.length)throw new Error(`${n}: Expected 64-byte hex`);return new k(B(r.slice(0,64)),B(r.slice(64,128)))}static fromDER(t){const e=t instanceof Uint8Array;if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:n,s:r}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${T(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=_(t.subarray(2)),{data:r,left:i}=_(n);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${T(i)}`);return{r:e,s:r}}(e?t:$(t));return new k(n,r)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!G(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!G(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=u.n>>o;return this.s>t}normalizeS(){return this.hasHighS()?new k(this.r,D(-this.s,u.n)):this}toDERRawBytes(){return $(this.toDERHex())}toDERHex(){const t=A(C(this.s)),e=A(C(this.r)),n=t.length/2,r=e.length/2,i=C(n),o=C(r);return`30${C(r+n+4)}02${o}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return $(this.toCompactHex())}toCompactHex(){return U(this.r)+U(this.s)}}function O(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n}e.Signature=k;const j=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function T(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let n=0;n<t.length;n++)e+=j[t[n]];return e}const F=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function U(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(i<=t&&t<F))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function I(t){const e=$(U(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function C(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function B(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function $(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function L(t){return B(T(t))}function N(t){return t instanceof Uint8Array?Uint8Array.from(t):$(t)}function P(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&G(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=u.P){const n=t%e;return n>=i?n:e+n}function H(t,e){const{P:n}=u;let r=t;for(;e-- >i;)r*=r,r%=n;return r}function R(t,e=u.P){if(t===i||e<=i)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=D(t,e),r=e,s=i,a=o,c=o,f=i;for(;n!==i;){const t=r/n,e=r%n,i=s-c*t,o=a-f*t;r=n,n=e,s=c,a=f,c=i,f=o}if(r!==o)throw new Error("invert: does not exist");return D(s,e)}function z(t,e=!1){const n=function(t){const e=8*t.length-8*p,n=L(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=u;return n>=r?n-r:n}let M,q;class V{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,"number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return e.utils.hmacSha256(this.k,...t)}hmacSync(...t){return q(this.k,...t)}checkSync(){if("function"!=typeof q)throw new b("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),0!==t.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),0!==t.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return O(...e)}generateSync(){this.checkSync(),this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return O(...e)}}function G(t){return i<t&&t<u.n}function K(t){return i<t&&t<u.P}function J(t,e,n,r=!0){const{n:s}=u,a=z(t,!0);if(!G(a))return;const c=R(a,s),f=S.BASE.multiply(a),l=D(f.x,s);if(l===i)return;const h=D(c*D(e+n*l,s),s);if(h===i)return;let p=new k(l,h),d=(f.x===p.r?0:2)|Number(f.y&o);return r&&p.hasHighS()&&(p=p.normalizeS(),d^=1),{sig:p,recovery:d}}function W(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*p)throw new Error("Expected 32 bytes of private key");e=B(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==p)throw new Error("Expected 32 bytes of private key");e=L(t)}if(!G(e))throw new Error("Expected private key: 0 < key < n");return e}function Z(t){return t instanceof S?(t.assertValidity(),t):S.fromHex(t)}function X(t){if(t instanceof k)return t.assertValidity(),t;try{return k.fromDER(t)}catch(e){return k.fromCompact(t)}}function Y(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?r===d||r===y:n?r===2*d||r===2*y:t instanceof S}function Q(t){return L(t.length>h?t.slice(0,h):t)}function tt(t){const e=Q(t),n=D(e,u.n);return et(n<i?e:n)}function et(t){return I(t)}function nt(t,n,r){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const i=N(t),o=W(n),s=[et(o),tt(i)];if(null!=r){!0===r&&(r=e.utils.randomBytes(h));const t=N(r);if(t.length!==h)throw new Error(`sign: Expected ${h} bytes of extra data`);s.push(t)}return{seed:O(...s),m:Q(i),d:o}}function rt(t,e){const{sig:n,recovery:r}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?n.toDERRawBytes():n.toCompactRawBytes();return o?[s,r]:s}e.getPublicKey=function(t,e=!1){return S.fromPrivateKey(t).toRawBytes(e)},e.recoverPublicKey=function(t,e,n,r=!1){return S.fromSignature(t,e,n).toRawBytes(r)},e.getSharedSecret=function(t,e,n=!1){if(Y(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!Y(e))throw new TypeError("getSharedSecret: second arg must be public key");const r=Z(e);return r.assertValidity(),r.multiply(W(t)).toRawBytes(n)},e.sign=async function(t,e,n={}){const{seed:r,m:i,d:o}=nt(t,e,n.extraEntropy),s=new V(32,p);let a;for(await s.reseed(r);!(a=J(await s.generate(),i,o,n.canonical));)await s.reseed();return rt(a,n)},e.signSync=function(t,e,n={}){const{seed:r,m:i,d:o}=nt(t,e,n.extraEntropy),s=new V(32,p);let a;for(s.reseedSync(r);!(a=J(s.generateSync(),i,o,n.canonical));)s.reseedSync();return rt(a,n)};const it={strict:!0};function ot(t){return D(L(t),u.n)}e.verify=function(t,e,n,r=it){let i;try{i=X(t),e=N(e)}catch(t){return!1}const{r:o,s}=i;if(r.strict&&i.hasHighS())return!1;const a=z(e);let c;try{c=Z(n)}catch(t){return!1}const{n:f}=u,l=R(s,f),h=D(a*l,f),p=D(o*l,f),d=S.BASE.multiplyAndAddUnsafe(c,h,p);return!!d&&D(d.x,f)===o};class st{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){const e=N(t);if(64!==e.length)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${e.length}`);const n=L(e.subarray(0,32)),r=L(e.subarray(32,64));return new st(n,r)}assertValidity(){const{r:t,s:e}=this;if(!K(t)||!G(e))throw new Error("Invalid signature")}toHex(){return U(this.r)+U(this.s)}toRawBytes(){return $(this.toHex())}}class at{constructor(t,n,r=e.utils.randomBytes()){if(null==t)throw new TypeError(`sign: Expected valid message, not "${t}"`);this.m=N(t);const{x:i,scalar:o}=this.getScalar(W(n));if(this.px=i,this.d=o,this.rand=N(r),32!==this.rand.length)throw new TypeError("sign: Expected 32 bytes of aux randomness")}getScalar(t){const e=S.fromPrivateKey(t),n=e.hasEvenY()?t:u.n-t;return{point:e,scalar:n,x:e.toRawX()}}initNonce(t,e){return I(t^L(e))}finalizeNonce(t){const e=D(L(t),u.n);if(e===i)throw new Error("sign: Creation of signature failed. k is zero");const{point:n,x:r,scalar:o}=this.getScalar(e);return{R:n,rx:r,k:o}}finalizeSig(t,e,n,r){return new st(t.x,D(e+n*r,u.n)).toRawBytes()}error(){throw new Error("sign: Invalid signature produced")}async calc(){const{m:t,d:n,px:r,rand:i}=this,o=e.utils.taggedHash,s=this.initNonce(n,await o(pt.aux,i)),{R:a,rx:c,k:u}=this.finalizeNonce(await o(pt.nonce,s,r,t)),f=ot(await o(pt.challenge,c,r,t)),l=this.finalizeSig(a,u,f,n);return await ft(l,t,r)||this.error(),l}calcSync(){const{m:t,d:n,px:r,rand:i}=this,o=e.utils.taggedHashSync,s=this.initNonce(n,o(pt.aux,i)),{R:a,rx:c,k:u}=this.finalizeNonce(o(pt.nonce,s,r,t)),f=ot(o(pt.challenge,c,r,t)),l=this.finalizeSig(a,u,f,n);return lt(l,t,r)||this.error(),l}}function ct(t,e,n){const r=t instanceof st,i=r?t:st.fromHex(t);return r&&i.assertValidity(),{...i,m:N(e),P:Z(n)}}function ut(t,e,n,r){const i=S.BASE.multiplyAndAddUnsafe(e,W(n),D(-r,u.n));return!(!i||!i.hasEvenY()||i.x!==t)}async function ft(t,n,r){try{const{r:i,s:o,m:s,P:a}=ct(t,n,r),c=ot(await e.utils.taggedHash(pt.challenge,I(i),a.toRawX(),s));return ut(i,a,o,c)}catch(t){return!1}}function lt(t,n,r){try{const{r:i,s:o,m:s,P:a}=ct(t,n,r),c=ot(e.utils.taggedHashSync(pt.challenge,I(i),a.toRawX(),s));return ut(i,a,o,c)}catch(t){if(t instanceof b)throw t;return!1}}e.schnorr={Signature:st,getPublicKey:function(t){return S.fromPrivateKey(t).toRawX()},sign:async function(t,e,n){return new at(t,e,n).calc()},verify:ft,signSync:function(t,e,n){return new at(t,e,n).calcSync()},verifySync:lt},S.BASE._setWindowSize(8);const ht={node:r,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},pt={challenge:"BIP0340/challenge",aux:"BIP0340/aux",nonce:"BIP0340/nonce"},dt={};e.utils={bytesToHex:T,hexToBytes:$,concatBytes:O,mod:D,invert:R,isValidPrivateKey(t){try{return W(t),!0}catch(t){return!1}},_bigintTo32Bytes:I,_normalizePrivateKey:W,hashToPrivateKey:t=>{t=N(t);const e=p+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return I(D(L(t),u.n-o)+o)},randomBytes:(t=32)=>{if(ht.web)return ht.web.getRandomValues(new Uint8Array(t));if(ht.node){const{randomBytes:e}=ht.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>e.utils.hashToPrivateKey(e.utils.randomBytes(p+8)),precompute(t=8,e=S.BASE){const n=e===S.BASE?e:new S(e.x,e.y);return n._setWindowSize(t),n.multiply(a),n},sha256:async(...t)=>{if(ht.web){const e=await ht.web.subtle.digest("SHA-256",O(...t));return new Uint8Array(e)}if(ht.node){const{createHash:e}=ht.node,n=e("sha256");return t.forEach((t=>n.update(t))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ht.web){const n=await ht.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),r=O(...e),i=await ht.web.subtle.sign("HMAC",n,r);return new Uint8Array(i)}if(ht.node){const{createHmac:n}=ht.node,r=n("sha256",t);return e.forEach((t=>r.update(t))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...n)=>{let r=dt[t];if(void 0===r){const n=await e.utils.sha256(Uint8Array.from(t,(t=>t.charCodeAt(0))));r=O(n,n),dt[t]=r}return e.utils.sha256(r,...n)},taggedHashSync:(t,...e)=>{if("function"!=typeof M)throw new b("sha256Sync is undefined, you need to set it");let n=dt[t];if(void 0===n){const e=M(Uint8Array.from(t,(t=>t.charCodeAt(0))));n=O(e,e),dt[t]=n}return M(n,...e)},_JacobianPoint:v},Object.defineProperties(e.utils,{sha256Sync:{configurable:!1,get:()=>M,set(t){M||(M=t)}},hmacSha256Sync:{configurable:!1,get:()=>q,set(t){q||(q=t)}}})},166:t=>{"use strict";t.exports=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),o=i.charCodeAt(0);if(255!==e[o])throw new TypeError(i+" is ambiguous");e[o]=r}var s=t.length,a=t.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return new Uint8Array;for(var n=0,r=0,i=0;t[n]===a;)r++,n++;for(var o=(t.length-n)*c+1>>>0,u=new Uint8Array(o);t[n];){var f=e[t.charCodeAt(n)];if(255===f)return;for(var l=0,h=o-1;(0!==f||l<i)&&-1!==h;h--,l++)f+=s*u[h]>>>0,u[h]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");i=l,n++}for(var p=o-i;p!==o&&0===u[p];)p++;for(var d=new Uint8Array(r+(o-p)),y=r;p!==o;)d[y++]=u[p++];return d}return{encode:function(e){if(e instanceof Uint8Array||(ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e))),!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===e.length)return"";for(var n=0,r=0,i=0,o=e.length;i!==o&&0===e[i];)i++,n++;for(var c=(o-i)*u+1>>>0,f=new Uint8Array(c);i!==o;){for(var l=e[i],h=0,p=c-1;(0!==l||h<r)&&-1!==p;p--,h++)l+=256*f[p]>>>0,f[p]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");r=h,i++}for(var d=c-r;d!==c&&0===f[d];)d++;for(var y=a.repeat(n);d<c;++d)y+=t.charAt(f[d]);return y},decodeUnsafe:f,decode:function(t){var e=f(t);if(e)return e;throw new Error("Non-base"+s+" character")}}}},766:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=a(t),s=o[0],c=o[1],u=new i(function(t,e,n){return 3*(e+n)/4-n}(0,s,c)),f=0,l=c>0?s-4:s;for(n=0;n<l;n+=4)e=r[t.charCodeAt(n)]<<18|r[t.charCodeAt(n+1)]<<12|r[t.charCodeAt(n+2)]<<6|r[t.charCodeAt(n+3)],u[f++]=e>>16&255,u[f++]=e>>8&255,u[f++]=255&e;return 2===c&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,u[f++]=255&e),1===c&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,u[f++]=e>>8&255,u[f++]=255&e),u},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,u=r-i;a<u;a+=s)o.push(c(t,a,a+s>u?u:a+s));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=o[s],r[o.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t,e,r){for(var i,o,s=[],a=e;a<r;a+=3)i=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),s.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return s.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},22:(t,e,n)=>{const r=n(166);t.exports=r("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},98:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.c32ToB58=e.b58ToC32=e.c32addressDecode=e.c32address=e.versions=void 0;const r=n(392),i=n(716),o=n(64);e.versions={mainnet:{p2pkh:22,p2sh:20},testnet:{p2pkh:26,p2sh:21}};const s={};s[0]=e.versions.mainnet.p2pkh,s[5]=e.versions.mainnet.p2sh,s[111]=e.versions.testnet.p2pkh,s[196]=e.versions.testnet.p2sh;const a={};function c(t,e){if(!e.match(/^[0-9a-fA-F]{40}$/))throw new Error("Invalid argument: not a hash160 hex string");return`S${(0,r.c32checkEncode)(t,e)}`}function u(t){if(t.length<=5)throw new Error("Invalid c32 address: invalid length");if("S"!=t[0])throw new Error('Invalid c32 address: must start with "S"');return(0,r.c32checkDecode)(t.slice(1))}a[e.versions.mainnet.p2pkh]=0,a[e.versions.mainnet.p2sh]=5,a[e.versions.testnet.p2pkh]=111,a[e.versions.testnet.p2sh]=196,e.c32address=c,e.c32addressDecode=u,e.b58ToC32=function(t,e=-1){const n=i.decode(t),r=(0,o.bytesToHex)(n.data),a=parseInt((0,o.bytesToHex)(n.prefix),16);let u;return e<0?(u=a,void 0!==s[a]&&(u=s[a])):u=e,c(u,r)},e.c32ToB58=function(t,e=-1){const n=u(t),r=n[0],o=n[1];let s;e<0?(s=r,void 0!==a[r]&&(s=a[r])):s=e;let c=s.toString(16);return 1===c.length&&(c=`0${c}`),i.encode(o,c)}},716:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.encode=void 0;const r=n(53),i=n(64),o=n(166),s="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";e.encode=function(t,e="00"){const n="string"==typeof t?(0,i.hexToBytes)(t):t,a="string"==typeof e?(0,i.hexToBytes)(e):t;if(!(n instanceof Uint8Array&&a instanceof Uint8Array))throw new TypeError("Argument must be of type Uint8Array or string");const c=(0,r.sha256)((0,r.sha256)(new Uint8Array([...a,...n])));return o(s).encode([...a,...n,...c.slice(0,4)])},e.decode=function(t){const e=o(s).decode(t),n=e.slice(0,1),i=e.slice(1,-4),a=(0,r.sha256)((0,r.sha256)(new Uint8Array([...n,...i])));return e.slice(-4).forEach(((t,e)=>{if(t!==a[e])throw new Error("Invalid checksum")})),{prefix:n,data:i}}},392:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.c32checkDecode=e.c32checkEncode=void 0;const r=n(53),i=n(64),o=n(103);function s(t){const e=(0,r.sha256)((0,r.sha256)((0,i.hexToBytes)(t)));return(0,i.bytesToHex)(e.slice(0,4))}e.c32checkEncode=function(t,e){if(t<0||t>=32)throw new Error("Invalid version (must be between 0 and 31)");if(!e.match(/^[0-9a-fA-F]*$/))throw new Error("Invalid data (not a hex string)");(e=e.toLowerCase()).length%2!=0&&(e=`0${e}`);let n=t.toString(16);1===n.length&&(n=`0${n}`);const r=s(`${n}${e}`),i=(0,o.c32encode)(`${e}${r}`);return`${o.c32[t]}${i}`},e.c32checkDecode=function(t){t=(0,o.c32normalize)(t);const e=(0,o.c32decode)(t.slice(1)),n=t[0],r=o.c32.indexOf(n),i=e.slice(-8);let a=r.toString(16);if(1===a.length&&(a=`0${a}`),s(`${a}${e.substring(0,e.length-8)}`)!==i)throw new Error("Invalid c32check string: checksum mismatch");return[r,e.substring(0,e.length-8)]}},103:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.c32decode=e.c32normalize=e.c32encode=e.c32=void 0;const r=n(64);e.c32="0123456789ABCDEFGHJKMNPQRSTVWXYZ";const i="0123456789abcdef";function o(t){return t.toUpperCase().replace(/O/g,"0").replace(/L|I/g,"1")}e.c32encode=function(t,n){if(!t.match(/^[0-9a-fA-F]*$/))throw new Error("Not a hex-encoded string");t.length%2!=0&&(t=`0${t}`);let o=[],s=0;for(let n=(t=t.toLowerCase()).length-1;n>=0;n--)if(s<4){const r=i.indexOf(t[n])>>s;let a=0;0!==n&&(a=i.indexOf(t[n-1]));const c=1+s,u=a%(1<<c)<<5-c,f=e.c32[r+u];s=c,o.unshift(f)}else s=0;let a=0;for(let t=0;t<o.length&&"0"===o[t];t++)a++;o=o.slice(a);const c=(new TextDecoder).decode((0,r.hexToBytes)(t)).match(/^\u0000*/),u=c?c[0].length:0;for(let t=0;t<u;t++)o.unshift(e.c32[0]);if(n){const t=n-o.length;for(let n=0;n<t;n++)o.unshift(e.c32[0])}return o.join("")},e.c32normalize=o,e.c32decode=function(t,n){if(!(t=o(t)).match(`^[${e.c32}]*$`))throw new Error("Not a c32-encoded string");const r=t.match(`^${e.c32[0]}*`),s=r?r[0].length:0;let a=[],c=0,u=0;for(let n=t.length-1;n>=0;n--){4===u&&(a.unshift(i[c]),u=0,c=0);const r=(e.c32.indexOf(t[n])<<u)+c,o=i[r%16];if(u+=1,c=r>>4,c>1<<u)throw new Error("Panic error in decoding.");a.unshift(o)}a.unshift(i[c]),a.length%2==1&&a.unshift("0");let f=0;for(let t=0;t<a.length&&"0"===a[t];t++)f++;a=a.slice(f-f%2);let l=a.join("");for(let t=0;t<s;t++)l=`00${l}`;if(n){const t=2*n-l.length;for(let e=0;e<t;e+=2)l=`00${l}`}return l}},870:(t,e,n)=>{"use strict";e.H4=void 0;n(103),n(392);const r=n(98);Object.defineProperty(e,"H4",{enumerable:!0,get:function(){return r.c32address}})},616:function(){!function(t){!function(e){var n="URLSearchParams"in t,r="Symbol"in t&&"iterator"in Symbol,i="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),o="FormData"in t,s="ArrayBuffer"in t;if(s)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(t){return t&&a.indexOf(Object.prototype.toString.call(t))>-1};function u(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function h(t){this.map={},t instanceof h?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function p(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}}))}function y(t){var e=new FileReader,n=d(e);return e.readAsArrayBuffer(t),n}function g(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:i&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:o&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:n&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():s&&i&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=g(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=g(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var t=p(this);if(t)return t;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?p(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,e,n,r=p(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,n=d(e=new FileReader),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r<e.length;r++)n[r]=String.fromCharCode(e[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},o&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(t,e){t=u(t),e=f(e);var n=this.map[t];this.map[t]=n?n+", "+e:e},h.prototype.delete=function(t){delete this.map[u(t)]},h.prototype.get=function(t){return t=u(t),this.has(t)?this.map[t]:null},h.prototype.has=function(t){return this.map.hasOwnProperty(u(t))},h.prototype.set=function(t,e){this.map[u(t)]=f(e)},h.prototype.forEach=function(t,e){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(e,this.map[n],n,this)},h.prototype.keys=function(){var t=[];return this.forEach((function(e,n){t.push(n)})),l(t)},h.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),l(t)},h.prototype.entries=function(){var t=[];return this.forEach((function(e,n){t.push([n,e])})),l(t)},r&&(h.prototype[Symbol.iterator]=h.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var n,r,i=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new h(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,i||null==t._bodyInit||(i=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new h(e.headers)),this.method=(r=(n=e.method||this.method||"GET").toUpperCase(),b.indexOf(r)>-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function v(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(i))}})),e}function x(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new h(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},m.call(w.prototype),m.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},x.error=function(){var t=new x(null,{status:0,statusText:""});return t.type="error",t};var E=[301,302,303,307,308];x.redirect=function(t,e){if(-1===E.indexOf(e))throw new RangeError("Invalid status code");return new x(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function S(t,n){return new Promise((function(r,o){var s=new w(t,n);if(s.signal&&s.signal.aborted)return o(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function c(){a.abort()}a.onload=function(){var t,e,n={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new h,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var n=t.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();e.append(r,i)}})),e)};n.url="responseURL"in a?a.responseURL:n.headers.get("X-Request-URL");var i="response"in a?a.response:a.responseText;r(new x(i,n))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new e.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",c),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",c)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}S.polyfill=!0,t.fetch||(t.fetch=S,t.Headers=h,t.Request=w,t.Response=x),e.Headers=h,e.Request=w,e.Response=x,e.fetch=S,Object.defineProperty(e,"__esModule",{value:!0})}({})}("undefined"!=typeof self?self:this)},959:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.encode=e.unescape=e.escape=e.pad=void 0;const r=n(766);function i(t){return`${t}${"=".repeat(4-(t.length%4||4))}`}function o(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function s(t){return i(t).replace(/-/g,"+").replace(/_/g,"/")}e.pad=i,e.escape=o,e.unescape=s,e.encode=function(t){return o((0,r.fromByteArray)((new TextEncoder).encode(t)))},e.decode=function(t){return(new TextDecoder).decode((0,r.toByteArray)(i(s(t))))}},996:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.cryptoClients=e.SECP256K1Client=void 0;const r=n(869);Object.defineProperty(e,"SECP256K1Client",{enumerable:!0,get:function(){return r.SECP256K1Client}});const i={ES256K:r.SECP256K1Client};e.cryptoClients=i},869:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SECP256K1Client=void 0;const r=n(514),i=n(53),o=n(698),s=n(575),a=n(643),c=n(64);o.utils.hmacSha256Sync=(t,...e)=>{const n=r.hmac.create(i.sha256,t);return e.forEach((t=>n.update(t))),n.digest()};class u{static derivePublicKey(t,e=!0){return 66===t.length&&(t=t.slice(0,64)),t.length<64&&(t=t.padStart(64,"0")),(0,c.bytesToHex)(o.getPublicKey(t,e))}static signHash(t,e,n="jose"){if(!t||!e)throw new a.MissingParametersError("a signing input hash and private key are all required");const r=o.signSync(t,e.slice(0,64),{der:!0,canonical:!1});if("der"===n)return(0,c.bytesToHex)(r);if("jose"===n)return(0,s.derToJose)(r,"ES256");throw Error("Invalid signature format")}static loadSignature(t){return(0,s.joseToDer)(t,"ES256")}static verifyHash(t,e,n){if(!t||!e||!n)throw new a.MissingParametersError("a signing input hash, der signature, and public key are all required");return o.verify(e,t,n,{strict:!1})}}e.SECP256K1Client=u,u.algorithmName="ES256K"},874:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.hashSha256Async=e.hashSha256=void 0;const i=n(53);function o(t){return(0,i.sha256)(t)}e.hashSha256=o,e.hashSha256Async=function(t){return r(this,void 0,void 0,(function*(){try{if("undefined"!=typeof crypto&&void 0!==crypto.subtle){const e="string"==typeof t?(new TextEncoder).encode(t):t,n=yield crypto.subtle.digest("SHA-256",e);return new Uint8Array(n)}{const e=n(812);if(!e.createHash)throw new Error("`crypto` module does not contain `createHash`");return Promise.resolve(e.createHash("sha256").update(t).digest())}}catch(e){return console.log(e),console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, nor the or the Node.js `require("crypto").createHash` module is available. Falling back to JS implementation.'),Promise.resolve(o(t))}}))}},917:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.decodeToken=void 0;const r=n(959);e.decodeToken=function(t){if("string"==typeof t){const e=t.split(".");return{header:JSON.parse(r.decode(e[0])),payload:JSON.parse(r.decode(e[1])),signature:e[2]}}if("object"==typeof t){if("string"!=typeof t.payload)throw new Error("Expected token payload to be a base64 or json string");let e=t.payload;"{"!==t.payload[0]&&(e=r.decode(e));const n=[];return t.header.map((t=>{const e=JSON.parse(r.decode(t));n.push(e)})),{header:n,payload:JSON.parse(e),signature:t.signature}}}},575:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.joseToDer=e.derToJose=void 0;const r=n(766),i=n(959);function o(t){return(t/8|0)+(t%8==0?0:1)}const s={ES256:o(256),ES384:o(384),ES512:o(521)};function a(t){const e=s[t];if(e)return e;throw new Error(`Unknown algorithm "${t}"`)}const c=128;function u(t){if(t instanceof Uint8Array)return t;if("string"==typeof t)return(0,r.toByteArray)((0,i.pad)(t));throw new TypeError("ECDSA signature must be a Base64 string or a Uint8Array")}function f(t,e,n){let r=0;for(;e+r<n&&0===t[e+r];)++r;return t[e+r]>=c&&--r,r}e.derToJose=function(t,e){const n=u(t),o=a(e),s=o+1,c=n.length;let f=0;if(48!==n[f++])throw new Error('Could not find expected "seq"');let l=n[f++];if(129===l&&(l=n[f++]),c-f<l)throw new Error(`"seq" specified length of "${l}", only "${c-f}" remaining`);if(2!==n[f++])throw new Error('Could not find expected "int" for "r"');const h=n[f++];if(c-f-2<h)throw new Error(`"r" specified length of "${h}", only "${c-f-2}" available`);if(s<h)throw new Error(`"r" specified length of "${h}", max of "${s}" is acceptable`);const p=f;if(f+=h,2!==n[f++])throw new Error('Could not find expected "int" for "s"');const d=n[f++];if(c-f!==d)throw new Error(`"s" specified length of "${d}", expected "${c-f}"`);if(s<d)throw new Error(`"s" specified length of "${d}", max of "${s}" is acceptable`);const y=f;if(f+=d,f!==c)throw new Error(`Expected to consume entire array, but "${c-f}" bytes remain`);const g=o-h,m=o-d,b=new Uint8Array(g+h+m+d);for(f=0;f<g;++f)b[f]=0;b.set(n.subarray(p+Math.max(-g,0),p+h),f),f=o;for(const t=f;f<t+m;++f)b[f]=0;return b.set(n.subarray(y+Math.max(-m,0),y+d),f),(0,i.escape)((0,r.fromByteArray)(b))},e.joseToDer=function(t,e){t=u(t);const n=a(e),r=t.length;if(r!==2*n)throw new TypeError(`"${e}" signatures must be "${2*n}" bytes, saw "${r}"`);const i=f(t,0,n),o=f(t,n,t.length),s=n-i,l=n-o,h=2+s+1+1+l,p=h<c,d=new Uint8Array((p?2:3)+h);let y=0;return d[y++]=48,p?d[y++]=h:(d[y++]=129,d[y++]=255&h),d[y++]=2,d[y++]=s,i<0?(d[y++]=0,d.set(t.subarray(0,n),y),y+=n):(d.set(t.subarray(i,n),y),y+=n-i),d[y++]=2,d[y++]=l,o<0?(d[y++]=0,d.set(t.subarray(n),y)):d.set(t.subarray(n+o),y),d}},643:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InvalidTokenError=e.MissingParametersError=void 0;class n extends Error{constructor(t){super(),this.name="MissingParametersError",this.message=t||""}}e.MissingParametersError=n;class r extends Error{constructor(t){super(),this.name="InvalidTokenError",this.message=t||""}}e.InvalidTokenError=r},474:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(650),e),i(n(458),e),i(n(917),e),i(n(643),e),i(n(996),e)},650:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,a)}c((r=r.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.TokenSigner=e.createUnsecuredToken=void 0;const i=n(959),o=n(996),s=n(643),a=n(874);function c(t,e){const n=[],r=i.encode(JSON.stringify(e));n.push(r);const o=i.encode(JSON.stringify(t));return n.push(o),n.join(".")}e.createUnsecuredToken=function(t){return c(t,{typ:"JWT",alg:"none"})+"."},e.TokenSigner=class{constructor(t,e){if(!t||!e)throw new s.MissingParametersError("a signing algorithm and private key are required");if("string"!=typeof t)throw new Error("signing algorithm parameter must be a string");if(t=t.toUpperCase(),!o.cryptoClients.hasOwnProperty(t))throw new Error("invalid signing algorithm");this.tokenType="JWT",this.cryptoClient=o.cryptoClients[t],this.rawPrivateKey=e}header(t={}){const e={typ:this.tokenType,alg:this.cryptoClient.algorithmName};return Object.assign({},e,t)}sign(t,e=!1,n={}){const r=this.header(n),i=c(t,r),o=(0,a.hashSha256)(i);return this.createWithSignedHash(t,e,r,i,o)}signAsync(t,e=!1,n={}){return r(this,void 0,void 0,(function*(){const r=this.header(n),i=c(t,r),o=yield(0,a.hashSha256Async)(i);return this.createWithSignedHash(t,e,r,i,o)}))}createWithSignedHash(t,e,n,r,o){const s=this.cryptoClient.signHash(o,this.rawPrivateKey);return e?{header:[i.encode(JSON.stringify(n))],payload:JSON.stringify(t),signature:[s]}:[r,s].join(".")}}},458:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TokenVerifier=void 0;const r=n(959),i=n(996),o=n(643),s=n(874);e.TokenVerifier=class{constructor(t,e){if(!t||!e)throw new o.MissingParametersError("a signing algorithm and public key are required");if("string"!=typeof t)throw"signing algorithm parameter must be a string";if(t=t.toUpperCase(),!i.cryptoClients.hasOwnProperty(t))throw"invalid signing algorithm";this.tokenType="JWT",this.cryptoClient=i.cryptoClients[t],this.rawPublicKey=e}verify(t){return"string"==typeof t?this.verifyCompact(t,!1):"object"==typeof t&&this.verifyExpanded(t,!1)}verifyAsync(t){return"string"==typeof t?this.verifyCompact(t,!0):"object"==typeof t?this.verifyExpanded(t,!0):Promise.resolve(!1)}verifyCompact(t,e){const n=t.split("."),r=n[0]+"."+n[1],i=t=>{const e=this.cryptoClient.loadSignature(n[2]);return this.cryptoClient.verifyHash(t,e,this.rawPublicKey)};if(e)return(0,s.hashSha256Async)(r).then((t=>i(t)));{const t=(0,s.hashSha256)(r);return i(t)}}verifyExpanded(t,e){const n=[t.header.join("."),r.encode(t.payload)].join(".");let i=!0;const o=e=>(t.signature.map((t=>{const n=this.cryptoClient.loadSignature(t);this.cryptoClient.verifyHash(e,n,this.rawPublicKey)||(i=!1)})),i);if(e)return(0,s.hashSha256Async)(n).then((t=>o(t)));{const t=(0,s.hashSha256)(n);return o(t)}}}},907:(t,e,n)=>{t=n.nmd(t);var r="__lodash_hash_undefined__",i=9007199254740991,o="[object Arguments]",s="[object Boolean]",a="[object Date]",c="[object Function]",u="[object GeneratorFunction]",f="[object Map]",l="[object Number]",h="[object Object]",p="[object Promise]",d="[object RegExp]",y="[object Set]",g="[object String]",m="[object Symbol]",b="[object WeakMap]",w="[object ArrayBuffer]",v="[object DataView]",x="[object Float32Array]",E="[object Float64Array]",S="[object Int8Array]",A="[object Int16Array]",_="[object Int32Array]",k="[object Uint8Array]",O="[object Uint8ClampedArray]",j="[object Uint16Array]",T="[object Uint32Array]",F=/\w*$/,U=/^\[object .+?Constructor\]$/,I=/^(?:0|[1-9]\d*)$/,C={};C[o]=C["[object Array]"]=C[w]=C[v]=C[s]=C[a]=C[x]=C[E]=C[S]=C[A]=C[_]=C[f]=C[l]=C[h]=C[d]=C[y]=C[g]=C[m]=C[k]=C[O]=C[j]=C[T]=!0,C["[object Error]"]=C[c]=C[b]=!1;var B="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,$="object"==typeof self&&self&&self.Object===Object&&self,L=B||$||Function("return this")(),N=e&&!e.nodeType&&e,P=N&&t&&!t.nodeType&&t,D=P&&P.exports===N;function H(t,e){return t.set(e[0],e[1]),t}function R(t,e){return t.add(e),t}function z(t,e,n,r){var i=-1,o=t?t.length:0;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function M(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function q(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function V(t,e){return function(n){return t(e(n))}}function G(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var K,J=Array.prototype,W=Function.prototype,Z=Object.prototype,X=L["__core-js_shared__"],Y=(K=/[^.]+$/.exec(X&&X.keys&&X.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=W.toString,tt=Z.hasOwnProperty,et=Z.toString,nt=RegExp("^"+Q.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rt=D?L.Buffer:void 0,it=L.Symbol,ot=L.Uint8Array,st=V(Object.getPrototypeOf,Object),at=Object.create,ct=Z.propertyIsEnumerable,ut=J.splice,ft=Object.getOwnPropertySymbols,lt=rt?rt.isBuffer:void 0,ht=V(Object.keys,Object),pt=Lt(L,"DataView"),dt=Lt(L,"Map"),yt=Lt(L,"Promise"),gt=Lt(L,"Set"),mt=Lt(L,"WeakMap"),bt=Lt(Object,"create"),wt=Rt(pt),vt=Rt(dt),xt=Rt(yt),Et=Rt(gt),St=Rt(mt),At=it?it.prototype:void 0,_t=At?At.valueOf:void 0;function kt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ot(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function jt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Tt(t){this.__data__=new Ot(t)}function Ft(t,e,n){var r=t[e];tt.call(t,e)&&zt(r,n)&&(void 0!==n||e in t)||(t[e]=n)}function Ut(t,e){for(var n=t.length;n--;)if(zt(t[n][0],e))return n;return-1}function It(t,e,n,r,i,p,b){var U;if(r&&(U=p?r(t,i,p,b):r(t)),void 0!==U)return U;if(!Kt(t))return t;var I=Mt(t);if(I){if(U=function(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&tt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!e)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,U)}else{var B=Pt(t),$=B==c||B==u;if(Vt(t))return function(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}(t,e);if(B==h||B==o||$&&!p){if(M(t))return p?t:{};if(U=function(t){return"function"!=typeof t.constructor||Ht(t)?{}:Kt(e=st(t))?at(e):{};var e}($?{}:t),!e)return function(t,e){return Bt(t,Nt(t),e)}(t,function(t,e){return t&&Bt(e,Jt(e),t)}(U,t))}else{if(!C[B])return p?t:{};U=function(t,e,n,r){var i,o=t.constructor;switch(e){case w:return Ct(t);case s:case a:return new o(+t);case v:return function(t,e){var n=e?Ct(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,r);case x:case E:case S:case A:case _:case k:case O:case j:case T:return function(t,e){var n=e?Ct(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,r);case f:return function(t,e,n){return z(e?n(q(t),!0):q(t),H,new t.constructor)}(t,r,n);case l:case g:return new o(t);case d:return function(t){var e=new t.constructor(t.source,F.exec(t));return e.lastIndex=t.lastIndex,e}(t);case y:return function(t,e,n){return z(e?n(G(t),!0):G(t),R,new t.constructor)}(t,r,n);case m:return i=t,_t?Object(_t.call(i)):{}}}(t,B,It,e)}}b||(b=new Tt);var L=b.get(t);if(L)return L;if(b.set(t,U),!I)var N=n?function(t){return function(t,e,n){var r=e(t);return Mt(t)?r:function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}(r,n(t))}(t,Jt,Nt)}(t):Jt(t);return function(t,e){for(var n=-1,r=t?t.length:0;++n<r&&!1!==e(t[n],n););}(N||t,(function(i,o){N&&(i=t[o=i]),Ft(U,o,It(i,e,n,r,o,t,b))})),U}function Ct(t){var e=new t.constructor(t.byteLength);return new ot(e).set(new ot(t)),e}function Bt(t,e,n,r){n||(n={});for(var i=-1,o=e.length;++i<o;){var s=e[i],a=r?r(n[s],t[s],s,n,t):void 0;Ft(n,s,void 0===a?t[s]:a)}return n}function $t(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function Lt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Kt(t)||(e=t,Y&&Y in e))&&(Gt(t)||M(t)?nt:U).test(Rt(t));var e}(n)?n:void 0}kt.prototype.clear=function(){this.__data__=bt?bt(null):{}},kt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},kt.prototype.get=function(t){var e=this.__data__;if(bt){var n=e[t];return n===r?void 0:n}return tt.call(e,t)?e[t]:void 0},kt.prototype.has=function(t){var e=this.__data__;return bt?void 0!==e[t]:tt.call(e,t)},kt.prototype.set=function(t,e){return this.__data__[t]=bt&&void 0===e?r:e,this},Ot.prototype.clear=function(){this.__data__=[]},Ot.prototype.delete=function(t){var e=this.__data__,n=Ut(e,t);return!(n<0||(n==e.length-1?e.pop():ut.call(e,n,1),0))},Ot.prototype.get=function(t){var e=this.__data__,n=Ut(e,t);return n<0?void 0:e[n][1]},Ot.prototype.has=function(t){return Ut(this.__data__,t)>-1},Ot.prototype.set=function(t,e){var n=this.__data__,r=Ut(n,t);return r<0?n.push([t,e]):n[r][1]=e,this},jt.prototype.clear=function(){this.__data__={hash:new kt,map:new(dt||Ot),string:new kt}},jt.prototype.delete=function(t){return $t(this,t).delete(t)},jt.prototype.get=function(t){return $t(this,t).get(t)},jt.prototype.has=function(t){return $t(this,t).has(t)},jt.prototype.set=function(t,e){return $t(this,t).set(t,e),this},Tt.prototype.clear=function(){this.__data__=new Ot},Tt.prototype.delete=function(t){return this.__data__.delete(t)},Tt.prototype.get=function(t){return this.__data__.get(t)},Tt.prototype.has=function(t){return this.__data__.has(t)},Tt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Ot){var r=n.__data__;if(!dt||r.length<199)return r.push([t,e]),this;n=this.__data__=new jt(r)}return n.set(t,e),this};var Nt=ft?V(ft,Object):function(){return[]},Pt=function(t){return et.call(t)};function Dt(t,e){return!!(e=null==e?i:e)&&("number"==typeof t||I.test(t))&&t>-1&&t%1==0&&t<e}function Ht(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Z)}function Rt(t){if(null!=t){try{return Q.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function zt(t,e){return t===e||t!=t&&e!=e}(pt&&Pt(new pt(new ArrayBuffer(1)))!=v||dt&&Pt(new dt)!=f||yt&&Pt(yt.resolve())!=p||gt&&Pt(new gt)!=y||mt&&Pt(new mt)!=b)&&(Pt=function(t){var e=et.call(t),n=e==h?t.constructor:void 0,r=n?Rt(n):void 0;if(r)switch(r){case wt:return v;case vt:return f;case xt:return p;case Et:return y;case St:return b}return e});var Mt=Array.isArray;function qt(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}(t.length)&&!Gt(t)}var Vt=lt||function(){return!1};function Gt(t){var e=Kt(t)?et.call(t):"";return e==c||e==u}function Kt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Jt(t){return qt(t)?function(t,e){var n=Mt(t)||function(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&qt(t)}(t)&&tt.call(t,"callee")&&(!ct.call(t,"callee")||et.call(t)==o)}(t)?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],r=n.length,i=!!r;for(var s in t)!e&&!tt.call(t,s)||i&&("length"==s||Dt(s,r))||n.push(s);return n}(t):function(t){if(!Ht(t))return ht(t);var e=[];for(var n in Object(t))tt.call(t,n)&&"constructor"!=n&&e.push(n);return e}(t)}t.exports=function(t){return It(t,!0,!0)}},406:t=>{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var a,c=[],u=!1,f=-1;function l(){u&&a&&(u=!1,a.length?c=a.concat(c):f=-1,c.length&&h())}function h(){if(!u){var t=s(l);u=!0;for(var e=c.length;e;){for(a=c,c=[];++f<e;)a&&a[f].run();f=-1,e=c.length}a=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function d(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new p(t,e)),1!==c.length||u||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=d,r.addListener=d,r.once=d,r.off=d,r.removeListener=d,r.removeAllListeners=d,r.emit=d,r.prependListener=d,r.prependOnceListener=d,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},179:(t,e,n)=>{t.exports=n(224)},224:(t,e,n)=>{!function(){var e={};if(e.async=n(903),"object"!=typeof e.async)throw new Error("Module async is required (https://github.com/caolan/async)");var r=e.async;function i(t,e){if(!e||"object"!=typeof e)return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}function o(){var t={},e=Array.prototype.slice.call(arguments),n=null,r=null;return e.forEach((function(e){if(e&&e.constructor===Object)for(n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]]})),t}function s(){this.custom={},this.extend=function(t){return i(this.custom,t)},this.reset=function(){this.custom={}},this.remove=function(t){c.array(t)||(t=[t]),t.forEach((function(t){delete this.custom[t]}),this)}}function a(t,e){var n=["@"];if(this._schema=t,this._custom={},null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._custom["$"+r]=e[r]);this._getDepth=function(){return n.length},this._dumpStack=function(){return n.map((function(t){return t.replace(/^\[/g,"")})).join(".").replace(/\.\u001b\u001c\u001d\u001e/g,"[")},this._deeperObject=function(t){return n.push(/^[a-z$_][a-z0-9$_]*$/i.test(t)?t:'["'+t+'"]'),this},this._deeperArray=function(t){return n.push("["+t+"]"),this},this._back=function(){return n.pop(),this}}var c={function:function(t){return"function"==typeof t},string:function(t){return"string"==typeof t},number:function(t){return"number"==typeof t&&!isNaN(t)},integer:function(t){return"number"==typeof t&&t%1==0},NaN:function(t){return"number"==typeof t&&isNaN(t)},boolean:function(t){return"boolean"==typeof t},null:function(t){return null===t},date:function(t){return null!=t&&t instanceof Date},object:function(t){return"object"==typeof t&&null!=t&&t.constructor!==Array},array:function(t){return null!=t&&t.constructor===Array},any:function(){return!0}};function u(t,e){return"function"==typeof t?e instanceof t:c[t=t in c?t:"any"](e)}function f(t,e){for(var n=[],r=t.indexOf(e);-1!==r;)n.push(r),r=t.indexOf(e,r+1);return n}var l={void:/^$/,url:/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)?(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,"date-time":/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?(Z?|(-|\+)\d{2}:\d{2})$/,date:/^\d{4}-\d{2}-\d{2}$/,coolDateTime:/^\d{4}(-|\/)\d{2}(-|\/)\d{2}(T| )\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/,time:/^\d{2}\:\d{2}\:\d{2}$/,color:/^#([0-9a-f])+$/i,email:new RegExp("(?:[^\\W_](?:[\\w\\.\\+]+)@(?:localhost|(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:northwesternmutual|travelersinsurance|vermögensberatung|vermögensberater|americanexpress|kerryproperties|sandvikcoromant|afamilycompany|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|international|lifeinsurance|spreadbetting|travelchannel|wolterskluwer|construction|lplfinancial|scholarships|versicherung|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|சிங்கப்பூர்|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nationwide|nextdirect|onyourside|properties|protection|prudential|realestate|republican|restaurant|schaeffler|swiftcover|tatamotors|technology|university|vlaanderen|volkswagen|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|fujixerox|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|scjohnson|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|موريتانيا|yodobashi|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|budapest|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|السعودية|yokohama|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|католик|الجزائر|العليان|اتصالات|پاکستان|البحرين|كاثوليك|இந்தியா|yamaxun|youtube|zuerich|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|москва|онлайн|ファッション|भारतम्|ارامكو|امارات|الاردن|المغرب|ابوظبي|مليسيا|இலங்கை|فلسطين|yachts|yandex|zappos|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glade|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|iveco|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|lixil|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|ישראל|বাংলা|భారత్|भारोत|संगठन|ایران|بازار|بھارت|سودان|همراه|سورية|ഭാരതം|嘉里大酒店|yahoo|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|duck|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|raid|read|reit|rent|rest|rich|rmit|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|ಭಾರತ|ଭାରତ|大众汽车|ভাৰত|ভারত|موقع|香格里拉|сайт|アマゾン|дети|ポイント|ලංකා|電訊盈科|クラウド|ભારત|भारत|عمان|بارت|ڀارت|عراق|شبكة|بيتك|组织机构|تونس|グーグル|ਭਾਰਤ|yoga|zara|zero|zone|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|csc|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|off|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|qvc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|कॉम|セール|คอม|我爱你|қаз|срб|бел|קום|淡马锡|орг|नेट|ストア|мкд|كوم|中文网|ком|укр|亚马逊|诺基亚|飞利浦|мон|عرب|ไทย|рус|ລາວ|みんな|天主教|مصر|قطر|հայ|新加坡|xxx|xyz|you|yun|zip|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|佛山|慈善|集团|在线|한국|点看|八卦|公益|公司|网站|移动|联通|бг|时尚|微博|삼성|商标|商店|商城|ею|新闻|家電|中信|中国|中國|娱乐|谷歌|购物|通販|网店|餐厅|网络|香港|食品|台湾|台灣|手机|澳門|닷컴|政府|გე|机构|健康|招聘|рф|大拿|ευ|ελ|世界|書籍|网址|닷넷|コム|游戏|企业|信息|嘉里|广东|政务|ye|yt|za|zm|zw))))"),numeric:/^[0-9]+$/,integer:/^\-?[0-9]+$/,decimal:/^\-?[0-9]*\.?[0-9]+$/,alpha:/^[a-z]+$/i,alphaNumeric:/^[a-z0-9]+$/i,alphaDash:/^[a-z0-9_-]+$/i,javascript:/^[a-z_\$][a-z0-9_\$]*$/i,upperString:/^[A-Z ]*$/,lowerString:/^[a-z ]*$/,v4uuid:/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$/i},h={optional:function(t,e){!0!==("boolean"==typeof t.optional?t.optional:"true"===t.optional)&&void 0===e&&this.report("is missing and not optional",null,"optional")},type:function(t,e){if(void 0!==e&&("string"==typeof t.type||t.type instanceof Array||"function"==typeof t.type)){var n=c.array(t.type)?t.type:[t.type];n.some((function(t){return u(t,e)}))||(n=n.map((function(t){return"function"==typeof t?"an instance of "+t.name:t})),this.report("must be "+n.join(" or ")+", but is "+function(t){for(var e in c)if(u(e,t))return"any"===e||"object"===e&&t.constructor!==Object?"an instance of "+t.constructor.name:e}(e),null,"type"))}},uniqueness:function(t,e){if("string"==typeof t.uniqueness&&(t.uniqueness="true"===t.uniqueness),"boolean"==typeof t.uniqueness&&!1!==t.uniqueness&&(c.array(e)||"string"==typeof e))for(var n=[],r=0;r<e.length;r++)if(!(n.indexOf(e[r])>=0)){var i=f(e,e[r]);i.length>1&&(n.push(e[r]),this.report("has value ["+e[r]+"] more than once at indexes ["+i.join(", ")+"]",null,"uniqueness"))}},pattern:function(t,e){var n=t.pattern;if("string"==typeof e){var r=!1;c.array(n)||(n=[n]),n.forEach((function(t){"string"==typeof t&&t in l&&(t=l[t]),t instanceof RegExp&&t.test(e)&&(r=!0)})),r||this.report("must match ["+n.join(" or ")+'], but is equal to "'+e+'"',null,"pattern")}},validDate:function(t,e){"true"===String(t.validDate)&&e instanceof Date&&isNaN(e.getTime())&&this.report("must be a valid date",null,"validDate")},minLength:function(t,e){if("string"==typeof e||c.array(e)){var n=Number(t.minLength);isNaN(n)||e.length<n&&this.report("must be longer than "+n+" elements, but it has "+e.length,null,"minLength")}},maxLength:function(t,e){if("string"==typeof e||c.array(e)){var n=Number(t.maxLength);isNaN(n)||e.length>n&&this.report("must be shorter than "+n+" elements, but it has "+e.length,null,"maxLength")}},exactLength:function(t,e){if("string"==typeof e||c.array(e)){var n=Number(t.exactLength);isNaN(n)||e.length!==n&&this.report("must have exactly "+n+" elements, but it have "+e.length,null,"exactLength")}},lt:function(t,e){var n=Number(t.lt);"number"!=typeof e||isNaN(n)||e>=n&&this.report("must be less than "+n+', but is equal to "'+e+'"',null,"lt")},lte:function(t,e){var n=Number(t.lte);"number"!=typeof e||isNaN(n)||e>n&&this.report("must be less than or equal to "+n+', but is equal to "'+e+'"',null,"lte")},gt:function(t,e){var n=Number(t.gt);"number"!=typeof e||isNaN(n)||e<=n&&this.report("must be greater than "+n+', but is equal to "'+e+'"',null,"gt")},gte:function(t,e){var n=Number(t.gte);"number"!=typeof e||isNaN(n)||e<n&&this.report("must be greater than or equal to "+n+', but is equal to "'+e+'"',null,"gte")},eq:function(t,e){if("number"==typeof e||"string"==typeof e||"boolean"==typeof e){var n=t.eq;if("number"==typeof n||"string"==typeof n||"boolean"==typeof n||c.array(n))if(c.array(n)){for(var r=0;r<n.length;r++)if(e===n[r])return;this.report("must be equal to ["+n.map((function(t){return'"'+t+'"'})).join(" or ")+'], but is equal to "'+e+'"',null,"eq")}else e!==n&&this.report('must be equal to "'+n+'", but is equal to "'+e+'"',null,"eq")}},ne:function(t,e){if("number"==typeof e||"string"==typeof e){var n=t.ne;if("number"==typeof n||"string"==typeof n||c.array(n))if(c.array(n)){for(var r=0;r<n.length;r++)if(e===n[r])return void this.report('must not be equal to "'+n[r]+'"',null,"ne")}else e===n&&this.report('must not be equal to "'+n+'"',null,"ne")}},someKeys:function(t,e){var n=t.someKeys;c.object(e)&&(n.some((function(t){return t in e}))||this.report("must have at least key "+n.map((function(t){return'"'+t+'"'})).join(" or "),null,"someKeys"))},strict:function(t,e){if("string"==typeof t.strict&&(t.strict="true"===t.strict),!0===t.strict&&c.object(e)&&c.object(t.properties)&&void 0===t.properties["*"]){var n=Object.keys(e).filter((function(e){return void 0===t.properties[e]}));if(n.length>0){var r="should not contains "+(n.length>1?"properties":"property")+" ["+n.map((function(t){return'"'+t+'"'})).join(", ")+"]";this.report(r,null,"strict")}}},exec:function(t,e,n){var r=this;if("function"==typeof n)return this.asyncExec(t,e,n);(c.array(t.exec)?t.exec:[t.exec]).forEach((function(n){"function"==typeof n&&n.call(r,t,e)}))},properties:function(t,e,n){if("function"==typeof n)return this.asyncProperties(t,e,n);if(t.properties instanceof Object&&e instanceof Object){var r,i=t.properties;if(null!=i["*"])for(r in e)r in i||(this._deeperObject(r),this._validate(i["*"],e[r]),this._back());for(r in i)"*"!==r&&(this._deeperObject(r),this._validate(i[r],e[r]),this._back())}},items:function(t,e,n){if("function"==typeof n)return this.asyncItems(t,e,n);if(t.items instanceof Object&&e instanceof Object){var r,i,o=t.items;if(c.array(o)&&c.array(e))for(r=0,i=o.length;r<i;r++)this._deeperArray(r),this._validate(o[r],e[r]),this._back();else for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&(this._deeperArray(s),this._validate(o,e[s]),this._back())}}},p={asyncExec:function(t,e,n){var i=this;r.eachSeries(c.array(t.exec)?t.exec:[t.exec],(function(n,o){if("function"==typeof n){if(n.length>2)return n.call(i,t,e,o);n.call(i,t,e)}r.nextTick(o)}),n)},asyncProperties:function(t,e,n){if(!(t.properties instanceof Object&&c.object(e)))return n();var i=this,o=t.properties;r.series([function(t){if(null==o["*"])return t();r.eachSeries(Object.keys(e),(function(t,n){if(t in o)return r.nextTick(n);i._deeperObject(t),i._asyncValidate(o["*"],e[t],(function(t){i._back(),n(t)}))}),t)},function(t){r.eachSeries(Object.keys(o),(function(t,n){if("*"===t)return r.nextTick(n);i._deeperObject(t),i._asyncValidate(o[t],e[t],(function(t){i._back(),n(t)}))}),t)}],n)},asyncItems:function(t,e,n){if(!(t.items instanceof Object&&e instanceof Object))return n();var i=this,o=t.items;c.array(o)&&c.array(e)?r.timesSeries(o.length,(function(t,n){i._deeperArray(t),i._asyncValidate(o[t],e[t],(function(t,e){i._back(),n(t,e)})),i._back()}),n):r.eachSeries(Object.keys(e),(function(t,n){i._deeperArray(t),i._asyncValidate(o,e[t],(function(t,e){i._back(),n(t,e)}))}),n)}};function d(t,e){a.prototype.constructor.call(this,t,o(d.custom,e));var n=[];this._basicFields=Object.keys(h),this._customFields=Object.keys(this._custom),this.origin=null,this.report=function(t,e,r){var i={code:e||this.userCode||null,reason:r||"unknown",message:this.userError||t||"is invalid",property:this.userAlias?this.userAlias+" ("+this._dumpStack()+")":this._dumpStack()};return n.push(i),this},this.result=function(){return{error:n,valid:0===n.length,format:function(){return!0===this.valid?"Candidate is valid":this.error.map((function(t){return"Property "+t.property+": "+t.message})).join("\n")}}}}i(d.prototype,h),i(d.prototype,p),i(d,new s),d.prototype.validate=function(t,e){if(this.origin=t,"function"==typeof e){var n=this;return r.nextTick((function(){n._asyncValidate(n._schema,t,(function(t){n.origin=null,e(t,n.result())}))}))}return this._validate(this._schema,t).result()},d.prototype._validate=function(t,e,n){return this.userCode=t.code||null,this.userError=t.error||null,this.userAlias=t.alias||null,this._basicFields.forEach((function(n){!(n in t)&&"optional"!==n||"function"!=typeof this[n]||this[n](t,e)}),this),this._customFields.forEach((function(n){n in t&&"function"==typeof this._custom[n]&&this._custom[n].call(this,t,e)}),this),this},d.prototype._asyncValidate=function(t,e,n){var i=this;this.userCode=t.code||null,this.userError=t.error||null,this.userAlias=t.alias||null,r.series([function(n){r.eachSeries(Object.keys(h),(function(n,o){r.nextTick((function(){if((n in t||"optional"===n)&&"function"==typeof i[n]){if(i[n].length>2)return i[n](t,e,o);i[n](t,e)}o()}))}),n)},function(n){r.eachSeries(Object.keys(i._custom),(function(n,o){r.nextTick((function(){if(n in t&&"function"==typeof i._custom[n]){if(i._custom[n].length>2)return i._custom[n].call(i,t,e,o);i._custom[n].call(i,t,e)}o()}))}),n)}],n)};var y={number:function(t,e){var n;if("number"==typeof t)return t;if(""===t)return void 0!==e.def?e.def:null;if("string"==typeof t){if("number"==typeof(n=parseFloat(t.replace(/,/g,".").replace(/ /g,""))))return n}else if(t instanceof Date)return+t;return null},integer:function(t,e){var n;if("number"==typeof t&&t%1==0)return t;if(""===t)return void 0!==e.def?e.def:null;if("string"==typeof t){if("number"==typeof(n=parseInt(t.replace(/ /g,""),10)))return n}else{if("number"==typeof t)return parseInt(t,10);if("boolean"==typeof t)return t?1:0;if(t instanceof Date)return+t}return null},string:function(t,e){return"boolean"==typeof t||"number"==typeof t||t instanceof Date?t.toString():c.array(t)?e.items||e.properties?t:t.join(String(e.joinWith||",")):t instanceof Object?e.items||e.properties?t:JSON.stringify(t):"string"==typeof t&&t.length?t:null},date:function(t,e){if(t instanceof Date)return t;var n=new Date(t);return isNaN(n.getTime())?null:n},boolean:function(t,e){return void 0===t?null:("string"!=typeof t||"false"!==t.toLowerCase())&&!!t},object:function(t,e){if("string"!=typeof t||c.object(t))return t;try{return JSON.parse(t)}catch(t){return null}},array:function(t,e){if(c.array(t))return t;if(void 0===t)return null;if("string"==typeof t){if("["===t.substring(0,1)&&"]"===t.slice(-1))try{return JSON.parse(t)}catch(t){return null}return t.split(String(e.splitWith||","))}return c.array(t)?null:[t]}},g={upper:function(t){return t.toUpperCase()},lower:function(t){return t.toLowerCase()},title:function(t){return t.replace(/\S*/g,(function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()}))},capitalize:function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()},ucfirst:function(t){return t.charAt(0).toUpperCase()+t.substr(1)},trim:function(t){return t.trim()}},m={strict:function(t,e){return"string"==typeof t.strict&&(t.strict="true"===t.strict),!0!==t.strict?e:c.object(t.properties)&&c.object(e)?(Object.keys(e).forEach((function(n){n in t.properties||delete e[n]})),e):e},optional:function(t,e){return!0===("boolean"==typeof t.optional?t.optional:"false"!==t.optional)||void 0!==e?e:(this.report(),t.def===Date?new Date:t.def)},type:function(t,e){if("string"!=typeof t.type||"function"!=typeof y[t.type])return e;var n,r="boolean"!=typeof t.optional||t.optional;return"function"==typeof y[t.type]?(null===(n=y[t.type](e,t))&&!r||!n&&isNaN(n)||null===n&&"string"===t.type)&&(n=t.def):r||(n=t.def),(null!=n||void 0!==t.def&&t.def===n)&&n!==e?(this.report(),n):e},rules:function(t,e){var n=t.rules;if("string"!=typeof e||"string"!=typeof n&&!c.array(n))return e;var r=!1;return(c.array(n)?n:[n]).forEach((function(t){"function"==typeof g[t]&&(e=g[t](e),r=!0)})),r&&this.report(),e},min:function(t,e){var n=Number(e);if(isNaN(n))return e;var r=Number(t.min);return isNaN(r)?e:n<r?(this.report(),r):e},max:function(t,e){var n=Number(e);if(isNaN(n))return e;var r=Number(t.max);return isNaN(r)?e:n>r?(this.report(),r):e},minLength:function(t,e){var n=Number(t.minLength);if("string"!=typeof e||isNaN(n)||n<0)return e;var r="",i=n-e.length;if(i>0){for(var o=0;o<i;o++)r+="-";return this.report(),e+r}return e},maxLength:function(t,e){var n=Number(t.maxLength);return"string"!=typeof e||isNaN(n)||n<0?e:e.length>n?(this.report(),e.slice(0,n)):e},properties:function(t,e,n){if("function"==typeof n)return this.asyncProperties(t,e,n);if(!e||"object"!=typeof e)return e;var r,i,o=t.properties;if(void 0!==o["*"])for(i in e)i in o||(this._deeperObject(i),(void 0!==(r=this._sanitize(o["*"],e[i]))||"exec"in o["*"])&&(e[i]=r),this._back());for(i in o)"*"!==i&&(this._deeperObject(i),(void 0!==(r=this._sanitize(o[i],e[i]))||"exec"in o[i])&&(e[i]=r),this._back());return e},items:function(t,e,n){if("function"==typeof n)return this.asyncItems(t,e,n);if(!(t.items instanceof Object&&e instanceof Object))return e;var r;if(c.array(t.items)&&c.array(e)){var i=t.items.length<e.length?t.items.length:e.length;for(r=0;r<i;r++)this._deeperArray(r),e[r]=this._sanitize(t.items[r],e[r]),this._back()}else for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._deeperArray(r),e[r]=this._sanitize(t.items,e[r]),this._back());return e},exec:function(t,e,n){return"function"==typeof n?this.asyncExec(t,e,n):((c.array(t.exec)?t.exec:[t.exec]).forEach((function(n){"function"==typeof n&&(e=n.call(this,t,e))}),this),e)}},b={asyncExec:function(t,e,n){var i=this,o=c.array(t.exec)?t.exec:[t.exec];r.eachSeries(o,(function(n,r){if("function"==typeof n){if(n.length>2)return n.call(i,t,e,(function(t,n){if(t)return r(t);e=n,r()}));e=n.call(i,t,e)}r()}),(function(t){n(t,e)}))},asyncProperties:function(t,e,n){if(!e||"object"!=typeof e)return n(null,e);var i=this,o=t.properties;r.series([function(t){if(null==o["*"])return t();var n=o["*"];r.eachSeries(Object.keys(e),(function(t,r){if(t in o)return r();i._deeperObject(t),i._asyncSanitize(n,e[t],(function(n,o){void 0!==o&&(e[t]=o),i._back(),r()}))}),t)},function(t){r.eachSeries(Object.keys(o),(function(t,n){if("*"===t)return n();i._deeperObject(t),i._asyncSanitize(o[t],e[t],(function(r,o){if(r)return n(r);void 0!==o&&(e[t]=o),i._back(),n()}))}),t)}],(function(t){return n(t,e)}))},asyncItems:function(t,e,n){if(!(t.items instanceof Object&&e instanceof Object))return n(null,e);var i=this,o=t.items;if(c.array(o)&&c.array(e)){var s=o.length<e.length?o.length:e.length;r.timesSeries(s,(function(t,n){i._deeperArray(t),i._asyncSanitize(o[t],e[t],(function(r,o){if(r)return n(r);e[t]=o,i._back(),n()}))}),(function(t){n(t,e)}))}else r.eachSeries(Object.keys(e),(function(t,n){i._deeperArray(t),i._asyncSanitize(o,e[t],(function(r,o){if(r)return n();e[t]=o,i._back(),n()}))}),(function(t){n(t,e)}));return e}};function w(t,e){a.prototype.constructor.call(this,t,o(w.custom,e));var n=[];this._basicFields=Object.keys(m),this._customFields=Object.keys(this._custom),this.origin=null,this.report=function(t){var e={message:t||"was sanitized",property:this.userAlias?this.userAlias+" ("+this._dumpStack()+")":this._dumpStack()};n.some((function(t){return t.property===e.property}))||n.push(e)},this.result=function(t){return{data:t,reporting:n,format:function(){return this.reporting.map((function(t){return"Property "+t.property+" "+t.message})).join("\n")}}}}i(w.prototype,m),i(w.prototype,b),i(w,new s),w.prototype.sanitize=function(t,e){if(this.origin=t,"function"==typeof e){var n=this;return this._asyncSanitize(this._schema,t,(function(t,r){n.origin=null,e(t,n.result(r))}))}var r=this._sanitize(this._schema,t);return this.origin=null,this.result(r)},w.prototype._sanitize=function(t,e){return this.userAlias=t.alias||null,this._basicFields.forEach((function(n){!(n in t)&&"optional"!==n||"function"!=typeof this[n]||(e=this[n](t,e))}),this),this._customFields.forEach((function(n){n in t&&"function"==typeof this._custom[n]&&(e=this._custom[n].call(this,t,e))}),this),e},w.prototype._asyncSanitize=function(t,e,n){var i=this;this.userAlias=t.alias||null,r.waterfall([function(n){r.reduce(i._basicFields,e,(function(e,n,o){r.nextTick((function(){if((n in t||"optional"===n)&&"function"==typeof i[n]){if(i[n].length>2)return i[n](t,e,o);e=i[n](t,e)}o(null,e)}))}),n)},function(e,n){r.reduce(i._customFields,e,(function(e,n,o){r.nextTick((function(){if(n in t&&"function"==typeof i._custom[n]){if(i._custom[n].length>2)return i._custom[n].call(i,t,e,o);e=i._custom[n].call(i,t,e)}o(null,e)}))}),n)}],n)};var v=2147483647,x={int:function(t,e){return t+(0|Math.random()*(e-t+1))},float:function(t,e){return Math.random()*(e-t)+t},bool:function(){return Math.random()>.5},char:function(t,e){return String.fromCharCode(this.int(t,e))},fromList:function(t){return t[this.int(0,t.length-1)]}},E={"date-time":function(){return(new Date).toISOString()},date:function(){return(new Date).toISOString().replace(/T.*$/,"")},time:function(){return(new Date).toLocaleTimeString({},{hour12:!1})},color:function(t,e){var n="#";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("0123456789abcdefABCDEF");return n},numeric:function(){return""+x.int(0,v)},integer:function(){return!0===x.bool()?"-"+this.numeric():this.numeric()},decimal:function(){return this.integer()+"."+this.numeric()},alpha:function(t,e){var n="";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");return n},alphaNumeric:function(t,e){var n="";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");return n},alphaDash:function(t,e){var n="";t<1&&(t=1);for(var r=0,i=x.int(t,e);r<i;r++)n+=x.fromList("_-abcdefghijklmnopqrstuvwxyz_-ABCDEFGHIJKLMNOPQRSTUVWXYZ_-0123456789_-");return n},javascript:function(t,e){for(var n=x.fromList("_$abcdefghijklmnopqrstuvwxyz_$ABCDEFGHIJKLMNOPQRSTUVWXYZ_$"),r=0,i=x.int(t,e-1);r<i;r++)n+=x.fromList("_$abcdefghijklmnopqrstuvwxyz_$ABCDEFGHIJKLMNOPQRSTUVWXYZ_$0123456789_$");return n}};function S(t){var e=-2147483648,n=v;return null!=t.gte?e=t.gte:null!=t.gt&&(e=t.gt+1),null!=t.lte?n=t.lte:null!=t.lt&&(n=t.lt-1),{min:e,max:n}}var A={string:function(t){if(null!=t.eq)return t.eq;var e="",n=null!=t.minLength?t.minLength:0,r=null!=t.maxLength?t.maxLength:32;if("string"==typeof t.pattern&&"function"==typeof E[t.pattern])return E[t.pattern](n,r);for(var i=null!=t.exactLength?t.exactLength:x.int(n,r),o=0;o<i;o++)e+=x.char(32,126);return e},number:function(t){if(null!=t.eq)return t.eq;var e=S(t),n=x.float(e.min,e.max);if(null!=t.ne)for(var r=c.array(t.ne)?t.ne:[t.ne];-1!==r.indexOf(n);)n=x.float(e.min,e.max);return n},integer:function(t){if(null!=t.eq)return t.eq;var e=S(t),n=x.int(e.min,e.max);if(null!=t.ne)for(var r=c.array(t.ne)?t.ne:[t.ne];-1!==r.indexOf(n);)n=x.int(e.min,e.max);return n},boolean:function(t){return null!=t.eq?t.eq:x.bool()},null:function(t){return null},date:function(t){return null!=t.eq?t.eq:new Date},object:function(t){var e={},n=t.properties||{};for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){if(!0===n[r].optional&&!0===x.bool())continue;if("*"!==r)e[r]=this.generate(n[r]);else for(var i="__random_key_",o=i+0,s=x.int(1,9),a=1;a<=s;a++)o in n||(e[o]=this.generate(n[r])),o=i+a}return e},array:function(t){var e,n,r,i,o=t.items||{},s=null!=t.minLength?t.minLength:0,a=null!=t.maxLength?t.maxLength:16;if(c.array(o))for(r=o.length,null!=t.exactLength?r=t.exactLength:r<s?r=s:r>a&&(r=a),n=new Array(r),e=null,i=0;i<r;i++)e=o[i].type||"any",c.array(e)&&(e=e[x.int(0,e.length-1)]),n[i]=this[e](o[i]);else for(r=null!=t.exactLength?t.exactLength:x.int(s,a),n=new Array(r),e=o.type||"any",c.array(e)&&(e=e[x.int(0,e.length-1)]),i=0;i<r;i++)n[i]=this[e](o);return n},any:function(t){var e=Object.keys(A);return this[e[x.int(0,e.length-2)]](t)}};function _(){}i(_.prototype,A);var k=null;_.instance=function(){return k instanceof _||(k=new _),k},_.prototype.generate=function(t){var e=t.type||"any";return c.array(e)&&(e=e[x.int(0,e.length-1)]),this[e](t)};var O={};t.exports?t.exports=O:window.SchemaInspector=O,O.newSanitization=function(t,e){return new w(t,e)},O.newValidation=function(t,e){return new d(t,e)},O.Validation=d,O.Sanitization=w,O.sanitize=function(t,e,n,r){return 3===arguments.length&&"function"==typeof n&&(r=n,n=null),new w(t,n).sanitize(e,r)},O.validate=function(t,e,n,r){return 3===arguments.length&&"function"==typeof n&&(r=n,n=null),new d(t,n).validate(e,r)},O.generate=function(t,e){if("number"==typeof e){for(var n=new Array(e),r=0;r<e;r++)n[r]=_.instance().generate(t);return n}return _.instance().generate(t)}}()},903:function(t,e,n){t=n.nmd(t);var r=n(406);!function(e){"use strict";function i(t,e){e|=0;for(var n=Math.max(t.length-e,0),r=Array(n),i=0;i<n;i++)r[i]=t[e+i];return r}var o=function(t){var e=i(arguments,1);return function(){var n=i(arguments);return t.apply(null,e.concat(n))}},s=function(t){return function(){var e=i(arguments),n=e.pop();t.call(this,e,n)}};function a(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}var c="function"==typeof setImmediate&&setImmediate,u="object"==typeof r&&"function"==typeof r.nextTick;function f(t){setTimeout(t,0)}function l(t){return function(e){var n=i(arguments,1);t((function(){e.apply(null,n)}))}}var h=l(c?setImmediate:u?r.nextTick:f);function p(t){return s((function(e,n){var r;try{r=t.apply(this,e)}catch(t){return n(t)}a(r)&&"function"==typeof r.then?r.then((function(t){d(n,null,t)}),(function(t){d(n,t.message?t:new Error(t))})):n(null,r)}))}function d(t,e,n){try{t(e,n)}catch(t){h(y,t)}}function y(t){throw t}var g="function"==typeof Symbol;function m(t){return g&&"AsyncFunction"===t[Symbol.toStringTag]}function b(t){return m(t)?p(t):t}function w(t){return function(e){var n=i(arguments,1),r=s((function(n,r){var i=this;return t(e,(function(t,e){b(t).apply(i,n.concat(e))}),r)}));return n.length?r.apply(this,n):r}}var v="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,x="object"==typeof self&&self&&self.Object===Object&&self,E=v||x||Function("return this")(),S=E.Symbol,A=Object.prototype,_=A.hasOwnProperty,k=A.toString,O=S?S.toStringTag:void 0;var j=Object.prototype.toString;var T="[object Null]",F="[object Undefined]",U=S?S.toStringTag:void 0;function I(t){return null==t?void 0===t?F:T:U&&U in Object(t)?function(t){var e=_.call(t,O),n=t[O];try{t[O]=void 0;var r=!0}catch(t){}var i=k.call(t);return r&&(e?t[O]=n:delete t[O]),i}(t):function(t){return j.call(t)}(t)}var C="[object AsyncFunction]",B="[object Function]",$="[object GeneratorFunction]",L="[object Proxy]";var N=9007199254740991;function P(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=N}function D(t){return null!=t&&P(t.length)&&!function(t){if(!a(t))return!1;var e=I(t);return e==B||e==$||e==C||e==L}(t)}var H={};function R(){}function z(t){return function(){if(null!==t){var e=t;t=null,e.apply(this,arguments)}}}var M="function"==typeof Symbol&&Symbol.iterator,q=function(t){return M&&t[M]&&t[M]()};function V(t){return null!=t&&"object"==typeof t}function G(t){return V(t)&&"[object Arguments]"==I(t)}var K=Object.prototype,J=K.hasOwnProperty,W=K.propertyIsEnumerable,Z=G(function(){return arguments}())?G:function(t){return V(t)&&J.call(t,"callee")&&!W.call(t,"callee")},X=Array.isArray;var Y="object"==typeof e&&e&&!e.nodeType&&e,Q=Y&&t&&!t.nodeType&&t,tt=Q&&Q.exports===Y?E.Buffer:void 0,et=(tt?tt.isBuffer:void 0)||function(){return!1},nt=9007199254740991,rt=/^(?:0|[1-9]\d*)$/;function it(t,e){var n=typeof t;return!!(e=null==e?nt:e)&&("number"==n||"symbol"!=n&&rt.test(t))&&t>-1&&t%1==0&&t<e}var ot={};ot["[object Float32Array]"]=ot["[object Float64Array]"]=ot["[object Int8Array]"]=ot["[object Int16Array]"]=ot["[object Int32Array]"]=ot["[object Uint8Array]"]=ot["[object Uint8ClampedArray]"]=ot["[object Uint16Array]"]=ot["[object Uint32Array]"]=!0,ot["[object Arguments]"]=ot["[object Array]"]=ot["[object ArrayBuffer]"]=ot["[object Boolean]"]=ot["[object DataView]"]=ot["[object Date]"]=ot["[object Error]"]=ot["[object Function]"]=ot["[object Map]"]=ot["[object Number]"]=ot["[object Object]"]=ot["[object RegExp]"]=ot["[object Set]"]=ot["[object String]"]=ot["[object WeakMap]"]=!1;var st,at="object"==typeof e&&e&&!e.nodeType&&e,ct=at&&t&&!t.nodeType&&t,ut=ct&&ct.exports===at&&v.process,ft=function(){try{return ct&&ct.require&&ct.require("util").types||ut&&ut.binding&&ut.binding("util")}catch(t){}}(),lt=ft&&ft.isTypedArray,ht=lt?(st=lt,function(t){return st(t)}):function(t){return V(t)&&P(t.length)&&!!ot[I(t)]},pt=Object.prototype.hasOwnProperty;function dt(t,e){var n=X(t),r=!n&&Z(t),i=!n&&!r&&et(t),o=!n&&!r&&!i&&ht(t),s=n||r||i||o,a=s?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=a.length;for(var u in t)!e&&!pt.call(t,u)||s&&("length"==u||i&&("offset"==u||"parent"==u)||o&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||it(u,c))||a.push(u);return a}var yt=Object.prototype;var gt=function(t,e){return function(n){return t(e(n))}}(Object.keys,Object),mt=Object.prototype.hasOwnProperty;function bt(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||yt))return gt(t);var e,n,r=[];for(var i in Object(t))mt.call(t,i)&&"constructor"!=i&&r.push(i);return r}function wt(t){return D(t)?dt(t):bt(t)}function vt(t){if(D(t))return function(t){var e=-1,n=t.length;return function(){return++e<n?{value:t[e],key:e}:null}}(t);var e,n,r,i,o=q(t);return o?function(t){var e=-1;return function(){var n=t.next();return n.done?null:(e++,{value:n.value,key:e})}}(o):(n=wt(e=t),r=-1,i=n.length,function t(){var o=n[++r];return"__proto__"===o?t():r<i?{value:e[o],key:o}:null})}function xt(t){return function(){if(null===t)throw new Error("Callback was already called.");var e=t;t=null,e.apply(this,arguments)}}function Et(t){return function(e,n,r){if(r=z(r||R),t<=0||!e)return r(null);var i=vt(e),o=!1,s=0,a=!1;function c(t,e){if(s-=1,t)o=!0,r(t);else{if(e===H||o&&s<=0)return o=!0,r(null);a||u()}}function u(){for(a=!0;s<t&&!o;){var e=i();if(null===e)return o=!0,void(s<=0&&r(null));s+=1,n(e.value,e.key,xt(c))}a=!1}u()}}function St(t,e,n,r){Et(e)(t,b(n),r)}function At(t,e){return function(n,r,i){return t(n,e,r,i)}}function _t(t,e,n){n=z(n||R);var r=0,i=0,o=t.length;function s(t,e){t?n(t):++i!==o&&e!==H||n(null)}for(0===o&&n(null);r<o;r++)e(t[r],r,xt(s))}var kt=At(St,1/0),Ot=function(t,e,n){(D(t)?_t:kt)(t,b(e),n)};function jt(t){return function(e,n,r){return t(Ot,e,b(n),r)}}function Tt(t,e,n,r){r=r||R,e=e||[];var i=[],o=0,s=b(n);t(e,(function(t,e,n){var r=o++;s(t,(function(t,e){i[r]=e,n(t)}))}),(function(t){r(t,i)}))}var Ft=jt(Tt),Ut=w(Ft);function It(t){return function(e,n,r,i){return t(Et(n),e,b(r),i)}}var Ct=It(Tt),Bt=At(Ct,1),$t=w(Bt);function Lt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var Nt,Pt=function(t,e,n){for(var r=-1,i=Object(t),o=n(t),s=o.length;s--;){var a=o[Nt?s:++r];if(!1===e(i[a],a,i))break}return t};function Dt(t,e){return t&&Pt(t,e,wt)}function Ht(t){return t!=t}function Rt(t,e,n){return e==e?function(t,e,n){for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}(t,e,n):function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o<i;)if(e(t[o],o,t))return o;return-1}(t,Ht,n)}var zt=function(t,e,n){"function"==typeof e&&(n=e,e=null),n=z(n||R);var r=wt(t).length;if(!r)return n(null);e||(e=r);var o={},s=0,a=!1,c=Object.create(null),u=[],f=[],l={};function h(t,e){u.push((function(){!function(t,e){if(!a){var r=xt((function(e,r){if(s--,arguments.length>2&&(r=i(arguments,1)),e){var u={};Dt(o,(function(t,e){u[e]=t})),u[t]=r,a=!0,c=Object.create(null),n(e,u)}else o[t]=r,Lt(c[t]||[],(function(t){t()})),p()}));s++;var u=b(e[e.length-1]);e.length>1?u(o,r):u(r)}}(t,e)}))}function p(){if(0===u.length&&0===s)return n(null,o);for(;u.length&&s<e;)u.shift()()}function d(e){var n=[];return Dt(t,(function(t,r){X(t)&&Rt(t,e,0)>=0&&n.push(r)})),n}Dt(t,(function(e,n){if(!X(e))return h(n,[e]),void f.push(n);var r=e.slice(0,e.length-1),i=r.length;if(0===i)return h(n,e),void f.push(n);l[n]=i,Lt(r,(function(o){if(!t[o])throw new Error("async.auto task `"+n+"` has a non-existent dependency `"+o+"` in "+r.join(", "));var s,a,u;a=function(){0==--i&&h(n,e)},(u=c[s=o])||(u=c[s]=[]),u.push(a)}))})),function(){for(var t=0;f.length;)t++,Lt(d(f.pop()),(function(t){0==--l[t]&&f.push(t)}));if(t!==r)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),p()};function Mt(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var qt="[object Symbol]";var Vt=1/0,Gt=S?S.prototype:void 0,Kt=Gt?Gt.toString:void 0;function Jt(t){if("string"==typeof t)return t;if(X(t))return Mt(t,Jt)+"";if(function(t){return"symbol"==typeof t||V(t)&&I(t)==qt}(t))return Kt?Kt.call(t):"";var e=t+"";return"0"==e&&1/t==-Vt?"-0":e}function Wt(t,e,n){var r=t.length;return n=void 0===n?r:n,!e&&n>=r?t:function(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}(t,e,n)}var Zt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Xt="\\ud800-\\udfff",Yt="["+Xt+"]",Qt="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",te="\\ud83c[\\udffb-\\udfff]",ee="[^"+Xt+"]",ne="(?:\\ud83c[\\udde6-\\uddff]){2}",re="[\\ud800-\\udbff][\\udc00-\\udfff]",ie="(?:"+Qt+"|"+te+")?",oe="[\\ufe0e\\ufe0f]?",se=oe+ie+("(?:\\u200d(?:"+[ee,ne,re].join("|")+")"+oe+ie+")*"),ae="(?:"+[ee+Qt+"?",Qt,ne,re,Yt].join("|")+")",ce=RegExp(te+"(?="+te+")|"+ae+se,"g");function ue(t){return function(t){return Zt.test(t)}(t)?function(t){return t.match(ce)||[]}(t):function(t){return t.split("")}(t)}var fe=/^\s+|\s+$/g;function le(t,e,n){if((t=null==(r=t)?"":Jt(r))&&(n||void 0===e))return t.replace(fe,"");var r;if(!t||!(e=Jt(e)))return t;var i=ue(t),o=ue(e);return Wt(i,function(t,e){for(var n=-1,r=t.length;++n<r&&Rt(e,t[n],0)>-1;);return n}(i,o),function(t,e){for(var n=t.length;n--&&Rt(e,t[n],0)>-1;);return n}(i,o)+1).join("")}var he=/^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m,pe=/,/,de=/(=.+)?(\s*)$/,ye=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function ge(t,e){var n={};Dt(t,(function(t,e){var r,i=m(t),o=!i&&1===t.length||i&&0===t.length;if(X(t))r=t.slice(0,-1),t=t[t.length-1],n[e]=r.concat(r.length>0?s:t);else if(o)n[e]=t;else{if(r=function(t){return(t=(t=(t=t.toString().replace(ye,"")).match(he)[2].replace(" ",""))?t.split(pe):[]).map((function(t){return le(t.replace(de,""))}))}(t),0===t.length&&!i&&0===r.length)throw new Error("autoInject task functions require explicit parameters.");i||r.pop(),n[e]=r.concat(s)}function s(e,n){var i=Mt(r,(function(t){return e[t]}));i.push(n),b(t).apply(null,i)}})),zt(n,e)}function me(){this.head=this.tail=null,this.length=0}function be(t,e){t.length=1,t.head=t.tail=e}function we(t,e,n){if(null==e)e=1;else if(0===e)throw new Error("Concurrency must not be zero");var r=b(t),i=0,o=[],s=!1;function a(t,e,n){if(null!=n&&"function"!=typeof n)throw new Error("task callback must be a function");if(f.started=!0,X(t)||(t=[t]),0===t.length&&f.idle())return h((function(){f.drain()}));for(var r=0,i=t.length;r<i;r++){var o={data:t[r],callback:n||R};e?f._tasks.unshift(o):f._tasks.push(o)}s||(s=!0,h((function(){s=!1,f.process()})))}function c(t){return function(e){i-=1;for(var n=0,r=t.length;n<r;n++){var s=t[n],a=Rt(o,s,0);0===a?o.shift():a>0&&o.splice(a,1),s.callback.apply(s,arguments),null!=e&&f.error(e,s.data)}i<=f.concurrency-f.buffer&&f.unsaturated(),f.idle()&&f.drain(),f.process()}}var u=!1,f={_tasks:new me,concurrency:e,payload:n,saturated:R,unsaturated:R,buffer:e/4,empty:R,drain:R,error:R,started:!1,paused:!1,push:function(t,e){a(t,!1,e)},kill:function(){f.drain=R,f._tasks.empty()},unshift:function(t,e){a(t,!0,e)},remove:function(t){f._tasks.remove(t)},process:function(){if(!u){for(u=!0;!f.paused&&i<f.concurrency&&f._tasks.length;){var t=[],e=[],n=f._tasks.length;f.payload&&(n=Math.min(n,f.payload));for(var s=0;s<n;s++){var a=f._tasks.shift();t.push(a),o.push(a),e.push(a.data)}i+=1,0===f._tasks.length&&f.empty(),i===f.concurrency&&f.saturated();var l=xt(c(t));r(e,l)}u=!1}},length:function(){return f._tasks.length},running:function(){return i},workersList:function(){return o},idle:function(){return f._tasks.length+i===0},pause:function(){f.paused=!0},resume:function(){!1!==f.paused&&(f.paused=!1,h(f.process))}};return f}function ve(t,e){return we(t,1,e)}me.prototype.removeLink=function(t){return t.prev?t.prev.next=t.next:this.head=t.next,t.next?t.next.prev=t.prev:this.tail=t.prev,t.prev=t.next=null,this.length-=1,t},me.prototype.empty=function(){for(;this.head;)this.shift();return this},me.prototype.insertAfter=function(t,e){e.prev=t,e.next=t.next,t.next?t.next.prev=e:this.tail=e,t.next=e,this.length+=1},me.prototype.insertBefore=function(t,e){e.prev=t.prev,e.next=t,t.prev?t.prev.next=e:this.head=e,t.prev=e,this.length+=1},me.prototype.unshift=function(t){this.head?this.insertBefore(this.head,t):be(this,t)},me.prototype.push=function(t){this.tail?this.insertAfter(this.tail,t):be(this,t)},me.prototype.shift=function(){return this.head&&this.removeLink(this.head)},me.prototype.pop=function(){return this.tail&&this.removeLink(this.tail)},me.prototype.toArray=function(){for(var t=Array(this.length),e=this.head,n=0;n<this.length;n++)t[n]=e.data,e=e.next;return t},me.prototype.remove=function(t){for(var e=this.head;e;){var n=e.next;t(e)&&this.removeLink(e),e=n}return this};var xe=At(St,1);function Ee(t,e,n,r){r=z(r||R);var i=b(n);xe(t,(function(t,n,r){i(e,t,(function(t,n){e=n,r(t)}))}),(function(t){r(t,e)}))}function Se(){var t=Mt(arguments,b);return function(){var e=i(arguments),n=this,r=e[e.length-1];"function"==typeof r?e.pop():r=R,Ee(t,e,(function(t,e,r){e.apply(n,t.concat((function(t){var e=i(arguments,1);r(t,e)})))}),(function(t,e){r.apply(n,[t].concat(e))}))}}var Ae=function(){return Se.apply(null,i(arguments).reverse())},_e=Array.prototype.concat,ke=function(t,e,n,r){r=r||R;var o=b(n);Ct(t,e,(function(t,e){o(t,(function(t){return t?e(t):e(null,i(arguments,1))}))}),(function(t,e){for(var n=[],i=0;i<e.length;i++)e[i]&&(n=_e.apply(n,e[i]));return r(t,n)}))},Oe=At(ke,1/0),je=At(ke,1),Te=function(){var t=i(arguments),e=[null].concat(t);return function(){return arguments[arguments.length-1].apply(this,e)}};function Fe(t){return t}function Ue(t,e){return function(n,r,i,o){o=o||R;var s,a=!1;n(r,(function(n,r,o){i(n,(function(r,i){r?o(r):t(i)&&!s?(a=!0,s=e(!0,n),o(null,H)):o()}))}),(function(t){t?o(t):o(null,a?s:e(!1))}))}}function Ie(t,e){return e}var Ce=jt(Ue(Fe,Ie)),Be=It(Ue(Fe,Ie)),$e=At(Be,1);function Le(t){return function(e){var n=i(arguments,1);n.push((function(e){var n=i(arguments,1);"object"==typeof console&&(e?console.error&&console.error(e):console[t]&&Lt(n,(function(e){console[t](e)})))})),b(e).apply(null,n)}}var Ne=Le("dir");function Pe(t,e,n){n=xt(n||R);var r=b(t),o=b(e);function s(t){if(t)return n(t);var e=i(arguments,1);e.push(a),o.apply(this,e)}function a(t,e){return t?n(t):e?void r(s):n(null)}a(null,!0)}function De(t,e,n){n=xt(n||R);var r=b(t),o=function(t){if(t)return n(t);var s=i(arguments,1);if(e.apply(this,s))return r(o);n.apply(null,[null].concat(s))};r(o)}function He(t,e,n){De(t,(function(){return!e.apply(this,arguments)}),n)}function Re(t,e,n){n=xt(n||R);var r=b(e),i=b(t);function o(t){if(t)return n(t);i(s)}function s(t,e){return t?n(t):e?void r(o):n(null)}i(s)}function ze(t){return function(e,n,r){return t(e,r)}}function Me(t,e,n){Ot(t,ze(b(e)),n)}function qe(t,e,n,r){Et(e)(t,ze(b(n)),r)}var Ve=At(qe,1);function Ge(t){return m(t)?t:s((function(e,n){var r=!0;e.push((function(){var t=arguments;r?h((function(){n.apply(null,t)})):n.apply(null,t)})),t.apply(this,e),r=!1}))}function Ke(t){return!t}var Je=jt(Ue(Ke,Ke)),We=It(Ue(Ke,Ke)),Ze=At(We,1);function Xe(t){return function(e){return null==e?void 0:e[t]}}function Ye(t,e,n,r){var i=new Array(e.length);t(e,(function(t,e,r){n(t,(function(t,n){i[e]=!!n,r(t)}))}),(function(t){if(t)return r(t);for(var n=[],o=0;o<e.length;o++)i[o]&&n.push(e[o]);r(null,n)}))}function Qe(t,e,n,r){var i=[];t(e,(function(t,e,r){n(t,(function(n,o){n?r(n):(o&&i.push({index:e,value:t}),r())}))}),(function(t){t?r(t):r(null,Mt(i.sort((function(t,e){return t.index-e.index})),Xe("value")))}))}function tn(t,e,n,r){(D(e)?Ye:Qe)(t,e,b(n),r||R)}var en=jt(tn),nn=It(tn),rn=At(nn,1);function on(t,e){var n=xt(e||R),r=b(Ge(t));!function t(e){if(e)return n(e);r(t)}()}var sn=function(t,e,n,r){r=r||R;var i=b(n);Ct(t,e,(function(t,e){i(t,(function(n,r){return n?e(n):e(null,{key:r,val:t})}))}),(function(t,e){for(var n={},i=Object.prototype.hasOwnProperty,o=0;o<e.length;o++)if(e[o]){var s=e[o].key,a=e[o].val;i.call(n,s)?n[s].push(a):n[s]=[a]}return r(t,n)}))},an=At(sn,1/0),cn=At(sn,1),un=Le("log");function fn(t,e,n,r){r=z(r||R);var i={},o=b(n);St(t,e,(function(t,e,n){o(t,e,(function(t,r){if(t)return n(t);i[e]=r,n()}))}),(function(t){r(t,i)}))}var ln=At(fn,1/0),hn=At(fn,1);function pn(t,e){return e in t}function dn(t,e){var n=Object.create(null),r=Object.create(null);e=e||Fe;var o=b(t),a=s((function(t,s){var a=e.apply(null,t);pn(n,a)?h((function(){s.apply(null,n[a])})):pn(r,a)?r[a].push(s):(r[a]=[s],o.apply(null,t.concat((function(){var t=i(arguments);n[a]=t;var e=r[a];delete r[a];for(var o=0,s=e.length;o<s;o++)e[o].apply(null,t)}))))}));return a.memo=n,a.unmemoized=t,a}var yn=l(u?r.nextTick:c?setImmediate:f);function gn(t,e,n){n=n||R;var r=D(e)?[]:{};t(e,(function(t,e,n){b(t)((function(t,o){arguments.length>2&&(o=i(arguments,1)),r[e]=o,n(t)}))}),(function(t){n(t,r)}))}function mn(t,e){gn(Ot,t,e)}function bn(t,e,n){gn(Et(e),t,n)}var wn=function(t,e){var n=b(t);return we((function(t,e){n(t[0],e)}),e,1)},vn=function(t,e){var n=wn(t,e);return n.push=function(t,e,r){if(null==r&&(r=R),"function"!=typeof r)throw new Error("task callback must be a function");if(n.started=!0,X(t)||(t=[t]),0===t.length)return h((function(){n.drain()}));e=e||0;for(var i=n._tasks.head;i&&e>=i.priority;)i=i.next;for(var o=0,s=t.length;o<s;o++){var a={data:t[o],priority:e,callback:r};i?n._tasks.insertBefore(i,a):n._tasks.push(a)}h(n.process)},delete n.unshift,n};function xn(t,e){if(e=z(e||R),!X(t))return e(new TypeError("First argument to race must be an array of functions"));if(!t.length)return e();for(var n=0,r=t.length;n<r;n++)b(t[n])(e)}function En(t,e,n,r){Ee(i(t).reverse(),e,n,r)}function Sn(t){var e=b(t);return s((function(t,n){return t.push((function(t,e){var r;t?n(null,{error:t}):(r=arguments.length<=2?e:i(arguments,1),n(null,{value:r}))})),e.apply(this,t)}))}function An(t){var e;return X(t)?e=Mt(t,Sn):(e={},Dt(t,(function(t,n){e[n]=Sn.call(this,t)}))),e}function _n(t,e,n,r){tn(t,e,(function(t,e){n(t,(function(t,n){e(t,!n)}))}),r)}var kn=jt(_n),On=It(_n),jn=At(On,1);function Tn(t){return function(){return t}}function Fn(t,e,n){var r={times:5,intervalFunc:Tn(0)};if(arguments.length<3&&"function"==typeof t?(n=e||R,e=t):(function(t,e){if("object"==typeof e)t.times=+e.times||5,t.intervalFunc="function"==typeof e.interval?e.interval:Tn(+e.interval||0),t.errorFilter=e.errorFilter;else{if("number"!=typeof e&&"string"!=typeof e)throw new Error("Invalid arguments for async.retry");t.times=+e||5}}(r,t),n=n||R),"function"!=typeof e)throw new Error("Invalid arguments for async.retry");var i=b(e),o=1;!function t(){i((function(e){e&&o++<r.times&&("function"!=typeof r.errorFilter||r.errorFilter(e))?setTimeout(t,r.intervalFunc(o)):n.apply(null,arguments)}))}()}var Un=function(t,e){e||(e=t,t=null);var n=b(e);return s((function(e,r){function i(t){n.apply(null,e.concat(t))}t?Fn(t,i,r):Fn(i,r)}))};function In(t,e){gn(xe,t,e)}var Cn=jt(Ue(Boolean,Fe)),Bn=It(Ue(Boolean,Fe)),$n=At(Bn,1);function Ln(t,e,n){var r=b(e);function i(t,e){var n=t.criteria,r=e.criteria;return n<r?-1:n>r?1:0}Ft(t,(function(t,e){r(t,(function(n,r){if(n)return e(n);e(null,{value:t,criteria:r})}))}),(function(t,e){if(t)return n(t);n(null,Mt(e.sort(i),Xe("value")))}))}function Nn(t,e,n){var r=b(t);return s((function(i,o){var s,a=!1;i.push((function(){a||(o.apply(null,arguments),clearTimeout(s))})),s=setTimeout((function(){var e=t.name||"anonymous",r=new Error('Callback function "'+e+'" timed out.');r.code="ETIMEDOUT",n&&(r.info=n),a=!0,o(r)}),e),r.apply(null,i)}))}var Pn=Math.ceil,Dn=Math.max;function Hn(t,e,n,r){var i=b(n);Ct(function(t,e,n,r){for(var i=-1,o=Dn(Pn((e-t)/(n||1)),0),s=Array(o);o--;)s[r?o:++i]=t,t+=n;return s}(0,t,1),e,i,r)}var Rn=At(Hn,1/0),zn=At(Hn,1);function Mn(t,e,n,r){arguments.length<=3&&(r=n,n=e,e=X(t)?[]:{}),r=z(r||R);var i=b(n);Ot(t,(function(t,n,r){i(e,t,n,r)}),(function(t){r(t,e)}))}function qn(t,e){var n,r=null;e=e||R,Ve(t,(function(t,e){b(t)((function(t,o){n=arguments.length>2?i(arguments,1):o,r=t,e(!t)}))}),(function(){e(r,n)}))}function Vn(t){return function(){return(t.unmemoized||t).apply(null,arguments)}}function Gn(t,e,n){n=xt(n||R);var r=b(e);if(!t())return n(null);var o=function(e){if(e)return n(e);if(t())return r(o);var s=i(arguments,1);n.apply(null,[null].concat(s))};r(o)}function Kn(t,e,n){Gn((function(){return!t.apply(this,arguments)}),e,n)}var Jn=function(t,e){if(e=z(e||R),!X(t))return e(new Error("First argument to waterfall must be an array of functions"));if(!t.length)return e();var n=0;function r(e){var r=b(t[n++]);e.push(xt(o)),r.apply(null,e)}function o(o){if(o||n===t.length)return e.apply(null,arguments);r(i(arguments,1))}r([])},Wn={apply:o,applyEach:Ut,applyEachSeries:$t,asyncify:p,auto:zt,autoInject:ge,cargo:ve,compose:Ae,concat:Oe,concatLimit:ke,concatSeries:je,constant:Te,detect:Ce,detectLimit:Be,detectSeries:$e,dir:Ne,doDuring:Pe,doUntil:He,doWhilst:De,during:Re,each:Me,eachLimit:qe,eachOf:Ot,eachOfLimit:St,eachOfSeries:xe,eachSeries:Ve,ensureAsync:Ge,every:Je,everyLimit:We,everySeries:Ze,filter:en,filterLimit:nn,filterSeries:rn,forever:on,groupBy:an,groupByLimit:sn,groupBySeries:cn,log:un,map:Ft,mapLimit:Ct,mapSeries:Bt,mapValues:ln,mapValuesLimit:fn,mapValuesSeries:hn,memoize:dn,nextTick:yn,parallel:mn,parallelLimit:bn,priorityQueue:vn,queue:wn,race:xn,reduce:Ee,reduceRight:En,reflect:Sn,reflectAll:An,reject:kn,rejectLimit:On,rejectSeries:jn,retry:Fn,retryable:Un,seq:Se,series:In,setImmediate:h,some:Cn,someLimit:Bn,someSeries:$n,sortBy:Ln,timeout:Nn,times:Rn,timesLimit:Hn,timesSeries:zn,transform:Mn,tryEach:qn,unmemoize:Vn,until:Kn,waterfall:Jn,whilst:Gn,all:Je,allLimit:We,allSeries:Ze,any:Cn,anyLimit:Bn,anySeries:$n,find:Ce,findLimit:Be,findSeries:$e,forEach:Me,forEachSeries:Ve,forEachLimit:qe,forEachOf:Ot,forEachOfSeries:xe,forEachOfLimit:St,inject:Ee,foldl:Ee,foldr:En,select:en,selectLimit:nn,selectSeries:rn,wrapSync:p};e.default=Wn,e.apply=o,e.applyEach=Ut,e.applyEachSeries=$t,e.asyncify=p,e.auto=zt,e.autoInject=ge,e.cargo=ve,e.compose=Ae,e.concat=Oe,e.concatLimit=ke,e.concatSeries=je,e.constant=Te,e.detect=Ce,e.detectLimit=Be,e.detectSeries=$e,e.dir=Ne,e.doDuring=Pe,e.doUntil=He,e.doWhilst=De,e.during=Re,e.each=Me,e.eachLimit=qe,e.eachOf=Ot,e.eachOfLimit=St,e.eachOfSeries=xe,e.eachSeries=Ve,e.ensureAsync=Ge,e.every=Je,e.everyLimit=We,e.everySeries=Ze,e.filter=en,e.filterLimit=nn,e.filterSeries=rn,e.forever=on,e.groupBy=an,e.groupByLimit=sn,e.groupBySeries=cn,e.log=un,e.map=Ft,e.mapLimit=Ct,e.mapSeries=Bt,e.mapValues=ln,e.mapValuesLimit=fn,e.mapValuesSeries=hn,e.memoize=dn,e.nextTick=yn,e.parallel=mn,e.parallelLimit=bn,e.priorityQueue=vn,e.queue=wn,e.race=xn,e.reduce=Ee,e.reduceRight=En,e.reflect=Sn,e.reflectAll=An,e.reject=kn,e.rejectLimit=On,e.rejectSeries=jn,e.retry=Fn,e.retryable=Un,e.seq=Se,e.series=In,e.setImmediate=h,e.some=Cn,e.someLimit=Bn,e.someSeries=$n,e.sortBy=Ln,e.timeout=Nn,e.times=Rn,e.timesLimit=Hn,e.timesSeries=zn,e.transform=Mn,e.tryEach=qn,e.unmemoize=Vn,e.until=Kn,e.waterfall=Jn,e.whilst=Gn,e.all=Je,e.allLimit=We,e.allSeries=Ze,e.any=Cn,e.anyLimit=Bn,e.anySeries=$n,e.find=Ce,e.findLimit=Be,e.findSeries=$e,e.forEach=Me,e.forEachSeries=Ve,e.forEachLimit=qe,e.forEachOf=Ot,e.forEachOfSeries=xe,e.forEachOfLimit=St,e.inject=Ee,e.foldl=Ee,e.foldr=En,e.select=en,e.selectLimit=nn,e.selectSeries=rn,e.wrapSync=p,Object.defineProperty(e,"__esModule",{value:!0})}(e)},377:(t,e,n)=>{"use strict";t.exports=n(613)},613:(t,e)=>{"use strict";function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function r(t,e){var r;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return n(t,void 0);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,void 0):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var i=0;return function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(r=t[Symbol.iterator]()).next.bind(r)}function i(t,e){return void 0===e&&(e="{$origin}\n{$ttl}\n\n; SOA Record\n{name} {ttl} IN SOA {mname}{rname}(\n{serial} ;serial\n{refresh} ;refresh\n{retry} ;retry\n{expire} ;expire\n{minimum} ;minimum ttl\n)\n\n; NS Records\n{ns}\n\n; MX Records\n{mx}\n\n; A Records\n{a}\n\n; AAAA Records\n{aaaa}\n\n; CNAME Records\n{cname}\n\n; PTR Records\n{ptr}\n\n; TXT Records\n{txt}\n\n; SRV Records\n{srv}\n\n; SPF Records\n{spf}\n\n; URI Records\n{uri}\n"),e=function(t,e){var n="";return void 0!==t&&(n+="$ORIGIN "+t),e.replace("{$origin}",n)}(t.$origin,e),e=function(t,e){var n="";return void 0!==t&&(n+="$TTL "+t),e.replace("{$ttl}",n)}(t.$ttl,e),e=function(t,e){var n=e;if(void 0!==t)for(var r in t.name=t.name||"@",t.ttl=t.ttl||"",t)n=n.replace("{"+r+"}",t[r]+"\t");return n}(t.soa,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tNS\t"+s.host+"\n"}return e.replace("{ns}",n)}(t.ns,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tA\t"+s.ip+"\n"}return e.replace("{a}",n)}(t.a,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tAAAA\t"+s.ip+"\n"}return e.replace("{aaaa}",n)}(t.aaaa,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tCNAME\t"+s.alias+"\n"}return e.replace("{cname}",n)}(t.cname,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tMX\t"+s.preference+"\t"+s.host+"\n"}return e.replace("{mx}",n)}(t.mx,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tPTR\t"+s.host+"\n"}return e.replace("{ptr}",n)}(t.ptr,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tTXT\t";var a=s.txt;"string"==typeof a?n+='"'+a+'"':a instanceof Array&&(n+=a.map((function(t){return'"'+t+'"'})).join(" ")),n+="\n"}return e.replace("{txt}",n)}(t.txt,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tSRV\t"+s.priority+"\t",n+=s.weight+"\t",n+=s.port+"\t",n+=s.target+"\n"}return e.replace("{srv}",n)}(t.srv,e),e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tSPF\t"+s.data+"\n"}return e.replace("{spf}",n)}(t.spf,e),(e=function(t,e){e=(e=e.replace("{zone}",t.$origin||!!t.soa&&t.soa.name||"")).replace("{datetime}",(new Date).toISOString());var n=Math.round(Date.now()/1e3);return e.replace("{time}",""+n)}(t,e=function(t,e){var n="";if(t)for(var i,o=r(t);!(i=o()).done;){var s=i.value;n+=(s.name||"@")+"\t",s.ttl&&(n+=s.ttl+"\t"),n+="IN\tURI\t"+s.priority+"\t",n+=s.weight+"\t",n+='"'+s.target+'"\n'}return e.replace("{uri}",n)}(t.uri,e))).replace(/\n{2,}/gim,"\n\n")}function o(t){return function(t){for(var e,n={},i=r(t.split("\n"));!(e=i()).done;){var o=e.value;if(o&&o.trim()){var m=o.toUpperCase();/\s+TXT\s+/.test(m)?(n.txt=n.txt||[],n.txt.push(h(o))):0===m.indexOf("$ORIGIN")?n.$origin=o.split(/\s+/g)[1]:0===m.indexOf("$TTL")?n.$ttl=parseInt(o.split(/\s+/g)[1],10):/\s+SOA\s+/.test(m)?n.soa=s(o):/\s+NS\s+/.test(m)?(n.ns=n.ns||[],n.ns.push(a(o))):/\s+A\s+/.test(m)?(n.a=n.a||[],n.a.push(c(o,n.a))):/\s+AAAA\s+/.test(m)?(n.aaaa=n.aaaa||[],n.aaaa.push(u(o))):/\s+CNAME\s+/.test(m)?(n.cname=n.cname||[],n.cname.push(f(o))):/\s+MX\s+/.test(m)?(n.mx=n.mx||[],n.mx.push(l(o))):/\s+PTR\s+/.test(m)?(n.ptr=n.ptr||[],n.ptr.push(p(o,n.ptr,n.$origin))):/\s+SRV\s+/.test(m)?(n.srv=n.srv||[],n.srv.push(d(o))):/\s+SPF\s+/.test(m)?(n.spf=n.spf||[],n.spf.push(y(o))):/\s+URI\s+/.test(m)&&(n.uri=n.uri||[],n.uri.push(g(o)))}}return n}(t=function(t){for(var e=[],n=/\([\s\S]*?\)/gim,r=n.exec(t);null!==r;){var i=r[0].replace(/\s+/gm," ");e.push({match:r,replacement:i}),r=n.exec(t)}for(var o=t.split(""),s=0,a=e;s<a.length;s++){var c=a[s],u=c.match;o.splice(u.index,u[0].length,c.replacement)}return o.join("").replace(/\(|\)/gim," ")}(t=function(t){return t.replace(/(^|[^\\]);.*/g,(function(t,e){return e||""}))}(t)))}function s(t){var e={},n=t.trim().split(/\s+/g),r=n.length;return e.name=n[0],e.minimum=parseInt(n[r-1],10),e.expire=parseInt(n[r-2],10),e.retry=parseInt(n[r-3],10),e.refresh=parseInt(n[r-4],10),e.serial=parseInt(n[r-5],10),e.rname=n[r-6],e.mname=n[r-7],isNaN(n[1])||(e.ttl=parseInt(n[1],10)),e}function a(t){var e=t.trim().split(/\s+/g),n={name:e[0],host:e[e.length-1]};return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function c(t,e){var n=t.trim().split(/\s+/g),r=t.trim().toUpperCase().split(/\s+/g),i={name:n[0],ip:n[n.length-1]};return 0===r.lastIndexOf("A")&&(i.name=e.length?e[e.length-1].name:"@"),isNaN(n[1])||(i.ttl=parseInt(n[1],10)),i}function u(t){var e=t.trim().split(/\s+/g),n={name:e[0],ip:e[e.length-1]};return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function f(t){var e=t.trim().split(/\s+/g),n={name:e[0],alias:e[e.length-1]};return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function l(t){var e=t.trim().split(/\s+/g),n=e.length,r={name:e[0],preference:parseInt(e[n-2],10),host:e[n-1]};return isNaN(e[1])||(r.ttl=parseInt(e[1],10)),r}function h(t){var e=t.trim().match(/[^\s"']+|"[^"]*"|'[^']*'/g);if(!e)throw new Error("Failure to tokenize TXT record");var n,r=e.length,i=e.indexOf("TXT");function o(t){return t.indexOf('"')>-1&&(t=t.split('"')[1]),t}n=r-i-1>1?[].concat(e.slice(i+1).map(o)):o(e[r-1]);var s={name:e[0],txt:n};return isNaN(e[1])||(s.ttl=parseInt(e[1],10)),s}function p(t,e,n){var r=t.trim().split(/\s+/g);0===t.trim().toUpperCase().split(/\s+/g).lastIndexOf("PTR")&&e[e.length-1]&&r.unshift(e[e.length-1].name);var i={name:r[0],fullname:r[0]+"."+n,host:r[r.length-1]};return isNaN(r[1])||(i.ttl=parseInt(r[1],10)),i}function d(t){var e=t.trim().split(/\s+/g),n=e.length,r={name:e[0],target:e[n-1],priority:parseInt(e[n-4],10),weight:parseInt(e[n-3],10),port:parseInt(e[n-2],10)};return isNaN(e[1])||(r.ttl=parseInt(e[1],10)),r}function y(t){for(var e=t.trim().split(/\s+/g),n={name:e[0],data:""},r=e.length;r-- >4;)n.data=e[r]+" "+n.data.trim();return isNaN(e[1])||(n.ttl=parseInt(e[1],10)),n}function g(t){var e=t.trim().split(/\s+/g),n=e.length,r={name:e[0],target:e[n-1].replace(/"/g,""),priority:parseInt(e[n-3],10),weight:parseInt(e[n-2],10)};return isNaN(e[1])||(r.ttl=parseInt(e[1],10)),r}(function(){var t=function(t){this.jsonZoneFile="object"==typeof t?JSON.parse(JSON.stringify(t)):"string"==typeof t?o(t):void 0}.prototype;t.toJSON=function(){return this.jsonZoneFile},t.toString=function(){return i(this.toJSON())}})(),e.makeZoneFile=i,e.parseZoneFile=o},314:()=>{},695:()=>{},812:()=>{}},r={};function i(t){var e=r[t];if(void 0!==e)return e.exports;var o=r[t]={id:t,loaded:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.loaded=!0,o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,i.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var o=Object.create(null);i.r(o);var s={};t=t||[null,e({}),e([]),e(e)];for(var a=2&r&&n;"object"==typeof a&&!~t.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach((t=>s[t]=()=>n[t]));return s.default=()=>n,i.d(o,s),o},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var o={};return(()=>{"use strict";i.r(o),i.d(o,{BLOCKSTACK_GAIA_HUB_LABEL:()=>zn,GaiaHubConfig:()=>t.GaiaHubConfig,Storage:()=>Zn,connectToGaiaHub:()=>Gn,deleteFromGaiaHub:()=>qn,getBucketUrl:()=>Kn,getFullReadUrl:()=>Vn,getUserAppFileUrl:()=>Xn,uploadToGaiaHub:()=>Mn});var t={};i.r(t),i.d(t,{Ne:()=>zn,cc:()=>Gn,gZ:()=>qn,CC:()=>Jn,JV:()=>Kn,J$:()=>Vn,d_:()=>Mn});var e=i(474);const n=["debug","info","warn","error","none"],r={},s={};for(let t=0;t<n.length;t++){const e=n[t];r[e]=t,s[t]=e}class a{static error(t){this.shouldLog("error")&&console.error(this.logMessage("error",t))}static warn(t){this.shouldLog("warn")&&console.warn(this.logMessage("warn",t))}static info(t){this.shouldLog("info")&&console.log(this.logMessage("info",t))}static debug(t){this.shouldLog("debug")&&console.log(this.logMessage("debug",t))}static logMessage(t,e){return`[${t.toUpperCase()}] ${e}`}static shouldLog(t){return r.debug<=r[t]}}function c(t){return Number.isFinite(t)?Math.floor(1024*t*1024):0}function u(){let t=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(t+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{const n=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?n:3&n|8).toString(16)}))}function f(t,{throwIfUnavailable:e,usageDesc:n,returnEmptyObject:r}={}){let o;try{if(o=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==i.g)return i.g;throw new Error("Unexpected runtime environment - no supported global scope (`window`, `self`, `global`) available")}(),o){const e=o[t];if(e)return e}}catch(e){a.error(`Error getting object '${t}' from global scope '${o}': ${e}`)}if(e){const e=function(t,e,n){return n?`Use of '${n}' requires \`${e}\` which is unavailable on the '${t}' object within the currently executing environment.`:`\`${e}\` is unavailable on the '${t}' object within the currently executing environment.`}(o,t.toString(),n);throw a.error(e),new Error(e)}if(r)return{}}const l=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function h(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(const n of t)e+=l[n];return e}function p(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);const e=(t=t.startsWith("0x")||t.startsWith("0X")?t.slice(2):t).length%2?`0${t}`:t,n=new Uint8Array(e.length/2);for(let t=0;t<n.length;t++){const r=2*t,i=e.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");n[t]=o}return n}function d(t){return(new TextEncoder).encode(t)}function y(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n}function g(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function m(t,...e){if(!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new TypeError(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const b={number:g,bool:function(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:m,hash:function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");g(t.outputLen),g(t.blockLen)},exists:function(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function(t,e){m(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}},w=("object"==typeof self&&"crypto"in self&&self.crypto,t=>new DataView(t.buffer,t.byteOffset,t.byteLength)),v=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function x(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new TypeError("utf8ToBytes expected string, got "+typeof t);return(new TextEncoder).encode(t)}(t)),!(t instanceof Uint8Array))throw new TypeError(`Expected input type is Uint8Array (got ${typeof t})`);return t}Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));class E{clone(){return this._cloneInto()}}function S(t){const e=e=>t().update(x(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}class A extends E{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,b.hash(t);const n=x(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new TypeError("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?t.create().update(n).digest():n);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return b.exists(this),this.iHash.update(t),this}digestInto(t){b.exists(this),b.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:i,blockLen:o,outputLen:s}=this;return t.finished=r,t.destroyed=i,t.blockLen=o,t.outputLen=s,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const _=(t,e,n)=>new A(t,e).update(n).digest();_.create=(t,e)=>new A(t,e);class k extends E{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=w(this.buffer)}update(t){b.exists(this);const{view:e,buffer:n,blockLen:r}=this,i=(t=x(t)).length;for(let o=0;o<i;){const s=Math.min(r-this.pos,i-o);if(s!==r)n.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(e,0),this.pos=0);else{const e=w(t);for(;r<=i-o;o+=r)this.process(e,o)}}return this.length+=t.length,this.roundClean(),this}digestInto(t){b.exists(this),b.output(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:r,isLE:i}=this;let{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let t=o;t<r;t++)e[t]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const i=BigInt(32),o=BigInt(4294967295),s=Number(n>>i&o),a=Number(n&o),c=r?4:0,u=r?0:4;t.setUint32(e+c,s,r),t.setUint32(e+u,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const s=w(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=a/4,u=this.get();if(c>u.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t<c;t++)s.setUint32(4*t,u[t],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:o,pos:s}=this;return t.length=r,t.pos=s,t.finished=i,t.destroyed=o,r%e&&t.buffer.set(n),t}}const O=(t,e,n)=>t&e^t&n^e&n,j=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),T=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),F=new Uint32Array(64);class U extends k{constructor(){super(64,32,8,!1),this.A=0|T[0],this.B=0|T[1],this.C=0|T[2],this.D=0|T[3],this.E=0|T[4],this.F=0|T[5],this.G=0|T[6],this.H=0|T[7]}get(){const{A:t,B:e,C:n,D:r,E:i,F:o,G:s,H:a}=this;return[t,e,n,r,i,o,s,a]}set(t,e,n,r,i,o,s,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(t,e){for(let n=0;n<16;n++,e+=4)F[n]=t.getUint32(e,!1);for(let t=16;t<64;t++){const e=F[t-15],n=F[t-2],r=v(e,7)^v(e,18)^e>>>3,i=v(n,17)^v(n,19)^n>>>10;F[t]=i+F[t-7]+r+F[t-16]|0}let{A:n,B:r,C:i,D:o,E:s,F:a,G:c,H:u}=this;for(let t=0;t<64;t++){const e=u+(v(s,6)^v(s,11)^v(s,25))+((f=s)&a^~f&c)+j[t]+F[t]|0,l=(v(n,2)^v(n,13)^v(n,22))+O(n,r,i)|0;u=c,c=a,a=s,s=o+e|0,o=i,i=r,r=n,n=e+l|0}var f;n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(n,r,i,o,s,a,c,u)}roundClean(){F.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class I extends U{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const C=S((()=>new U));S((()=>new I));var B=i(314),$=i.t(B,2);const L=BigInt(0),N=BigInt(1),P=BigInt(2),D=BigInt(3),H=BigInt(8),R=Object.freeze({a:L,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:N,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),z=(t,e)=>(t+e/P)/e,M={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=R,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-N*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,s=BigInt("0x100000000000000000000000000000000"),a=z(o*t,e),c=z(-r*t,e);let u=bt(t-a*n-c*i,e),f=bt(-a*r-c*o,e);const l=u>s,h=f>s;if(l&&(u=e-u),h&&(f=e-f),u>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:h,k2:f}}},q=32,V=32,G=32,K=q+1,J=2*q+1;function W(t){const{a:e,b:n}=R,r=bt(t*t),i=bt(r*t);return bt(i+e*t+n)}const Z=R.a===L;class X extends Error{constructor(t){super(t)}}function Y(t){if(!(t instanceof Q))throw new TypeError("JacobianPoint expected")}class Q{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof nt))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(nt.ZERO)?Q.ZERO:new Q(t.x,t.y,N)}static toAffineBatch(t){const e=function(t,e=R.P){const n=new Array(t.length),r=vt(t.reduce(((t,r,i)=>r===L?t:(n[i]=t,bt(t*r,e))),N),e);return t.reduceRight(((t,r,i)=>r===L?t:(n[i]=bt(t*n[i],e),bt(t*r,e))),r),n}(t.map((t=>t.z)));return t.map(((t,n)=>t.toAffine(e[n])))}static normalizeZ(t){return Q.toAffineBatch(t).map(Q.fromAffine)}equals(t){Y(t);const{x:e,y:n,z:r}=this,{x:i,y:o,z:s}=t,a=bt(r*r),c=bt(s*s),u=bt(e*c),f=bt(i*a),l=bt(bt(n*s)*c),h=bt(bt(o*r)*a);return u===f&&l===h}negate(){return new Q(this.x,bt(-this.y),this.z)}double(){const{x:t,y:e,z:n}=this,r=bt(t*t),i=bt(e*e),o=bt(i*i),s=t+i,a=bt(P*(bt(s*s)-r-o)),c=bt(D*r),u=bt(c*c),f=bt(u-P*a),l=bt(c*(a-f)-H*o),h=bt(P*e*n);return new Q(f,l,h)}add(t){Y(t);const{x:e,y:n,z:r}=this,{x:i,y:o,z:s}=t;if(i===L||o===L)return this;if(e===L||n===L)return t;const a=bt(r*r),c=bt(s*s),u=bt(e*c),f=bt(i*a),l=bt(bt(n*s)*c),h=bt(bt(o*r)*a),p=bt(f-u),d=bt(h-l);if(p===L)return d===L?this.double():Q.ZERO;const y=bt(p*p),g=bt(p*y),m=bt(u*y),b=bt(d*d-g-P*m),w=bt(d*(m-b)-l*g),v=bt(r*s*p);return new Q(b,w,v)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=Q.ZERO;if("bigint"==typeof t&&t===L)return e;let n=mt(t);if(n===N)return this;if(!Z){let t=e,r=this;for(;n>L;)n&N&&(t=t.add(r)),r=r.double(),n>>=N;return t}let{k1neg:r,k1:i,k2neg:o,k2:s}=M.splitScalar(n),a=e,c=e,u=this;for(;i>L||s>L;)i&N&&(a=a.add(u)),s&N&&(c=c.add(u)),u=u.double(),i>>=N,s>>=N;return r&&(a=a.negate()),o&&(c=c.negate()),c=new Q(bt(c.x*M.beta),c.y,c.z),a.add(c)}precomputeWindow(t){const e=Z?128/t+1:256/t+1,n=[];let r=this,i=r;for(let o=0;o<e;o++){i=r,n.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(r),n.push(i);r=i.double()}return n}wNAF(t,e){!e&&this.equals(Q.BASE)&&(e=nt.BASE);const n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let r=e&&et.get(e);r||(r=this.precomputeWindow(n),e&&1!==n&&(r=Q.normalizeZ(r),et.set(e,r)));let i=Q.ZERO,o=Q.BASE;const s=1+(Z?128/n:256/n),a=2**(n-1),c=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let e=0;e<s;e++){const n=e*a;let s=Number(t&c);t>>=f,s>a&&(s-=u,t+=N);const l=n,h=n+Math.abs(s)-1,p=e%2!=0,d=s<0;0===s?o=o.add(tt(p,r[l])):i=i.add(tt(d,r[h]))}return{p:i,f:o}}multiply(t,e){let n,r,i=mt(t);if(Z){const{k1neg:t,k1:o,k2neg:s,k2:a}=M.splitScalar(i);let{p:c,f:u}=this.wNAF(o,e),{p:f,f:l}=this.wNAF(a,e);c=tt(t,c),f=tt(s,f),f=new Q(bt(f.x*M.beta),f.y,f.z),n=c.add(f),r=u.add(l)}else{const{p:t,f:o}=this.wNAF(i,e);n=t,r=o}return Q.normalizeZ([n,r])[0]}toAffine(t){const{x:e,y:n,z:r}=this,i=this.equals(Q.ZERO);null==t&&(t=i?H:vt(r));const o=t,s=bt(o*o),a=bt(s*o),c=bt(e*s),u=bt(n*a),f=bt(r*o);if(i)return nt.ZERO;if(f!==N)throw new Error("invZ was invalid");return new nt(c,u)}}function tt(t,e){const n=e.negate();return t?n:e}Q.BASE=new Q(R.Gx,R.Gy,N),Q.ZERO=new Q(L,N,L);const et=new WeakMap;class nt{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,et.delete(this)}hasEvenY(){return this.y%P===L}static fromCompressedHex(t){const e=32===t.length,n=yt(e?t:t.subarray(1));if(!kt(n))throw new Error("Point is not on curve");let r=function(t){const{P:e}=R,n=BigInt(6),r=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,f=wt(u,D)*u%e,l=wt(f,D)*u%e,h=wt(l,P)*c%e,p=wt(h,r)*h%e,d=wt(p,i)*p%e,y=wt(d,s)*d%e,g=wt(y,a)*y%e,m=wt(g,s)*d%e,b=wt(m,D)*u%e,w=wt(b,o)*p%e,v=wt(w,n)*c%e,x=wt(v,P);if(x*x%e!==t)throw new Error("Cannot find square root");return x}(W(n));const i=(r&N)===N;e?i&&(r=bt(-r)):1==(1&t[0])!==i&&(r=bt(-r));const o=new nt(n,r);return o.assertValidity(),o}static fromUncompressedHex(t){const e=yt(t.subarray(1,q+1)),n=yt(t.subarray(q+1,2*q+1)),r=new nt(e,n);return r.assertValidity(),r}static fromHex(t){const e=gt(t),n=e.length,r=e[0];if(n===q)return this.fromCompressedHex(e);if(n===K&&(2===r||3===r))return this.fromCompressedHex(e);if(n===J&&4===r)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${K} compressed bytes or ${J} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return nt.BASE.multiply(jt(t))}static fromSignature(t,e,n){const{r,s:i}=Tt(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");const o=xt(gt(t)),{n:s}=R,a=2===n||3===n?r+s:r,c=vt(a,s),u=bt(-o*c,s),f=bt(i*c,s),l=1&n?"03":"02",h=nt.fromHex(l+ft(a)),p=nt.BASE.multiplyAndAddUnsafe(h,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return dt(this.toHex(t))}toHex(t=!1){const e=ft(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${ft(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:n}=this;if(!kt(e)||!kt(n))throw new Error(t);const r=bt(n*n);if(bt(r-W(e))!==L)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new nt(this.x,bt(-this.y))}double(){return Q.fromAffine(this).double().toAffine()}add(t){return Q.fromAffine(this).add(Q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Q.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){const r=Q.fromAffine(this),i=e===L||e===N||this!==nt.BASE?r.multiplyUnsafe(e):r.multiply(e),o=Q.fromAffine(t).multiplyUnsafe(n),s=i.add(o);return s.equals(Q.ZERO)?void 0:s.toAffine()}}function rt(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function it(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${ct(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:yt(n),left:t.subarray(e+2)}}nt.BASE=new nt(R.Gx,R.Gy),nt.ZERO=new nt(L,L);class ot{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=t instanceof Uint8Array,n="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);const r=e?ct(t):t;if(128!==r.length)throw new Error(`${n}: Expected 64-byte hex`);return new ot(pt(r.slice(0,64)),pt(r.slice(64,128)))}static fromDER(t){const e=t instanceof Uint8Array;if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:n,s:r}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${ct(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=it(t.subarray(2)),{data:r,left:i}=it(n);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ct(i)}`);return{r:e,s:r}}(e?t:dt(t));return new ot(n,r)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!_t(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!_t(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=R.n>>N;return this.s>t}normalizeS(){return this.hasHighS()?new ot(this.r,bt(-this.s,R.n)):this}toDERRawBytes(){return dt(this.toDERHex())}toDERHex(){const t=rt(ht(this.s)),e=rt(ht(this.r)),n=t.length/2,r=e.length/2,i=ht(n),o=ht(r);return`30${ht(r+n+4)}02${o}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return dt(this.toCompactHex())}toCompactHex(){return ft(this.r)+ft(this.s)}}function st(...t){if(!t.every((t=>t instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const e=t.reduce(((t,e)=>t+e.length),0),n=new Uint8Array(e);for(let e=0,r=0;e<t.length;e++){const i=t[e];n.set(i,r),r+=i.length}return n}const at=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function ct(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let n=0;n<t.length;n++)e+=at[t[n]];return e}const ut=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ft(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(L<=t&&t<ut))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function lt(t){const e=dt(ft(t));if(32!==e.length)throw new Error("Error: expected 32 bytes");return e}function ht(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function pt(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function dt(t){if("string"!=typeof t)throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);const e=new Uint8Array(t.length/2);for(let n=0;n<e.length;n++){const r=2*n,i=t.slice(r,r+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[n]=o}return e}function yt(t){return pt(ct(t))}function gt(t){return t instanceof Uint8Array?Uint8Array.from(t):dt(t)}function mt(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&_t(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function bt(t,e=R.P){const n=t%e;return n>=L?n:e+n}function wt(t,e){const{P:n}=R;let r=t;for(;e-- >L;)r*=r,r%=n;return r}function vt(t,e=R.P){if(t===L||e<=L)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=bt(t,e),r=e,i=L,o=N,s=N,a=L;for(;n!==L;){const t=r/n,e=r%n,c=i-s*t,u=o-a*t;r=n,n=e,i=s,o=a,s=c,a=u}if(r!==N)throw new Error("invert: does not exist");return bt(i,e)}function xt(t,e=!1){const n=function(t){const e=8*t.length-8*V,n=yt(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=R;return n>=r?n-r:n}let Et,St;class At{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,"number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Nt.hmacSha256(this.k,...t)}hmacSync(...t){return St(this.k,...t)}checkSync(){if("function"!=typeof St)throw new X("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),0!==t.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),0!==t.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return st(...e)}generateSync(){this.checkSync(),this.incr();let t=0;const e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);const n=this.v.slice();e.push(n),t+=this.v.length}return st(...e)}}function _t(t){return L<t&&t<R.n}function kt(t){return L<t&&t<R.P}function Ot(t,e,n,r=!0){const{n:i}=R,o=xt(t,!0);if(!_t(o))return;const s=vt(o,i),a=nt.BASE.multiply(o),c=bt(a.x,i);if(c===L)return;const u=bt(s*bt(e+n*c,i),i);if(u===L)return;let f=new ot(c,u),l=(a.x===f.r?0:2)|Number(a.y&N);return r&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function jt(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(t.length!==2*V)throw new Error("Expected 32 bytes of private key");e=pt(t)}else{if(!(t instanceof Uint8Array))throw new TypeError("Expected valid private key");if(t.length!==V)throw new Error("Expected 32 bytes of private key");e=yt(t)}if(!_t(e))throw new Error("Expected private key: 0 < key < n");return e}function Tt(t){if(t instanceof ot)return t.assertValidity(),t;try{return ot.fromDER(t)}catch(e){return ot.fromCompact(t)}}function Ft(t){return yt(t.length>q?t.slice(0,q):t)}function Ut(t){const e=Ft(t),n=bt(e,R.n);return It(n<L?e:n)}function It(t){return lt(t)}function Ct(t,e,n={}){const{seed:r,m:i,d:o}=function(t,e,n){if(null==t)throw new Error(`sign: expected valid message hash, not "${t}"`);const r=gt(t),i=jt(e),o=[It(i),Ut(r)];if(null!=n){!0===n&&(n=Nt.randomBytes(q));const t=gt(n);if(t.length!==q)throw new Error(`sign: Expected ${q} bytes of extra data`);o.push(t)}return{seed:st(...o),m:Ft(r),d:i}}(t,e,n.extraEntropy),s=new At(G,V);let a;for(s.reseedSync(r);!(a=Ot(s.generateSync(),i,o,n.canonical));)s.reseedSync();return function(t,e){const{sig:n,recovery:r}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?n.toDERRawBytes():n.toCompactRawBytes();return o?[s,r]:s}(a,n)}const Bt={strict:!0};nt.BASE._setWindowSize(8);const $t={node:$,web:"object"==typeof self&&"crypto"in self?self.crypto:void 0},Lt={},Nt={bytesToHex:ct,hexToBytes:dt,concatBytes:st,mod:bt,invert:vt,isValidPrivateKey(t){try{return jt(t),!0}catch(t){return!1}},_bigintTo32Bytes:lt,_normalizePrivateKey:jt,hashToPrivateKey:t=>{t=gt(t);const e=V+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return lt(bt(yt(t),R.n-N)+N)},randomBytes:(t=32)=>{if($t.web)return $t.web.getRandomValues(new Uint8Array(t));if($t.node){const{randomBytes:e}=$t.node;return Uint8Array.from(e(t))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Nt.hashToPrivateKey(Nt.randomBytes(V+8)),precompute(t=8,e=nt.BASE){const n=e===nt.BASE?e:new nt(e.x,e.y);return n._setWindowSize(t),n.multiply(D),n},sha256:async(...t)=>{if($t.web){const e=await $t.web.subtle.digest("SHA-256",st(...t));return new Uint8Array(e)}if($t.node){const{createHash:e}=$t.node,n=e("sha256");return t.forEach((t=>n.update(t))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if($t.web){const n=await $t.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),r=st(...e),i=await $t.web.subtle.sign("HMAC",n,r);return new Uint8Array(i)}if($t.node){const{createHmac:n}=$t.node,r=n("sha256",t);return e.forEach((t=>r.update(t))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let n=Lt[t];if(void 0===n){const e=await Nt.sha256(Uint8Array.from(t,(t=>t.charCodeAt(0))));n=st(e,e),Lt[t]=n}return Nt.sha256(n,...e)},taggedHashSync:(t,...e)=>{if("function"!=typeof Et)throw new X("sha256Sync is undefined, you need to set it");let n=Lt[t];if(void 0===n){const e=Et(Uint8Array.from(t,(t=>t.charCodeAt(0))));n=st(e,e),Lt[t]=n}return Et(n,...e)},_JacobianPoint:Q};Object.defineProperties(Nt,{sha256Sync:{configurable:!1,get:()=>Et,set(t){Et||(Et=t)}},hmacSha256Sync:{configurable:!1,get:()=>St,set(t){St||(St=t)}}});var Pt,Dt,Ht,Rt,zt,Mt,qt=i(870);!function(t){t[t.Testnet=2147483648]="Testnet",t[t.Mainnet=1]="Mainnet"}(Pt||(Pt={})),Pt.Mainnet,(Mt=Dt||(Dt={}))[Mt.Address=0]="Address",Mt[Mt.Principal=1]="Principal",Mt[Mt.LengthPrefixedString=2]="LengthPrefixedString",Mt[Mt.MemoString=3]="MemoString",Mt[Mt.AssetInfo=4]="AssetInfo",Mt[Mt.PostCondition=5]="PostCondition",Mt[Mt.PublicKey=6]="PublicKey",Mt[Mt.LengthPrefixedList=7]="LengthPrefixedList",Mt[Mt.Payload=8]="Payload",Mt[Mt.MessageSignature=9]="MessageSignature",Mt[Mt.StructuredDataSignature=10]="StructuredDataSignature",Mt[Mt.TransactionAuthField=11]="TransactionAuthField",function(t){t[t.TokenTransfer=0]="TokenTransfer",t[t.SmartContract=1]="SmartContract",t[t.VersionedSmartContract=6]="VersionedSmartContract",t[t.ContractCall=2]="ContractCall",t[t.PoisonMicroblock=3]="PoisonMicroblock",t[t.Coinbase=4]="Coinbase",t[t.CoinbaseToAltRecipient=5]="CoinbaseToAltRecipient",t[t.TenureChange=7]="TenureChange",t[t.NakamotoCoinbase=8]="NakamotoCoinbase"}(Ht||(Ht={})),function(t){t[t.Clarity1=1]="Clarity1",t[t.Clarity2=2]="Clarity2",t[t.Clarity3=3]="Clarity3"}(Rt||(Rt={})),function(t){t[t.OnChainOnly=1]="OnChainOnly",t[t.OffChainOnly=2]="OffChainOnly",t[t.Any=3]="Any"}(zt||(zt={}));var Vt,Gt,Kt,Jt,Wt,Zt,Xt,Yt,Qt,te,ee,ne,re,ie;zt.OnChainOnly,zt.OffChainOnly,zt.Any,zt.OnChainOnly,zt.OnChainOnly,zt.OffChainOnly,zt.OffChainOnly,zt.Any,zt.Any,(Gt=Vt||(Vt={}))[Gt.Mainnet=0]="Mainnet",Gt[Gt.Testnet=128]="Testnet",Vt.Mainnet,function(t){t[t.Allow=1]="Allow",t[t.Deny=2]="Deny"}(Kt||(Kt={})),function(t){t[t.STX=0]="STX",t[t.Fungible=1]="Fungible",t[t.NonFungible=2]="NonFungible"}(Jt||(Jt={})),function(t){t[t.Standard=4]="Standard",t[t.Sponsored=5]="Sponsored"}(Wt||(Wt={})),function(t){t[t.SerializeP2PKH=0]="SerializeP2PKH",t[t.SerializeP2SH=1]="SerializeP2SH",t[t.SerializeP2WPKH=2]="SerializeP2WPKH",t[t.SerializeP2WSH=3]="SerializeP2WSH",t[t.SerializeP2SHNonSequential=5]="SerializeP2SHNonSequential",t[t.SerializeP2WSHNonSequential=7]="SerializeP2WSHNonSequential"}(Zt||(Zt={})),function(t){t[t.MainnetSingleSig=22]="MainnetSingleSig",t[t.MainnetMultiSig=20]="MainnetMultiSig",t[t.TestnetSingleSig=26]="TestnetSingleSig",t[t.TestnetMultiSig=21]="TestnetMultiSig"}(Xt||(Xt={})),(ie=Yt||(Yt={}))[ie.Compressed=0]="Compressed",ie[ie.Uncompressed=1]="Uncompressed",function(t){t[t.Equal=1]="Equal",t[t.Greater=2]="Greater",t[t.GreaterEqual=3]="GreaterEqual",t[t.Less=4]="Less",t[t.LessEqual=5]="LessEqual"}(Qt||(Qt={})),function(t){t[t.Sends=16]="Sends",t[t.DoesNotSend=17]="DoesNotSend"}(te||(te={})),function(t){t[t.Origin=1]="Origin",t[t.Standard=2]="Standard",t[t.Contract=3]="Contract"}(ee||(ee={})),function(t){t[t.STX=0]="STX",t[t.Fungible=1]="Fungible",t[t.NonFungible=2]="NonFungible"}(ne||(ne={})),function(t){t.Serialization="Serialization",t.Deserialization="Deserialization",t.SignatureValidation="SignatureValidation",t.FeeTooLow="FeeTooLow",t.BadNonce="BadNonce",t.NotEnoughFunds="NotEnoughFunds",t.NoSuchContract="NoSuchContract",t.NoSuchPublicFunction="NoSuchPublicFunction",t.BadFunctionArgument="BadFunctionArgument",t.ContractAlreadyExists="ContractAlreadyExists",t.PoisonMicroblocksDoNotConflict="PoisonMicroblocksDoNotConflict",t.PoisonMicroblockHasUnknownPubKeyHash="PoisonMicroblockHasUnknownPubKeyHash",t.PoisonMicroblockIsInvalid="PoisonMicroblockIsInvalid",t.BadAddressVersionByte="BadAddressVersionByte",t.NoCoinbaseViaMempool="NoCoinbaseViaMempool",t.ServerFailureNoSuchChainTip="ServerFailureNoSuchChainTip",t.TooMuchChaining="TooMuchChaining",t.ConflictingNonceInMempool="ConflictingNonceInMempool",t.BadTransactionVersion="BadTransactionVersion",t.TransferRecipientCannotEqualSender="TransferRecipientCannotEqualSender",t.TransferAmountMustBePositive="TransferAmountMustBePositive",t.ServerFailureDatabase="ServerFailureDatabase",t.EstimatorError="EstimatorError",t.TemporarilyBlacklisted="TemporarilyBlacklisted",t.ServerFailureOther="ServerFailureOther"}(re||(re={}));const oe=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),se=Uint8Array.from({length:16},((t,e)=>e)),ae=se.map((t=>(9*t+5)%16));let ce=[se],ue=[ae];for(let t=0;t<4;t++)for(let e of[ce,ue])e.push(e[t].map((t=>oe[t])));const fe=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map((t=>new Uint8Array(t))),le=ce.map(((t,e)=>t.map((t=>fe[e][t])))),he=ue.map(((t,e)=>t.map((t=>fe[e][t])))),pe=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),de=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),ye=(t,e)=>t<<e|t>>>32-e;function ge(t,e,n,r){return 0===t?e^n^r:1===t?e&n|~e&r:2===t?(e|~n)^r:3===t?e&r|n&~r:e^(n|~r)}const me=new Uint32Array(16);class be extends k{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){const{h0:t,h1:e,h2:n,h3:r,h4:i}=this;return[t,e,n,r,i]}set(t,e,n,r,i){this.h0=0|t,this.h1=0|e,this.h2=0|n,this.h3=0|r,this.h4=0|i}process(t,e){for(let n=0;n<16;n++,e+=4)me[n]=t.getUint32(e,!0);let n=0|this.h0,r=n,i=0|this.h1,o=i,s=0|this.h2,a=s,c=0|this.h3,u=c,f=0|this.h4,l=f;for(let t=0;t<5;t++){const e=4-t,h=pe[t],p=de[t],d=ce[t],y=ue[t],g=le[t],m=he[t];for(let e=0;e<16;e++){const r=ye(n+ge(t,i,s,c)+me[d[e]]+h,g[e])+f|0;n=f,f=c,c=0|ye(s,10),s=i,i=r}for(let t=0;t<16;t++){const n=ye(r+ge(e,o,a,u)+me[y[t]]+p,m[t])+l|0;r=l,l=u,u=0|ye(a,10),a=o,o=n}}this.set(this.h1+s+u|0,this.h2+c+l|0,this.h3+f+r|0,this.h4+n+o|0,this.h0+i+a|0)}roundClean(){me.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}}const we=S((()=>new be)),ve=BigInt(2**32-1),xe=BigInt(32);function Ee(t,e=!1){return e?{h:Number(t&ve),l:Number(t>>xe&ve)}:{h:0|Number(t>>xe&ve),l:0|Number(t&ve)}}const Se=function(t,e=!1){let n=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:o,l:s}=Ee(t[i],e);[n[i],r[i]]=[o,s]}return[n,r]},Ae=(t,e,n)=>t>>>n,_e=(t,e,n)=>t<<32-n|e>>>n,ke=(t,e,n)=>t>>>n|e<<32-n,Oe=(t,e,n)=>t<<32-n|e>>>n,je=(t,e,n)=>t<<64-n|e>>>n-32,Te=(t,e,n)=>t>>>n-32|e<<64-n,Fe=function(t,e,n,r){const i=(e>>>0)+(r>>>0);return{h:t+n+(i/2**32|0)|0,l:0|i}},Ue=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),Ie=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Ce=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),Be=(t,e,n,r,i)=>e+n+r+i+(t/2**32|0)|0,$e=(t,e,n,r,i,o)=>e+n+r+i+o+(t/2**32|0)|0,Le=(t,e,n,r,i)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(i>>>0),[Ne,Pe]=Se(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((t=>BigInt(t)))),De=new Uint32Array(80),He=new Uint32Array(80);class Re extends k{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:n,Bl:r,Ch:i,Cl:o,Dh:s,Dl:a,Eh:c,El:u,Fh:f,Fl:l,Gh:h,Gl:p,Hh:d,Hl:y}=this;return[t,e,n,r,i,o,s,a,c,u,f,l,h,p,d,y]}set(t,e,n,r,i,o,s,a,c,u,f,l,h,p,d,y){this.Ah=0|t,this.Al=0|e,this.Bh=0|n,this.Bl=0|r,this.Ch=0|i,this.Cl=0|o,this.Dh=0|s,this.Dl=0|a,this.Eh=0|c,this.El=0|u,this.Fh=0|f,this.Fl=0|l,this.Gh=0|h,this.Gl=0|p,this.Hh=0|d,this.Hl=0|y}process(t,e){for(let n=0;n<16;n++,e+=4)De[n]=t.getUint32(e),He[n]=t.getUint32(e+=4);for(let t=16;t<80;t++){const e=0|De[t-15],n=0|He[t-15],r=ke(e,n,1)^ke(e,n,8)^Ae(e,n,7),i=Oe(e,n,1)^Oe(e,n,8)^_e(e,n,7),o=0|De[t-2],s=0|He[t-2],a=ke(o,s,19)^je(o,s,61)^Ae(o,s,6),c=Oe(o,s,19)^Te(o,s,61)^_e(o,s,6),u=Ce(i,c,He[t-7],He[t-16]),f=Be(u,r,a,De[t-7],De[t-16]);De[t]=0|f,He[t]=0|u}let{Ah:n,Al:r,Bh:i,Bl:o,Ch:s,Cl:a,Dh:c,Dl:u,Eh:f,El:l,Fh:h,Fl:p,Gh:d,Gl:y,Hh:g,Hl:m}=this;for(let t=0;t<80;t++){const e=ke(f,l,14)^ke(f,l,18)^je(f,l,41),b=Oe(f,l,14)^Oe(f,l,18)^Te(f,l,41),w=f&h^~f&d,v=Le(m,b,l&p^~l&y,Pe[t],He[t]),x=$e(v,g,e,w,Ne[t],De[t]),E=0|v,S=ke(n,r,28)^je(n,r,34)^je(n,r,39),A=Oe(n,r,28)^Te(n,r,34)^Te(n,r,39),_=n&i^n&s^i&s,k=r&o^r&a^o&a;g=0|d,m=0|y,d=0|h,y=0|p,h=0|f,p=0|l,({h:f,l}=Fe(0|c,0|u,0|x,0|E)),c=0|s,u=0|a,s=0|i,a=0|o,i=0|n,o=0|r;const O=Ue(E,A,k);n=Ie(O,x,S,_),r=0|O}({h:n,l:r}=Fe(0|this.Ah,0|this.Al,0|n,0|r)),({h:i,l:o}=Fe(0|this.Bh,0|this.Bl,0|i,0|o)),({h:s,l:a}=Fe(0|this.Ch,0|this.Cl,0|s,0|a)),({h:c,l:u}=Fe(0|this.Dh,0|this.Dl,0|c,0|u)),({h:f,l}=Fe(0|this.Eh,0|this.El,0|f,0|l)),({h,l:p}=Fe(0|this.Fh,0|this.Fl,0|h,0|p)),({h:d,l:y}=Fe(0|this.Gh,0|this.Gl,0|d,0|y)),({h:g,l:m}=Fe(0|this.Hh,0|this.Hl,0|g,0|m)),this.set(n,r,i,o,s,a,c,u,f,l,h,p,d,y,g,m)}roundClean(){De.fill(0),He.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class ze extends Re{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class Me extends Re{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class qe extends Re{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}S((()=>new Re)),S((()=>new ze)),S((()=>new Me)),S((()=>new qe)),i(907);const Ve=t=>h((t=>we(C(t)))(t));function Ge(t,n=null){let r;r=n?function(t,n){const r=(0,e.decodeToken)(t),i=r.payload;if("string"==typeof i)throw new Error("Unexpected token payload type of string");if(!i.hasOwnProperty("subject")||!i.subject)throw new Error("Token doesn't have a subject");if(!i.subject.hasOwnProperty("publicKey"))throw new Error("Token doesn't have a subject public key");if(!i.hasOwnProperty("issuer")||!i.issuer)throw new Error("Token doesn't have an issuer");if(!i.issuer.hasOwnProperty("publicKey"))throw new Error("Token doesn't have an issuer public key");if(!i.hasOwnProperty("claim"))throw new Error("Token doesn't have a claim");const o=i.issuer.publicKey,s=function(t,e=Vt.Mainnet){var n,r,i;return t="string"==typeof t?t:h(t),n=function(t,e){switch(t){case Zt.SerializeP2PKH:switch(e){case Vt.Mainnet:return Xt.MainnetSingleSig;case Vt.Testnet:return Xt.TestnetSingleSig;default:throw new Error(`Unexpected txVersion ${JSON.stringify(e)} for hashMode ${t}`)}case Zt.SerializeP2SH:case Zt.SerializeP2SHNonSequential:case Zt.SerializeP2WPKH:case Zt.SerializeP2WSH:case Zt.SerializeP2WSHNonSequential:switch(e){case Vt.Mainnet:return Xt.MainnetMultiSig;case Vt.Testnet:return Xt.TestnetMultiSig;default:throw new Error(`Unexpected txVersion ${JSON.stringify(e)} for hashMode ${t}`)}default:throw new Error(`Unexpected hashMode ${JSON.stringify(t)}`)}}(Zt.SerializeP2PKH,e),r=Ve(p(t)),i={type:Dt.Address,version:n,hash160:r},(0,qt.H4)(i.version,i.hash160)}(o);if(n===o);else if(n!==s)throw new Error("Token issuer public key does not match the verifying value");const a=new e.TokenVerifier(r.header.alg,o);if(!a)throw new Error("Invalid token verifier");if(!a.verify(t))throw new Error("Token verification failed");return r}(t,n):(0,e.decodeToken)(t);let i={};if(r.hasOwnProperty("payload")){const t=r.payload;if("string"==typeof t)throw new Error("Unexpected token payload type of string");t.hasOwnProperty("claim")&&(i=t.claim)}return i}function Ke(t,e){let n;return e.proof&&e.proof.url&&(n=e.proof.url),{"@type":"Account",service:t,identifier:e.username,proofType:"http",proofUrl:n}}Nt.hmacSha256Sync=(t,...e)=>{const n=_.create(C,t);return e.forEach((t=>n.update(t))),n.digest()};var Je=i(377),We=i(179);i(616);const Ze={referrerPolicy:"origin",headers:{"x-hiro-product":"stacksjs"}};async function Xe(t,e){const n={};return Object.assign(n,Ze,e),await fetch(t,n)}function Ye(...t){const{fetchLib:e,middlewares:n}=function(t){let e=Xe,n=[];return t.length>0&&"function"==typeof t[0]&&(e=t.shift()),t.length>0&&(n=t),{fetchLib:e,middlewares:n}}(t);return async(t,r)=>{let i={url:t,init:r??{}};for(const t of n)"function"==typeof t.pre&&(i=await Promise.resolve(t.pre({fetch:e,...i}))??i);let o=await e(i.url,i.init);for(const t of n)if("function"==typeof t.post){const n=await Promise.resolve(t.post({fetch:e,url:i.url,init:i.init,response:o?.clone()??o}));o=n??o}return o}}const Qe={type:"object",properties:{"@context":{type:"string",optional:!0},"@type":{type:"string"}}};class tn{constructor(t={}){this._profile=Object.assign({},{"@context":"http://schema.org/"},t)}toJSON(){return Object.assign({},this._profile)}toToken(t){return function(t,n,r,i,o="ES256K",s=new Date,a=function(){return new Date((new Date).setFullYear((new Date).getFullYear()+1))}()){if("ES256K"!==o)throw new Error("Signing algorithm not supported");const c=e.SECP256K1Client.derivePublicKey(n);r||(r={publicKey:c}),i||(i={publicKey:c});const f=new e.TokenSigner(o,n),l={jti:u(),iat:s.toISOString(),exp:a.toISOString(),subject:r,issuer:i,claim:t};return f.sign(l)}(this.toJSON(),t)}static validateSchema(t,e=!1){return Qe.strict=e,We.validate(Qe,t)}static fromToken(t,e=null){const n=Ge(t,e);return new tn(n)}static makeZoneFile(t,e){return function(t,e){if(!e.includes("://"))throw new Error("Invalid token file url");const n=e.split("://")[0],r=e.split("://")[1].split("/"),i={$origin:t,$ttl:3600,uri:[{name:"_http._tcp",priority:10,weight:1,target:`${n}://${r[0]}${`/${r.slice(1).join("/")}`}`}]};return(0,Je.makeZoneFile)(i,"{$origin}\n{$ttl}\n{uri}\n")}(t,e)}}const en={type:"object",strict:!1,properties:{"@context":{type:"string",optional:!0},"@type":{type:"string"},"@id":{type:"string",optional:!0},name:{type:"string",optional:!0},givenName:{type:"string",optional:!0},familyName:{type:"string",optional:!0},description:{type:"string",optional:!0},image:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},name:{type:"string",optional:!0},contentUrl:{type:"string",optional:!0}}}},website:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},url:{type:"string",optional:!0}}}},account:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},service:{type:"string",optional:!0},identifier:{type:"string",optional:!0},proofType:{type:"string",optional:!0},proofUrl:{type:"string",optional:!0},proofMessage:{type:"string",optional:!0},proofSignature:{type:"string",optional:!0}}}},worksFor:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},"@id":{type:"string",optional:!0}}}},knows:{type:"array",optional:!0,items:{type:"object",properties:{"@type":{type:"string"},"@id":{type:"string",optional:!0}}}},address:{type:"object",optional:!0,properties:{"@type":{type:"string"},streetAddress:{type:"string",optional:!0},addressLocality:{type:"string",optional:!0},postalCode:{type:"string",optional:!0},addressCountry:{type:"string",optional:!0}}},birthDate:{type:"string",optional:!0},taxID:{type:"string",optional:!0}}};class nn extends tn{constructor(t={"@type":"Person"}){super(t),this._profile=Object.assign({},{"@type":"Person"},this._profile)}static validateSchema(t,e=!1){return en.strict=e,We.validate(Qe,t)}static fromToken(t,e=null){const n=Ge(t,e);return new nn(n)}static fromLegacyFormat(t){const e=function(t){const e={"@type":"Person"};if(t){t.name&&t.name.formatted&&(e.name=t.name.formatted),t.bio&&(e.description=t.bio),t.location&&t.location.formatted&&(e.address={"@type":"PostalAddress",addressLocality:t.location.formatted});const n=[];t.avatar&&t.avatar.url&&n.push({"@type":"ImageObject",name:"avatar",contentUrl:t.avatar.url}),t.cover&&t.cover.url&&n.push({"@type":"ImageObject",name:"cover",contentUrl:t.cover.url}),n.length&&(e.image=n),t.website&&(e.website=[{"@type":"WebSite",url:t.website}]);const r=[];t.bitcoin&&t.bitcoin.address&&r.push({"@type":"Account",role:"payment",service:"bitcoin",identifier:t.bitcoin.address}),t.twitter&&t.twitter.username&&r.push(Ke("twitter",t.twitter)),t.facebook&&t.facebook.username&&r.push(Ke("facebook",t.facebook)),t.github&&t.github.username&&r.push(Ke("github",t.github)),t.auth&&t.auth.length>0&&t.auth[0]&&t.auth[0].publicKeychain&&r.push({"@type":"Account",role:"key",service:"bip32",identifier:t.auth[0].publicKeychain}),t.pgp&&t.pgp.url&&r.push({"@type":"Account",role:"key",service:"pgp",identifier:t.pgp.fingerprint,contentUrl:t.pgp.url}),e.account=r}return e}(t);return new nn(e)}toJSON(){return{profile:this.profile(),name:this.name(),givenName:this.givenName(),familyName:this.familyName(),description:this.description(),avatarUrl:this.avatarUrl(),verifiedAccounts:this.verifiedAccounts(),address:this.address(),birthDate:this.birthDate(),connections:this.connections(),organizations:this.organizations()}}profile(){return Object.assign({},this._profile)}name(){return function(t){if(!t)return null;let e=null;return t.name?e=t.name:(t.givenName||t.familyName)&&(e="",t.givenName&&(e=t.givenName),t.familyName&&(e+=` ${t.familyName}`)),e}(this.profile())}givenName(){return function(t){if(!t)return null;let e=null;return t.givenName?e=t.givenName:t.name&&(e=t.name.split(" ").slice(0,-1).join(" ")),e}(this.profile())}familyName(){return function(t){if(!t)return null;let e=null;return t.familyName?e=t.familyName:t.name&&(e=t.name.split(" ").pop()),e}(this.profile())}description(){return function(t){if(!t)return null;let e=null;return t.description&&(e=t.description),e}(this.profile())}avatarUrl(){return function(t){if(!t)return null;let e=null;return t.image&&t.image.map((t=>"avatar"===t.name?(e=t.contentUrl,e):null)),e}(this.profile())}verifiedAccounts(t){return function(t,e){if(!t)return null;const n=[];return t.hasOwnProperty("account")&&e&&t.account.map((t=>{let r=!1,i=null;return e.map((e=>(e.hasOwnProperty("proof_url")&&(e.proofUrl=e.proof_url),!(!e.valid||e.service!==t.service||e.identifier!==t.identifier||!e.proofUrl||(r=!0,i=e.proofUrl,0))))),r?(t.proofUrl=i,n.push(t),t):null})),n}(this.profile(),t)}address(){return function(t){if(!t)return null;let e=null;if(t.hasOwnProperty("address")){const n=[];t.address.hasOwnProperty("streetAddress")&&n.push(t.address.streetAddress),t.address.hasOwnProperty("addressLocality")&&n.push(t.address.addressLocality),t.address.hasOwnProperty("postalCode")&&n.push(t.address.postalCode),t.address.hasOwnProperty("addressCountry")&&n.push(t.address.addressCountry),n.length&&(e=n.join(", "))}return e}(this.profile())}birthDate(){return function(t){if(!t)return null;const e=["January","February","March","April","May","June","July","August","September","October","November","December"];let n=null;if(t.hasOwnProperty("birthDate")){const r=new Date(t.birthDate);n=`${e[r.getMonth()]} ${r.getDate()}, ${r.getFullYear()}`}return n}(this.profile())}connections(){return function(t){if(!t)return null;let e=[];return t.hasOwnProperty("knows")&&(e=t.knows),e}(this.profile())}organizations(){return(t=this.profile())?t.hasOwnProperty("worksFor")?t.worksFor:[]:null;var t}}var rn,on,sn;!function(t){t[t.Testnet=2147483648]="Testnet",t[t.Mainnet=1]="Mainnet"}(rn||(rn={})),function(t){t[t.Mainnet=0]="Mainnet",t[t.Testnet=128]="Testnet"}(on||(on={})),function(t){t[t.Mainnet=385875968]="Mainnet",t[t.Testnet=4278190080]="Testnet"}(sn||(sn={}));const an=33,cn=["mainnet","testnet","devnet","mocknet"];class un{constructor(t){this.version=on.Mainnet,this.chainId=rn.Mainnet,this.bnsLookupUrl="https://api.mainnet.hiro.so",this.broadcastEndpoint="/v2/transactions",this.transferFeeEstimateEndpoint="/v2/fees/transfer",this.transactionFeeEstimateEndpoint="/v2/fees/transaction",this.accountEndpoint="/v2/accounts",this.contractAbiEndpoint="/v2/contracts/interface",this.readOnlyFunctionCallEndpoint="/v2/contracts/call-read",this.isMainnet=()=>this.version===on.Mainnet,this.getBroadcastApiUrl=()=>`${this.coreApiUrl}${this.broadcastEndpoint}`,this.getTransferFeeEstimateApiUrl=()=>`${this.coreApiUrl}${this.transferFeeEstimateEndpoint}`,this.getTransactionFeeEstimateApiUrl=()=>`${this.coreApiUrl}${this.transactionFeeEstimateEndpoint}`,this.getAccountApiUrl=t=>`${this.coreApiUrl}${this.accountEndpoint}/${t}?proof=0`,this.getAccountExtendedBalancesApiUrl=t=>`${this.coreApiUrl}/extended/v1/address/${t}/balances`,this.getAbiApiUrl=(t,e)=>`${this.coreApiUrl}${this.contractAbiEndpoint}/${t}/${e}`,this.getReadOnlyFunctionCallApiUrl=(t,e,n)=>`${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}/${t}/${e}/${encodeURIComponent(n)}`,this.getInfoUrl=()=>`${this.coreApiUrl}/v2/info`,this.getBlockTimeInfoUrl=()=>`${this.coreApiUrl}/extended/v1/info/network_block_times`,this.getPoxInfoUrl=()=>`${this.coreApiUrl}/v2/pox`,this.getRewardsUrl=(t,e)=>{let n=`${this.coreApiUrl}/extended/v1/burnchain/rewards/${t}`;return e&&(n=`${n}?limit=${e.limit}&offset=${e.offset}`),n},this.getRewardsTotalUrl=t=>`${this.coreApiUrl}/extended/v1/burnchain/rewards/${t}/total`,this.getRewardHoldersUrl=(t,e)=>{let n=`${this.coreApiUrl}/extended/v1/burnchain/reward_slot_holders/${t}`;return e&&(n=`${n}?limit=${e.limit}&offset=${e.offset}`),n},this.getStackerInfoUrl=(t,e)=>`${this.coreApiUrl}${this.readOnlyFunctionCallEndpoint}\n ${t}/${e}/get-stacker-info`,this.getDataVarUrl=(t,e,n)=>`${this.coreApiUrl}/v2/data_var/${t}/${e}/${n}?proof=0`,this.getMapEntryUrl=(t,e,n)=>`${this.coreApiUrl}/v2/map_entry/${t}/${e}/${n}?proof=0`,this.coreApiUrl=t.url,this.fetchFn=t.fetchFn??Ye()}getNameInfo(t){const e=`${this.bnsLookupUrl}/v1/names/${t}`;return this.fetchFn(e).then((t=>{if(404===t.status)throw new Error("Name not found");if(200!==t.status)throw new Error(`Bad response status: ${t.status}`);return t.json()})).then((t=>t.address?Object.assign({},t,{address:t.address}):t))}}un.fromName=t=>{switch(t){case"mainnet":return new fn;case"testnet":return new ln;case"devnet":return new pn;case"mocknet":return new hn;default:throw new Error(`Invalid network name provided. Must be one of the following: ${cn.join(", ")}`)}},un.fromNameOrNetwork=t=>"string"!=typeof t&&"version"in t?t:un.fromName(t);class fn extends un{constructor(t){super({url:t?.url??"https://api.mainnet.hiro.so",fetchFn:t?.fetchFn}),this.version=on.Mainnet,this.chainId=rn.Mainnet}}class ln extends un{constructor(t){super({url:t?.url??"https://api.testnet.hiro.so",fetchFn:t?.fetchFn}),this.version=on.Testnet,this.chainId=rn.Testnet}}class hn extends un{constructor(t){super({url:t?.url??"http://localhost:3999",fetchFn:t?.fetchFn}),this.version=on.Testnet,this.chainId=rn.Testnet}}const pn=hn,dn={MISSING_PARAMETER:"missing_parameter",REMOTE_SERVICE_ERROR:"remote_service_error",INVALID_STATE:"invalid_state",NO_SESSION_DATA:"no_session_data",DOES_NOT_EXIST:"does_not_exist",FAILED_DECRYPTION_ERROR:"failed_decryption_error",INVALID_DID_ERROR:"invalid_did_error",NOT_ENOUGH_FUNDS_ERROR:"not_enough_error",INVALID_AMOUNT_ERROR:"invalid_amount_error",LOGIN_FAILED_ERROR:"login_failed",SIGNATURE_VERIFICATION_ERROR:"signature_verification_failure",CONFLICT_ERROR:"conflict_error",NOT_ENOUGH_PROOF_ERROR:"not_enough_proof_error",BAD_PATH_ERROR:"bad_path_error",VALIDATION_ERROR:"validation_error",PAYLOAD_TOO_LARGE_ERROR:"payload_too_large_error",PRECONDITION_FAILED_ERROR:"precondition_failed_error",UNKNOWN:"unknown"};Object.freeze(dn);class yn extends Error{constructor(t){super();let e=t.message,n=`Error Code: ${t.code}`,r=this.stack;if(r)n+=`Stack Trace:\n${r}`;else try{throw new Error}catch(t){r=t.stack}e+=`\nIf you believe this exception is caused by a bug in stacks.js,\n please file a bug report: https://github.com/blockstack/stacks.js/issues\n\n${n}`,this.message=e,this.code=t.code,this.parameter=t.parameter?t.parameter:void 0}toString(){return`${super.toString()}\n code: ${this.code} param: ${this.parameter?this.parameter:"n/a"}`}}class gn extends yn{constructor(t){const e=`Failed to verify signature: ${t}`;super({code:dn.SIGNATURE_VERIFICATION_ERROR,message:e}),this.message=e,this.name="SignatureVerificationError"}}class mn extends yn{constructor(t){super({code:dn.INVALID_STATE,message:t}),this.message=t,this.name="InvalidStateError"}}class bn extends yn{constructor(t,e){super(t),e&&(this.hubError={statusCode:e.status,statusText:e.statusText},"string"==typeof e.body?this.hubError.message=e.body:"object"==typeof e.body&&Object.assign(this.hubError,e.body))}}class wn extends bn{constructor(t,e){super({message:t,code:dn.DOES_NOT_EXIST},e),this.name="DoesNotExist"}}class vn extends bn{constructor(t,e){super({message:t,code:dn.CONFLICT_ERROR},e),this.name="ConflictError"}}class xn extends bn{constructor(t,e){super({message:t,code:dn.NOT_ENOUGH_PROOF_ERROR},e),this.name="NotEnoughProofError"}}class En extends bn{constructor(t,e){super({message:t,code:dn.BAD_PATH_ERROR},e),this.name="BadPathError"}}class Sn extends bn{constructor(t,e){super({message:t,code:dn.VALIDATION_ERROR},e),this.name="ValidationError"}}class An extends bn{constructor(t,e,n){super({message:t,code:dn.PAYLOAD_TOO_LARGE_ERROR},e),this.name="PayloadTooLargeError",this.maxUploadByteSize=n}}class _n extends bn{constructor(t,e){super({message:t,code:dn.PRECONDITION_FAILED_ERROR},e),this.name="PreconditionFailedError"}}function kn(t){const e="string"==typeof t?p(t):t;if(32!=e.length&&33!=e.length)throw new Error(`Improperly formatted private-key. Private-key byte length should be 32 or 33. Length provided: ${e.length}`);if(33==e.length&&1!==e[32])throw new Error("Improperly formatted private-key. 33 bytes indicate compressed key, but the last byte must be == 01");return e}var On=i(22),jn=i.n(On);function Tn(t){return C(t)}const Fn=0;function Un(t,e=Fn){var n;return function(t,e){return function(t){const e=C(C(t));return jn().encode(y(t,e).slice(0,t.length+4))}(y(new Uint8Array([t]),e.slice(0,20)))}(e,(n=Tn("string"==typeof t?p(t):t),we(n)))}function In(t){return h(function(t,e=!1){return nt.fromPrivateKey(t).toRawBytes(e)}(kn(t).slice(0,32),!0))}Nt.hmacSha256Sync=(t,...e)=>{const n=_.create(C,t);return e.forEach((t=>n.update(t))),n.digest()};var Cn,Bn=i(766);function $n(t,e,n){return function(t,e,n,r=Bt){let i;try{i=Tt(t),e=gt(e)}catch(t){return!1}const{r:o,s}=i;if(r.strict&&i.hasHighS())return!1;const a=xt(e);let c;try{c=function(t){return t instanceof nt?(t.assertValidity(),t):nt.fromHex(t)}(n)}catch(t){return!1}const{n:u}=R,f=vt(s,u),l=bt(a*f,u),h=bt(o*f,u),p=nt.BASE.multiplyAndAddUnsafe(c,l,h);return!!p&&bt(p.x,u)===o}(n,Tn("string"==typeof t?d(t):t),e,{strict:!1})}Nt.hmacSha256Sync=(t,...e)=>{const n=_.create(C,t);return e.forEach((t=>n.update(t))),n.digest()},function(t){t.InvalidFormat="InvalidFormat",t.IsNotPoint="IsNotPoint"}(Cn||(Cn={}));const Ln={referrerPolicy:"origin"};async function Nn(t,e){const n={};return Object.assign(n,e,Ln),await fetch(t,n)}function Pn(...t){const{fetchLib:e,middlewares:n}=function(t){let e=Nn,n=[];return t.length>0&&"function"==typeof t[0]&&(e=t.shift()),t.length>0&&(n=t),{fetchLib:e,middlewares:n}}(t);return async(t,r)=>{var i;let o={url:t,init:null!=r?r:{}};for(const t of n)if("function"==typeof t.pre){const n=await Promise.resolve(t.pre(Object.assign({fetch:e},o)));o=null!=n?n:o}let s=await e(o.url,o.init);for(const t of n)if("function"==typeof t.post){const n=await Promise.resolve(t.post({fetch:e,url:o.url,init:o.init,response:null!==(i=null==s?void 0:s.clone())&&void 0!==i?i:s}));s=null!=n?n:s}return s}}const Dn=class t{constructor(e,n){this.wasString="string"==typeof e,this.content=t.normalizeContentDataType(e,n),this.contentType=n||this.detectContentType(),this.contentByteLength=this.detectContentLength()}static normalizeContentDataType(t,e){try{if("string"==typeof t){const n=(e||"").toLowerCase().replace("-","");if(n.includes("charset")&&!n.includes("charset=utf8")&&!n.includes("charset=ascii"))throw new Error(`Unable to determine byte length with charset: ${e}`);if("undefined"!=typeof TextEncoder){const e=(new TextEncoder).encode(t);return new Uint8Array(e.buffer)}return d(t)}if(t instanceof Uint8Array)return t;if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));if("undefined"!=typeof Blob&&t instanceof Blob)return t;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer)return new Uint8Array(t);if(Array.isArray(t)){if(t.length>0&&(!Number.isInteger(t[0])||t[0]<0||t[0]>255))throw new Error(`Unexpected array values provided as file data: value "${t[0]}" at index 0 is not an octet number. ${this.supportedTypesMsg}`);return new Uint8Array(t)}{const e=Object.prototype.toString.call(t);throw new Error(`Unexpected type provided as file data: ${e}. ${this.supportedTypesMsg}`)}}catch(t){throw console.error(t),new Error(`Error processing data: ${t}`)}}detectContentType(){return this.wasString?"text/plain; charset=utf-8":"undefined"!=typeof Blob&&this.content instanceof Blob&&this.content.type?this.content.type:"application/octet-stream"}detectContentLength(){if(ArrayBuffer.isView(this.content)||this.content instanceof Uint8Array)return this.content.byteLength;if("undefined"!=typeof Blob&&this.content instanceof Blob)return this.content.size;const t=Object.prototype.toString.call(this.content),e=new Error(`Unexpected type "${t}" while detecting content length`);throw console.error(e),e}async loadContent(){try{if(this.content instanceof Uint8Array)return this.content;if(ArrayBuffer.isView(this.content))return new Uint8Array(this.content.buffer,this.content.byteOffset,this.content.byteLength);if("undefined"!=typeof Blob&&this.content instanceof Blob){const t=new FileReader,e=new Promise(((e,n)=>{t.onerror=t=>{n(t)},t.onload=()=>{const n=t.result;e(new Uint8Array(n))},t.readAsArrayBuffer(this.content)}));return await e}{const t=Object.prototype.toString.call(this.content);throw new Error(`Unexpected type ${t}`)}}catch(t){console.error(t);const e=new Error(`Error loading content: ${t}`);throw console.error(e),e}}load(){return void 0===this.loadedData&&(this.loadedData=this.loadContent()),this.loadedData}};Dn.supportedTypesMsg="Supported types are: `string` (to be UTF8 encoded), `Blob`, `File`, `ArrayBuffer`, `UInt8Array` or any other typed array buffer. ";let Hn=Dn;const Rn=(t=32)=>Nt.randomBytes(t),zn="blockstack-gaia-hub-config";async function Mn(t,e,n,r="application/octet-stream",i=!0,o,s,c=Pn()){a.debug(`uploadToGaiaHub: uploading ${t} to ${n.server}`);const u={"Content-Type":r,Authorization:`bearer ${n.token}`};s||(i?u["If-None-Match"]="*":o&&(u["If-Match"]=o));const f=await c(`${n.server}/store/${n.address}/${t}`,{method:"POST",headers:u,body:e});if(!f.ok)throw await Jn(f,"Error when uploading to Gaia hub.",n);const l=await f.text();return JSON.parse(l)}async function qn(t,e,n=Pn()){a.debug(`deleteFromGaiaHub: deleting ${t} from ${e.server}`);const r=await n(`${e.server}/delete/${e.address}/${t}`,{method:"DELETE",headers:{Authorization:`bearer ${e.token}`}});if(!r.ok)throw await Jn(r,"Error deleting file from Gaia hub.",e)}function Vn(t,e){return Promise.resolve(`${e.url_prefix}${e.address}/${t}`)}async function Gn(t,n,r,i=Pn()){a.debug(`connectToGaiaHub: ${t}/hub_info`);const o=await i(`${t}/hub_info`),s=await o.json(),c=s.read_url_prefix,u=function(t,n,r,i){const o=t.challenge_text,s=t.latest_auth_version&&parseInt(t.latest_auth_version.slice(1),10)>=1,a=In(n);if(!s)return function(t,e){let n;try{n=JSON.parse(t)}catch(t){throw new Error("Failed in parsing legacy challenge text from the gaia hub.")}if("gaiahub"===n[0]&&"blockstack_storage_please_sign"===n[3]){const n=(r=Tn(d(t)),i=function(t){const e=kn(t);return e.length==an?e:y(e,new Uint8Array([1]))}(e),Ct(r,kn(i).slice(0,32),{der:!1})),o=ot.fromCompact(h(n)).toDERHex(),s=In(e);return(0,Bn.fromByteArray)(d(JSON.stringify({publickey:s,signature:o})))}var r,i;throw new Error("Failed to connect to legacy gaia hub. If you operate this hub, please update.")}(o,n);const c={gaiaChallenge:o,hubUrl:r,iss:a,salt:h(Rn(16)),associationToken:i};return`v1:${new e.TokenSigner("ES256K",n).sign(c)}`}(s,n,t,r),f=Un(In(n));return{url_prefix:c,max_file_upload_size_megabytes:s.max_file_upload_size_megabytes,address:f,token:u,server:t}}async function Kn(t,e,n=Pn()){const r=await n(`${t}/hub_info`),i=await r.text();return`${JSON.parse(i).read_url_prefix}${Un(In(e))}/`}async function Jn(t,e,n){if(t.ok)throw new Error("Cannot get a BlockstackError from a valid response.");const r=await async function(t){let e,n="";try{n=await t.text();try{e=JSON.parse(n)}catch(t){}}catch(t){a.debug(`Error getting bad http response text: ${t}`)}return{status:t.status,statusText:t.statusText,body:e||n}}(t);if(401===r.status)return new Sn(e,r);if(402===r.status)return new xn(e,r);if(403===r.status)return new En(e,r);if(404===r.status)throw new wn(e,r);if(409===r.status)return new vn(e,r);if(412===r.status)return new _n(e,r);if(413===r.status){const t=n&&n.max_file_upload_size_megabytes?c(n.max_file_upload_size_megabytes):0;return new An(e,r,t)}return new Error(e)}const Wn=".sig";class Zn{constructor(t){this.userSession=t.userSession}async getFile(t,e){const n={decrypt:!0,verify:!1,app:f("location",{returnEmptyObject:!0}).origin},r=Object.assign({},n,e);if(r.verify&&!r.decrypt)return this.getFileSignedUnencrypted(t,r);const i=await this.getFileContents(t,r.app,r.username,r.zoneFileLookupURL,!!r.decrypt);if(null===i)return i;if(r.decrypt&&!r.verify){if("string"!=typeof i)throw new Error("Expected to get back a string for the cipherText");if("string"==typeof r.decrypt){const t={privateKey:r.decrypt};return this.userSession.decryptContent(i,t)}return this.userSession.decryptContent(i)}if(r.decrypt&&r.verify){if("string"!=typeof i)throw new Error("Expected to get back a string for the cipherText");let e;return"string"==typeof r.decrypt&&(e=r.decrypt),this.handleSignedEncryptedContents(t,i,r.app,e,r.username,r.zoneFileLookupURL)}if(r.verify||r.decrypt)throw new Error("Should be unreachable.");return i}async getUserAppFileUrl(t,e,n,r){const i=await function(t){if(!t.username)return Promise.reject(new Error("No username provided"));const e={network:new fn},n=Object.assign(e,t),r=un.fromNameOrNetwork(n.network);let i;if(n.zoneFileLookupURL){const t=`${n.zoneFileLookupURL.replace(/\/$/,"")}/${n.username}`;i=r.fetchFn(t).then((t=>t.json()))}else i=r.getNameInfo(n.username);return i.then((t=>{if(t.hasOwnProperty("zonefile")&&t.hasOwnProperty("address"))return function(t,e,n=Ye()){return new Promise(((r,i)=>{let o=null;try{o=(0,Je.parseZoneFile)(t),o.hasOwnProperty("$origin")||(o=null)}catch(t){i(t)}let s=null;if(o&&Object.keys(o).length>0)s=function(t){if(!t.hasOwnProperty("uri"))return null;if(!Array.isArray(t.uri))return null;if(t.uri.length<1)return null;const e=t.uri.filter((t=>t.hasOwnProperty("target")&&"_http._tcp"===t.name));if(e.length<1)return null;const n=e[0];if(!n.hasOwnProperty("target"))return null;let r=n.target;return r.startsWith("https")||r.startsWith("http")||(r=`https://${r}`),r}(o);else try{return r(nn.fromLegacyFormat(JSON.parse(t)).profile())}catch(t){return i(t)}s?n(s).then((t=>t.text())).then((t=>JSON.parse(t))).then((t=>{const n=Ge(t[0].token,e);r(n)})).catch((t=>{a.error(`resolveZoneFileToProfile: error fetching token file ${s}: ${t}`),i(t)})):(a.debug("Token file url not found. Resolving to blank profile."),r({}))}))}(t.zonefile,t.address,r.fetchFn);throw new Error("Invalid zonefile lookup response: did not contain `address` or `zonefile` field")}))}({username:e,zoneFileLookupURL:r});let o;return i.hasOwnProperty("apps")&&i.apps.hasOwnProperty(n)&&(o=`${i.apps[n].replace(/\/?(\?|#|$)/,"/$1")}${t}`),o}async getGaiaAddress(t,e,n){const r=Yn(this.userSession,{app:t,username:e,zoneFileLookupURL:n});let i;if(e)i=await this.getUserAppFileUrl("/",r.username,r.app,r.zoneFileLookupURL);else{const t=await this.getOrSetLocalGaiaHubConnection();i=await Vn("/",t)}const o=i.match(/([13][a-km-zA-HJ-NP-Z0-9]{26,35})/);if(!o)throw new Error("Failed to parse gaia address");return o[o.length-1]}async getFileUrl(t,e){const n=Yn(this.userSession,e);let r;if(n.username)r=await this.getUserAppFileUrl(t,n.username,n.app,n.zoneFileLookupURL);else{const e=await this.getOrSetLocalGaiaHubConnection();r=await Vn(t,e)}if(r)return r;throw new Error("Missing readURL")}async getFileContents(t,e,n,r,i,o=Pn()){const s={app:e,username:n,zoneFileLookupURL:r},a=await this.getFileUrl(t,s),c=await o(a);if(!c.ok)throw await Jn(c,`getFile ${t} failed.`,null);let u=c.headers.get("Content-Type");"string"==typeof u&&(u=u.toLowerCase());const f=c.headers.get("ETag");if(f){const e=this.userSession.store.getSessionData();e.etags[t]=f,this.userSession.store.setSessionData(e)}return i||null===u||u.startsWith("text")||u.startsWith("application/json")?c.text():c.arrayBuffer()}async getFileSignedUnencrypted(t,e){const n=`${t}${Wn}`;try{const[r,i,o]=await Promise.all([this.getFileContents(t,e.app,e.username,e.zoneFileLookupURL,!1),this.getFileContents(n,e.app,e.username,e.zoneFileLookupURL,!0),this.getGaiaAddress(e.app,e.username,e.zoneFileLookupURL)]);if(!r)return r;if(!o)throw new gn(`Failed to get gaia address for verification of: ${t}`);if(!i||"string"!=typeof i)throw new gn(`Failed to obtain signature for file: ${t} -- looked in ${t}${Wn}`);let s,a;try{const t=JSON.parse(i);s=t.signature,a=t.publicKey}catch(e){if(e instanceof SyntaxError)throw new Error(`Failed to parse signature content JSON (path: ${t}${Wn}) The content may be corrupted.`);throw e}const c=Un(a);if(o!==c)throw new gn(`Signer pubkey address (${c}) doesn't match gaia address (${o})`);if(!$n("string"==typeof r?d(r):new Uint8Array(r),a,s))throw new gn(`Contents do not match ECDSA signature: path: ${t}, signature: ${t}${Wn}`);return r}catch(e){if(e instanceof wn&&e.message.indexOf(n)>=0)throw new gn(`Failed to obtain signature for file: ${t} -- looked in ${t}${Wn}`);throw e}}async handleSignedEncryptedContents(t,e,n,r,i,o){const s=In(r||this.userSession.loadUserData().appPrivateKey),a=i?await this.getGaiaAddress(n,i,o):Un(s);if(!a)throw new gn(`Failed to get gaia address for verification of: ${t}`);let c;try{c=JSON.parse(e)}catch(t){throw t instanceof SyntaxError?new Error("Failed to parse encrypted, signed content JSON. The content may not be encrypted. If using getFile, try passing { verify: false, decrypt: false }."):t}const u=c.signature,f=c.publicKey,l=c.cipherText,h=Un(f);if(f&&l&&u){if(h!==a)throw new gn(`Signer pubkey address (${h}) doesn't match gaia address (${a})`);if($n(l,f,u)){if("string"==typeof r){const t={privateKey:r};return this.userSession.decryptContent(l,t)}return this.userSession.decryptContent(l)}throw new gn(`Contents do not match ECDSA signature in file: ${t}`)}throw new gn(`Failed to get signature verification data from file: ${t}`)}async putFile(t,e,n){var r,i;const o=Object.assign({},{encrypt:!0,sign:!1,cipherTextEncoding:"hex",dangerouslyIgnoreEtag:!1},n),s=await this.getOrSetLocalGaiaHubConnection(),a=c(s.max_file_upload_size_megabytes),u=a>0,f=new Hn(e,o.contentType);let l,p=f.contentType;if(!o.encrypt&&u&&f.contentByteLength>a){const t=`The max file upload size for this hub is ${a} bytes, the given content is ${f.contentByteLength} bytes`,e=new An(t,null,a);throw console.error(e),e}if(o.encrypt&&u){const t=function(t){const{payloadShell:e,payloadValuesLength:n}=function(t){const e={iv:"",ephemeralPK:"",mac:"",cipherText:"",wasString:!!t.wasString};return"base64"===t.cipherTextEncoding&&(e.cipherTextEncoding="base64"),{payloadValuesLength:162,payloadShell:JSON.stringify(e)}}(t),r=(i=t.contentLength,16*(Math.floor(i/16)+1));var i;let o;if(t.cipherTextEncoding&&"hex"!==t.cipherTextEncoding){if("base64"!==t.cipherTextEncoding)throw new Error(`Unexpected cipherTextEncoding "${t.cipherTextEncoding}"`);o=function(t){return 4*Math.ceil(t/3)}(r)}else o=2*r;if(t.sign){const{signedPayloadShell:t,signedPayloadValuesLength:r}=function(t){const e={signature:"",publicKey:"",cipherText:t};return{signedPayloadValuesLength:210,signedPayloadShell:JSON.stringify(e)}}(e);return t.length+r+n+o}return e.length+n+o}({contentLength:f.contentByteLength,wasString:f.wasString,sign:!!o.sign,cipherTextEncoding:o.cipherTextEncoding});if(t>a){const e=new An(`The max file upload size for this hub is ${a} bytes, the given content is ${t} bytes after encryption`,null,a);throw console.error(e),e}}let y=!0;const g=this.userSession.store.getSessionData();let m;if(o.dangerouslyIgnoreEtag||(null==(r=g.etags)?void 0:r[t])&&(y=!1,l=null==(i=g.etags)?void 0:i[t]),!o.encrypt&&o.sign){const e=await f.load();let n;n="string"==typeof o.sign?o.sign:this.userSession.loadUserData().appPrivateKey;const r=function(t,e){const n="string"==typeof e?d(e):e,r=In(t);return{signature:h(Ct(Tn(n),t)),publicKey:r}}(n,e),i=JSON.stringify(r);m=async n=>{const r=(await Promise.all([Mn(t,e,n,p,y,l,o.dangerouslyIgnoreEtag),Mn(`${t}${Wn}`,i,n,"application/json")]))[0];return!o.dangerouslyIgnoreEtag&&r.etag&&(g.etags[t]=r.etag,this.userSession.store.setSessionData(g)),r.publicURL}}else{let e;if(o.encrypt||o.sign){let t;t="string"==typeof o.encrypt?o.encrypt:"string"==typeof o.sign?In(o.sign):In(this.userSession.loadUserData().appPrivateKey);const n=await f.load();e=await this.userSession.encryptContent(n,{publicKey:t,wasString:f.wasString,cipherTextEncoding:o.cipherTextEncoding,sign:o.sign}),p="application/json"}else e=f.content;m=async n=>{const r=await Mn(t,e,n,p,y,l,o.dangerouslyIgnoreEtag);return r.etag&&(g.etags[t]=r.etag,this.userSession.store.setSessionData(g)),r.publicURL}}try{return await m(s)}catch(t){if(function(t){if(!t||!t.hubError||!t.hubError.statusCode)return!1;const e=t.hubError.statusCode;return 401===e||(409===e||e>=500&&e<=599)}(t)){console.error(t),console.error("Possible recoverable error during Gaia upload, retrying...");const e=await this.setLocalGaiaHubConnection();return await m(e)}throw t}}async deleteFile(t,e){const n=await this.getOrSetLocalGaiaHubConnection();if(Object.assign({},e).wasSigned)try{await qn(t,n),await qn(`${t}${Wn}`,n);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const r=await this.setLocalGaiaHubConnection();await qn(t,r),await qn(`${t}${Wn}`,n);const i=this.userSession.store.getSessionData();delete i.etags[t],this.userSession.store.setSessionData(i)}else try{await qn(t,n);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const n=await this.setLocalGaiaHubConnection();await qn(t,n);const r=this.userSession.store.getSessionData();delete r.etags[t],this.userSession.store.setSessionData(r)}}getAppBucketUrl(t,e){return Kn(t,e)}async listFilesLoop(t,e,n,r,i,o=Pn()){if(n>65536)throw new Error("Too many entries to list");let s;t=t||await this.getOrSetLocalGaiaHubConnection();try{const n=JSON.stringify({page:e}),r={method:"POST",headers:{"Content-Type":"application/json","Content-Length":`${n.length}`,Authorization:`bearer ${t.token}`},body:n};if(s=await o(`${t.server}/list-files/${t.address}`,r),!s.ok)throw await Jn(s,"ListFiles failed.",t)}catch(t){if(0===n){const t=await this.setLocalGaiaHubConnection();return this.listFilesLoop(t,e,n+1,0,i)}throw t}const a=await s.text(),c=JSON.parse(a),u=c.entries,f=c.page;if(null==u)throw new Error("Bad listFiles response: no entries");let l=0;for(let t=0;t<u.length;t++)if(null!==u[t]&&(l++,!i(u[t])))return r+t;return f&&u.length>0?this.listFilesLoop(t,f,n+1,r+l,i):r+l}listFiles(t){return this.listFilesLoop(null,null,0,0,t)}async getOrSetLocalGaiaHubConnection(){const t=this.userSession.store.getSessionData().userData;if(!t)throw new mn("Missing userData");const e=t.gaiaHubConfig;return e?Promise.resolve(e):this.setLocalGaiaHubConnection()}async setLocalGaiaHubConnection(){const t=this.userSession.loadUserData();if(!t)throw new mn("Missing userData");t.hubUrl||(t.hubUrl="https://hub.blockstack.org");const e=await Gn(t.hubUrl,t.appPrivateKey,t.gaiaAssociationToken);t.gaiaHubConfig=e;const n=this.userSession.store.getSessionData();return n.userData.gaiaHubConfig=e,this.userSession.store.setSessionData(n),e}}function Xn(t){return new Zn({}).getUserAppFileUrl(t.path,t.username,t.appOrigin,t.zoneFileLookupURL)}function Yn(t,e){var n;const r=Object.assign({},e);if(r.username){if(!r.app){if(!t.appConfig)throw new mn("Missing AppConfig");r.app=t.appConfig.appDomain}if(!r.zoneFileLookupURL){if(!t.appConfig)throw new mn("Missing AppConfig");if(!t.store)throw new mn("Missing store UserSession");const e=(null==(n=t.store.getSessionData().userData)?void 0:n.coreNode)||t.appConfig.coreNode;e&&(r.zoneFileLookupURL=`${e}/v1/names`)}}return r}})(),o})()));
|
|
3
3
|
//# sourceMappingURL=index.js.map
|