libp2p 0.44.0-2a9617b3 → 0.44.0-3fb9b142
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/index.min.js +17 -17
- package/dist/src/autonat/constants.d.ts +16 -2
- package/dist/src/autonat/constants.d.ts.map +1 -1
- package/dist/src/autonat/constants.js +16 -2
- package/dist/src/autonat/constants.js.map +1 -1
- package/dist/src/autonat/index.d.ts +9 -30
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +25 -18
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +3 -0
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +2 -2
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +4 -6
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts +0 -3
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +27 -24
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +2 -4
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +28 -26
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +8 -0
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -0
- package/dist/src/config/connection-gater.browser.js +27 -0
- package/dist/src/config/connection-gater.browser.js.map +1 -0
- package/dist/src/config/connection-gater.d.ts +6 -0
- package/dist/src/config/connection-gater.d.ts.map +1 -0
- package/dist/src/config/connection-gater.js +18 -0
- package/dist/src/config/connection-gater.js.map +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +0 -55
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +7 -2
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +11 -0
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/identify/identify.d.ts +53 -0
- package/dist/src/identify/identify.d.ts.map +1 -0
- package/dist/src/identify/identify.js +405 -0
- package/dist/src/identify/identify.js.map +1 -0
- package/dist/src/identify/index.d.ts +1 -15
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +2 -390
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +2 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +2 -13
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -38
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +0 -59
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +6 -9
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/transport-manager.d.ts +5 -1
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +10 -1
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +4 -2
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/upnp-nat/index.d.ts +2 -2
- package/dist/src/upnp-nat/index.d.ts.map +1 -1
- package/dist/src/upnp-nat/index.js +1 -1
- package/dist/src/upnp-nat/index.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +10 -10
- package/src/autonat/constants.ts +17 -2
- package/src/autonat/index.ts +39 -30
- package/src/circuit-relay/server/index.ts +4 -0
- package/src/circuit-relay/transport/discovery.ts +2 -2
- package/src/circuit-relay/transport/index.ts +4 -7
- package/src/circuit-relay/transport/listener.ts +35 -29
- package/src/circuit-relay/transport/reservation-store.ts +21 -15
- package/src/config/connection-gater.browser.ts +31 -0
- package/src/config/connection-gater.ts +19 -0
- package/src/config.ts +0 -55
- package/src/connection-manager/auto-dial.ts +8 -2
- package/src/connection-manager/dial-queue.ts +11 -0
- package/src/identify/identify.ts +518 -0
- package/src/identify/index.ts +5 -508
- package/src/index.ts +2 -7
- package/src/libp2p.ts +2 -13
- package/src/peer-routing.ts +1 -101
- package/src/ping/index.ts +6 -9
- package/src/transport-manager.ts +13 -1
- package/src/upgrader.ts +4 -3
- package/src/upnp-nat/index.ts +2 -2
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2P=(()=>{var fg=Object.create;var Ps=Object.defineProperty;var hg=Object.getOwnPropertyDescriptor;var dg=Object.getOwnPropertyNames;var pg=Object.getPrototypeOf,mg=Object.prototype.hasOwnProperty;var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ue=(t,e)=>{for(var r in e)Ps(t,r,{get:e[r],enumerable:!0})},af=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of dg(e))!mg.call(t,i)&&i!==r&&Ps(t,i,{get:()=>e[i],enumerable:!(n=hg(e,i))||n.enumerable});return t};var U=(t,e,r)=>(r=t!=null?fg(pg(t)):{},af(e||!t||!t.__esModule?Ps(r,"default",{value:t,enumerable:!0}):r,t)),yg=t=>af(Ps({},"__esModule",{value:!0}),t);var Ua=R((q_,cf)=>{var Rn=1e3,Cn=Rn*60,Tn=Cn*60,Gr=Tn*24,gg=Gr*7,wg=Gr*365.25;cf.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return xg(t);if(r==="number"&&isFinite(t))return e.long?Eg(t):vg(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function xg(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*wg;case"weeks":case"week":case"w":return r*gg;case"days":case"day":case"d":return r*Gr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Tn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Cn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Rn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function vg(t){var e=Math.abs(t);return e>=Gr?Math.round(t/Gr)+"d":e>=Tn?Math.round(t/Tn)+"h":e>=Cn?Math.round(t/Cn)+"m":e>=Rn?Math.round(t/Rn)+"s":t+"ms"}function Eg(t){var e=Math.abs(t);return e>=Gr?Ls(t,e,Gr,"day"):e>=Tn?Ls(t,e,Tn,"hour"):e>=Cn?Ls(t,e,Cn,"minute"):e>=Rn?Ls(t,e,Rn,"second"):t+" ms"}function Ls(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var lf=R(($_,uf)=>{function bg(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Ua(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,d,p;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),_=x-(f||x);g.diff=_,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let N=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(T,H)=>{if(T==="%%")return"%";N++;let W=r.formatters[H];if(typeof W=="function"){let De=y[N];T=W.call(g,De),y.splice(N,1),N--}return T}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==r.namespaces&&(d=r.namespaces,p=r.enabled(l)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}uf.exports=bg});var Ka=R((tt,Ds)=>{tt.formatArgs=Sg;tt.save=Ag;tt.load=Ig;tt.useColors=_g;tt.storage=Rg();tt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();tt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function _g(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Sg(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ds.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}tt.log=console.debug||console.log||(()=>{});function Ag(t){try{t?tt.storage.setItem("debug",t):tt.storage.removeItem("debug")}catch{}}function Ig(){let t;try{t=tt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Rg(){try{return localStorage}catch{}}Ds.exports=lf()(tt);var{formatters:Cg}=Ds.exports;Cg.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Ff=R((YS,Mf)=>{Mf.exports=pc;var Of=128,K1=127,V1=~K1,q1=Math.pow(2,31);function pc(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw pc.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=q1;)e[r++]=t&255|Of,t/=128;for(;t&V1;)e[r++]=t&255|Of,t>>>=7;return e[r]=t|0,pc.bytes=r-n+1,e}});var Vf=R((WS,Kf)=>{Kf.exports=mc;var $1=128,Uf=127;function mc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw mc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Uf)<<i:(o&Uf)*Math.pow(2,i),i+=7}while(o>=$1);return mc.bytes=s-n,r}});var $f=R((QS,qf)=>{var z1=Math.pow(2,7),H1=Math.pow(2,14),G1=Math.pow(2,21),Y1=Math.pow(2,28),W1=Math.pow(2,35),Q1=Math.pow(2,42),X1=Math.pow(2,49),Z1=Math.pow(2,56),j1=Math.pow(2,63);qf.exports=function(t){return t<z1?1:t<H1?2:t<G1?3:t<Y1?4:t<W1?5:t<Q1?6:t<X1?7:t<Z1?8:t<j1?9:10}});var Fs=R((XS,zf)=>{zf.exports={encode:Ff(),decode:Vf(),encodingLength:$f()}});var Cc=R((CI,o0)=>{"use strict";function s0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Dw(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return s0(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),s0(new i,r)}}o0.exports=Dw});var d0=R((WI,h0)=>{"use strict";var Un=new Map,zw=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function Hw(t,e,r){for(;Un.get(r);){try{await t()}catch(n){setTimeout(()=>{throw n},1);break}if(!Un.get(r))break;await new Promise(n=>{let i=setTimeout(n,e);Un.set(r,i)})}}function Gw(t,e,r){r=r||e;let n=zw(),i=setTimeout(()=>{Hw(t,e,n)},r);return Un.set(n,i),n}function Yw(t){let e=Un.get(t);e&&(clearTimeout(e),Un.delete(t))}h0.exports={setDelayedInterval:Gw,clearDelayedInterval:Yw}});var Ni=R((QI,Bc)=>{"use strict";var Kn=typeof Reflect=="object"?Reflect:null,p0=Kn&&typeof Kn.apply=="function"?Kn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Zs;Kn&&typeof Kn.ownKeys=="function"?Zs=Kn.ownKeys:Object.getOwnPropertySymbols?Zs=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Zs=function(e){return Object.getOwnPropertyNames(e)};function Ww(t){console&&console.warn&&console.warn(t)}var y0=Number.isNaN||function(e){return e!==e};function ae(){ae.init.call(this)}Bc.exports=ae;Bc.exports.once=jw;ae.EventEmitter=ae;ae.prototype._events=void 0;ae.prototype._eventsCount=0;ae.prototype._maxListeners=void 0;var m0=10;function js(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ae,"defaultMaxListeners",{enumerable:!0,get:function(){return m0},set:function(t){if(typeof t!="number"||t<0||y0(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");m0=t}});ae.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ae.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||y0(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function g0(t){return t._maxListeners===void 0?ae.defaultMaxListeners:t._maxListeners}ae.prototype.getMaxListeners=function(){return g0(this)};ae.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")p0(c,this,r);else for(var u=c.length,l=b0(c,u),n=0;n<u;++n)p0(l[n],this,r);return!0};function w0(t,e,r,n){var i,s,o;if(js(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=g0(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,Ww(a)}return t}ae.prototype.addListener=function(e,r){return w0(this,e,r,!1)};ae.prototype.on=ae.prototype.addListener;ae.prototype.prependListener=function(e,r){return w0(this,e,r,!0)};function Qw(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function x0(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Qw.bind(n);return i.listener=r,n.wrapFn=i,i}ae.prototype.once=function(e,r){return js(r),this.on(e,x0(this,e,r)),this};ae.prototype.prependOnceListener=function(e,r){return js(r),this.prependListener(e,x0(this,e,r)),this};ae.prototype.removeListener=function(e,r){var n,i,s,o,a;if(js(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Xw(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};ae.prototype.off=ae.prototype.removeListener;ae.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function v0(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Zw(i):b0(i,i.length)}ae.prototype.listeners=function(e){return v0(this,e,!0)};ae.prototype.rawListeners=function(e){return v0(this,e,!1)};ae.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):E0.call(t,e)};ae.prototype.listenerCount=E0;function E0(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ae.prototype.eventNames=function(){return this._eventsCount>0?Zs(this._events):[]};function b0(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Xw(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function Zw(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function jw(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}_0(t,e,s,{once:!0}),e!=="error"&&Jw(t,i,{once:!0})})}function Jw(t,e,r){typeof t.on=="function"&&_0(t,"error",e,r)}function _0(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var Mi=R((BR,T0)=>{T0.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var P0=R((LR,B0)=>{B0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var D0=R((DR,L0)=>{var ix=P0();L0.exports=ix});var nt=R((kR,N0)=>{N0.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var zn=R((MR,O0)=>{var kc=Mi(),sx=D0(),k0=nt();O0.exports=class extends kc{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new sx}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof kc?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof kc))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new k0(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new k0(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var U0=R((FR,F0)=>{var ox=zn(),ax=nt(),M0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Oc=class extends ox{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:M0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new ax;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(M0,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};F0.exports=Oc});var q0=R((UR,V0)=>{var cx=zn(),ux=nt();function K0(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Fi=class extends cx{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=K0(this.client)}):(this._initCollection(),this._driverVersion=K0(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?Fi.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new ux,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),p={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};V0.exports=Fi});var z0=R((KR,$0)=>{var lx=zn(),fx=nt(),Mc=class extends lx{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new fx,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
2
|
+
"use strict";var Libp2P=(()=>{var og=Object.create;var Ei=Object.defineProperty;var ag=Object.getOwnPropertyDescriptor;var cg=Object.getOwnPropertyNames;var ug=Object.getPrototypeOf,lg=Object.prototype.hasOwnProperty;var fg=(t,e,r)=>e in t?Ei(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ue=(t,e)=>{for(var r in e)Ei(t,r,{get:e[r],enumerable:!0})},cf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cg(e))!lg.call(t,i)&&i!==r&&Ei(t,i,{get:()=>e[i],enumerable:!(n=ag(e,i))||n.enumerable});return t};var V=(t,e,r)=>(r=t!=null?og(ug(t)):{},cf(e||!t||!t.__esModule?Ei(r,"default",{value:t,enumerable:!0}):r,t)),hg=t=>cf(Ei({},"__esModule",{value:!0}),t);var Oa=(t,e,r)=>(fg(t,typeof e!="symbol"?e+"":e,r),r);var Ma=I((k_,uf)=>{var Sn=1e3,An=Sn*60,Rn=An*60,zr=Rn*24,dg=zr*7,pg=zr*365.25;uf.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return mg(t);if(r==="number"&&isFinite(t))return e.long?gg(t):yg(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function mg(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*pg;case"weeks":case"week":case"w":return r*dg;case"days":case"day":case"d":return r*zr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Rn;case"minutes":case"minute":case"mins":case"min":case"m":return r*An;case"seconds":case"second":case"secs":case"sec":case"s":return r*Sn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function yg(t){var e=Math.abs(t);return e>=zr?Math.round(t/zr)+"d":e>=Rn?Math.round(t/Rn)+"h":e>=An?Math.round(t/An)+"m":e>=Sn?Math.round(t/Sn)+"s":t+"ms"}function gg(t){var e=Math.abs(t);return e>=zr?Cs(t,e,zr,"day"):e>=Rn?Cs(t,e,Rn,"hour"):e>=An?Cs(t,e,An,"minute"):e>=Sn?Cs(t,e,Sn,"second"):t+" ms"}function Cs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var ff=I((O_,lf)=>{function xg(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Ma(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,d,p;function m(...y){if(!m.enabled)return;let g=m,w=Number(new Date),_=w-(f||w);g.diff=_,g.prev=f,g.curr=w,f=w,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let D=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(T,H)=>{if(T==="%%")return"%";D++;let W=r.formatters[H];if(typeof W=="function"){let De=y[D];T=W.call(g,De),y.splice(D,1),D--}return T}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==r.namespaces&&(d=r.namespaces,p=r.enabled(l)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}lf.exports=xg});var Fa=I((tt,Ts)=>{tt.formatArgs=vg;tt.save=Eg;tt.load=bg;tt.useColors=wg;tt.storage=_g();tt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();tt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function wg(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function vg(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ts.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}tt.log=console.debug||console.log||(()=>{});function Eg(t){try{t?tt.storage.setItem("debug",t):tt.storage.removeItem("debug")}catch{}}function bg(){let t;try{t=tt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function _g(){try{return localStorage}catch{}}Ts.exports=ff()(tt);var{formatters:Sg}=Ts.exports;Sg.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Uf=I((KS,Ff)=>{Ff.exports=hc;var Mf=128,O1=127,M1=~O1,F1=Math.pow(2,31);function hc(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw hc.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=F1;)e[r++]=t&255|Mf,t/=128;for(;t&M1;)e[r++]=t&255|Mf,t>>>=7;return e[r]=t|0,hc.bytes=r-n+1,e}});var qf=I((VS,Vf)=>{Vf.exports=dc;var U1=128,Kf=127;function dc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw dc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Kf)<<i:(o&Kf)*Math.pow(2,i),i+=7}while(o>=U1);return dc.bytes=s-n,r}});var zf=I((qS,$f)=>{var K1=Math.pow(2,7),V1=Math.pow(2,14),q1=Math.pow(2,21),$1=Math.pow(2,28),z1=Math.pow(2,35),H1=Math.pow(2,42),G1=Math.pow(2,49),Y1=Math.pow(2,56),W1=Math.pow(2,63);$f.exports=function(t){return t<K1?1:t<V1?2:t<q1?3:t<$1?4:t<z1?5:t<H1?6:t<G1?7:t<Y1?8:t<W1?9:10}});var Ns=I(($S,Hf)=>{Hf.exports={encode:Uf(),decode:qf(),encodingLength:zf()}});var Ic=I((bR,a0)=>{"use strict";function o0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Tx(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return o0(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),o0(new i,r)}}a0.exports=Tx});var Di=I((wI,y0)=>{y0.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var x0=I((EI,g0)=>{g0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var v0=I((bI,w0)=>{var Hx=x0();w0.exports=Hx});var nt=I((SI,E0)=>{E0.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var Un=I((RI,_0)=>{var Dc=Di(),Gx=v0(),b0=nt();_0.exports=class extends Dc{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new Gx}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Dc?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof Dc))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new b0(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new b0(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var R0=I((II,A0)=>{var Yx=Un(),Wx=nt(),S0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Nc=class extends Yx{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:S0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new Wx;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(S0,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};A0.exports=Nc});var T0=I((CI,C0)=>{var Qx=Un(),Xx=nt();function I0(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Ni=class extends Qx{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=I0(this.client)}):(this._initCollection(),this._driverVersion=I0(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?Ni.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new Xx,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),p={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};C0.exports=Ni});var P0=I((TI,B0)=>{var Zx=Un(),jx=nt(),kc=class extends Zx{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new jx,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
3
3
|
ON DUPLICATE KEY UPDATE
|
|
4
4
|
points = ?,
|
|
5
5
|
expire = ?;`,h=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
6
6
|
ON DUPLICATE KEY UPDATE
|
|
7
7
|
points = IF(expire <= ?, ?, points + (?)),
|
|
8
|
-
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,d=>{if(d)return e.rollback(),a(d);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return e.rollback(),a(p);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}}
|
|
8
|
+
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,d=>{if(d)return e.rollback(),a(d);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return e.rollback(),a(p);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};B0.exports=kc});var D0=I((BI,L0)=>{var Jx=Un(),ew=nt(),Oc=class extends Jx{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?typeof r=="function"&&r():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
|
|
9
9
|
key varchar(255) PRIMARY KEY,
|
|
10
10
|
points integer NOT NULL DEFAULT 0,
|
|
11
11
|
expire bigint
|
|
12
|
-
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new
|
|
12
|
+
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new ew,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
|
|
13
13
|
WHEN ${this.tableName}.expire <= $4 THEN $3
|
|
14
14
|
ELSE ${this.tableName}.expire
|
|
15
15
|
END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
|
|
@@ -21,20 +21,20 @@
|
|
|
21
21
|
END,
|
|
22
22
|
expire = ${o}
|
|
23
23
|
RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
24
|
-
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};H0.exports=Fc});var Y0=R(()=>{});var tn=R(()=>{});var Q0=R((YR,W0)=>{W0.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Z0=R((QR,X0)=>{var px=Q0(),Uc=nt();X0.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new Uc(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new px(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Uc(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Uc(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Vc=R((XR,J0)=>{var mx=Mi(),yx=Z0(),j0=nt(),Kc=class extends mx{constructor(e={}){super(e),this._memoryStorage=new yx}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new j0(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new j0(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};J0.exports=Kc});var oh=R((ZR,sh)=>{var eh=Y0(),gx=tn(),wx=Mi(),rh=Vc(),xx=nt(),ft="rate_limiter_flexible",Yn=null,th=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:ft,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},nh=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&nh.call(this,t)},30)},Hn=function(t,e,r,n,i){let s={channel:ft,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):nh.call(this,s)},ih=function(t,e){if(!e||e.channel!==ft||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{th(t,e,"resolve",n)}).catch(n=>{th(t,e,"reject",n)})},vx=function(t){if(!t||t.channel!==ft||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new xx(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},Ex=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Gn=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=gx.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},qc=class{constructor(){if(Yn)return Yn;this._rateLimiters={},eh.setMaxListeners(0),eh.on("message",(e,r)=>{r&&r.channel===ft&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new rh(r.opts)),e.send({channel:ft,type:"init",keyPrefix:r.opts.keyPrefix})):ih.call(this,e,r)}),Yn=this}},$c=class{constructor(e){if(Yn)return Yn;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===ft&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new rh(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:ft,channel:ft,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=ft,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};ih.call(this,o,s)}})}),Yn=this}},zc=class extends wx{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===ft&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:vx.call(this,r)}),process.send({channel:ft,type:"init",opts:Ex.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=Gn.call(this,i,s);Hn.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=Gn.call(this,i,s);Hn.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=Gn.call(this,i,s);Hn.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=Gn.call(this,i,s);Hn.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=Gn.call(this,n,i);Hn.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=Gn.call(this,n,i);Hn.call(this,"delete",s,e,r)})}};sh.exports={RateLimiterClusterMaster:qc,RateLimiterClusterMasterPM2:$c,RateLimiterCluster:zc}});var ch=R((jR,ah)=>{var bx=zn(),_x=nt(),Hc=class extends bx{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new _x;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,d)=>{if(h||!d)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(e,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${e}_expire`,(h,d)=>{if(h)a(h);else{let p=d===!1?0:d,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};ah.exports=Hc});var fh=R((eC,lh)=>{var uh=nt();lh.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new uh(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new uh(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var dh=R((rC,hh)=>{var Sx=Mi();hh.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof Sx))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var mh=R((iC,ph)=>{ph.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var xh=R((oC,wh)=>{var yh=mh(),gh=4294967295,Gc="limiter";wh.exports=class{constructor(e,r={maxQueueSize:gh}){this._queueLimiters={KEY_DEFAULT:new so(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Gc){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Gc){return this._queueLimiters[r]||(this._queueLimiters[r]=new so(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var so=class{constructor(e,r={maxQueueSize:gh,key:Gc}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new yh(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new yh(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Eh=R((cC,vh)=>{var Yc=nt();vh.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Yc(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Yc?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Yc?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var _h=R((uC,bh)=>{var Ax=U0(),Ix=q0(),Rx=z0(),Cx=G0(),{RateLimiterClusterMaster:Tx,RateLimiterClusterMasterPM2:Bx,RateLimiterCluster:Px}=oh(),Lx=Vc(),Dx=ch(),Nx=fh(),kx=dh(),Ox=xh(),Mx=Eh(),Fx=nt();bh.exports={RateLimiterRedis:Ax,RateLimiterMongo:Ix,RateLimiterMySQL:Rx,RateLimiterPostgres:Cx,RateLimiterMemory:Lx,RateLimiterMemcache:Dx,RateLimiterClusterMaster:Tx,RateLimiterClusterMasterPM2:Bx,RateLimiterCluster:Px,RLWrapperBlackAndWhite:Nx,RateLimiterUnion:kx,RateLimiterQueue:Ox,BurstyRateLimiter:Mx,RateLimiterRes:Fx}});var Ah=R((PC,Wc)=>{"use strict";var Kx=Object.prototype.hasOwnProperty,Ge="~";function Ui(){}Object.create&&(Ui.prototype=Object.create(null),new Ui().__proto__||(Ge=!1));function Vx(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Sh(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Vx(r,n||t,i),o=Ge?Ge+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function ao(t,e){--t._eventsCount===0?t._events=new Ui:delete t._events[e]}function $e(){this._events=new Ui,this._eventsCount=0}$e.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Kx.call(r,n)&&e.push(Ge?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};$e.prototype.listeners=function(e){var r=Ge?Ge+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};$e.prototype.listenerCount=function(e){var r=Ge?Ge+e:e,n=this._events[r];return n?n.fn?1:n.length:0};$e.prototype.emit=function(e,r,n,i,s,o){var a=Ge?Ge+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c[f].fn.apply(c[f].context,l)}}return!0};$e.prototype.on=function(e,r,n){return Sh(this,e,r,n,!1)};$e.prototype.once=function(e,r,n){return Sh(this,e,r,n,!0)};$e.prototype.removeListener=function(e,r,n,i){var s=Ge?Ge+e:e;if(!this._events[s])return this;if(!r)return ao(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ao(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:ao(this,s)}return this};$e.prototype.removeAllListeners=function(e){var r;return e?(r=Ge?Ge+e:e,this._events[r]&&ao(this,r)):(this._events=new Ui,this._eventsCount=0),this};$e.prototype.off=$e.prototype.removeListener;$e.prototype.addListener=$e.prototype.on;$e.prefixed=Ge;$e.EventEmitter=$e;typeof Wc<"u"&&(Wc.exports=$e)});var kh=R(Yi=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,d,p;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=e(c),d=p[0],l=p[1],c=c.substring(l),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,h,d;for(h=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===d)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,d,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Yi.ip2long=o,Yi.long2ip=a,Yi.Netmask=t}).call(Yi)});var Uh=R((Fh,vo)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(d,p){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],x,_;for(g&&(g=g.substring(1),d=d.replace(/%.+$/,""));(y=d.indexOf(":",y+1))>=0;)m++;if(d.substr(0,2)==="::"&&m--,d.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,x=":";_--;)x+="0:";return d=d.replace("::",x),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),p=function(){let N=d.split(":"),C=[];for(let T=0;T<N.length;T++)C.push(parseInt(N[T],16));return C}(),{parts:p,zoneId:g}}function u(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),d[g]>>x!==p[g]>>x)return!1;y-=m,g+=1}return!0}function l(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function f(d,p){for(;d.length<p;)d=`0${d}`;return d}let h={};h.IPv4=function(){function d(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,_;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(_=y[x],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let p,m,y,g,x;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),x=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){let p=this.parser(d);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},h.IPv4.parseCIDR=function(d){let p;if(p=d.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let p,m,y;if(p=d.match(r.fourOctet))return function(){let g=p.slice(1,6),x=[];for(let _=0;_<g.length;_++)m=g[_],x.push(l(m));return x}();if(p=d.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(p=d.match(r.twoOctet))?function(){let g=p.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(p=d.match(r.threeOctet))?function(){let g=p.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.IPv6=function(){function d(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),p+=x}else return null;return 128-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},d.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},d.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=p.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let p=this.parser(d);return new this(p.parts,p.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(d){let p,m,y,g,x;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),x=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},h.IPv6.parse=function(d){let p=this.parser(d);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},h.IPv6.parseCIDR=function(d){let p,m,y;if((m=d.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let p,m,y,g,x,_;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return p.parts.push(x[0]<<8|x[1]),p.parts.push(x[2]<<8|x[3]),{parts:p.parts,zoneId:p.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.fromByteArray=function(d){let p=d.length;if(p===4)return new h.IPv4(d);if(p===16)return new h.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(d){return h.IPv6.isValid(d)||h.IPv4.isValid(d)},h.parse=function(d){if(h.IPv6.isValid(d))return h.IPv6.parse(d);if(h.IPv4.isValid(d))return h.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(d){try{return h.IPv6.parseCIDR(d)}catch{try{return h.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(d){let p=this.parse(d);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},h.subnetMatch=function(d,p,m){let y,g,x,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(x=p[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(_=x[y],d.kind()===_[0].kind()&&d.match.apply(d,_))return g}return m},typeof vo<"u"&&vo.exports?vo.exports=h:t.ipaddr=h})(Fh)});var Yh=R((r4,Gh)=>{"use strict";Gh.exports=Hh;var Zx=Ua(),Sr=Hh.prototype,jx=new Date%1e9;function Jx(){return(Math.random()*1e9>>>0)+jx++}function Hh(t){t=t||{},this.id=t.id||Jx(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Sr.has=function(t){return t in this._lookup};Sr.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Sr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Sr.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Sr.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Sr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Zx(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Sr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Sr.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var id=R((Q4,nd)=>{"use strict";function c2(t){return t>=55296&&t<=56319}function u2(t){return t>=56320&&t<=57343}nd.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],c2(o)&&u2(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var od=R((X4,sd)=>{"use strict";function l2(t){return t>=55296&&t<=56319}function f2(t){return t>=56320&&t<=57343}sd.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),f2(i)?s!=null&&l2(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var cd=R((Z4,ad)=>{"use strict";var h2=id(),d2=od();ad.exports=h2.bind(null,d2)});var fd=R((j4,ld)=>{"use strict";var p2=cd(),m2=/[\/\?<>\\:\*\|"]/g,y2=/[\x00-\x1f\x80-\x9f]/g,g2=/^\.+$/,w2=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,x2=/[\. ]+$/;function ud(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(m2,e).replace(y2,e).replace(g2,e).replace(w2,e).replace(x2,e);return p2(r,255)}ld.exports=function(t,e){var r=e&&e.replacement||"",n=ud(t,r);return r===""?n:ud(n,"")}});var dd=R((J4,hd)=>{"use strict";hd.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var xd=R((gd,wd)=>{"use strict";var Ao=dd(),{hasOwnProperty:md}=Object.prototype,{propertyIsEnumerable:v2}=Object,Jn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),E2=gd,pd={concatArrays:!1,ignoreUndefined:!1},Io=t=>{let e=[];for(let r in t)md.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)v2.call(t,n)&&e.push(n)}return e};function ei(t){return Array.isArray(t)?b2(t):Ao(t)?_2(t):t}function b2(t){let e=t.slice(0,0);return Io(t).forEach(r=>{Jn(e,r,ei(t[r]))}),e}function _2(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Io(t).forEach(r=>{Jn(e,r,ei(t[r]))}),e}var yd=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Jn(t,i,mu(t[i],e[i],n)):Jn(t,i,ei(e[i])))}),t),S2=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)md.call(s,a)&&(o.push(String(a)),s===t?Jn(n,i++,s[a]):Jn(n,i++,ei(s[a])));n=yd(n,s,Io(s).filter(a=>!o.includes(a)),r)}),n};function mu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?S2(t,e,r):!Ao(e)||!Ao(t)?ei(e):yd(t,e,Io(e),r)}wd.exports=function(...t){let e=mu(ei(pd),this!==E2&&this||{},pd),r={_:{}};for(let n of t)if(n!==void 0){if(!Ao(n))throw new TypeError("`"+n+"` is not an Option Object");r=mu(r,{_:n},e)}return r._}});var bd=R((rT,Ed)=>{"use strict";Ed.exports=A2;function A2(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var Id=R(Ad=>{"use strict";var Ro=Ad;Ro.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var ti=new Array(64),Sd=new Array(123);for(It=0;It<64;)Sd[ti[It]=It<26?It+65:It<52?It+71:It<62?It-4:It-59|43]=It++;var It;Ro.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=ti[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=ti[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=ti[c|u>>6],s[o++]=ti[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=ti[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var _d="invalid encoding";Ro.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=Sd[c])===void 0)throw Error(_d);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(_d);return n-i};Ro.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Cd=R((iT,Rd)=>{"use strict";Rd.exports=Co;function Co(){this._listeners={}}Co.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Co.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Co.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var kd=R((sT,Nd)=>{"use strict";Nd.exports=Td(Td);function Td(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,Bd),t.writeFloatBE=e.bind(null,Pd);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,Ld),t.readFloatBE=r.bind(null,Dd)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,Bd,0,4),t.writeDoubleBE=e.bind(null,Pd,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,Ld,0,4),t.readDoubleBE=r.bind(null,Dd,4,0)}(),t}function Bd(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Pd(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Ld(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Dd(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Od=R((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Fd=R(Md=>{"use strict";var yu=Md;yu.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};yu.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};yu.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var Kd=R((aT,Ud)=>{"use strict";Ud.exports=I2;function I2(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var qd=R((cT,Vd)=>{"use strict";Vd.exports=Ne;var Xi=on();function Ne(t,e){this.lo=t>>>0,this.hi=e>>>0}var sn=Ne.zero=new Ne(0,0);sn.toNumber=function(){return 0};sn.zzEncode=sn.zzDecode=function(){return this};sn.length=function(){return 1};var R2=Ne.zeroHash="\0\0\0\0\0\0\0\0";Ne.fromNumber=function(e){if(e===0)return sn;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ne(n,i)};Ne.from=function(e){if(typeof e=="number")return Ne.fromNumber(e);if(Xi.isString(e))if(Xi.Long)e=Xi.Long.fromString(e);else return Ne.fromNumber(parseInt(e,10));return e.low||e.high?new Ne(e.low>>>0,e.high>>>0):sn};Ne.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ne.prototype.toLong=function(e){return Xi.Long?new Xi.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Ir=String.prototype.charCodeAt;Ne.fromHash=function(e){return e===R2?sn:new Ne((Ir.call(e,0)|Ir.call(e,1)<<8|Ir.call(e,2)<<16|Ir.call(e,3)<<24)>>>0,(Ir.call(e,4)|Ir.call(e,5)<<8|Ir.call(e,6)<<16|Ir.call(e,7)<<24)>>>0)};Ne.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ne.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Ne.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Ne.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var on=R(gu=>{"use strict";var O=gu;O.asPromise=bd();O.base64=Id();O.EventEmitter=Cd();O.float=kd();O.inquire=Od();O.utf8=Fd();O.pool=Kd();O.LongBits=qd();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||gu;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function $d(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=$d;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function zd(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&$d(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=zd;O.ProtocolError=zd("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var vu=R((lT,Qd)=>{"use strict";Qd.exports=Ce;var Ot=on(),xu,Yd=Ot.LongBits,C2=Ot.utf8;function Rt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Ce(t){this.buf=t,this.pos=0,this.len=t.length}var Hd=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Ce(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Ce(e);throw Error("illegal buffer")},Wd=function(){return Ot.Buffer?function(r){return(Ce.create=function(i){return Ot.Buffer.isBuffer(i)?new xu(i):Hd(i)})(r)}:Hd};Ce.create=Wd();Ce.prototype._slice=Ot.Array.prototype.subarray||Ot.Array.prototype.slice;Ce.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Rt(this,10);return e}}();Ce.prototype.int32=function(){return this.uint32()|0};Ce.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function wu(){var t=new Yd(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Rt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Rt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Ce.prototype.bool=function(){return this.uint32()!==0};function To(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Ce.prototype.fixed32=function(){if(this.pos+4>this.len)throw Rt(this,4);return To(this.buf,this.pos+=4)};Ce.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Rt(this,4);return To(this.buf,this.pos+=4)|0};function Gd(){if(this.pos+8>this.len)throw Rt(this,8);return new Yd(To(this.buf,this.pos+=4),To(this.buf,this.pos+=4))}Ce.prototype.float=function(){if(this.pos+4>this.len)throw Rt(this,4);var e=Ot.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Ce.prototype.double=function(){if(this.pos+8>this.len)throw Rt(this,4);var e=Ot.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Ce.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Rt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Ce.prototype.string=function(){var e=this.bytes();return C2.read(e,0,e.length)};Ce.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Rt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Rt(this);while(this.buf[this.pos++]&128);return this};Ce.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Ce._configure=function(t){xu=t,Ce.create=Wd(),xu._configure();var e=Ot.Long?"toLong":"toNumber";Ot.merge(Ce.prototype,{int64:function(){return wu.call(this)[e](!1)},uint64:function(){return wu.call(this)[e](!0)},sint64:function(){return wu.call(this).zzDecode()[e](!1)},fixed64:function(){return Gd.call(this)[e](!0)},sfixed64:function(){return Gd.call(this)[e](!1)}})}});var Jd=R((fT,jd)=>{"use strict";jd.exports=an;var Zd=vu();(an.prototype=Object.create(Zd.prototype)).constructor=an;var Xd=on();function an(t){Zd.call(this,t)}an._configure=function(){Xd.Buffer&&(an.prototype._slice=Xd.Buffer.prototype.slice)};an.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};an._configure()});var Ru=R((hT,np)=>{"use strict";np.exports=J;var ht=on(),Eu,Bo=ht.LongBits,ep=ht.base64,tp=ht.utf8;function Zi(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function _u(){}function T2(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function J(){this.len=0,this.head=new Zi(_u,0,0),this.tail=this.head,this.states=null}var rp=function(){return ht.Buffer?function(){return(J.create=function(){return new Eu})()}:function(){return new J}};J.create=rp();J.alloc=function(e){return new ht.Array(e)};ht.Array!==Array&&(J.alloc=ht.pool(J.alloc,ht.Array.prototype.subarray));J.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Zi(e,r,n),this.len+=r,this};function Su(t,e,r){e[r]=t&255}function B2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Au(t,e){this.len=t,this.next=void 0,this.val=e}Au.prototype=Object.create(Zi.prototype);Au.prototype.fn=B2;J.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Au((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};J.prototype.int32=function(e){return e<0?this._push(Iu,10,Bo.fromNumber(e)):this.uint32(e)};J.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Iu(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}J.prototype.uint64=function(e){var r=Bo.from(e);return this._push(Iu,r.length(),r)};J.prototype.int64=J.prototype.uint64;J.prototype.sint64=function(e){var r=Bo.from(e).zzEncode();return this._push(Iu,r.length(),r)};J.prototype.bool=function(e){return this._push(Su,1,e?1:0)};function bu(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}J.prototype.fixed32=function(e){return this._push(bu,4,e>>>0)};J.prototype.sfixed32=J.prototype.fixed32;J.prototype.fixed64=function(e){var r=Bo.from(e);return this._push(bu,4,r.lo)._push(bu,4,r.hi)};J.prototype.sfixed64=J.prototype.fixed64;J.prototype.float=function(e){return this._push(ht.float.writeFloatLE,4,e)};J.prototype.double=function(e){return this._push(ht.float.writeDoubleLE,8,e)};var P2=ht.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};J.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Su,1,0);if(ht.isString(e)){var n=J.alloc(r=ep.length(e));ep.decode(e,n,0),e=n}return this.uint32(r)._push(P2,r,e)};J.prototype.string=function(e){var r=tp.length(e);return r?this.uint32(r)._push(tp.write,r,e):this._push(Su,1,0)};J.prototype.fork=function(){return this.states=new T2(this),this.head=this.tail=new Zi(_u,0,0),this.len=0,this};J.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Zi(_u,0,0),this.len=0),this};J.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};J.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};J._configure=function(t){Eu=t,J.create=rp(),Eu._configure()}});var op=R((dT,sp)=>{"use strict";sp.exports=Mt;var ip=Ru();(Mt.prototype=Object.create(ip.prototype)).constructor=Mt;var Rr=on();function Mt(){ip.call(this)}Mt._configure=function(){Mt.alloc=Rr._Buffer_allocUnsafe,Mt.writeBytesBuffer=Rr.Buffer&&Rr.Buffer.prototype instanceof Uint8Array&&Rr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Mt.prototype.bytes=function(e){Rr.isString(e)&&(e=Rr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Mt.writeBytesBuffer,r,e),this};function L2(t,e,r){t.length<40?Rr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Mt.prototype.string=function(e){var r=Rr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(L2,r,e),this};Mt._configure()});var se=R((PT,fp)=>{fp.exports={options:{usePureJavaScript:!1}}});var pp=R((LT,dp)=>{var Nu={};dp.exports=Nu;var hp={};Nu.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=O2(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
25
|
-
`)}return n};Nu.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=hp[e];if(!r){r=hp[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function O2(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Te=R((DT,wp)=>{var mp=se(),yp=pp(),w=wp.exports=mp.util=mp.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function ji(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=ku;function ku(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof ku||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=ku;var M2=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>M2&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){ji(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){ji(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function F2(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=F2;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){ji(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return ji(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){ji(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Tr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],gp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=Cr.charAt(i>>2),r+=Cr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Cr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Cr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
26
|
-
`,r=r.substr(e));return n+=r,n};
|
|
27
|
-
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=Tr[t.charCodeAt(c++)-43],s=Tr[t.charCodeAt(c++)-43],o=Tr[t.charCodeAt(c++)-43],a=Tr[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,gp,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,gp,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var Ou=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Mu=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},U2=function(t,e,r,n){var i=Mu(t,e);i===null&&(i={}),i[r]=n,Ou(t,e,i)},K2=function(t,e,r){var n=Mu(t,e);return n!==null&&(n=r in n?n[r]:null),n},V2=function(t,e,r){var n=Mu(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),Ou(t,e,n)}},q2=function(t,e){Ou(t,e,null)},Do=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(t,e,r,n,i){Do(U2,arguments,i)};w.getItem=function(t,e,r,n){return Do(K2,arguments,n)};w.removeItem=function(t,e,r,n){Do(V2,arguments,n)};w.clearItems=function(t,e,r){Do(q2,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};w.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=w.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var d=0;d<o;++d)c[d].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],h=0;h<o;++h)if(u!==h){var d=a[h];(l.st>d.st&&l.st<d.et||d.st>l.st&&d.st<l.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var No=R((NT,xp)=>{var Ji=se();Ji.pki=Ji.pki||{};var Fu=xp.exports=Ji.pki.oids=Ji.oids=Ji.oids||{};function I(t,e){Fu[t]=e,Fu[e]=t}function ie(t,e){Fu[t]=e}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var ts=R((kT,Ep)=>{var fe=se();Te();No();var B=Ep.exports=fe.asn1=fe.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};B.create=function(t,e,r,n,i){if(fe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||fe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(fe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(fe.util.isArray(t)){if(!fe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function es(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var $2=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;es(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.length(),n=ko(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function ko(t,e,r,n){var i;es(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=$2(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,h=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(es(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(ko(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(ko(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=t.read,p=e,m=0;if(a===B.Type.BITSTRING&&(es(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=ko(t,e,r+1,y),x=i-t.length();e-=x,a==B.Type.BITSTRING&&x++;var _=g.tagClass;x===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=d,e=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===B.Type.BMPSTRING)for(l="";c>0;c-=2)es(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var N=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,l,N)}B.toDer=function(t){var e=fe.util.createBuffer(),r=t.tagClass|t.type,n=fe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(B.toDer(t.value[s]))}else if(t.type===B.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===B.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};B.oidToDer=function(t){var e=t.split("."),r=fe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};B.derToOid=function(t){var e;typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};B.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var d=parseInt(t.substr(f+1,2),10),p=parseInt(t.substr(f+4,2),10);u=d*60+p,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};B.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.integerToDer=function(t){var e=fe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};B.derToInteger=function(t){typeof t=="string"&&(t=fe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};B.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&fe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=B.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var vp=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
24
|
+
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};L0.exports=Oc});var N0=I(()=>{});var jr=I(()=>{});var O0=I((OI,k0)=>{k0.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var F0=I((FI,M0)=>{var tw=O0(),Mc=nt();M0.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new Mc(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new tw(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Mc(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Mc(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Uc=I((UI,K0)=>{var rw=Di(),nw=F0(),U0=nt(),Fc=class extends rw{constructor(e={}){super(e),this._memoryStorage=new nw}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new U0(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new U0(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};K0.exports=Fc});var Y0=I((KI,G0)=>{var V0=N0(),iw=jr(),sw=Di(),$0=Uc(),ow=nt(),ft="rate_limiter_flexible",qn=null,q0=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:ft,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},z0=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&z0.call(this,t)},30)},Kn=function(t,e,r,n,i){let s={channel:ft,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):z0.call(this,s)},H0=function(t,e){if(!e||e.channel!==ft||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{q0(t,e,"resolve",n)}).catch(n=>{q0(t,e,"reject",n)})},aw=function(t){if(!t||t.channel!==ft||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new ow(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},cw=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Vn=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=iw.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Kc=class{constructor(){if(qn)return qn;this._rateLimiters={},V0.setMaxListeners(0),V0.on("message",(e,r)=>{r&&r.channel===ft&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new $0(r.opts)),e.send({channel:ft,type:"init",keyPrefix:r.opts.keyPrefix})):H0.call(this,e,r)}),qn=this}},Vc=class{constructor(e){if(qn)return qn;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===ft&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new $0(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:ft,channel:ft,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=ft,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};H0.call(this,o,s)}})}),qn=this}},qc=class extends sw{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===ft&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:aw.call(this,r)}),process.send({channel:ft,type:"init",opts:cw.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=Vn.call(this,n,i);Kn.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=Vn.call(this,n,i);Kn.call(this,"delete",s,e,r)})}};G0.exports={RateLimiterClusterMaster:Kc,RateLimiterClusterMasterPM2:Vc,RateLimiterCluster:qc}});var Q0=I((VI,W0)=>{var uw=Un(),lw=nt(),$c=class extends uw{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new lw;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,d)=>{if(h||!d)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(e,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${e}_expire`,(h,d)=>{if(h)a(h);else{let p=d===!1?0:d,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};W0.exports=$c});var j0=I(($I,Z0)=>{var X0=nt();Z0.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new X0(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new X0(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var eh=I((HI,J0)=>{var fw=Di();J0.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof fw))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var rh=I((YI,th)=>{th.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var oh=I((QI,sh)=>{var nh=rh(),ih=4294967295,zc="limiter";sh.exports=class{constructor(e,r={maxQueueSize:ih}){this._queueLimiters={KEY_DEFAULT:new Js(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=zc){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=zc){return this._queueLimiters[r]||(this._queueLimiters[r]=new Js(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Js=class{constructor(e,r={maxQueueSize:ih,key:zc}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new nh(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new nh(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var ch=I((ZI,ah)=>{var Hc=nt();ah.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Hc(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Hc?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Hc?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var lh=I((jI,uh)=>{var hw=R0(),dw=T0(),pw=P0(),mw=D0(),{RateLimiterClusterMaster:yw,RateLimiterClusterMasterPM2:gw,RateLimiterCluster:xw}=Y0(),ww=Uc(),vw=Q0(),Ew=j0(),bw=eh(),_w=oh(),Sw=ch(),Aw=nt();uh.exports={RateLimiterRedis:hw,RateLimiterMongo:dw,RateLimiterMySQL:pw,RateLimiterPostgres:mw,RateLimiterMemory:ww,RateLimiterMemcache:vw,RateLimiterClusterMaster:yw,RateLimiterClusterMasterPM2:gw,RateLimiterCluster:xw,RLWrapperBlackAndWhite:Ew,RateLimiterUnion:bw,RateLimiterQueue:_w,BurstyRateLimiter:Sw,RateLimiterRes:Aw}});var hh=I((v4,Gc)=>{"use strict";var Iw=Object.prototype.hasOwnProperty,Ge="~";function ki(){}Object.create&&(ki.prototype=Object.create(null),new ki().__proto__||(Ge=!1));function Cw(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function fh(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Cw(r,n||t,i),o=Ge?Ge+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function to(t,e){--t._eventsCount===0?t._events=new ki:delete t._events[e]}function $e(){this._events=new ki,this._eventsCount=0}$e.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Iw.call(r,n)&&e.push(Ge?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};$e.prototype.listeners=function(e){var r=Ge?Ge+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};$e.prototype.listenerCount=function(e){var r=Ge?Ge+e:e,n=this._events[r];return n?n.fn?1:n.length:0};$e.prototype.emit=function(e,r,n,i,s,o){var a=Ge?Ge+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c[f].fn.apply(c[f].context,l)}}return!0};$e.prototype.on=function(e,r,n){return fh(this,e,r,n,!1)};$e.prototype.once=function(e,r,n){return fh(this,e,r,n,!0)};$e.prototype.removeListener=function(e,r,n,i){var s=Ge?Ge+e:e;if(!this._events[s])return this;if(!r)return to(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&to(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:to(this,s)}return this};$e.prototype.removeAllListeners=function(e){var r;return e?(r=Ge?Ge+e:e,this._events[r]&&to(this,r)):(this._events=new ki,this._eventsCount=0),this};$e.prototype.off=$e.prototype.removeListener;$e.prototype.addListener=$e.prototype.on;$e.prefixed=Ge;$e.EventEmitter=$e;typeof Gc<"u"&&(Gc.exports=$e)});var bh=I($i=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,d,p;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=e(c),d=p[0],l=p[1],c=c.substring(l),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,h,d;for(h=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===d)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,d,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),$i.ip2long=o,$i.long2ip=a,$i.Netmask=t}).call($i)});var Rh=I((Ah,po)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(d,p){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],w,_;for(g&&(g=g.substring(1),d=d.replace(/%.+$/,""));(y=d.indexOf(":",y+1))>=0;)m++;if(d.substr(0,2)==="::"&&m--,d.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,w=":";_--;)w+="0:";return d=d.replace("::",w),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),p=function(){let D=d.split(":"),C=[];for(let T=0;T<D.length;T++)C.push(parseInt(D[T],16));return C}(),{parts:p,zoneId:g}}function u(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,w;for(;y>0;){if(w=m-y,w<0&&(w=0),d[g]>>w!==p[g]>>w)return!1;y-=m,g+=1}return!0}function l(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function f(d,p){for(;d.length<p;)d=`0${d}`;return d}let h={};h.IPv4=function(){function d(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,w,_;for(g=3;g>=0;g-=1)if(w=this.octets[g],w in y){if(_=y[w],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],w=0;for(;w<4;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let p,m,y,g,w;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),w=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(w[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){let p=this.parser(d);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},h.IPv4.parseCIDR=function(d){let p;if(p=d.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let p,m,y;if(p=d.match(r.fourOctet))return function(){let g=p.slice(1,6),w=[];for(let _=0;_<g.length;_++)m=g[_],w.push(l(m));return w}();if(p=d.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],w;for(w=0;w<=24;w+=8)g.push(y>>w&255);return g}().reverse()}else return(p=d.match(r.twoOctet))?function(){let g=p.slice(1,4),w=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(y>>16&255),w.push(y>>8&255),w.push(y&255),w}():(p=d.match(r.threeOctet))?function(){let g=p.slice(1,5),w=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(l(g[1])),w.push(y>>8&255),w.push(y&255),w}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.IPv6=function(){function d(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,w;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(w=y[g],m&&w!==0)return null;w!==16&&(m=!0),p+=w}else return null;return 128-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},d.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},d.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,w;for(;w=p.exec(m);)w[0].length>g&&(y=w.index,g=w[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],w=0;for(;w<16;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let p=this.parser(d);return new this(p.parts,p.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(d){let p,m,y,g,w;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),w=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(w[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},h.IPv6.parse=function(d){let p=this.parser(d);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},h.IPv6.parseCIDR=function(d){let p,m,y;if((m=d.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let p,m,y,g,w,_;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(w=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<w.length;m++)if(g=w[m],!(0<=g&&g<=255))return null;return p.parts.push(w[0]<<8|w[1]),p.parts.push(w[2]<<8|w[3]),{parts:p.parts,zoneId:p.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.fromByteArray=function(d){let p=d.length;if(p===4)return new h.IPv4(d);if(p===16)return new h.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(d){return h.IPv6.isValid(d)||h.IPv4.isValid(d)},h.parse=function(d){if(h.IPv6.isValid(d))return h.IPv6.parse(d);if(h.IPv4.isValid(d))return h.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(d){try{return h.IPv6.parseCIDR(d)}catch{try{return h.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(d){let p=this.parse(d);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},h.subnetMatch=function(d,p,m){let y,g,w,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(w=p[g],w[0]&&!(w[0]instanceof Array)&&(w=[w]),y=0;y<w.length;y++)if(_=w[y],d.kind()===_[0].kind()&&d.match.apply(d,_))return g}return m},typeof po<"u"&&po.exports?po.exports=h:t.ipaddr=h})(Ah)});var Dh=I((H4,Lh)=>{"use strict";Lh.exports=Ph;var Fw=Ma(),br=Ph.prototype,Uw=new Date%1e9;function Kw(){return(Math.random()*1e9>>>0)+Uw++}function Ph(t){t=t||{},this.id=t.id||Kw(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}br.has=function(t){return t in this._lookup};br.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};br.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};br.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};br.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};br.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Fw(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};br.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};br.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var zi=I((nC,au)=>{"use strict";var Yn=typeof Reflect=="object"?Reflect:null,Uh=Yn&&typeof Yn.apply=="function"?Yn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},go;Yn&&typeof Yn.ownKeys=="function"?go=Yn.ownKeys:Object.getOwnPropertySymbols?go=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:go=function(e){return Object.getOwnPropertyNames(e)};function $w(t){console&&console.warn&&console.warn(t)}var Vh=Number.isNaN||function(e){return e!==e};function ae(){ae.init.call(this)}au.exports=ae;au.exports.once=Yw;ae.EventEmitter=ae;ae.prototype._events=void 0;ae.prototype._eventsCount=0;ae.prototype._maxListeners=void 0;var Kh=10;function xo(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ae,"defaultMaxListeners",{enumerable:!0,get:function(){return Kh},set:function(t){if(typeof t!="number"||t<0||Vh(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Kh=t}});ae.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ae.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Vh(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function qh(t){return t._maxListeners===void 0?ae.defaultMaxListeners:t._maxListeners}ae.prototype.getMaxListeners=function(){return qh(this)};ae.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")Uh(c,this,r);else for(var u=c.length,l=Yh(c,u),n=0;n<u;++n)Uh(l[n],this,r);return!0};function $h(t,e,r,n){var i,s,o;if(xo(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=qh(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,$w(a)}return t}ae.prototype.addListener=function(e,r){return $h(this,e,r,!1)};ae.prototype.on=ae.prototype.addListener;ae.prototype.prependListener=function(e,r){return $h(this,e,r,!0)};function zw(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function zh(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=zw.bind(n);return i.listener=r,n.wrapFn=i,i}ae.prototype.once=function(e,r){return xo(r),this.on(e,zh(this,e,r)),this};ae.prototype.prependOnceListener=function(e,r){return xo(r),this.prependListener(e,zh(this,e,r)),this};ae.prototype.removeListener=function(e,r){var n,i,s,o,a;if(xo(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Hw(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};ae.prototype.off=ae.prototype.removeListener;ae.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Hh(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Gw(i):Yh(i,i.length)}ae.prototype.listeners=function(e){return Hh(this,e,!0)};ae.prototype.rawListeners=function(e){return Hh(this,e,!1)};ae.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Gh.call(t,e)};ae.prototype.listenerCount=Gh;function Gh(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ae.prototype.eventNames=function(){return this._eventsCount>0?go(this._events):[]};function Yh(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Hw(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function Gw(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Yw(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}Wh(t,e,s,{once:!0}),e!=="error"&&Ww(t,i,{once:!0})})}function Ww(t,e,r){typeof t.on=="function"&&Wh(t,"error",e,r)}function Wh(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var ed=I((KC,Jh)=>{"use strict";function t2(t){return t>=55296&&t<=56319}function r2(t){return t>=56320&&t<=57343}Jh.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],t2(o)&&r2(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var rd=I((VC,td)=>{"use strict";function n2(t){return t>=55296&&t<=56319}function i2(t){return t>=56320&&t<=57343}td.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),i2(i)?s!=null&&n2(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var id=I((qC,nd)=>{"use strict";var s2=ed(),o2=rd();nd.exports=s2.bind(null,o2)});var ad=I(($C,od)=>{"use strict";var a2=id(),c2=/[\/\?<>\\:\*\|"]/g,u2=/[\x00-\x1f\x80-\x9f]/g,l2=/^\.+$/,f2=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,h2=/[\. ]+$/;function sd(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(c2,e).replace(u2,e).replace(l2,e).replace(f2,e).replace(h2,e);return a2(r,255)}od.exports=function(t,e){var r=e&&e.replacement||"",n=sd(t,r);return r===""?n:sd(n,"")}});var ud=I((zC,cd)=>{"use strict";cd.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var md=I((dd,pd)=>{"use strict";var bo=ud(),{hasOwnProperty:fd}=Object.prototype,{propertyIsEnumerable:d2}=Object,Xn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),p2=dd,ld={concatArrays:!1,ignoreUndefined:!1},_o=t=>{let e=[];for(let r in t)fd.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)d2.call(t,n)&&e.push(n)}return e};function Zn(t){return Array.isArray(t)?m2(t):bo(t)?y2(t):t}function m2(t){let e=t.slice(0,0);return _o(t).forEach(r=>{Xn(e,r,Zn(t[r]))}),e}function y2(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return _o(t).forEach(r=>{Xn(e,r,Zn(t[r]))}),e}var hd=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Xn(t,i,mu(t[i],e[i],n)):Xn(t,i,Zn(e[i])))}),t),g2=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)fd.call(s,a)&&(o.push(String(a)),s===t?Xn(n,i++,s[a]):Xn(n,i++,Zn(s[a])));n=hd(n,s,_o(s).filter(a=>!o.includes(a)),r)}),n};function mu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?g2(t,e,r):!bo(e)||!bo(t)?Zn(e):hd(t,e,_o(e),r)}pd.exports=function(...t){let e=mu(Zn(ld),this!==p2&&this||{},ld),r={_:{}};for(let n of t)if(n!==void 0){if(!bo(n))throw new TypeError("`"+n+"` is not an Option Object");r=mu(r,{_:n},e)}return r._}});var se=I((YC,gd)=>{gd.exports={options:{usePureJavaScript:!1}}});var vd=I((WC,wd)=>{var yu={};wd.exports=yu;var xd={};yu.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=x2(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
25
|
+
`)}return n};yu.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=xd[e];if(!r){r=xd[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function x2(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Ce=I((QC,Sd)=>{var Ed=se(),bd=vd(),x=Sd.exports=Ed.util=Ed.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Yi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=gu;function gu(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof gu||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=gu;var w2=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>w2&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};x.ByteStringBuffer.prototype.putInt=function(t,e){Yi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};x.ByteStringBuffer.prototype.getInt=function(t){Yi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function v2(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}x.DataBuffer=v2;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof x.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){Yi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return Yi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){Yi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};x.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Sr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ar=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],_d="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Sr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Sr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
26
|
+
`,r=r.substr(e));return n+=r,n};x.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=Ar[t.charCodeAt(o++)-43],n=Ar[t.charCodeAt(o++)-43],i=Ar[t.charCodeAt(o++)-43],s=Ar[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};x.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};x.decodeUtf8=function(t){return decodeURIComponent(escape(t))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:bd.encode,decode:bd.decode}};x.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};x.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};x.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Sr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Sr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
27
|
+
`,r=r.substr(e));return n+=r,n};x.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=Ar[t.charCodeAt(c++)-43],s=Ar[t.charCodeAt(c++)-43],o=Ar[t.charCodeAt(c++)-43],a=Ar[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,_d,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,_d,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var xu=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},wu=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},E2=function(t,e,r,n){var i=wu(t,e);i===null&&(i={}),i[r]=n,xu(t,e,i)},b2=function(t,e,r){var n=wu(t,e);return n!==null&&(n=r in n?n[r]:null),n},_2=function(t,e,r){var n=wu(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),xu(t,e,n)}},S2=function(t,e){xu(t,e,null)},So=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){So(E2,arguments,i)};x.getItem=function(t,e,r,n){return So(b2,arguments,n)};x.removeItem=function(t,e,r,n){So(_2,arguments,n)};x.clearItems=function(t,e,r){So(S2,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};x.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=x.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};x.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=x.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var d=0;d<o;++d)c[d].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],h=0;h<o;++h)if(u!==h){var d=a[h];(l.st>d.st&&l.st<d.et||d.st>l.st&&d.st<l.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Ao=I((XC,Ad)=>{var Wi=se();Wi.pki=Wi.pki||{};var vu=Ad.exports=Wi.pki.oids=Wi.oids=Wi.oids||{};function R(t,e){vu[t]=e,vu[e]=t}function ie(t,e){vu[t]=e}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");R("1.3.6.1.4.1.11129.2.4.2","timestampList");R("1.3.6.1.5.5.7.1.1","authorityInfoAccess");R("1.3.6.1.5.5.7.3.1","serverAuth");R("1.3.6.1.5.5.7.3.2","clientAuth");R("1.3.6.1.5.5.7.3.3","codeSigning");R("1.3.6.1.5.5.7.3.4","emailProtection");R("1.3.6.1.5.5.7.3.8","timeStamping")});var Xi=I((ZC,Id)=>{var fe=se();Ce();Ao();var B=Id.exports=fe.asn1=fe.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};B.create=function(t,e,r,n,i){if(fe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||fe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(fe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(fe.util.isArray(t)){if(!fe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Qi(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var A2=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;Qi(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.length(),n=Ro(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function Ro(t,e,r,n){var i;Qi(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=A2(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,h=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Qi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Ro(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Ro(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=t.read,p=e,m=0;if(a===B.Type.BITSTRING&&(Qi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Ro(t,e,r+1,y),w=i-t.length();e-=w,a==B.Type.BITSTRING&&w++;var _=g.tagClass;w===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=d,e=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===B.Type.BMPSTRING)for(l="";c>0;c-=2)Qi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var D=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,l,D)}B.toDer=function(t){var e=fe.util.createBuffer(),r=t.tagClass|t.type,n=fe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(B.toDer(t.value[s]))}else if(t.type===B.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===B.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};B.oidToDer=function(t){var e=t.split("."),r=fe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};B.derToOid=function(t){var e;typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};B.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var d=parseInt(t.substr(f+1,2),10),p=parseInt(t.substr(f+4,2),10);u=d*60+p,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};B.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.integerToDer=function(t){var e=fe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};B.derToInteger=function(t){typeof t=="string"&&(t=fe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};B.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&fe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=B.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Rd=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
28
28
|
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case B.Class.UNIVERSAL:n+="Universal:";break;case B.Class.APPLICATION:n+="Application:";break;case B.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case B.Class.PRIVATE:n+="Private:";break}if(t.tagClass===B.Class.UNIVERSAL)switch(n+=t.type,t.type){case B.Type.NONE:n+=" (None)";break;case B.Type.BOOLEAN:n+=" (Boolean)";break;case B.Type.INTEGER:n+=" (Integer)";break;case B.Type.BITSTRING:n+=" (Bit string)";break;case B.Type.OCTETSTRING:n+=" (Octet string)";break;case B.Type.NULL:n+=" (Null)";break;case B.Type.OID:n+=" (Object Identifier)";break;case B.Type.ODESC:n+=" (Object Descriptor)";break;case B.Type.EXTERNAL:n+=" (External or Instance of)";break;case B.Type.REAL:n+=" (Real)";break;case B.Type.ENUMERATED:n+=" (Enumerated)";break;case B.Type.EMBEDDED:n+=" (Embedded PDV)";break;case B.Type.UTF8:n+=" (UTF8)";break;case B.Type.ROID:n+=" (Relative Object Identifier)";break;case B.Type.SEQUENCE:n+=" (Sequence)";break;case B.Type.SET:n+=" (Set)";break;case B.Type.PRINTABLESTRING:n+=" (Printable String)";break;case B.Type.IA5String:n+=" (IA5String (ASCII))";break;case B.Type.UTCTIME:n+=" (UTC time)";break;case B.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case B.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
29
29
|
`,n+=i+"Constructed: "+t.constructed+`
|
|
30
|
-
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=B.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===B.Type.OID){var c=B.derToOid(t.value);n+=c,fe.pki&&fe.pki.oids&&c in fe.pki.oids&&(n+=" ("+fe.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+fe.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+fe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===B.Type.OCTETSTRING)vp.test(t.value)||(n+="("+t.value+") "),n+="0x"+fe.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=fe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+fe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:vp.test(t.value)?n+="0x"+fe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ku=R((OT,bp)=>{var ke=se();Te();bp.exports=ke.cipher=ke.cipher||{};ke.cipher.algorithms=ke.cipher.algorithms||{};ke.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};ke.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};ke.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),ke.cipher.algorithms[t]=e};ke.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in ke.cipher.algorithms?ke.cipher.algorithms[t]:null};var Uu=ke.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Uu.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=ke.util.createBuffer(),this.output=t.output||ke.util.createBuffer(),this.mode.start(e)};Uu.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Uu.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var qu=R((MT,_p)=>{var Oe=se();Te();Oe.cipher=Oe.cipher||{};var z=_p.exports=Oe.cipher.modes=Oe.cipher.modes||{};z.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.ecb.prototype.start=function(t){};z.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Oo(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};z.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};z.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Oo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Oo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb.prototype.decrypt=z.ofb.prototype.encrypt;z.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Oo(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Mo(this._inBlock)};z.ctr.prototype.decrypt=z.ctr.prototype.encrypt;z.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Oe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Oe.util.createBuffer(t.additionalData):r=Oe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Oe.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Vu(n*8)))}this._inBlock=this._j0.slice(0),Mo(this._inBlock),this._partialBytes=0,r=Oe.util.createBuffer(r),this._aDataLength=Vu(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};z.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Mo(this._inBlock)};z.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Mo(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Oe.util.createBuffer();var n=this._aDataLength.concat(Vu(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};z.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};z.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};z.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};z.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};z.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};z.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Oo(t,e){if(typeof t=="string"&&(t=Oe.util.createBuffer(t)),Oe.util.isArray(t)&&t.length>4){var r=t;t=Oe.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Oe.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Mo(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Vu(t){return[t/4294967296|0,t&4294967295]}});var Uo=R((FT,Rp)=>{var le=se();Ku();qu();Te();Rp.exports=le.aes=le.aes||{};le.aes.startEncrypting=function(t,e,r,n){var i=Fo({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};le.aes.createEncryptionCipher=function(t,e){return Fo({key:t,output:null,decrypt:!1,mode:e})};le.aes.startDecrypting=function(t,e,r,n){var i=Fo({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};le.aes.createDecryptionCipher=function(t,e){return Fo({key:t,output:null,decrypt:!0,mode:e})};le.aes.Algorithm=function(t,e){Hu||Ap();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return zu(r._w,n,i,!1)},decrypt:function(n,i){return zu(r._w,n,i,!0)}}}),r._init=!1};le.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=le.util.createBuffer(e);else if(le.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=le.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!le.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!le.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Ip(e,t.decrypt&&!o),this._init=!0}};le.aes._expandKey=function(t,e){return Hu||Ap(),Ip(t,e)};le.aes._updateBlock=zu;ii("AES-ECB",le.cipher.modes.ecb);ii("AES-CBC",le.cipher.modes.cbc);ii("AES-CFB",le.cipher.modes.cfb);ii("AES-OFB",le.cipher.modes.ofb);ii("AES-CTR",le.cipher.modes.ctr);ii("AES-GCM",le.cipher.modes.gcm);function ii(t,e){var r=function(){return new le.aes.Algorithm(t,e)};le.cipher.registerAlgorithm(t,r)}var Hu=!1,ni=4,Ye,$u,Sp,cn,Ct;function Ap(){Hu=!0,Sp=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;Ye=new Array(256),$u=new Array(256),cn=new Array(4),Ct=new Array(4);for(var e=0;e<4;++e)cn[e]=new Array(256),Ct[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Ye[r]=a,$u[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)cn[f][r]=u,Ct[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Ip(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=ni*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Ye[n>>>16&255]<<24^Ye[n>>>8&255]<<16^Ye[n&255]<<8^Ye[n>>>24]^Sp[i]<<24,i++):s>6&&c%s===4&&(n=Ye[n>>>24]<<24^Ye[n>>>16&255]<<16^Ye[n>>>8&255]<<8^Ye[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Ct[0],f=Ct[1],h=Ct[2],d=Ct[3],p=r.slice(0);a=r.length;for(var c=0,m=a-ni;c<a;c+=ni,m-=ni)if(c===0||c===a-ni)p[c]=r[m],p[c+1]=r[m+3],p[c+2]=r[m+2],p[c+3]=r[m+1];else for(var y=0;y<ni;++y)u=r[m+y],p[c+(3&-y)]=l[Ye[u>>>24]]^f[Ye[u>>>16&255]]^h[Ye[u>>>8&255]]^d[Ye[u&255]];r=p}return r}function zu(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Ct[0],o=Ct[1],a=Ct[2],c=Ct[3],u=$u):(s=cn[0],o=cn[1],a=cn[2],c=cn[3],u=Ye);var l,f,h,d,p,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)p=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[l&255]^t[++g],y=s[h>>>24]^o[d>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],d=s[d>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=p,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[d>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>24]<<24^u[d>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g]}function Fo(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=le.cipher.createDecipher(r,t.key):n=le.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof le.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Bp=R((UT,Tp)=>{var ye=se();Ku();qu();Te();Tp.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=Ko({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return Ko({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=Ko({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return Ko({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Cp(r._keys,n,i,!1)},decrypt:function(n,i){return Cp(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=j2(e),this._init=!0}};Kt("DES-ECB",ye.cipher.modes.ecb);Kt("DES-CBC",ye.cipher.modes.cbc);Kt("DES-CFB",ye.cipher.modes.cfb);Kt("DES-OFB",ye.cipher.modes.ofb);Kt("DES-CTR",ye.cipher.modes.ctr);Kt("3DES-ECB",ye.cipher.modes.ecb);Kt("3DES-CBC",ye.cipher.modes.cbc);Kt("3DES-CFB",ye.cipher.modes.cfb);Kt("3DES-OFB",ye.cipher.modes.ofb);Kt("3DES-CTR",ye.cipher.modes.ctr);function Kt(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var z2=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],H2=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],G2=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],Y2=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],W2=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],Q2=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],X2=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],Z2=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function j2(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,_,N=0;N<m;N++){var C=t.getInt32(),T=t.getInt32();_=(C>>>4^T)&252645135,T^=_,C^=_<<4,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>2^T)&858993459,T^=_,C^=_<<2,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=(T>>>8^C)&16711935,C^=_,T^=_<<8,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=C<<8|T>>>20&240,C=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=_;for(var H=0;H<g.length;++H){g[H]?(C=C<<2|C>>>26,T=T<<2|T>>>26):(C=C<<1|C>>>27,T=T<<1|T>>>27),C&=-15,T&=-15;var W=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|s[C>>>12&15]|o[C>>>8&15]|a[C>>>4&15],De=c[T>>>28]|u[T>>>24&15]|l[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|p[T>>>4&15];_=(De>>>16^W)&65535,y[x++]=W^_,y[x++]=De^_<<16}}return y}function Cp(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],h=s[u];h!=l;h+=f){var d=c^t[h],p=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(H2[d>>>24&63]|Y2[d>>>16&63]|Q2[d>>>8&63]|Z2[d&63]|z2[p>>>24&63]|G2[p>>>16&63]|W2[p>>>8&63]|X2[p&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function Ko(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ye.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var un=R((KT,Pp)=>{var Vo=se();Pp.exports=Vo.md=Vo.md||{};Vo.md.algorithms=Vo.md.algorithms||{}});var Dp=R((VT,Lp)=>{var or=se();un();Te();var J2=Lp.exports=or.hmac=or.hmac||{};J2.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in or.md.algorithms)e=or.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=or.util.createBuffer(o);else if(or.util.isArray(o)){var a=o;o=or.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=or.util.createBuffer(),n=or.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var Gu=R((qT,Np)=>{var We=se();Dp();un();Te();var ev=We.pkcs5=We.pkcs5||{},ar;We.util.isNodejs&&!We.options.usePureJavaScript&&(ar=tn());Np.exports=We.pbkdf2=ev.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),We.util.isNodejs&&!We.options.usePureJavaScript&&ar.pbkdf2&&(i===null||typeof i!="object")&&(ar.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?ar.pbkdf2Sync.length===4?ar.pbkdf2(t,e,r,n,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):ar.pbkdf2(t,e,r,n,i,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):ar.pbkdf2Sync.length===4?ar.pbkdf2Sync(t,e,r,n).toString("binary"):ar.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in We.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=We.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=We.hmac.create();l.start(i,t);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(We.util.int32ToBytes(m)),h=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),d=l.digest().getBytes(),h=We.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(We.util.int32ToBytes(m)),h=p=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(p),d=l.digest().getBytes(),h=We.util.xorBytes(h,d,o),p=d,++y,We.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Mp=R(($T,Op)=>{var $o=se();Te();var kp=Op.exports=$o.pem=$o.pem||{};kp.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
31
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=
|
|
32
|
-
`),r
|
|
30
|
+
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=B.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===B.Type.OID){var c=B.derToOid(t.value);n+=c,fe.pki&&fe.pki.oids&&c in fe.pki.oids&&(n+=" ("+fe.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+fe.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+fe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===B.Type.OCTETSTRING)Rd.test(t.value)||(n+="("+t.value+") "),n+="0x"+fe.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=fe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+fe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:Rd.test(t.value)?n+="0x"+fe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var bu=I((jC,Cd)=>{var Ne=se();Ce();Cd.exports=Ne.cipher=Ne.cipher||{};Ne.cipher.algorithms=Ne.cipher.algorithms||{};Ne.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ne.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ne.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Ne.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ne.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ne.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Ne.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Ne.cipher.algorithms[t]=e};Ne.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Ne.cipher.algorithms?Ne.cipher.algorithms[t]:null};var Eu=Ne.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Eu.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Ne.util.createBuffer(),this.output=t.output||Ne.util.createBuffer(),this.mode.start(e)};Eu.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Eu.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Su=I((JC,Td)=>{var ke=se();Ce();ke.cipher=ke.cipher||{};var z=Td.exports=ke.cipher.modes=ke.cipher.modes||{};z.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.ecb.prototype.start=function(t){};z.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Io(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};z.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};z.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ke.util.createBuffer(),this._partialBytes=0};z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Io(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ke.util.createBuffer(),this._partialBytes=0};z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Io(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb.prototype.decrypt=z.ofb.prototype.encrypt;z.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ke.util.createBuffer(),this._partialBytes=0};z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Io(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Co(this._inBlock)};z.ctr.prototype.decrypt=z.ctr.prototype.encrypt;z.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ke.util.createBuffer(),this._partialBytes=0,this._R=3774873600};z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=ke.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=ke.util.createBuffer(t.additionalData):r=ke.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=ke.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(_u(n*8)))}this._inBlock=this._j0.slice(0),Co(this._inBlock),this._partialBytes=0,r=ke.util.createBuffer(r),this._aDataLength=_u(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};z.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Co(this._inBlock)};z.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Co(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=ke.util.createBuffer();var n=this._aDataLength.concat(_u(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};z.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};z.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};z.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};z.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};z.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};z.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Io(t,e){if(typeof t=="string"&&(t=ke.util.createBuffer(t)),ke.util.isArray(t)&&t.length>4){var r=t;t=ke.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!ke.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Co(t){t[t.length-1]=t[t.length-1]+1&4294967295}function _u(t){return[t/4294967296|0,t&4294967295]}});var Bo=I((eT,Dd)=>{var le=se();bu();Su();Ce();Dd.exports=le.aes=le.aes||{};le.aes.startEncrypting=function(t,e,r,n){var i=To({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};le.aes.createEncryptionCipher=function(t,e){return To({key:t,output:null,decrypt:!1,mode:e})};le.aes.startDecrypting=function(t,e,r,n){var i=To({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};le.aes.createDecryptionCipher=function(t,e){return To({key:t,output:null,decrypt:!0,mode:e})};le.aes.Algorithm=function(t,e){Iu||Pd();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Ru(r._w,n,i,!1)},decrypt:function(n,i){return Ru(r._w,n,i,!0)}}}),r._init=!1};le.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=le.util.createBuffer(e);else if(le.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=le.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!le.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!le.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Ld(e,t.decrypt&&!o),this._init=!0}};le.aes._expandKey=function(t,e){return Iu||Pd(),Ld(t,e)};le.aes._updateBlock=Ru;Jn("AES-ECB",le.cipher.modes.ecb);Jn("AES-CBC",le.cipher.modes.cbc);Jn("AES-CFB",le.cipher.modes.cfb);Jn("AES-OFB",le.cipher.modes.ofb);Jn("AES-CTR",le.cipher.modes.ctr);Jn("AES-GCM",le.cipher.modes.gcm);function Jn(t,e){var r=function(){return new le.aes.Algorithm(t,e)};le.cipher.registerAlgorithm(t,r)}var Iu=!1,jn=4,Ye,Au,Bd,tn,Rt;function Pd(){Iu=!0,Bd=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;Ye=new Array(256),Au=new Array(256),tn=new Array(4),Rt=new Array(4);for(var e=0;e<4;++e)tn[e]=new Array(256),Rt[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Ye[r]=a,Au[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)tn[f][r]=u,Rt[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Ld(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=jn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Ye[n>>>16&255]<<24^Ye[n>>>8&255]<<16^Ye[n&255]<<8^Ye[n>>>24]^Bd[i]<<24,i++):s>6&&c%s===4&&(n=Ye[n>>>24]<<24^Ye[n>>>16&255]<<16^Ye[n>>>8&255]<<8^Ye[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Rt[0],f=Rt[1],h=Rt[2],d=Rt[3],p=r.slice(0);a=r.length;for(var c=0,m=a-jn;c<a;c+=jn,m-=jn)if(c===0||c===a-jn)p[c]=r[m],p[c+1]=r[m+3],p[c+2]=r[m+2],p[c+3]=r[m+1];else for(var y=0;y<jn;++y)u=r[m+y],p[c+(3&-y)]=l[Ye[u>>>24]]^f[Ye[u>>>16&255]]^h[Ye[u>>>8&255]]^d[Ye[u&255]];r=p}return r}function Ru(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Rt[0],o=Rt[1],a=Rt[2],c=Rt[3],u=Au):(s=tn[0],o=tn[1],a=tn[2],c=tn[3],u=Ye);var l,f,h,d,p,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,w=1;w<i;++w)p=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[l&255]^t[++g],y=s[h>>>24]^o[d>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],d=s[d>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=p,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[d>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>24]<<24^u[d>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g]}function To(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=le.cipher.createDecipher(r,t.key):n=le.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof le.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Od=I((tT,kd)=>{var me=se();bu();Su();Ce();kd.exports=me.des=me.des||{};me.des.startEncrypting=function(t,e,r,n){var i=Po({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};me.des.createEncryptionCipher=function(t,e){return Po({key:t,output:null,decrypt:!1,mode:e})};me.des.startDecrypting=function(t,e,r,n){var i=Po({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};me.des.createDecryptionCipher=function(t,e){return Po({key:t,output:null,decrypt:!0,mode:e})};me.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Nd(r._keys,n,i,!1)},decrypt:function(n,i){return Nd(r._keys,n,i,!0)}}}),r._init=!1};me.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=me.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=N2(e),this._init=!0}};Ot("DES-ECB",me.cipher.modes.ecb);Ot("DES-CBC",me.cipher.modes.cbc);Ot("DES-CFB",me.cipher.modes.cfb);Ot("DES-OFB",me.cipher.modes.ofb);Ot("DES-CTR",me.cipher.modes.ctr);Ot("3DES-ECB",me.cipher.modes.ecb);Ot("3DES-CBC",me.cipher.modes.cbc);Ot("3DES-CFB",me.cipher.modes.cfb);Ot("3DES-OFB",me.cipher.modes.ofb);Ot("3DES-CTR",me.cipher.modes.ctr);function Ot(t,e){var r=function(){return new me.des.Algorithm(t,e)};me.cipher.registerAlgorithm(t,r)}var R2=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],I2=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],C2=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],T2=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],B2=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],P2=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],L2=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],D2=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function N2(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,_,D=0;D<m;D++){var C=t.getInt32(),T=t.getInt32();_=(C>>>4^T)&252645135,T^=_,C^=_<<4,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>2^T)&858993459,T^=_,C^=_<<2,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=(T>>>8^C)&16711935,C^=_,T^=_<<8,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=C<<8|T>>>20&240,C=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=_;for(var H=0;H<g.length;++H){g[H]?(C=C<<2|C>>>26,T=T<<2|T>>>26):(C=C<<1|C>>>27,T=T<<1|T>>>27),C&=-15,T&=-15;var W=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|s[C>>>12&15]|o[C>>>8&15]|a[C>>>4&15],De=c[T>>>28]|u[T>>>24&15]|l[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|p[T>>>4&15];_=(De>>>16^W)&65535,y[w++]=W^_,y[w++]=De^_<<16}}return y}function Nd(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],h=s[u];h!=l;h+=f){var d=c^t[h],p=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(I2[d>>>24&63]|T2[d>>>16&63]|P2[d>>>8&63]|D2[d&63]|R2[p>>>24&63]|C2[p>>>16&63]|B2[p>>>8&63]|L2[p&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function Po(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=me.cipher.createDecipher(r,t.key):n=me.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof me.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var rn=I((rT,Md)=>{var Lo=se();Md.exports=Lo.md=Lo.md||{};Lo.md.algorithms=Lo.md.algorithms||{}});var Ud=I((nT,Fd)=>{var ir=se();rn();Ce();var k2=Fd.exports=ir.hmac=ir.hmac||{};k2.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in ir.md.algorithms)e=ir.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=ir.util.createBuffer(o);else if(ir.util.isArray(o)){var a=o;o=ir.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=ir.util.createBuffer(),n=ir.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var Cu=I((iT,Kd)=>{var We=se();Ud();rn();Ce();var O2=We.pkcs5=We.pkcs5||{},sr;We.util.isNodejs&&!We.options.usePureJavaScript&&(sr=jr());Kd.exports=We.pbkdf2=O2.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),We.util.isNodejs&&!We.options.usePureJavaScript&&sr.pbkdf2&&(i===null||typeof i!="object")&&(sr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?sr.pbkdf2Sync.length===4?sr.pbkdf2(t,e,r,n,function(_,D){if(_)return s(_);s(null,D.toString("binary"))}):sr.pbkdf2(t,e,r,n,i,function(_,D){if(_)return s(_);s(null,D.toString("binary"))}):sr.pbkdf2Sync.length===4?sr.pbkdf2Sync(t,e,r,n).toString("binary"):sr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in We.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=We.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=We.hmac.create();l.start(i,t);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(We.util.int32ToBytes(m)),h=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),d=l.digest().getBytes(),h=We.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(We.util.int32ToBytes(m)),h=p=l.digest().getBytes(),y=2,w()}function w(){if(y<=r)return l.start(null,null),l.update(p),d=l.digest().getBytes(),h=We.util.xorBytes(h,d,o),p=d,++y,We.util.setImmediate(w);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var $d=I((sT,qd)=>{var No=se();Ce();var Vd=qd.exports=No.pem=No.pem||{};Vd.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
31
|
+
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Do(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Do(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Do(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Do(t.headers[i]);return t.procType&&(r+=`\r
|
|
32
|
+
`),r+=No.util.encode64(t.body,e.maxline||64)+`\r
|
|
33
33
|
`,r+="-----END "+t.type+`-----\r
|
|
34
|
-
`,r};
|
|
34
|
+
`,r};Vd.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:No.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(s=l.match(n),s){for(var d={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)d.values.push(M2(p[m]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Do(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
35
35
|
`;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
|
|
36
36
|
`+e.substr(o)):e=e.substr(0,o)+`\r
|
|
37
|
-
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function tv(t){return t.replace(/^\s+/,"")}});var $p=R((zT,qp)=>{var Vt=se();un();Te();var Up=qp.exports=Vt.sha256=Vt.sha256||{};Vt.md.sha256=Vt.md.algorithms.sha256=Up;Up.create=function(){Kp||rv();var t=null,e=Vt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Vt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Vt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Fp(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Yu.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Fp(f,r,i);var h=Vt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Yu=null,Kp=!1,Vp=null;function rv(){Yu=String.fromCharCode(128),Yu+=Vt.util.fillString(String.fromCharCode(0),64),Vp=[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],Kp=!0}function Fp(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,d=t.h3,p=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+o+a+Vp[u]+e[u],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+d|0,t.h4=t.h4+p|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var Hp=R((HT,zp)=>{var qt=se();Te();var zo=null;qt.util.isNodejs&&!qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(zo=tn());var nv=zp.exports=qt.prng=qt.prng||{};nv.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,h=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed,m=qt.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return qt.util.nextTick(function(){s(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=d(f(e.key,h(e.seed))),e.seed=p(f(e.key,e.seed)),qt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var p=qt.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,p.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=d(l(e.key,e.seed))}return p.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=qt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(C){return h.getRandomValues(C)});var d=qt.util.createBuffer();if(l)for(;d.length()<u;){var p=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<u)for(var g,x,_,N=Math.floor(Math.random()*65536);d.length()<u;){x=16807*(N&65535),g=16807*(N>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),N=x&4294967295;for(var y=0;y<3;++y)_=N>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(u)}return zo?(e.seedFile=function(u,l){zo.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return zo.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function d(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(d,p){u.postMessage({forge:{prng:{err:d,bytes:p}}})})};u.addEventListener("message",l)}},e}});var rs=R((GT,Wu)=>{var Me=se();Uo();$p();Hp();Te();(function(){if(Me.random&&Me.random.getBytes){Wu.exports=Me.random;return}(function(t){var e={},r=new Array(4),n=Me.util.createBuffer();e.formatKey=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Me.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return Me.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Me.md.sha256;function i(){var f=Me.prng.create(e);return f.getBytes=function(h,d){return f.generate(h,d)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=Me.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Me.options.usePureJavaScript||!Me.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Me.random)Me.random=s;else for(var l in s)Me.random[l]=s[l];Me.random.createInstance=i,Wu.exports=Me.random})(typeof jQuery<"u"?jQuery:null)})()});var Qp=R((YT,Wp)=>{var Xe=se();Te();var Qu=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Gp=[1,2,3,5],iv=function(t,e){return t<<e&65535|(t&65535)>>16-e},sv=function(t,e){return(t&65535)>>e|t<<16-e&65535};Wp.exports=Xe.rc2=Xe.rc2||{};Xe.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Xe.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Qu[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Qu[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Qu[r.at(a+1)^r.at(a+s)]);return r};var Yp=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Xe.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=iv(p[u],Gp[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=sv(p[u],Gp[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var h=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var x=0;x<p[g][0];x++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=Xe.util.createBuffer(p)),n=!1,i=Xe.util.createBuffer(),s=m||new Xe.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(r)if(p)m=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!r&&(m=i.length()===0,m))if(p)m=p(8,s,!r);else{var g=s.length(),x=s.at(g-1);x>g?m=!1:s.truncate(x)}return m}},d};Xe.rc2.startEncrypting=function(t,e,r){var n=Xe.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Xe.rc2.createEncryptionCipher=function(t,e){return Yp(t,e,!0)};Xe.rc2.startDecrypting=function(t,e,r){var n=Xe.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Xe.rc2.createDecryptionCipher=function(t,e){return Yp(t,e,!1)}});var Yo=R((WT,nm)=>{var Xu=se();nm.exports=Xu.jsbn=Xu.jsbn||{};var cr,ov=0xdeadbeefcafe,Xp=(ov&16777215)==15715070;function S(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Xu.jsbn.BigInteger=S;function ee(){return new S(null)}function av(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function cv(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Zp(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=Zp,cr=28):Xp&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=cv,cr=30):Xp&&navigator.appName!="Netscape"?(S.prototype.am=av,cr=26):(S.prototype.am=Zp,cr=28);S.prototype.DB=cr;S.prototype.DM=(1<<cr)-1;S.prototype.DV=1<<cr;var Zu=52;S.prototype.FV=Math.pow(2,Zu);S.prototype.F1=Zu-cr;S.prototype.F2=2*cr-Zu;var uv="0123456789abcdefghijklmnopqrstuvwxyz",Ho=new Array,si,yt;si="0".charCodeAt(0);for(yt=0;yt<=9;++yt)Ho[si++]=yt;si="a".charCodeAt(0);for(yt=10;yt<36;++yt)Ho[si++]=yt;si="A".charCodeAt(0);for(yt=10;yt<36;++yt)Ho[si++]=yt;function jp(t){return uv.charAt(t)}function Jp(t,e){var r=Ho[t.charCodeAt(e)];return r??-1}function lv(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function fv(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Br(t){var e=ee();return e.fromInt(t),e}function hv(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Jp(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function dv(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function pv(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=jp(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=jp(n));return i?s:"0"}function mv(){var t=ee();return S.ZERO.subTo(this,t),t}function yv(){return this.s<0?this.negate():this}function gv(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Go(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function wv(){return this.t<=0?0:this.DB*(this.t-1)+Go(this.data[this.t-1]^this.s&this.DM)}function xv(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function vv(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function Ev(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function bv(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function _v(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function Sv(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&S.ZERO.subTo(e,e)}function Av(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function Iv(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ee());var s=ee(),o=this.s,a=t.s,c=this.DB-Go(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=e??ee();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+p)*d);if((r.data[m]+=s.am(0,x,r,y,0,u))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&S.ZERO.subTo(r,r)}}}function Rv(t){var e=ee();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function ln(t){this.m=t}function Cv(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Tv(t){return t}function Bv(t){t.divRemTo(this.m,null,t)}function Pv(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Lv(t,e){t.squareTo(e),this.reduce(e)}ln.prototype.convert=Cv;ln.prototype.revert=Tv;ln.prototype.reduce=Bv;ln.prototype.mulTo=Pv;ln.prototype.sqrTo=Lv;function Dv(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function fn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Nv(t){var e=ee();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function kv(t){var e=ee();return t.copyTo(e),this.reduce(e),e}function Ov(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Mv(t,e){t.squareTo(e),this.reduce(e)}function Fv(t,e,r){t.multiplyTo(e,r),this.reduce(r)}fn.prototype.convert=Nv;fn.prototype.revert=kv;fn.prototype.reduce=Ov;fn.prototype.mulTo=Fv;fn.prototype.sqrTo=Mv;function Uv(){return(this.t>0?this.data[0]&1:this.s)==0}function Kv(t,e){if(t>4294967295||t<1)return S.ONE;var r=ee(),n=ee(),i=e.convert(this),s=Go(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function Vv(t,e){var r;return t<256||e.isEven()?r=new ln(e):r=new fn(e),this.exp(t,r)}S.prototype.copyTo=lv;S.prototype.fromInt=fv;S.prototype.fromString=hv;S.prototype.clamp=dv;S.prototype.dlShiftTo=xv;S.prototype.drShiftTo=vv;S.prototype.lShiftTo=Ev;S.prototype.rShiftTo=bv;S.prototype.subTo=_v;S.prototype.multiplyTo=Sv;S.prototype.squareTo=Av;S.prototype.divRemTo=Iv;S.prototype.invDigit=Dv;S.prototype.isEven=Uv;S.prototype.exp=Kv;S.prototype.toString=pv;S.prototype.negate=mv;S.prototype.abs=yv;S.prototype.compareTo=gv;S.prototype.bitLength=wv;S.prototype.mod=Rv;S.prototype.modPowInt=Vv;S.ZERO=Br(0);S.ONE=Br(1);function qv(){var t=ee();return this.copyTo(t),t}function $v(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function zv(){return this.t==0?this.s:this.data[0]<<24>>24}function Hv(){return this.t==0?this.s:this.data[0]<<16>>16}function Gv(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Yv(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Wv(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Br(r),i=ee(),s=ee(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function Qv(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Jp(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function Xv(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(S.ONE.shiftLeft(t-1),ju,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Zv(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function jv(t){return this.compareTo(t)==0}function Jv(t){return this.compareTo(t)<0?this:t}function eE(t){return this.compareTo(t)>0?this:t}function tE(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function rE(t,e){return t&e}function nE(t){var e=ee();return this.bitwiseTo(t,rE,e),e}function ju(t,e){return t|e}function iE(t){var e=ee();return this.bitwiseTo(t,ju,e),e}function em(t,e){return t^e}function sE(t){var e=ee();return this.bitwiseTo(t,em,e),e}function tm(t,e){return t&~e}function oE(t){var e=ee();return this.bitwiseTo(t,tm,e),e}function aE(){for(var t=ee(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function cE(t){var e=ee();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function uE(t){var e=ee();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function lE(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function fE(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+lE(this.data[t]);return this.s<0?this.t*this.DB:-1}function hE(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function dE(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=hE(this.data[r]^e);return t}function pE(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function mE(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function yE(t){return this.changeBit(t,ju)}function gE(t){return this.changeBit(t,tm)}function wE(t){return this.changeBit(t,em)}function xE(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function vE(t){var e=ee();return this.addTo(t,e),e}function EE(t){var e=ee();return this.subTo(t,e),e}function bE(t){var e=ee();return this.multiplyTo(t,e),e}function _E(t){var e=ee();return this.divRemTo(t,e,null),e}function SE(t){var e=ee();return this.divRemTo(t,null,e),e}function AE(t){var e=ee(),r=ee();return this.divRemTo(t,e,r),new Array(e,r)}function IE(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function RE(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function ns(){}function rm(t){return t}function CE(t,e,r){t.multiplyTo(e,r)}function TE(t,e){t.squareTo(e)}ns.prototype.convert=rm;ns.prototype.revert=rm;ns.prototype.mulTo=CE;ns.prototype.sqrTo=TE;function BE(t){return this.exp(t,new ns)}function PE(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function LE(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function oi(t){this.r2=ee(),this.q3=ee(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function DE(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=ee();return t.copyTo(e),this.reduce(e),e}function NE(t){return t}function kE(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function OE(t,e){t.squareTo(e),this.reduce(e)}function ME(t,e,r){t.multiplyTo(e,r),this.reduce(r)}oi.prototype.convert=DE;oi.prototype.revert=NE;oi.prototype.reduce=kE;oi.prototype.mulTo=ME;oi.prototype.sqrTo=OE;function FE(t,e){var r=t.bitLength(),n,i=Br(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new ln(e):e.isEven()?s=new oi(e):s=new fn(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=ee();for(s.sqrTo(o[1],l);a<=u;)o[a]=ee(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,d=!0,p=ee(),m;for(r=Go(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),d)o[h].copyTo(i),d=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(m=i,i=p,p=m),s.mulTo(p,o[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function UE(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function KE(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function VE(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=Br(1),s=Br(0),o=Br(0),a=Br(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Tt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],qE=(1<<26)/Tt[Tt.length-1];function $E(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Tt[Tt.length-1]){for(e=0;e<Tt.length;++e)if(r.data[0]==Tt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Tt.length;){for(var n=Tt[e],i=e+1;i<Tt.length&&n<qE;)n*=Tt[i++];for(n=r.modInt(n);e<i;)if(n%Tt[e++]==0)return!1}return r.millerRabin(t)}function zE(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=HE(),s,o=0;o<t;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function HE(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Gv;S.prototype.toRadix=Wv;S.prototype.fromRadix=Qv;S.prototype.fromNumber=Xv;S.prototype.bitwiseTo=tE;S.prototype.changeBit=mE;S.prototype.addTo=xE;S.prototype.dMultiply=IE;S.prototype.dAddOffset=RE;S.prototype.multiplyLowerTo=PE;S.prototype.multiplyUpperTo=LE;S.prototype.modInt=KE;S.prototype.millerRabin=zE;S.prototype.clone=qv;S.prototype.intValue=$v;S.prototype.byteValue=zv;S.prototype.shortValue=Hv;S.prototype.signum=Yv;S.prototype.toByteArray=Zv;S.prototype.equals=jv;S.prototype.min=Jv;S.prototype.max=eE;S.prototype.and=nE;S.prototype.or=iE;S.prototype.xor=sE;S.prototype.andNot=oE;S.prototype.not=aE;S.prototype.shiftLeft=cE;S.prototype.shiftRight=uE;S.prototype.getLowestSetBit=fE;S.prototype.bitCount=dE;S.prototype.testBit=pE;S.prototype.setBit=yE;S.prototype.clearBit=gE;S.prototype.flipBit=wE;S.prototype.add=vE;S.prototype.subtract=EE;S.prototype.multiply=bE;S.prototype.divide=_E;S.prototype.remainder=SE;S.prototype.divideAndRemainder=AE;S.prototype.modPow=FE;S.prototype.modInverse=VE;S.prototype.pow=BE;S.prototype.gcd=UE;S.prototype.isProbablePrime=$E});var cm=R((QT,am)=>{var $t=se();un();Te();var sm=am.exports=$t.sha1=$t.sha1||{};$t.md.sha1=$t.md.algorithms.sha1=sm;sm.create=function(){om||GE();var t=null,e=$t.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=$t.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=$t.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),im(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=$t.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ju.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};im(f,r,i);var h=$t.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var Ju=null,om=!1;function GE(){Ju=String.fromCharCode(128),Ju+=$t.util.fillString(String.fromCharCode(0),64),om=!0}function im(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var fm=R((XT,lm)=>{var zt=se();Te();rs();cm();var um=lm.exports=zt.pkcs1=zt.pkcs1||{};um.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=zt.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-e.length,d=0;d<h;d++)f+="\0";var p=l.getBytes()+f+""+e;if(!i)i=zt.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=Wo(i,a-s.digestLength-1,o),y=zt.util.xorBytes(p,m,p.length),g=Wo(y,s.digestLength,o),x=zt.util.xorBytes(i,g,i.length);return"\0"+x+y};um.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=zt.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=Wo(l,i.digestLength,s),h=zt.util.xorBytes(u,f,u.length),d=Wo(h,o-i.digestLength-1,s),p=zt.util.xorBytes(l,d,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,_=i.digestLength,N=i.digestLength;N<p.length;N++){var C=p.charCodeAt(N),T=C&1^1,H=x?65534:0;y|=C&H,x=x&T,_+=x}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function Wo(t,e,r){r||(r=zt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var hm=R((ZT,el)=>{var Pr=se();Te();Yo();rs();(function(){if(Pr.prime){el.exports=Pr.prime;return}var t=el.exports=Pr.prime=Pr.prime||{},e=Pr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,d){typeof h=="function"&&(d=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=h.prng||Pr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=x.charCodeAt(_)}};if(p.name==="PRIMEINC")return s(f,y,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,h,d,p){return"workers"in d?c(f,h,d,p):o(f,h,d,p)}function o(f,h,d,p){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var x=10;"maxBlockTime"in d&&(x=d.maxBlockTime),a(m,f,h,y,g,x,p)}function a(f,h,d,p,m,y,g){var x=+new Date;do{if(f.bitLength()>h&&(f=u(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-x<y);Pr.util.setImmediate(function(){a(f,h,d,p,m,y,g)})}function c(f,h,d,p){if(typeof Worker>"u")return o(f,h,d,p);var m=u(f,h),y=d.workers,g=d.workLoad||100,x=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return Pr.util.estimateCores(function(C,T){C&&(T=2),y=T-1,N()});N();function N(){y=Math.max(1,y);for(var C=[],T=0;T<y;++T)C[T]=new Worker(_);for(var H=y,T=0;T<y;++T)C[T].addEventListener("message",De);var W=!1;function De(xt){if(!W){--H;var et=xt.data;if(et.found){for(var He=0;He<C.length;++He)C[He].terminate();return W=!0,p(null,new e(et.prime,16))}m.bitLength()>f&&(m=u(f,h));var In=m.toString(16);xt.target.postMessage({hex:In,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var d=new e(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(e.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Xo=R((jT,xm)=>{var M=se();ts();Yo();No();fm();hm();rs();Te();typeof X>"u"&&(X=M.jsbn.BigInteger);var X,tl=M.util.isNodejs?tn():null,v=M.asn1,gt=M.util;M.pki=M.pki||{};xm.exports=M.pki.rsa=M.rsa=M.rsa||{};var V=M.pki,YE=[6,4,2,4,2,4,6,2],WE={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},QE={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},XE={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ZE=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},jE={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},JE=function(t){var e;if(t.algorithm in V.oids)e=V.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},gm=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(X.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(X.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new X(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(X.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};V.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=wm(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new X(i.toHex(),16),a=gm(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};V.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new X(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=gm(o,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?Qo(u.getBytes(),e,r):u.getBytes()};V.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new X(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};V.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new X(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new X(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(X.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(tb(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(YE[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(X.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:V.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:V.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};V.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(dm("generateKeyPair"))return tl.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:V.privateKeyFromPem(u),publicKey:V.publicKeyFromPem(c)})});if(pm("generateKey")&&pm("exportKey"))return gt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ym(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return gt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=V.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:V.setRsaPublicKey(c.n,c.e)})}});if(mm("generateKey")&&mm("exportKey")){var i=gt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ym(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=gt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=V.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:V.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(dm("generateKeyPairSync")){var s=tl.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:V.privateKeyFromPem(s.privateKey),publicKey:V.publicKeyFromPem(s.publicKey)}}}var o=V.rsa.createKeyPairGenerationState(t,e,r);if(!n)return V.rsa.stepKeyPairGenerationState(o,0),o.keys;eb(o,r,n)};V.setRsaPublicKey=V.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return wm(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return V.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=Qo(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,jE,f,h)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=h,d}var p=v.derToOid(f.algorithmIdentifier);if(!(p===M.oids.md2||p===M.oids.md5||p===M.oids.sha1||p===M.oids.sha224||p===M.oids.sha256||p===M.oids.sha384||p===M.oids.sha512||p===M.oids["sha512-224"]||p===M.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===M.oids.md2||p===M.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=Qo(u,r,!0),c===u}});var a=V.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};V.setRsaPrivateKey=V.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=V.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Qo};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(d,p){return M.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(h,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:JE},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return V.rsa.encrypt(h,c,f)},c};V.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(V.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};V.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,WE,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,QE,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),V.setRsaPrivateKey(new X(i,16),new X(s,16),new X(o,16),new X(a,16),new X(c,16),new X(u,16),new X(l,16),new X(f,16))};V.privateKeyToAsn1=V.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.qInv))])};V.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,ZE,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==V.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,XE,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return V.setRsaPublicKey(new X(s,16),new X(o,16))};V.publicKeyToAsn1=V.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(V.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[V.publicKeyToRSAPublicKey(t)])])};V.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.e))])};function wm(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=M.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function Qo(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function eb(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){M.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.p=null,i();return}if(t.q.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(X.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:V.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:V.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ht(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function tb(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function dm(t){return M.util.isNodejs&&typeof tl[t]=="function"}function pm(t){return typeof gt.globalScope<"u"&&typeof gt.globalScope.crypto=="object"&&typeof gt.globalScope.crypto.subtle=="object"&&typeof gt.globalScope.crypto.subtle[t]=="function"}function mm(t){return typeof gt.globalScope<"u"&&typeof gt.globalScope.msCrypto=="object"&&typeof gt.globalScope.msCrypto.subtle=="object"&&typeof gt.globalScope.msCrypto.subtle[t]=="function"}function ym(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Am=R((JT,Sm)=>{var P=se();Uo();ts();Bp();un();No();Gu();Mp();rs();Qp();Xo();Te();typeof vm>"u"&&(vm=P.jsbn.BigInteger);var vm,b=P.asn1,q=P.pki=P.pki||{};Sm.exports=q.pbe=P.pbe=P.pbe||{};var hn=q.oids,rb={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},nb={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},ib={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=hn["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=hn["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=hn["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=hn.desCBC,f=P.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=_m(d),m=P.pkcs5.pbkdf2(e,n,i,o,p),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes();var x=sb(n,s,o,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(hn.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(hn.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(l).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new P.util.ByteBuffer(n),m=q.pbe.generatePkcs12Key(e,_,1,i,o),y=q.pbe.generatePkcs12Key(e,_,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(hn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var N=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return N};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!b.validate(t,rb,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=b.derToOid(n.encryptionOid),a=q.pbe.getCipher(o,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=P.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=P.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(b.toDer(q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=P.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(b.fromDer(r),e):r=b.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=e.length(),p=new P.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(h/u),x=new P.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var _=y;_.putBuffer(x);for(var N=Math.ceil(i/c),C=1;C<=N;C++){var T=new P.util.ByteBuffer;T.putBytes(p.bytes()),T.putBytes(_.bytes());for(var H=0;H<n;H++)s.start(),s.update(T.getBytes()),T=s.digest();var W=new P.util.ByteBuffer;for(a=0;a<u;a++)W.putByte(T.at(a%c));var De=Math.ceil(d/u)+Math.ceil(h/u),xt=new P.util.ByteBuffer;for(o=0;o<De;o++){var et=new P.util.ByteBuffer(_.getBytes(u)),He=511;for(a=W.length()-1;a>=0;a--)He=He>>8,He+=W.at(a)+et.at(a),et.setAt(a,He&255);xt.putBuffer(et)}_=xt,l.putBuffer(T)}return l.truncate(l.length()-i),l};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!b.validate(e,nb,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=b.derToOid(n.kdfOid),t!==q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=b.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=bm(n.prfOid),f=P.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,d=u(f);return d.start(h),d};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!b.validate(e,ib,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=bm(n.prfOid),h=q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,d)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[Em(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Em(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Em(t,e){return t.start().update(e).digest().getBytes()}function bm(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[b.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return _m(e)}function _m(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function sb(t,e,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Mm=R((L8,Om)=>{var he=se();un();Te();var is=Om.exports=he.sha512=he.sha512||{};he.md.sha512=he.md.algorithms.sha512=is;var Nm=he.sha384=he.sha512.sha384=he.sha512.sha384||{};Nm.create=function(){return is.create("SHA-384")};he.md.sha384=he.md.algorithms.sha384=Nm;he.sha512.sha256=he.sha512.sha256||{create:function(){return is.create("SHA-512/256")}};he.md["sha512/256"]=he.md.algorithms["sha512/256"]=he.sha512.sha256;he.sha512.sha224=he.sha512.sha224||{create:function(){return is.create("SHA-512/224")}};he.md["sha512/224"]=he.md.algorithms["sha512/224"]=he.sha512.sha224;is.create=function(t){if(km||cb(),typeof t>"u"&&(t="SHA-512"),!(t in dn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=dn[t],r=null,n=he.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=he.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=he.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),Dm(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=he.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(rl.substr(0,a.blockLength-l));for(var f,h,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,h=f/4294967296>>>0,d+=h,c.putInt32(d>>>0),d=f>>>0;c.putInt32(d);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);Dm(m,i,c);var y=he.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||t!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var rl=null,km=!1,nl=null,dn=null;function cb(){rl=String.fromCharCode(128),rl+=he.util.fillString(String.fromCharCode(0),128),nl=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],dn={},dn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],dn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],dn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],dn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],km=!0}function Dm(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,x,_,N,C,T,H,W,De,xt,et,He,In,Bs,Be,Qe,F,ka,Oa,Ma,Fa,of=r.length();of>=128;){for(Be=0;Be<16;++Be)e[Be][0]=r.getInt32()>>>0,e[Be][1]=r.getInt32()>>>0;for(;Be<80;++Be)ka=e[Be-2],Qe=ka[0],F=ka[1],n=((Qe>>>19|F<<13)^(F>>>29|Qe<<3)^Qe>>>6)>>>0,i=((Qe<<13|F>>>19)^(F<<3|Qe>>>29)^(Qe<<26|F>>>6))>>>0,Ma=e[Be-15],Qe=Ma[0],F=Ma[1],s=((Qe>>>1|F<<31)^(Qe>>>8|F<<24)^Qe>>>7)>>>0,o=((Qe<<31|F>>>1)^(Qe<<24|F>>>8)^(Qe<<25|F>>>7))>>>0,Oa=e[Be-7],Fa=e[Be-16],F=i+Oa[1]+o+Fa[1],e[Be][0]=n+Oa[0]+s+Fa[0]+(F/4294967296>>>0)>>>0,e[Be][1]=F>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],_=t[2][0],N=t[2][1],C=t[3][0],T=t[3][1],H=t[4][0],W=t[4][1],De=t[5][0],xt=t[5][1],et=t[6][0],He=t[6][1],In=t[7][0],Bs=t[7][1],Be=0;Be<80;++Be)u=((H>>>14|W<<18)^(H>>>18|W<<14)^(W>>>9|H<<23))>>>0,l=((H<<18|W>>>14)^(H<<14|W>>>18)^(W<<23|H>>>9))>>>0,f=(et^H&(De^et))>>>0,h=(He^W&(xt^He))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,d=(m&g|_&(m^g))>>>0,p=(y&x|N&(y^x))>>>0,F=Bs+l+h+nl[Be][1]+e[Be][1],n=In+u+f+nl[Be][0]+e[Be][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+p,s=a+d+(F/4294967296>>>0)>>>0,o=F>>>0,In=et,Bs=He,et=De,He=xt,De=H,xt=W,F=T+i,H=C+n+(F/4294967296>>>0)>>>0,W=F>>>0,C=_,T=N,_=g,N=x,g=m,x=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+x,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+N,t[2][0]=t[2][0]+_+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+T,t[3][0]=t[3][0]+C+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+W,t[4][0]=t[4][0]+H+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+xt,t[5][0]=t[5][0]+De+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+He,t[6][0]=t[6][0]+et+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+Bs,t[7][0]=t[7][0]+In+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,of-=128}}});var K_={};Ue(K_,{createLibp2p:()=>U_});var lt=U(Ka(),1);var Ha={};Ue(Ha,{base58btc:()=>Se,base58flickr:()=>Ng});function Tg(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,x=p.length;g!==x&&p[g]===0;)g++,m++;for(var _=(x-g)*l+1>>>0,N=new Uint8Array(_);g!==x;){for(var C=p[g],T=0,H=_-1;(C!==0||T<y)&&H!==-1;H--,T++)C+=256*N[H]>>>0,N[H]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=T,g++}for(var W=_-y;W!==_&&N[W]===0;)W++;for(var De=c.repeat(m);W<_;++W)De+=t.charAt(N[W]);return De}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var x=(p.length-m)*u+1>>>0,_=new Uint8Array(x);p[m];){var N=r[p.charCodeAt(m)];if(N===255)return;for(var C=0,T=x-1;(N!==0||C<g)&&T!==-1;T--,C++)N+=a*_[T]>>>0,_[T]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var H=x-g;H!==x&&_[H]===0;)H++;for(var W=new Uint8Array(y+(x-H)),De=y;H!==x;)W[De++]=_[H++];return W}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var Bg=Tg,Pg=Bg,ff=Pg;var H_=new Uint8Array(0);var hf=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Qt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var df=t=>new TextEncoder().encode(t),pf=t=>new TextDecoder().decode(t);var Va=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},qa=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return yf(this,e)}},$a=class{constructor(e){this.decoders=e}or(e){return yf(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},yf=(t,e)=>new $a({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),za=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Va(e,r,n),this.decoder=new qa(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Bn=({name:t,prefix:e,encode:r,decode:n})=>new za(t,e,r,n),mr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=ff(r,e);return Bn({prefix:t,name:e,encode:n,decode:s=>Qt(i(s))})},Lg=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Dg=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Bn({prefix:e,name:t,encode(i){return Dg(i,n,r)},decode(i){return Lg(i,n,r,t)}});var Se=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ng=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ga={};Ue(Ga,{base32:()=>rt,base32hex:()=>Fg,base32hexpad:()=>Kg,base32hexpadupper:()=>Vg,base32hexupper:()=>Ug,base32pad:()=>Og,base32padupper:()=>Mg,base32upper:()=>kg,base32z:()=>qg});var rt=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),kg=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Og=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Mg=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Fg=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ug=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Kg=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Vg=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),qg=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ya={};Ue(Ya,{base64:()=>Yr,base64pad:()=>$g,base64url:()=>zg,base64urlpad:()=>Hg});var Yr=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),$g=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),zg=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Hg=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});lt.default.formatters.b=t=>t==null?"undefined":Se.baseEncode(t);lt.default.formatters.t=t=>t==null?"undefined":rt.baseEncode(t);lt.default.formatters.m=t=>t==null?"undefined":Yr.baseEncode(t);lt.default.formatters.p=t=>t==null?"undefined":t.toString();lt.default.formatters.c=t=>t==null?"undefined":t.toString();lt.default.formatters.k=t=>t==null?"undefined":t.toString();function Gg(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function G(t){let e=Gg(`${t}:trace`);return lt.default.enabled(`${t}:trace`)&<.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,lt.default)(`${t}:trace`)),Object.assign((0,lt.default)(t),{error:(0,lt.default)(`${t}:error`),trace:e})}var Wr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Xt,Si=class extends EventTarget{constructor(){super(...arguments),Xt.set(this,new Map)}listenerCount(e){let r=Wr(this,Xt,"f").get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=Wr(this,Xt,"f").get(e);i==null&&(i=[],Wr(this,Xt,"f").set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=Wr(this,Xt,"f").get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),Wr(this,Xt,"f").set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=Wr(this,Xt,"f").get(e.type);return n==null||(n=n.filter(({once:i})=>!i),Wr(this,Xt,"f").set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Qa(e,r))}};Xt=new WeakMap;var Wa=class extends Event{constructor(e,r){super(e,r),this.detail=r?.detail}},Qa=globalThis.CustomEvent??Wa;var Ns=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var gf=45,Yg=15,Pn=new Ns;function Xa(t){if(!(t.length>Yg))return Pn.new(t).parseWith(()=>Pn.readIPv4Addr())}function Za(t){if(!(t.length>gf))return Pn.new(t).parseWith(()=>Pn.readIPv6Addr())}function ks(t){if(!(t.length>gf))return Pn.new(t).parseWith(()=>Pn.readIPAddr())}function wf(t){return!!Xa(t)}function xf(t){return!!Za(t)}function Ln(t){return!!ks(t)}var ja={};Ue(ja,{identity:()=>Wg});var Wg=Bn({prefix:"\0",name:"identity",encode:t=>pf(t),decode:t=>df(t)});var Ja={};Ue(Ja,{base2:()=>Qg});var Qg=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ec={};Ue(ec,{base8:()=>Xg});var Xg=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var tc={};Ue(tc,{base10:()=>Zg});var Zg=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var rc={};Ue(rc,{base16:()=>jg,base16upper:()=>Jg});var jg=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Jg=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var nc={};Ue(nc,{base36:()=>e1,base36upper:()=>t1});var e1=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),t1=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ic={};Ue(ic,{base256emoji:()=>o1});var vf=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),r1=vf.reduce((t,e,r)=>(t[r]=e,t),[]),n1=vf.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function i1(t){return t.reduce((e,r)=>(e+=r1[r],e),"")}function s1(t){let e=[];for(let r of t){let n=n1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var o1=Bn({prefix:"\u{1F680}",name:"base256emoji",encode:i1,decode:s1});var cc={};Ue(cc,{sha256:()=>Ke,sha512:()=>A1});var a1=_f,Ef=128,c1=127,u1=~c1,l1=Math.pow(2,31);function _f(t,e,r){e=e||[],r=r||0;for(var n=r;t>=l1;)e[r++]=t&255|Ef,t/=128;for(;t&u1;)e[r++]=t&255|Ef,t>>>=7;return e[r]=t|0,_f.bytes=r-n+1,e}var f1=sc,h1=128,bf=127;function sc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw sc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&bf)<<i:(o&bf)*Math.pow(2,i),i+=7}while(o>=h1);return sc.bytes=s-n,r}var d1=Math.pow(2,7),p1=Math.pow(2,14),m1=Math.pow(2,21),y1=Math.pow(2,28),g1=Math.pow(2,35),w1=Math.pow(2,42),x1=Math.pow(2,49),v1=Math.pow(2,56),E1=Math.pow(2,63),b1=function(t){return t<d1?1:t<p1?2:t<m1?3:t<y1?4:t<g1?5:t<w1?6:t<x1?7:t<v1?8:t<E1?9:10},_1={encode:a1,decode:f1,encodingLength:b1},S1=_1,Ai=S1;var Ii=(t,e=0)=>[Ai.decode(t,e),Ai.decode.bytes],Dn=(t,e,r=0)=>(Ai.encode(t,e,r),e),Nn=t=>Ai.encodingLength(t);var Dt=(t,e)=>{let r=e.byteLength,n=Nn(t),i=n+Nn(r),s=new Uint8Array(i+r);return Dn(t,s,0),Dn(r,s,n),s.set(e,i),new kn(t,r,e,s)},Qr=t=>{let e=Qt(t),[r,n]=Ii(e),[i,s]=Ii(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new kn(r,i,o,e)},Sf=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&hf(t.bytes,r.bytes)}},kn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var ac=({name:t,code:e,encode:r})=>new oc(t,e,r),oc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dt(this.code,r):r.then(n=>Dt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var If=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ke=ac({name:"sha2-256",code:18,encode:If("SHA-256")}),A1=ac({name:"sha2-512",code:19,encode:If("SHA-512")});var uc={};Ue(uc,{identity:()=>yr});var Rf=0,I1="identity",Cf=Qt,R1=t=>Dt(Rf,Cf(t)),yr={code:Rf,name:I1,encode:Cf,digest:R1};var bS=new TextEncoder,_S=new TextDecoder;var Tf=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return P1(r,lc(t),e||Se.encoder);default:return L1(r,lc(t),e||rt.encoder)}};var Bf=new WeakMap,lc=t=>{let e=Bf.get(t);if(e==null){let r=new Map;return Bf.set(t,r),r}return e},ue=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ri)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==D1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ue.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Dt(e,r);return ue.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ue.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Sf(e.multihash,n.multihash)}toString(e){return Tf(this,e)}toJSON(){return{"/":Tf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ue)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ue(n,i,s,o||Pf(n,i,s.bytes))}else if(r[N1]===!0){let{version:n,multihash:i,code:s}=r,o=Qr(i);return ue.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ri)throw new Error(`Version 0 CID must use dag-pb (code: ${Ri}) block encoding`);return new ue(e,r,n,n.bytes)}case 1:{let i=Pf(e,r,n.bytes);return new ue(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ue.create(0,Ri,e)}static createV1(e,r){return ue.create(1,e,r)}static decode(e){let[r,n]=ue.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ue.inspectBytes(e),n=r.size-r.multihashSize,i=Qt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new kn(r.multihashCode,r.digestSize,s,i);return[r.version===0?ue.createV0(o):ue.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Ii(e.subarray(r));return r+=h,f},i=n(),s=Ri;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=B1(e,r),s=ue.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return lc(s).set(n,e),s}},B1=(t,e)=>{switch(t[0]){case"Q":{let r=e||Se;return[Se.prefix,r.decode(`${Se.prefix}${t}`)]}case Se.prefix:{let r=e||Se;return[Se.prefix,r.decode(t)]}case rt.prefix:{let r=e||rt;return[rt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},P1=(t,e,r)=>{let{prefix:n}=r;if(n!==Se.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},L1=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Ri=112,D1=18,Pf=(t,e,r)=>{let n=Nn(t),i=n+Nn(e),s=new Uint8Array(i+r.byteLength);return Dn(t,s,0),Dn(e,s,n),s.set(r,i),s},N1=Symbol.for("@ipld/js-cid/CID");var gr={...ja,...Ja,...ec,...tc,...rc,...Ga,...nc,...Ha,...Ya,...ic},DS={...cc,...uc};function Zr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Zt(t=0){return globalThis.Buffer?.alloc!=null?Zr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function vt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Zr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Df(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Lf=Df("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),fc=Df("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=vt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),k1={utf8:Lf,"utf-8":Lf,hex:gr.base16,latin1:fc,ascii:fc,binary:fc,...gr},Ms=k1;function $(t,e="utf8"){let r=Ms[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Nf=wf,O1=xf,hc=function(t){let e=0;if(t=t.toString().trim(),Nf(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(O1(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Nf(r[n]),o;s&&(o=hc(r[n]),r[n]=$(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,$(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},kf=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ci={},dc={},F1=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];F1.forEach(t=>{let e=U1(...t);dc[e.code]=e,Ci[e.name]=e});function U1(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function oe(t){if(typeof t=="number"){if(dc[t]!=null)return dc[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ci[t]!=null)return Ci[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Nt=U(Fs(),1);function K(t,e="utf8"){let r=Ms[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Zr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Ae(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=vt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Zr(r)}var uA=parseInt("0xFFFF",16),lA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var VA=oe("ip4"),qA=oe("ip6"),$A=oe("ipcidr");function Zf(t,e){switch(oe(t).code){case 4:case 41:return iw(e);case 42:return Qf(e);case 6:case 273:case 33:case 132:return Jf(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qf(e);case 421:return cw(e);case 444:return Xf(e);case 445:return Xf(e);case 466:return aw(e);default:return $(e,"base16")}}function jf(t,e){switch(oe(t).code){case 4:return Yf(e);case 41:return Yf(e);case 42:return Wf(e);case 6:case 273:case 33:case 132:return gc(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Wf(e);case 421:return sw(e);case 444:return uw(e);case 445:return lw(e);case 466:return ow(e);default:return K(e,"base16")}}var yc=Object.values(gr).map(t=>t.decoder),nw=function(){let t=yc[0].or(yc[1]);return yc.slice(2).forEach(e=>t=t.or(e)),t}();function Yf(t){if(!Ln(t))throw new Error("invalid ip address");return hc(t)}function iw(t){let e=kf(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ln(e))throw new Error("invalid ip address");return e}function gc(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Jf(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Wf(t){let e=K(t),r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function Qf(t){let e=Nt.default.decode(t);if(t=t.slice(Nt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return $(t)}function sw(t){let e;t[0]==="Q"||t[0]==="1"?e=Qr(Se.decode(`z${t}`)).bytes:e=ue.parse(t).multihash.bytes;let r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function ow(t){let e=nw.decode(t),r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function aw(t){let e=Nt.default.decode(t),r=t.slice(Nt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+$(r,"base64url")}function cw(t){let e=Nt.default.decode(t),r=t.slice(Nt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return $(r,"base58btc")}function uw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=rt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=gc(n);return Ae([r,i],r.length+i.length)}function lw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=rt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=gc(n);return Ae([r,i],r.length+i.length)}function Xf(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=$(e,"base32"),i=Jf(r);return`${n}:${i}`}var On=U(Fs(),1);function fw(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=oe(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw t0("invalid address: "+t);if(s.path===!0){e.push([i,bc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function hw(t){let e=[];return t.map(r=>{let n=Vs(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),bc(e.join("/"))}function dw(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=Vs(e);return e.length>1?[r.code,jf(r.code,e[1])]:[r.code]})}function wc(t){return t.map(e=>{let r=Vs(e);return e[1]!=null?[r.code,Zf(r.code,e[1])]:[r.code]})}function xc(t){return Ks(Ae(t.map(e=>{let r=Vs(e),n=Uint8Array.from(On.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ae([n,e[1]])),n})))}function vc(t,e){return t.size>0?t.size/8:t.size===0?0:On.default.decode(e)+(On.default.decode.bytes??0)}function Us(t){let e=[],r=0;for(;r<t.length;){let n=On.default.decode(t,r),i=On.default.decode.bytes??0,s=oe(n),o=vc(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw t0("Invalid address Uint8Array: "+$(t,"base16"));e.push([n,a])}return e}function Ec(t){let e=Us(t),r=wc(e);return hw(r)}function pw(t){t=bc(t);let e=fw(t),r=dw(e);return xc(r)}function e0(t){return pw(t)}function Ks(t){let e=mw(t);if(e!=null)throw e;return Uint8Array.from(t)}function mw(t){try{Us(t)}catch(e){return e}}function bc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function t0(t){return new Error("Error parsing address: "+t)}function Vs(t){return oe(t[0])}var _c=U(Fs(),1);var jt=class extends Error{constructor(e="The operation was aborted"){super(e),this.code=jt.code,this.type=jt.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}},E=class extends Error{constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function Ie(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Jt=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Mn=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},Ti,Bi,Pi,wr,r0,gw=Symbol.for("nodejs.util.inspect.custom"),ww=[oe("dns").code,oe("dns4").code,oe("dns6").code,oe("dnsaddr").code],Sc=new Map,n0=Symbol.for("@multiformats/js-multiaddr/multiaddr");function jr(t){return!!t?.[n0]}var er=class{constructor(e){if(Ti.set(this,void 0),Bi.set(this,void 0),Pi.set(this,void 0),wr.set(this,void 0),this[r0]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=Ks(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=e0(e)}else if(jr(e))this.bytes=Ks(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Jt(this,Ti,"f")==null&&Mn(this,Ti,Ec(this.bytes),"f"),Jt(this,Ti,"f")}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=oe("tcp"),a=oe("udp"),c=oe("ip4"),u=oe("ip6"),l=oe("dns6"),f=oe("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),ww.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,e=d===l.code?6:4),(d===o.code||d===a.code)&&(r=oe(d).name,i=parseInt(p??"")),(d===c.code||d===u.code)&&(r=oe(d).name,n=`${p??""}${s}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},oe(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=_c.default.decode(r,n),s=_c.default.decode.bytes??0,o=oe(i),a=vc(o,r.slice(n+s));n+=a+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Jt(this,Bi,"f")==null&&Mn(this,Bi,Us(this.bytes),"f"),Jt(this,Bi,"f")}stringTuples(){return Jt(this,Pi,"f")==null&&Mn(this,Pi,wc(this.tuples()),"f"),Jt(this,Pi,"f")}encapsulate(e){return e=new er(e),new er(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new er(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new er(xc(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Ci.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?$(Se.decode(`z${n}`),"base58btc"):$(ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(Jt(this,wr,"f")===void 0)try{Mn(this,wr,this.stringTuples().filter(e=>oe(e[0]).path===!0)[0][1],"f"),Jt(this,wr,"f")==null&&Mn(this,wr,null,"f")}catch{Mn(this,wr,null,"f")}return Jt(this,wr,"f")}equals(e){return Ie(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Sc.get(r.name);if(n==null)throw new E(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new er(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Ti=new WeakMap,Bi=new WeakMap,Pi=new WeakMap,wr=new WeakMap,r0=n0,gw)](){return`Multiaddr(${Ec(this.bytes)})`}};function qe(t){return new er(t)}function xw(t){return t[Symbol.asyncIterator]!=null}function vw(t){if(xw(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Ac=vw;function Ew(t){return t[Symbol.asyncIterator]!=null}function bw(t,e){return Ew(t)?async function*(){yield*(await Ac(t)).sort(e)}():function*(){yield*Ac(t).sort(e)}()}var Ic=bw;function _w(t){return t[Symbol.asyncIterator]!=null}function Sw(t){if(_w(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Li=Sw;function Aw(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var qs=Aw;function Iw(t){return t[Symbol.asyncIterator]!=null}function Rw(t,e){if(Iw(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=qs(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var Et=Rw;function Cw(t){return t[Symbol.asyncIterator]!=null}function Tw(t,e){return Cw(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Rc=Tw;var $s=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Li(this.putMany(e,n)),e=[],await Li(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Et(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Et(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Ic(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Et(n,()=>i++>=s)}return e.limit!=null&&(n=Rc(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Et(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Et(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Ic(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Et(n,()=>s++>=i)}return e.limit!=null&&(n=Rc(n,e.limit)),n}};var zs=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var tr="/",i0=new TextEncoder().encode(tr),Hs=i0[0],be=class{constructor(e,r){if(typeof e=="string")this._buf=K(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Hs)throw new Error("Invalid key")}toString(e="utf8"){return $(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new be(e.join(tr))}static random(){return new be(zs().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new be(e):typeof e.uint8Array=="function"?new be(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=i0),this._buf[0]!==Hs){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Hs,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Hs;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return be.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(tr).slice(1)}type(){return Bw(this.baseNamespace())}name(){return Pw(this.baseNamespace())}instance(e){return new be(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(tr)||(e+=tr),e+=this.type(),new be(e)}parent(){let e=this.list();return e.length===1?new be(tr):new be(e.slice(0,-1).join(tr))}child(e){return this.toString()===tr?e:e.toString()===tr?this:new be(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return be.withNamespaces([...this.namespaces(),...Lw(e.map(r=>r.namespaces()))])}};function Bw(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Pw(t){let e=t.split(":");return e[e.length-1]}function Lw(t){return[].concat(...t)}var a0=U(Cc(),1);function c0(t){return t=t??new Error("Not Found"),(0,a0.default)(t,"ERR_NOT_FOUND")}var Gs=class extends $s{constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw c0();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new be(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new be(e)}};var bt;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(bt||(bt={}));var D;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(D||(D={}));function kw(t){return t[Symbol.asyncIterator]!=null}function Ow(t,e){if(kw(t))return async function*(){for await(let a of t)yield e(a)}();let r=qs(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var u0=Ow;async function*Di(t,e){yield*u0(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ys(t){let e=new Set;return Et(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Ws(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Qs=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Fn=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Qs(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Qs(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function Jr(t={}){return Mw(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Mw(t,e){e=e??{};let r=e.onEnd,n=new Fn,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(t(n))}catch(x){y(x)}return i}}):t(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new Fn,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?u(m):c({done:!0})),h=()=>(n=new Fn,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:l,end:f,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}function Fw(t){return t[Symbol.asyncIterator]!=null}function Uw(...t){let e=[];for(let r of t)Fw(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Jr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var xr=Uw;function en(t,...e){if(t==null)throw new Error("Empty pipeline");if(Tc(t)){let n=t;t=()=>n.source}else if(f0(t)||l0(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Tc(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Tc(r[n])&&(r[n]=Vw(r[n]));return Kw(...r)}var Kw=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},l0=t=>t?.[Symbol.asyncIterator]!=null,f0=t=>t?.[Symbol.iterator]!=null,Tc=t=>t==null?!1:t.sink!=null&&t.source!=null,Vw=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Jr({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(l0(s))i=async function*(){yield*s,n.end()};else if(f0(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return xr(n,i())}return t.source};function qw(t){return t[Symbol.asyncIterator]!=null}function $w(t){if(qw(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Xs=$w;var eo=U(d0(),1),A0=U(Ni(),1);function vr(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}var S0=G("libp2p:peer-routing"),Js=class{constructor(e,r){this.components=e,this.routers=r.routers??[],this.refreshManagerInit=r.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,eo.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new AbortController;let e=vr([this.abortController.signal,AbortSignal.timeout(this.refreshManagerInit.timeout??1e4)]);try{(0,A0.setMaxListeners)?.(1/0,e)}catch{}await Li(this.getClosestPeers(this.components.peerId.toBytes(),{signal:e}))}catch(e){S0.error(e)}finally{this.abortController?.abort(),this.abortController=void 0}}async stop(){(0,eo.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",D.ERR_FIND_SELF);let n=await en(xr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){S0.error(s)}}())),i=>Et(i,Boolean),i=>Di(i,this.components.peerStore),async i=>await Xs(i));if(n!=null)return n;throw new E(bt.NOT_FOUND,D.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*en(xr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Di(n,this.components.peerStore),n=>Ys(n),n=>Ws(n))}};var to=class{constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*en(xr(...this.routers.map(n=>n.findProviders(e,r))),n=>Di(n,this.components.peerStore),n=>Ys(n),n=>Ws(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new E(bt.NOT_STARTED_YET,D.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new E(bt.NOT_STARTED_YET,D.DHT_NOT_STARTED);return await Promise.any(this.routers.map(async n=>await n.get(e,r)))}};var Pc=Symbol.for("@libp2p/peer-id");function ro(t){return t!=null&&!!t[Pc]}var ex=Symbol.for("nodejs.util.inspect.custom"),I0=Object.values(gr).map(t=>t.decoder).reduce((t,e)=>t.or(e),gr.identity.decoder),R0=114,Lc=36,Dc=37,ki=class{constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Pc](){return!0}toString(){return this.string==null&&(this.string=Se.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ue.createV1(R0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Ie(this.multihash.bytes,e);if(typeof e=="string")return ne(e).equals(this);if(e?.multihash?.bytes!=null)return Ie(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[ex](){return`PeerId(${this.toString()})`}},Vn=class extends ki{constructor(e){super({...e,type:"RSA"}),this.type="RSA",this.publicKey=e.publicKey}},qn=class extends ki{constructor(e){super({...e,type:"Ed25519"}),this.type="Ed25519",this.publicKey=e.multihash.digest}},$n=class extends ki{constructor(e){super({...e,type:"secp256k1"}),this.type="secp256k1",this.publicKey=e.multihash.digest}};function ne(t,e){if(e=e??I0,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Qr(Se.decode(`z${t}`));return t.startsWith("12D")?new qn({multihash:r}):t.startsWith("16U")?new $n({multihash:r}):new Vn({multihash:r})}return no(I0.decode(t))}function no(t){try{let e=Qr(t);if(e.code===yr.code){if(e.digest.length===Lc)return new qn({multihash:e});if(e.digest.length===Dc)return new $n({multihash:e})}if(e.code===Ke.code)return new Vn({multihash:e})}catch{return tx(ue.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function tx(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==R0)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ke.code)return new Vn({multihash:t.multihash});if(e.code===yr.code){if(e.digest.length===Lc)return new qn({multihash:t.multihash});if(e.digest.length===Dc)return new $n({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Oi(t,e){return t.length===Lc?new qn({multihash:Dt(yr.code,t),privateKey:e}):t.length===Dc?new $n({multihash:Dt(yr.code,t),privateKey:e}):new Vn({multihash:await Ke.digest(t),publicKey:t,privateKey:e})}var rx=G("libp2p:address-manager"),nx=t=>t;function Nc(t,e){let r=t.getPeerId();return r!=null&&ne(r).equals(e)&&(t=t.decapsulate(qe(`/p2p/${e.toString()}`))),t}var io=class{constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??nx}getListenAddrs(){return Array.from(this.listen).map(e=>qe(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>qe(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>qe(e))}addObservedAddr(e){e=Nc(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Nc(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddresses()}).catch(s=>{rx.error("error updating addresses",s)})}removeObservedAddr(e){e=Nc(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>qe(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var C0="keep-alive";var rd=U(_h(),1);var Ux=G("libp2p:get-peer");function oo(t){if(ro(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:ne(r),t.forEach(n=>{if(!jr(n))throw Ux.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",D.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}else{let s=ne(i);if(e==null||!e.equals(s))throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function rr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var nr=class{constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return rr(this.map.entries(),e=>[ne(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ne(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return rr(this.map.keys(),e=>ne(e))}values(){return this.map.values()}get size(){return this.map.size}};var ir=class{constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return rr(this.set.entries(),e=>{let r=ne(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ne(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return rr(this.set.values(),e=>ne(e))}intersection(e){let r=new ir;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new ir;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new ir;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Wn=class{constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return rr(this.list.entries(),e=>ne(e[1]))}concat(e){let r=new Wn(this);for(let n of e)r.push(n);return r}entries(){return rr(this.list.entries(),e=>[e[0],ne(e[1])])}every(e){return this.list.every((r,n)=>e(ne(r),n,this))}filter(e){let r=new Wn;return this.list.forEach((n,i)=>{let s=ne(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(ne(n),i,this));if(r!=null)return ne(r)}findIndex(e){return this.list.findIndex((r,n)=>e(ne(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(ne(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return ne(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return ne(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var Nh=U(Ah(),1);var Ki=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Qc=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Ih=t=>globalThis.DOMException===void 0?new Qc(t):new DOMException(t),Rh=t=>{let e=t.reason===void 0?Ih("This operation was aborted."):t.reason;return e instanceof Error?e:Ih(e)};function Xc(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(Rh(c)),c.addEventListener("abort",()=>{a(Rh(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Ki(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Zc(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var rn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},sr,Vi=class{constructor(){sr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&rn(this,sr,"f")[this.size-1].priority>=r.priority){rn(this,sr,"f").push(n);return}let i=Zc(rn(this,sr,"f"),n,(s,o)=>o.priority-s.priority);rn(this,sr,"f").splice(i,0,n)}dequeue(){let e=rn(this,sr,"f").shift();return e?.run}filter(e){return rn(this,sr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return rn(this,sr,"f").length}};sr=new WeakMap;var ve=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Re,$i,zi,br,po,Hi,co,_t,qi,it,uo,st,Gi,Er,lo,Ch,Th,Lh,Bh,Ph,fo,jc,Jc,mo,Dh,ho,yo=class extends Error{},St=class extends Nh.default{constructor(e){var r,n,i,s;if(super(),Re.add(this),$i.set(this,void 0),zi.set(this,void 0),br.set(this,0),po.set(this,void 0),Hi.set(this,void 0),co.set(this,0),_t.set(this,void 0),qi.set(this,void 0),it.set(this,void 0),uo.set(this,void 0),st.set(this,0),Gi.set(this,void 0),Er.set(this,void 0),lo.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Vi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);ve(this,$i,e.carryoverConcurrencyCount,"f"),ve(this,zi,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),ve(this,po,e.intervalCap,"f"),ve(this,Hi,e.interval,"f"),ve(this,it,new e.queueClass,"f"),ve(this,uo,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,ve(this,lo,e.throwOnTimeout===!0,"f"),ve(this,Er,e.autoStart===!1,"f")}get concurrency(){return k(this,Gi,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);ve(this,Gi,e,"f"),k(this,Re,"m",mo).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,lo,"f"),...r},new Promise((n,i)=>{k(this,it,"f").enqueue(async()=>{var s,o,a;ve(this,st,(o=k(this,st,"f"),o++,o),"f"),ve(this,br,(a=k(this,br,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new yo("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Xc(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Re,"m",Dh).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Ki&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Re,"m",Lh).call(this)}},r),this.emit("add"),k(this,Re,"m",fo).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Er,"f")?(ve(this,Er,!1,"f"),k(this,Re,"m",mo).call(this),this):this}pause(){ve(this,Er,!0,"f")}clear(){ve(this,it,new(k(this,uo,"f")),"f")}async onEmpty(){k(this,it,"f").size!==0&&await k(this,Re,"m",ho).call(this,"empty")}async onSizeLessThan(e){k(this,it,"f").size<e||await k(this,Re,"m",ho).call(this,"next",()=>k(this,it,"f").size<e)}async onIdle(){k(this,st,"f")===0&&k(this,it,"f").size===0||await k(this,Re,"m",ho).call(this,"idle")}get size(){return k(this,it,"f").size}sizeBy(e){return k(this,it,"f").filter(e).length}get pending(){return k(this,st,"f")}get isPaused(){return k(this,Er,"f")}};$i=new WeakMap,zi=new WeakMap,br=new WeakMap,po=new WeakMap,Hi=new WeakMap,co=new WeakMap,_t=new WeakMap,qi=new WeakMap,it=new WeakMap,uo=new WeakMap,st=new WeakMap,Gi=new WeakMap,Er=new WeakMap,lo=new WeakMap,Re=new WeakSet,Ch=function(){return k(this,zi,"f")||k(this,br,"f")<k(this,po,"f")},Th=function(){return k(this,st,"f")<k(this,Gi,"f")},Lh=function(){var e;ve(this,st,(e=k(this,st,"f"),e--,e),"f"),k(this,Re,"m",fo).call(this),this.emit("next")},Bh=function(){k(this,Re,"m",Jc).call(this),k(this,Re,"m",jc).call(this),ve(this,qi,void 0,"f")},Ph=function(){let e=Date.now();if(k(this,_t,"f")===void 0){let r=k(this,co,"f")-e;if(r<0)ve(this,br,k(this,$i,"f")?k(this,st,"f"):0,"f");else return k(this,qi,"f")===void 0&&ve(this,qi,setTimeout(()=>{k(this,Re,"m",Bh).call(this)},r),"f"),!0}return!1},fo=function(){if(k(this,it,"f").size===0)return k(this,_t,"f")&&clearInterval(k(this,_t,"f")),ve(this,_t,void 0,"f"),this.emit("empty"),k(this,st,"f")===0&&this.emit("idle"),!1;if(!k(this,Er,"f")){let e=!k(this,Re,"a",Ph);if(k(this,Re,"a",Ch)&&k(this,Re,"a",Th)){let r=k(this,it,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Re,"m",jc).call(this),!0):!1}}return!1},jc=function(){k(this,zi,"f")||k(this,_t,"f")!==void 0||(ve(this,_t,setInterval(()=>{k(this,Re,"m",Jc).call(this)},k(this,Hi,"f")),"f"),ve(this,co,Date.now()+k(this,Hi,"f"),"f"))},Jc=function(){k(this,br,"f")===0&&k(this,st,"f")===0&&k(this,_t,"f")&&(clearInterval(k(this,_t,"f")),ve(this,_t,void 0,"f")),ve(this,br,k(this,$i,"f")?k(this,st,"f"):0,"f"),k(this,Re,"m",mo).call(this)},mo=function(){for(;k(this,Re,"m",fo).call(this););},Dh=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new yo("The task was aborted."))},{once:!0})})},ho=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var kt=G("libp2p:connection-manager:auto-dial"),go={minConnections:50,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},wo=class{constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??go.minConnections,this.autoDialPriority=r.autoDialPriority??go.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??go.autoDialInterval,this.started=!1,this.queue=new St({concurrency:r.autoDialConcurrency??go.autoDialConcurrency}),this.queue.addListener("error",n=>{kt.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{kt.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setInterval(()=>{this.autoDial().catch(e=>{kt.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{kt.error("error while autodialing",e)})}stop(){this.queue.clear(),clearInterval(this.autoDialInterval),this.started=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnections().length;if(e>=this.minConnections){kt("have enough connections %d/%d",e,this.minConnections);return}kt("not enough connections %d/%d - will dial peers to increase the number of connections",e,this.minConnections);let r=await this.peerStore.all(),i=r.filter(a=>a.addresses.length!==0).sort(()=>Math.random()>.5?1:-1),s=new nr;for(let a of i)s.has(a.id)||s.set(a.id,[...a.tags.values()].reduce((c,u)=>c+u.value,0));let o=i.sort((a,c)=>{let u=s.get(a.id)??0,l=s.get(c.id)??0;return u>l?-1:u<l?1:0});kt("selected %d/%d peers to dial",o.length,r.length);for(let a of o)this.queue.add(async()=>{let c=this.connectionManager.getConnections().length;if(c>=this.minConnections){kt("got enough connections now %d/%d",c,this.minConnections),this.queue.clear();return}kt("connecting to a peerStore stored peer %p",a.id),await this.connectionManager.openConnection(a.id,{priority:this.autoDialPriority})}).catch(c=>{kt.error("could not connect to peerStore stored peer",c)})}};var Vh=U(kh(),1);var Oh="[a-fA-F\\d:]",_r=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Oh})|(?<=${Oh})(?=\\s|$))`:"",At="(?: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}",Pe="[a-fA-F\\d]{1,4}",xo=`
|
|
37
|
+
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function M2(t){return t.replace(/^\s+/,"")}});var Qd=I((oT,Wd)=>{var Mt=se();rn();Ce();var Hd=Wd.exports=Mt.sha256=Mt.sha256||{};Mt.md.sha256=Mt.md.algorithms.sha256=Hd;Hd.create=function(){Gd||F2();var t=null,e=Mt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Mt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Mt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),zd(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Mt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Tu.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};zd(f,r,i);var h=Mt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Tu=null,Gd=!1,Yd=null;function F2(){Tu=String.fromCharCode(128),Tu+=Mt.util.fillString(String.fromCharCode(0),64),Yd=[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],Gd=!0}function zd(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,w=r.length();w>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,d=t.h3,p=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+o+a+Yd[u]+e[u],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+d|0,t.h4=t.h4+p|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,w-=64}}});var Zd=I((aT,Xd)=>{var Ft=se();Ce();var ko=null;Ft.util.isNodejs&&!Ft.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ko=jr());var U2=Xd.exports=Ft.prng=Ft.prng||{};U2.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,h=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed,m=Ft.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Ft.util.nextTick(function(){s(y)});var w=f(e.key,e.seed);e.generated+=w.length,m.putBytes(w),e.key=d(f(e.key,h(e.seed))),e.seed=p(f(e.key,e.seed)),Ft.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var p=Ft.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,p.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=d(l(e.key,e.seed))}return p.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Ft.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(C){return h.getRandomValues(C)});var d=Ft.util.createBuffer();if(l)for(;d.length()<u;){var p=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<u)for(var g,w,_,D=Math.floor(Math.random()*65536);d.length()<u;){w=16807*(D&65535),g=16807*(D>>16),w+=(g&32767)<<16,w+=g>>15,w=(w&2147483647)+(w>>31),D=w&4294967295;for(var y=0;y<3;++y)_=D>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(u)}return ko?(e.seedFile=function(u,l){ko.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return ko.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function d(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(d,p){u.postMessage({forge:{prng:{err:d,bytes:p}}})})};u.addEventListener("message",l)}},e}});var Zi=I((cT,Bu)=>{var Oe=se();Bo();Qd();Zd();Ce();(function(){if(Oe.random&&Oe.random.getBytes){Bu.exports=Oe.random;return}(function(t){var e={},r=new Array(4),n=Oe.util.createBuffer();e.formatKey=function(f){var h=Oe.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Oe.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Oe.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return Oe.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Oe.md.sha256;function i(){var f=Oe.prng.create(e);return f.getBytes=function(h,d){return f.generate(h,d)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=Oe.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Oe.options.usePureJavaScript||!Oe.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Oe.random)Oe.random=s;else for(var l in s)Oe.random[l]=s[l];Oe.random.createInstance=i,Bu.exports=Oe.random})(typeof jQuery<"u"?jQuery:null)})()});var tp=I((uT,ep)=>{var Xe=se();Ce();var Pu=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],jd=[1,2,3,5],K2=function(t,e){return t<<e&65535|(t&65535)>>16-e},V2=function(t,e){return(t&65535)>>e|t<<16-e&65535};ep.exports=Xe.rc2=Xe.rc2||{};Xe.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Xe.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Pu[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Pu[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Pu[r.at(a+1)^r.at(a+s)]);return r};var Jd=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Xe.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=K2(p[u],jd[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=V2(p[u],jd[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var h=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var w=0;w<p[g][0];w++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=Xe.util.createBuffer(p)),n=!1,i=Xe.util.createBuffer(),s=m||new Xe.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(r)if(p)m=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!r&&(m=i.length()===0,m))if(p)m=p(8,s,!r);else{var g=s.length(),w=s.at(g-1);w>g?m=!1:s.truncate(w)}return m}},d};Xe.rc2.startEncrypting=function(t,e,r){var n=Xe.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Xe.rc2.createEncryptionCipher=function(t,e){return Jd(t,e,!0)};Xe.rc2.startDecrypting=function(t,e,r){var n=Xe.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Xe.rc2.createDecryptionCipher=function(t,e){return Jd(t,e,!1)}});var Fo=I((lT,up)=>{var Lu=se();up.exports=Lu.jsbn=Lu.jsbn||{};var or,q2=0xdeadbeefcafe,rp=(q2&16777215)==15715070;function S(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Lu.jsbn.BigInteger=S;function J(){return new S(null)}function $2(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function z2(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function np(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=np,or=28):rp&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=z2,or=30):rp&&navigator.appName!="Netscape"?(S.prototype.am=$2,or=26):(S.prototype.am=np,or=28);S.prototype.DB=or;S.prototype.DM=(1<<or)-1;S.prototype.DV=1<<or;var Du=52;S.prototype.FV=Math.pow(2,Du);S.prototype.F1=Du-or;S.prototype.F2=2*or-Du;var H2="0123456789abcdefghijklmnopqrstuvwxyz",Oo=new Array,ei,ht;ei="0".charCodeAt(0);for(ht=0;ht<=9;++ht)Oo[ei++]=ht;ei="a".charCodeAt(0);for(ht=10;ht<36;++ht)Oo[ei++]=ht;ei="A".charCodeAt(0);for(ht=10;ht<36;++ht)Oo[ei++]=ht;function ip(t){return H2.charAt(t)}function sp(t,e){var r=Oo[t.charCodeAt(e)];return r??-1}function G2(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function Y2(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Rr(t){var e=J();return e.fromInt(t),e}function W2(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:sp(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function Q2(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function X2(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=ip(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=ip(n));return i?s:"0"}function Z2(){var t=J();return S.ZERO.subTo(this,t),t}function j2(){return this.s<0?this.negate():this}function J2(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Mo(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function ev(){return this.t<=0?0:this.DB*(this.t-1)+Mo(this.data[this.t-1]^this.s&this.DM)}function tv(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function rv(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function nv(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function iv(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function sv(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function ov(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&S.ZERO.subTo(e,e)}function av(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function cv(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=J());var s=J(),o=this.s,a=t.s,c=this.DB-Mo(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=e??J();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+p)*d);if((r.data[m]+=s.am(0,w,r,y,0,u))<w)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--w;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&S.ZERO.subTo(r,r)}}}function uv(t){var e=J();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function nn(t){this.m=t}function lv(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function fv(t){return t}function hv(t){t.divRemTo(this.m,null,t)}function dv(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function pv(t,e){t.squareTo(e),this.reduce(e)}nn.prototype.convert=lv;nn.prototype.revert=fv;nn.prototype.reduce=hv;nn.prototype.mulTo=dv;nn.prototype.sqrTo=pv;function mv(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function sn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function yv(t){var e=J();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function gv(t){var e=J();return t.copyTo(e),this.reduce(e),e}function xv(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function wv(t,e){t.squareTo(e),this.reduce(e)}function vv(t,e,r){t.multiplyTo(e,r),this.reduce(r)}sn.prototype.convert=yv;sn.prototype.revert=gv;sn.prototype.reduce=xv;sn.prototype.mulTo=vv;sn.prototype.sqrTo=wv;function Ev(){return(this.t>0?this.data[0]&1:this.s)==0}function bv(t,e){if(t>4294967295||t<1)return S.ONE;var r=J(),n=J(),i=e.convert(this),s=Mo(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function _v(t,e){var r;return t<256||e.isEven()?r=new nn(e):r=new sn(e),this.exp(t,r)}S.prototype.copyTo=G2;S.prototype.fromInt=Y2;S.prototype.fromString=W2;S.prototype.clamp=Q2;S.prototype.dlShiftTo=tv;S.prototype.drShiftTo=rv;S.prototype.lShiftTo=nv;S.prototype.rShiftTo=iv;S.prototype.subTo=sv;S.prototype.multiplyTo=ov;S.prototype.squareTo=av;S.prototype.divRemTo=cv;S.prototype.invDigit=mv;S.prototype.isEven=Ev;S.prototype.exp=bv;S.prototype.toString=X2;S.prototype.negate=Z2;S.prototype.abs=j2;S.prototype.compareTo=J2;S.prototype.bitLength=ev;S.prototype.mod=uv;S.prototype.modPowInt=_v;S.ZERO=Rr(0);S.ONE=Rr(1);function Sv(){var t=J();return this.copyTo(t),t}function Av(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function Rv(){return this.t==0?this.s:this.data[0]<<24>>24}function Iv(){return this.t==0?this.s:this.data[0]<<16>>16}function Cv(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Tv(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Bv(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Rr(r),i=J(),s=J(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function Pv(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=sp(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function Lv(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(S.ONE.shiftLeft(t-1),Nu,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Dv(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Nv(t){return this.compareTo(t)==0}function kv(t){return this.compareTo(t)<0?this:t}function Ov(t){return this.compareTo(t)>0?this:t}function Mv(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Fv(t,e){return t&e}function Uv(t){var e=J();return this.bitwiseTo(t,Fv,e),e}function Nu(t,e){return t|e}function Kv(t){var e=J();return this.bitwiseTo(t,Nu,e),e}function op(t,e){return t^e}function Vv(t){var e=J();return this.bitwiseTo(t,op,e),e}function ap(t,e){return t&~e}function qv(t){var e=J();return this.bitwiseTo(t,ap,e),e}function $v(){for(var t=J(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function zv(t){var e=J();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Hv(t){var e=J();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Gv(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function Yv(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Gv(this.data[t]);return this.s<0?this.t*this.DB:-1}function Wv(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Qv(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Wv(this.data[r]^e);return t}function Xv(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Zv(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function jv(t){return this.changeBit(t,Nu)}function Jv(t){return this.changeBit(t,ap)}function eE(t){return this.changeBit(t,op)}function tE(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function rE(t){var e=J();return this.addTo(t,e),e}function nE(t){var e=J();return this.subTo(t,e),e}function iE(t){var e=J();return this.multiplyTo(t,e),e}function sE(t){var e=J();return this.divRemTo(t,e,null),e}function oE(t){var e=J();return this.divRemTo(t,null,e),e}function aE(t){var e=J(),r=J();return this.divRemTo(t,e,r),new Array(e,r)}function cE(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function uE(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function ji(){}function cp(t){return t}function lE(t,e,r){t.multiplyTo(e,r)}function fE(t,e){t.squareTo(e)}ji.prototype.convert=cp;ji.prototype.revert=cp;ji.prototype.mulTo=lE;ji.prototype.sqrTo=fE;function hE(t){return this.exp(t,new ji)}function dE(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function pE(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function ti(t){this.r2=J(),this.q3=J(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function mE(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=J();return t.copyTo(e),this.reduce(e),e}function yE(t){return t}function gE(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function xE(t,e){t.squareTo(e),this.reduce(e)}function wE(t,e,r){t.multiplyTo(e,r),this.reduce(r)}ti.prototype.convert=mE;ti.prototype.revert=yE;ti.prototype.reduce=gE;ti.prototype.mulTo=wE;ti.prototype.sqrTo=xE;function vE(t,e){var r=t.bitLength(),n,i=Rr(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new nn(e):e.isEven()?s=new ti(e):s=new sn(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=J();for(s.sqrTo(o[1],l);a<=u;)o[a]=J(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,d=!0,p=J(),m;for(r=Mo(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),d)o[h].copyTo(i),d=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(m=i,i=p,p=m),s.mulTo(p,o[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function EE(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function bE(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function _E(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=Rr(1),s=Rr(0),o=Rr(0),a=Rr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var It=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],SE=(1<<26)/It[It.length-1];function AE(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=It[It.length-1]){for(e=0;e<It.length;++e)if(r.data[0]==It[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<It.length;){for(var n=It[e],i=e+1;i<It.length&&n<SE;)n*=It[i++];for(n=r.modInt(n);e<i;)if(n%It[e++]==0)return!1}return r.millerRabin(t)}function RE(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=IE(),s,o=0;o<t;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function IE(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Cv;S.prototype.toRadix=Bv;S.prototype.fromRadix=Pv;S.prototype.fromNumber=Lv;S.prototype.bitwiseTo=Mv;S.prototype.changeBit=Zv;S.prototype.addTo=tE;S.prototype.dMultiply=cE;S.prototype.dAddOffset=uE;S.prototype.multiplyLowerTo=dE;S.prototype.multiplyUpperTo=pE;S.prototype.modInt=bE;S.prototype.millerRabin=RE;S.prototype.clone=Sv;S.prototype.intValue=Av;S.prototype.byteValue=Rv;S.prototype.shortValue=Iv;S.prototype.signum=Tv;S.prototype.toByteArray=Dv;S.prototype.equals=Nv;S.prototype.min=kv;S.prototype.max=Ov;S.prototype.and=Uv;S.prototype.or=Kv;S.prototype.xor=Vv;S.prototype.andNot=qv;S.prototype.not=$v;S.prototype.shiftLeft=zv;S.prototype.shiftRight=Hv;S.prototype.getLowestSetBit=Yv;S.prototype.bitCount=Qv;S.prototype.testBit=Xv;S.prototype.setBit=jv;S.prototype.clearBit=Jv;S.prototype.flipBit=eE;S.prototype.add=rE;S.prototype.subtract=nE;S.prototype.multiply=iE;S.prototype.divide=sE;S.prototype.remainder=oE;S.prototype.divideAndRemainder=aE;S.prototype.modPow=vE;S.prototype.modInverse=_E;S.prototype.pow=hE;S.prototype.gcd=EE;S.prototype.isProbablePrime=AE});var pp=I((fT,dp)=>{var Ut=se();rn();Ce();var fp=dp.exports=Ut.sha1=Ut.sha1||{};Ut.md.sha1=Ut.md.algorithms.sha1=fp;fp.create=function(){hp||CE();var t=null,e=Ut.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Ut.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Ut.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),lp(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ut.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ku.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};lp(f,r,i);var h=Ut.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var ku=null,hp=!1;function CE(){ku=String.fromCharCode(128),ku+=Ut.util.fillString(String.fromCharCode(0),64),hp=!0}function lp(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var gp=I((hT,yp)=>{var Kt=se();Ce();Zi();pp();var mp=yp.exports=Kt.pkcs1=Kt.pkcs1||{};mp.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=Kt.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-e.length,d=0;d<h;d++)f+="\0";var p=l.getBytes()+f+""+e;if(!i)i=Kt.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=Uo(i,a-s.digestLength-1,o),y=Kt.util.xorBytes(p,m,p.length),g=Uo(y,s.digestLength,o),w=Kt.util.xorBytes(i,g,i.length);return"\0"+w+y};mp.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=Kt.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=Uo(l,i.digestLength,s),h=Kt.util.xorBytes(u,f,u.length),d=Uo(h,o-i.digestLength-1,s),p=Kt.util.xorBytes(l,d,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var w=1,_=i.digestLength,D=i.digestLength;D<p.length;D++){var C=p.charCodeAt(D),T=C&1^1,H=w?65534:0;y|=C&H,w=w&T,_+=w}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function Uo(t,e,r){r||(r=Kt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var xp=I((dT,Ou)=>{var Ir=se();Ce();Fo();Zi();(function(){if(Ir.prime){Ou.exports=Ir.prime;return}var t=Ou.exports=Ir.prime=Ir.prime||{},e=Ir.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,d){typeof h=="function"&&(d=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=h.prng||Ir.random,y={nextBytes:function(g){for(var w=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=w.charCodeAt(_)}};if(p.name==="PRIMEINC")return s(f,y,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,h,d,p){return"workers"in d?c(f,h,d,p):o(f,h,d,p)}function o(f,h,d,p){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var w=10;"maxBlockTime"in d&&(w=d.maxBlockTime),a(m,f,h,y,g,w,p)}function a(f,h,d,p,m,y,g){var w=+new Date;do{if(f.bitLength()>h&&(f=u(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-w<y);Ir.util.setImmediate(function(){a(f,h,d,p,m,y,g)})}function c(f,h,d,p){if(typeof Worker>"u")return o(f,h,d,p);var m=u(f,h),y=d.workers,g=d.workLoad||100,w=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return Ir.util.estimateCores(function(C,T){C&&(T=2),y=T-1,D()});D();function D(){y=Math.max(1,y);for(var C=[],T=0;T<y;++T)C[T]=new Worker(_);for(var H=y,T=0;T<y;++T)C[T].addEventListener("message",De);var W=!1;function De(wt){if(!W){--H;var et=wt.data;if(et.found){for(var He=0;He<C.length;++He)C[He].terminate();return W=!0,p(null,new e(et.prime,16))}m.bitLength()>f&&(m=u(f,h));var _n=m.toString(16);wt.target.postMessage({hex:_n,workLoad:g}),m.dAddOffset(w,0)}}}}function u(f,h){var d=new e(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(e.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Vo=I((pT,Ap)=>{var M=se();Xi();Fo();Ao();gp();xp();Zi();Ce();typeof X>"u"&&(X=M.jsbn.BigInteger);var X,Mu=M.util.isNodejs?jr():null,v=M.asn1,dt=M.util;M.pki=M.pki||{};Ap.exports=M.pki.rsa=M.rsa=M.rsa||{};var K=M.pki,TE=[6,4,2,4,2,4,6,2],BE={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},PE={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},LE={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},DE=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},NE={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},kE=function(t){var e;if(t.algorithm in K.oids)e=K.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},_p=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(X.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(X.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new X(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(X.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};K.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Sp(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new X(i.toHex(),16),a=_p(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};K.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new X(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=_p(o,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?Ko(u.getBytes(),e,r):u.getBytes()};K.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new X(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};K.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new X(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new X(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(X.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(ME(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(TE[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(X.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};K.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(wp("generateKeyPair"))return Mu.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:K.privateKeyFromPem(u),publicKey:K.publicKeyFromPem(c)})});if(vp("generateKey")&&vp("exportKey"))return dt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:bp(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return dt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:K.setRsaPublicKey(c.n,c.e)})}});if(Ep("generateKey")&&Ep("exportKey")){var i=dt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:bp(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=dt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:K.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(wp("generateKeyPairSync")){var s=Mu.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(s.privateKey),publicKey:K.publicKeyFromPem(s.publicKey)}}}var o=K.rsa.createKeyPairGenerationState(t,e,r);if(!n)return K.rsa.stepKeyPairGenerationState(o,0),o.keys;OE(o,r,n)};K.setRsaPublicKey=K.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Sp(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return K.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=Ko(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,NE,f,h)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=h,d}var p=v.derToOid(f.algorithmIdentifier);if(!(p===M.oids.md2||p===M.oids.md5||p===M.oids.sha1||p===M.oids.sha224||p===M.oids.sha256||p===M.oids.sha384||p===M.oids.sha512||p===M.oids["sha512-224"]||p===M.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===M.oids.md2||p===M.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=Ko(u,r,!0),c===u}});var a=K.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=K.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Ko};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(d,p){return M.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(h,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:kE},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return K.rsa.encrypt(h,c,f)},c};K.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};K.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,BE,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,PE,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new X(i,16),new X(s,16),new X(o,16),new X(a,16),new X(c,16),new X(u,16),new X(l,16),new X(f,16))};K.privateKeyToAsn1=K.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.qInv))])};K.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,DE,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==K.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,LE,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return K.setRsaPublicKey(new X(s,16),new X(o,16))};K.publicKeyToAsn1=K.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(t)])])};K.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Vt(t.e))])};function Sp(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=M.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function Ko(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function OE(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){M.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.p=null,i();return}if(t.q.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(X.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Vt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function ME(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function wp(t){return M.util.isNodejs&&typeof Mu[t]=="function"}function vp(t){return typeof dt.globalScope<"u"&&typeof dt.globalScope.crypto=="object"&&typeof dt.globalScope.crypto.subtle=="object"&&typeof dt.globalScope.crypto.subtle[t]=="function"}function Ep(t){return typeof dt.globalScope<"u"&&typeof dt.globalScope.msCrypto=="object"&&typeof dt.globalScope.msCrypto.subtle=="object"&&typeof dt.globalScope.msCrypto.subtle[t]=="function"}function bp(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Pp=I((mT,Bp)=>{var P=se();Bo();Xi();Od();rn();Ao();Cu();$d();Zi();tp();Vo();Ce();typeof Rp>"u"&&(Rp=P.jsbn.BigInteger);var Rp,b=P.asn1,q=P.pki=P.pki||{};Bp.exports=q.pbe=P.pbe=P.pbe||{};var on=q.oids,FE={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},UE={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},KE={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=on["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=on["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=on["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=on.desCBC,f=P.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=Tp(d),m=P.pkcs5.pbkdf2(e,n,i,o,p),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes();var w=VE(n,s,o,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(on.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(on.pkcs5PBKDF2).getBytes()),w]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(l).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new P.util.ByteBuffer(n),m=q.pbe.generatePkcs12Key(e,_,1,i,o),y=q.pbe.generatePkcs12Key(e,_,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(on["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var D=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return D};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!b.validate(t,FE,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=b.derToOid(n.encryptionOid),a=q.pbe.getCipher(o,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=P.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=P.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(b.toDer(q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=P.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(b.fromDer(r),e):r=b.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=e.length(),p=new P.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(h/u),w=new P.util.ByteBuffer;for(a=0;a<g;a++)w.putByte(f.at(a%h));var _=y;_.putBuffer(w);for(var D=Math.ceil(i/c),C=1;C<=D;C++){var T=new P.util.ByteBuffer;T.putBytes(p.bytes()),T.putBytes(_.bytes());for(var H=0;H<n;H++)s.start(),s.update(T.getBytes()),T=s.digest();var W=new P.util.ByteBuffer;for(a=0;a<u;a++)W.putByte(T.at(a%c));var De=Math.ceil(d/u)+Math.ceil(h/u),wt=new P.util.ByteBuffer;for(o=0;o<De;o++){var et=new P.util.ByteBuffer(_.getBytes(u)),He=511;for(a=W.length()-1;a>=0;a--)He=He>>8,He+=W.at(a)+et.at(a),et.setAt(a,He&255);wt.putBuffer(et)}_=wt,l.putBuffer(T)}return l.truncate(l.length()-i),l};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!b.validate(e,UE,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=b.derToOid(n.kdfOid),t!==q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=b.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=Cp(n.prfOid),f=P.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,d=u(f);return d.start(h),d};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!b.validate(e,KE,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=Cp(n.prfOid),h=q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,d)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[Ip(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Ip(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Ip(t,e){return t.start().update(e).digest().getBytes()}function Cp(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[b.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Tp(e)}function Tp(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function VE(t,e,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Wp=I((_T,Yp)=>{"use strict";Yp.exports=ob;function ob(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var jp=I(Zp=>{"use strict";var Wo=Zp;Wo.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var ii=new Array(64),Xp=new Array(123);for(Ct=0;Ct<64;)Xp[ii[Ct]=Ct<26?Ct+65:Ct<52?Ct+71:Ct<62?Ct-4:Ct-59|43]=Ct++;var Ct;Wo.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=ii[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=ii[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=ii[c|u>>6],s[o++]=ii[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=ii[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var Qp="invalid encoding";Wo.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=Xp[c])===void 0)throw Error(Qp);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(Qp);return n-i};Wo.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var em=I((AT,Jp)=>{"use strict";Jp.exports=Qo;function Qo(){this._listeners={}}Qo.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Qo.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Qo.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var am=I((RT,om)=>{"use strict";om.exports=tm(tm);function tm(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,rm),t.writeFloatBE=e.bind(null,nm);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,im),t.readFloatBE=r.bind(null,sm)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,rm,0,4),t.writeDoubleBE=e.bind(null,nm,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,im,0,4),t.readDoubleBE=r.bind(null,sm,4,0)}(),t}function rm(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function nm(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function im(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function sm(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var cm=I((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var lm=I(um=>{"use strict";var Yu=um;Yu.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Yu.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};Yu.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var hm=I((CT,fm)=>{"use strict";fm.exports=ab;function ab(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var pm=I((TT,dm)=>{"use strict";dm.exports=Fe;var ns=un();function Fe(t,e){this.lo=t>>>0,this.hi=e>>>0}var cn=Fe.zero=new Fe(0,0);cn.toNumber=function(){return 0};cn.zzEncode=cn.zzDecode=function(){return this};cn.length=function(){return 1};var cb=Fe.zeroHash="\0\0\0\0\0\0\0\0";Fe.fromNumber=function(e){if(e===0)return cn;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Fe(n,i)};Fe.from=function(e){if(typeof e=="number")return Fe.fromNumber(e);if(ns.isString(e))if(ns.Long)e=ns.Long.fromString(e);else return Fe.fromNumber(parseInt(e,10));return e.low||e.high?new Fe(e.low>>>0,e.high>>>0):cn};Fe.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Fe.prototype.toLong=function(e){return ns.Long?new ns.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Dr=String.prototype.charCodeAt;Fe.fromHash=function(e){return e===cb?cn:new Fe((Dr.call(e,0)|Dr.call(e,1)<<8|Dr.call(e,2)<<16|Dr.call(e,3)<<24)>>>0,(Dr.call(e,4)|Dr.call(e,5)<<8|Dr.call(e,6)<<16|Dr.call(e,7)<<24)>>>0)};Fe.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Fe.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Fe.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Fe.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var un=I(Wu=>{"use strict";var O=Wu;O.asPromise=Wp();O.base64=jp();O.EventEmitter=em();O.float=am();O.inquire=cm();O.utf8=lm();O.pool=hm();O.LongBits=pm();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Wu;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function mm(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=mm;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function ym(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&mm(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=ym;O.ProtocolError=ym("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Zu=I((PT,Em)=>{"use strict";Em.exports=Te;var $t=un(),Xu,wm=$t.LongBits,ub=$t.utf8;function Tt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Te(t){this.buf=t,this.pos=0,this.len=t.length}var gm=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Te(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Te(e);throw Error("illegal buffer")},vm=function(){return $t.Buffer?function(r){return(Te.create=function(i){return $t.Buffer.isBuffer(i)?new Xu(i):gm(i)})(r)}:gm};Te.create=vm();Te.prototype._slice=$t.Array.prototype.subarray||$t.Array.prototype.slice;Te.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Tt(this,10);return e}}();Te.prototype.int32=function(){return this.uint32()|0};Te.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Qu(){var t=new wm(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Tt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Tt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Te.prototype.bool=function(){return this.uint32()!==0};function Xo(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Te.prototype.fixed32=function(){if(this.pos+4>this.len)throw Tt(this,4);return Xo(this.buf,this.pos+=4)};Te.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Tt(this,4);return Xo(this.buf,this.pos+=4)|0};function xm(){if(this.pos+8>this.len)throw Tt(this,8);return new wm(Xo(this.buf,this.pos+=4),Xo(this.buf,this.pos+=4))}Te.prototype.float=function(){if(this.pos+4>this.len)throw Tt(this,4);var e=$t.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Te.prototype.double=function(){if(this.pos+8>this.len)throw Tt(this,4);var e=$t.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Te.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Tt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Te.prototype.string=function(){var e=this.bytes();return ub.read(e,0,e.length)};Te.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Tt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Tt(this);while(this.buf[this.pos++]&128);return this};Te.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Te._configure=function(t){Xu=t,Te.create=vm(),Xu._configure();var e=$t.Long?"toLong":"toNumber";$t.merge(Te.prototype,{int64:function(){return Qu.call(this)[e](!1)},uint64:function(){return Qu.call(this)[e](!0)},sint64:function(){return Qu.call(this).zzDecode()[e](!1)},fixed64:function(){return xm.call(this)[e](!0)},sfixed64:function(){return xm.call(this)[e](!1)}})}});var Am=I((LT,Sm)=>{"use strict";Sm.exports=ln;var _m=Zu();(ln.prototype=Object.create(_m.prototype)).constructor=ln;var bm=un();function ln(t){_m.call(this,t)}ln._configure=function(){bm.Buffer&&(ln.prototype._slice=bm.Buffer.prototype.slice)};ln.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};ln._configure()});var il=I((DT,Tm)=>{"use strict";Tm.exports=ee;var pt=un(),ju,Zo=pt.LongBits,Rm=pt.base64,Im=pt.utf8;function is(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function el(){}function lb(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function ee(){this.len=0,this.head=new is(el,0,0),this.tail=this.head,this.states=null}var Cm=function(){return pt.Buffer?function(){return(ee.create=function(){return new ju})()}:function(){return new ee}};ee.create=Cm();ee.alloc=function(e){return new pt.Array(e)};pt.Array!==Array&&(ee.alloc=pt.pool(ee.alloc,pt.Array.prototype.subarray));ee.prototype._push=function(e,r,n){return this.tail=this.tail.next=new is(e,r,n),this.len+=r,this};function tl(t,e,r){e[r]=t&255}function fb(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function rl(t,e){this.len=t,this.next=void 0,this.val=e}rl.prototype=Object.create(is.prototype);rl.prototype.fn=fb;ee.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new rl((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};ee.prototype.int32=function(e){return e<0?this._push(nl,10,Zo.fromNumber(e)):this.uint32(e)};ee.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function nl(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}ee.prototype.uint64=function(e){var r=Zo.from(e);return this._push(nl,r.length(),r)};ee.prototype.int64=ee.prototype.uint64;ee.prototype.sint64=function(e){var r=Zo.from(e).zzEncode();return this._push(nl,r.length(),r)};ee.prototype.bool=function(e){return this._push(tl,1,e?1:0)};function Ju(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}ee.prototype.fixed32=function(e){return this._push(Ju,4,e>>>0)};ee.prototype.sfixed32=ee.prototype.fixed32;ee.prototype.fixed64=function(e){var r=Zo.from(e);return this._push(Ju,4,r.lo)._push(Ju,4,r.hi)};ee.prototype.sfixed64=ee.prototype.fixed64;ee.prototype.float=function(e){return this._push(pt.float.writeFloatLE,4,e)};ee.prototype.double=function(e){return this._push(pt.float.writeDoubleLE,8,e)};var hb=pt.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};ee.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(tl,1,0);if(pt.isString(e)){var n=ee.alloc(r=Rm.length(e));Rm.decode(e,n,0),e=n}return this.uint32(r)._push(hb,r,e)};ee.prototype.string=function(e){var r=Im.length(e);return r?this.uint32(r)._push(Im.write,r,e):this._push(tl,1,0)};ee.prototype.fork=function(){return this.states=new lb(this),this.head=this.tail=new is(el,0,0),this.len=0,this};ee.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new is(el,0,0),this.len=0),this};ee.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};ee.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};ee._configure=function(t){ju=t,ee.create=Cm(),ju._configure()}});var Lm=I((NT,Pm)=>{"use strict";Pm.exports=zt;var Bm=il();(zt.prototype=Object.create(Bm.prototype)).constructor=zt;var Nr=un();function zt(){Bm.call(this)}zt._configure=function(){zt.alloc=Nr._Buffer_allocUnsafe,zt.writeBytesBuffer=Nr.Buffer&&Nr.Buffer.prototype instanceof Uint8Array&&Nr.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};zt.prototype.bytes=function(e){Nr.isString(e)&&(e=Nr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(zt.writeBytesBuffer,r,e),this};function db(t,e,r){t.length<40?Nr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}zt.prototype.string=function(e){var r=Nr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(db,r,e),this};zt._configure()});var Gm=I((L8,Hm)=>{var de=se();rn();Ce();var os=Hm.exports=de.sha512=de.sha512||{};de.md.sha512=de.md.algorithms.sha512=os;var $m=de.sha384=de.sha512.sha384=de.sha512.sha384||{};$m.create=function(){return os.create("SHA-384")};de.md.sha384=de.md.algorithms.sha384=$m;de.sha512.sha256=de.sha512.sha256||{create:function(){return os.create("SHA-512/256")}};de.md["sha512/256"]=de.md.algorithms["sha512/256"]=de.sha512.sha256;de.sha512.sha224=de.sha512.sha224||{create:function(){return os.create("SHA-512/224")}};de.md["sha512/224"]=de.md.algorithms["sha512/224"]=de.sha512.sha224;os.create=function(t){if(zm||bb(),typeof t>"u"&&(t="SHA-512"),!(t in hn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=hn[t],r=null,n=de.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=de.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=de.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),qm(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=de.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(hl.substr(0,a.blockLength-l));for(var f,h,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,h=f/4294967296>>>0,d+=h,c.putInt32(d>>>0),d=f>>>0;c.putInt32(d);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);qm(m,i,c);var y=de.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||t!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var hl=null,zm=!1,dl=null,hn=null;function bb(){hl=String.fromCharCode(128),hl+=de.util.fillString(String.fromCharCode(0),128),dl=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],hn={},hn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],hn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],hn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],hn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],zm=!0}function qm(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,w,_,D,C,T,H,W,De,wt,et,He,_n,Is,Be,Qe,F,La,Da,Na,ka,af=r.length();af>=128;){for(Be=0;Be<16;++Be)e[Be][0]=r.getInt32()>>>0,e[Be][1]=r.getInt32()>>>0;for(;Be<80;++Be)La=e[Be-2],Qe=La[0],F=La[1],n=((Qe>>>19|F<<13)^(F>>>29|Qe<<3)^Qe>>>6)>>>0,i=((Qe<<13|F>>>19)^(F<<3|Qe>>>29)^(Qe<<26|F>>>6))>>>0,Na=e[Be-15],Qe=Na[0],F=Na[1],s=((Qe>>>1|F<<31)^(Qe>>>8|F<<24)^Qe>>>7)>>>0,o=((Qe<<31|F>>>1)^(Qe<<24|F>>>8)^(Qe<<25|F>>>7))>>>0,Da=e[Be-7],ka=e[Be-16],F=i+Da[1]+o+ka[1],e[Be][0]=n+Da[0]+s+ka[0]+(F/4294967296>>>0)>>>0,e[Be][1]=F>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],w=t[1][1],_=t[2][0],D=t[2][1],C=t[3][0],T=t[3][1],H=t[4][0],W=t[4][1],De=t[5][0],wt=t[5][1],et=t[6][0],He=t[6][1],_n=t[7][0],Is=t[7][1],Be=0;Be<80;++Be)u=((H>>>14|W<<18)^(H>>>18|W<<14)^(W>>>9|H<<23))>>>0,l=((H<<18|W>>>14)^(H<<14|W>>>18)^(W<<23|H>>>9))>>>0,f=(et^H&(De^et))>>>0,h=(He^W&(wt^He))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,d=(m&g|_&(m^g))>>>0,p=(y&w|D&(y^w))>>>0,F=Is+l+h+dl[Be][1]+e[Be][1],n=_n+u+f+dl[Be][0]+e[Be][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+p,s=a+d+(F/4294967296>>>0)>>>0,o=F>>>0,_n=et,Is=He,et=De,He=wt,De=H,wt=W,F=T+i,H=C+n+(F/4294967296>>>0)>>>0,W=F>>>0,C=_,T=D,_=g,D=w,g=m,w=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+w,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+D,t[2][0]=t[2][0]+_+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+T,t[3][0]=t[3][0]+C+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+W,t[4][0]=t[4][0]+H+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+wt,t[5][0]=t[5][0]+De+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+He,t[6][0]=t[6][0]+et+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+Is,t[7][0]=t[7][0]+_n+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,af-=128}}});var D_={};Ue(D_,{createLibp2p:()=>L_});var lt=V(Fa(),1);var $a={};Ue($a,{base58btc:()=>Se,base58flickr:()=>Bg});function Ag(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,w=p.length;g!==w&&p[g]===0;)g++,m++;for(var _=(w-g)*l+1>>>0,D=new Uint8Array(_);g!==w;){for(var C=p[g],T=0,H=_-1;(C!==0||T<y)&&H!==-1;H--,T++)C+=256*D[H]>>>0,D[H]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=T,g++}for(var W=_-y;W!==_&&D[W]===0;)W++;for(var De=c.repeat(m);W<_;++W)De+=t.charAt(D[W]);return De}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var w=(p.length-m)*u+1>>>0,_=new Uint8Array(w);p[m];){var D=r[p.charCodeAt(m)];if(D===255)return;for(var C=0,T=w-1;(D!==0||C<g)&&T!==-1;T--,C++)D+=a*_[T]>>>0,_[T]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var H=w-g;H!==w&&_[H]===0;)H++;for(var W=new Uint8Array(y+(w-H)),De=y;H!==w;)W[De++]=_[H++];return W}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var Rg=Ag,Ig=Rg,hf=Ig;var F_=new Uint8Array(0);var df=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Qt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var pf=t=>new TextEncoder().encode(t),mf=t=>new TextDecoder().decode(t);var Ua=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ka=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return gf(this,e)}},Va=class{constructor(e){this.decoders=e}or(e){return gf(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},gf=(t,e)=>new Va({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),qa=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ua(e,r,n),this.decoder=new Ka(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},In=({name:t,prefix:e,encode:r,decode:n})=>new qa(t,e,r,n),dr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=hf(r,e);return In({prefix:t,name:e,encode:n,decode:s=>Qt(i(s))})},Cg=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Tg=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>In({prefix:e,name:t,encode(i){return Tg(i,n,r)},decode(i){return Cg(i,n,r,t)}});var Se=dr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Bg=dr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var za={};Ue(za,{base32:()=>rt,base32hex:()=>Ng,base32hexpad:()=>Og,base32hexpadupper:()=>Mg,base32hexupper:()=>kg,base32pad:()=>Lg,base32padupper:()=>Dg,base32upper:()=>Pg,base32z:()=>Fg});var rt=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Pg=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Lg=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Dg=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ng=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),kg=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Og=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Mg=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Fg=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ha={};Ue(Ha,{base64:()=>Hr,base64pad:()=>Ug,base64url:()=>Kg,base64urlpad:()=>Vg});var Hr=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ug=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Kg=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Vg=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});lt.default.formatters.b=t=>t==null?"undefined":Se.baseEncode(t);lt.default.formatters.t=t=>t==null?"undefined":rt.baseEncode(t);lt.default.formatters.m=t=>t==null?"undefined":Hr.baseEncode(t);lt.default.formatters.p=t=>t==null?"undefined":t.toString();lt.default.formatters.c=t=>t==null?"undefined":t.toString();lt.default.formatters.k=t=>t==null?"undefined":t.toString();function qg(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function G(t){let e=qg(`${t}:trace`);return lt.default.enabled(`${t}:trace`)&<.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,lt.default)(`${t}:trace`)),Object.assign((0,lt.default)(t),{error:(0,lt.default)(`${t}:error`),trace:e})}var bi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Ya(e,r))}},Ga=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Ya=globalThis.CustomEvent??Ga;var Bs=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var xf=45,$g=15,Cn=new Bs;function Wa(t){if(!(t.length>$g))return Cn.new(t).parseWith(()=>Cn.readIPv4Addr())}function Qa(t){if(!(t.length>xf))return Cn.new(t).parseWith(()=>Cn.readIPv6Addr())}function Ps(t){if(!(t.length>xf))return Cn.new(t).parseWith(()=>Cn.readIPAddr())}function wf(t){return!!Wa(t)}function vf(t){return!!Qa(t)}function Tn(t){return!!Ps(t)}var Xa={};Ue(Xa,{identity:()=>zg});var zg=In({prefix:"\0",name:"identity",encode:t=>mf(t),decode:t=>pf(t)});var Za={};Ue(Za,{base2:()=>Hg});var Hg=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ja={};Ue(ja,{base8:()=>Gg});var Gg=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ja={};Ue(Ja,{base10:()=>Yg});var Yg=dr({prefix:"9",name:"base10",alphabet:"0123456789"});var ec={};Ue(ec,{base16:()=>Wg,base16upper:()=>Qg});var Wg=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Qg=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var tc={};Ue(tc,{base36:()=>Xg,base36upper:()=>Zg});var Xg=dr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Zg=dr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var rc={};Ue(rc,{base256emoji:()=>r1});var Ef=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),jg=Ef.reduce((t,e,r)=>(t[r]=e,t),[]),Jg=Ef.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function e1(t){return t.reduce((e,r)=>(e+=jg[r],e),"")}function t1(t){let e=[];for(let r of t){let n=Jg[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var r1=In({prefix:"\u{1F680}",name:"base256emoji",encode:e1,decode:t1});var oc={};Ue(oc,{sha256:()=>Ke,sha512:()=>E1});var n1=Sf,bf=128,i1=127,s1=~i1,o1=Math.pow(2,31);function Sf(t,e,r){e=e||[],r=r||0;for(var n=r;t>=o1;)e[r++]=t&255|bf,t/=128;for(;t&s1;)e[r++]=t&255|bf,t>>>=7;return e[r]=t|0,Sf.bytes=r-n+1,e}var a1=nc,c1=128,_f=127;function nc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw nc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&_f)<<i:(o&_f)*Math.pow(2,i),i+=7}while(o>=c1);return nc.bytes=s-n,r}var u1=Math.pow(2,7),l1=Math.pow(2,14),f1=Math.pow(2,21),h1=Math.pow(2,28),d1=Math.pow(2,35),p1=Math.pow(2,42),m1=Math.pow(2,49),y1=Math.pow(2,56),g1=Math.pow(2,63),x1=function(t){return t<u1?1:t<l1?2:t<f1?3:t<h1?4:t<d1?5:t<p1?6:t<m1?7:t<y1?8:t<g1?9:10},w1={encode:n1,decode:a1,encodingLength:x1},v1=w1,_i=v1;var Si=(t,e=0)=>[_i.decode(t,e),_i.decode.bytes],Bn=(t,e,r=0)=>(_i.encode(t,e,r),e),Pn=t=>_i.encodingLength(t);var Dt=(t,e)=>{let r=e.byteLength,n=Pn(t),i=n+Pn(r),s=new Uint8Array(i+r);return Bn(t,s,0),Bn(r,s,n),s.set(e,i),new Ln(t,r,e,s)},Gr=t=>{let e=Qt(t),[r,n]=Si(e),[i,s]=Si(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Ln(r,i,o,e)},Af=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&df(t.bytes,r.bytes)}},Ln=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var sc=({name:t,code:e,encode:r})=>new ic(t,e,r),ic=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dt(this.code,r):r.then(n=>Dt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var If=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ke=sc({name:"sha2-256",code:18,encode:If("SHA-256")}),E1=sc({name:"sha2-512",code:19,encode:If("SHA-512")});var ac={};Ue(ac,{identity:()=>pr});var Cf=0,b1="identity",Tf=Qt,_1=t=>Dt(Cf,Tf(t)),pr={code:Cf,name:b1,encode:Tf,digest:_1};var mS=new TextEncoder,yS=new TextDecoder;var Bf=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return I1(r,cc(t),e||Se.encoder);default:return C1(r,cc(t),e||rt.encoder)}};var Pf=new WeakMap,cc=t=>{let e=Pf.get(t);if(e==null){let r=new Map;return Pf.set(t,r),r}return e},ue=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ai)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==T1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ue.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Dt(e,r);return ue.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ue.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Af(e.multihash,n.multihash)}toString(e){return Bf(this,e)}toJSON(){return{"/":Bf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ue)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ue(n,i,s,o||Lf(n,i,s.bytes))}else if(r[B1]===!0){let{version:n,multihash:i,code:s}=r,o=Gr(i);return ue.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ai)throw new Error(`Version 0 CID must use dag-pb (code: ${Ai}) block encoding`);return new ue(e,r,n,n.bytes)}case 1:{let i=Lf(e,r,n.bytes);return new ue(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ue.create(0,Ai,e)}static createV1(e,r){return ue.create(1,e,r)}static decode(e){let[r,n]=ue.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ue.inspectBytes(e),n=r.size-r.multihashSize,i=Qt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Ln(r.multihashCode,r.digestSize,s,i);return[r.version===0?ue.createV0(o):ue.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Si(e.subarray(r));return r+=h,f},i=n(),s=Ai;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=R1(e,r),s=ue.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cc(s).set(n,e),s}},R1=(t,e)=>{switch(t[0]){case"Q":{let r=e||Se;return[Se.prefix,r.decode(`${Se.prefix}${t}`)]}case Se.prefix:{let r=e||Se;return[Se.prefix,r.decode(t)]}case rt.prefix:{let r=e||rt;return[rt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},I1=(t,e,r)=>{let{prefix:n}=r;if(n!==Se.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},C1=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Ai=112,T1=18,Lf=(t,e,r)=>{let n=Pn(t),i=n+Pn(e),s=new Uint8Array(i+r.byteLength);return Bn(t,s,0),Bn(e,s,n),s.set(r,i),s},B1=Symbol.for("@ipld/js-cid/CID");var mr={...Xa,...Za,...ja,...Ja,...ec,...za,...tc,...$a,...Ha,...rc},RS={...oc,...ac};function Wr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Xt(t=0){return globalThis.Buffer?.alloc!=null?Wr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function vt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Wr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Nf(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Df=Nf("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),uc=Nf("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=vt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),P1={utf8:Df,"utf-8":Df,hex:mr.base16,latin1:uc,ascii:uc,binary:uc,...mr},Ds=P1;function $(t,e="utf8"){let r=Ds[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var kf=wf,L1=vf,lc=function(t){let e=0;if(t=t.toString().trim(),kf(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(L1(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=kf(r[n]),o;s&&(o=lc(r[n]),r[n]=$(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,$(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Of=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ri={},fc={},N1=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];N1.forEach(t=>{let e=k1(...t);fc[e.code]=e,Ri[e.name]=e});function k1(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function oe(t){if(typeof t=="number"){if(fc[t]!=null)return fc[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ri[t]!=null)return Ri[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Nt=V(Ns(),1);function U(t,e="utf8"){let r=Ds[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Wr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Ae(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=vt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Wr(r)}var rA=parseInt("0xFFFF",16),nA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var NA=oe("ip4"),kA=oe("ip6"),OA=oe("ipcidr");function jf(t,e){switch(oe(t).code){case 4:case 41:return ex(e);case 42:return Xf(e);case 6:case 273:case 33:case 132:return e0(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Xf(e);case 421:return ix(e);case 444:return Zf(e);case 445:return Zf(e);case 466:return nx(e);default:return $(e,"base16")}}function Jf(t,e){switch(oe(t).code){case 4:return Wf(e);case 41:return Wf(e);case 42:return Qf(e);case 6:case 273:case 33:case 132:return mc(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qf(e);case 421:return tx(e);case 444:return sx(e);case 445:return ox(e);case 466:return rx(e);default:return U(e,"base16")}}var pc=Object.values(mr).map(t=>t.decoder),J1=function(){let t=pc[0].or(pc[1]);return pc.slice(2).forEach(e=>t=t.or(e)),t}();function Wf(t){if(!Tn(t))throw new Error("invalid ip address");return lc(t)}function ex(t){let e=Of(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Tn(e))throw new Error("invalid ip address");return e}function mc(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function e0(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Qf(t){let e=U(t),r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function Xf(t){let e=Nt.default.decode(t);if(t=t.slice(Nt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return $(t)}function tx(t){let e;t[0]==="Q"||t[0]==="1"?e=Gr(Se.decode(`z${t}`)).bytes:e=ue.parse(t).multihash.bytes;let r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function rx(t){let e=J1.decode(t),r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function nx(t){let e=Nt.default.decode(t),r=t.slice(Nt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+$(r,"base64url")}function ix(t){let e=Nt.default.decode(t),r=t.slice(Nt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return $(r,"base58btc")}function sx(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=rt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=mc(n);return Ae([r,i],r.length+i.length)}function ox(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=rt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=mc(n);return Ae([r,i],r.length+i.length)}function Zf(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=$(e,"base32"),i=e0(r);return`${n}:${i}`}var Dn=V(Ns(),1);function ax(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=oe(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw r0("invalid address: "+t);if(s.path===!0){e.push([i,vc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function cx(t){let e=[];return t.map(r=>{let n=Ms(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),vc(e.join("/"))}function ux(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=Ms(e);return e.length>1?[r.code,Jf(r.code,e[1])]:[r.code]})}function yc(t){return t.map(e=>{let r=Ms(e);return e[1]!=null?[r.code,jf(r.code,e[1])]:[r.code]})}function gc(t){return Os(Ae(t.map(e=>{let r=Ms(e),n=Uint8Array.from(Dn.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ae([n,e[1]])),n})))}function xc(t,e){return t.size>0?t.size/8:t.size===0?0:Dn.default.decode(e)+(Dn.default.decode.bytes??0)}function ks(t){let e=[],r=0;for(;r<t.length;){let n=Dn.default.decode(t,r),i=Dn.default.decode.bytes??0,s=oe(n),o=xc(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw r0("Invalid address Uint8Array: "+$(t,"base16"));e.push([n,a])}return e}function wc(t){let e=ks(t),r=yc(e);return cx(r)}function lx(t){t=vc(t);let e=ax(t),r=ux(e);return gc(r)}function t0(t){return lx(t)}function Os(t){let e=fx(t);if(e!=null)throw e;return Uint8Array.from(t)}function fx(t){try{ks(t)}catch(e){return e}}function vc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function r0(t){return new Error("Error parsing address: "+t)}function Ms(t){return oe(t[0])}var Ec=V(Ns(),1);var Fs=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Fs.code,this.type=Fs.type}},yr=Fs;Oa(yr,"code","ABORT_ERR"),Oa(yr,"type","aborted");var E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function Re(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Zt=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Nn=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},Ii,Ci,Ti,gr,n0,dx=Symbol.for("nodejs.util.inspect.custom"),px=[oe("dns").code,oe("dns4").code,oe("dns6").code,oe("dnsaddr").code],bc=new Map,i0=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Qr(t){return!!t?.[i0]}var jt=class{constructor(e){if(Ii.set(this,void 0),Ci.set(this,void 0),Ti.set(this,void 0),gr.set(this,void 0),this[n0]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=Os(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=t0(e)}else if(Qr(e))this.bytes=Os(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Zt(this,Ii,"f")==null&&Nn(this,Ii,wc(this.bytes),"f"),Zt(this,Ii,"f")}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=oe("tcp"),a=oe("udp"),c=oe("ip4"),u=oe("ip6"),l=oe("dns6"),f=oe("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),px.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,e=d===l.code?6:4),(d===o.code||d===a.code)&&(r=oe(d).name,i=parseInt(p??"")),(d===c.code||d===u.code)&&(r=oe(d).name,n=`${p??""}${s}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},oe(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Ec.default.decode(r,n),s=Ec.default.decode.bytes??0,o=oe(i),a=xc(o,r.slice(n+s));n+=a+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Zt(this,Ci,"f")==null&&Nn(this,Ci,ks(this.bytes),"f"),Zt(this,Ci,"f")}stringTuples(){return Zt(this,Ti,"f")==null&&Nn(this,Ti,yc(this.tuples()),"f"),Zt(this,Ti,"f")}encapsulate(e){return e=new jt(e),new jt(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new jt(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new jt(gc(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Ri.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?$(Se.decode(`z${n}`),"base58btc"):$(ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(Zt(this,gr,"f")===void 0)try{Nn(this,gr,this.stringTuples().filter(e=>oe(e[0]).path===!0)[0][1],"f"),Zt(this,gr,"f")==null&&Nn(this,gr,null,"f")}catch{Nn(this,gr,null,"f")}return Zt(this,gr,"f")}equals(e){return Re(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=bc.get(r.name);if(n==null)throw new E(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new jt(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Ii=new WeakMap,Ci=new WeakMap,Ti=new WeakMap,gr=new WeakMap,n0=i0,dx)](){return`Multiaddr(${wc(this.bytes)})`}};function qe(t){return new jt(t)}function mx(t){return t[Symbol.asyncIterator]!=null}function yx(t){if(mx(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var _c=yx;function gx(t){return t[Symbol.asyncIterator]!=null}function xx(t,e){return gx(t)?async function*(){yield*(await _c(t)).sort(e)}():function*(){yield*_c(t).sort(e)}()}var Sc=xx;function wx(t){return t[Symbol.asyncIterator]!=null}function vx(t){if(wx(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Ac=vx;function Ex(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Us=Ex;function bx(t){return t[Symbol.asyncIterator]!=null}function _x(t,e){if(bx(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Us(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var Et=_x;function Sx(t){return t[Symbol.asyncIterator]!=null}function Ax(t,e){return Sx(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Rc=Ax;var Ks=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Ac(this.putMany(e,n)),e=[],await Ac(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Et(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Et(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Sc(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Et(n,()=>i++>=s)}return e.limit!=null&&(n=Rc(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Et(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Et(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Sc(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Et(n,()=>s++>=i)}return e.limit!=null&&(n=Rc(n,e.limit)),n}};var Vs=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Jt="/",s0=new TextEncoder().encode(Jt),qs=s0[0],be=class{constructor(e,r){if(typeof e=="string")this._buf=U(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==qs)throw new Error("Invalid key")}toString(e="utf8"){return $(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new be(e.join(Jt))}static random(){return new be(Vs().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new be(e):typeof e.uint8Array=="function"?new be(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=s0),this._buf[0]!==qs){let e=new Uint8Array(this._buf.byteLength+1);e.fill(qs,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===qs;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return be.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Jt).slice(1)}type(){return Rx(this.baseNamespace())}name(){return Ix(this.baseNamespace())}instance(e){return new be(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Jt)||(e+=Jt),e+=this.type(),new be(e)}parent(){let e=this.list();return e.length===1?new be(Jt):new be(e.slice(0,-1).join(Jt))}child(e){return this.toString()===Jt?e:e.toString()===Jt?this:new be(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return be.withNamespaces([...this.namespaces(),...Cx(e.map(r=>r.namespaces()))])}};function Rx(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Ix(t){let e=t.split(":");return e[e.length-1]}function Cx(t){return[].concat(...t)}var c0=V(Ic(),1);function u0(t){return t=t??new Error("Not Found"),(0,c0.default)(t,"ERR_NOT_FOUND")}var $s=class extends Ks{constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw u0();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new be(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new be(e)}};var bt;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(bt||(bt={}));var N;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(N||(N={}));function Px(t){return t[Symbol.asyncIterator]!=null}function Lx(t,e){if(Px(t))return async function*(){for await(let a of t)yield e(a)}();let r=Us(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var l0=Lx;async function*Bi(t,e){yield*l0(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function zs(t){let e=new Set;return Et(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Hs(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Gs=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},kn=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Gs(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Gs(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function Xr(t={}){return Dx(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Dx(t,e){e=e??{};let r=e.onEnd,n=new kn,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(t(n))}catch(w){y(w)}return i}}):t(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new kn,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?u(m):c({done:!0})),h=()=>(n=new kn,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:l,end:f,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}function Nx(t){return t[Symbol.asyncIterator]!=null}function kx(...t){let e=[];for(let r of t)Nx(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Xr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var xr=kx;function Zr(t,...e){if(t==null)throw new Error("Empty pipeline");if(Cc(t)){let n=t;t=()=>n.source}else if(h0(t)||f0(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Cc(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Cc(r[n])&&(r[n]=Mx(r[n]));return Ox(...r)}var Ox=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},f0=t=>t?.[Symbol.asyncIterator]!=null,h0=t=>t?.[Symbol.iterator]!=null,Cc=t=>t==null?!1:t.sink!=null&&t.source!=null,Mx=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Xr({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(f0(s))i=async function*(){yield*s,n.end()};else if(h0(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return xr(n,i())}return t.source};function Fx(t){return t[Symbol.asyncIterator]!=null}function Ux(t){if(Fx(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Ys=Ux;var Kx=G("libp2p:peer-routing"),Ws=class{constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",N.ERR_FIND_SELF);let n=await Zr(xr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){Kx.error(s)}}())),i=>Et(i,Boolean),i=>Bi(i,this.components.peerStore),async i=>await Ys(i));if(n!=null)return n;throw new E(bt.NOT_FOUND,N.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Zr(xr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Bi(n,this.components.peerStore),n=>zs(n),n=>Hs(n))}};var Qs=class{constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new E("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Zr(xr(...this.routers.map(n=>n.findProviders(e,r))),n=>Bi(n,this.components.peerStore),n=>zs(n),n=>Hs(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new E(bt.NOT_STARTED_YET,N.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new E(bt.NOT_STARTED_YET,N.DHT_NOT_STARTED);return await Promise.any(this.routers.map(async n=>await n.get(e,r)))}};var Tc=Symbol.for("@libp2p/peer-id");function Xs(t){return t!=null&&!!t[Tc]}var Vx=Symbol.for("nodejs.util.inspect.custom"),d0=Object.values(mr).map(t=>t.decoder).reduce((t,e)=>t.or(e),mr.identity.decoder),p0=114,Bc=36,Pc=37,Pi=class{constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Tc](){return!0}toString(){return this.string==null&&(this.string=Se.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ue.createV1(p0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Re(this.multihash.bytes,e);if(typeof e=="string")return ne(e).equals(this);if(e?.multihash?.bytes!=null)return Re(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Vx](){return`PeerId(${this.toString()})`}},On=class extends Pi{constructor(e){super({...e,type:"RSA"}),this.type="RSA",this.publicKey=e.publicKey}},Mn=class extends Pi{constructor(e){super({...e,type:"Ed25519"}),this.type="Ed25519",this.publicKey=e.multihash.digest}},Fn=class extends Pi{constructor(e){super({...e,type:"secp256k1"}),this.type="secp256k1",this.publicKey=e.multihash.digest}};function ne(t,e){if(e=e??d0,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Gr(Se.decode(`z${t}`));return t.startsWith("12D")?new Mn({multihash:r}):t.startsWith("16U")?new Fn({multihash:r}):new On({multihash:r})}return Zs(d0.decode(t))}function Zs(t){try{let e=Gr(t);if(e.code===pr.code){if(e.digest.length===Bc)return new Mn({multihash:e});if(e.digest.length===Pc)return new Fn({multihash:e})}if(e.code===Ke.code)return new On({multihash:e})}catch{return qx(ue.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function qx(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==p0)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ke.code)return new On({multihash:t.multihash});if(e.code===pr.code){if(e.digest.length===Bc)return new Mn({multihash:t.multihash});if(e.digest.length===Pc)return new Fn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Li(t,e){return t.length===Bc?new Mn({multihash:Dt(pr.code,t),privateKey:e}):t.length===Pc?new Fn({multihash:Dt(pr.code,t),privateKey:e}):new On({multihash:await Ke.digest(t),publicKey:t,privateKey:e})}var $x=G("libp2p:address-manager"),zx=t=>t;function Lc(t,e){let r=t.getPeerId();return r!=null&&ne(r).equals(e)&&(t=t.decapsulate(qe(`/p2p/${e.toString()}`))),t}var js=class{constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??zx}getListenAddrs(){return Array.from(this.listen).map(e=>qe(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>qe(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>qe(e))}addObservedAddr(e){e=Lc(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Lc(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddresses()}).catch(s=>{$x.error("error updating addresses",s)})}removeObservedAddr(e){e=Lc(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>qe(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var m0="keep-alive";var jh=V(lh(),1);var Rw=G("libp2p:get-peer");function eo(t){if(Xs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:ne(r),t.forEach(n=>{if(!Qr(n))throw Rw.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",N.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}else{let s=ne(i);if(e==null||!e.equals(s))throw new E("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function er(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var tr=class{constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return er(this.map.entries(),e=>[ne(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ne(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return er(this.map.keys(),e=>ne(e))}values(){return this.map.values()}get size(){return this.map.size}};var rr=class{constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return er(this.set.entries(),e=>{let r=ne(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ne(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return er(this.set.values(),e=>ne(e))}intersection(e){let r=new rr;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new rr;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new rr;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var $n=class{constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return er(this.list.entries(),e=>ne(e[1]))}concat(e){let r=new $n(this);for(let n of e)r.push(n);return r}entries(){return er(this.list.entries(),e=>[e[0],ne(e[1])])}every(e){return this.list.every((r,n)=>e(ne(r),n,this))}filter(e){let r=new $n;return this.list.forEach((n,i)=>{let s=ne(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(ne(n),i,this));if(r!=null)return ne(r)}findIndex(e){return this.list.findIndex((r,n)=>e(ne(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(ne(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return ne(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return ne(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var Eh=V(hh(),1);var Oi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Yc=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},dh=t=>globalThis.DOMException===void 0?new Yc(t):new DOMException(t),ph=t=>{let e=t.reason===void 0?dh("This operation was aborted."):t.reason;return e instanceof Error?e:dh(e)};function Wc(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(ph(c)),c.addEventListener("abort",()=>{a(ph(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Oi(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Qc(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Jr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},nr,Mi=class{constructor(){nr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Jr(this,nr,"f")[this.size-1].priority>=r.priority){Jr(this,nr,"f").push(n);return}let i=Qc(Jr(this,nr,"f"),n,(s,o)=>o.priority-s.priority);Jr(this,nr,"f").splice(i,0,n)}dequeue(){let e=Jr(this,nr,"f").shift();return e?.run}filter(e){return Jr(this,nr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Jr(this,nr,"f").length}};nr=new WeakMap;var ve=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ie,Ui,Ki,vr,ao,Vi,ro,_t,Fi,it,no,st,qi,wr,io,mh,yh,wh,gh,xh,so,Xc,Zc,co,vh,oo,uo=class extends Error{},St=class extends Eh.default{constructor(e){var r,n,i,s;if(super(),Ie.add(this),Ui.set(this,void 0),Ki.set(this,void 0),vr.set(this,0),ao.set(this,void 0),Vi.set(this,void 0),ro.set(this,0),_t.set(this,void 0),Fi.set(this,void 0),it.set(this,void 0),no.set(this,void 0),st.set(this,0),qi.set(this,void 0),wr.set(this,void 0),io.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Mi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);ve(this,Ui,e.carryoverConcurrencyCount,"f"),ve(this,Ki,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),ve(this,ao,e.intervalCap,"f"),ve(this,Vi,e.interval,"f"),ve(this,it,new e.queueClass,"f"),ve(this,no,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,ve(this,io,e.throwOnTimeout===!0,"f"),ve(this,wr,e.autoStart===!1,"f")}get concurrency(){return k(this,qi,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);ve(this,qi,e,"f"),k(this,Ie,"m",co).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,io,"f"),...r},new Promise((n,i)=>{k(this,it,"f").enqueue(async()=>{var s,o,a;ve(this,st,(o=k(this,st,"f"),o++,o),"f"),ve(this,vr,(a=k(this,vr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new uo("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Wc(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ie,"m",vh).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Oi&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ie,"m",wh).call(this)}},r),this.emit("add"),k(this,Ie,"m",so).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,wr,"f")?(ve(this,wr,!1,"f"),k(this,Ie,"m",co).call(this),this):this}pause(){ve(this,wr,!0,"f")}clear(){ve(this,it,new(k(this,no,"f")),"f")}async onEmpty(){k(this,it,"f").size!==0&&await k(this,Ie,"m",oo).call(this,"empty")}async onSizeLessThan(e){k(this,it,"f").size<e||await k(this,Ie,"m",oo).call(this,"next",()=>k(this,it,"f").size<e)}async onIdle(){k(this,st,"f")===0&&k(this,it,"f").size===0||await k(this,Ie,"m",oo).call(this,"idle")}get size(){return k(this,it,"f").size}sizeBy(e){return k(this,it,"f").filter(e).length}get pending(){return k(this,st,"f")}get isPaused(){return k(this,wr,"f")}};Ui=new WeakMap,Ki=new WeakMap,vr=new WeakMap,ao=new WeakMap,Vi=new WeakMap,ro=new WeakMap,_t=new WeakMap,Fi=new WeakMap,it=new WeakMap,no=new WeakMap,st=new WeakMap,qi=new WeakMap,wr=new WeakMap,io=new WeakMap,Ie=new WeakSet,mh=function(){return k(this,Ki,"f")||k(this,vr,"f")<k(this,ao,"f")},yh=function(){return k(this,st,"f")<k(this,qi,"f")},wh=function(){var e;ve(this,st,(e=k(this,st,"f"),e--,e),"f"),k(this,Ie,"m",so).call(this),this.emit("next")},gh=function(){k(this,Ie,"m",Zc).call(this),k(this,Ie,"m",Xc).call(this),ve(this,Fi,void 0,"f")},xh=function(){let e=Date.now();if(k(this,_t,"f")===void 0){let r=k(this,ro,"f")-e;if(r<0)ve(this,vr,k(this,Ui,"f")?k(this,st,"f"):0,"f");else return k(this,Fi,"f")===void 0&&ve(this,Fi,setTimeout(()=>{k(this,Ie,"m",gh).call(this)},r),"f"),!0}return!1},so=function(){if(k(this,it,"f").size===0)return k(this,_t,"f")&&clearInterval(k(this,_t,"f")),ve(this,_t,void 0,"f"),this.emit("empty"),k(this,st,"f")===0&&this.emit("idle"),!1;if(!k(this,wr,"f")){let e=!k(this,Ie,"a",xh);if(k(this,Ie,"a",mh)&&k(this,Ie,"a",yh)){let r=k(this,it,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ie,"m",Xc).call(this),!0):!1}}return!1},Xc=function(){k(this,Ki,"f")||k(this,_t,"f")!==void 0||(ve(this,_t,setInterval(()=>{k(this,Ie,"m",Zc).call(this)},k(this,Vi,"f")),"f"),ve(this,ro,Date.now()+k(this,Vi,"f"),"f"))},Zc=function(){k(this,vr,"f")===0&&k(this,st,"f")===0&&k(this,_t,"f")&&(clearInterval(k(this,_t,"f")),ve(this,_t,void 0,"f")),ve(this,vr,k(this,Ui,"f")?k(this,st,"f"):0,"f"),k(this,Ie,"m",co).call(this)},co=function(){for(;k(this,Ie,"m",so).call(this););},vh=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new uo("The task was aborted."))},{once:!0})})},oo=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var kt=G("libp2p:connection-manager:auto-dial"),lo={minConnections:50,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},fo=class{constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??lo.minConnections,this.autoDialPriority=r.autoDialPriority??lo.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??lo.autoDialInterval,this.started=!1,this.queue=new St({concurrency:r.autoDialConcurrency??lo.autoDialConcurrency}),this.queue.addListener("error",n=>{kt.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{kt.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setInterval(()=>{this.autoDial().catch(e=>{kt.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{kt.error("error while autodialing",e)})}stop(){this.queue.clear(),clearInterval(this.autoDialInterval),this.started=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){kt("have enough connections %d/%d",r,this.minConnections);return}kt("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=await this.peerStore.all(),s=n.filter(c=>!(c.addresses.length===0||e.has(c.id))).sort(()=>Math.random()>.5?1:-1),o=new tr;for(let c of s)o.has(c.id)||o.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=s.sort((c,u)=>{let l=o.get(c.id)??0,f=o.get(u.id)??0;return l>f?-1:l<f?1:0});kt("selected %d/%d peers to dial",a.length,n.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){kt("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}kt("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})}).catch(u=>{kt.error("could not connect to peerStore stored peer",u)})}};var Ch=V(bh(),1);var _h="[a-fA-F\\d:]",Er=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${_h})|(?<=${_h})(?=\\s|$))`:"",At="(?: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}",Pe="[a-fA-F\\d]{1,4}",ho=`
|
|
38
38
|
(?:
|
|
39
39
|
(?:${Pe}:){7}(?:${Pe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
40
|
(?:${Pe}:){6}(?:${At}|:${Pe}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
(?:${Pe}:){1}(?:(?::${Pe}){0,4}:${At}|(?::${Pe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
46
|
(?::(?:(?::${Pe}){0,5}:${At}|(?::${Pe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
47
47
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
48
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),$x=new RegExp(`(?:^${At}$)|(?:^${xo}$)`),zx=new RegExp(`^${At}$`),Hx=new RegExp(`^${xo}$`),nu=t=>t&&t.exact?$x:new RegExp(`(?:${_r(t)}${At}${_r(t)})|(?:${_r(t)}${xo}${_r(t)})`,"g");nu.v4=t=>t&&t.exact?zx:new RegExp(`${_r(t)}${At}${_r(t)}`,"g");nu.v6=t=>t&&t.exact?Hx:new RegExp(`${_r(t)}${xo}${_r(t)}`,"g");var Mh=nu;var qh=U(Uh(),1),{isValid:Gx,parse:Yx}=qh.default,Wx=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Qx=Wx.map(t=>new Vh.Netmask(t));function Xx(t){for(let e of Qx)if(e.contains(t))return!0;return!1}function Kh(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var $h=t=>{if(Gx(t)){let e=Yx(t);if(e.kind()==="ipv4")return Xx(e.toNormalizedString());if(e.kind()==="ipv6")return Kh(t)}else if(Ln(t)&&Mh.v6().test(t))return Kh(t)};var zh=$h;function iu(t){try{let{address:e}=t.nodeAddress();return!!zh(e)}catch{return!0}}function Qn(t,e){let r=iu(t.multiaddr),n=iu(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var ou=U(Ka(),1),au=U(Yh(),1);var Wh=globalThis.fetch,Qh=globalThis.Headers,n4=globalThis.Request,i4=globalThis.Response;function Eo(t,e,r){return`${t}?name=${e}&type=${r}`}async function Xh(t,e){return await(await Wh(t,{headers:new Qh({accept:"application/dns-json"}),signal:e})).json()}function nn(t,e){return`${e}_${t}`}var su=Object.assign((0,ou.default)("dns-over-http-resolver"),{error:(0,ou.default)("dns-over-http-resolver:error")}),cu=class{constructor(e={}){this._cache=new au.default({max:e?.maxCache??100}),this._TXTcache=new au.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Xh,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(nn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Eo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(nn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),su.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(nn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Eo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(nn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),su.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(nn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Eo(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(nn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),su.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Zh=cu;var jh=Zh;var{code:t2}=oe("dnsaddr");async function Xn(t,e={}){let r=new jh;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===t2)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var uu=U(Ni(),1),Jh=G("libp2p:connection-manager:utils");async function lu(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await r2(t,e),o=(await Promise.all(n.map(async a=>await lu(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Jh("resolved %s to",t,o.map(a=>a.toString())),o}async function r2(t,e){try{return t=qe(t.toString()),await t.resolve(e)}catch(r){return Jh.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function ed(...t){let e=[];for(let n of t)if(n!=null){try{(0,uu.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=vr(e);try{(0,uu.setMaxListeners)?.(1/0,r)}catch{}return r}function Wi(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ze=G("libp2p:connection-manager:dial-queue"),Qi={addressSorter:Qn,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Xn}},bo=class{constructor(e,r={}){this.addressSorter=r.addressSorter??Qi.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Qi.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Qi.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Qi.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))Sc.set(n,i);this.queue=new St({concurrency:r.maxParallelDials??Qi.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{ze.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=oo(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return ze("joining existing dial target for %p",n),o.clear(),await c.promise;ze("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:i2(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(l=>{throw ze.error("dial failed to %s",a.map(({multiaddr:f})=>f.toString()).join(", "),l),o.aborted?new E(l.message,D.ERR_TIMEOUT):l}),this.pendingDials.push(u),await u.promise}createDialAbortControllers(e){return vr([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e])}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",D.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",D.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){ze("loading multiaddrs for %p",e);try{let u=await this.peerStore.get(e);r.push(...u.addresses),ze("loaded multiaddrs for %p",e,r.map(({multiaddr:l})=>l.toString()))}catch(u){if(u.code!==D.ERR_NOT_FOUND)throw u}}}let i=(await Promise.all(r.map(async u=>{let l=await lu(u.multiaddr,n);return l.length===1&&l[0].equals(u.multiaddr)?u:l.map(f=>({multiaddr:f,isCertified:!1}))}))).flat(),s=i.filter(u=>!!this.transportManager.transportForMultiaddr(u.multiaddr)),o=new Map;for(let u of s){let l=u.multiaddr.toString(),f=o.get(l);if(f!=null){f.isCertified=f.isCertified||u.isCertified||!1;continue}o.set(l,u)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(ze("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:u})=>u.toString())),ze("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:u})=>u.toString()))),a.length===0)throw new E("The dial request has no valid addresses",D.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",D.ERR_TOO_MANY_ADDRESSES);if(e!=null){let u=`/p2p/${e.toString()}`;a=a.map(l=>{let f=l.multiaddr.getPeerId();return l.multiaddr.protos().pop()?.path===!0?l:f!==e.toString()?{multiaddr:l.multiaddr.encapsulate(u),isCertified:l.isCertified}:l})}let c=[];for(let u of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(u.multiaddr)||c.push(u);return c.sort(this.addressSorter)}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new St({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{ze.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",D.ERR_INVALID_PARAMETERS);let u=ed(c.signal,r.signal);u.addEventListener("abort",()=>{ze("dial to %s aborted",o)});let l=Wi();return await i.add(async()=>{if(u.aborted){ze("dial to %s was aborted before reaching the head of the peer dial queue",o),l.reject(new jt);return}await this.queue.add(async()=>{try{if(u.aborted){ze("dial to %s was aborted before reaching the head of the dial queue",o),l.reject(new jt);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){ze("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{ze.error("error closing superfluous connection",h)}),l.reject(new jt);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),ze("dial to %s succeeded",o),l.resolve(f)}catch(f){ze.error("error during dial of %s",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),await l.promise}));if(s==null)throw new E("successful dial led to empty object returned from peer dial queue",D.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function i2(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Zn=G("libp2p:connection-manager:connection-pruner"),td={maxConnections:300,allow:[]},_o=class{constructor(e,r={}){this.maxConnections=r.maxConnections??td.maxConnections,this.allow=r.allow??td.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Zn.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Zn("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Zn("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new nr;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&Zn.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,h=c.stat.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(Zn("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){Zn.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var ot=G("libp2p:connection-manager"),a2=50,jn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0},So=class{constructor(e,r={}){this.maxConnections=r.maxConnections??jn.maxConnections;let n=r.minConnections??jn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",D.ERR_INVALID_PARAMETERS);this.connections=new nr,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>qe(i)),this.deny=(r.deny??[]).map(i=>qe(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??jn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new rd.RateLimiterMemory({points:r.inboundConnectionThreshold??jn.inboundConnectionThreshold,duration:1}),this.autoDial=new wo({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??jn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??jn.autoDialPriority}),this.connectionPruner=new _o({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new bo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Qn,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Xn}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,ot("started")}async afterStart(){Promise.resolve().then(async()=>{let e=[];for(let r of await this.peerStore.all())r.tags.has(C0)&&e.push(r.id);await Promise.all(e.map(async r=>{await this.openConnection(r).catch(n=>{ot.error(n)})}))}).catch(e=>{ot.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){ot.error(i)}})());ot("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),ot("stopped")}onConnect(e){this._onConnect(e).catch(r=>{ot.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new E("Not started",D.ERR_NODE_NOT_STARTED);let{peerId:n}=oo(e);if(n!=null){ot("dial %p",n);let a=this.getConnections(n);if(a.length>0)return ot("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??a2}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return ot("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return ot("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return ot("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,e.remoteAddr),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(ot("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Dy=U(fd(),1);var vd=U(xd(),1),Ar=vd.default;var Q;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(Q||(Q={}));var Cu=U(vu(),1),ap=U(Jd(),1),cp=U(on(),1),Tu=U(Ru(),1),up=U(op(),1);function D2(){cp.default._configure(),Cu.default._configure(ap.default),Tu.default._configure(up.default)}D2();var lp=["uint64","int64","sint64","fixed64","sfixed64"];function N2(t){for(let e of lp){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Bu(t){return N2(new Cu.default(t))}function k2(t){for(let e of lp){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Pu(){return k2(Tu.default.create())}function dt(t,e){let r=Bu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function pt(t,e){let r=Pu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ri;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ri||(ri={}));function Po(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Lu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Po("enum",ri.VARINT,r,n)}function mt(t,e){return Po("message",ri.LENGTH_DELIMITED,t,e)}var me;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(me||(me={}));var Du;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Du||(Du={}));(function(t){t.codec=()=>Lu(Du)})(me||(me={}));var Ft;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Ft||(Ft={}));var Ut;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Ut||(Ut={}));var E3=U(ts(),1),b3=U(Am(),1),la=U(se(),1);var Ze={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var l8=U(Te(),1),f8=U(Yo(),1),Rm=U(se(),1);function Bt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ae([new Uint8Array(e-r.length),r])}return $(r,"base64url")}function at(t){let e=Cm(t);return new Rm.default.jsbn.BigInteger($(e,"base16"),16)}function Cm(t,e){let r=K(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ae([new Uint8Array(e-r.length),r])}return r}var ob={"P-256":256,"P-384":384,"P-521":521},ab=Object.keys(ob),b8=ab.join(" / ");function Tm(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var Bm={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Zo(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=Ze.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:p};typeof h=="string"&&(h=K(h));let y;if(h.length===0&&Tm())y=await a.subtle.importKey("jwk",Bm,{name:"AES-GCM"},!0,["encrypt"]);else{let x={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,_,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ae([d,m.iv,new Uint8Array(g)])}async function u(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:p};typeof h=="string"&&(h=K(h));let g;if(h.length===0&&Tm())g=await a.subtle.importKey("jwk",Bm,{name:"AES-GCM"},!0,["decrypt"]);else{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,N,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Lm(t,e){let r=Yr.decode(t);return await Zo().decrypt(r,e)}var hl={};Ue(hl,{RsaPrivateKey:()=>pi,RsaPublicKey:()=>ls,fromJwk:()=>Lb,generateKeyPair:()=>Db,unmarshalRsaPrivateKey:()=>Bb,unmarshalRsaPublicKey:()=>Pb});var n3=U(Mm(),1),us=U(se(),1);var ub=U(tn(),1);var Z=BigInt(0),de=BigInt(1),Dr=BigInt(2),os=BigInt(3),Fm=BigInt(8),_e=Object.freeze({a:Z,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:de,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Um=(t,e)=>(t+e/Dr)/e,jo={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=_e,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-de*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Um(s*t,e),c=Um(-n*t,e),u=L(t-a*r-c*i,e),l=L(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},Pt=32,ui=32,lb=32,Km=Pt+1,Vm=2*Pt+1;function qm(t){let{a:e,b:r}=_e,n=L(t*t),i=L(n*t);return L(i+e*t+r)}var Jo=_e.a===Z,ra=class extends Error{constructor(e){super(e)}};function $m(t){if(!(t instanceof te))throw new TypeError("JacobianPoint expected")}var te=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof re))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(re.ZERO)?te.ZERO:new te(e.x,e.y,de)}static toAffineBatch(e){let r=mb(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return te.toAffineBatch(e).map(te.fromAffine)}equals(e){$m(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),d=L(L(o*i)*c);return l===f&&h===d}negate(){return new te(this.x,L(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=L(e*e),s=L(r*r),o=L(s*s),a=e+s,c=L(Dr*(L(a*a)-i-o)),u=L(os*i),l=L(u*u),f=L(l-Dr*c),h=L(u*(c-f)-Fm*o),d=L(Dr*r*n);return new te(f,h,d)}add(e){$m(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===Z||o===Z)return this;if(r===Z||n===Z)return e;let c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),d=L(L(o*i)*c),p=L(f-l),m=L(d-h);if(p===Z)return m===Z?this.double():te.ZERO;let y=L(p*p),g=L(p*y),x=L(l*y),_=L(m*m-g-Dr*x),N=L(m*(x-_)-h*g),C=L(i*a*p);return new te(_,N,C)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=te.ZERO;if(typeof e=="bigint"&&e===Z)return r;let n=Gm(e);if(n===de)return this;if(!Jo){let f=r,h=this;for(;n>Z;)n&de&&(f=f.add(h)),h=h.double(),n>>=de;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=jo.splitScalar(n),c=r,u=r,l=this;for(;s>Z||a>Z;)s&de&&(c=c.add(l)),a&de&&(u=u.add(l)),l=l.double(),s>>=de,a>>=de;return i&&(c=c.negate()),o&&(u=u.negate()),u=new te(L(u.x*jo.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=Jo?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(te.BASE)&&(r=re.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&sl.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=te.normalizeZ(i),sl.set(r,i)));let s=te.ZERO,o=te.BASE,a=1+(Jo?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=de);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(ea(g,i[m])):s=s.add(ea(x,i[y]))}return{p:s,f:o}}multiply(e,r){let n=Gm(e),i,s;if(Jo){let{k1neg:o,k1:a,k2neg:c,k2:u}=jo.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(u,r);l=ea(o,l),h=ea(c,h),h=new te(L(h.x*jo.beta),h.y,h.z),i=l.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return te.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(te.ZERO);e==null&&(e=s?Fm:hi(i));let o=e,a=L(o*o),c=L(a*o),u=L(r*a),l=L(n*c),f=L(i*o);if(s)return re.ZERO;if(f!==de)throw new Error("invZ was invalid");return new re(u,l)}};te.BASE=new te(_e.Gx,_e.Gy,de);te.ZERO=new te(Z,de,Z);function ea(t,e){let r=e.negate();return t?r:e}var sl=new WeakMap,re=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,sl.delete(this)}hasEvenY(){return this.y%Dr===Z}static fromCompressedHex(e){let r=e.length===32,n=Nr(r?e:e.subarray(1));if(!il(n))throw new Error("Point is not on curve");let i=qm(n),s=pb(i),o=(s&de)===de;r?o&&(s=L(-s)):(e[0]&1)===1!==o&&(s=L(-s));let a=new re(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Nr(e.subarray(1,Pt+1)),n=Nr(e.subarray(Pt+1,Pt*2+1)),i=new re(r,n);return i.assertValidity(),i}static fromHex(e){let r=fi(e),n=r.length,i=r[0];if(n===Pt)return this.fromCompressedHex(r);if(n===Km&&(i===2||i===3))return this.fromCompressedHex(r);if(n===Vm&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Km} compressed bytes or ${Vm} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return re.BASE.multiply(ia(e))}static fromSignature(e,r,n){let{r:i,s}=Ym(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=cl(fi(e)),{n:a}=_e,c=n===2||n===3?i+a:i,u=hi(c,a),l=L(-o*u,a),f=L(s*u,a),h=n&1?"03":"02",d=re.fromHex(h+ai(c)),p=re.BASE.multiplyAndAddUnsafe(d,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(e=!1){return pn(this.toHex(e))}toHex(e=!1){let r=ai(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${ai(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!il(r)||!il(n))throw new Error(e);let i=L(n*n),s=qm(r);if(L(i-s)!==Z)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new re(this.x,L(-this.y))}double(){return te.fromAffine(this).double().toAffine()}add(e){return te.fromAffine(this).add(te.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return te.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=te.fromAffine(this),s=r===Z||r===de||this!==re.BASE?i.multiplyUnsafe(r):i.multiply(r),o=te.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(te.ZERO)?void 0:a.toAffine()}};re.BASE=new re(_e.Gx,_e.Gy);re.ZERO=new re(Z,Z);function zm(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Hm(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${li(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Nr(r),left:t.subarray(e+2)}}function fb(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${li(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Hm(t.subarray(2)),{data:n,left:i}=Hm(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${li(i)}`);return{r:e,s:n}}var Gt=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?li(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Gt(na(i.slice(0,64)),na(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=fb(r?e:pn(e));return new Gt(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!cs(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!cs(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=_e.n>>de;return this.s>e}normalizeS(){return this.hasHighS()?new Gt(this.r,L(-this.s,_e.n)):this}toDERRawBytes(){return pn(this.toDERHex())}toDERHex(){let e=zm(ss(this.s)),r=zm(ss(this.r)),n=e.length/2,i=r.length/2,s=ss(n),o=ss(i);return`30${ss(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return pn(this.toCompactHex())}toCompactHex(){return ai(this.r)+ai(this.s)}};function Lr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var hb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function li(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=hb[t[r]];return e}var db=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ai(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(Z<=t&&t<db))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function ol(t){let e=pn(ai(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function ss(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function na(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function pn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Nr(t){return na(li(t))}function fi(t){return t instanceof Uint8Array?Uint8Array.from(t):pn(t)}function Gm(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&cs(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function L(t,e=_e.P){let r=t%e;return r>=Z?r:e+r}function wt(t,e){let{P:r}=_e,n=t;for(;e-- >Z;)n*=n,n%=r;return n}function pb(t){let{P:e}=_e,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=wt(u,os)*u%e,f=wt(l,os)*u%e,h=wt(f,Dr)*c%e,d=wt(h,n)*h%e,p=wt(d,i)*d%e,m=wt(p,o)*p%e,y=wt(m,a)*m%e,g=wt(y,o)*p%e,x=wt(g,os)*u%e,_=wt(x,s)*d%e,N=wt(_,r)*c%e,C=wt(N,Dr);if(C*C%e!==t)throw new Error("Cannot find square root");return C}function hi(t,e=_e.P){if(t===Z||e<=Z)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=L(t,e),n=e,i=Z,s=de,o=de,a=Z;for(;r!==Z;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==de)throw new Error("invert: does not exist");return L(i,e)}function mb(t,e=_e.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Z?s:(r[a]=s,L(s*o,e)),de),i=hi(n,e);return t.reduceRight((s,o,a)=>o===Z?s:(r[a]=L(s*r[a],e),L(s*o,e)),i),r}function yb(t){let e=t.length*8-ui*8,r=Nr(t);return e>0?r>>BigInt(e):r}function cl(t,e=!1){let r=yb(t);if(e)return r;let{n}=_e;return r>=n?r-n:r}var ci,as,al=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Lt.hmacSha256(this.k,...e)}hmacSync(...e){return as(this.k,...e)}checkSync(){if(typeof as!="function")throw new ra("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(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Lr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Lr(...r)}};function cs(t){return Z<t&&t<_e.n}function il(t){return Z<t&&t<_e.P}function gb(t,e,r,n=!0){let{n:i}=_e,s=cl(t,!0);if(!cs(s))return;let o=hi(s,i),a=re.BASE.multiply(s),c=L(a.x,i);if(c===Z)return;let u=L(o*L(e+r*c,i),i);if(u===Z)return;let l=new Gt(c,u),f=(a.x===l.r?0:2)|Number(a.y&de);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function ia(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*ui)throw new Error("Expected 32 bytes of private key");e=na(t)}else if(t instanceof Uint8Array){if(t.length!==ui)throw new Error("Expected 32 bytes of private key");e=Nr(t)}else throw new TypeError("Expected valid private key");if(!cs(e))throw new Error("Expected private key: 0 < key < n");return e}function wb(t){return t instanceof re?(t.assertValidity(),t):re.fromHex(t)}function Ym(t){if(t instanceof Gt)return t.assertValidity(),t;try{return Gt.fromDER(t)}catch{return Gt.fromCompact(t)}}function ul(t,e=!1){return re.fromPrivateKey(t).toRawBytes(e)}function Wm(t){let e=t.length>Pt?t.slice(0,Pt):t;return Nr(e)}function xb(t){let e=Wm(t),r=L(e,_e.n);return Qm(r<Z?e:r)}function Qm(t){return ol(t)}function vb(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=fi(t),i=ia(e),s=[Qm(i),xb(n)];if(r!=null){r===!0&&(r=Lt.randomBytes(Pt));let c=fi(r);if(c.length!==Pt)throw new Error(`sign: Expected ${Pt} bytes of extra data`);s.push(c)}let o=Lr(...s),a=Wm(n);return{seed:o,m:a,d:i}}function Eb(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function Xm(t,e,r={}){let{seed:n,m:i,d:s}=vb(t,e,r.extraEntropy),o=new al(lb,ui);await o.reseed(n);let a;for(;!(a=gb(await o.generate(),i,s,r.canonical));)await o.reseed();return Eb(a,r)}var bb={strict:!0};function Zm(t,e,r,n=bb){let i;try{i=Ym(t),e=fi(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=cl(e),c;try{c=wb(r)}catch{return!1}let{n:u}=_e,l=hi(o,u),f=L(a*l,u),h=L(s*l,u),d=re.BASE.multiplyAndAddUnsafe(c,f,h);return d?L(d.x,u)===s:!1}re.BASE._setWindowSize(8);var ct={node:ub,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var ta={},Lt={bytesToHex:li,hexToBytes:pn,concatBytes:Lr,mod:L,invert:hi,isValidPrivateKey(t){try{return ia(t),!0}catch{return!1}},_bigintTo32Bytes:ol,_normalizePrivateKey:ia,hashToPrivateKey:t=>{t=fi(t);let e=ui+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=L(Nr(t),_e.n-de)+de;return ol(r)},randomBytes:(t=32)=>{if(ct.web)return ct.web.getRandomValues(new Uint8Array(t));if(ct.node){let{randomBytes:e}=ct.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Lt.hashToPrivateKey(Lt.randomBytes(ui+8)),precompute(t=8,e=re.BASE){let r=e===re.BASE?e:new re(e.x,e.y);return r._setWindowSize(t),r.multiply(os),r},sha256:async(...t)=>{if(ct.web){let e=await ct.web.subtle.digest("SHA-256",Lr(...t));return new Uint8Array(e)}else if(ct.node){let{createHash:e}=ct.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ct.web){let r=await ct.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Lr(...e),i=await ct.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ct.node){let{createHmac:r}=ct.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=ta[t];if(r===void 0){let n=await Lt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Lr(n,n),ta[t]=r}return Lt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof ci!="function")throw new ra("sha256Sync is undefined, you need to set it");let r=ta[t];if(r===void 0){let n=ci(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Lr(n,n),ta[t]=r}return ci(r,...e)},_JacobianPoint:te};Object.defineProperties(Lt,{sha256Sync:{configurable:!1,get(){return ci},set(t){ci||(ci=t)}},hmacSha256Sync:{configurable:!1,get(){return as},set(t){as||(as=t)}}});function mn(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Lt.randomBytes(t)}var yn={};Ue(yn,{jwkToPkcs1:()=>Ab,jwkToPkix:()=>Rb,pkcs1ToJwk:()=>Sb,pkixToJwk:()=>Ib});var O8=U(ts(),1),M8=U(Xo(),1),ur=U(se(),1);function Sb(t){let e=ur.default.asn1.fromDer($(t,"ascii")),r=ur.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e),d:Bt(r.d),p:Bt(r.p),q:Bt(r.q),dp:Bt(r.dP),dq:Bt(r.dQ),qi:Bt(r.qInv),alg:"RS256"}}function Ab(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=ur.default.pki.privateKeyToAsn1({n:at(t.n),e:at(t.e),d:at(t.d),p:at(t.p),q:at(t.q),dP:at(t.dp),dQ:at(t.dq),qInv:at(t.qi)});return K(ur.default.asn1.toDer(e).getBytes(),"ascii")}function Ib(t){let e=ur.default.asn1.fromDer($(t,"ascii")),r=ur.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e)}}function Rb(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=ur.default.pki.publicKeyToAsn1({n:at(t.n),e:at(t.e)});return K(ur.default.asn1.toDer(e).getBytes(),"ascii")}var q8=U(Xo(),1),ll=U(se(),1);function jm(t,e){return e.map(r=>at(t[r]))}function Jm(t){return ll.default.pki.setRsaPrivateKey(...jm(t,["n","e","d","p","q","dp","dq","qi"]))}function ey(t){return ll.default.pki.setRsaPublicKey(...jm(t,["n","e"]))}async function ty(t){let e=await Ze.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await iy(e);return{privateKey:r[0],publicKey:r[1]}}async function fl(t){let r=[await Ze.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Cb(t)],n=await iy({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function ry(t,e){let r=await Ze.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ze.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function ny(t,e,r){let n=await Ze.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await Ze.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function iy(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([Ze.get().subtle.exportKey("jwk",t.privateKey),Ze.get().subtle.exportKey("jwk",t.publicKey)])}async function Cb(t){return await Ze.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function sy(t,e,r,n){let i=e?ey(t):Jm(t),s=$(Uint8Array.from(r),"ascii"),o=n(s,i);return K(o,"ascii")}function oy(t,e){return sy(t,!0,e,(r,n)=>n.encrypt(r))}function ay(t,e){return sy(t,!1,e,(r,n)=>n.decrypt(r))}async function di(t,e){let n=await Zo().encrypt(t,e);return Yr.encode(n)}var ls=class{constructor(e){this._key=e}async verify(e,r){return await ny(this._key,r,e)}marshal(){return yn.jwkToPkix(this._key)}get bytes(){return Ft.encode({Type:me.RSA,Data:this.marshal()}).subarray()}encrypt(e){return oy(this._key,e)}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},pi=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return mn(16)}async sign(e){return await ry(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ls(this._publicKey)}decrypt(e){return ay(this._key,e)}marshal(){return yn.jwkToPkcs1(this._key)}get bytes(){return Ut.encode({Type:me.RSA,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new us.default.util.ByteBuffer(this.marshal()),i=us.default.asn1.fromDer(n),s=us.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return us.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return await di(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Bb(t){let e=yn.pkcs1ToJwk(t),r=await fl(e);return new pi(r.privateKey,r.publicKey)}function Pb(t){let e=yn.pkixToJwk(t);return new ls(e)}async function Lb(t){let e=await fl(t);return new pi(e.privateKey,e.publicKey)}async function Db(t){let e=await ty(t);return new pi(e.privateKey,e.publicKey)}var El={};Ue(El,{Ed25519PrivateKey:()=>wn,Ed25519PublicKey:()=>ms,generateKeyPair:()=>e_,generateKeyPairFromSeed:()=>by,unmarshalEd25519PrivateKey:()=>jb,unmarshalEd25519PublicKey:()=>Jb});var Nb=U(tn(),1);var Fe=BigInt(0),j=BigInt(1),Mr=BigInt(2),kb=BigInt(8),cy=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pe=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:cy,n:cy,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var dy=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),fs=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),s3=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Ob=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Mb=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Fb=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Ub=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Y=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof ge))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(ge.ZERO)?Y.ZERO:new Y(e.x,e.y,j,A(e.x*e.y))}static toAffineBatch(e){let r=qb(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){ly(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=A(r*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new Y(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=pe,s=A(e*e),o=A(r*r),a=A(Mr*A(n*n)),c=A(i*s),u=e+r,l=A(A(u*u)-s-o),f=c+o,h=f-a,d=c-o,p=A(l*h),m=A(f*d),y=A(l*d),g=A(h*f);return new Y(p,m,g,y)}add(e){ly(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=A((n-r)*(a+o)),f=A((n+r)*(a-o)),h=A(f-l);if(h===Fe)return this.double();let d=A(i*Mr*u),p=A(s*Mr*c),m=p+d,y=f+l,g=p-d,x=A(m*h),_=A(y*g),N=A(m*g),C=A(h*y);return new Y(x,_,C,N)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Y.BASE)&&(r=ge.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&gl.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Y.normalizeZ(i),gl.set(r,i)));let s=Y.ZERO,o=Y.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=j);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(uy(g,i[m])):s=s.add(uy(x,i[y]))}return Y.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF(oa(e,pe.l),r)}multiplyUnsafe(e){let r=oa(e,pe.l,!1),n=Y.BASE,i=Y.ZERO;if(r===Fe)return i;if(this.equals(i)||r===j)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Fe;)r&j&&(s=s.add(o)),o=o.double(),r>>=j;return s}isSmallOrder(){return this.multiplyUnsafe(pe.h).equals(Y.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(pe.l/Mr).double();return pe.l%Mr&&(e=e.add(this)),e.equals(Y.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(Y.ZERO);e==null&&(e=s?kb:aa(i));let o=A(r*e),a=A(n*e),c=A(i*e);if(s)return ge.ZERO;if(c!==j)throw new Error("invZ was invalid");return new ge(o,a)}fromRistrettoBytes(){pl()}toRistrettoBytes(){pl()}fromRistrettoHash(){pl()}};Y.BASE=new Y(pe.Gx,pe.Gy,j,A(pe.Gx*pe.Gy));Y.ZERO=new Y(Fe,j,j,Fe);function uy(t,e){let r=e.negate();return t?r:e}function ly(t){if(!(t instanceof Y))throw new TypeError("ExtendedPoint expected")}function dl(t){if(!(t instanceof je))throw new TypeError("RistrettoPoint expected")}function pl(){throw new Error("Legacy method: switch to RistrettoPoint")}var je=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=pe,n=A(fs*e*e),i=A((n+j)*Fb),s=BigInt(-1),o=A((s-r*n)*A(n+r)),{isValid:a,value:c}=xl(i,o),u=A(c*e);Or(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-j)*Ub-o),f=c*c,h=A((c+c)*o),d=A(l*Ob),p=A(j-f),m=A(j+f);return new Y(A(h*m),A(p*d),A(d*m),A(h*p))}static hashToCurve(e){e=Fr(e,64);let r=ml(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=ml(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new je(n.add(s))}static fromHex(e){e=Fr(e,32);let{a:r,d:n}=pe,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=ml(e);if(!zb(hs(s),e)||Or(s))throw new Error(i);let o=A(s*s),a=A(j+r*o),c=A(j-r*o),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:h,value:d}=hy(A(f*l)),p=A(d*c),m=A(d*p*f),y=A((s+s)*p);Or(y)&&(y=A(-y));let g=A(a*m),x=A(y*g);if(!h||Or(x)||g===Fe)throw new Error(i);return new je(new Y(y,g,j,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,s=A(A(n+r)*A(n-r)),o=A(e*r),a=A(o*o),{value:c}=hy(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),h;if(Or(i*f)){let p=A(r*fs),m=A(e*fs);e=p,r=m,h=A(u*Mb)}else h=l;Or(e*f)&&(r=A(-r));let d=A((n-r)*h);return Or(d)&&(d=A(-d)),hs(d)}toHex(){return ds(this.toRawBytes())}toString(){return this.toHex()}equals(e){dl(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return i||s}add(e){return dl(e),new je(this.ep.add(e.ep))}subtract(e){return dl(e),new je(this.ep.subtract(e.ep))}multiply(e){return new je(this.ep.multiply(e))}multiplyUnsafe(e){return new je(this.ep.multiplyUnsafe(e))}};je.BASE=new je(Y.BASE);je.ZERO=new je(Y.ZERO);var gl=new WeakMap,ge=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,gl.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=pe;e=Fr(e,32);let s=e.slice();s[31]=e[31]&-129;let o=ps(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=dy)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-j),u=A(n*a+j),{isValid:l,value:f}=xl(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&j)===j;return(e[31]&128)!==0!==h&&(f=A(-f)),new ge(f,o)}static async fromPrivateKey(e){return(await ca(e)).point}toRawBytes(){let e=hs(this.y);return e[31]|=this.x&j?128:0,e}toHex(){return ds(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((j+e)*aa(j-e));return hs(r)}isTorsionFree(){return Y.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ge(A(-this.x),this.y)}add(e){return Y.fromAffine(this).add(Y.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Y.fromAffine(this).multiply(e,this).toAffine()}};ge.BASE=new ge(pe.Gx,pe.Gy);ge.ZERO=new ge(Fe,j);var gn=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Fr(e,64),n=ge.fromHex(r.slice(0,32),!1),i=ps(r.slice(32,64));return new gn(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof ge))throw new Error("Expected Point instance");return oa(r,pe.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(hs(this.s),32),e}toHex(){return ds(this.toRawBytes())}};function fy(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var Kb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ds(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Kb[t[r]];return e}function wl(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function py(t){let r=t.toString(16).padStart(64,"0");return wl(r)}function hs(t){return py(t).reverse()}function Or(t){return(A(t)&j)===j}function ps(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+ds(Uint8Array.from(t).reverse()))}var Vb=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function ml(t){return A(ps(t)&Vb)}function A(t,e=pe.P){let r=t%e;return r>=Fe?r:e+r}function aa(t,e=pe.P){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=Fe,s=j,o=j,a=Fe;for(;r!==Fe;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==j)throw new Error("invert: does not exist");return A(i,e)}function qb(t,e=pe.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Fe?s:(r[a]=s,A(s*o,e)),j),i=aa(n,e);return t.reduceRight((s,o,a)=>o===Fe?s:(r[a]=A(s*r[a],e),A(s*o,e)),i),r}function Yt(t,e){let{P:r}=pe,n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function $b(t){let{P:e}=pe,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=Yt(c,Mr)*c%e,l=Yt(u,j)*t%e,f=Yt(l,r)*l%e,h=Yt(f,n)*f%e,d=Yt(h,i)*h%e,p=Yt(d,s)*d%e,m=Yt(p,o)*p%e,y=Yt(m,o)*p%e,g=Yt(y,n)*f%e;return{pow_p_5_8:Yt(g,Mr)*t%e,b2:c}}function xl(t,e){let r=A(e*e*e),n=A(r*r*e),i=$b(t*n).pow_p_5_8,s=A(t*r*i),o=A(e*s*s),a=s,c=A(s*fs),u=o===t,l=o===A(-t),f=o===A(-t*fs);return u&&(s=a),(l||f)&&(s=c),Or(s)&&(s=A(-s)),{isValid:u||l,value:s}}function hy(t){return xl(j,t)}function sa(t){return A(ps(t),pe.l)}function zb(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Fr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):wl(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function oa(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Fe<t)return t}else if(Fe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Hb(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Gb(t){if(t=typeof t=="bigint"||typeof t=="number"?py(oa(t,dy)):Fr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Yb(t){let e=Hb(t.slice(0,32)),r=t.slice(32,64),n=sa(e),i=ge.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var yl;async function ca(t){return Yb(await Ur.sha512(Gb(t)))}async function vl(t){return(await ca(t)).pointBytes}async function my(t,e){t=Fr(t);let{prefix:r,scalar:n,pointBytes:i}=await ca(e),s=sa(await Ur.sha512(r,t)),o=ge.BASE.multiply(s),a=sa(await Ur.sha512(o.toRawBytes(),i,t)),c=A(s+a*n,pe.l);return new gn(o,c).toRawBytes()}function Wb(t,e,r){e=Fr(e),r instanceof ge||(r=ge.fromHex(r,!1));let{r:n,s:i}=t instanceof gn?t.assertValidity():gn.fromHex(t),s=Y.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function Qb(t,e,r,n){let i=sa(n),s=Y.fromAffine(t).multiplyUnsafe(i);return Y.fromAffine(e).add(s).subtract(r).multiplyUnsafe(pe.h).equals(Y.ZERO)}async function yy(t,e,r){let{r:n,SB:i,msg:s,pub:o}=Wb(t,e,r),a=await Ur.sha512(n.toRawBytes(),o.toRawBytes(),s);return Qb(o,n,i,a)}ge.BASE._setWindowSize(8);var kr={node:Nb,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Ur={bytesToHex:ds,hexToBytes:wl,concatBytes:fy,getExtendedPublicKey:ca,mod:A,invert:aa,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Fr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(ps(t),pe.l-j)+j},randomBytes:(t=32)=>{if(kr.web)return kr.web.getRandomValues(new Uint8Array(t));if(kr.node){let{randomBytes:e}=kr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ur.randomBytes(32),sha512:async(...t)=>{let e=fy(...t);if(kr.web){let r=await kr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(kr.node)return Uint8Array.from(kr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=ge.BASE){let r=e.equals(ge.BASE)?e:new ge(e.x,e.y);return r._setWindowSize(t),r.multiply(Mr),r},sha512Sync:void 0};Object.defineProperties(Ur,{sha512Sync:{configurable:!1,get(){return yl},set(t){yl||(yl=t)}}});var mi=32,lr=64,ua=32;async function gy(){let t=Ur.randomPrivateKey(),e=await vl(t);return{privateKey:Ey(t,e),publicKey:e}}async function wy(t){if(t.length!==ua)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await vl(e);return{privateKey:Ey(e,r),publicKey:r}}async function xy(t,e){let r=t.subarray(0,ua);return await my(e,r)}async function vy(t,e,r){return await yy(e,r,t)}function Ey(t,e){let r=new Uint8Array(lr);for(let n=0;n<ua;n++)r[n]=t[n],r[ua+n]=e[n];return r}var ms=class{constructor(e){this._key=yi(e,mi)}async verify(e,r){return await vy(this._key,r,e)}marshal(){return this._key}get bytes(){return Ft.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},wn=class{constructor(e,r){this._key=yi(e,lr),this._publicKey=yi(r,mi)}async sign(e){return await xy(this._key,e)}get public(){return new ms(this._publicKey)}marshal(){return this._key}get bytes(){return Ut.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=yr.digest(this.public.bytes);return Se.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return await di(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jb(t){if(t.length>lr){t=yi(t,lr+mi);let n=t.subarray(0,lr),i=t.subarray(lr,t.length);return new wn(n,i)}t=yi(t,lr);let e=t.subarray(0,lr),r=t.subarray(mi);return new wn(e,r)}function Jb(t){return t=yi(t,mi),new ms(t)}async function e_(){let{privateKey:t,publicKey:e}=await gy();return new wn(t,e)}async function by(t){let{privateKey:e,publicKey:r}=await wy(t);return new wn(e,r)}function yi(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var _l={};Ue(_l,{Secp256k1PrivateKey:()=>gs,Secp256k1PublicKey:()=>ys,generateKeyPair:()=>i_,unmarshalSecp256k1PrivateKey:()=>r_,unmarshalSecp256k1PublicKey:()=>n_});function _y(){return Lt.randomPrivateKey()}async function Sy(t,e){let{digest:r}=await Ke.digest(e);try{return await Xm(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function Ay(t,e,r){try{let{digest:n}=await Ke.digest(r);return Zm(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function Iy(t){return re.fromHex(t).toRawBytes(!0)}function Ry(t){try{ul(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function bl(t){try{re.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Cy(t){try{return ul(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var ys=class{constructor(e){bl(e),this._key=e}async verify(e,r){return await Ay(this._key,r,e)}marshal(){return Iy(this._key)}get bytes(){return Ft.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},gs=class{constructor(e,r){this._key=e,this._publicKey=r??Cy(e),Ry(this._key),bl(this._publicKey)}async sign(e){return await Sy(this._key,e)}get public(){return new ys(this._publicKey)}marshal(){return this._key}get bytes(){return Ut.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ie(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return await di(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function r_(t){return new gs(t)}function n_(t){return new ys(t)}async function i_(){let t=_y();return new gs(t)}var fr={rsa:hl,ed25519:El,secp256k1:_l};function Sl(t){let e=Object.keys(fr).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Al(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return fr[t];throw Sl(t)}async function fa(t,e){return await Al(t).generateKeyPair(e??2048)}function ws(t){let e=Ft.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return fr.rsa.unmarshalRsaPublicKey(r);case me.Ed25519:return fr.ed25519.unmarshalEd25519PublicKey(r);case me.Secp256k1:return fr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Sl(e.Type??"RSA")}}function Il(t,e){return e=(e??"rsa").toLowerCase(),Al(e),t.bytes}async function ha(t){let e=Ut.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return await fr.rsa.unmarshalRsaPrivateKey(r);case me.Ed25519:return fr.ed25519.unmarshalEd25519PrivateKey(r);case me.Secp256k1:return fr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Sl(e.Type??"RSA")}}function Ty(t,e){return e=(e??"rsa").toLowerCase(),Al(e),t.bytes}async function xs(t,e){try{let i=await Lm(t,e);return await ha(i)}catch{}let r=la.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=la.default.asn1.toDer(la.default.pki.privateKeyToAsn1(r));return n=K(n.getBytes(),"ascii"),await fr.rsa.unmarshalRsaPrivateKey(n)}var C3=U(Uo(),1),o_=U(se(),1);var Py=U(Gu(),1),Ly=U(Te(),1);var By={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function vs(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(By).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=By[i],o=(0,Py.default)(t,e,r,n,s);return Ly.default.encode64(o,null)}var da=G("libp2p:keychain"),u_="/pkcs8/",Ny="/info/",xn=new WeakMap,vn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Rl={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function hr(t){return t==null||typeof t!="string"?!1:t===(0,Dy.default)(t.trim())&&t.length>0}async function ce(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Wt(t){return new be(u_+t)}function Kr(t){return new be(Ny+t)}var En=class{constructor(e,r){if(this.components=e,this.init=Ar(Rl,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<vn.minKeyLength)throw new Error(`dek.keyLength must be least ${vn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<vn.minSaltLength)throw new Error(`dek.saltLength must be least ${vn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<vn.minIterationCount)throw new Error(`dek.iterationCount must be least ${vn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?vs(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";xn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Rl),r=Math.ceil(vn.minSaltLength/3)*3;return e.dek.salt=$(mn(r),"base64"),e}static get options(){return Rl}async createKey(e,r,n=2048){if(!hr(e)||e==="self")throw await ce(),new E("Invalid key name",Q.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ce(),new E("Invalid key type",Q.ERR_INVALID_KEY_TYPE);let i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E("Key name already exists",Q.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ce(),new E("Invalid RSA key size",Q.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await fa(r,n),c=await a.id(),u=xn.get(this);if(u==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,K(f)),h.put(Kr(e),K(JSON.stringify(o))),await h.commit()}catch(a){throw await ce(),a}return o}async listKeys(){let e={prefix:Ny},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse($(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ce(),r}}async findKeyByName(e){if(!hr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);let r=Kr(e);try{let n=await this.components.datastore.get(r);return JSON.parse($(n))}catch(n){throw await ce(),da.error(n),new E(`Key '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!hr(e)||e==="self")throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);let r=Wt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Kr(e)),await i.commit(),n}async renameKey(e,r){if(!hr(e)||e==="self")throw await ce(),new E(`Invalid old key name '${e}'`,Q.ERR_OLD_KEY_NAME_INVALID);if(!hr(r)||r==="self")throw await ce(),new E(`Invalid new key name '${r}'`,Q.ERR_NEW_KEY_NAME_INVALID);let n=Wt(e),i=Wt(r),s=Kr(e),o=Kr(r);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${r}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse($(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,K(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ce(),c}}async exportKey(e,r){if(!hr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw await ce(),new E("Password is required",Q.ERR_PASSWORD_REQUIRED);let n=Wt(e);try{let i=await this.components.datastore.get(n),s=$(i),o=xn.get(this);if(o==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await xs(s,a)).export(r)}catch(i){throw await ce(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await xs(n,r);return await Oi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!hr(e)||e==="self")throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw await ce(),new E("PEM encoded key is required",Q.ERR_PEM_REQUIRED);let i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${e}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);let o;try{o=await xs(r,n)}catch{throw await ce(),new E("Cannot read the key, most likely the password is wrong",Q.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=xn.get(this);if(l==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await ce(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,K(r)),u.put(Kr(e),K(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!hr(e))throw new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",Q.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",Q.ERR_MISSING_PRIVATE_KEY);let n=await ha(r.privateKey),i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${e}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);let o=xn.get(this);if(o==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,K(c)),l.put(Kr(e),K(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ce(),n}}async getPrivateKey(e){if(!hr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);try{let r=Wt(e),n=await this.components.datastore.get(r);return $(n)}catch(r){throw await ce(),da.error(r),new E(`Key '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ce(),new E(`Invalid old pass type '${typeof e}'`,Q.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ce(),new E(`Invalid new pass type '${typeof r}'`,Q.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ce(),new E(`Invalid pass length ${r.length}`,Q.ERR_INVALID_PASS_LENGTH);da("recreating keychain");let n=xn.get(this);if(n==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?vs(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";xn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Wt(a.name)),u=$(c),l=await xs(u,i),f=s.toString(),h=await l.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(Wt(a.name),K(h)),d.put(Kr(a.name),K(JSON.stringify(p))),await d.commit()}da("keychain reconstructed")}};var J3=Symbol.for("@libp2p/transport");var Vr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Vr||(Vr={}));var Cl=class extends Map{constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function ky(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Cl({name:e,metrics:r}):n=new Map,n}var dr=G("libp2p:transports"),pa=class{constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=ky({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Vr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",D.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,D.ERR_DUPLICATE_TRANSPORT);dr("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(dr("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),dr("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new E(`No transport available for address ${String(e)}`,D.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=D.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){dr("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){dr("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddrs()}).then(()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}).catch(h=>{dr.error("error while updating peer record after listener began listening",h)})}),l.addEventListener("close",()=>{this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddrs()}).then(()=>{this.components.events.safeDispatchEvent("transport:close",{detail:l})}).catch(h=>{dr.error("error while updating peer record after listener stopped listening",h)})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Vr.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,D.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Vr.FATAL_ALL)throw new E(n,D.ERR_NO_VALID_ADDRESSES);dr(`libp2p in dial mode only: ${n}`)}}async remove(e){dr("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var pr="/multistream/1.0.0";var My=Symbol.for("@achingbrain/uint8arraylist");function Oy(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function ma(t){return!!t?.[My]}var Le=class{constructor(...e){Object.defineProperty(this,My,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ma(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ma(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Oy(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Oy(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ma(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Ae(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ae(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new Le;return s.length=i,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ma(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){l=Math.max(1,h-a[d]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=vt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Zt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Zt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Zt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=vt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Zt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Zt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Zt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Zt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Zt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Le)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ie(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Le;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function ya(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var Fy=4294967296,ut=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new ut(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new ut(r,n)}toBytes(e,r=0){let n=ya(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new ut;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Fy&&(i=0,++n>Fy&&(n=0))),new ut(n,i)}static fromNumber(e){if(e===0)return new ut;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ut(i,n)}static fromBytes(e,r=0){let n=ya(e),i=new ut,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var l_=Math.pow(2,7),f_=Math.pow(2,14),h_=Math.pow(2,21),d_=Math.pow(2,28),p_=Math.pow(2,35),m_=Math.pow(2,42),y_=Math.pow(2,49),g_=Math.pow(2,56),w_=Math.pow(2,63),bn={encodingLength(t){return t<l_?1:t<f_?2:t<h_?3:t<d_?4:t<p_?5:t<m_?6:t<y_?7:t<g_?8:t<w_?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=vt(bn.encodingLength(t))),ut.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return ut.fromBytes(t,e).toNumber(!0)}};function ga(t){return t[Symbol.asyncIterator]!=null}var wa=t=>{let e=bn.encodingLength(t),r=vt(e);return bn.encode(t,r),wa.bytes=e,r};wa.bytes=0;function xa(t,e){e=e??{};let r=e.lengthEncoder??wa;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return ga(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}xa.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??wa;return new Le(r(t.byteLength),t)};var gi=U(Cc(),1);var x_=8,v_=1024*1024*4,_n;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(_n||(_n={}));var Tl=t=>{let e=bn.decode(t);return Tl.bytes=bn.encodingLength(e),e};Tl.bytes=0;function Es(t,e){let r=new Le,n=_n.LENGTH,i=-1,s=e?.lengthDecoder??Tl,o=e?.maxLengthLength??x_,a=e?.maxDataLength??v_;function*c(){for(;r.byteLength>0;){if(n===_n.LENGTH)try{if(i=s(r),i<0)throw(0,gi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,gi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=_n.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,gi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===_n.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=_n.LENGTH}}}return ga(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,gi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,gi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Es.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return Es(n,{...e??{},onLength:s=>{r=s}})};var bs=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Uy(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function va(t,e,r){let n=r??{},i=Uy(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new bs(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new bs(h,d))}});c=await Promise.race([u,i.next()]),o=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return s()}function b_(t,e,r){return n=>t(va(n,e,r))}function Ky(t,e,r){return{sink:b_(t.sink,e,{...r,onAbort:void 0}),source:va(t.source,e,r)}}var S_=G("libp2p:mss"),Vy=K(`
|
|
49
|
-
`);function _s(t){let e=new Le(t,Vy);return xa.single(e)}function Sn(t,e,r={}){let n=_s(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function qy(t,e,r={}){let n=new Le;for(let i of e)n.append(_s(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function A_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await t.next(r)},i=n;e?.signal!=null&&(i=va(n,e.signal));let s=a=>{r=a},o=await en(i,a=>Es(a,{onLength:s,maxDataLength:1024}),async a=>await Xs(a));if(o==null||o.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==Vy[0])throw S_.error("Invalid mss message - missing newline - %s",o.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function wi(t,e){let r=await A_(t,e);return $(r.subarray())}function Bl(t){let e=async function*(){let r=yield,n=new Le;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Le;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Le);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ea(t){let e=Jr(),r=Bl(t.source),n=Wi(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Ss=G("libp2p:mss:select");async function As(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=Ea(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Ss.trace('select: write ["%s", "%s"]',pr,a);let c=K(pr),u=K(a);qy(i,[c,u],r);let l=await wi(n,r);if(Ss.trace('select: read "%s"',l),l===pr&&(l=await wi(n,r),Ss.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){Ss.trace('select: write "%s"',f),Sn(i,K(f),r);let h=await wi(n,r);if(Ss.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Is=G("libp2p:mss:handle");async function Rs(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=Ea(t);for(;;){let a=await wi(i,r);if(Is.trace('read "%s"',a),a===pr){Is.trace('respond with "%s" for "%s"',pr,a),Sn(n,K(pr),r);continue}if(e.includes(a))return Sn(n,K(a),r),Is.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){Sn(n,new Le(...e.map(c=>_s(K(c)))),r),Is.trace('respond with "%s" for %s',e,a);continue}Sn(n,K("na"),r),Is('respond with "na" for "%s"',a)}}var zy="OPEN",Pl="CLOSING",ba="CLOSED";var Hy=Symbol.for("@libp2p/connection");var R_=G("libp2p:connection"),Ll=class{constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:zy},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[Hy](){return!0}get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===Pl)throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===ba)throw new E("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===ba||this._closing)){this.stat.status=Pl;try{this.streams.forEach(e=>{e.close()})}catch(e){R_.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=ba}}};function Gy(t){return new Ll(t)}var C_=Symbol.for("@libp2p/topology");function Yy(t){return t!=null&&!!t[C_]}var Dl=G("libp2p:registrar"),Nl=32,kl=64,_a=class{constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("connection:close",this._onDisconnect),this.components.events.addEventListener("connection:open",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new E(`No handler registered for protocol ${e}`,D.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new E(`Handler already registered for protocol ${e}`,D.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Ar.bind({ignoreUndefined:!0})({maxInboundStreams:Nl,maxOutboundStreams:kl},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(!Yy(r))throw Dl.error("topology must be an instance of interfaces/topology"),new E("topology must be an instance of interfaces/topology",D.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r.remotePeer).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r.remotePeer)}}).catch(n=>{Dl.error("could not inform topologies of disconnecting peer %p",r.remotePeer,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r.remotePeer).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(r.remotePeer,r)}}).catch(n=>{Dl.error("could not inform topologies of connecting peer %p",r.remotePeer,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect(r.id)}for(let o of s){let a=this.topologies.get(o);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect(r.id,u)}}}};var Ol=U(Ni(),1);var we=G("libp2p:upgrader");function B_(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Nl}function P_(t,e){try{let{options:r}=e.getHandler(t);return r.maxOutboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return kl}function Wy(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var Sa=class{constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new E(`The multiaddr connection is blocked by gater.${n}`,D.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",D.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=vr([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,Ol.setMaxListeners)?.(1/0,u)}catch{}try{let l=Ky(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",D.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),we("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(we("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",D.ERR_INVALID_MULTIADDR);let d=ne(h);c="native",s=d}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,o=h.stream}}catch(h){throw we.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),we("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=ne(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),we("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new E("Encryption was skipped but no peer id was passed",D.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw we.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),we("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Rs(d,p);if(we("%s: incoming stream opened on %s",n,y),l==null)return;let g=B_(y,this.components.registrar);if(Wy(y,"inbound",l)===g){d.abort(new E(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,D.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,await this.components.peerStore.merge(o,{protocols:[y]}),l.addStream(d),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:y})}).catch(p=>{we.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{l?.removeStream(d.id)}}),u=async(d,p={})=>{if(c==null)throw new E("Stream is not multiplexed",D.ERR_MUXER_UNAVAILABLE);we("%s: starting new stream on %s",n,d);let m=await c.newStream();try{if(p.signal==null){we("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),p.signal=AbortSignal.timeout(3e4);try{(0,Ol.setMaxListeners)?.(1/0,p.signal)}catch{}}let{stream:y,protocol:g}=await As(m,d,p),x=P_(g,this.components.registrar);if(Wy(g,"outbound",l)===x){let N=new E(`Too many outbound protocol streams for protocol "${g}" - limit ${x}`,D.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(N),N}return await this.components.peerStore.merge(o,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw we.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new E(String(y),D.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{we.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){we.error(p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{we.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new E("connection is not multiplexed",D.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=Gy({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());we("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Rs(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return we("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),D.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());we("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await As(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return we("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new E(String(i),D.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());we("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await As(e,n,{writeBytes:!0});we("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing outbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());we("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Rs(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing inbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}};var xi;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=mt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>pt(o,i.codec()),i.decode=o=>dt(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=mt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),Ia.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=Ia.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>pt(o,i.codec()),i.decode=o=>dt(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=mt((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),Aa.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(Aa.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>pt(i,t.codec()),t.decode=i=>dt(i,t.codec())})(xi||(xi={}));var Aa;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Aa||(Aa={}));var Ia;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Ia||(Ia={}));var Ve={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Ml="/peers/";function vi(t){if(!ro(t)||t.type==null)throw new E("Invalid PeerId",Ve.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new be(`${Ml}${e}`)}var Fl;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Fl||(Fl={}));var Qy=async()=>{let t=await fa("Ed25519"),e=await L_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Xy(t){return await Oi(Il(t))}async function L_(t){return await Oi(Il(t.public),Ty(t))}async function Ei(t,e){let r=xi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=await Xy(ws(r.publicKey)));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:qe(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Ul=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Kl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Zy=t=>globalThis.DOMException===void 0?new Kl(t):new DOMException(t),jy=t=>{let e=t.reason===void 0?Zy("This operation was aborted."):t.reason;return e instanceof Error?e:Zy(e)};function Vl(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(t);return}if(e.signal){let{signal:f}=e;f.aborted&&u(jy(f)),f.addEventListener("abort",()=>{u(jy(f))})}let l=new Ul;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await t)}catch(f){u(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var ql="lock:worker:request-read",$l="lock:worker:release-read",zl="lock:master:grant-read",Hl="lock:worker:request-write",Gl="lock:worker:release-write",Yl="lock:master:grant-write";var qr={},bi=t=>{t.addEventListener("message",e=>{bi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{bi.dispatchEvent("message",t,e)})};bi.addEventListener=(t,e)=>{qr[t]==null&&(qr[t]=[]),qr[t].push(e)};bi.removeEventListener=(t,e)=>{qr[t]!=null&&(qr[t]=qr[t].filter(r=>r===e))};bi.dispatchEvent=function(t,e,r){qr[t]!=null&&qr[t].forEach(n=>n(e,r))};var Wl=bi;var Jy=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},eg=(t,e,r,n)=>async()=>{let i=zs();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},D_={singleProcess:!1},tg=t=>{if(t=Object.assign({},D_,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Wl.addEventListener("message",Jy(r,"requestReadLock",ql,$l,zl)),Wl.addEventListener("message",Jy(r,"requestWriteLock",Hl,Gl,Yl)),r}return{isWorker:!0,readLock:r=>eg(r,ql,zl,$l),writeLock:r=>eg(r,Hl,Yl,Gl)}};var An={},$r;async function Ql(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Vl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var N_=(t,e)=>{if($r.isWorker===!0)return{readLock:$r.readLock(t,e),writeLock:$r.writeLock(t,e)};let r=new St({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ql(n,e);n=new St({concurrency:e.concurrency,autoStart:!1});let i=n,s=Ql(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Ql(r,e)}}},k_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Xl(t){let e=Object.assign({},k_,t);return $r==null&&($r=tg(e),$r.isWorker!==!0&&($r.addEventListener("requestReadLock",r=>{An[r.data.name]!=null&&An[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),$r.addEventListener("requestWriteLock",async r=>{An[r.data.name]!=null&&An[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),An[e.name]==null&&(An[e.name]=N_(e.name,e)),An[e.name]}async function rg(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=qe(i.multiaddr)),!jr(i.multiaddr))throw new E("Multiaddr was invalid",Ve.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function Ca(t,e,r,n){if(e==null)throw new E("Invalid PeerData",Ve.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Ie(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",Ve.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",Ve.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Ra(f,{validate:ng})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Ra(f,{validate:ig,map:sg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,d]of f)d==null?a.delete(h):a.set(h,d);a=Ra([...a.entries()],{validate:ng})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[d,p]of f)p==null?h.delete(d):h.set(d,p);c=Ra([...h.entries()],{validate:ig,map:sg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await rg(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Ra(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function ng(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",Ve.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",Ve.ERR_INVALID_PARAMETERS)}function ig(t,e){if(typeof t!="string")throw new E("Tag name must be a string",Ve.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",Ve.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",Ve.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",Ve.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",Ve.ERR_INVALID_PARAMETERS)}}function sg(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}var _i=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},zr,Ta,Ba,Pa=class{constructor(e,r={}){zr.add(this),this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Xl({name:"peer-store",singleProcess:!0})}async has(e){return await this.datastore.has(vi(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",Ve.ERR_INVALID_PARAMETERS);await this.datastore.delete(vi(e))}async load(e){let r=await this.datastore.get(vi(e));return await Ei(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await _i(this,zr,"m",Ta).call(this,e),s=await Ca(e,r,"patch",{addressFilter:this.addressFilter});return await _i(this,zr,"m",Ba).call(this,e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await _i(this,zr,"m",Ta).call(this,e),s=await Ca(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return await _i(this,zr,"m",Ba).call(this,e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await _i(this,zr,"m",Ta).call(this,e),s=await Ca(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return await _i(this,zr,"m",Ba).call(this,e,s,n,i)}async*all(){for await(let{key:e,value:r}of this.datastore.query({prefix:Ml})){let n=e.toString().split("/")[2],i=rt.decode(n),s=no(i);s.equals(this.peerId)||(yield Ei(s,r))}}};zr=new WeakSet,Ta=async function(e){try{let r=await this.datastore.get(vi(e)),n=await Ei(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}},Ba=async function(e,r,n,i){let s=xi.encode(r);return n!=null&&Ie(s,n)?{peer:await Ei(e,s),previous:i,updated:!1}:(await this.datastore.put(vi(e),s),{peer:await Ei(e,s),previous:i,updated:!0})};var Zl=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Cs,La,xe=G("libp2p:peer-store"),Da=class{constructor(e,r={}){Cs.add(this),this.events=e.events,this.peerId=e.peerId,this.store=new Pa(e,r)}async forEach(e){xe.trace("forEach await read lock");let r=await this.store.lock.readLock();xe.trace("forEach got read lock");try{for await(let n of this.store.all())e(n)}finally{xe.trace("forEach release read lock"),r()}}async all(){xe.trace("all await read lock");let e=await this.store.lock.readLock();xe.trace("all got read lock");try{let r=[];for await(let n of this.store.all())r.push(n);return r}finally{xe.trace("all release read lock"),e()}}async delete(e){xe.trace("delete await write lock");let r=await this.store.lock.writeLock();xe.trace("delete got write lock");try{await this.store.delete(e)}finally{xe.trace("delete release write lock"),r()}}async has(e){xe.trace("has await read lock");let r=await this.store.lock.readLock();xe.trace("has got read lock");try{return await this.store.has(e)}finally{xe.trace("has release read lock"),r()}}async get(e){xe.trace("get await read lock");let r=await this.store.lock.readLock();xe.trace("get got read lock");try{return await this.store.load(e)}finally{xe.trace("get release read lock"),r()}}async save(e,r){xe.trace("save await write lock");let n=await this.store.lock.writeLock();xe.trace("save got write lock");try{let i=await this.store.save(e,r);return Zl(this,Cs,"m",La).call(this,e,i),i.peer}finally{xe.trace("save release write lock"),n()}}async patch(e,r){xe.trace("patch await write lock");let n=await this.store.lock.writeLock();xe.trace("patch got write lock");try{let i=await this.store.patch(e,r);return Zl(this,Cs,"m",La).call(this,e,i),i.peer}finally{xe.trace("patch release write lock"),n()}}async merge(e,r){xe.trace("merge await write lock");let n=await this.store.lock.writeLock();xe.trace("merge got write lock");try{let i=await this.store.merge(e,r);return Zl(this,Cs,"m",La).call(this,e,i),i.peer}finally{xe.trace("merge release write lock"),n()}}};Cs=new WeakSet,La=function(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))};function og(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var jl=class{constructor(e={}){this.components={},this._started=!1,this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>og(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},O_=["metrics","connectionProtector"],M_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function ag(t={}){let e=new jl(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!M_.includes(i)){let o=e.components[i];if(o==null&&!O_.includes(i))throw new E(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var ug=U(Ni(),1);var F_={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Xn},addressSorter:Qn},transportManager:{faultTolerance:Vr.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}}};function cg(t){let e=Ar(F_,t);if(e.transports==null||e.transports.length<1)throw new E(bt.ERR_TRANSPORTS_REQUIRED,D.ERR_TRANSPORTS_REQUIRED);if(e.connectionEncryption==null||e.connectionEncryption.length===0)throw new E(bt.CONN_ENCRYPTION_REQUIRED,D.CONN_ENCRYPTION_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(bt.ERR_PROTECTOR_REQUIRED,D.ERR_PROTECTOR_REQUIRED);return e}var Jl=Symbol.for("@libp2p/content-routing");var ef=Symbol.for("@libp2p/peer-routing");var tf=Symbol.for("@libp2p/peer-discovery"),e6=Symbol.for("@libp2p/peer-discovery");var rf=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},Ts=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Na,Hr,nf,Je=G("libp2p"),sf=class extends Si{constructor(e){super(),Na.add(this),Hr.set(this,void 0);let r=new Si,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Qa(c.type,{detail:c.detail}));return u||l};try{(0,ug.setMaxListeners)?.(1/0,r)}catch{}rf(this,Hr,!1,"f"),this.peerId=e.peerId,this.services={};let i=this.components=ag({peerId:e.peerId,events:r,datastore:e.datastore??new Gs,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...e.connectionGater}});this.peerStore=this.configureComponent("peerStore",new Da(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Sa(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new pa(this.components,e.transportManager)),this.configureComponent("connectionManager",new So(this.components,e.connectionManager)),this.configureComponent("registrar",new _a(this.components)),this.configureComponent("addressManager",new io(this.components,e.addresses));let s=En.generateOptions();this.keychain=this.configureComponent("keyChain",new En(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Js(this.components,{...e.peerRouting,routers:o}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new to(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{Ts(this,Na,"m",nf).call(this,f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){Je.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[Jl]!=null&&(Je("registering service %s for content routing",c),a.push(l[Jl])),l[ef]!=null&&(Je("registering service %s for peer routing",c),o.push(l[ef])),l[tf]!=null&&(Je("registering service %s for peer discovery",c),l[tf].addEventListener("peer",f=>{Ts(this,Na,"m",nf).call(this,f)}))}}configureComponent(e,r){return r==null&&Je.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(Ts(this,Hr,"f"))return;rf(this,Hr,!0,"f"),Je("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(Je("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),Je("libp2p has started")}catch(r){throw Je.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){Ts(this,Hr,"f")&&(Je("libp2p is stopping"),rf(this,Hr,!1,"f"),await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),Je("libp2p has stopped"))}isStarted(){return Ts(this,Hr,"f")}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new ir;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return await this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){jr(e)&&(e=ne(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(Je("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Ae([K("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return ws(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return await this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}};Hr=new WeakMap,Na=new WeakSet,nf=function(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){Je.error(new Error(D.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{Je.error(n)})};async function lg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new En({datastore:e},Ar(En.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await Qy()),new sf(cg(t))}async function U_(t){let e=await lg(t);return t.start!==!1&&await e.start(),e}return yg(K_);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Bw=new RegExp(`(?:^${At}$)|(?:^${ho}$)`),Pw=new RegExp(`^${At}$`),Lw=new RegExp(`^${ho}$`),tu=t=>t&&t.exact?Bw:new RegExp(`(?:${Er(t)}${At}${Er(t)})|(?:${Er(t)}${ho}${Er(t)})`,"g");tu.v4=t=>t&&t.exact?Pw:new RegExp(`${Er(t)}${At}${Er(t)}`,"g");tu.v6=t=>t&&t.exact?Lw:new RegExp(`${Er(t)}${ho}${Er(t)}`,"g");var Sh=tu;var Th=V(Rh(),1),{isValid:Dw,parse:Nw}=Th.default,kw=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Ow=kw.map(t=>new Ch.Netmask(t));function Mw(t){for(let e of Ow)if(e.contains(t))return!0;return!1}function Ih(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Bh=t=>{if(Dw(t)){let e=Nw(t);if(e.kind()==="ipv4")return Mw(e.toNormalizedString());if(e.kind()==="ipv6")return Ih(t)}else if(Tn(t)&&Sh.v6().test(t))return Ih(t)};var mo=Bh;function ru(t){try{let{address:e}=t.nodeAddress();return!!mo(e)}catch{return!0}}function zn(t,e){let r=ru(t.multiaddr),n=ru(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var iu=V(Fa(),1),su=V(Dh(),1);var Nh=globalThis.fetch,kh=globalThis.Headers,G4=globalThis.Request,Y4=globalThis.Response;function yo(t,e,r){return`${t}?name=${e}&type=${r}`}async function Oh(t,e){return await(await Nh(t,{headers:new kh({accept:"application/dns-json"}),signal:e})).json()}function en(t,e){return`${e}_${t}`}var nu=Object.assign((0,iu.default)("dns-over-http-resolver"),{error:(0,iu.default)("dns-over-http-resolver:error")}),ou=class{constructor(e={}){this._cache=new su.default({max:e?.maxCache??100}),this._TXTcache=new su.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Oh,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(en(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(yo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(en(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),nu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(en(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(yo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(en(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),nu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(en(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(yo(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(en(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),nu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Mh=ou;var Fh=Mh;var{code:qw}=oe("dnsaddr");async function Hn(t,e={}){let r=new Fh;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===qw)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}function Gn(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}var cu=V(zi(),1),Qh=G("libp2p:connection-manager:utils");async function uu(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await Qw(t,e),o=(await Promise.all(n.map(async a=>await uu(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Qh("resolved %s to",t,o.map(a=>a.toString())),o}async function Qw(t,e){try{return t=qe(t.toString()),await t.resolve(e)}catch(r){return Qh.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Xh(...t){let e=[];for(let n of t)if(n!=null){try{(0,cu.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Gn(e);try{(0,cu.setMaxListeners)?.(1/0,r)}catch{}return r}function Hi(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var lu=V(zi(),1),ze=G("libp2p:connection-manager:dial-queue"),Gi={addressSorter:zn,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Hn}},wo=class{constructor(e,r={}){this.addressSorter=r.addressSorter??Gi.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Gi.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Gi.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Gi.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,lu.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))bc.set(n,i);this.queue=new St({concurrency:r.maxParallelDials??Gi.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{ze.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=eo(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return ze("joining existing dial target for %p",n),o.clear(),await c.promise;ze("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:Zw(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(l=>{throw ze.error("dial failed to %s",a.map(({multiaddr:f})=>f.toString()).join(", "),l),o.aborted?new E(l.message,N.ERR_TIMEOUT):l}),this.pendingDials.push(u),await u.promise}createDialAbortControllers(e){let r=Gn([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,lu.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",N.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",N.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){ze("loading multiaddrs for %p",e);try{let u=await this.peerStore.get(e);r.push(...u.addresses),ze("loaded multiaddrs for %p",e,r.map(({multiaddr:l})=>l.toString()))}catch(u){if(u.code!==N.ERR_NOT_FOUND)throw u}}}let i=(await Promise.all(r.map(async u=>{let l=await uu(u.multiaddr,n);return l.length===1&&l[0].equals(u.multiaddr)?u:l.map(f=>({multiaddr:f,isCertified:!1}))}))).flat(),s=i.filter(u=>!!this.transportManager.transportForMultiaddr(u.multiaddr)),o=new Map;for(let u of s){let l=u.multiaddr.toString(),f=o.get(l);if(f!=null){f.isCertified=f.isCertified||u.isCertified||!1;continue}o.set(l,u)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(ze("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:u})=>u.toString())),ze("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:u})=>u.toString()))),a.length===0)throw new E("The dial request has no valid addresses",N.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",N.ERR_TOO_MANY_ADDRESSES);if(e!=null){let u=`/p2p/${e.toString()}`;a=a.map(l=>{let f=l.multiaddr.getPeerId();return l.multiaddr.protos().pop()?.path===!0?l:f!==e.toString()?{multiaddr:l.multiaddr.encapsulate(u),isCertified:l.isCertified}:l})}let c=[];for(let u of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(u.multiaddr)||c.push(u);return c.sort(this.addressSorter)}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new St({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{ze.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",N.ERR_INVALID_PARAMETERS);let u=Xh(c.signal,r.signal);u.addEventListener("abort",()=>{ze("dial to %s aborted",o)});let l=Hi();return await i.add(async()=>{if(u.aborted){ze("dial to %s was aborted before reaching the head of the peer dial queue",o),l.reject(new yr);return}await this.queue.add(async()=>{try{if(u.aborted){ze("dial to %s was aborted before reaching the head of the dial queue",o),l.reject(new yr);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){ze("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{ze.error("error closing superfluous connection",h)}),l.reject(new yr);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),ze("dial to %s succeeded",o),l.resolve(f)}catch(f){ze.error("error during dial of %s",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),await l.promise}));if(s==null)throw new E("successful dial led to empty object returned from peer dial queue",N.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function Zw(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Wn=G("libp2p:connection-manager:connection-pruner"),Zh={maxConnections:300,allow:[]},vo=class{constructor(e,r={}){this.maxConnections=r.maxConnections??Zh.maxConnections,this.allow=r.allow??Zh.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Wn.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Wn("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Wn("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new tr;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&Wn.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,h=c.stat.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(Wn("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){Wn.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var ot=G("libp2p:connection-manager"),e2=50,Qn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0},Eo=class{constructor(e,r={}){this.maxConnections=r.maxConnections??Qn.maxConnections;let n=r.minConnections??Qn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",N.ERR_INVALID_PARAMETERS);this.connections=new tr,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>qe(i)),this.deny=(r.deny??[]).map(i=>qe(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??Qn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new jh.RateLimiterMemory({points:r.inboundConnectionThreshold??Qn.inboundConnectionThreshold,duration:1}),this.autoDial=new fo({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??Qn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??Qn.autoDialPriority}),this.connectionPruner=new vo({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new wo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??zn,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Hn}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,ot("started")}async afterStart(){Promise.resolve().then(async()=>{let e=[];for(let r of await this.peerStore.all())r.tags.has(m0)&&e.push(r.id);await Promise.all(e.map(async r=>{await this.openConnection(r).catch(n=>{ot.error(n)})}))}).catch(e=>{ot.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){ot.error(i)}})());ot("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),ot("stopped")}onConnect(e){this._onConnect(e).catch(r=>{ot.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new E("Not started",N.ERR_NODE_NOT_STARTED);let{peerId:n}=eo(e);if(n!=null){ot("dial %p",n);let a=this.getConnections(n);if(a.length>0)return ot("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??e2}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return ot("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return ot("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return ot("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,e.remoteAddr),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(ot("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Iy=V(ad(),1);var yd=V(md(),1),_r=yd.default;var Q;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(Q||(Q={}));var h3=V(Xi(),1),d3=V(Pp(),1);var aa=V(se(),1);var fl={};Ue(fl,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>ss,generateKeyPair:()=>wb,generateKeyPairFromSeed:()=>Mm,unmarshalEd25519PrivateKey:()=>gb,unmarshalEd25519PublicKey:()=>xb});var qE=V(jr(),1);var Me=BigInt(0),Z=BigInt(1),Br=BigInt(2),$E=BigInt(8),Lp=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),he=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Lp,n:Lp,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Mp=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Ji=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),yT=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),zE=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),HE=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),GE=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),YE=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Y=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof ye))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(ye.ZERO)?Y.ZERO:new Y(e.x,e.y,Z,A(e.x*e.y))}static toAffineBatch(e){let r=XE(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){Np(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=A(r*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new Y(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=he,s=A(e*e),o=A(r*r),a=A(Br*A(n*n)),c=A(i*s),u=e+r,l=A(A(u*u)-s-o),f=c+o,h=f-a,d=c-o,p=A(l*h),m=A(f*d),y=A(l*d),g=A(h*f);return new Y(p,m,g,y)}add(e){Np(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=A((n-r)*(a+o)),f=A((n+r)*(a-o)),h=A(f-l);if(h===Me)return this.double();let d=A(i*Br*u),p=A(s*Br*c),m=p+d,y=f+l,g=p-d,w=A(m*h),_=A(y*g),D=A(m*g),C=A(h*y);return new Y(w,_,C,D)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Y.BASE)&&(r=ye.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&qu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Y.normalizeZ(i),qu.set(r,i)));let s=Y.ZERO,o=Y.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=Z);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,w=p<0;p===0?o=o.add(Dp(g,i[m])):s=s.add(Dp(w,i[y]))}return Y.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF($o(e,he.l),r)}multiplyUnsafe(e){let r=$o(e,he.l,!1),n=Y.BASE,i=Y.ZERO;if(r===Me)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Me;)r&Z&&(s=s.add(o)),o=o.double(),r>>=Z;return s}isSmallOrder(){return this.multiplyUnsafe(he.h).equals(Y.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(he.l/Br).double();return he.l%Br&&(e=e.add(this)),e.equals(Y.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(Y.ZERO);e==null&&(e=s?$E:zo(i));let o=A(r*e),a=A(n*e),c=A(i*e);if(s)return ye.ZERO;if(c!==Z)throw new Error("invZ was invalid");return new ye(o,a)}fromRistrettoBytes(){Uu()}toRistrettoBytes(){Uu()}fromRistrettoHash(){Uu()}};Y.BASE=new Y(he.Gx,he.Gy,Z,A(he.Gx*he.Gy));Y.ZERO=new Y(Me,Z,Z,Me);function Dp(t,e){let r=e.negate();return t?r:e}function Np(t){if(!(t instanceof Y))throw new TypeError("ExtendedPoint expected")}function Fu(t){if(!(t instanceof Ze))throw new TypeError("RistrettoPoint expected")}function Uu(){throw new Error("Legacy method: switch to RistrettoPoint")}var Ze=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=he,n=A(Ji*e*e),i=A((n+Z)*GE),s=BigInt(-1),o=A((s-r*n)*A(n+r)),{isValid:a,value:c}=zu(i,o),u=A(c*e);Tr(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-Z)*YE-o),f=c*c,h=A((c+c)*o),d=A(l*zE),p=A(Z-f),m=A(Z+f);return new Y(A(h*m),A(p*d),A(d*m),A(h*p))}static hashToCurve(e){e=Pr(e,64);let r=Ku(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Ku(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new Ze(n.add(s))}static fromHex(e){e=Pr(e,32);let{a:r,d:n}=he,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Ku(e);if(!jE(es(s),e)||Tr(s))throw new Error(i);let o=A(s*s),a=A(Z+r*o),c=A(Z-r*o),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:h,value:d}=Op(A(f*l)),p=A(d*c),m=A(d*p*f),y=A((s+s)*p);Tr(y)&&(y=A(-y));let g=A(a*m),w=A(y*g);if(!h||Tr(w)||g===Me)throw new Error(i);return new Ze(new Y(y,g,Z,w))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,s=A(A(n+r)*A(n-r)),o=A(e*r),a=A(o*o),{value:c}=Op(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),h;if(Tr(i*f)){let p=A(r*Ji),m=A(e*Ji);e=p,r=m,h=A(u*HE)}else h=l;Tr(e*f)&&(r=A(-r));let d=A((n-r)*h);return Tr(d)&&(d=A(-d)),es(d)}toHex(){return ts(this.toRawBytes())}toString(){return this.toHex()}equals(e){Fu(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return i||s}add(e){return Fu(e),new Ze(this.ep.add(e.ep))}subtract(e){return Fu(e),new Ze(this.ep.subtract(e.ep))}multiply(e){return new Ze(this.ep.multiply(e))}multiplyUnsafe(e){return new Ze(this.ep.multiplyUnsafe(e))}};Ze.BASE=new Ze(Y.BASE);Ze.ZERO=new Ze(Y.ZERO);var qu=new WeakMap,ye=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,qu.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=he;e=Pr(e,32);let s=e.slice();s[31]=e[31]&-129;let o=rs(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=Mp)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-Z),u=A(n*a+Z),{isValid:l,value:f}=zu(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&Z)===Z;return(e[31]&128)!==0!==h&&(f=A(-f)),new ye(f,o)}static async fromPrivateKey(e){return(await Ho(e)).point}toRawBytes(){let e=es(this.y);return e[31]|=this.x&Z?128:0,e}toHex(){return ts(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((Z+e)*zo(Z-e));return es(r)}isTorsionFree(){return Y.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ye(A(-this.x),this.y)}add(e){return Y.fromAffine(this).add(Y.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Y.fromAffine(this).multiply(e,this).toAffine()}};ye.BASE=new ye(he.Gx,he.Gy);ye.ZERO=new ye(Me,Z);var an=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Pr(e,64),n=ye.fromHex(r.slice(0,32),!1),i=rs(r.slice(32,64));return new an(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof ye))throw new Error("Expected Point instance");return $o(r,he.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(es(this.s),32),e}toHex(){return ts(this.toRawBytes())}};function kp(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var WE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ts(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=WE[t[r]];return e}function $u(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Fp(t){let r=t.toString(16).padStart(64,"0");return $u(r)}function es(t){return Fp(t).reverse()}function Tr(t){return(A(t)&Z)===Z}function rs(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+ts(Uint8Array.from(t).reverse()))}var QE=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ku(t){return A(rs(t)&QE)}function A(t,e=he.P){let r=t%e;return r>=Me?r:e+r}function zo(t,e=he.P){if(t===Me||e<=Me)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=Me,s=Z,o=Z,a=Me;for(;r!==Me;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==Z)throw new Error("invert: does not exist");return A(i,e)}function XE(t,e=he.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Me?s:(r[a]=s,A(s*o,e)),Z),i=zo(n,e);return t.reduceRight((s,o,a)=>o===Me?s:(r[a]=A(s*r[a],e),A(s*o,e)),i),r}function qt(t,e){let{P:r}=he,n=t;for(;e-- >Me;)n*=n,n%=r;return n}function ZE(t){let{P:e}=he,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=qt(c,Br)*c%e,l=qt(u,Z)*t%e,f=qt(l,r)*l%e,h=qt(f,n)*f%e,d=qt(h,i)*h%e,p=qt(d,s)*d%e,m=qt(p,o)*p%e,y=qt(m,o)*p%e,g=qt(y,n)*f%e;return{pow_p_5_8:qt(g,Br)*t%e,b2:c}}function zu(t,e){let r=A(e*e*e),n=A(r*r*e),i=ZE(t*n).pow_p_5_8,s=A(t*r*i),o=A(e*s*s),a=s,c=A(s*Ji),u=o===t,l=o===A(-t),f=o===A(-t*Ji);return u&&(s=a),(l||f)&&(s=c),Tr(s)&&(s=A(-s)),{isValid:u||l,value:s}}function Op(t){return zu(Z,t)}function qo(t){return A(rs(t),he.l)}function jE(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Pr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):$u(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function $o(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Me<t)return t}else if(Me<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function JE(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function eb(t){if(t=typeof t=="bigint"||typeof t=="number"?Fp($o(t,Mp)):Pr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function tb(t){let e=JE(t.slice(0,32)),r=t.slice(32,64),n=qo(e),i=ye.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var Vu;async function Ho(t){return tb(await Lr.sha512(eb(t)))}async function Hu(t){return(await Ho(t)).pointBytes}async function Up(t,e){t=Pr(t);let{prefix:r,scalar:n,pointBytes:i}=await Ho(e),s=qo(await Lr.sha512(r,t)),o=ye.BASE.multiply(s),a=qo(await Lr.sha512(o.toRawBytes(),i,t)),c=A(s+a*n,he.l);return new an(o,c).toRawBytes()}function rb(t,e,r){e=Pr(e),r instanceof ye||(r=ye.fromHex(r,!1));let{r:n,s:i}=t instanceof an?t.assertValidity():an.fromHex(t),s=Y.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function nb(t,e,r,n){let i=qo(n),s=Y.fromAffine(t).multiplyUnsafe(i);return Y.fromAffine(e).add(s).subtract(r).multiplyUnsafe(he.h).equals(Y.ZERO)}async function Kp(t,e,r){let{r:n,SB:i,msg:s,pub:o}=rb(t,e,r),a=await Lr.sha512(n.toRawBytes(),o.toRawBytes(),s);return nb(o,n,i,a)}ye.BASE._setWindowSize(8);var Cr={node:qE,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Lr={bytesToHex:ts,hexToBytes:$u,concatBytes:kp,getExtendedPublicKey:Ho,mod:A,invert:zo,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Pr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(rs(t),he.l-Z)+Z},randomBytes:(t=32)=>{if(Cr.web)return Cr.web.getRandomValues(new Uint8Array(t));if(Cr.node){let{randomBytes:e}=Cr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Lr.randomBytes(32),sha512:async(...t)=>{let e=kp(...t);if(Cr.web){let r=await Cr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Cr.node)return Uint8Array.from(Cr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=ye.BASE){let r=e.equals(ye.BASE)?e:new ye(e.x,e.y);return r._setWindowSize(t),r.multiply(Br),r},sha512Sync:void 0};Object.defineProperties(Lr,{sha512Sync:{configurable:!1,get(){return Vu},set(t){Vu||(Vu=t)}}});var ri=32,ar=64,Go=32;async function Vp(){let t=Lr.randomPrivateKey(),e=await Hu(t);return{privateKey:Hp(t,e),publicKey:e}}async function qp(t){if(t.length!==Go)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await Hu(e);return{privateKey:Hp(e,r),publicKey:r}}async function $p(t,e){let r=t.subarray(0,Go);return Up(e,r)}async function zp(t,e,r){return Kp(e,r,t)}function Hp(t,e){let r=new Uint8Array(ar);for(let n=0;n<Go;n++)r[n]=t[n],r[Go+n]=e[n];return r}var je={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Gu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Yo(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=je.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:p};typeof h=="string"&&(h=U(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",Gu,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,_,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Gu,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,_,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ae([d,m.iv,new Uint8Array(g)])}async function u(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:p};typeof h=="string"&&(h=U(h));let g;if(h.length===0)try{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},D=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,D,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Gu,{name:"AES-GCM"},!0,["decrypt"])}else{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},D=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,D,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,g,m);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function ni(t,e){let n=await Yo().encrypt(t,e);return Hr.encode(n)}var sl=V(Zu(),1),Dm=V(Am(),1),Nm=V(un(),1),ol=V(il(),1),km=V(Lm(),1);function pb(){Nm.default._configure(),sl.default._configure(Dm.default),ol.default._configure(km.default)}pb();var Om=["uint64","int64","sint64","fixed64","sfixed64"];function mb(t){for(let e of Om){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function al(t){return mb(new sl.default(t))}function yb(t){for(let e of Om){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function cl(){return yb(ol.default.create())}function mt(t,e){let r=al(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function yt(t,e){let r=cl();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var si;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(si||(si={}));function jo(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ul(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return jo("enum",si.VARINT,r,n)}function gt(t,e){return jo("message",si.LENGTH_DELIMITED,t,e)}var ge;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(ge||(ge={}));var ll;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(ll||(ll={}));(function(t){t.codec=()=>ul(ll)})(ge||(ge={}));var Ht;(function(t){let e;t.codec=()=>(e==null&&(e=gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ge.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=ge.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>yt(r,t.codec()),t.decode=r=>mt(r,t.codec())})(Ht||(Ht={}));var Gt;(function(t){let e;t.codec=()=>(e==null&&(e=gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ge.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=ge.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>yt(r,t.codec()),t.decode=r=>mt(r,t.codec())})(Gt||(Gt={}));var ss=class{_key;constructor(e){this._key=oi(e,ri)}async verify(e,r){return zp(this._key,r,e)}marshal(){return this._key}get bytes(){return Ht.encode({Type:ge.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},fn=class{_key;_publicKey;constructor(e,r){this._key=oi(e,ar),this._publicKey=oi(r,ri)}async sign(e){return $p(this._key,e)}get public(){return new ss(this._publicKey)}marshal(){return this._key}get bytes(){return Gt.encode({Type:ge.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=pr.digest(this.public.bytes);return Se.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ni(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function gb(t){if(t.length>ar){t=oi(t,ar+ri);let n=t.subarray(0,ar),i=t.subarray(ar,t.length);return new fn(n,i)}t=oi(t,ar);let e=t.subarray(0,ar),r=t.subarray(ri);return new fn(e,r)}function xb(t){return t=oi(t,ri),new ss(t)}async function wb(){let{privateKey:t,publicKey:e}=await Vp();return new fn(t,e)}async function Mm(t){let{privateKey:e,publicKey:r}=await qp(t);return new fn(e,r)}function oi(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var i8=V(Ce(),1),s8=V(Fo(),1),Fm=V(se(),1);function Bt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ae([new Uint8Array(e-r.length),r])}return $(r,"base64url")}function at(t){let e=Um(t);return new Fm.default.jsbn.BigInteger($(e,"base16"),16)}function Um(t,e){let r=U(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ae([new Uint8Array(e-r.length),r])}return r}var vb={"P-256":256,"P-384":384,"P-521":521},Eb=Object.keys(vb),y8=Eb.join(" / ");async function Km(t,e){let r=Hr.decode(t);return Yo().decrypt(r,e)}var bl={};Ue(bl,{RsaPrivateKey:()=>di,RsaPublicKey:()=>hs,fromJwk:()=>Gb,generateKeyPair:()=>Yb,unmarshalRsaPrivateKey:()=>zb,unmarshalRsaPublicKey:()=>Hb});var fs=V(se(),1);var e3=V(Gm(),1);var _b=V(jr(),1);var j=BigInt(0),pe=BigInt(1),Or=BigInt(2),cs=BigInt(3),Ym=BigInt(8),_e=Object.freeze({a:j,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:pe,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Wm=(t,e)=>(t+e/Or)/e,ea={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=_e,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-pe*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Wm(s*t,e),c=Wm(-n*t,e),u=L(t-a*r-c*i,e),l=L(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},Pt=32,ui=32,Sb=32,Qm=Pt+1,Xm=2*Pt+1;function Zm(t){let{a:e,b:r}=_e,n=L(t*t),i=L(n*t);return L(i+e*t+r)}var ta=_e.a===j,ia=class extends Error{constructor(e){super(e)}};function jm(t){if(!(t instanceof te))throw new TypeError("JacobianPoint expected")}var te=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof re))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(re.ZERO)?te.ZERO:new te(e.x,e.y,pe)}static toAffineBatch(e){let r=Tb(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return te.toAffineBatch(e).map(te.fromAffine)}equals(e){jm(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),d=L(L(o*i)*c);return l===f&&h===d}negate(){return new te(this.x,L(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=L(e*e),s=L(r*r),o=L(s*s),a=e+s,c=L(Or*(L(a*a)-i-o)),u=L(cs*i),l=L(u*u),f=L(l-Or*c),h=L(u*(c-f)-Ym*o),d=L(Or*r*n);return new te(f,h,d)}add(e){jm(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===j||o===j)return this;if(r===j||n===j)return e;let c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),d=L(L(o*i)*c),p=L(f-l),m=L(d-h);if(p===j)return m===j?this.double():te.ZERO;let y=L(p*p),g=L(p*y),w=L(l*y),_=L(m*m-g-Or*w),D=L(m*(w-_)-h*g),C=L(i*a*p);return new te(_,D,C)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=te.ZERO;if(typeof e=="bigint"&&e===j)return r;let n=ty(e);if(n===pe)return this;if(!ta){let f=r,h=this;for(;n>j;)n&pe&&(f=f.add(h)),h=h.double(),n>>=pe;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=ea.splitScalar(n),c=r,u=r,l=this;for(;s>j||a>j;)s&pe&&(c=c.add(l)),a&pe&&(u=u.add(l)),l=l.double(),s>>=pe,a>>=pe;return i&&(c=c.negate()),o&&(u=u.negate()),u=new te(L(u.x*ea.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=ta?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(te.BASE)&&(r=re.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&ml.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=te.normalizeZ(i),ml.set(r,i)));let s=te.ZERO,o=te.BASE,a=1+(ta?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=pe);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,w=p<0;p===0?o=o.add(ra(g,i[m])):s=s.add(ra(w,i[y]))}return{p:s,f:o}}multiply(e,r){let n=ty(e),i,s;if(ta){let{k1neg:o,k1:a,k2neg:c,k2:u}=ea.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(u,r);l=ra(o,l),h=ra(c,h),h=new te(L(h.x*ea.beta),h.y,h.z),i=l.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return te.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(te.ZERO);e==null&&(e=s?Ym:hi(i));let o=e,a=L(o*o),c=L(a*o),u=L(r*a),l=L(n*c),f=L(i*o);if(s)return re.ZERO;if(f!==pe)throw new Error("invZ was invalid");return new re(u,l)}};te.BASE=new te(_e.Gx,_e.Gy,pe);te.ZERO=new te(j,pe,j);function ra(t,e){let r=e.negate();return t?r:e}var ml=new WeakMap,re=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,ml.delete(this)}hasEvenY(){return this.y%Or===j}static fromCompressedHex(e){let r=e.length===32,n=Mr(r?e:e.subarray(1));if(!pl(n))throw new Error("Point is not on curve");let i=Zm(n),s=Cb(i),o=(s&pe)===pe;r?o&&(s=L(-s)):(e[0]&1)===1!==o&&(s=L(-s));let a=new re(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Mr(e.subarray(1,Pt+1)),n=Mr(e.subarray(Pt+1,Pt*2+1)),i=new re(r,n);return i.assertValidity(),i}static fromHex(e){let r=fi(e),n=r.length,i=r[0];if(n===Pt)return this.fromCompressedHex(r);if(n===Qm&&(i===2||i===3))return this.fromCompressedHex(r);if(n===Xm&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Qm} compressed bytes or ${Xm} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return re.BASE.multiply(oa(e))}static fromSignature(e,r,n){let{r:i,s}=ry(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=xl(fi(e)),{n:a}=_e,c=n===2||n===3?i+a:i,u=hi(c,a),l=L(-o*u,a),f=L(s*u,a),h=n&1?"03":"02",d=re.fromHex(h+ai(c)),p=re.BASE.multiplyAndAddUnsafe(d,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(e=!1){return dn(this.toHex(e))}toHex(e=!1){let r=ai(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${ai(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!pl(r)||!pl(n))throw new Error(e);let i=L(n*n),s=Zm(r);if(L(i-s)!==j)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new re(this.x,L(-this.y))}double(){return te.fromAffine(this).double().toAffine()}add(e){return te.fromAffine(this).add(te.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return te.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=te.fromAffine(this),s=r===j||r===pe||this!==re.BASE?i.multiplyUnsafe(r):i.multiply(r),o=te.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(te.ZERO)?void 0:a.toAffine()}};re.BASE=new re(_e.Gx,_e.Gy);re.ZERO=new re(j,j);function Jm(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function ey(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${li(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Mr(r),left:t.subarray(e+2)}}function Ab(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${li(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=ey(t.subarray(2)),{data:n,left:i}=ey(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${li(i)}`);return{r:e,s:n}}var Yt=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?li(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Yt(sa(i.slice(0,64)),sa(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=Ab(r?e:dn(e));return new Yt(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!ls(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!ls(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=_e.n>>pe;return this.s>e}normalizeS(){return this.hasHighS()?new Yt(this.r,L(-this.s,_e.n)):this}toDERRawBytes(){return dn(this.toDERHex())}toDERHex(){let e=Jm(as(this.s)),r=Jm(as(this.r)),n=e.length/2,i=r.length/2,s=as(n),o=as(i);return`30${as(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return dn(this.toCompactHex())}toCompactHex(){return ai(this.r)+ai(this.s)}};function kr(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var Rb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function li(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=Rb[t[r]];return e}var Ib=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ai(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(j<=t&&t<Ib))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function yl(t){let e=dn(ai(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function as(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function sa(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function dn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Mr(t){return sa(li(t))}function fi(t){return t instanceof Uint8Array?Uint8Array.from(t):dn(t)}function ty(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&ls(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function L(t,e=_e.P){let r=t%e;return r>=j?r:e+r}function xt(t,e){let{P:r}=_e,n=t;for(;e-- >j;)n*=n,n%=r;return n}function Cb(t){let{P:e}=_e,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=xt(u,cs)*u%e,f=xt(l,cs)*u%e,h=xt(f,Or)*c%e,d=xt(h,n)*h%e,p=xt(d,i)*d%e,m=xt(p,o)*p%e,y=xt(m,a)*m%e,g=xt(y,o)*p%e,w=xt(g,cs)*u%e,_=xt(w,s)*d%e,D=xt(_,r)*c%e,C=xt(D,Or);if(C*C%e!==t)throw new Error("Cannot find square root");return C}function hi(t,e=_e.P){if(t===j||e<=j)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=L(t,e),n=e,i=j,s=pe,o=pe,a=j;for(;r!==j;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==pe)throw new Error("invert: does not exist");return L(i,e)}function Tb(t,e=_e.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===j?s:(r[a]=s,L(s*o,e)),pe),i=hi(n,e);return t.reduceRight((s,o,a)=>o===j?s:(r[a]=L(s*r[a],e),L(s*o,e)),i),r}function Bb(t){let e=t.length*8-ui*8,r=Mr(t);return e>0?r>>BigInt(e):r}function xl(t,e=!1){let r=Bb(t);if(e)return r;let{n}=_e;return r>=n?r-n:r}var ci,us,gl=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Lt.hmacSha256(this.k,...e)}hmacSync(...e){return us(this.k,...e)}checkSync(){if(typeof us!="function")throw new ia("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(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return kr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return kr(...r)}};function ls(t){return j<t&&t<_e.n}function pl(t){return j<t&&t<_e.P}function Pb(t,e,r,n=!0){let{n:i}=_e,s=xl(t,!0);if(!ls(s))return;let o=hi(s,i),a=re.BASE.multiply(s),c=L(a.x,i);if(c===j)return;let u=L(o*L(e+r*c,i),i);if(u===j)return;let l=new Yt(c,u),f=(a.x===l.r?0:2)|Number(a.y&pe);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function oa(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*ui)throw new Error("Expected 32 bytes of private key");e=sa(t)}else if(t instanceof Uint8Array){if(t.length!==ui)throw new Error("Expected 32 bytes of private key");e=Mr(t)}else throw new TypeError("Expected valid private key");if(!ls(e))throw new Error("Expected private key: 0 < key < n");return e}function Lb(t){return t instanceof re?(t.assertValidity(),t):re.fromHex(t)}function ry(t){if(t instanceof Yt)return t.assertValidity(),t;try{return Yt.fromDER(t)}catch{return Yt.fromCompact(t)}}function wl(t,e=!1){return re.fromPrivateKey(t).toRawBytes(e)}function ny(t){let e=t.length>Pt?t.slice(0,Pt):t;return Mr(e)}function Db(t){let e=ny(t),r=L(e,_e.n);return iy(r<j?e:r)}function iy(t){return yl(t)}function Nb(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=fi(t),i=oa(e),s=[iy(i),Db(n)];if(r!=null){r===!0&&(r=Lt.randomBytes(Pt));let c=fi(r);if(c.length!==Pt)throw new Error(`sign: Expected ${Pt} bytes of extra data`);s.push(c)}let o=kr(...s),a=ny(n);return{seed:o,m:a,d:i}}function kb(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function sy(t,e,r={}){let{seed:n,m:i,d:s}=Nb(t,e,r.extraEntropy),o=new gl(Sb,ui);await o.reseed(n);let a;for(;!(a=Pb(await o.generate(),i,s,r.canonical));)await o.reseed();return kb(a,r)}var Ob={strict:!0};function oy(t,e,r,n=Ob){let i;try{i=ry(t),e=fi(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=xl(e),c;try{c=Lb(r)}catch{return!1}let{n:u}=_e,l=hi(o,u),f=L(a*l,u),h=L(s*l,u),d=re.BASE.multiplyAndAddUnsafe(c,f,h);return d?L(d.x,u)===s:!1}re.BASE._setWindowSize(8);var ct={node:_b,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var na={},Lt={bytesToHex:li,hexToBytes:dn,concatBytes:kr,mod:L,invert:hi,isValidPrivateKey(t){try{return oa(t),!0}catch{return!1}},_bigintTo32Bytes:yl,_normalizePrivateKey:oa,hashToPrivateKey:t=>{t=fi(t);let e=ui+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=L(Mr(t),_e.n-pe)+pe;return yl(r)},randomBytes:(t=32)=>{if(ct.web)return ct.web.getRandomValues(new Uint8Array(t));if(ct.node){let{randomBytes:e}=ct.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Lt.hashToPrivateKey(Lt.randomBytes(ui+8)),precompute(t=8,e=re.BASE){let r=e===re.BASE?e:new re(e.x,e.y);return r._setWindowSize(t),r.multiply(cs),r},sha256:async(...t)=>{if(ct.web){let e=await ct.web.subtle.digest("SHA-256",kr(...t));return new Uint8Array(e)}else if(ct.node){let{createHash:e}=ct.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ct.web){let r=await ct.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=kr(...e),i=await ct.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ct.node){let{createHmac:r}=ct.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=na[t];if(r===void 0){let n=await Lt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=kr(n,n),na[t]=r}return Lt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof ci!="function")throw new ia("sha256Sync is undefined, you need to set it");let r=na[t];if(r===void 0){let n=ci(Uint8Array.from(t,i=>i.charCodeAt(0)));r=kr(n,n),na[t]=r}return ci(r,...e)},_JacobianPoint:te};Object.defineProperties(Lt,{sha256Sync:{configurable:!1,get(){return ci},set(t){ci||(ci=t)}},hmacSha256Sync:{configurable:!1,get(){return us},set(t){us||(us=t)}}});function pn(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Lt.randomBytes(t)}var O8=V(Vo(),1),vl=V(se(),1);function ay(t,e){return e.map(r=>at(t[r]))}function cy(t){return vl.default.pki.setRsaPrivateKey(...ay(t,["n","e","d","p","q","dp","dq","qi"]))}function uy(t){return vl.default.pki.setRsaPublicKey(...ay(t,["n","e"]))}var mn={};Ue(mn,{jwkToPkcs1:()=>Ub,jwkToPkix:()=>Vb,pkcs1ToJwk:()=>Fb,pkixToJwk:()=>Kb});var U8=V(Xi(),1),K8=V(Vo(),1);var cr=V(se(),1);function Fb(t){let e=cr.default.asn1.fromDer($(t,"ascii")),r=cr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e),d:Bt(r.d),p:Bt(r.p),q:Bt(r.q),dp:Bt(r.dP),dq:Bt(r.dQ),qi:Bt(r.qInv),alg:"RS256"}}function Ub(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=cr.default.pki.privateKeyToAsn1({n:at(t.n),e:at(t.e),d:at(t.d),p:at(t.p),q:at(t.q),dP:at(t.dp),dQ:at(t.dq),qInv:at(t.qi)});return U(cr.default.asn1.toDer(e).getBytes(),"ascii")}function Kb(t){let e=cr.default.asn1.fromDer($(t,"ascii")),r=cr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e)}}function Vb(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=cr.default.pki.publicKeyToAsn1({n:at(t.n),e:at(t.e)});return U(cr.default.asn1.toDer(e).getBytes(),"ascii")}async function ly(t){let e=await je.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await dy(e);return{privateKey:r[0],publicKey:r[1]}}async function El(t){let r=[await je.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await qb(t)],n=await dy({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function fy(t,e){let r=await je.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await je.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function hy(t,e,r){let n=await je.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return je.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function dy(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([je.get().subtle.exportKey("jwk",t.privateKey),je.get().subtle.exportKey("jwk",t.publicKey)])}async function qb(t){return je.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function py(t,e,r,n){let i=e?uy(t):cy(t),s=$(Uint8Array.from(r),"ascii"),o=n(s,i);return U(o,"ascii")}function my(t,e){return py(t,!0,e,(r,n)=>n.encrypt(r))}function yy(t,e){return py(t,!1,e,(r,n)=>n.decrypt(r))}var hs=class{_key;constructor(e){this._key=e}async verify(e,r){return hy(this._key,r,e)}marshal(){return mn.jwkToPkix(this._key)}get bytes(){return Ht.encode({Type:ge.RSA,Data:this.marshal()}).subarray()}encrypt(e){return my(this._key,e)}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},di=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return pn(16)}async sign(e){return fy(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new hs(this._publicKey)}decrypt(e){return yy(this._key,e)}marshal(){return mn.jwkToPkcs1(this._key)}get bytes(){return Gt.encode({Type:ge.RSA,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new fs.default.util.ByteBuffer(this.marshal()),i=fs.default.asn1.fromDer(n),s=fs.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return fs.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return ni(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function zb(t){let e=mn.pkcs1ToJwk(t),r=await El(e);return new di(r.privateKey,r.publicKey)}function Hb(t){let e=mn.pkixToJwk(t);return new hs(e)}async function Gb(t){let e=await El(t);return new di(e.privateKey,e.publicKey)}async function Yb(t){let e=await ly(t);return new di(e.privateKey,e.publicKey)}var Sl={};Ue(Sl,{Secp256k1PrivateKey:()=>ps,Secp256k1PublicKey:()=>ds,generateKeyPair:()=>Zb,unmarshalSecp256k1PrivateKey:()=>Qb,unmarshalSecp256k1PublicKey:()=>Xb});function gy(){return Lt.randomPrivateKey()}async function xy(t,e){let{digest:r}=await Ke.digest(e);try{return await sy(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function wy(t,e,r){try{let{digest:n}=await Ke.digest(r);return oy(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function vy(t){return re.fromHex(t).toRawBytes(!0)}function Ey(t){try{wl(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function _l(t){try{re.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function by(t){try{return wl(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var ds=class{_key;constructor(e){_l(e),this._key=e}async verify(e,r){return wy(this._key,r,e)}marshal(){return vy(this._key)}get bytes(){return Ht.encode({Type:ge.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},ps=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??by(e),Ey(this._key),_l(this._publicKey)}async sign(e){return xy(this._key,e)}get public(){return new ds(this._publicKey)}marshal(){return this._key}get bytes(){return Gt.encode({Type:ge.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ni(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qb(t){return new ps(t)}function Xb(t){return new ds(t)}async function Zb(){let t=gy();return new ps(t)}var ur={rsa:bl,ed25519:fl,secp256k1:Sl};function Al(t){let e=Object.keys(ur).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Rl(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return ur[t];throw Al(t)}async function ca(t,e){return Rl(t).generateKeyPair(e??2048)}function ms(t){let e=Ht.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case ge.RSA:return ur.rsa.unmarshalRsaPublicKey(r);case ge.Ed25519:return ur.ed25519.unmarshalEd25519PublicKey(r);case ge.Secp256k1:return ur.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Al(e.Type??"RSA")}}function Il(t,e){return e=(e??"rsa").toLowerCase(),Rl(e),t.bytes}async function ua(t){let e=Gt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case ge.RSA:return ur.rsa.unmarshalRsaPrivateKey(r);case ge.Ed25519:return ur.ed25519.unmarshalEd25519PrivateKey(r);case ge.Secp256k1:return ur.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Al(e.Type??"RSA")}}function _y(t,e){return e=(e??"rsa").toLowerCase(),Rl(e),t.bytes}async function ys(t,e){try{let i=await Km(t,e);return await ua(i)}catch{}let r=aa.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=aa.default.asn1.toDer(aa.default.pki.privateKeyToAsn1(r));return n=U(n.getBytes(),"ascii"),ur.rsa.unmarshalRsaPrivateKey(n)}var E3=V(Bo(),1),Jb=V(se(),1);var Ay=V(Cu(),1),Ry=V(Ce(),1),Sy={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function gs(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Sy).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Sy[i],o=(0,Ay.default)(t,e,r,n,s);return Ry.default.encode64(o,null)}var la=G("libp2p:keychain"),r_="/pkcs8/",Cy="/info/",yn=new WeakMap,gn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Cl={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function lr(t){return t==null||typeof t!="string"?!1:t===(0,Iy.default)(t.trim())&&t.length>0}async function ce(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Wt(t){return new be(r_+t)}function Fr(t){return new be(Cy+t)}var xn=class{constructor(e,r){if(this.components=e,this.init=_r(Cl,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<gn.minKeyLength)throw new Error(`dek.keyLength must be least ${gn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<gn.minSaltLength)throw new Error(`dek.saltLength must be least ${gn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<gn.minIterationCount)throw new Error(`dek.iterationCount must be least ${gn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?gs(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";yn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Cl),r=Math.ceil(gn.minSaltLength/3)*3;return e.dek.salt=$(pn(r),"base64"),e}static get options(){return Cl}async createKey(e,r,n=2048){if(!lr(e)||e==="self")throw await ce(),new E("Invalid key name",Q.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ce(),new E("Invalid key type",Q.ERR_INVALID_KEY_TYPE);let i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E("Key name already exists",Q.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ce(),new E("Invalid RSA key size",Q.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await ca(r,n),c=await a.id(),u=yn.get(this);if(u==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,U(f)),h.put(Fr(e),U(JSON.stringify(o))),await h.commit()}catch(a){throw await ce(),a}return o}async listKeys(){let e={prefix:Cy},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse($(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ce(),r}}async findKeyByName(e){if(!lr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);let r=Fr(e);try{let n=await this.components.datastore.get(r);return JSON.parse($(n))}catch(n){throw await ce(),la.error(n),new E(`Key '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!lr(e)||e==="self")throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);let r=Wt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Fr(e)),await i.commit(),n}async renameKey(e,r){if(!lr(e)||e==="self")throw await ce(),new E(`Invalid old key name '${e}'`,Q.ERR_OLD_KEY_NAME_INVALID);if(!lr(r)||r==="self")throw await ce(),new E(`Invalid new key name '${r}'`,Q.ERR_NEW_KEY_NAME_INVALID);let n=Wt(e),i=Wt(r),s=Fr(e),o=Fr(r);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${r}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse($(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,U(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ce(),c}}async exportKey(e,r){if(!lr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw await ce(),new E("Password is required",Q.ERR_PASSWORD_REQUIRED);let n=Wt(e);try{let i=await this.components.datastore.get(n),s=$(i),o=yn.get(this);if(o==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await ys(s,a)).export(r)}catch(i){throw await ce(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await ys(n,r);return await Li(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!lr(e)||e==="self")throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw await ce(),new E("PEM encoded key is required",Q.ERR_PEM_REQUIRED);let i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${e}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);let o;try{o=await ys(r,n)}catch{throw await ce(),new E("Cannot read the key, most likely the password is wrong",Q.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=yn.get(this);if(l==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await ce(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,U(r)),u.put(Fr(e),U(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!lr(e))throw new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",Q.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",Q.ERR_MISSING_PRIVATE_KEY);let n=await ua(r.privateKey),i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${e}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);let o=yn.get(this);if(o==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,U(c)),l.put(Fr(e),U(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ce(),n}}async getPrivateKey(e){if(!lr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);try{let r=Wt(e),n=await this.components.datastore.get(r);return $(n)}catch(r){throw await ce(),la.error(r),new E(`Key '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ce(),new E(`Invalid old pass type '${typeof e}'`,Q.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ce(),new E(`Invalid new pass type '${typeof r}'`,Q.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ce(),new E(`Invalid pass length ${r.length}`,Q.ERR_INVALID_PASS_LENGTH);la("recreating keychain");let n=yn.get(this);if(n==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?gs(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";yn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Wt(a.name)),u=$(c),l=await ys(u,i),f=s.toString(),h=await l.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(Wt(a.name),U(h)),d.put(Fr(a.name),U(JSON.stringify(p))),await d.commit()}la("keychain reconstructed")}};var z3=Symbol.for("@libp2p/transport");var Ur;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Ur||(Ur={}));var Tl=class extends Map{constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ty(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Tl({name:e,metrics:r}):n=new Map,n}var fr=G("libp2p:transports"),fa=class{constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=Ty({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Ur.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",N.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,N.ERR_DUPLICATE_TRANSPORT);fr("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(fr("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),fr("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new E(`No transport available for address ${String(e)}`,N.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=N.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){fr("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){fr("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddrs()}).then(()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}).catch(h=>{fr.error("error while updating peer record after listener began listening",h)})}),l.addEventListener("close",()=>{let h=f.findIndex(d=>d===l);f.splice(h,1),this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddrs()}).then(()=>{this.components.events.safeDispatchEvent("transport:close",{detail:l})}).catch(d=>{fr.error("error while updating peer record after listener stopped listening",d)})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Ur.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,N.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Ur.FATAL_ALL)throw new E(n,N.ERR_NO_VALID_ADDRESSES);fr(`libp2p in dial mode only: ${n}`)}}async remove(e){fr("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var hr="/multistream/1.0.0";var Py=Symbol.for("@achingbrain/uint8arraylist");function By(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function ha(t){return!!t?.[Py]}var Le=class{constructor(...e){Object.defineProperty(this,Py,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ha(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ha(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=By(this.bufs,e);return r.buf[r.index]}set(e,r){let n=By(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ha(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Ae(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ae(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new Le;return s.length=i,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ha(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){l=Math.max(1,h-a[d]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=vt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Xt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Xt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Xt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=vt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Xt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Xt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Xt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Xt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Xt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Le)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Re(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Le;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function da(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var Ly=4294967296,ut=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new ut(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new ut(r,n)}toBytes(e,r=0){let n=da(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new ut;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Ly&&(i=0,++n>Ly&&(n=0))),new ut(n,i)}static fromNumber(e){if(e===0)return new ut;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ut(i,n)}static fromBytes(e,r=0){let n=da(e),i=new ut,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var n_=Math.pow(2,7),i_=Math.pow(2,14),s_=Math.pow(2,21),o_=Math.pow(2,28),a_=Math.pow(2,35),c_=Math.pow(2,42),u_=Math.pow(2,49),l_=Math.pow(2,56),f_=Math.pow(2,63),wn={encodingLength(t){return t<n_?1:t<i_?2:t<s_?3:t<o_?4:t<a_?5:t<c_?6:t<u_?7:t<l_?8:t<f_?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=vt(wn.encodingLength(t))),ut.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return ut.fromBytes(t,e).toNumber(!0)}};function pa(t){return t[Symbol.asyncIterator]!=null}var ma=t=>{let e=wn.encodingLength(t),r=vt(e);return wn.encode(t,r),ma.bytes=e,r};ma.bytes=0;function ya(t,e){e=e??{};let r=e.lengthEncoder??ma;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return pa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ya.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??ma;return new Le(r(t.byteLength),t)};var pi=V(Ic(),1);var h_=8,d_=1024*1024*4,vn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(vn||(vn={}));var Bl=t=>{let e=wn.decode(t);return Bl.bytes=wn.encodingLength(e),e};Bl.bytes=0;function xs(t,e){let r=new Le,n=vn.LENGTH,i=-1,s=e?.lengthDecoder??Bl,o=e?.maxLengthLength??h_,a=e?.maxDataLength??d_;function*c(){for(;r.byteLength>0;){if(n===vn.LENGTH)try{if(i=s(r),i<0)throw(0,pi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,pi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=vn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,pi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===vn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=vn.LENGTH}}}return pa(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,pi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,pi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}xs.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return xs(n,{...e??{},onLength:s=>{r=s}})};var ws=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Dy(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function ga(t,e,r){let n=r??{},i=Dy(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new ws(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new ws(h,d))}});c=await Promise.race([u,i.next()]),o=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return s()}function m_(t,e,r){return n=>t(ga(n,e,r))}function Ny(t,e,r){return{sink:m_(t.sink,e,{...r,onAbort:void 0}),source:ga(t.source,e,r)}}var g_=G("libp2p:mss"),ky=U(`
|
|
49
|
+
`);function vs(t){let e=new Le(t,ky);return ya.single(e)}function En(t,e,r={}){let n=vs(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Oy(t,e,r={}){let n=new Le;for(let i of e)n.append(vs(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function x_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await t.next(r)},i=n;e?.signal!=null&&(i=ga(n,e.signal));let s=a=>{r=a},o=await Zr(i,a=>xs(a,{onLength:s,maxDataLength:1024}),async a=>await Ys(a));if(o==null||o.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==ky[0])throw g_.error("Invalid mss message - missing newline - %s",o.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function mi(t,e){let r=await x_(t,e);return $(r.subarray())}function Pl(t){let e=async function*(){let r=yield,n=new Le;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Le;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Le);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function xa(t){let e=Xr(),r=Pl(t.source),n=Hi(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Es=G("libp2p:mss:select");async function bs(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=xa(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Es.trace('select: write ["%s", "%s"]',hr,a);let c=U(hr),u=U(a);Oy(i,[c,u],r);let l=await mi(n,r);if(Es.trace('select: read "%s"',l),l===hr&&(l=await mi(n,r),Es.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){Es.trace('select: write "%s"',f),En(i,U(f),r);let h=await mi(n,r);if(Es.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var _s=G("libp2p:mss:handle");async function Ss(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=xa(t);for(;;){let a=await mi(i,r);if(_s.trace('read "%s"',a),a===hr){_s.trace('respond with "%s" for "%s"',hr,a),En(n,U(hr),r);continue}if(e.includes(a))return En(n,U(a),r),_s.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){En(n,new Le(...e.map(c=>vs(U(c)))),r),_s.trace('respond with "%s" for %s',e,a);continue}En(n,U("na"),r),_s('respond with "na" for "%s"',a)}}var Fy="OPEN",Ll="CLOSING",wa="CLOSED";var Uy=Symbol.for("@libp2p/connection");var v_=G("libp2p:connection"),Dl=class{constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:Fy},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[Uy](){return!0}get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===Ll)throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===wa)throw new E("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===wa||this._closing)){this.stat.status=Ll;try{this.streams.forEach(e=>{e.close()})}catch(e){v_.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=wa}}};function Ky(t){return new Dl(t)}var E_=Symbol.for("@libp2p/topology");function Vy(t){return t!=null&&!!t[E_]}var Nl=G("libp2p:registrar"),kl=32,Ol=64,va=class{constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("connection:close",this._onDisconnect),this.components.events.addEventListener("connection:open",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new E(`No handler registered for protocol ${e}`,N.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new E(`Handler already registered for protocol ${e}`,N.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=_r.bind({ignoreUndefined:!0})({maxInboundStreams:kl,maxOutboundStreams:Ol},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(!Vy(r))throw Nl.error("topology must be an instance of interfaces/topology"),new E("topology must be an instance of interfaces/topology",N.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r.remotePeer).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r.remotePeer)}}).catch(n=>{Nl.error("could not inform topologies of disconnecting peer %p",r.remotePeer,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r.remotePeer).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(r.remotePeer,r)}}).catch(n=>{Nl.error("could not inform topologies of connecting peer %p",r.remotePeer,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect(r.id)}for(let o of s){let a=this.topologies.get(o);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect(r.id,u)}}}};var Ml=V(zi(),1);var xe=G("libp2p:upgrader");function __(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return kl}function S_(t,e){try{let{options:r}=e.getHandler(t);return r.maxOutboundStreams}catch(r){if(r.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Ol}function qy(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var Ea=class{constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new E(`The multiaddr connection is blocked by gater.${n}`,N.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",N.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=Gn([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,Ml.setMaxListeners)?.(1/0,u)}catch{}try{let l=Ny(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",N.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),xe("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(xe("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",N.ERR_INVALID_MULTIADDR);let d=ne(h);c="native",s=d}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,o=h.stream}}catch(h){throw xe.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),xe("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=ne(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),xe("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new E("Encryption was skipped but no peer id was passed",N.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw xe.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),xe("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Ss(d,p);if(xe("%s: incoming stream opened on %s",n,y),l==null)return;let g=__(y,this.components.registrar);if(qy(y,"inbound",l)===g){let _=new E(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,N.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(_),_}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,await this.components.peerStore.merge(o,{protocols:[y]}),l.addStream(d),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:y})}).catch(p=>{xe.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{l?.removeStream(d.id)}}),u=async(d,p={})=>{if(c==null)throw new E("Stream is not multiplexed",N.ERR_MUXER_UNAVAILABLE);xe("%s: starting new stream on %s",n,d);let m=await c.newStream();try{if(p.signal==null){xe("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),p.signal=AbortSignal.timeout(3e4);try{(0,Ml.setMaxListeners)?.(1/0,p.signal)}catch{}}let{stream:y,protocol:g}=await bs(m,d,p),w=S_(g,this.components.registrar);if(qy(g,"outbound",l)===w){let D=new E(`Too many outbound protocol streams for protocol "${g}" - limit ${w}`,N.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(D),D}return await this.components.peerStore.merge(o,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw xe.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new E(String(y),N.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{xe.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){xe.error(p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{xe.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new E("connection is not multiplexed",N.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=Ky({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());xe("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Ss(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return xe("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),N.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());xe("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await bs(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return xe("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new E(String(i),N.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());xe("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await bs(e,n,{writeBytes:!0});xe("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw xe.error("error multiplexing outbound stream",i),new E(String(i),N.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());xe("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Ss(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw xe.error("error multiplexing inbound stream",i),new E(String(i),N.ERR_MUXER_UNAVAILABLE)}}};var yi;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=gt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>yt(o,i.codec()),i.decode=o=>mt(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=gt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),_a.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=_a.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>yt(o,i.codec()),i.decode=o=>mt(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=gt((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),ba.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(ba.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>yt(i,t.codec()),t.decode=i=>mt(i,t.codec())})(yi||(yi={}));var ba;(function(t){let e;t.codec=()=>(e==null&&(e=gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>yt(r,t.codec()),t.decode=r=>mt(r,t.codec())})(ba||(ba={}));var _a;(function(t){let e;t.codec=()=>(e==null&&(e=gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>yt(r,t.codec()),t.decode=r=>mt(r,t.codec())})(_a||(_a={}));var Ve={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Fl="/peers/";function gi(t){if(!Xs(t)||t.type==null)throw new E("Invalid PeerId",Ve.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new be(`${Fl}${e}`)}var Ul;(function(t){let e;t.codec=()=>(e==null&&(e=gt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>yt(r,t.codec()),t.decode=r=>mt(r,t.codec())})(Ul||(Ul={}));var $y=async()=>{let t=await ca("Ed25519"),e=await A_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function zy(t){return await Li(Il(t))}async function A_(t){return await Li(Il(t.public),_y(t))}async function xi(t,e){let r=yi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=await zy(ms(r.publicKey)));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:qe(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Kl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Vl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Hy=t=>globalThis.DOMException===void 0?new Vl(t):new DOMException(t),Gy=t=>{let e=t.reason===void 0?Hy("This operation was aborted."):t.reason;return e instanceof Error?e:Hy(e)};function ql(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(t);return}if(e.signal){let{signal:f}=e;f.aborted&&u(Gy(f)),f.addEventListener("abort",()=>{u(Gy(f))})}let l=new Kl;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await t)}catch(f){u(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var $l="lock:worker:request-read",zl="lock:worker:release-read",Hl="lock:master:grant-read",Gl="lock:worker:request-write",Yl="lock:worker:release-write",Wl="lock:master:grant-write";var Kr={},wi=t=>{t.addEventListener("message",e=>{wi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{wi.dispatchEvent("message",t,e)})};wi.addEventListener=(t,e)=>{Kr[t]==null&&(Kr[t]=[]),Kr[t].push(e)};wi.removeEventListener=(t,e)=>{Kr[t]!=null&&(Kr[t]=Kr[t].filter(r=>r===e))};wi.dispatchEvent=function(t,e,r){Kr[t]!=null&&Kr[t].forEach(n=>n(e,r))};var Ql=wi;var Yy=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},Wy=(t,e,r,n)=>async()=>{let i=Vs();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},R_={singleProcess:!1},Qy=t=>{if(t=Object.assign({},R_,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Ql.addEventListener("message",Yy(r,"requestReadLock",$l,zl,Hl)),Ql.addEventListener("message",Yy(r,"requestWriteLock",Gl,Yl,Wl)),r}return{isWorker:!0,readLock:r=>Wy(r,$l,Hl,zl),writeLock:r=>Wy(r,Gl,Wl,Yl)}};var bn={},Vr;async function Xl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await ql((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var I_=(t,e)=>{if(Vr.isWorker===!0)return{readLock:Vr.readLock(t,e),writeLock:Vr.writeLock(t,e)};let r=new St({concurrency:1}),n;return{async readLock(){if(n!=null)return await Xl(n,e);n=new St({concurrency:e.concurrency,autoStart:!1});let i=n,s=Xl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Xl(r,e)}}},C_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Zl(t){let e=Object.assign({},C_,t);return Vr==null&&(Vr=Qy(e),Vr.isWorker!==!0&&(Vr.addEventListener("requestReadLock",r=>{bn[r.data.name]!=null&&bn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Vr.addEventListener("requestWriteLock",async r=>{bn[r.data.name]!=null&&bn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),bn[e.name]==null&&(bn[e.name]=I_(e.name,e)),bn[e.name]}async function Xy(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=qe(i.multiaddr)),!Qr(i.multiaddr))throw new E("Multiaddr was invalid",Ve.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function Aa(t,e,r,n){if(e==null)throw new E("Invalid PeerData",Ve.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Re(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",Ve.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",Ve.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Sa(f,{validate:Zy})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Sa(f,{validate:jy,map:Jy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,d]of f)d==null?a.delete(h):a.set(h,d);a=Sa([...a.entries()],{validate:Zy})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[d,p]of f)p==null?h.delete(d):h.set(d,p);c=Sa([...h.entries()],{validate:jy,map:Jy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Xy(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Sa(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function Zy(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",Ve.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",Ve.ERR_INVALID_PARAMETERS)}function jy(t,e){if(typeof t!="string")throw new E("Tag name must be a string",Ve.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",Ve.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",Ve.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",Ve.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",Ve.ERR_INVALID_PARAMETERS)}}function Jy(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}var vi=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},qr,Ra,Ia,Ca=class{constructor(e,r={}){qr.add(this),this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Zl({name:"peer-store",singleProcess:!0})}async has(e){return await this.datastore.has(gi(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",Ve.ERR_INVALID_PARAMETERS);await this.datastore.delete(gi(e))}async load(e){let r=await this.datastore.get(gi(e));return await xi(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await vi(this,qr,"m",Ra).call(this,e),s=await Aa(e,r,"patch",{addressFilter:this.addressFilter});return await vi(this,qr,"m",Ia).call(this,e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await vi(this,qr,"m",Ra).call(this,e),s=await Aa(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return await vi(this,qr,"m",Ia).call(this,e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await vi(this,qr,"m",Ra).call(this,e),s=await Aa(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return await vi(this,qr,"m",Ia).call(this,e,s,n,i)}async*all(){for await(let{key:e,value:r}of this.datastore.query({prefix:Fl})){let n=e.toString().split("/")[2],i=rt.decode(n),s=Zs(i);s.equals(this.peerId)||(yield xi(s,r))}}};qr=new WeakSet,Ra=async function(e){try{let r=await this.datastore.get(gi(e)),n=await xi(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}},Ia=async function(e,r,n,i){let s=yi.encode(r);return n!=null&&Re(s,n)?{peer:await xi(e,s),previous:i,updated:!1}:(await this.datastore.put(gi(e),s),{peer:await xi(e,s),previous:i,updated:!0})};var jl=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},As,Ta,we=G("libp2p:peer-store"),Ba=class{constructor(e,r={}){As.add(this),this.events=e.events,this.peerId=e.peerId,this.store=new Ca(e,r)}async forEach(e){we.trace("forEach await read lock");let r=await this.store.lock.readLock();we.trace("forEach got read lock");try{for await(let n of this.store.all())e(n)}finally{we.trace("forEach release read lock"),r()}}async all(){we.trace("all await read lock");let e=await this.store.lock.readLock();we.trace("all got read lock");try{let r=[];for await(let n of this.store.all())r.push(n);return r}finally{we.trace("all release read lock"),e()}}async delete(e){we.trace("delete await write lock");let r=await this.store.lock.writeLock();we.trace("delete got write lock");try{await this.store.delete(e)}finally{we.trace("delete release write lock"),r()}}async has(e){we.trace("has await read lock");let r=await this.store.lock.readLock();we.trace("has got read lock");try{return await this.store.has(e)}finally{we.trace("has release read lock"),r()}}async get(e){we.trace("get await read lock");let r=await this.store.lock.readLock();we.trace("get got read lock");try{return await this.store.load(e)}finally{we.trace("get release read lock"),r()}}async save(e,r){we.trace("save await write lock");let n=await this.store.lock.writeLock();we.trace("save got write lock");try{let i=await this.store.save(e,r);return jl(this,As,"m",Ta).call(this,e,i),i.peer}finally{we.trace("save release write lock"),n()}}async patch(e,r){we.trace("patch await write lock");let n=await this.store.lock.writeLock();we.trace("patch got write lock");try{let i=await this.store.patch(e,r);return jl(this,As,"m",Ta).call(this,e,i),i.peer}finally{we.trace("patch release write lock"),n()}}async merge(e,r){we.trace("merge await write lock");let n=await this.store.lock.writeLock();we.trace("merge got write lock");try{let i=await this.store.merge(e,r);return jl(this,As,"m",Ta).call(this,e,i),i.peer}finally{we.trace("merge release write lock"),n()}}};As=new WeakSet,Ta=function(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))};function eg(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Jl=class{constructor(e={}){this.components={},this._started=!1,this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>eg(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},T_=["metrics","connectionProtector"],B_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function tg(t={}){let e=new Jl(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!B_.includes(i)){let o=e.components[i];if(o==null&&!T_.includes(i))throw new E(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var ig=V(zi(),1);var P_={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Hn},addressSorter:zn},transportManager:{faultTolerance:Ur.FATAL_ALL}};function rg(t){let e=_r(P_,t);if(e.transports==null||e.transports.length<1)throw new E(bt.ERR_TRANSPORTS_REQUIRED,N.ERR_TRANSPORTS_REQUIRED);if(e.connectionEncryption==null||e.connectionEncryption.length===0)throw new E(bt.CONN_ENCRYPTION_REQUIRED,N.CONN_ENCRYPTION_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(bt.ERR_PROTECTOR_REQUIRED,N.ERR_PROTECTOR_REQUIRED);return e}var ef=Symbol.for("@libp2p/content-routing");var tf=Symbol.for("@libp2p/peer-routing");var rf=Symbol.for("@libp2p/peer-discovery");function ng(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!mo(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var nf=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},Rs=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Pa,$r,sf,Je=G("libp2p"),of=class extends bi{constructor(e){super(),Pa.add(this),$r.set(this,void 0);let r=new bi,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Ya(c.type,{detail:c.detail}));return u||l};try{(0,ig.setMaxListeners)?.(1/0,r)}catch{}nf(this,$r,!1,"f"),this.peerId=e.peerId,this.services={};let i=this.components=tg({peerId:e.peerId,events:r,datastore:e.datastore??new $s,connectionGater:ng(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Ba(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Ea(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new fa(this.components,e.transportManager)),this.configureComponent("connectionManager",new Eo(this.components,e.connectionManager)),this.configureComponent("registrar",new va(this.components)),this.configureComponent("addressManager",new js(this.components,e.addresses));let s=xn.generateOptions();this.keychain=this.configureComponent("keyChain",new xn(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ws(this.components,{routers:o}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Qs(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{Rs(this,Pa,"m",sf).call(this,f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){Je.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[ef]!=null&&(Je("registering service %s for content routing",c),a.push(l[ef])),l[tf]!=null&&(Je("registering service %s for peer routing",c),o.push(l[tf])),l[rf]!=null&&(Je("registering service %s for peer discovery",c),l[rf].addEventListener("peer",f=>{Rs(this,Pa,"m",sf).call(this,f)}))}}configureComponent(e,r){return r==null&&Je.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(Rs(this,$r,"f"))return;nf(this,$r,!0,"f"),Je("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(Je("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),Je("libp2p has started")}catch(r){throw Je.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){Rs(this,$r,"f")&&(Je("libp2p is stopping"),nf(this,$r,!1,"f"),await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),Je("libp2p has stopped"))}isStarted(){return Rs(this,$r,"f")}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new rr;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return await this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new E("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){Qr(e)&&(e=ne(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(Je("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Ae([U("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return ms(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return await this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}};$r=new WeakMap,Pa=new WeakSet,sf=function(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){Je.error(new Error(N.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{Je.error(n)})};async function sg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new xn({datastore:e},_r(xn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await $y()),new of(rg(t))}async function L_(t){let e=await sg(t);return t.start!==!1&&await e.start(),e}return hg(D_);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
|
-
@noble/secp256k1/lib/esm/index.js:
|
|
53
|
-
(*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
54
|
-
|
|
55
52
|
@noble/ed25519/lib/esm/index.js:
|
|
56
53
|
(*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
54
|
+
|
|
55
|
+
@noble/secp256k1/lib/esm/index.js:
|
|
56
|
+
(*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
57
57
|
*/
|
|
58
58
|
return Libp2P}));
|