libp2p 0.43.3-f4c99d95 → 0.43.4
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 +23 -23
- package/dist/src/circuit-relay/constants.d.ts.map +1 -0
- package/dist/src/circuit-relay/constants.js.map +1 -0
- package/dist/src/circuit-relay/index.d.ts.map +1 -0
- package/dist/src/circuit-relay/index.js.map +1 -0
- package/dist/src/circuit-relay/pb/index.d.ts.map +1 -0
- package/dist/src/circuit-relay/pb/index.js.map +1 -0
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -0
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -0
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -0
- package/dist/src/circuit-relay/server/index.js.map +1 -0
- package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -0
- package/dist/src/circuit-relay/server/reservation-store.js.map +1 -0
- package/dist/src/circuit-relay/server/reservation-voucher.d.ts.map +1 -0
- package/dist/src/circuit-relay/server/reservation-voucher.js.map +1 -0
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -0
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -0
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -0
- package/dist/src/circuit-relay/transport/index.js.map +1 -0
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -0
- package/dist/src/circuit-relay/transport/listener.js.map +1 -0
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -0
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -0
- package/dist/src/circuit-relay/utils.d.ts.map +1 -0
- package/dist/src/circuit-relay/utils.js.map +1 -0
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +4 -0
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/utils.js +1 -1
- package/dist/src/content-routing/utils.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/libp2p.d.ts +1 -1
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/typedoc-urls.json +41 -0
- package/package.json +3 -3
- package/src/connection-manager/index.ts +4 -0
- package/src/content-routing/utils.ts +1 -1
- package/src/index.ts +1 -1
- package/src/libp2p.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/src/circuit/constants.d.ts.map +0 -1
- package/dist/src/circuit/constants.js.map +0 -1
- package/dist/src/circuit/index.d.ts.map +0 -1
- package/dist/src/circuit/index.js.map +0 -1
- package/dist/src/circuit/pb/index.d.ts.map +0 -1
- package/dist/src/circuit/pb/index.js.map +0 -1
- package/dist/src/circuit/server/advert-service.d.ts.map +0 -1
- package/dist/src/circuit/server/advert-service.js.map +0 -1
- package/dist/src/circuit/server/index.d.ts.map +0 -1
- package/dist/src/circuit/server/index.js.map +0 -1
- package/dist/src/circuit/server/reservation-store.d.ts.map +0 -1
- package/dist/src/circuit/server/reservation-store.js.map +0 -1
- package/dist/src/circuit/server/reservation-voucher.d.ts.map +0 -1
- package/dist/src/circuit/server/reservation-voucher.js.map +0 -1
- package/dist/src/circuit/transport/discovery.d.ts.map +0 -1
- package/dist/src/circuit/transport/discovery.js.map +0 -1
- package/dist/src/circuit/transport/index.d.ts.map +0 -1
- package/dist/src/circuit/transport/index.js.map +0 -1
- package/dist/src/circuit/transport/listener.d.ts.map +0 -1
- package/dist/src/circuit/transport/listener.js.map +0 -1
- package/dist/src/circuit/transport/reservation-store.d.ts.map +0 -1
- package/dist/src/circuit/transport/reservation-store.js.map +0 -1
- package/dist/src/circuit/utils.d.ts.map +0 -1
- package/dist/src/circuit/utils.js.map +0 -1
- /package/dist/src/{circuit → circuit-relay}/constants.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/constants.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/index.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/index.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/pb/index.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/pb/index.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/advert-service.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/advert-service.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/index.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/index.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/reservation-store.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/reservation-store.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/reservation-voucher.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/server/reservation-voucher.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/discovery.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/discovery.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/index.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/index.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/listener.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/listener.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/reservation-store.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/transport/reservation-store.js +0 -0
- /package/dist/src/{circuit → circuit-relay}/utils.d.ts +0 -0
- /package/dist/src/{circuit → circuit-relay}/utils.js +0 -0
- /package/src/{circuit → circuit-relay}/constants.ts +0 -0
- /package/src/{circuit → circuit-relay}/index.ts +0 -0
- /package/src/{circuit → circuit-relay}/pb/index.proto +0 -0
- /package/src/{circuit → circuit-relay}/pb/index.ts +0 -0
- /package/src/{circuit → circuit-relay}/server/advert-service.ts +0 -0
- /package/src/{circuit → circuit-relay}/server/index.ts +0 -0
- /package/src/{circuit → circuit-relay}/server/reservation-store.ts +0 -0
- /package/src/{circuit → circuit-relay}/server/reservation-voucher.ts +0 -0
- /package/src/{circuit → circuit-relay}/transport/discovery.ts +0 -0
- /package/src/{circuit → circuit-relay}/transport/index.ts +0 -0
- /package/src/{circuit → circuit-relay}/transport/listener.ts +0 -0
- /package/src/{circuit → circuit-relay}/transport/reservation-store.ts +0 -0
- /package/src/{circuit → circuit-relay}/utils.ts +0 -0
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 zw=Object.create;var Js=Object.defineProperty;var Hw=Object.getOwnPropertyDescriptor;var Gw=Object.getOwnPropertyNames;var Yw=Object.getPrototypeOf,Ww=Object.prototype.hasOwnProperty;var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ne=(e,t)=>{for(var r in t)Js(e,r,{get:t[r],enumerable:!0})},Yf=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Gw(t))!Ww.call(e,i)&&i!==r&&Js(e,i,{get:()=>t[i],enumerable:!(n=Hw(t,i))||n.enumerable});return e};var N=(e,t,r)=>(r=e!=null?zw(Yw(e)):{},Yf(t||!e||!e.__esModule?Js(r,"default",{value:e,enumerable:!0}):r,e)),Qw=e=>Yf(Js({},"__esModule",{value:!0}),e);var _c=T((SA,Wf)=>{var Zn=1e3,Jn=Zn*60,jn=Jn*60,mn=jn*24,Xw=mn*7,Zw=mn*365.25;Wf.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Jw(e);if(r==="number"&&isFinite(e))return t.long?t1(e):jw(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Jw(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Zw;case"weeks":case"week":case"w":return r*Xw;case"days":case"day":case"d":return r*mn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*jn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Jn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Zn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function jw(e){var t=Math.abs(e);return t>=mn?Math.round(e/mn)+"d":t>=jn?Math.round(e/jn)+"h":t>=Jn?Math.round(e/Jn)+"m":t>=Zn?Math.round(e/Zn)+"s":e+"ms"}function t1(e){var t=Math.abs(e);return t>=mn?js(e,t,mn,"day"):t>=jn?js(e,t,jn,"hour"):t>=Jn?js(e,t,Jn,"minute"):t>=Zn?js(e,t,Zn,"second"):e+" ms"}function js(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var Xf=T((AA,Qf)=>{function e1(e){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=_c(),r.destroy=l,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let h=0;h<u.length;h++)f=(f<<5)-f+u.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){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 O=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,X)=>{if(D==="%%")return"%";O++;let J=r.formatters[X];if(typeof J=="function"){let Xt=y[O];D=J.call(g,Xt),y.splice(O,1),O--}return D}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=u,m.useColors=r.useColors(),m.color=r.selectColor(u),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(u)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(u,f){let h=r(this.namespace+(typeof f>"u"?":":f)+u);return h.log=this.log,h}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f,h=(typeof u=="string"?u:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(u=h[f].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.slice(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),u}function o(u){if(u[u.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(u))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){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}Qf.exports=e1});var Sc=T((Ee,to)=>{Ee.formatArgs=n1;Ee.save=i1;Ee.load=s1;Ee.useColors=r1;Ee.storage=o1();Ee.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();Ee.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 r1(){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 n1(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+to.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}Ee.log=console.debug||console.log||(()=>{});function i1(e){try{e?Ee.storage.setItem("debug",e):Ee.storage.removeItem("debug")}catch{}}function s1(){let e;try{e=Ee.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function o1(){try{return localStorage}catch{}}to.exports=Xf()(Ee);var{formatters:a1}=to.exports;a1.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Sh=T((DR,_h)=>{_h.exports=Zc;var bh=128,EE=127,xE=~EE,vE=Math.pow(2,31);function Zc(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw Zc.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=vE;)t[r++]=e&255|bh,e/=128;for(;e&xE;)t[r++]=e&255|bh,e>>>=7;return t[r]=e|0,Zc.bytes=r-n+1,t}});var Ih=T((BR,Rh)=>{Rh.exports=Jc;var bE=128,Ah=127;function Jc(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a||i>49)throw Jc.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&Ah)<<i:(o&Ah)*Math.pow(2,i),i+=7}while(o>=bE);return Jc.bytes=s-n,r}});var Ch=T((LR,Th)=>{var _E=Math.pow(2,7),SE=Math.pow(2,14),AE=Math.pow(2,21),RE=Math.pow(2,28),IE=Math.pow(2,35),TE=Math.pow(2,42),CE=Math.pow(2,49),DE=Math.pow(2,56),BE=Math.pow(2,63);Th.exports=function(e){return e<_E?1:e<SE?2:e<AE?3:e<RE?4:e<IE?5:e<TE?6:e<CE?7:e<DE?8:e<BE?9:10}});var so=T((PR,Dh)=>{Dh.exports={encode:Sh(),decode:Ih(),encodingLength:Ch()}});var lo=T((LI,$h)=>{"use strict";function qh(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function XE(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return qh(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),qh(new i,r)}}$h.exports=XE});var jh=T((vT,Jh)=>{"use strict";Jh.exports=function(){return Date.now()}});var pl=T((bT,td)=>{"use strict";var go=jh(),dl=class{constructor(t,r,n){let i=this;this._started=go(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(go()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(t){t||(t=this._scheduled);let r=go();r+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=r,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=go(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function px(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;t<e.length;t++)e[t]=arguments[t+2]}return new dl(arguments[0],arguments[1],e)}td.exports=px});var vr=T((_T,rd)=>{"use strict";var{AbortController:mx}=globalThis,ed=pl(),Zi=class extends mx{constructor(t){super(),this._ms=t,this._timer=ed(()=>this.abort(),t),Object.setPrototypeOf(this,Zi.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=ed(()=>this.abort(),this._ms)}};rd.exports={TimeoutController:Zi}});var sd=T((NT,id)=>{"use strict";var li=new Map,Ex=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function xx(e,t,r){for(;li.get(r);){try{await e()}catch(n){setTimeout(()=>{throw n},1);break}if(!li.get(r))break;await new Promise(n=>{let i=setTimeout(n,t);li.set(r,i)})}}function vx(e,t,r){r=r||t;let n=Ex(),i=setTimeout(()=>{xx(e,t,n)},r);return li.set(n,i),n}function bx(e){let t=li.get(e);t&&(clearTimeout(t),li.delete(e))}id.exports={setDelayedInterval:vx,clearDelayedInterval:bx}});var je=T((kT,yl)=>{"use strict";var ui=typeof Reflect=="object"?Reflect:null,od=ui&&typeof ui.apply=="function"?ui.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},Eo;ui&&typeof ui.ownKeys=="function"?Eo=ui.ownKeys:Object.getOwnPropertySymbols?Eo=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Eo=function(t){return Object.getOwnPropertyNames(t)};function _x(e){console&&console.warn&&console.warn(e)}var cd=Number.isNaN||function(t){return t!==t};function ht(){ht.init.call(this)}yl.exports=ht;yl.exports.once=Ix;ht.EventEmitter=ht;ht.prototype._events=void 0;ht.prototype._eventsCount=0;ht.prototype._maxListeners=void 0;var ad=10;function xo(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ht,"defaultMaxListeners",{enumerable:!0,get:function(){return ad},set:function(e){if(typeof e!="number"||e<0||cd(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");ad=e}});ht.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};ht.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||cd(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function ld(e){return e._maxListeners===void 0?ht.defaultMaxListeners:e._maxListeners}ht.prototype.getMaxListeners=function(){return ld(this)};ht.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="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[t];if(c===void 0)return!1;if(typeof c=="function")od(c,this,r);else for(var l=c.length,u=pd(c,l),n=0;n<l;++n)od(u[n],this,r);return!0};function ud(e,t,r,n){var i,s,o;if(xo(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=ld(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,_x(a)}return e}ht.prototype.addListener=function(t,r){return ud(this,t,r,!1)};ht.prototype.on=ht.prototype.addListener;ht.prototype.prependListener=function(t,r){return ud(this,t,r,!0)};function Sx(){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 fd(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Sx.bind(n);return i.listener=r,n.wrapFn=i,i}ht.prototype.once=function(t,r){return xo(r),this.on(t,fd(this,t,r)),this};ht.prototype.prependOnceListener=function(t,r){return xo(r),this.prependListener(t,fd(this,t,r)),this};ht.prototype.removeListener=function(t,r){var n,i,s,o,a;if(xo(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,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():Ax(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ht.prototype.off=ht.prototype.removeListener;ht.prototype.removeAllListeners=function(t){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[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),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[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function hd(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Rx(i):pd(i,i.length)}ht.prototype.listeners=function(t){return hd(this,t,!0)};ht.prototype.rawListeners=function(t){return hd(this,t,!1)};ht.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):dd.call(e,t)};ht.prototype.listenerCount=dd;function dd(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ht.prototype.eventNames=function(){return this._eventsCount>0?Eo(this._events):[]};function pd(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Ax(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function Rx(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Ix(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}md(e,t,s,{once:!0}),t!=="error"&&Tx(e,i,{once:!0})})}function Tx(e,t,r){typeof e.on=="function"&&md(e,"error",t,r)}function md(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var bd=T((dC,vd)=>{"use strict";vd.exports=e=>{if(Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}});var Td=T((Rd,Id)=>{"use strict";var Ao=bd(),{hasOwnProperty:Sd}=Object.prototype,{propertyIsEnumerable:Lx}=Object,hi=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Px=Rd,_d={concatArrays:!1,ignoreUndefined:!1},Ro=e=>{let t=[];for(let r in e)Sd.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(e);for(let n of r)Lx.call(e,n)&&t.push(n)}return t};function di(e){return Array.isArray(e)?Nx(e):Ao(e)?kx(e):e}function Nx(e){let t=e.slice(0,0);return Ro(e).forEach(r=>{hi(t,r,di(e[r]))}),t}function kx(e){let t=Object.getPrototypeOf(e)===null?Object.create(null):{};return Ro(e).forEach(r=>{hi(t,r,di(e[r]))}),t}var Ad=(e,t,r,n)=>(r.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in e&&e[i]!==Object.getPrototypeOf(e)?hi(e,i,vl(e[i],t[i],n)):hi(e,i,di(t[i])))}),e),Ox=(e,t,r)=>{let n=e.slice(0,0),i=0;return[e,t].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)Sd.call(s,a)&&(o.push(String(a)),s===e?hi(n,i++,s[a]):hi(n,i++,di(s[a])));n=Ad(n,s,Ro(s).filter(a=>!o.includes(a)),r)}),n};function vl(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?Ox(e,t,r):!Ao(t)||!Ao(e)?di(t):Ad(e,t,Ro(t),r)}Id.exports=function(...e){let t=vl(di(_d),this!==Px&&this||{},_d),r={_:{}};for(let n of e)if(n!==void 0){if(!Ao(n))throw new TypeError("`"+n+"` is not an Option Object");r=vl(r,{_:n},t)}return r._}});var ts=T((UC,Ld)=>{Ld.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.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 Nd=T((KC,Pd)=>{Pd.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=t&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,r){this.addMs(t,r*1e3)}addMs(t,r){this._keys[t]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let r=this._keys[t];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var Od=T((VC,kd)=>{var Fx=Nd();kd.exports=Fx});var ve=T(($C,Md)=>{Md.exports=class{constructor(t,r,n,i){this.remainingPoints=typeof t>"u"?0:t,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(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t}_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 mi=T((HC,Fd)=>{var _l=ts(),Kx=Od(),Ud=ve();Fd.exports=class extends _l{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new Kx}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,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):t(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(l=>{r(l)})}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(t,c,a)}else t(a)}_handleError(t,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof _l?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):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(t){if(this._inMemoryBlockDuration=t?parseInt(t):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(t){if(typeof t<"u"&&!(t instanceof _l))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,r,n={}){let i=r*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),r,s,i)}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Ud(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,t,r,n)})})}penalty(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}reward(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}get(t,r={}){let n=this.getKey(t);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,t,r)})})}delete(t,r={}){let n=this.getKey(t);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,t,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,r,n,i={}){return new Promise((s,o)=>{this._upsert(t,r,n,!0,i).then(()=>{s(new Ud(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(t),n/1e3,i)})})}_get(t,r={}){throw new Error("You have to implement the method '_get'!")}_delete(t,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var qd=T((GC,Vd)=>{var Vx=mi(),qx=ve(),Kd="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} ",Sl=class extends Vx{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Kd})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new qx;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(t,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(t,r,"EX",a):c.set(t,r),c.pttl(t).exec((l,u)=>l?o(l):s(u));else if(a>0){let l=function(u,f){return u?o(u):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,r,a,l):this.client.eval(Kd,1,t,r,a,l)}else c.incrby(t,r).pttl(t).exec((l,u)=>l?o(l):s(u))})}_get(t){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(t){return new Promise((r,n)=>{this.client.del(t,(i,s)=>{i?n(i):r(s>0)})})}};Vd.exports=Sl});var Hd=T((YC,zd)=>{var $x=mi(),zx=ve();function $d(e){try{let t=e.client?e.client:e,{version:r}=t.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 es=class extends $x{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=$d(this.client)}):(this._initCollection(),this._driverVersion=$d(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?es.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_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(t,r,n){let i=new zx,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(t,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:t},a=Object.assign(a,o),c={$set:{key:t,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:t},a=Object.assign(a,o),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let l={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?l.returnDocument="after":l.returnOriginal=!1,new Promise((u,f)=>{this._collection.findOneAndUpdate(a,c,l).then(h=>{u(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},o),p={$set:Object.assign({key:t,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,l).then(m=>{u(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,r,n,i).then(y=>u(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};zd.exports=es});var Yd=T((WC,Gd)=>{var Hx=mi(),Gx=ve(),Al=class extends Hx{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.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(t){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{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((t,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,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),t()})})}).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(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,r,n){let i=new Gx,[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(t,r,n,i,s){return new Promise((o,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let l=Date.now(),u=i>0?l+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
2
|
+
"use strict";var Libp2P=(()=>{var s1=Object.create;var ro=Object.defineProperty;var o1=Object.getOwnPropertyDescriptor;var a1=Object.getOwnPropertyNames;var c1=Object.getPrototypeOf,l1=Object.prototype.hasOwnProperty;var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ne=(e,t)=>{for(var r in t)ro(e,r,{get:t[r],enumerable:!0})},rh=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of a1(t))!l1.call(e,i)&&i!==r&&ro(e,i,{get:()=>t[i],enumerable:!(n=o1(t,i))||n.enumerable});return e};var N=(e,t,r)=>(r=e!=null?s1(c1(e)):{},rh(t||!e||!e.__esModule?ro(r,"default",{value:e,enumerable:!0}):r,e)),u1=e=>rh(ro({},"__esModule",{value:!0}),e);var Tc=T((WA,nh)=>{var Jn=1e3,jn=Jn*60,ti=jn*60,mn=ti*24,f1=mn*7,h1=mn*365.25;nh.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return d1(e);if(r==="number"&&isFinite(e))return t.long?m1(e):p1(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function d1(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*h1;case"weeks":case"week":case"w":return r*f1;case"days":case"day":case"d":return r*mn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ti;case"minutes":case"minute":case"mins":case"min":case"m":return r*jn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function p1(e){var t=Math.abs(e);return t>=mn?Math.round(e/mn)+"d":t>=ti?Math.round(e/ti)+"h":t>=jn?Math.round(e/jn)+"m":t>=Jn?Math.round(e/Jn)+"s":e+"ms"}function m1(e){var t=Math.abs(e);return t>=mn?no(e,t,mn,"day"):t>=ti?no(e,t,ti,"hour"):t>=jn?no(e,t,jn,"minute"):t>=Jn?no(e,t,Jn,"second"):e+" ms"}function no(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var sh=T((QA,ih)=>{function y1(e){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Tc(),r.destroy=l,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let f=0;for(let h=0;h<u.length;h++)f=(f<<5)-f+u.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(u){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 O=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,X)=>{if(D==="%%")return"%";O++;let J=r.formatters[X];if(typeof J=="function"){let Qt=y[O];D=J.call(g,Qt),y.splice(O,1),O--}return D}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=u,m.useColors=r.useColors(),m.color=r.selectColor(u),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(u)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(u,f){let h=r(this.namespace+(typeof f>"u"?":":f)+u);return h.log=this.log,h}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f,h=(typeof u=="string"?u:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(u=h[f].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.slice(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),u}function o(u){if(u[u.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(u))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){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}ih.exports=y1});var Cc=T((Ee,io)=>{Ee.formatArgs=w1;Ee.save=E1;Ee.load=x1;Ee.useColors=g1;Ee.storage=v1();Ee.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();Ee.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 g1(){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 w1(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+io.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}Ee.log=console.debug||console.log||(()=>{});function E1(e){try{e?Ee.storage.setItem("debug",e):Ee.storage.removeItem("debug")}catch{}}function x1(){let e;try{e=Ee.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function v1(){try{return localStorage}catch{}}io.exports=sh()(Ee);var{formatters:b1}=io.exports;b1.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ph=T((tI,Bh)=>{Bh.exports=rl;var Lh=128,NE=127,kE=~NE,OE=Math.pow(2,31);function rl(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw rl.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=OE;)t[r++]=e&255|Lh,e/=128;for(;e&kE;)t[r++]=e&255|Lh,e>>>=7;return t[r]=e|0,rl.bytes=r-n+1,t}});var Oh=T((eI,kh)=>{kh.exports=nl;var ME=128,Nh=127;function nl(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a||i>49)throw nl.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&Nh)<<i:(o&Nh)*Math.pow(2,i),i+=7}while(o>=ME);return nl.bytes=s-n,r}});var Uh=T((rI,Mh)=>{var UE=Math.pow(2,7),FE=Math.pow(2,14),KE=Math.pow(2,21),VE=Math.pow(2,28),qE=Math.pow(2,35),$E=Math.pow(2,42),zE=Math.pow(2,49),HE=Math.pow(2,56),GE=Math.pow(2,63);Mh.exports=function(e){return e<UE?1:e<FE?2:e<KE?3:e<VE?4:e<qE?5:e<$E?6:e<zE?7:e<HE?8:e<GE?9:10}});var lo=T((nI,Fh)=>{Fh.exports={encode:Ph(),decode:Oh(),encodingLength:Uh()}});var Yi=T((rT,Jh)=>{"use strict";function Zh(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function fx(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return Zh(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Zh(new i,r)}}Jh.exports=fx});var cd=T((HT,ad)=>{"use strict";ad.exports=function(){return Date.now()}});var El=T((GT,ld)=>{"use strict";var xo=cd(),wl=class{constructor(t,r,n){let i=this;this._started=xo(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(xo()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(t){t||(t=this._scheduled);let r=xo();r+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=r,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=xo(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function Cx(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;t<e.length;t++)e[t]=arguments[t+2]}return new wl(arguments[0],arguments[1],e)}ld.exports=Cx});var br=T((YT,fd)=>{"use strict";var{AbortController:Dx}=globalThis,ud=El(),ts=class extends Dx{constructor(t){super(),this._ms=t,this._timer=ud(()=>this.abort(),t),Object.setPrototypeOf(this,ts.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=ud(()=>this.abort(),this._ms)}};fd.exports={TimeoutController:ts}});var pd=T((iC,dd)=>{"use strict";var ui=new Map,Nx=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function kx(e,t,r){for(;ui.get(r);){try{await e()}catch(n){setTimeout(()=>{throw n},1);break}if(!ui.get(r))break;await new Promise(n=>{let i=setTimeout(n,t);ui.set(r,i)})}}function Ox(e,t,r){r=r||t;let n=Nx(),i=setTimeout(()=>{kx(e,t,n)},r);return ui.set(n,i),n}function Mx(e){let t=ui.get(e);t&&(clearTimeout(t),ui.delete(e))}dd.exports={setDelayedInterval:Ox,clearDelayedInterval:Mx}});var er=T((sC,vl)=>{"use strict";var fi=typeof Reflect=="object"?Reflect:null,md=fi&&typeof fi.apply=="function"?fi.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},bo;fi&&typeof fi.ownKeys=="function"?bo=fi.ownKeys:Object.getOwnPropertySymbols?bo=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:bo=function(t){return Object.getOwnPropertyNames(t)};function Ux(e){console&&console.warn&&console.warn(e)}var gd=Number.isNaN||function(t){return t!==t};function ht(){ht.init.call(this)}vl.exports=ht;vl.exports.once=qx;ht.EventEmitter=ht;ht.prototype._events=void 0;ht.prototype._eventsCount=0;ht.prototype._maxListeners=void 0;var yd=10;function _o(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ht,"defaultMaxListeners",{enumerable:!0,get:function(){return yd},set:function(e){if(typeof e!="number"||e<0||gd(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");yd=e}});ht.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};ht.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||gd(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function wd(e){return e._maxListeners===void 0?ht.defaultMaxListeners:e._maxListeners}ht.prototype.getMaxListeners=function(){return wd(this)};ht.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="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[t];if(c===void 0)return!1;if(typeof c=="function")md(c,this,r);else for(var l=c.length,u=_d(c,l),n=0;n<l;++n)md(u[n],this,r);return!0};function Ed(e,t,r,n){var i,s,o;if(_o(r),s=e._events,s===void 0?(s=e._events=Object.create(null),e._eventsCount=0):(s.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),s=e._events),o=s[t]),o===void 0)o=s[t]=r,++e._eventsCount;else if(typeof o=="function"?o=s[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=wd(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=o.length,Ux(a)}return e}ht.prototype.addListener=function(t,r){return Ed(this,t,r,!1)};ht.prototype.on=ht.prototype.addListener;ht.prototype.prependListener=function(t,r){return Ed(this,t,r,!0)};function Fx(){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 xd(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Fx.bind(n);return i.listener=r,n.wrapFn=i,i}ht.prototype.once=function(t,r){return _o(r),this.on(t,xd(this,t,r)),this};ht.prototype.prependOnceListener=function(t,r){return _o(r),this.prependListener(t,xd(this,t,r)),this};ht.prototype.removeListener=function(t,r){var n,i,s,o,a;if(_o(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,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():Kx(n,s),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ht.prototype.off=ht.prototype.removeListener;ht.prototype.removeAllListeners=function(t){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[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),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[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function vd(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Vx(i):_d(i,i.length)}ht.prototype.listeners=function(t){return vd(this,t,!0)};ht.prototype.rawListeners=function(t){return vd(this,t,!1)};ht.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):bd.call(e,t)};ht.prototype.listenerCount=bd;function bd(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ht.prototype.eventNames=function(){return this._eventsCount>0?bo(this._events):[]};function _d(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Kx(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function Vx(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function qx(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,s),n(o)}function s(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}Sd(e,t,s,{once:!0}),t!=="error"&&$x(e,i,{once:!0})})}function $x(e,t,r){typeof e.on=="function"&&Sd(e,"error",t,r)}function Sd(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(s){n.once&&e.removeEventListener(t,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Ld=T((MC,Dd)=>{"use strict";Dd.exports=e=>{if(Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}});var Md=T((kd,Od)=>{"use strict";var To=Ld(),{hasOwnProperty:Pd}=Object.prototype,{propertyIsEnumerable:Yx}=Object,di=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),Wx=kd,Bd={concatArrays:!1,ignoreUndefined:!1},Co=e=>{let t=[];for(let r in e)Pd.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(e);for(let n of r)Yx.call(e,n)&&t.push(n)}return t};function pi(e){return Array.isArray(e)?Qx(e):To(e)?Xx(e):e}function Qx(e){let t=e.slice(0,0);return Co(e).forEach(r=>{di(t,r,pi(e[r]))}),t}function Xx(e){let t=Object.getPrototypeOf(e)===null?Object.create(null):{};return Co(e).forEach(r=>{di(t,r,pi(e[r]))}),t}var Nd=(e,t,r,n)=>(r.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in e&&e[i]!==Object.getPrototypeOf(e)?di(e,i,Rl(e[i],t[i],n)):di(e,i,pi(t[i])))}),e),Zx=(e,t,r)=>{let n=e.slice(0,0),i=0;return[e,t].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)Pd.call(s,a)&&(o.push(String(a)),s===e?di(n,i++,s[a]):di(n,i++,pi(s[a])));n=Nd(n,s,Co(s).filter(a=>!o.includes(a)),r)}),n};function Rl(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?Zx(e,t,r):!To(t)||!To(e)?pi(t):Nd(e,t,Co(t),r)}Od.exports=function(...e){let t=Rl(pi(Bd),this!==Wx&&this||{},Bd),r={_:{}};for(let n of e)if(n!==void 0){if(!To(n))throw new TypeError("`"+n+"` is not an Option Object");r=Rl(r,{_:n},t)}return r._}});var ns=T((c4,Vd)=>{Vd.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:!!t}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.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 $d=T((u4,qd)=>{qd.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=t&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,r){this.addMs(t,r*1e3)}addMs(t,r){this._keys[t]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let r=this._keys[t];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var Hd=T((f4,zd)=>{var tv=$d();zd.exports=tv});var ve=T((d4,Gd)=>{Gd.exports=class{constructor(t,r,n,i){this.remainingPoints=typeof t>"u"?0:t,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(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=!!t}_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 yi=T((m4,Wd)=>{var Tl=ns(),ev=Hd(),Yd=ve();Wd.exports=class extends Tl{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new ev}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,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):t(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(l=>{r(l)})}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(t,c,a)}else t(a)}_handleError(t,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Tl?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):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(t){if(this._inMemoryBlockDuration=t?parseInt(t):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(t){if(typeof t<"u"&&!(t instanceof Tl))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,r,n={}){let i=r*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),r,s,i)}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Yd(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,t,r,n)})})}penalty(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}reward(t,r=1,n={}){let i=this.getKey(t);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,t,r,n)})})}get(t,r={}){let n=this.getKey(t);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,t,r)})})}delete(t,r={}){let n=this.getKey(t);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,t,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,r,n,i={}){return new Promise((s,o)=>{this._upsert(t,r,n,!0,i).then(()=>{s(new Yd(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(t),n/1e3,i)})})}_get(t,r={}){throw new Error("You have to implement the method '_get'!")}_delete(t,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var Zd=T((y4,Xd)=>{var rv=yi(),nv=ve(),Qd="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} ",Cl=class extends rv{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Qd})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new nv;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(t,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(t,r,"EX",a):c.set(t,r),c.pttl(t).exec((l,u)=>l?o(l):s(u));else if(a>0){let l=function(u,f){return u?o(u):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,r,a,l):this.client.eval(Qd,1,t,r,a,l)}else c.incrby(t,r).pttl(t).exec((l,u)=>l?o(l):s(u))})}_get(t){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(t){return new Promise((r,n)=>{this.client.del(t,(i,s)=>{i?n(i):r(s>0)})})}};Xd.exports=Cl});var t0=T((g4,jd)=>{var iv=yi(),sv=ve();function Jd(e){try{let t=e.client?e.client:e,{version:r}=t.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 is=class extends iv{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Jd(this.client)}):(this._initCollection(),this._driverVersion=Jd(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?is.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_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(t,r,n){let i=new sv,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(t,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:t},a=Object.assign(a,o),c={$set:{key:t,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:t},a=Object.assign(a,o),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let l={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?l.returnDocument="after":l.returnOriginal=!1,new Promise((u,f)=>{this._collection.findOneAndUpdate(a,c,l).then(h=>{u(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},o),p={$set:Object.assign({key:t,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,l).then(m=>{u(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,r,n,i).then(y=>u(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};jd.exports=is});var r0=T((w4,e0)=>{var ov=yi(),av=ve(),Dl=class extends ov{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.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(t){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{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((t,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,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),t()})})}).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(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,r,n){let i=new av,[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(t,r,n,i,s){return new Promise((o,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let l=Date.now(),u=i>0?l+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,u,n,u]):(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,u,l,n,n,l,u]),t.query(f,h,d=>{if(d)return t.rollback(),a(d);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return t.rollback(),a(p);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);o(m)})})})})})}_upsert(t,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,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(t){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,t,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(t){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(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,u,l,n,n,l,u]),t.query(f,h,d=>{if(d)return t.rollback(),a(d);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return t.rollback(),a(p);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);o(m)})})})})})}_upsert(t,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,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(t){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,t,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(t){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};e0.exports=Dl});var i0=T((E4,n0)=>{var cv=yi(),lv=ve(),Ll=class extends cv{constructor(t,r=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.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(t){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[t]};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(t){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((t,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{t()}).catch(n=>{n.code==="23505"?t():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(t){let r=this.client.constructor.name;if(typeof t>"u")if(r==="Client")t="client";else if(r==="Pool"||r==="BoundPool")t="pool";else if(r==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,r,n){let i=new
|
|
12
|
+
);`}get clientType(){return this._clientType}set clientType(t){let r=this.client.constructor.name;if(typeof t>"u")if(r==="Client")t="client";else if(r==="Pool"||r==="BoundPool")t="pool";else if(r==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:!!t}_getRateLimiterRes(t,r,n){let i=new lv,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(t){let n={name:`${this.tableName.toLowerCase()}:${t.name}`,text:t.text,values:t.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(t,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,32 +21,32 @@
|
|
|
21
21
|
END,
|
|
22
22
|
expire = ${o}
|
|
23
23
|
RETURNING points, expire;`,values:[t,r,s,Date.now()]})}_get(t){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:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Wd.exports=Rl});var Xd=T(()=>{});var An=T(()=>{});var Jd=T((e4,Zd)=>{Zd.exports=class{constructor(t,r,n=null){this.value=t,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var t0=T((n4,jd)=>{var Qx=Jd(),Il=ve();jd.exports=class{constructor(){this._storage={}}incrby(t,r,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+r,new Il(0,i,this._storage[t].value,!1)):this.set(t,r,n)}return this.set(t,r,n)}set(t,r,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new Qx(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Il(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let r=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Il(0,r,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var Cl=T((i4,r0)=>{var Xx=ts(),Zx=t0(),e0=ve(),Tl=class extends Xx{constructor(t={}){super(t),this._memoryStorage=new Zx}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),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 l=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));l<this.execEvenlyMinDelayMs&&(l=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,l,c)}else i(c)})}penalty(t,r=1,n={}){let i=this.getKey(t);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(t,r=1,n={}){let i=this.getKey(t);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(t,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,r),Promise.resolve(new e0(0,n===0?-1:n,i))}set(t,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),r,n),Promise.resolve(new e0(0,i===0?-1:i,r))}get(t){let r=this._memoryStorage.get(this.getKey(t));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};r0.exports=Tl});var l0=T((s4,c0)=>{var n0=Xd(),Jx=An(),jx=ts(),s0=Cl(),tv=ve(),De="rate_limiter_flexible",wi=null,i0=function(e,t,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},e.send({channel:De,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:r,data:i})},o0=function(e){setTimeout(()=>{this._initiated?process.send(e):typeof this._promises[e.promiseId]<"u"&&o0.call(this,e)},30)},yi=function(e,t,r,n,i){let s={channel:De,keyPrefix:this.keyPrefix,func:e,promiseId:t,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):o0.call(this,s)},a0=function(e,t){if(!t||t.channel!==De||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let r;switch(t.func){case"consume":r=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":r=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":r=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":r=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":r=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":r=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}r&&r.then(n=>{i0(e,t,"resolve",n)}).catch(n=>{i0(e,t,"reject",n)})},ev=function(e){if(!e||e.channel!==De||e.keyPrefix!==this.keyPrefix)return!1;if(this._promises[e.promiseId]){clearTimeout(this._promises[e.promiseId].timeoutId);let t;switch(e.data===null||e.data===!0||e.data===!1?t=e.data:t=new tv(e.data.remainingPoints,e.data.msBeforeNext,e.data.consumedPoints,e.data.isFirstInDuration),e.type){case"resolve":this._promises[e.promiseId].resolve(t);break;case"reject":this._promises[e.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${e.type}'`)}delete this._promises[e.promiseId]}},rv=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},gi=function(e,t){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Jx.randomBytes(12).toString("base64")),this._promises[n]={resolve:e,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Dl=class{constructor(){if(wi)return wi;this._rateLimiters={},n0.setMaxListeners(0),n0.on("message",(t,r)=>{r&&r.channel===De&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new s0(r.opts)),t.send({channel:De,type:"init",keyPrefix:r.opts.keyPrefix})):a0.call(this,t,r)}),wi=this}},Bl=class{constructor(t){if(wi)return wi;this._rateLimiters={},t.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===De&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new s0(s.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:De,channel:De,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=De,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(l,u)=>{l&&console.log(l,u)})}};a0.call(this,o,s)}})}),wi=this}},Ll=class extends jx{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===De&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:ev.call(this,r)}),process.send({channel:De,type:"init",opts:rv.call(this)}),this._promises={}}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=gi.call(this,i,s);yi.call(this,"consume",o,t,r,n)})}penalty(t,r=1,n={}){return new Promise((i,s)=>{let o=gi.call(this,i,s);yi.call(this,"penalty",o,t,r,n)})}reward(t,r=1,n={}){return new Promise((i,s)=>{let o=gi.call(this,i,s);yi.call(this,"reward",o,t,r,n)})}block(t,r,n={}){return new Promise((i,s)=>{let o=gi.call(this,i,s);yi.call(this,"block",o,t,r,n)})}get(t,r={}){return new Promise((n,i)=>{let s=gi.call(this,n,i);yi.call(this,"get",s,t,r)})}delete(t,r={}){return new Promise((n,i)=>{let s=gi.call(this,n,i);yi.call(this,"delete",s,t,r)})}};c0.exports={RateLimiterClusterMaster:Dl,RateLimiterClusterMasterPM2:Bl,RateLimiterCluster:Ll}});var f0=T((o4,u0)=>{var nv=mi(),iv=ve(),Pl=class extends nv{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,r,n){let i=new iv;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(t,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),l=Math.floor(n/1e3);i?this.client.set(t,r,l,u=>{u?a(u):this.client.set(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let f={consumedPoints:r,msBeforeNext:l>0?l*1e3:-1};o(f)})}):this.client.incr(t,r,(u,f)=>{u||f===!1?this.client.add(t,r,l,(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(t,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let p={consumedPoints:r,msBeforeNext:l>0?l*1e3:-1};o(p)})}):this.client.get(`${t}_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(t){return new Promise((r,n)=>{let i=Date.now();this.client.get(t,(s,o)=>{o?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let l=c===!1?0:c,u={consumedPoints:o,msBeforeNext:l>=0?Math.max(l-i,0):-1};r(u)}}):r(null)})})}_delete(t){return new Promise((r,n)=>{this.client.del(t,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${t}_expire`,o=>{o?n(o):r(s)})})})}};u0.exports=Pl});var p0=T((c4,d0)=>{var h0=ve();d0.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new h0(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new h0(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(t,r=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,r):(this.runActionAnyway&&this.limiter.consume(t,r).catch(()=>{}),n)}block(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,r):(this.runActionAnyway&&this.limiter.block(t,r).catch(()=>{}),n)}penalty(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,r):(this.runActionAnyway&&this.limiter.penalty(t,r).catch(()=>{}),n)}reward(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,r):(this.runActionAnyway&&this.limiter.reward(t,r).catch(()=>{}),n)}get(t){let r;return this.isWhiteListedSomewhere(t)?r=this.resolveWhite():this.isBlackListedSomewhere(t)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(t):r}delete(t){return this.limiter.delete(t)}}});var y0=T((u4,m0)=>{var sv=ts();m0.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(r=>{if(!(r instanceof sv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(t,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(l=>{l.rejected===!0&&(c=!0)});for(let l=0;l<o.length;l++)c&&o[l].rejected===!0?a[this._limiters[l].keyPrefix]=o[l].rej:c||(a[this._limiters[l].keyPrefix]=o[l]);c?i(a):n(a)})})}}});var w0=T((h4,g0)=>{g0.exports=class extends Error{constructor(t,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,r&&(this.extra=r)}}});var b0=T((p4,v0)=>{var E0=w0(),x0=4294967295,Nl="limiter";v0.exports=class{constructor(t,r={maxQueueSize:x0}){this._queueLimiters={KEY_DEFAULT:new Bo(t,r)},this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(t=Nl){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,r=Nl){return this._queueLimiters[r]||(this._queueLimiters[r]=new Bo(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(t)}};var Bo=class{constructor(t,r={maxQueueSize:x0,key:Nl}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let r=this;return new Promise((n,i)=>{if(t>r._limiterFlexible.points){i(new E0(`Requested tokens ${t} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,t):r._limiterFlexible.consume(r._key,t).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,t),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(t,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:r,tokens:n}):r(new E0(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let r=t._queue.shift();t._limiterFlexible.consume(t._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(r.reject(n),t._processFIFO.call(t)):(t._queue.unshift(r),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var S0=T((y4,_0)=>{var kl=ve();_0.exports=class{constructor(t,r){this._rateLimiter=t,this._burstLimiter=r}_combineRes(t,r){return new kl(t.remainingPoints,Math.min(t.msBeforeNext,r.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,r=1,n={}){return this._rateLimiter.consume(t,r,n).catch(i=>i instanceof kl?this._burstLimiter.consume(t,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof kl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var R0=T((g4,A0)=>{var ov=qd(),av=Hd(),cv=Yd(),lv=Qd(),{RateLimiterClusterMaster:uv,RateLimiterClusterMasterPM2:fv,RateLimiterCluster:hv}=l0(),dv=Cl(),pv=f0(),mv=p0(),yv=y0(),gv=b0(),wv=S0(),Ev=ve();A0.exports={RateLimiterRedis:ov,RateLimiterMongo:av,RateLimiterMySQL:cv,RateLimiterPostgres:lv,RateLimiterMemory:dv,RateLimiterMemcache:pv,RateLimiterClusterMaster:uv,RateLimiterClusterMasterPM2:fv,RateLimiterCluster:hv,RLWrapperBlackAndWhite:mv,RateLimiterUnion:yv,RateLimiterQueue:gv,BurstyRateLimiter:wv,RateLimiterRes:Ev}});var C0=T((K4,T0)=>{"use strict";function Sv(e){return e>=55296&&e<=56319}function Av(e){return e>=56320&&e<=57343}T0.exports=function(t,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],Sv(o)&&Av(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=t(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var B0=T((V4,D0)=>{"use strict";function Rv(e){return e>=55296&&e<=56319}function Iv(e){return e>=56320&&e<=57343}D0.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var r=t.length,n=0,i=null,s=null,o=0;o<r;o++)i=t.charCodeAt(o),Iv(i)?s!=null&&Rv(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 P0=T((q4,L0)=>{"use strict";var Tv=C0(),Cv=B0();L0.exports=Tv.bind(null,Cv)});var O0=T(($4,k0)=>{"use strict";var Dv=P0(),Bv=/[\/\?<>\\:\*\|"]/g,Lv=/[\x00-\x1f\x80-\x9f]/g,Pv=/^\.+$/,Nv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,kv=/[\. ]+$/;function N0(e,t){if(typeof e!="string")throw new Error("Input must be string");var r=e.replace(Bv,t).replace(Lv,t).replace(Pv,t).replace(Nv,t).replace(kv,t);return Dv(r,255)}k0.exports=function(e,t){var r=t&&t.replacement||"",n=N0(e,r);return r===""?n:N0(n,"")}});var U0=T((H4,M0)=>{"use strict";M0.exports=Ov;function Ov(e,t){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(u){if(s)if(s=!1,u)c(u);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{e.apply(t||null,r)}catch(l){s&&(s=!1,c(l))}})}});var q0=T(V0=>{"use strict";var Oo=V0;Oo.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var xi=new Array(64),K0=new Array(123);for(Fe=0;Fe<64;)K0[xi[Fe]=Fe<26?Fe+65:Fe<52?Fe+71:Fe<62?Fe-4:Fe-59|43]=Fe++;var Fe;Oo.encode=function(t,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var l=t[r++];switch(a){case 0:s[o++]=xi[l>>2],c=(l&3)<<4,a=1;break;case 1:s[o++]=xi[c|l>>4],c=(l&15)<<2,a=2;break;case 2:s[o++]=xi[c|l>>6],s[o++]=xi[l&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=xi[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 F0="invalid encoding";Oo.decode=function(t,r,n){for(var i=n,s=0,o,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&s>1)break;if((c=K0[c])===void 0)throw Error(F0);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(F0);return n-i};Oo.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var z0=T((Y4,$0)=>{"use strict";$0.exports=Mo;function Mo(){this._listeners={}}Mo.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Mo.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Mo.prototype.emit=function(t){var r=this._listeners[t];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 Z0=T((W4,X0)=>{"use strict";X0.exports=H0(H0);function H0(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(c,l,u){t[0]=c,l[u]=r[0],l[u+1]=r[1],l[u+2]=r[2],l[u+3]=r[3]}function s(c,l,u){t[0]=c,l[u]=r[3],l[u+1]=r[2],l[u+2]=r[1],l[u+3]=r[0]}e.writeFloatLE=n?i:s,e.writeFloatBE=n?s:i;function o(c,l){return r[0]=c[l],r[1]=c[l+1],r[2]=c[l+2],r[3]=c[l+3],t[0]}function a(c,l){return r[3]=c[l],r[2]=c[l+1],r[1]=c[l+2],r[0]=c[l+3],t[0]}e.readFloatLE=n?o:a,e.readFloatBE=n?a:o}():function(){function t(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),l=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|l)>>>0,s,o)}}e.writeFloatLE=t.bind(null,G0),e.writeFloatBE=t.bind(null,Y0);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,l=o&8388607;return c===255?l?NaN:a*(1/0):c===0?a*1401298464324817e-60*l:a*Math.pow(2,c-150)*(l+8388608)}e.readFloatLE=r.bind(null,W0),e.readFloatBE=r.bind(null,Q0)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(c,l,u){t[0]=c,l[u]=r[0],l[u+1]=r[1],l[u+2]=r[2],l[u+3]=r[3],l[u+4]=r[4],l[u+5]=r[5],l[u+6]=r[6],l[u+7]=r[7]}function s(c,l,u){t[0]=c,l[u]=r[7],l[u+1]=r[6],l[u+2]=r[5],l[u+3]=r[4],l[u+4]=r[3],l[u+5]=r[2],l[u+6]=r[1],l[u+7]=r[0]}e.writeDoubleLE=n?i:s,e.writeDoubleBE=n?s:i;function o(c,l){return r[0]=c[l],r[1]=c[l+1],r[2]=c[l+2],r[3]=c[l+3],r[4]=c[l+4],r[5]=c[l+5],r[6]=c[l+6],r[7]=c[l+7],t[0]}function a(c,l){return r[7]=c[l],r[6]=c[l+1],r[5]=c[l+2],r[4]=c[l+3],r[3]=c[l+4],r[2]=c[l+5],r[1]=c[l+6],r[0]=c[l+7],t[0]}e.readDoubleLE=n?o:a,e.readDoubleBE=n?a:o}():function(){function t(n,i,s,o,a,c){var l=o<0?1:0;if(l&&(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((l<<31|2146435072)>>>0,a,c+s);else{var u;if(o<22250738585072014e-324)u=o/5e-324,n(u>>>0,a,c+i),n((l<<31|u/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),u=o*Math.pow(2,-f),n(u*4503599627370496>>>0,a,c+i),n((l<<31|f+1023<<20|u*1048576&1048575)>>>0,a,c+s)}}}e.writeDoubleLE=t.bind(null,G0,0,4),e.writeDoubleBE=t.bind(null,Y0,4,0);function r(n,i,s,o,a){var c=n(o,a+i),l=n(o,a+s),u=(l>>31)*2+1,f=l>>>20&2047,h=4294967296*(l&1048575)+c;return f===2047?h?NaN:u*(1/0):f===0?u*5e-324*h:u*Math.pow(2,f-1075)*(h+4503599627370496)}e.readDoubleLE=r.bind(null,W0,0,4),e.readDoubleBE=r.bind(null,Q0,4,0)}(),e}function G0(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Y0(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function W0(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function Q0(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var J0=T((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(e){}return null}});var tp=T(j0=>{"use strict";var Ul=j0;Ul.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Ul.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=t[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|t[r++]&63:c>239&&c<365?(c=((c&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(t[r++]&63)<<6|t[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))};Ul.write=function(t,r,n){for(var i=n,s,o,a=0;a<t.length;++a)s=t.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=t.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 rp=T((X4,ep)=>{"use strict";ep.exports=Mv;function Mv(e,t,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return e(c);o+c>n&&(s=e(n),o=0);var l=t.call(s,o,o+=c);return o&7&&(o=(o|7)+1),l}}});var ip=T((Z4,np)=>{"use strict";np.exports=Jt;var rs=In();function Jt(e,t){this.lo=e>>>0,this.hi=t>>>0}var Rn=Jt.zero=new Jt(0,0);Rn.toNumber=function(){return 0};Rn.zzEncode=Rn.zzDecode=function(){return this};Rn.length=function(){return 1};var Uv=Jt.zeroHash="\0\0\0\0\0\0\0\0";Jt.fromNumber=function(t){if(t===0)return Rn;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Jt(n,i)};Jt.from=function(t){if(typeof t=="number")return Jt.fromNumber(t);if(rs.isString(t))if(rs.Long)t=rs.Long.fromString(t);else return Jt.fromNumber(parseInt(t,10));return t.low||t.high?new Jt(t.low>>>0,t.high>>>0):Rn};Jt.prototype.toNumber=function(t){if(!t&&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};Jt.prototype.toLong=function(t){return rs.Long?new rs.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var zr=String.prototype.charCodeAt;Jt.fromHash=function(t){return t===Uv?Rn:new Jt((zr.call(t,0)|zr.call(t,1)<<8|zr.call(t,2)<<16|zr.call(t,3)<<24)>>>0,(zr.call(t,4)|zr.call(t,5)<<8|zr.call(t,6)<<16|zr.call(t,7)<<24)>>>0)};Jt.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)};Jt.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Jt.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Jt.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var In=T(Fl=>{"use strict";var U=Fl;U.asPromise=U0();U.base64=q0();U.EventEmitter=z0();U.float=Z0();U.inquire=J0();U.utf8=tp();U.pool=rp();U.LongBits=ip();U.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);U.global=U.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Fl;U.emptyArray=Object.freeze?Object.freeze([]):[];U.emptyObject=Object.freeze?Object.freeze({}):{};U.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};U.isString=function(t){return typeof t=="string"||t instanceof String};U.isObject=function(t){return t&&typeof t=="object"};U.isset=U.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};U.Buffer=function(){try{var e=U.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();U._Buffer_from=null;U._Buffer_allocUnsafe=null;U.newBuffer=function(t){return typeof t=="number"?U.Buffer?U._Buffer_allocUnsafe(t):new U.Array(t):U.Buffer?U._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};U.Array=typeof Uint8Array<"u"?Uint8Array:Array;U.Long=U.global.dcodeIO&&U.global.dcodeIO.Long||U.global.Long||U.inquire("long");U.key2Re=/^true|false|0|1$/;U.key32Re=/^-?(?:0|[1-9][0-9]*)$/;U.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;U.longToHash=function(t){return t?U.LongBits.from(t).toHash():U.LongBits.zeroHash};U.longFromHash=function(t,r){var n=U.LongBits.fromHash(t);return U.Long?U.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function sp(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}U.merge=sp;U.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function op(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&sp(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}U.newError=op;U.ProtocolError=op("ProtocolError");U.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[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]}};U.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};U.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};U._configure=function(){var e=U.Buffer;if(!e){U._Buffer_from=U._Buffer_allocUnsafe=null;return}U._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},U._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var ql=T((j4,fp)=>{"use strict";fp.exports=Vt;var tr=In(),Vl,lp=tr.LongBits,Fv=tr.utf8;function Ke(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Vt(e){this.buf=e,this.pos=0,this.len=e.length}var ap=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Vt(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Vt(t);throw Error("illegal buffer")},up=function(){return tr.Buffer?function(r){return(Vt.create=function(i){return tr.Buffer.isBuffer(i)?new Vl(i):ap(i)})(r)}:ap};Vt.create=up();Vt.prototype._slice=tr.Array.prototype.subarray||tr.Array.prototype.slice;Vt.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ke(this,10);return t}}();Vt.prototype.int32=function(){return this.uint32()|0};Vt.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Kl(){var e=new lp(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw Ke(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw Ke(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}Vt.prototype.bool=function(){return this.uint32()!==0};function Uo(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}Vt.prototype.fixed32=function(){if(this.pos+4>this.len)throw Ke(this,4);return Uo(this.buf,this.pos+=4)};Vt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Ke(this,4);return Uo(this.buf,this.pos+=4)|0};function cp(){if(this.pos+8>this.len)throw Ke(this,8);return new lp(Uo(this.buf,this.pos+=4),Uo(this.buf,this.pos+=4))}Vt.prototype.float=function(){if(this.pos+4>this.len)throw Ke(this,4);var t=tr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Vt.prototype.double=function(){if(this.pos+8>this.len)throw Ke(this,4);var t=tr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Vt.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Ke(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Vt.prototype.string=function(){var t=this.bytes();return Fv.read(t,0,t.length)};Vt.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ke(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ke(this);while(this.buf[this.pos++]&128);return this};Vt.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};Vt._configure=function(e){Vl=e,Vt.create=up(),Vl._configure();var t=tr.Long?"toLong":"toNumber";tr.merge(Vt.prototype,{int64:function(){return Kl.call(this)[t](!1)},uint64:function(){return Kl.call(this)[t](!0)},sint64:function(){return Kl.call(this).zzDecode()[t](!1)},fixed64:function(){return cp.call(this)[t](!0)},sfixed64:function(){return cp.call(this)[t](!1)}})}});var mp=T((t8,pp)=>{"use strict";pp.exports=Tn;var dp=ql();(Tn.prototype=Object.create(dp.prototype)).constructor=Tn;var hp=In();function Tn(e){dp.call(this,e)}Tn._configure=function(){hp.Buffer&&(Tn.prototype._slice=hp.Buffer.prototype.slice)};Tn.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Tn._configure()});var Ql=T((e8,Ep)=>{"use strict";Ep.exports=it;var Be=In(),$l,Fo=Be.LongBits,yp=Be.base64,gp=Be.utf8;function ns(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Hl(){}function Kv(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function it(){this.len=0,this.head=new ns(Hl,0,0),this.tail=this.head,this.states=null}var wp=function(){return Be.Buffer?function(){return(it.create=function(){return new $l})()}:function(){return new it}};it.create=wp();it.alloc=function(t){return new Be.Array(t)};Be.Array!==Array&&(it.alloc=Be.pool(it.alloc,Be.Array.prototype.subarray));it.prototype._push=function(t,r,n){return this.tail=this.tail.next=new ns(t,r,n),this.len+=r,this};function Gl(e,t,r){t[r]=e&255}function Vv(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function Yl(e,t){this.len=e,this.next=void 0,this.val=t}Yl.prototype=Object.create(ns.prototype);Yl.prototype.fn=Vv;it.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Yl((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};it.prototype.int32=function(t){return t<0?this._push(Wl,10,Fo.fromNumber(t)):this.uint32(t)};it.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Wl(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}it.prototype.uint64=function(t){var r=Fo.from(t);return this._push(Wl,r.length(),r)};it.prototype.int64=it.prototype.uint64;it.prototype.sint64=function(t){var r=Fo.from(t).zzEncode();return this._push(Wl,r.length(),r)};it.prototype.bool=function(t){return this._push(Gl,1,t?1:0)};function zl(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}it.prototype.fixed32=function(t){return this._push(zl,4,t>>>0)};it.prototype.sfixed32=it.prototype.fixed32;it.prototype.fixed64=function(t){var r=Fo.from(t);return this._push(zl,4,r.lo)._push(zl,4,r.hi)};it.prototype.sfixed64=it.prototype.fixed64;it.prototype.float=function(t){return this._push(Be.float.writeFloatLE,4,t)};it.prototype.double=function(t){return this._push(Be.float.writeDoubleLE,8,t)};var qv=Be.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};it.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(Gl,1,0);if(Be.isString(t)){var n=it.alloc(r=yp.length(t));yp.decode(t,n,0),t=n}return this.uint32(r)._push(qv,r,t)};it.prototype.string=function(t){var r=gp.length(t);return r?this.uint32(r)._push(gp.write,r,t):this._push(Gl,1,0)};it.prototype.fork=function(){return this.states=new Kv(this),this.head=this.tail=new ns(Hl,0,0),this.len=0,this};it.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 ns(Hl,0,0),this.len=0),this};it.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};it.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};it._configure=function(e){$l=e,it.create=wp(),$l._configure()}});var bp=T((r8,vp)=>{"use strict";vp.exports=er;var xp=Ql();(er.prototype=Object.create(xp.prototype)).constructor=er;var Hr=In();function er(){xp.call(this)}er._configure=function(){er.alloc=Hr._Buffer_allocUnsafe,er.writeBytesBuffer=Hr.Buffer&&Hr.Buffer.prototype instanceof Uint8Array&&Hr.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};er.prototype.bytes=function(t){Hr.isString(t)&&(t=Hr._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(er.writeBytesBuffer,r,t),this};function $v(e,t,r){e.length<40?Hr.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}er.prototype.string=function(t){var r=Hr.Buffer.byteLength(t);return this.uint32(r),r&&this._push($v,r,t),this};er._configure()});var ft=T((x8,Ip)=>{Ip.exports={options:{usePureJavaScript:!1}}});var Dp=T((v8,Cp)=>{var eu={};Cp.exports=eu;var Tp={};eu.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=Yv(e,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,l=e[i];c<a.length;++c)l+=a[c]<<8,a[c]=l%s,l=l/s|0;for(;l>0;)a.push(l%s),l=l/s|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var u=new RegExp(".{1,"+r+"}","g");n=n.match(u).join(`\r
|
|
25
|
-
`)}return n};eu.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Tp[t];if(!r){r=Tp[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,l=a;c<o.length;++c)l+=o[c]*i,o[c]=l&255,l>>=8;for(;l>0;)o.push(l&255),l>>=8}for(var u=0;e[u]===s&&u<e.length-1;++u)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Yv(e,t){var r=0,n=t.length,i=t.charAt(0),s=[0];for(r=0;r<e.length();++r){for(var o=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=t[s[r]];return c}});var qt=T((b8,Np)=>{var Bp=ft(),Lp=Dp(),E=Np.exports=Bp.util=Bp.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){E.nextTick=process.nextTick,typeof setImmediate=="function"?E.setImmediate=setImmediate:E.setImmediate=E.nextTick;return}if(typeof setImmediate=="function"){E.setImmediate=function(){return setImmediate.apply(void 0,arguments)},E.nextTick=function(a){return setImmediate(a)};return}if(E.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var l=t.slice();t.length=0,l.forEach(function(u){u()})}};var o=a,e="forge.setImmediate",t=[];E.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(l){l()})}).observe(i,{attributes:!0});var s=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}E.nextTick=E.setImmediate})();E.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;E.globalScope=function(){return E.isNodejs?globalThis:typeof self>"u"?window:self}();E.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};E.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};E.isArrayBufferView=function(e){return e&&E.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function is(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}E.ByteBuffer=ru;function ru(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(E.isArrayBuffer(e)||E.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof ru||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}E.ByteStringBuffer=ru;var Wv=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Wv&&(this.data.substr(0,1),this._constructedStringLength=0)};E.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};E.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};E.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};E.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};E.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};E.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(E.encodeUtf8(e))};E.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};E.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};E.ByteStringBuffer.prototype.putInt=function(e,t){is(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};E.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};E.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};E.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};E.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};E.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};E.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};E.ByteStringBuffer.prototype.getInt=function(e){is(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};E.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};E.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};E.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};E.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};E.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var e=E.createBuffer(this.data);return e.read=this.read,e};E.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};E.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};E.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};E.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function Qv(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=E.isArrayBuffer(e),n=E.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}E.DataBuffer=Qv;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};E.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};E.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};E.DataBuffer.prototype.putBytes=function(e,t){if(E.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(E.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof E.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&E.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof E.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.hex.decode(e,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.base64.decode(e,s,this.write),this;if(t==="utf8"&&(e=E.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(e.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};E.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};E.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};E.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};E.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};E.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};E.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};E.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(e,t){is(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};E.DataBuffer.prototype.putSignedInt=function(e,t){return is(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};E.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};E.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};E.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};E.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};E.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};E.DataBuffer.prototype.getInt=function(e){is(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};E.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};E.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};E.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};E.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};E.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};E.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};E.DataBuffer.prototype.copy=function(){return new E.DataBuffer(this)};E.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};E.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};E.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return E.binary.raw.encode(t);if(e==="hex")return E.binary.hex.encode(t);if(e==="base64")return E.binary.base64.encode(t);if(e==="utf8")return E.text.utf8.decode(t);if(e==="utf16")return E.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};E.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=E.encodeUtf8(e)),new E.ByteBuffer(e)};E.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};E.xorBytes=function(e,t,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};E.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};E.bytesToHex=function(e){return E.createBuffer(e).toHex()};E.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Yr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Wr=[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],Pp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.encode64=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.length;)i=e.charCodeAt(a++),s=e.charCodeAt(a++),o=e.charCodeAt(a++),r+=Yr.charAt(i>>2),r+=Yr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Yr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Yr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
26
|
-
`,r=r.substr(t));return n+=r,n};E.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,s,o=0;o<e.length;)r=Wr[e.charCodeAt(o++)-43],n=Wr[e.charCodeAt(o++)-43],i=Wr[e.charCodeAt(o++)-43],s=Wr[e.charCodeAt(o++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t};E.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};E.decodeUtf8=function(e){return decodeURIComponent(escape(e))};E.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:
|
|
27
|
-
`,r=r.substr(t));return n+=r,n};E.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,l=r;c<e.length;)i=Wr[e.charCodeAt(c++)-43],s=Wr[e.charCodeAt(c++)-43],o=Wr[e.charCodeAt(c++)-43],a=Wr[e.charCodeAt(c++)-43],n[l++]=i<<2|s>>4,o!==64&&(n[l++]=(s&15)<<4|o>>2,a!==64&&(n[l++]=(o&3)<<6|a));return t?l-r:n.subarray(0,l)};E.binary.base58.encode=function(e,t){return E.binary.baseN.encode(e,Pp,t)};E.binary.base58.decode=function(e,t){return E.binary.baseN.decode(e,Pp,t)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(e,t,r){e=E.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};E.text.utf8.decode=function(e){return E.decodeUtf8(String.fromCharCode.apply(null,e))};E.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<e.length;++a)i[o++]=e.charCodeAt(a),s+=2;return t?s-r:n};E.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};E.deflate=function(e,t,r){if(t=E.decode64(e.deflate(E.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};E.inflate=function(e,t,r){var n=e.inflate(E.encode64(t)).rval;return n===null?null:E.decode64(n)};var nu=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=E.encode64(JSON.stringify(r)),n=e.setItem(t,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}},iu=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(E.decode64(r))),r},Xv=function(e,t,r,n){var i=iu(e,t);i===null&&(i={}),i[r]=n,nu(e,t,i)},Zv=function(e,t,r){var n=iu(e,t);return n!==null&&(n=r in n?n[r]:null),n},Jv=function(e,t,r){var n=iu(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),nu(e,t,n)}},jv=function(e,t){nu(e,t,null)},qo=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};E.setItem=function(e,t,r,n,i){qo(Xv,arguments,i)};E.getItem=function(e,t,r,n){return qo(Zv,arguments,n)};E.removeItem=function(e,t,r,n){qo(Jv,arguments,n)};E.clearItems=function(e,t,r){qo(jv,arguments,r)};E.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};E.format=function(e){for(var t=/%./g,r,n,i=0,s=[],o=0;r=t.exec(e);){n=e.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.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(e.substring(o)),s.join("")};E.formatNumber=function(e,t,r,n){var i=e,s=isNaN(t=Math.abs(t))?2:t,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",u=l.length>3?l.length%3:0;return c+(u?l.substr(0,u)+a:"")+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-l).toFixed(s).slice(2):"")};E.formatSize=function(e){return e>=1073741824?e=E.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=E.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=E.formatNumber(e/1024,0)+" KiB":e=E.formatNumber(e,0)+" bytes",e};E.bytesFromIP=function(e){return e.indexOf(".")!==-1?E.bytesFromIPv4(e):e.indexOf(":")!==-1?E.bytesFromIPv6(e):null};E.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=E.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};E.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(o){return o.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=E.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=E.hexToBytes(e[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};E.bytesToIP=function(e){return e.length===4?E.bytesToIPv4(e):e.length===16?E.bytesToIPv6(e):null};E.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};E.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var s=E.bytesToHex(e[i]+e[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=t.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))}t.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};E.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in E&&!e.update)return t(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,t(null,E.cores);if(typeof Worker>"u")return E.cores=1,t(null,E.cores);if(typeof Blob>"u")return E.cores=2,t(null,E.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 l=Math.floor(o.reduce(function(u,f){return u+f},0)/o.length);return E.cores=Math.max(1,l),URL.revokeObjectURL(r),t(null,E.cores)}i(c,function(u,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],l=[],u=0;u<o;++u){var f=new Worker(r);f.addEventListener("message",function(h){if(l.push(h.data),l.length===o){for(var d=0;d<o;++d)c[d].terminate();a(null,l)}}),c.push(f)}for(var u=0;u<o;++u)c[u].postMessage(u)}function s(o,a){for(var c=[],l=0;l<o;++l)for(var u=a[l],f=c[l]=[],h=0;h<o;++h)if(l!==h){var d=a[h];(u.st>d.st&&u.st<d.et||d.st>u.st&&d.st<u.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var $o=T((_8,kp)=>{var ss=ft();ss.pki=ss.pki||{};var su=kp.exports=ss.pki.oids=ss.oids=ss.oids||{};function I(e,t){su[e]=t,su[t]=e}function ut(e,t){su[e]=t}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");ut("2.5.29.1","authorityKeyIdentifier");ut("2.5.29.2","keyAttributes");ut("2.5.29.3","certificatePolicies");ut("2.5.29.4","keyUsageRestriction");ut("2.5.29.5","policyMapping");ut("2.5.29.6","subtreesConstraint");ut("2.5.29.7","subjectAltName");ut("2.5.29.8","issuerAltName");ut("2.5.29.9","subjectDirectoryAttributes");ut("2.5.29.10","basicConstraints");ut("2.5.29.11","nameConstraints");ut("2.5.29.12","policyConstraints");ut("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ut("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ut("2.5.29.20","cRLNumber");ut("2.5.29.21","cRLReason");ut("2.5.29.22","expirationDate");ut("2.5.29.23","instructionCode");ut("2.5.29.24","invalidityDate");ut("2.5.29.25","cRLDistributionPoints");ut("2.5.29.26","issuingDistributionPoint");ut("2.5.29.27","deltaCRLIndicator");ut("2.5.29.28","issuingDistributionPoint");ut("2.5.29.29","certificateIssuer");ut("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ut("2.5.29.33","policyMappings");ut("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ut("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ut("2.5.29.46","freshestCRL");ut("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 as=T((S8,Mp)=>{var St=ft();qt();$o();var B=Mp.exports=St.asn1=St.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(e,t,r,n,i){if(St.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:e,type:t,constructed:r,composed:r||St.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(e,t){var r;if(St.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(B.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:B.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};B.equals=function(e,t,r){if(St.util.isArray(e)){if(!St.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!B.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&B.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};B.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function os(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var t2=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;os(e,t,s),n=e.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=St.util.createBuffer(e));var r=e.length(),n=zo(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function zo(e,t,r,n){var i;os(e,t,2);var s=e.getByte();t--;var o=s&192,a=s&31;i=e.length();var c=t2(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var l=new Error("Too few bytes to read ASN.1 value.");throw l.available=e.length(),l.remaining=t,l.requested=c,l}c=t}var u,f,h=(s&32)===32;if(h)if(u=[],c===void 0)for(;;){if(os(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),u.push(zo(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),u.push(zo(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(u===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=e.bytes(c)),u===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=e.read,p=t,m=0;if(a===B.Type.BITSTRING&&(os(e,t,1),m=e.getByte(),t--),m===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},g=zo(e,t,r+1,y),x=i-e.length();t-=x,a==B.Type.BITSTRING&&x++;var _=g.tagClass;x===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(u=[g])}catch{}u===void 0&&(e.read=d,t=p)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===B.Type.BMPSTRING)for(u="";c>0;c-=2)os(e,t,2),u+=String.fromCharCode(e.getInt16()),t-=2;else u=e.getBytes(c),t-=c}var O=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,u,O)}B.toDer=function(e){var t=St.util.createBuffer(),r=e.tagClass|e.type,n=St.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=B.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var s=0;s<e.value.length;++s)e.value[s]!==void 0&&n.putBuffer(B.toDer(e.value[s]))}else if(e.type===B.Type.BMPSTRING)for(var s=0;s<e.value.length;++s)n.putInt16(e.value.charCodeAt(s));else e.type===B.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};B.oidToDer=function(e){var t=e.split("."),r=St.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[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(e){var t;typeof e=="string"&&(e=St.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};B.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),s=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),l=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),l+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,0),l&&(c=e.charAt(l),c==="+"||c==="-")){var u=parseInt(e.substr(l+1,2),10),f=parseInt(e.substr(l+4,2),10),h=u*60+f;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};B.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,l=0,u=!1;e.charAt(e.length-1)==="Z"&&(u=!0);var f=e.length-5,h=e.charAt(f);if(h==="+"||h==="-"){var d=parseInt(e.substr(f+1,2),10),p=parseInt(e.substr(f+4,2),10);l=d*60+p,l*=6e4,h==="+"&&(l*=-1),u=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),u?(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+l)):(t.setFullYear(r,n,i),t.setHours(s,o,a,c)),t};B.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};B.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};B.integerToDer=function(e){var t=St.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};B.derToInteger=function(e){typeof e=="string"&&(e=St.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};B.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&St.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,e.value[s]&&(i=B.validate(e.value[s],t.value[o],r,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Op=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
28
|
-
`);for(var i="",s=0;s<t*r;++s)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case
|
|
24
|
+
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};n0.exports=Ll});var s0=T(()=>{});var An=T(()=>{});var a0=T((A4,o0)=>{o0.exports=class{constructor(t,r,n=null){this.value=t,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var l0=T((I4,c0)=>{var uv=a0(),Bl=ve();c0.exports=class{constructor(){this._storage={}}incrby(t,r,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+r,new Bl(0,i,this._storage[t].value,!1)):this.set(t,r,n)}return this.set(t,r,n)}set(t,r,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new uv(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new Bl(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let r=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new Bl(0,r,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var Nl=T((T4,f0)=>{var fv=ns(),hv=l0(),u0=ve(),Pl=class extends fv{constructor(t={}){super(t),this._memoryStorage=new hv}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(t),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 l=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));l<this.execEvenlyMinDelayMs&&(l=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,l,c)}else i(c)})}penalty(t,r=1,n={}){let i=this.getKey(t);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(t,r=1,n={}){let i=this.getKey(t);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(t,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,r),Promise.resolve(new u0(0,n===0?-1:n,i))}set(t,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),r,n),Promise.resolve(new u0(0,i===0?-1:i,r))}get(t){let r=this._memoryStorage.get(this.getKey(t));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};f0.exports=Pl});var w0=T((C4,g0)=>{var h0=s0(),dv=An(),pv=ns(),p0=Nl(),mv=ve(),Ce="rate_limiter_flexible",Ei=null,d0=function(e,t,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},e.send({channel:Ce,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:r,data:i})},m0=function(e){setTimeout(()=>{this._initiated?process.send(e):typeof this._promises[e.promiseId]<"u"&&m0.call(this,e)},30)},gi=function(e,t,r,n,i){let s={channel:Ce,keyPrefix:this.keyPrefix,func:e,promiseId:t,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):m0.call(this,s)},y0=function(e,t){if(!t||t.channel!==Ce||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let r;switch(t.func){case"consume":r=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":r=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":r=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":r=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":r=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":r=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}r&&r.then(n=>{d0(e,t,"resolve",n)}).catch(n=>{d0(e,t,"reject",n)})},yv=function(e){if(!e||e.channel!==Ce||e.keyPrefix!==this.keyPrefix)return!1;if(this._promises[e.promiseId]){clearTimeout(this._promises[e.promiseId].timeoutId);let t;switch(e.data===null||e.data===!0||e.data===!1?t=e.data:t=new mv(e.data.remainingPoints,e.data.msBeforeNext,e.data.consumedPoints,e.data.isFirstInDuration),e.type){case"resolve":this._promises[e.promiseId].resolve(t);break;case"reject":this._promises[e.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${e.type}'`)}delete this._promises[e.promiseId]}},gv=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},wi=function(e,t){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=dv.randomBytes(12).toString("base64")),this._promises[n]={resolve:e,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},kl=class{constructor(){if(Ei)return Ei;this._rateLimiters={},h0.setMaxListeners(0),h0.on("message",(t,r)=>{r&&r.channel===Ce&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new p0(r.opts)),t.send({channel:Ce,type:"init",keyPrefix:r.opts.keyPrefix})):y0.call(this,t,r)}),Ei=this}},Ol=class{constructor(t){if(Ei)return Ei;this._rateLimiters={},t.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Ce&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new p0(s.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:Ce,channel:Ce,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Ce,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(l,u)=>{l&&console.log(l,u)})}};y0.call(this,o,s)}})}),Ei=this}},Ml=class extends pv{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Ce&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:yv.call(this,r)}),process.send({channel:Ce,type:"init",opts:gv.call(this)}),this._promises={}}consume(t,r=1,n={}){return new Promise((i,s)=>{let o=wi.call(this,i,s);gi.call(this,"consume",o,t,r,n)})}penalty(t,r=1,n={}){return new Promise((i,s)=>{let o=wi.call(this,i,s);gi.call(this,"penalty",o,t,r,n)})}reward(t,r=1,n={}){return new Promise((i,s)=>{let o=wi.call(this,i,s);gi.call(this,"reward",o,t,r,n)})}block(t,r,n={}){return new Promise((i,s)=>{let o=wi.call(this,i,s);gi.call(this,"block",o,t,r,n)})}get(t,r={}){return new Promise((n,i)=>{let s=wi.call(this,n,i);gi.call(this,"get",s,t,r)})}delete(t,r={}){return new Promise((n,i)=>{let s=wi.call(this,n,i);gi.call(this,"delete",s,t,r)})}};g0.exports={RateLimiterClusterMaster:kl,RateLimiterClusterMasterPM2:Ol,RateLimiterCluster:Ml}});var x0=T((D4,E0)=>{var wv=yi(),Ev=ve(),Ul=class extends wv{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,r,n){let i=new Ev;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(t,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),l=Math.floor(n/1e3);i?this.client.set(t,r,l,u=>{u?a(u):this.client.set(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let f={consumedPoints:r,msBeforeNext:l>0?l*1e3:-1};o(f)})}):this.client.incr(t,r,(u,f)=>{u||f===!1?this.client.add(t,r,l,(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(t,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let p={consumedPoints:r,msBeforeNext:l>0?l*1e3:-1};o(p)})}):this.client.get(`${t}_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(t){return new Promise((r,n)=>{let i=Date.now();this.client.get(t,(s,o)=>{o?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let l=c===!1?0:c,u={consumedPoints:o,msBeforeNext:l>=0?Math.max(l-i,0):-1};r(u)}}):r(null)})})}_delete(t){return new Promise((r,n)=>{this.client.del(t,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${t}_expire`,o=>{o?n(o):r(s)})})})}};E0.exports=Ul});var _0=T((B4,b0)=>{var v0=ve();b0.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new v0(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new v0(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(t,r=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,r):(this.runActionAnyway&&this.limiter.consume(t,r).catch(()=>{}),n)}block(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,r):(this.runActionAnyway&&this.limiter.block(t,r).catch(()=>{}),n)}penalty(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,r):(this.runActionAnyway&&this.limiter.penalty(t,r).catch(()=>{}),n)}reward(t,r){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,r):(this.runActionAnyway&&this.limiter.reward(t,r).catch(()=>{}),n)}get(t){let r;return this.isWhiteListedSomewhere(t)?r=this.resolveWhite():this.isBlackListedSomewhere(t)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(t):r}delete(t){return this.limiter.delete(t)}}});var A0=T((N4,S0)=>{var xv=ns();S0.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(r=>{if(!(r instanceof xv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(t,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(l=>{l.rejected===!0&&(c=!0)});for(let l=0;l<o.length;l++)c&&o[l].rejected===!0?a[this._limiters[l].keyPrefix]=o[l].rej:c||(a[this._limiters[l].keyPrefix]=o[l]);c?i(a):n(a)})})}}});var I0=T((O4,R0)=>{R0.exports=class extends Error{constructor(t,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,r&&(this.extra=r)}}});var L0=T((U4,D0)=>{var T0=I0(),C0=4294967295,Fl="limiter";D0.exports=class{constructor(t,r={maxQueueSize:C0}){this._queueLimiters={KEY_DEFAULT:new No(t,r)},this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(t=Fl){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,r=Fl){return this._queueLimiters[r]||(this._queueLimiters[r]=new No(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(t)}};var No=class{constructor(t,r={maxQueueSize:C0,key:Fl}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let r=this;return new Promise((n,i)=>{if(t>r._limiterFlexible.points){i(new T0(`Requested tokens ${t} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,t):r._limiterFlexible.consume(r._key,t).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,t),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(t,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:r,tokens:n}):r(new T0(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let r=t._queue.shift();t._limiterFlexible.consume(t._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(r.reject(n),t._processFIFO.call(t)):(t._queue.unshift(r),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var P0=T((K4,B0)=>{var Kl=ve();B0.exports=class{constructor(t,r){this._rateLimiter=t,this._burstLimiter=r}_combineRes(t,r){return new Kl(t.remainingPoints,Math.min(t.msBeforeNext,r.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,r=1,n={}){return this._rateLimiter.consume(t,r,n).catch(i=>i instanceof Kl?this._burstLimiter.consume(t,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Kl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var k0=T((V4,N0)=>{var vv=Zd(),bv=t0(),_v=r0(),Sv=i0(),{RateLimiterClusterMaster:Av,RateLimiterClusterMasterPM2:Rv,RateLimiterCluster:Iv}=w0(),Tv=Nl(),Cv=x0(),Dv=_0(),Lv=A0(),Bv=L0(),Pv=P0(),Nv=ve();N0.exports={RateLimiterRedis:vv,RateLimiterMongo:bv,RateLimiterMySQL:_v,RateLimiterPostgres:Sv,RateLimiterMemory:Tv,RateLimiterMemcache:Cv,RateLimiterClusterMaster:Av,RateLimiterClusterMasterPM2:Rv,RateLimiterCluster:Iv,RLWrapperBlackAndWhite:Dv,RateLimiterUnion:Lv,RateLimiterQueue:Bv,BurstyRateLimiter:Pv,RateLimiterRes:Nv}});var U0=T((uD,M0)=>{"use strict";function Fv(e){return e>=55296&&e<=56319}function Kv(e){return e>=56320&&e<=57343}M0.exports=function(t,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],Fv(o)&&Kv(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=t(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var K0=T((fD,F0)=>{"use strict";function Vv(e){return e>=55296&&e<=56319}function qv(e){return e>=56320&&e<=57343}F0.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var r=t.length,n=0,i=null,s=null,o=0;o<r;o++)i=t.charCodeAt(o),qv(i)?s!=null&&Vv(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 q0=T((hD,V0)=>{"use strict";var $v=U0(),zv=K0();V0.exports=$v.bind(null,zv)});var H0=T((dD,z0)=>{"use strict";var Hv=q0(),Gv=/[\/\?<>\\:\*\|"]/g,Yv=/[\x00-\x1f\x80-\x9f]/g,Wv=/^\.+$/,Qv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Xv=/[\. ]+$/;function $0(e,t){if(typeof e!="string")throw new Error("Input must be string");var r=e.replace(Gv,t).replace(Yv,t).replace(Wv,t).replace(Qv,t).replace(Xv,t);return Hv(r,255)}z0.exports=function(e,t){var r=t&&t.replacement||"",n=$0(e,r);return r===""?n:$0(n,"")}});var Y0=T((mD,G0)=>{"use strict";G0.exports=Zv;function Zv(e,t){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(u){if(s)if(s=!1,u)c(u);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{e.apply(t||null,r)}catch(l){s&&(s=!1,c(l))}})}});var Z0=T(X0=>{"use strict";var Fo=X0;Fo.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var vi=new Array(64),Q0=new Array(123);for(Ve=0;Ve<64;)Q0[vi[Ve]=Ve<26?Ve+65:Ve<52?Ve+71:Ve<62?Ve-4:Ve-59|43]=Ve++;var Ve;Fo.encode=function(t,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var l=t[r++];switch(a){case 0:s[o++]=vi[l>>2],c=(l&3)<<4,a=1;break;case 1:s[o++]=vi[c|l>>4],c=(l&15)<<2,a=2;break;case 2:s[o++]=vi[c|l>>6],s[o++]=vi[l&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=vi[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 W0="invalid encoding";Fo.decode=function(t,r,n){for(var i=n,s=0,o,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&s>1)break;if((c=Q0[c])===void 0)throw Error(W0);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(W0);return n-i};Fo.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var j0=T((gD,J0)=>{"use strict";J0.exports=Ko;function Ko(){this._listeners={}}Ko.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Ko.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Ko.prototype.emit=function(t){var r=this._listeners[t];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 op=T((wD,sp)=>{"use strict";sp.exports=tp(tp);function tp(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(c,l,u){t[0]=c,l[u]=r[0],l[u+1]=r[1],l[u+2]=r[2],l[u+3]=r[3]}function s(c,l,u){t[0]=c,l[u]=r[3],l[u+1]=r[2],l[u+2]=r[1],l[u+3]=r[0]}e.writeFloatLE=n?i:s,e.writeFloatBE=n?s:i;function o(c,l){return r[0]=c[l],r[1]=c[l+1],r[2]=c[l+2],r[3]=c[l+3],t[0]}function a(c,l){return r[3]=c[l],r[2]=c[l+1],r[1]=c[l+2],r[0]=c[l+3],t[0]}e.readFloatLE=n?o:a,e.readFloatBE=n?a:o}():function(){function t(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),l=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|l)>>>0,s,o)}}e.writeFloatLE=t.bind(null,ep),e.writeFloatBE=t.bind(null,rp);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,l=o&8388607;return c===255?l?NaN:a*(1/0):c===0?a*1401298464324817e-60*l:a*Math.pow(2,c-150)*(l+8388608)}e.readFloatLE=r.bind(null,np),e.readFloatBE=r.bind(null,ip)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(c,l,u){t[0]=c,l[u]=r[0],l[u+1]=r[1],l[u+2]=r[2],l[u+3]=r[3],l[u+4]=r[4],l[u+5]=r[5],l[u+6]=r[6],l[u+7]=r[7]}function s(c,l,u){t[0]=c,l[u]=r[7],l[u+1]=r[6],l[u+2]=r[5],l[u+3]=r[4],l[u+4]=r[3],l[u+5]=r[2],l[u+6]=r[1],l[u+7]=r[0]}e.writeDoubleLE=n?i:s,e.writeDoubleBE=n?s:i;function o(c,l){return r[0]=c[l],r[1]=c[l+1],r[2]=c[l+2],r[3]=c[l+3],r[4]=c[l+4],r[5]=c[l+5],r[6]=c[l+6],r[7]=c[l+7],t[0]}function a(c,l){return r[7]=c[l],r[6]=c[l+1],r[5]=c[l+2],r[4]=c[l+3],r[3]=c[l+4],r[2]=c[l+5],r[1]=c[l+6],r[0]=c[l+7],t[0]}e.readDoubleLE=n?o:a,e.readDoubleBE=n?a:o}():function(){function t(n,i,s,o,a,c){var l=o<0?1:0;if(l&&(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((l<<31|2146435072)>>>0,a,c+s);else{var u;if(o<22250738585072014e-324)u=o/5e-324,n(u>>>0,a,c+i),n((l<<31|u/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),u=o*Math.pow(2,-f),n(u*4503599627370496>>>0,a,c+i),n((l<<31|f+1023<<20|u*1048576&1048575)>>>0,a,c+s)}}}e.writeDoubleLE=t.bind(null,ep,0,4),e.writeDoubleBE=t.bind(null,rp,4,0);function r(n,i,s,o,a){var c=n(o,a+i),l=n(o,a+s),u=(l>>31)*2+1,f=l>>>20&2047,h=4294967296*(l&1048575)+c;return f===2047?h?NaN:u*(1/0):f===0?u*5e-324*h:u*Math.pow(2,f-1075)*(h+4503599627370496)}e.readDoubleLE=r.bind(null,np,0,4),e.readDoubleBE=r.bind(null,ip,4,0)}(),e}function ep(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function rp(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function np(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function ip(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var ap=T((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(e){}return null}});var lp=T(cp=>{"use strict";var $l=cp;$l.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};$l.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=t[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|t[r++]&63:c>239&&c<365?(c=((c&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(t[r++]&63)<<6|t[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))};$l.write=function(t,r,n){for(var i=n,s,o,a=0;a<t.length;++a)s=t.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=t.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 fp=T((xD,up)=>{"use strict";up.exports=Jv;function Jv(e,t,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return e(c);o+c>n&&(s=e(n),o=0);var l=t.call(s,o,o+=c);return o&7&&(o=(o|7)+1),l}}});var dp=T((vD,hp)=>{"use strict";hp.exports=Jt;var ss=In();function Jt(e,t){this.lo=e>>>0,this.hi=t>>>0}var Rn=Jt.zero=new Jt(0,0);Rn.toNumber=function(){return 0};Rn.zzEncode=Rn.zzDecode=function(){return this};Rn.length=function(){return 1};var jv=Jt.zeroHash="\0\0\0\0\0\0\0\0";Jt.fromNumber=function(t){if(t===0)return Rn;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Jt(n,i)};Jt.from=function(t){if(typeof t=="number")return Jt.fromNumber(t);if(ss.isString(t))if(ss.Long)t=ss.Long.fromString(t);else return Jt.fromNumber(parseInt(t,10));return t.low||t.high?new Jt(t.low>>>0,t.high>>>0):Rn};Jt.prototype.toNumber=function(t){if(!t&&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};Jt.prototype.toLong=function(t){return ss.Long?new ss.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var zr=String.prototype.charCodeAt;Jt.fromHash=function(t){return t===jv?Rn:new Jt((zr.call(t,0)|zr.call(t,1)<<8|zr.call(t,2)<<16|zr.call(t,3)<<24)>>>0,(zr.call(t,4)|zr.call(t,5)<<8|zr.call(t,6)<<16|zr.call(t,7)<<24)>>>0)};Jt.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)};Jt.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Jt.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Jt.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var In=T(zl=>{"use strict";var U=zl;U.asPromise=Y0();U.base64=Z0();U.EventEmitter=j0();U.float=op();U.inquire=ap();U.utf8=lp();U.pool=fp();U.LongBits=dp();U.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);U.global=U.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||zl;U.emptyArray=Object.freeze?Object.freeze([]):[];U.emptyObject=Object.freeze?Object.freeze({}):{};U.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};U.isString=function(t){return typeof t=="string"||t instanceof String};U.isObject=function(t){return t&&typeof t=="object"};U.isset=U.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};U.Buffer=function(){try{var e=U.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();U._Buffer_from=null;U._Buffer_allocUnsafe=null;U.newBuffer=function(t){return typeof t=="number"?U.Buffer?U._Buffer_allocUnsafe(t):new U.Array(t):U.Buffer?U._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};U.Array=typeof Uint8Array<"u"?Uint8Array:Array;U.Long=U.global.dcodeIO&&U.global.dcodeIO.Long||U.global.Long||U.inquire("long");U.key2Re=/^true|false|0|1$/;U.key32Re=/^-?(?:0|[1-9][0-9]*)$/;U.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;U.longToHash=function(t){return t?U.LongBits.from(t).toHash():U.LongBits.zeroHash};U.longFromHash=function(t,r){var n=U.LongBits.fromHash(t);return U.Long?U.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function pp(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}U.merge=pp;U.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function mp(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&pp(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}U.newError=mp;U.ProtocolError=mp("ProtocolError");U.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[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]}};U.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};U.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};U._configure=function(){var e=U.Buffer;if(!e){U._Buffer_from=U._Buffer_allocUnsafe=null;return}U._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},U._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var Yl=T((_D,xp)=>{"use strict";xp.exports=Vt;var rr=In(),Gl,wp=rr.LongBits,tb=rr.utf8;function qe(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function Vt(e){this.buf=e,this.pos=0,this.len=e.length}var yp=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Vt(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Vt(t);throw Error("illegal buffer")},Ep=function(){return rr.Buffer?function(r){return(Vt.create=function(i){return rr.Buffer.isBuffer(i)?new Gl(i):yp(i)})(r)}:yp};Vt.create=Ep();Vt.prototype._slice=rr.Array.prototype.subarray||rr.Array.prototype.slice;Vt.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,qe(this,10);return t}}();Vt.prototype.int32=function(){return this.uint32()|0};Vt.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Hl(){var e=new wp(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw qe(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw qe(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}Vt.prototype.bool=function(){return this.uint32()!==0};function Vo(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}Vt.prototype.fixed32=function(){if(this.pos+4>this.len)throw qe(this,4);return Vo(this.buf,this.pos+=4)};Vt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw qe(this,4);return Vo(this.buf,this.pos+=4)|0};function gp(){if(this.pos+8>this.len)throw qe(this,8);return new wp(Vo(this.buf,this.pos+=4),Vo(this.buf,this.pos+=4))}Vt.prototype.float=function(){if(this.pos+4>this.len)throw qe(this,4);var t=rr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Vt.prototype.double=function(){if(this.pos+8>this.len)throw qe(this,4);var t=rr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Vt.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw qe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Vt.prototype.string=function(){var t=this.bytes();return tb.read(t,0,t.length)};Vt.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw qe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw qe(this);while(this.buf[this.pos++]&128);return this};Vt.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this};Vt._configure=function(e){Gl=e,Vt.create=Ep(),Gl._configure();var t=rr.Long?"toLong":"toNumber";rr.merge(Vt.prototype,{int64:function(){return Hl.call(this)[t](!1)},uint64:function(){return Hl.call(this)[t](!0)},sint64:function(){return Hl.call(this).zzDecode()[t](!1)},fixed64:function(){return gp.call(this)[t](!0)},sfixed64:function(){return gp.call(this)[t](!1)}})}});var Sp=T((SD,_p)=>{"use strict";_p.exports=Tn;var bp=Yl();(Tn.prototype=Object.create(bp.prototype)).constructor=Tn;var vp=In();function Tn(e){bp.call(this,e)}Tn._configure=function(){vp.Buffer&&(Tn.prototype._slice=vp.Buffer.prototype.slice)};Tn.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Tn._configure()});var tu=T((AD,Tp)=>{"use strict";Tp.exports=it;var De=In(),Wl,qo=De.LongBits,Ap=De.base64,Rp=De.utf8;function os(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Xl(){}function eb(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function it(){this.len=0,this.head=new os(Xl,0,0),this.tail=this.head,this.states=null}var Ip=function(){return De.Buffer?function(){return(it.create=function(){return new Wl})()}:function(){return new it}};it.create=Ip();it.alloc=function(t){return new De.Array(t)};De.Array!==Array&&(it.alloc=De.pool(it.alloc,De.Array.prototype.subarray));it.prototype._push=function(t,r,n){return this.tail=this.tail.next=new os(t,r,n),this.len+=r,this};function Zl(e,t,r){t[r]=e&255}function rb(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function Jl(e,t){this.len=e,this.next=void 0,this.val=t}Jl.prototype=Object.create(os.prototype);Jl.prototype.fn=rb;it.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Jl((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};it.prototype.int32=function(t){return t<0?this._push(jl,10,qo.fromNumber(t)):this.uint32(t)};it.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function jl(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}it.prototype.uint64=function(t){var r=qo.from(t);return this._push(jl,r.length(),r)};it.prototype.int64=it.prototype.uint64;it.prototype.sint64=function(t){var r=qo.from(t).zzEncode();return this._push(jl,r.length(),r)};it.prototype.bool=function(t){return this._push(Zl,1,t?1:0)};function Ql(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}it.prototype.fixed32=function(t){return this._push(Ql,4,t>>>0)};it.prototype.sfixed32=it.prototype.fixed32;it.prototype.fixed64=function(t){var r=qo.from(t);return this._push(Ql,4,r.lo)._push(Ql,4,r.hi)};it.prototype.sfixed64=it.prototype.fixed64;it.prototype.float=function(t){return this._push(De.float.writeFloatLE,4,t)};it.prototype.double=function(t){return this._push(De.float.writeDoubleLE,8,t)};var nb=De.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};it.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(Zl,1,0);if(De.isString(t)){var n=it.alloc(r=Ap.length(t));Ap.decode(t,n,0),t=n}return this.uint32(r)._push(nb,r,t)};it.prototype.string=function(t){var r=Rp.length(t);return r?this.uint32(r)._push(Rp.write,r,t):this._push(Zl,1,0)};it.prototype.fork=function(){return this.states=new eb(this),this.head=this.tail=new os(Xl,0,0),this.len=0,this};it.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 os(Xl,0,0),this.len=0),this};it.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};it.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};it._configure=function(e){Wl=e,it.create=Ip(),Wl._configure()}});var Lp=T((RD,Dp)=>{"use strict";Dp.exports=nr;var Cp=tu();(nr.prototype=Object.create(Cp.prototype)).constructor=nr;var Hr=In();function nr(){Cp.call(this)}nr._configure=function(){nr.alloc=Hr._Buffer_allocUnsafe,nr.writeBytesBuffer=Hr.Buffer&&Hr.Buffer.prototype instanceof Uint8Array&&Hr.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};nr.prototype.bytes=function(t){Hr.isString(t)&&(t=Hr._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(nr.writeBytesBuffer,r,t),this};function ib(e,t,r){e.length<40?Hr.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}nr.prototype.string=function(t){var r=Hr.Buffer.byteLength(t);return this.uint32(r),r&&this._push(ib,r,t),this};nr._configure()});var ft=T((zD,Op)=>{Op.exports={options:{usePureJavaScript:!1}}});var Fp=T((HD,Up)=>{var ou={};Up.exports=ou;var Mp={};ou.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=cb(e,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,l=e[i];c<a.length;++c)l+=a[c]<<8,a[c]=l%s,l=l/s|0;for(;l>0;)a.push(l%s),l=l/s|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var u=new RegExp(".{1,"+r+"}","g");n=n.match(u).join(`\r
|
|
25
|
+
`)}return n};ou.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Mp[t];if(!r){r=Mp[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,l=a;c<o.length;++c)l+=o[c]*i,o[c]=l&255,l>>=8;for(;l>0;)o.push(l&255),l>>=8}for(var u=0;e[u]===s&&u<e.length-1;++u)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function cb(e,t){var r=0,n=t.length,i=t.charAt(0),s=[0];for(r=0;r<e.length();++r){for(var o=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=t[s[r]];return c}});var qt=T((GD,$p)=>{var Kp=ft(),Vp=Fp(),E=$p.exports=Kp.util=Kp.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){E.nextTick=process.nextTick,typeof setImmediate=="function"?E.setImmediate=setImmediate:E.setImmediate=E.nextTick;return}if(typeof setImmediate=="function"){E.setImmediate=function(){return setImmediate.apply(void 0,arguments)},E.nextTick=function(a){return setImmediate(a)};return}if(E.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var l=t.slice();t.length=0,l.forEach(function(u){u()})}};var o=a,e="forge.setImmediate",t=[];E.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(l){l()})}).observe(i,{attributes:!0});var s=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}E.nextTick=E.setImmediate})();E.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;E.globalScope=function(){return E.isNodejs?globalThis:typeof self>"u"?window:self}();E.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};E.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};E.isArrayBufferView=function(e){return e&&E.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function as(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}E.ByteBuffer=au;function au(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(E.isArrayBuffer(e)||E.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof au||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}E.ByteStringBuffer=au;var lb=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>lb&&(this.data.substr(0,1),this._constructedStringLength=0)};E.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};E.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};E.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};E.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};E.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};E.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(E.encodeUtf8(e))};E.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};E.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};E.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};E.ByteStringBuffer.prototype.putInt=function(e,t){as(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};E.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};E.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};E.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};E.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};E.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};E.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};E.ByteStringBuffer.prototype.getInt=function(e){as(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};E.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};E.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};E.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};E.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};E.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var e=E.createBuffer(this.data);return e.read=this.read,e};E.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};E.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};E.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};E.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function ub(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=E.isArrayBuffer(e),n=E.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}E.DataBuffer=ub;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};E.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};E.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};E.DataBuffer.prototype.putBytes=function(e,t){if(E.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(E.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof E.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&E.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof E.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.hex.decode(e,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.base64.decode(e,s,this.write),this;if(t==="utf8"&&(e=E.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(e.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};E.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};E.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};E.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};E.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};E.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};E.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};E.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(e,t){as(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};E.DataBuffer.prototype.putSignedInt=function(e,t){return as(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};E.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};E.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};E.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};E.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};E.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};E.DataBuffer.prototype.getInt=function(e){as(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};E.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};E.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};E.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};E.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};E.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};E.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};E.DataBuffer.prototype.copy=function(){return new E.DataBuffer(this)};E.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};E.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};E.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return E.binary.raw.encode(t);if(e==="hex")return E.binary.hex.encode(t);if(e==="base64")return E.binary.base64.encode(t);if(e==="utf8")return E.text.utf8.decode(t);if(e==="utf16")return E.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};E.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=E.encodeUtf8(e)),new E.ByteBuffer(e)};E.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};E.xorBytes=function(e,t,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};E.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};E.bytesToHex=function(e){return E.createBuffer(e).toHex()};E.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Yr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Wr=[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],qp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.encode64=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.length;)i=e.charCodeAt(a++),s=e.charCodeAt(a++),o=e.charCodeAt(a++),r+=Yr.charAt(i>>2),r+=Yr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Yr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Yr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
26
|
+
`,r=r.substr(t));return n+=r,n};E.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,s,o=0;o<e.length;)r=Wr[e.charCodeAt(o++)-43],n=Wr[e.charCodeAt(o++)-43],i=Wr[e.charCodeAt(o++)-43],s=Wr[e.charCodeAt(o++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t};E.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};E.decodeUtf8=function(e){return decodeURIComponent(escape(e))};E.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Vp.encode,decode:Vp.decode}};E.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};E.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};E.binary.hex.encode=E.bytesToHex;E.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,s=r;for(e.length&1&&(i=1,n[s++]=parseInt(e[0],16));i<e.length;i+=2)n[s++]=parseInt(e.substr(i,2),16);return t?s-r:n};E.binary.base64.encode=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.byteLength;)i=e[a++],s=e[a++],o=e[a++],r+=Yr.charAt(i>>2),r+=Yr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Yr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Yr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
27
|
+
`,r=r.substr(t));return n+=r,n};E.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,l=r;c<e.length;)i=Wr[e.charCodeAt(c++)-43],s=Wr[e.charCodeAt(c++)-43],o=Wr[e.charCodeAt(c++)-43],a=Wr[e.charCodeAt(c++)-43],n[l++]=i<<2|s>>4,o!==64&&(n[l++]=(s&15)<<4|o>>2,a!==64&&(n[l++]=(o&3)<<6|a));return t?l-r:n.subarray(0,l)};E.binary.base58.encode=function(e,t){return E.binary.baseN.encode(e,qp,t)};E.binary.base58.decode=function(e,t){return E.binary.baseN.decode(e,qp,t)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(e,t,r){e=E.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};E.text.utf8.decode=function(e){return E.decodeUtf8(String.fromCharCode.apply(null,e))};E.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<e.length;++a)i[o++]=e.charCodeAt(a),s+=2;return t?s-r:n};E.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};E.deflate=function(e,t,r){if(t=E.decode64(e.deflate(E.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};E.inflate=function(e,t,r){var n=e.inflate(E.encode64(t)).rval;return n===null?null:E.decode64(n)};var cu=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=E.encode64(JSON.stringify(r)),n=e.setItem(t,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}},lu=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(E.decode64(r))),r},fb=function(e,t,r,n){var i=lu(e,t);i===null&&(i={}),i[r]=n,cu(e,t,i)},hb=function(e,t,r){var n=lu(e,t);return n!==null&&(n=r in n?n[r]:null),n},db=function(e,t,r){var n=lu(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),cu(e,t,n)}},pb=function(e,t){cu(e,t,null)},Ho=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};E.setItem=function(e,t,r,n,i){Ho(fb,arguments,i)};E.getItem=function(e,t,r,n){return Ho(hb,arguments,n)};E.removeItem=function(e,t,r,n){Ho(db,arguments,n)};E.clearItems=function(e,t,r){Ho(pb,arguments,r)};E.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};E.format=function(e){for(var t=/%./g,r,n,i=0,s=[],o=0;r=t.exec(e);){n=e.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.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(e.substring(o)),s.join("")};E.formatNumber=function(e,t,r,n){var i=e,s=isNaN(t=Math.abs(t))?2:t,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",u=l.length>3?l.length%3:0;return c+(u?l.substr(0,u)+a:"")+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-l).toFixed(s).slice(2):"")};E.formatSize=function(e){return e>=1073741824?e=E.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=E.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=E.formatNumber(e/1024,0)+" KiB":e=E.formatNumber(e,0)+" bytes",e};E.bytesFromIP=function(e){return e.indexOf(".")!==-1?E.bytesFromIPv4(e):e.indexOf(":")!==-1?E.bytesFromIPv6(e):null};E.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=E.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};E.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(o){return o.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=E.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=E.hexToBytes(e[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};E.bytesToIP=function(e){return e.length===4?E.bytesToIPv4(e):e.length===16?E.bytesToIPv6(e):null};E.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};E.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var s=E.bytesToHex(e[i]+e[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=t.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))}t.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};E.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in E&&!e.update)return t(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,t(null,E.cores);if(typeof Worker>"u")return E.cores=1,t(null,E.cores);if(typeof Blob>"u")return E.cores=2,t(null,E.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 l=Math.floor(o.reduce(function(u,f){return u+f},0)/o.length);return E.cores=Math.max(1,l),URL.revokeObjectURL(r),t(null,E.cores)}i(c,function(u,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],l=[],u=0;u<o;++u){var f=new Worker(r);f.addEventListener("message",function(h){if(l.push(h.data),l.length===o){for(var d=0;d<o;++d)c[d].terminate();a(null,l)}}),c.push(f)}for(var u=0;u<o;++u)c[u].postMessage(u)}function s(o,a){for(var c=[],l=0;l<o;++l)for(var u=a[l],f=c[l]=[],h=0;h<o;++h)if(l!==h){var d=a[h];(u.st>d.st&&u.st<d.et||d.st>u.st&&d.st<u.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Go=T((YD,zp)=>{var cs=ft();cs.pki=cs.pki||{};var uu=zp.exports=cs.pki.oids=cs.oids=cs.oids||{};function I(e,t){uu[e]=t,uu[t]=e}function ut(e,t){uu[e]=t}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");ut("2.5.29.1","authorityKeyIdentifier");ut("2.5.29.2","keyAttributes");ut("2.5.29.3","certificatePolicies");ut("2.5.29.4","keyUsageRestriction");ut("2.5.29.5","policyMapping");ut("2.5.29.6","subtreesConstraint");ut("2.5.29.7","subjectAltName");ut("2.5.29.8","issuerAltName");ut("2.5.29.9","subjectDirectoryAttributes");ut("2.5.29.10","basicConstraints");ut("2.5.29.11","nameConstraints");ut("2.5.29.12","policyConstraints");ut("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ut("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ut("2.5.29.20","cRLNumber");ut("2.5.29.21","cRLReason");ut("2.5.29.22","expirationDate");ut("2.5.29.23","instructionCode");ut("2.5.29.24","invalidityDate");ut("2.5.29.25","cRLDistributionPoints");ut("2.5.29.26","issuingDistributionPoint");ut("2.5.29.27","deltaCRLIndicator");ut("2.5.29.28","issuingDistributionPoint");ut("2.5.29.29","certificateIssuer");ut("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ut("2.5.29.33","policyMappings");ut("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ut("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ut("2.5.29.46","freshestCRL");ut("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 us=T((WD,Gp)=>{var At=ft();qt();Go();var L=Gp.exports=At.asn1=At.asn1||{};L.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};L.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};L.create=function(e,t,r,n,i){if(At.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:e,type:t,constructed:r,composed:r||At.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(e,t){var r;if(At.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(L.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:L.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};L.equals=function(e,t,r){if(At.util.isArray(e)){if(!At.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!L.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&L.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};L.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function ls(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var mb=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;ls(e,t,s),n=e.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=At.util.createBuffer(e));var r=e.length(),n=Yo(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function Yo(e,t,r,n){var i;ls(e,t,2);var s=e.getByte();t--;var o=s&192,a=s&31;i=e.length();var c=mb(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var l=new Error("Too few bytes to read ASN.1 value.");throw l.available=e.length(),l.remaining=t,l.requested=c,l}c=t}var u,f,h=(s&32)===32;if(h)if(u=[],c===void 0)for(;;){if(ls(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),u.push(Yo(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),u.push(Yo(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(u===void 0&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=e.bytes(c)),u===void 0&&n.decodeBitStrings&&o===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var d=e.read,p=t,m=0;if(a===L.Type.BITSTRING&&(ls(e,t,1),m=e.getByte(),t--),m===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},g=Yo(e,t,r+1,y),x=i-e.length();t-=x,a==L.Type.BITSTRING&&x++;var _=g.tagClass;x===c&&(_===L.Class.UNIVERSAL||_===L.Class.CONTEXT_SPECIFIC)&&(u=[g])}catch{}u===void 0&&(e.read=d,t=p)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===L.Type.BMPSTRING)for(u="";c>0;c-=2)ls(e,t,2),u+=String.fromCharCode(e.getInt16()),t-=2;else u=e.getBytes(c),t-=c}var O=f===void 0?null:{bitStringContents:f};return L.create(o,a,h,u,O)}L.toDer=function(e){var t=At.util.createBuffer(),r=e.tagClass|e.type,n=At.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=L.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var s=0;s<e.value.length;++s)e.value[s]!==void 0&&n.putBuffer(L.toDer(e.value[s]))}else if(e.type===L.Type.BMPSTRING)for(var s=0;s<e.value.length;++s)n.putInt16(e.value.charCodeAt(s));else e.type===L.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};L.oidToDer=function(e){var t=e.split("."),r=At.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[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};L.derToOid=function(e){var t;typeof e=="string"&&(e=At.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};L.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),s=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),l=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),l+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,0),l&&(c=e.charAt(l),c==="+"||c==="-")){var u=parseInt(e.substr(l+1,2),10),f=parseInt(e.substr(l+4,2),10),h=u*60+f;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};L.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,l=0,u=!1;e.charAt(e.length-1)==="Z"&&(u=!0);var f=e.length-5,h=e.charAt(f);if(h==="+"||h==="-"){var d=parseInt(e.substr(f+1,2),10),p=parseInt(e.substr(f+4,2),10);l=d*60+p,l*=6e4,h==="+"&&(l*=-1),u=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),u?(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+l)):(t.setFullYear(r,n,i),t.setHours(s,o,a,c)),t};L.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};L.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};L.integerToDer=function(e){var t=At.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};L.derToInteger=function(e){typeof e=="string"&&(e=At.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};L.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&At.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,e.value[s]&&(i=L.validate(e.value[s],t.value[o],r,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Hp=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
28
|
+
`);for(var i="",s=0;s<t*r;++s)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case L.Class.UNIVERSAL:n+="Universal:";break;case L.Class.APPLICATION:n+="Application:";break;case L.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case L.Class.PRIVATE:n+="Private:";break}if(e.tagClass===L.Class.UNIVERSAL)switch(n+=e.type,e.type){case L.Type.NONE:n+=" (None)";break;case L.Type.BOOLEAN:n+=" (Boolean)";break;case L.Type.INTEGER:n+=" (Integer)";break;case L.Type.BITSTRING:n+=" (Bit string)";break;case L.Type.OCTETSTRING:n+=" (Octet string)";break;case L.Type.NULL:n+=" (Null)";break;case L.Type.OID:n+=" (Object Identifier)";break;case L.Type.ODESC:n+=" (Object Descriptor)";break;case L.Type.EXTERNAL:n+=" (External or Instance of)";break;case L.Type.REAL:n+=" (Real)";break;case L.Type.ENUMERATED:n+=" (Enumerated)";break;case L.Type.EMBEDDED:n+=" (Embedded PDV)";break;case L.Type.UTF8:n+=" (UTF8)";break;case L.Type.ROID:n+=" (Relative Object Identifier)";break;case L.Type.SEQUENCE:n+=" (Sequence)";break;case L.Type.SET:n+=" (Set)";break;case L.Type.PRINTABLESTRING:n+=" (Printable String)";break;case L.Type.IA5String:n+=" (IA5String (ASCII))";break;case L.Type.UTCTIME:n+=" (UTC time)";break;case L.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case L.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
|
|
29
29
|
`,n+=i+"Constructed: "+e.constructed+`
|
|
30
|
-
`,e.composed){for(var o=0,a="",s=0;s<e.value.length;++s)e.value[s]!==void 0&&(o+=1,a+=B.prettyPrint(e.value[s],t+1,r),s+1<e.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",e.type===B.Type.OID){var c=B.derToOid(e.value);n+=c,St.pki&&St.pki.oids&&c in St.pki.oids&&(n+=" ("+St.pki.oids[c]+") ")}if(e.type===B.Type.INTEGER)try{n+=B.derToInteger(e.value)}catch{n+="0x"+St.util.bytesToHex(e.value)}else if(e.type===B.Type.BITSTRING){if(e.value.length>1?n+="0x"+St.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var l=e.value.charCodeAt(0);l==1?n+=" (1 unused bit shown)":l>1&&(n+=" ("+l+" unused bits shown)")}}else if(e.type===B.Type.OCTETSTRING)Op.test(e.value)||(n+="("+e.value+") "),n+="0x"+St.util.bytesToHex(e.value);else if(e.type===B.Type.UTF8)try{n+=St.util.decodeUtf8(e.value)}catch(u){if(u.message==="URI malformed")n+="0x"+St.util.bytesToHex(e.value)+" (malformed UTF8)";else throw u}else e.type===B.Type.PRINTABLESTRING||e.type===B.Type.IA5String?n+=e.value:Op.test(e.value)?n+="0x"+St.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var au=T((A8,Up)=>{var jt=ft();qt();Up.exports=jt.cipher=jt.cipher||{};jt.cipher.algorithms=jt.cipher.algorithms||{};jt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=jt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new jt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};jt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=jt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new jt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};jt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),jt.cipher.algorithms[e]=t};jt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in jt.cipher.algorithms?jt.cipher.algorithms[e]:null};var ou=jt.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};ou.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=jt.util.createBuffer(),this.output=e.output||jt.util.createBuffer(),this.mode.start(t)};ou.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ou.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var lu=T((R8,Fp)=>{var te=ft();qt();te.cipher=te.cipher||{};var Q=Fp.exports=te.cipher.modes=te.cipher.modes||{};Q.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.ecb.prototype.start=function(e){};Q.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};Q.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Q.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Ho(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Q.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};Q.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Q.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};Q.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Q.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};Q.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ho(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};Q.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ho(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb.prototype.decrypt=Q.ofb.prototype.encrypt;Q.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};Q.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ho(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Go(this._inBlock)};Q.ctr.prototype.decrypt=Q.ctr.prototype.encrypt;Q.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Q.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=te.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=te.util.createBuffer(e.additionalData):r=te.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=te.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(cu(n*8)))}this._inBlock=this._j0.slice(0),Go(this._inBlock),this._partialBytes=0,r=te.util.createBuffer(r),this._aDataLength=cu(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()])};Q.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Go(this._inBlock)};Q.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Go(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Q.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=te.util.createBuffer();var n=this._aDataLength.concat(cu(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Q.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=e[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};Q.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};Q.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,s=this._m[r][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};Q.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};Q.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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,l=(n-1-o%n)*t;a[c]=1<<t-1<<l,s[o]=this.generateSubHashTable(this.multiply(a,e),t)}return s};Q.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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 l=i[s^n];i[s]=[e[0]^l[0],e[1]^l[1],e[2]^l[2],e[3]^l[3]]}return i};function Ho(e,t){if(typeof e=="string"&&(e=te.util.createBuffer(e)),te.util.isArray(e)&&e.length>4){var r=e;e=te.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!te.util.isArray(e)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(e.getInt32());e=i}return e}function Go(e){e[e.length-1]=e[e.length-1]+1&4294967295}function cu(e){return[e/4294967296|0,e&4294967295]}});var Wo=T((I8,$p)=>{var vt=ft();au();lu();qt();$p.exports=vt.aes=vt.aes||{};vt.aes.startEncrypting=function(e,t,r,n){var i=Yo({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};vt.aes.createEncryptionCipher=function(e,t){return Yo({key:e,output:null,decrypt:!1,mode:t})};vt.aes.startDecrypting=function(e,t,r,n){var i=Yo({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};vt.aes.createDecryptionCipher=function(e,t){return Yo({key:e,output:null,decrypt:!0,mode:t})};vt.aes.Algorithm=function(e,t){hu||Vp();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return fu(r._w,n,i,!1)},decrypt:function(n,i){return fu(r._w,n,i,!0)}}}),r._init=!1};vt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=vt.util.createBuffer(t);else if(vt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=vt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!vt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!vt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=qp(t,e.decrypt&&!o),this._init=!0}};vt.aes._expandKey=function(e,t){return hu||Vp(),qp(e,t)};vt.aes._updateBlock=fu;_i("AES-ECB",vt.cipher.modes.ecb);_i("AES-CBC",vt.cipher.modes.cbc);_i("AES-CFB",vt.cipher.modes.cfb);_i("AES-OFB",vt.cipher.modes.ofb);_i("AES-CTR",vt.cipher.modes.ctr);_i("AES-GCM",vt.cipher.modes.gcm);function _i(e,t){var r=function(){return new vt.aes.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var hu=!1,bi=4,ce,uu,Kp,Cn,Ve;function Vp(){hu=!0,Kp=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;ce=new Array(256),uu=new Array(256),Cn=new Array(4),Ve=new Array(4);for(var t=0;t<4;++t)Cn[t]=new Array(256),Ve[t]=new Array(256);for(var r=0,n=0,i,s,o,a,c,l,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ce[r]=a,uu[a]=r,c=e[a],i=e[r],s=e[i],o=e[s],l=c<<24^a<<16^a<<8^(a^c),u=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Cn[f][r]=l,Ve[f][a]=u,l=l<<24|l>>>8,u=u<<24|u>>>8;r===0?r=n=1:(r=i^e[e[e[i^o]]],n^=e[e[n]])}}function qp(e,t){for(var r=e.slice(0),n,i=1,s=r.length,o=s+6+1,a=bi*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=ce[n>>>16&255]<<24^ce[n>>>8&255]<<16^ce[n&255]<<8^ce[n>>>24]^Kp[i]<<24,i++):s>6&&c%s===4&&(n=ce[n>>>24]<<24^ce[n>>>16&255]<<16^ce[n>>>8&255]<<8^ce[n&255]),r[c]=r[c-s]^n;if(t){var l,u=Ve[0],f=Ve[1],h=Ve[2],d=Ve[3],p=r.slice(0);a=r.length;for(var c=0,m=a-bi;c<a;c+=bi,m-=bi)if(c===0||c===a-bi)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<bi;++y)l=r[m+y],p[c+(3&-y)]=u[ce[l>>>24]]^f[ce[l>>>16&255]]^h[ce[l>>>8&255]]^d[ce[l&255]];r=p}return r}function fu(e,t,r,n){var i=e.length/4-1,s,o,a,c,l;n?(s=Ve[0],o=Ve[1],a=Ve[2],c=Ve[3],l=uu):(s=Cn[0],o=Cn[1],a=Cn[2],c=Cn[3],l=ce);var u,f,h,d,p,m,y;u=t[0]^e[0],f=t[n?3:1]^e[1],h=t[2]^e[2],d=t[n?1:3]^e[3];for(var g=3,x=1;x<i;++x)p=s[u>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^e[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[u&255]^e[++g],y=s[h>>>24]^o[d>>>16&255]^a[u>>>8&255]^c[f&255]^e[++g],d=s[d>>>24]^o[u>>>16&255]^a[f>>>8&255]^c[h&255]^e[++g],u=p,f=m,h=y;r[0]=l[u>>>24]<<24^l[f>>>16&255]<<16^l[h>>>8&255]<<8^l[d&255]^e[++g],r[n?3:1]=l[f>>>24]<<24^l[h>>>16&255]<<16^l[d>>>8&255]<<8^l[u&255]^e[++g],r[2]=l[h>>>24]<<24^l[d>>>16&255]<<16^l[u>>>8&255]<<8^l[f&255]^e[++g],r[n?1:3]=l[d>>>24]<<24^l[u>>>16&255]<<16^l[f>>>8&255]<<8^l[h&255]^e[++g]}function Yo(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof vt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Gp=T((T8,Hp)=>{var Ct=ft();au();lu();qt();Hp.exports=Ct.des=Ct.des||{};Ct.des.startEncrypting=function(e,t,r,n){var i=Qo({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createEncryptionCipher=function(e,t){return Qo({key:e,output:null,decrypt:!1,mode:t})};Ct.des.startDecrypting=function(e,t,r,n){var i=Qo({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createDecryptionCipher=function(e,t){return Qo({key:e,output:null,decrypt:!0,mode:t})};Ct.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return zp(r._keys,n,i,!1)},decrypt:function(n,i){return zp(r._keys,n,i,!0)}}}),r._init=!1};Ct.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Ct.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=l2(t),this._init=!0}};ir("DES-ECB",Ct.cipher.modes.ecb);ir("DES-CBC",Ct.cipher.modes.cbc);ir("DES-CFB",Ct.cipher.modes.cfb);ir("DES-OFB",Ct.cipher.modes.ofb);ir("DES-CTR",Ct.cipher.modes.ctr);ir("3DES-ECB",Ct.cipher.modes.ecb);ir("3DES-CBC",Ct.cipher.modes.cbc);ir("3DES-CFB",Ct.cipher.modes.cfb);ir("3DES-OFB",Ct.cipher.modes.ofb);ir("3DES-CTR",Ct.cipher.modes.ctr);function ir(e,t){var r=function(){return new Ct.des.Algorithm(e,t)};Ct.cipher.registerAlgorithm(e,r)}var e2=[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],r2=[-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],n2=[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],i2=[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],s2=[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],o2=[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],a2=[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],c2=[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 l2(e){for(var t=[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],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[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=e.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,_,O=0;O<m;O++){var C=e.getInt32(),D=e.getInt32();_=(C>>>4^D)&252645135,D^=_,C^=_<<4,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>2^D)&858993459,D^=_,C^=_<<2,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=(D>>>8^C)&16711935,C^=_,D^=_<<8,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=C<<8|D>>>20&240,C=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=_;for(var X=0;X<g.length;++X){g[X]?(C=C<<2|C>>>26,D=D<<2|D>>>26):(C=C<<1|C>>>27,D=D<<1|D>>>27),C&=-15,D&=-15;var J=t[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],Xt=c[D>>>28]|l[D>>>24&15]|u[D>>>20&15]|f[D>>>16&15]|h[D>>>12&15]|d[D>>>8&15]|p[D>>>4&15];_=(Xt>>>16^J)&65535,y[x++]=J^_,y[x++]=Xt^_<<16}}return y}function zp(e,t,r,n){var i=e.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=t[0],c=t[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 l=0;l<i;l+=3){for(var u=s[l+1],f=s[l+2],h=s[l];h!=u;h+=f){var d=c^e[h],p=(c>>>4|c<<28)^e[h+1];o=a,a=c,c=o^(r2[d>>>24&63]|i2[d>>>16&63]|o2[d>>>8&63]|c2[d&63]|e2[p>>>24&63]|n2[p>>>16&63]|s2[p>>>8&63]|a2[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 Qo(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Ct.cipher.createDecipher(r,e.key):n=Ct.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Ct.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Dn=T((C8,Yp)=>{var Xo=ft();Yp.exports=Xo.md=Xo.md||{};Xo.md.algorithms=Xo.md.algorithms||{}});var Qp=T((D8,Wp)=>{var Ar=ft();Dn();qt();var u2=Wp.exports=Ar.hmac=Ar.hmac||{};u2.create=function(){var e=null,t=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 Ar.md.algorithms)t=Ar.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=e;else{if(typeof o=="string")o=Ar.util.createBuffer(o);else if(Ar.util.isArray(o)){var a=o;o=Ar.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var l=o.length();l>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),r=Ar.util.createBuffer(),n=Ar.util.createBuffer(),l=o.length();for(var c=0;c<l;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(l<t.blockLength)for(var a=t.blockLength-l,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=o,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var du=T((B8,Xp)=>{var le=ft();Qp();Dn();qt();var f2=le.pkcs5=le.pkcs5||{},Rr;le.util.isNodejs&&!le.options.usePureJavaScript&&(Rr=An());Xp.exports=le.pbkdf2=f2.pbkdf2=function(e,t,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),le.util.isNodejs&&!le.options.usePureJavaScript&&Rr.pbkdf2&&(i===null||typeof i!="object")&&(Rr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),s?Rr.pbkdf2Sync.length===4?Rr.pbkdf2(e,t,r,n,function(_,O){if(_)return s(_);s(null,O.toString("binary"))}):Rr.pbkdf2(e,t,r,n,i,function(_,O){if(_)return s(_);s(null,O.toString("binary"))}):Rr.pbkdf2Sync.length===4?Rr.pbkdf2Sync(e,t,r,n).toString("binary"):Rr.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in le.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=le.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),l=n-(c-1)*o,u=le.hmac.create();u.start(i,e);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){u.start(null,null),u.update(t),u.update(le.util.int32ToBytes(m)),h=p=u.digest().getBytes();for(var y=2;y<=r;++y)u.start(null,null),u.update(p),d=u.digest().getBytes(),h=le.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,l)}return f}var m=1,y;function g(){if(m>c)return s(null,f);u.start(null,null),u.update(t),u.update(le.util.int32ToBytes(m)),h=p=u.digest().getBytes(),y=2,x()}function x(){if(y<=r)return u.start(null,null),u.update(p),d=u.digest().getBytes(),h=le.util.xorBytes(h,d,o),p=d,++y,le.util.setImmediate(x);f+=m<c?h:h.substr(0,l),++m,g()}g()}});var jp=T((L8,Jp)=>{var Jo=ft();qt();var Zp=Jp.exports=Jo.pem=Jo.pem||{};Zp.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
31
|
-
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=
|
|
32
|
-
`),r+=
|
|
30
|
+
`,e.composed){for(var o=0,a="",s=0;s<e.value.length;++s)e.value[s]!==void 0&&(o+=1,a+=L.prettyPrint(e.value[s],t+1,r),s+1<e.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",e.type===L.Type.OID){var c=L.derToOid(e.value);n+=c,At.pki&&At.pki.oids&&c in At.pki.oids&&(n+=" ("+At.pki.oids[c]+") ")}if(e.type===L.Type.INTEGER)try{n+=L.derToInteger(e.value)}catch{n+="0x"+At.util.bytesToHex(e.value)}else if(e.type===L.Type.BITSTRING){if(e.value.length>1?n+="0x"+At.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var l=e.value.charCodeAt(0);l==1?n+=" (1 unused bit shown)":l>1&&(n+=" ("+l+" unused bits shown)")}}else if(e.type===L.Type.OCTETSTRING)Hp.test(e.value)||(n+="("+e.value+") "),n+="0x"+At.util.bytesToHex(e.value);else if(e.type===L.Type.UTF8)try{n+=At.util.decodeUtf8(e.value)}catch(u){if(u.message==="URI malformed")n+="0x"+At.util.bytesToHex(e.value)+" (malformed UTF8)";else throw u}else e.type===L.Type.PRINTABLESTRING||e.type===L.Type.IA5String?n+=e.value:Hp.test(e.value)?n+="0x"+At.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var hu=T((QD,Yp)=>{var jt=ft();qt();Yp.exports=jt.cipher=jt.cipher||{};jt.cipher.algorithms=jt.cipher.algorithms||{};jt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=jt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new jt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};jt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=jt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new jt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};jt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),jt.cipher.algorithms[e]=t};jt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in jt.cipher.algorithms?jt.cipher.algorithms[e]:null};var fu=jt.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};fu.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=jt.util.createBuffer(),this.output=e.output||jt.util.createBuffer(),this.mode.start(t)};fu.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};fu.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var pu=T((XD,Wp)=>{var te=ft();qt();te.cipher=te.cipher||{};var Q=Wp.exports=te.cipher.modes=te.cipher.modes||{};Q.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.ecb.prototype.start=function(e){};Q.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Q.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};Q.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Q.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Wo(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Q.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};Q.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Q.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};Q.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};Q.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};Q.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Wo(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};Q.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Wo(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb.prototype.decrypt=Q.ofb.prototype.encrypt;Q.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0};Q.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Wo(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Qo(this._inBlock)};Q.ctr.prototype.decrypt=Q.ctr.prototype.encrypt;Q.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=te.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Q.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=te.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=te.util.createBuffer(e.additionalData):r=te.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=te.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(du(n*8)))}this._inBlock=this._j0.slice(0),Qo(this._inBlock),this._partialBytes=0,r=te.util.createBuffer(r),this._aDataLength=du(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()])};Q.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Qo(this._inBlock)};Q.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Qo(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Q.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=te.util.createBuffer();var n=this._aDataLength.concat(du(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Q.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=e[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};Q.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};Q.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,s=this._m[r][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};Q.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};Q.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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,l=(n-1-o%n)*t;a[c]=1<<t-1<<l,s[o]=this.generateSubHashTable(this.multiply(a,e),t)}return s};Q.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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 l=i[s^n];i[s]=[e[0]^l[0],e[1]^l[1],e[2]^l[2],e[3]^l[3]]}return i};function Wo(e,t){if(typeof e=="string"&&(e=te.util.createBuffer(e)),te.util.isArray(e)&&e.length>4){var r=e;e=te.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!te.util.isArray(e)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(e.getInt32());e=i}return e}function Qo(e){e[e.length-1]=e[e.length-1]+1&4294967295}function du(e){return[e/4294967296|0,e&4294967295]}});var Zo=T((ZD,Jp)=>{var vt=ft();hu();pu();qt();Jp.exports=vt.aes=vt.aes||{};vt.aes.startEncrypting=function(e,t,r,n){var i=Xo({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};vt.aes.createEncryptionCipher=function(e,t){return Xo({key:e,output:null,decrypt:!1,mode:t})};vt.aes.startDecrypting=function(e,t,r,n){var i=Xo({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};vt.aes.createDecryptionCipher=function(e,t){return Xo({key:e,output:null,decrypt:!0,mode:t})};vt.aes.Algorithm=function(e,t){gu||Xp();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return yu(r._w,n,i,!1)},decrypt:function(n,i){return yu(r._w,n,i,!0)}}}),r._init=!1};vt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=vt.util.createBuffer(t);else if(vt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=vt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!vt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!vt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Zp(t,e.decrypt&&!o),this._init=!0}};vt.aes._expandKey=function(e,t){return gu||Xp(),Zp(e,t)};vt.aes._updateBlock=yu;Si("AES-ECB",vt.cipher.modes.ecb);Si("AES-CBC",vt.cipher.modes.cbc);Si("AES-CFB",vt.cipher.modes.cfb);Si("AES-OFB",vt.cipher.modes.ofb);Si("AES-CTR",vt.cipher.modes.ctr);Si("AES-GCM",vt.cipher.modes.gcm);function Si(e,t){var r=function(){return new vt.aes.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var gu=!1,_i=4,ce,mu,Qp,Cn,$e;function Xp(){gu=!0,Qp=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;ce=new Array(256),mu=new Array(256),Cn=new Array(4),$e=new Array(4);for(var t=0;t<4;++t)Cn[t]=new Array(256),$e[t]=new Array(256);for(var r=0,n=0,i,s,o,a,c,l,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ce[r]=a,mu[a]=r,c=e[a],i=e[r],s=e[i],o=e[s],l=c<<24^a<<16^a<<8^(a^c),u=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Cn[f][r]=l,$e[f][a]=u,l=l<<24|l>>>8,u=u<<24|u>>>8;r===0?r=n=1:(r=i^e[e[e[i^o]]],n^=e[e[n]])}}function Zp(e,t){for(var r=e.slice(0),n,i=1,s=r.length,o=s+6+1,a=_i*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=ce[n>>>16&255]<<24^ce[n>>>8&255]<<16^ce[n&255]<<8^ce[n>>>24]^Qp[i]<<24,i++):s>6&&c%s===4&&(n=ce[n>>>24]<<24^ce[n>>>16&255]<<16^ce[n>>>8&255]<<8^ce[n&255]),r[c]=r[c-s]^n;if(t){var l,u=$e[0],f=$e[1],h=$e[2],d=$e[3],p=r.slice(0);a=r.length;for(var c=0,m=a-_i;c<a;c+=_i,m-=_i)if(c===0||c===a-_i)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<_i;++y)l=r[m+y],p[c+(3&-y)]=u[ce[l>>>24]]^f[ce[l>>>16&255]]^h[ce[l>>>8&255]]^d[ce[l&255]];r=p}return r}function yu(e,t,r,n){var i=e.length/4-1,s,o,a,c,l;n?(s=$e[0],o=$e[1],a=$e[2],c=$e[3],l=mu):(s=Cn[0],o=Cn[1],a=Cn[2],c=Cn[3],l=ce);var u,f,h,d,p,m,y;u=t[0]^e[0],f=t[n?3:1]^e[1],h=t[2]^e[2],d=t[n?1:3]^e[3];for(var g=3,x=1;x<i;++x)p=s[u>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^e[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[u&255]^e[++g],y=s[h>>>24]^o[d>>>16&255]^a[u>>>8&255]^c[f&255]^e[++g],d=s[d>>>24]^o[u>>>16&255]^a[f>>>8&255]^c[h&255]^e[++g],u=p,f=m,h=y;r[0]=l[u>>>24]<<24^l[f>>>16&255]<<16^l[h>>>8&255]<<8^l[d&255]^e[++g],r[n?3:1]=l[f>>>24]<<24^l[h>>>16&255]<<16^l[d>>>8&255]<<8^l[u&255]^e[++g],r[2]=l[h>>>24]<<24^l[d>>>16&255]<<16^l[u>>>8&255]<<8^l[f&255]^e[++g],r[n?1:3]=l[d>>>24]<<24^l[u>>>16&255]<<16^l[f>>>8&255]<<8^l[h&255]^e[++g]}function Xo(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof vt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var em=T((JD,tm)=>{var Dt=ft();hu();pu();qt();tm.exports=Dt.des=Dt.des||{};Dt.des.startEncrypting=function(e,t,r,n){var i=Jo({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Dt.des.createEncryptionCipher=function(e,t){return Jo({key:e,output:null,decrypt:!1,mode:t})};Dt.des.startDecrypting=function(e,t,r,n){var i=Jo({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Dt.des.createDecryptionCipher=function(e,t){return Jo({key:e,output:null,decrypt:!0,mode:t})};Dt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return jp(r._keys,n,i,!1)},decrypt:function(n,i){return jp(r._keys,n,i,!0)}}}),r._init=!1};Dt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Dt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Sb(t),this._init=!0}};or("DES-ECB",Dt.cipher.modes.ecb);or("DES-CBC",Dt.cipher.modes.cbc);or("DES-CFB",Dt.cipher.modes.cfb);or("DES-OFB",Dt.cipher.modes.ofb);or("DES-CTR",Dt.cipher.modes.ctr);or("3DES-ECB",Dt.cipher.modes.ecb);or("3DES-CBC",Dt.cipher.modes.cbc);or("3DES-CFB",Dt.cipher.modes.cfb);or("3DES-OFB",Dt.cipher.modes.ofb);or("3DES-CTR",Dt.cipher.modes.ctr);function or(e,t){var r=function(){return new Dt.des.Algorithm(e,t)};Dt.cipher.registerAlgorithm(e,r)}var yb=[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],gb=[-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],wb=[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],Eb=[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],xb=[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],vb=[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],bb=[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],_b=[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 Sb(e){for(var t=[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],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[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=e.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,_,O=0;O<m;O++){var C=e.getInt32(),D=e.getInt32();_=(C>>>4^D)&252645135,D^=_,C^=_<<4,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>2^D)&858993459,D^=_,C^=_<<2,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=(D>>>8^C)&16711935,C^=_,D^=_<<8,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=C<<8|D>>>20&240,C=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=_;for(var X=0;X<g.length;++X){g[X]?(C=C<<2|C>>>26,D=D<<2|D>>>26):(C=C<<1|C>>>27,D=D<<1|D>>>27),C&=-15,D&=-15;var J=t[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],Qt=c[D>>>28]|l[D>>>24&15]|u[D>>>20&15]|f[D>>>16&15]|h[D>>>12&15]|d[D>>>8&15]|p[D>>>4&15];_=(Qt>>>16^J)&65535,y[x++]=J^_,y[x++]=Qt^_<<16}}return y}function jp(e,t,r,n){var i=e.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=t[0],c=t[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 l=0;l<i;l+=3){for(var u=s[l+1],f=s[l+2],h=s[l];h!=u;h+=f){var d=c^e[h],p=(c>>>4|c<<28)^e[h+1];o=a,a=c,c=o^(gb[d>>>24&63]|Eb[d>>>16&63]|vb[d>>>8&63]|_b[d&63]|yb[p>>>24&63]|wb[p>>>16&63]|xb[p>>>8&63]|bb[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 Jo(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Dt.cipher.createDecipher(r,e.key):n=Dt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Dt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Dn=T((jD,rm)=>{var jo=ft();rm.exports=jo.md=jo.md||{};jo.md.algorithms=jo.md.algorithms||{}});var im=T((t8,nm)=>{var Rr=ft();Dn();qt();var Ab=nm.exports=Rr.hmac=Rr.hmac||{};Ab.create=function(){var e=null,t=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 Rr.md.algorithms)t=Rr.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=e;else{if(typeof o=="string")o=Rr.util.createBuffer(o);else if(Rr.util.isArray(o)){var a=o;o=Rr.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var l=o.length();l>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),r=Rr.util.createBuffer(),n=Rr.util.createBuffer(),l=o.length();for(var c=0;c<l;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(l<t.blockLength)for(var a=t.blockLength-l,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=o,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var wu=T((e8,sm)=>{var le=ft();im();Dn();qt();var Rb=le.pkcs5=le.pkcs5||{},Ir;le.util.isNodejs&&!le.options.usePureJavaScript&&(Ir=An());sm.exports=le.pbkdf2=Rb.pbkdf2=function(e,t,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),le.util.isNodejs&&!le.options.usePureJavaScript&&Ir.pbkdf2&&(i===null||typeof i!="object")&&(Ir.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),s?Ir.pbkdf2Sync.length===4?Ir.pbkdf2(e,t,r,n,function(_,O){if(_)return s(_);s(null,O.toString("binary"))}):Ir.pbkdf2(e,t,r,n,i,function(_,O){if(_)return s(_);s(null,O.toString("binary"))}):Ir.pbkdf2Sync.length===4?Ir.pbkdf2Sync(e,t,r,n).toString("binary"):Ir.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in le.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=le.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),l=n-(c-1)*o,u=le.hmac.create();u.start(i,e);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){u.start(null,null),u.update(t),u.update(le.util.int32ToBytes(m)),h=p=u.digest().getBytes();for(var y=2;y<=r;++y)u.start(null,null),u.update(p),d=u.digest().getBytes(),h=le.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,l)}return f}var m=1,y;function g(){if(m>c)return s(null,f);u.start(null,null),u.update(t),u.update(le.util.int32ToBytes(m)),h=p=u.digest().getBytes(),y=2,x()}function x(){if(y<=r)return u.start(null,null),u.update(p),d=u.digest().getBytes(),h=le.util.xorBytes(h,d,o),p=d,++y,le.util.setImmediate(x);f+=m<c?h:h.substr(0,l),++m,g()}g()}});var cm=T((r8,am)=>{var ea=ft();qt();var om=am.exports=ea.pem=ea.pem||{};om.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
31
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=ta(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=ta(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=ta(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=ta(e.headers[i]);return e.procType&&(r+=`\r
|
|
32
|
+
`),r+=ea.util.encode64(e.body,t.maxline||64)+`\r
|
|
33
33
|
`,r+="-----END "+e.type+`-----\r
|
|
34
|
-
`,r};
|
|
34
|
+
`,r};om.decode=function(e){for(var t=[],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(e),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ea.util.decode64(s[3])};if(t.push(a),!!s[2]){for(var c=s[2].split(i),l=0;s&&l<c.length;){for(var u=c[l].replace(/\s+$/,""),f=l+1;f<c.length;++f){var h=c[f];if(!/\s/.test(h[0]))break;u+=h,l=f}if(s=u.match(n),s){for(var d={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)d.values.push(Ib(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]}}}++l}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(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function ta(e){for(var t=e.name+": ",r=[],n=function(c,l){return" "+l},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
|
35
35
|
`;for(var s=0,o=-1,i=0;i<t.length;++i,++s)if(s>65&&o!==-1){var a=t[o];a===","?(++o,t=t.substr(0,o)+`\r
|
|
36
36
|
`+t.substr(o)):t=t.substr(0,o)+`\r
|
|
37
|
-
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function h2(e){return e.replace(/^\s+/,"")}});var sm=T((P8,im)=>{var sr=ft();Dn();qt();var em=im.exports=sr.sha256=sr.sha256||{};sr.md.sha256=sr.md.algorithms.sha256=em;em.create=function(){rm||d2();var e=null,t=sr.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 t=sr.util.createBuffer(),e={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=sr.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 t.putBytes(i),tm(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=sr.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(pu.substr(0,n.blockLength-o));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};tm(f,r,i);var h=sr.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 pu=null,rm=!1,nm=null;function d2(){pu=String.fromCharCode(128),pu+=sr.util.fillString(String.fromCharCode(0),64),nm=[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],rm=!0}function tm(e,t,r){for(var n,i,s,o,a,c,l,u,f,h,d,p,m,y,g,x=r.length();x>=64;){for(l=0;l<16;++l)t[l]=r.getInt32();for(;l<64;++l)n=t[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[l-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[l]=n+t[l-7]+i+t[l-16]|0;for(u=e.h0,f=e.h1,h=e.h2,d=e.h3,p=e.h4,m=e.h5,y=e.h6,g=e.h7,l=0;l<64;++l)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&f|h&(u^f),n=g+o+a+nm[l]+t[l],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=u,u=n+i>>>0;e.h0=e.h0+u|0,e.h1=e.h1+f|0,e.h2=e.h2+h|0,e.h3=e.h3+d|0,e.h4=e.h4+p|0,e.h5=e.h5+m|0,e.h6=e.h6+y|0,e.h7=e.h7+g|0,x-=64}}});var am=T((N8,om)=>{var or=ft();qt();var jo=null;or.util.isNodejs&&!or.options.usePureJavaScript&&!process.versions["node-webkit"]&&(jo=An());var p2=om.exports=or.prng=or.prng||{};p2.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(l,u){if(!u)return t.generateSync(l);var f=t.plugin.cipher,h=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed,m=or.util.createBuffer();t.key=null,y();function y(g){if(g)return u(g);if(m.length()>=l)return u(null,m.getBytes(l));if(t.generated>1048575&&(t.key=null),t.key===null)return or.util.nextTick(function(){s(y)});var x=f(t.key,t.seed);t.generated+=x.length,m.putBytes(x),t.key=d(f(t.key,h(t.seed))),t.seed=p(f(t.key,t.seed)),or.util.setImmediate(y)}},t.generateSync=function(l){var u=t.plugin.cipher,f=t.plugin.increment,h=t.plugin.formatKey,d=t.plugin.formatSeed;t.key=null;for(var p=or.util.createBuffer();p.length()<l;){t.generated>1048575&&(t.key=null),t.key===null&&o();var m=u(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=h(u(t.key,f(t.seed))),t.seed=d(u(t.key,t.seed))}return p.getBytes(l)};function s(l){if(t.pools[0].messageLength>=32)return a(),l();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(f,h){if(f)return l(f);t.collect(h),a(),l()})}function o(){if(t.pools[0].messageLength>=32)return a();var l=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(l)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var l=t.plugin.md.create();l.update(t.keyBytes);for(var u=1,f=0;f<32;++f)t.reseeds%u===0&&(l.update(t.pools[f].digest().getBytes()),t.pools[f].start()),u=u<<1;t.keyBytes=l.digest().getBytes(),l.start(),l.update(t.keyBytes);var h=l.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(l){var u=null,f=or.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(u=function(C){return h.getRandomValues(C)});var d=or.util.createBuffer();if(u)for(;d.length()<l;){var p=Math.max(1,Math.min(l-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{u(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()<l)for(var g,x,_,O=Math.floor(Math.random()*65536);d.length()<l;){x=16807*(O&65535),g=16807*(O>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),O=x&4294967295;for(var y=0;y<3;++y)_=O>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(l)}return jo?(t.seedFile=function(l,u){jo.randomBytes(l,function(f,h){if(f)return u(f);u(null,h.toString())})},t.seedFileSync=function(l){return jo.randomBytes(l).toString()}):(t.seedFile=function(l,u){try{u(null,c(l))}catch(f){u(f)}},t.seedFileSync=c),t.collect=function(l){for(var u=l.length,f=0;f<u;++f)t.pools[t.pool].update(l.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(l,u){for(var f="",h=0;h<u;h+=8)f+=String.fromCharCode(l>>h&255);t.collect(f)},t.registerWorker=function(l){if(l===self)t.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 u=function(f){var h=f.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(d,p){l.postMessage({forge:{prng:{err:d,bytes:p}}})})};l.addEventListener("message",u)}},t}});var cs=T((k8,mu)=>{var ee=ft();Wo();sm();am();qt();(function(){if(ee.random&&ee.random.getBytes){mu.exports=ee.random;return}(function(e){var t={},r=new Array(4),n=ee.util.createBuffer();t.formatKey=function(f){var h=ee.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),ee.aes._expandKey(f,!1)},t.formatSeed=function(f){var h=ee.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},t.cipher=function(f,h){return ee.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=ee.md.sha256;function i(){var f=ee.prng.create(t);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=ee.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),ee.options.usePureJavaScript||!ee.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var l="";for(var u in navigator)try{typeof navigator[u]=="string"&&(l+=navigator[u])}catch{}s.collect(l),l=null}e&&(e().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),e().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!ee.random)ee.random=s;else for(var u in s)ee.random[u]=s[u];ee.random.createInstance=i,mu.exports=ee.random})(typeof jQuery<"u"?jQuery:null)})()});var fm=T((O8,um)=>{var he=ft();qt();var yu=[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],cm=[1,2,3,5],m2=function(e,t){return e<<t&65535|(e&65535)>>16-t},y2=function(e,t){return(e&65535)>>t|e<<16-t&65535};um.exports=he.rc2=he.rc2||{};he.rc2.expandKey=function(e,t){typeof e=="string"&&(e=he.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(yu[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,yu[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,yu[r.at(a+1)^r.at(a+s)]);return r};var lm=function(e,t,r){var n=!1,i=null,s=null,o=null,a,c,l,u,f=[];for(e=he.rc2.expandKey(e,t),l=0;l<64;l++)f.push(e.getInt16Le());r?(a=function(p){for(l=0;l<4;l++)p[l]+=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),p[l]=m2(p[l],cm[l]),u++},c=function(p){for(l=0;l<4;l++)p[l]+=f[p[(l+3)%4]&63]}):(a=function(p){for(l=3;l>=0;l--)p[l]=y2(p[l],cm[l]),p[l]-=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),u--},c=function(p){for(l=3;l>=0;l--)p[l]-=f[p[(l+3)%4]&63]});var h=function(p){var m=[];for(l=0;l<4;l++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}u=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(l=0;l<4;l++)o!==null&&(r?o.putInt16Le(m[l]):m[l]^=o.getInt16Le()),s.putInt16Le(m[l])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=he.util.createBuffer(p)),n=!1,i=he.util.createBuffer(),s=m||new he.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};he.rc2.startEncrypting=function(e,t,r){var n=he.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};he.rc2.createEncryptionCipher=function(e,t){return lm(e,t,!0)};he.rc2.startDecrypting=function(e,t,r){var n=he.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};he.rc2.createDecryptionCipher=function(e,t){return lm(e,t,!1)}});var ra=T((M8,Em)=>{var gu=ft();Em.exports=gu.jsbn=gu.jsbn||{};var Ir,g2=0xdeadbeefcafe,hm=(g2&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}gu.jsbn.BigInteger=A;function st(){return new A(null)}function w2(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function E2(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[e]&32767,l=this.data[e++]>>15,u=a*c+l*o;c=o*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*l+(i>>>30),r.data[n++]=c&1073741823}return i}function dm(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[e]&16383,l=this.data[e++]>>14,u=a*c+l*o;c=o*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*l,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=dm,Ir=28):hm&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=E2,Ir=30):hm&&navigator.appName!="Netscape"?(A.prototype.am=w2,Ir=26):(A.prototype.am=dm,Ir=28);A.prototype.DB=Ir;A.prototype.DM=(1<<Ir)-1;A.prototype.DV=1<<Ir;var wu=52;A.prototype.FV=Math.pow(2,wu);A.prototype.F1=wu-Ir;A.prototype.F2=2*Ir-wu;var x2="0123456789abcdefghijklmnopqrstuvwxyz",ta=new Array,Si,Le;Si="0".charCodeAt(0);for(Le=0;Le<=9;++Le)ta[Si++]=Le;Si="a".charCodeAt(0);for(Le=10;Le<36;++Le)ta[Si++]=Le;Si="A".charCodeAt(0);for(Le=10;Le<36;++Le)ta[Si++]=Le;function pm(e){return x2.charAt(e)}function mm(e,t){var r=ta[e.charCodeAt(t)];return r??-1}function v2(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function b2(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Qr(e){var t=st();return t.fromInt(e),t}function _2(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:mm(e,n);if(o<0){e.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&&e[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&A.ZERO.subTo(this,this)}function S2(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function A2(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=pm(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=pm(n));return i?s:"0"}function R2(){var e=st();return A.ZERO.subTo(this,e),e}function I2(){return this.s<0?this.negate():this}function T2(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function ea(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function C2(){return this.t<=0?0:this.DB*(this.t-1)+ea(this.data[this.t-1]^this.s&this.DM)}function D2(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function B2(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function L2(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function P2(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function N2(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function k2(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function O2(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function M2(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=st());var s=st(),o=this.s,a=e.s,c=this.DB-ea(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var l=s.t,u=s.data[l-1];if(u!=0){var f=u*(1<<this.F1)+(l>1?s.data[l-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-l,g=t??st();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.ONE.dlShiftTo(l,g),g.subTo(s,s);s.t<l;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==u?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,l))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}t!=null&&(r.drShiftTo(l,t),o!=a&&A.ZERO.subTo(t,t)),r.t=l,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&A.ZERO.subTo(r,r)}}}function U2(e){var t=st();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function Bn(e){this.m=e}function F2(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function K2(e){return e}function V2(e){e.divRemTo(this.m,null,e)}function q2(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function $2(e,t){e.squareTo(t),this.reduce(t)}Bn.prototype.convert=F2;Bn.prototype.revert=K2;Bn.prototype.reduce=V2;Bn.prototype.mulTo=q2;Bn.prototype.sqrTo=$2;function z2(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Ln(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function H2(e){var t=st();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function G2(e){var t=st();return e.copyTo(t),this.reduce(t),t}function Y2(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function W2(e,t){e.squareTo(t),this.reduce(t)}function Q2(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Ln.prototype.convert=H2;Ln.prototype.revert=G2;Ln.prototype.reduce=Y2;Ln.prototype.mulTo=Q2;Ln.prototype.sqrTo=W2;function X2(){return(this.t>0?this.data[0]&1:this.s)==0}function Z2(e,t){if(e>4294967295||e<1)return A.ONE;var r=st(),n=st(),i=t.convert(this),s=ea(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function J2(e,t){var r;return e<256||t.isEven()?r=new Bn(t):r=new Ln(t),this.exp(e,r)}A.prototype.copyTo=v2;A.prototype.fromInt=b2;A.prototype.fromString=_2;A.prototype.clamp=S2;A.prototype.dlShiftTo=D2;A.prototype.drShiftTo=B2;A.prototype.lShiftTo=L2;A.prototype.rShiftTo=P2;A.prototype.subTo=N2;A.prototype.multiplyTo=k2;A.prototype.squareTo=O2;A.prototype.divRemTo=M2;A.prototype.invDigit=z2;A.prototype.isEven=X2;A.prototype.exp=Z2;A.prototype.toString=A2;A.prototype.negate=R2;A.prototype.abs=I2;A.prototype.compareTo=T2;A.prototype.bitLength=C2;A.prototype.mod=U2;A.prototype.modPowInt=J2;A.ZERO=Qr(0);A.ONE=Qr(1);function j2(){var e=st();return this.copyTo(e),e}function tb(){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 eb(){return this.t==0?this.s:this.data[0]<<24>>24}function rb(){return this.t==0?this.s:this.data[0]<<16>>16}function nb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function ib(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function sb(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Qr(r),i=st(),s=st(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function ob(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var c=mm(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&A.ZERO.subTo(this,this)}function ab(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),Eu,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function cb(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function lb(e){return this.compareTo(e)==0}function ub(e){return this.compareTo(e)<0?this:e}function fb(e){return this.compareTo(e)>0?this:e}function hb(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function db(e,t){return e&t}function pb(e){var t=st();return this.bitwiseTo(e,db,t),t}function Eu(e,t){return e|t}function mb(e){var t=st();return this.bitwiseTo(e,Eu,t),t}function ym(e,t){return e^t}function yb(e){var t=st();return this.bitwiseTo(e,ym,t),t}function gm(e,t){return e&~t}function gb(e){var t=st();return this.bitwiseTo(e,gm,t),t}function wb(){for(var e=st(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Eb(e){var t=st();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function xb(e){var t=st();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function vb(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function bb(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+vb(this.data[e]);return this.s<0?this.t*this.DB:-1}function _b(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Sb(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=_b(this.data[r]^t);return e}function Ab(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Rb(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Ib(e){return this.changeBit(e,Eu)}function Tb(e){return this.changeBit(e,gm)}function Cb(e){return this.changeBit(e,ym)}function Db(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Bb(e){var t=st();return this.addTo(e,t),t}function Lb(e){var t=st();return this.subTo(e,t),t}function Pb(e){var t=st();return this.multiplyTo(e,t),t}function Nb(e){var t=st();return this.divRemTo(e,t,null),t}function kb(e){var t=st();return this.divRemTo(e,null,t),t}function Ob(e){var t=st(),r=st();return this.divRemTo(e,t,r),new Array(t,r)}function Mb(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Ub(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function ls(){}function wm(e){return e}function Fb(e,t,r){e.multiplyTo(t,r)}function Kb(e,t){e.squareTo(t)}ls.prototype.convert=wm;ls.prototype.revert=wm;ls.prototype.mulTo=Fb;ls.prototype.sqrTo=Kb;function Vb(e){return this.exp(e,new ls)}function qb(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function $b(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Ai(e){this.r2=st(),this.q3=st(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function zb(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=st();return e.copyTo(t),this.reduce(t),t}function Hb(e){return e}function Gb(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Yb(e,t){e.squareTo(t),this.reduce(t)}function Wb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Ai.prototype.convert=zb;Ai.prototype.revert=Hb;Ai.prototype.reduce=Gb;Ai.prototype.mulTo=Wb;Ai.prototype.sqrTo=Yb;function Qb(e,t){var r=e.bitLength(),n,i=Qr(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 Bn(t):t.isEven()?s=new Ai(t):s=new Ln(t);var o=new Array,a=3,c=n-1,l=(1<<n)-1;if(o[1]=s.convert(this),n>1){var u=st();for(s.sqrTo(o[1],u);a<=l;)o[a]=st(),s.mulTo(u,o[a-2],o[a]),a+=2}var f=e.t-1,h,d=!0,p=st(),m;for(r=ea(e.data[f])-1;f>=0;){for(r>=c?h=e.data[f]>>r-c&l:(h=(e.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=e.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&&!(e.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 Xb(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Zb(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function Jb(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=Qr(1),s=Qr(0),o=Qr(0),a=Qr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var qe=[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],jb=(1<<26)/qe[qe.length-1];function t_(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=qe[qe.length-1]){for(t=0;t<qe.length;++t)if(r.data[0]==qe[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<qe.length;){for(var n=qe[t],i=t+1;i<qe.length&&n<jb;)n*=qe[i++];for(n=r.modInt(n);t<i;)if(n%qe[t++]==0)return!1}return r.millerRabin(e)}function e_(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=r_(),s,o=0;o<e;++o){do s=new A(this.bitLength(),i);while(s.compareTo(A.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function r_(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=nb;A.prototype.toRadix=sb;A.prototype.fromRadix=ob;A.prototype.fromNumber=ab;A.prototype.bitwiseTo=hb;A.prototype.changeBit=Rb;A.prototype.addTo=Db;A.prototype.dMultiply=Mb;A.prototype.dAddOffset=Ub;A.prototype.multiplyLowerTo=qb;A.prototype.multiplyUpperTo=$b;A.prototype.modInt=Zb;A.prototype.millerRabin=e_;A.prototype.clone=j2;A.prototype.intValue=tb;A.prototype.byteValue=eb;A.prototype.shortValue=rb;A.prototype.signum=ib;A.prototype.toByteArray=cb;A.prototype.equals=lb;A.prototype.min=ub;A.prototype.max=fb;A.prototype.and=pb;A.prototype.or=mb;A.prototype.xor=yb;A.prototype.andNot=gb;A.prototype.not=wb;A.prototype.shiftLeft=Eb;A.prototype.shiftRight=xb;A.prototype.getLowestSetBit=bb;A.prototype.bitCount=Sb;A.prototype.testBit=Ab;A.prototype.setBit=Ib;A.prototype.clearBit=Tb;A.prototype.flipBit=Cb;A.prototype.add=Bb;A.prototype.subtract=Lb;A.prototype.multiply=Pb;A.prototype.divide=Nb;A.prototype.remainder=kb;A.prototype.divideAndRemainder=Ob;A.prototype.modPow=Qb;A.prototype.modInverse=Jb;A.prototype.pow=Vb;A.prototype.gcd=Xb;A.prototype.isProbablePrime=t_});var Sm=T((U8,_m)=>{var ar=ft();Dn();qt();var vm=_m.exports=ar.sha1=ar.sha1||{};ar.md.sha1=ar.md.algorithms.sha1=vm;vm.create=function(){bm||n_();var e=null,t=ar.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 t=ar.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=ar.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 t.putBytes(i),xm(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ar.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(xu.substr(0,n.blockLength-o));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};xm(f,r,i);var h=ar.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 xu=null,bm=!1;function n_(){xu=String.fromCharCode(128),xu+=ar.util.fillString(String.fromCharCode(0),64),bm=!0}function xm(e,t,r){for(var n,i,s,o,a,c,l,u,f=r.length();f>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,l=a^s&(o^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=a^s&(o^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s&o|a&(s^o),n=(i<<5|i>>>27)+l+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,f-=64}}});var Im=T((F8,Rm)=>{var cr=ft();qt();cs();Sm();var Am=Rm.exports=cr.pkcs1=cr.pkcs1||{};Am.encode_rsa_oaep=function(e,t,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=cr.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),c=a-2*s.digestLength-2;if(t.length>c){var l=new Error("RSAES-OAEP input message length is too long.");throw l.length=t.length,l.maxLength=c,l}n||(n=""),s.update(n,"raw");for(var u=s.digest(),f="",h=c-t.length,d=0;d<h;d++)f+="\0";var p=u.getBytes()+f+""+t;if(!i)i=cr.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var l=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=i.length,l.digestLength=s.digestLength,l}var m=na(i,a-s.digestLength-1,o),y=cr.util.xorBytes(p,m,p.length),g=na(y,s.digestLength,o),x=cr.util.xorBytes(i,g,i.length);return"\0"+x+y};Am.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=o,y}if(i===void 0?i=cr.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=t.charAt(0),l=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),f=na(u,i.digestLength,s),h=cr.util.xorBytes(l,f,l.length),d=na(h,o-i.digestLength-1,s),p=cr.util.xorBytes(u,d,u.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,O=i.digestLength;O<p.length;O++){var C=p.charCodeAt(O),D=C&1^1,X=x?65534:0;y|=C&X,x=x&D,_+=x}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function na(e,t,r){r||(r=cr.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var Tm=T((K8,vu)=>{var Xr=ft();qt();ra();cs();(function(){if(Xr.prime){vu.exports=Xr.prime;return}var e=vu.exports=Xr.prime=Xr.prime||{},t=Xr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,h){return f|h};e.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||Xr.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=l(f,h),y=0,g=u(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=l(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-x<y);Xr.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=l(f,h),y=d.workers,g=d.workLoad||100,x=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return Xr.util.estimateCores(function(C,D){C&&(D=2),y=D-1,O()});O();function O(){y=Math.max(1,y);for(var C=[],D=0;D<y;++D)C[D]=new Worker(_);for(var X=y,D=0;D<y;++D)C[D].addEventListener("message",Xt);var J=!1;function Xt(Me){if(!J){--X;var we=Me.data;if(we.found){for(var ae=0;ae<C.length;++ae)C[ae].terminate();return J=!0,p(null,new t(we.prime,16))}m.bitLength()>f&&(m=l(f,h));var Xn=m.toString(16);Me.target.postMessage({hex:Xn,workLoad:g}),m.dAddOffset(x,0)}}}}function l(f,h){var d=new t(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(t.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function u(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 sa=T((V8,km)=>{var K=ft();as();ra();$o();Im();Tm();cs();qt();typeof et>"u"&&(et=K.jsbn.BigInteger);var et,bu=K.util.isNodejs?An():null,v=K.asn1,Pe=K.util;K.pki=K.pki||{};km.exports=K.pki.rsa=K.rsa=K.rsa||{};var q=K.pki,i_=[6,4,2,4,2,4,6,2],s_={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"}]},o_={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"}]},a_={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"}]},c_=K.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"}]}]},l_={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"}]},u_=function(e){var t;if(e.algorithm in q.oids)t=q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=v.oidToDer(t).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,e.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},Pm=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(et.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(et.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new et(K.util.bytesToHex(K.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(et.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};q.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Nm(e,t,r)):(i=K.util.createBuffer(),i.putBytes(e));for(var o=new et(i.toHex(),16),a=Pm(o,t,n),c=a.toString(16),l=K.util.createBuffer(),u=s-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(K.util.hexToBytes(c)),l.getBytes()};q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new et(K.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Pm(o,t,r),c=a.toString(16),l=K.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(K.util.hexToBytes(c)),n!==!1?ia(l.getBytes(),t,r):l.getBytes()};q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||K.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),l=0;l<a.length;++l)a[l]=c.charCodeAt(l)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:e,rng:i,eInt:t||65537,e:new et(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new et(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,l=c-1;e.pqState===0?(e.num=new et(c,e.rng),e.num.testBit(l)||e.num.bitwiseTo(et.ONE.shiftLeft(l),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(h_(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(i_[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(et.ONE).gcd(e.e).compareTo(et.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(et.ONE),e.q1=e.q.subtract(et.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(et.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var u=e.e.modInverse(e.phi);e.keys={privateKey:q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:q.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!K.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Cm("generateKeyPair"))return bu.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,l){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(l),publicKey:q.publicKeyFromPem(c)})});if(Dm("generateKey")&&Dm("exportKey"))return Pe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Lm(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Pe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(v.fromDer(K.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(Bm("generateKey")&&Bm("exportKey")){var i=Pe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Lm(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,l=Pe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);l.oncomplete=function(u){var f=u.target.result,h=q.privateKeyFromAsn1(v.fromDer(K.util.createBuffer(f)));n(null,{privateKey:h,publicKey:q.setRsaPublicKey(h.n,h.e)})},l.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(Cm("generateKeyPairSync")){var s=bu.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(s.privateKey),publicKey:q.publicKeyFromPem(s.publicKey)}}}var o=q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return q.rsa.stepKeyPairGenerationState(o,0),o.keys;f_(o,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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,l){return Nm(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return K.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 q.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,l){l=ia(l,r,!0);var u=v.fromDer(l,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(u,l_,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===K.oids.md2||p===K.oids.md5||p===K.oids.sha1||p===K.oids.sha224||p===K.oids.sha256||p===K.oids.sha384||p===K.oids.sha512||p===K.oids["sha512-224"]||p===K.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===K.oids.md2||p===K.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,l){return l=ia(l,r,!0),c===l}});var a=q.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var c={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(l,u,f){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var h=q.rsa.decrypt(l,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:ia};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(d,p){return K.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(h,c,!1)},c.sign=function(l,u){var f=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:u_},f=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return l}},f=1);var h=u.encode(l,c.n.bitLength());return q.rsa.encrypt(h,c,f)},c};q.wrapRsaPrivateKey=function(e){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(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(e).getBytes())])};q.privateKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,s_,t,r)&&(e=v.fromDer(K.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,o_,t,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,l,u,f;return i=K.util.createBuffer(t.privateKeyModulus).toHex(),s=K.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=K.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=K.util.createBuffer(t.privateKeyPrime1).toHex(),c=K.util.createBuffer(t.privateKeyPrime2).toHex(),l=K.util.createBuffer(t.privateKeyExponent1).toHex(),u=K.util.createBuffer(t.privateKeyExponent2).toHex(),f=K.util.createBuffer(t.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new et(i,16),new et(s,16),new et(o,16),new et(a,16),new et(c,16),new et(l,16),new et(u,16),new et(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(e){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,lr(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.qInv))])};q.publicKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,c_,t,r)){var n=v.derToOid(t.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!v.validate(e,a_,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=K.util.createBuffer(t.publicKeyModulus).toHex(),o=K.util.createBuffer(t.publicKeyExponent).toHex();return q.setRsaPublicKey(new et(s,16),new et(o,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(e){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(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(e)])])};q.publicKeyToRSAPublicKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,lr(e.e))])};function Nm(e,t,r){var n=K.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.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 l=0,u=K.random.getBytes(o),c=0;c<o;++c)a=u.charCodeAt(c),a===0?++l:n.putByte(a);o=l}return n.putByte(0),n.putBytes(e),n}function ia(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=K.util.createBuffer(e),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 l=0;l<c;++l)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 u=s.getByte();if(u!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function f_(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,c){K.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var l=e.p;e.p=e.q,e.q=l}if(e.p.subtract(et.ONE).gcd(e.e).compareTo(et.ONE)!==0){e.p=null,i();return}if(e.q.subtract(et.ONE).gcd(e.e).compareTo(et.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(et.ONE),e.q1=e.q.subtract(et.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(et.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var u=e.e.modInverse(e.phi);e.keys={privateKey:q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function lr(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=K.util.hexToBytes(t);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 h_(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Cm(e){return K.util.isNodejs&&typeof bu[e]=="function"}function Dm(e){return typeof Pe.globalScope<"u"&&typeof Pe.globalScope.crypto=="object"&&typeof Pe.globalScope.crypto.subtle=="object"&&typeof Pe.globalScope.crypto.subtle[e]=="function"}function Bm(e){return typeof Pe.globalScope<"u"&&typeof Pe.globalScope.msCrypto=="object"&&typeof Pe.globalScope.msCrypto.subtle=="object"&&typeof Pe.globalScope.msCrypto.subtle[e]=="function"}function Lm(e){for(var t=K.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Vm=T((q8,Km)=>{var L=ft();Wo();as();Gp();Dn();$o();du();jp();cs();fm();sa();qt();typeof Om>"u"&&(Om=L.jsbn.BigInteger);var Om,b=L.asn1,H=L.pki=L.pki||{};Km.exports=H.pbe=L.pbe=L.pbe||{};var Pn=H.oids,d_={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"}]},p_={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"}]}]},m_={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"}]};H.encryptPrivateKeyInfo=function(e,t,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=L.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var l,u,f;switch(r.algorithm){case"aes128":o=16,l=16,u=Pn["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":o=24,l=16,u=Pn["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":o=32,l=16,u=Pn["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":o=8,l=8,u=Pn.desCBC,f=L.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=Fm(d),m=L.pkcs5.pbkdf2(t,n,i,o,p),y=L.random.getBytesSync(l),g=f(m);g.start(y),g.update(b.toDer(e)),g.finish(),c=g.output.getBytes();var x=y_(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(Pn.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(Pn.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(u).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new L.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(t,_,1,i,o),y=H.pbe.generatePkcs12Key(t,_,2,i,o),g=L.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(e)),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(Pn["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 O=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return O};H.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,d_,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=H.pbe.getCipher(o,n.encryptionParams,t),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};H.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(e).getBytes()};return L.pem.encode(r,{maxline:t})};H.encryptedPrivateKeyFromPem=function(e){var t=L.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(t.body)};H.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(e));return n=H.encryptPrivateKeyInfo(n,t,r),H.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=L.random.getBytesSync(8),a=L.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 l=L.pbe.opensslDeriveBytes(t,s.substr(0,8),o),u=a(l);u.start(s),u.update(b.toDer(H.privateKeyToAsn1(e))),u.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(s).toUpperCase()},body:u.output.getBytes()};return L.pem.encode(f)};H.decryptRsaPrivateKey=function(e,t){var r=null,n=L.pem.decode(e)[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=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=L.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=L.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=L.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return L.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=L.util.hexToBytes(n.dekInfo.parameters),c=L.pbe.opensslDeriveBytes(t,a.substr(0,8),s),l=o(c);if(l.start(a),l.update(L.util.createBuffer(n.body)),l.finish())r=l.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=H.decryptPrivateKeyInfo(b.fromDer(r),t):r=b.fromDer(r),r!==null&&(r=H.privateKeyFromAsn1(r)),r};H.pbe.generatePkcs12Key=function(e,t,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');s=L.md.sha1.create()}var c=s.digestLength,l=s.blockLength,u=new L.util.ByteBuffer,f=new L.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)f.putInt16(e.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=t.length(),p=new L.util.ByteBuffer;p.fillWithByte(r,l);var m=l*Math.ceil(d/l),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%d));var g=l*Math.ceil(h/l),x=new L.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var _=y;_.putBuffer(x);for(var O=Math.ceil(i/c),C=1;C<=O;C++){var D=new L.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(_.bytes());for(var X=0;X<n;X++)s.start(),s.update(D.getBytes()),D=s.digest();var J=new L.util.ByteBuffer;for(a=0;a<l;a++)J.putByte(D.at(a%c));var Xt=Math.ceil(d/l)+Math.ceil(h/l),Me=new L.util.ByteBuffer;for(o=0;o<Xt;o++){var we=new L.util.ByteBuffer(_.getBytes(l)),ae=511;for(a=J.length()-1;a>=0;a--)ae=ae>>8,ae+=J.at(a)+we.at(a),we.setAt(a,ae&255);Me.putBuffer(we)}_=Me,u.putBuffer(D)}return u.truncate(u.length()-i),u};H.pbe.getCipher=function(e,t,r){switch(e){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(e,t,r);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};H.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!b.validate(t,p_,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(e=b.derToOid(n.kdfOid),e!==H.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=b.derToOid(n.encOid),e!==H.oids["aes128-CBC"]&&e!==H.oids["aes192-CBC"]&&e!==H.oids["aes256-CBC"]&&e!==H.oids["des-EDE3-CBC"]&&e!==H.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,l;switch(H.oids[e]){case"aes128-CBC":c=16,l=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,l=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,l=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,l=L.des.createDecryptionCipher;break;case"desCBC":c=8,l=L.des.createDecryptionCipher;break}var u=Um(n.prfOid),f=L.pkcs5.pbkdf2(r,o,a,c,u),h=n.encIv,d=l(f);return d.start(h),d};H.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!b.validate(t,m_,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=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,l,u;switch(e){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,l=8,u=L.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,l=8,u=function(m,y){var g=L.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=e,s}var f=Um(n.prfOid),h=H.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=H.pbe.generatePkcs12Key(r,o,2,a,l,f);return u(h,d)};H.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in L.md))throw new Error('"md5" hash algorithm unavailable.');n=L.md.md5.create()}t===null&&(t="");for(var i=[Mm(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(Mm(n,i[o-1]+e+t));return i.join("").substr(0,r)};function Mm(e,t){return e.start().update(t).digest().getBytes()}function Um(e){var t;if(!e)t="hmacWithSHA1";else if(t=H.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Fm(t)}function Fm(e){var t=L.md;switch(e){case"hmacWithSHA224":t=L.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function y_(e,t,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,L.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(H.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Zm=T((vD,Xm)=>{var At=ft();Dn();qt();var us=Xm.exports=At.sha512=At.sha512||{};At.md.sha512=At.md.algorithms.sha512=us;var Wm=At.sha384=At.sha512.sha384=At.sha512.sha384||{};Wm.create=function(){return us.create("SHA-384")};At.md.sha384=At.md.algorithms.sha384=Wm;At.sha512.sha256=At.sha512.sha256||{create:function(){return us.create("SHA-512/256")}};At.md["sha512/256"]=At.md.algorithms["sha512/256"]=At.sha512.sha256;At.sha512.sha224=At.sha512.sha224||{create:function(){return us.create("SHA-512/224")}};At.md["sha512/224"]=At.md.algorithms["sha512/224"]=At.sha512.sha224;us.create=function(e){if(Qm||E_(),typeof e>"u"&&(e="SHA-512"),!(e in Nn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Nn[e],r=null,n=At.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.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,l=0;l<c;++l)a.fullMessageLength.push(0);n=At.util.createBuffer(),r=new Array(t.length);for(var l=0;l<t.length;++l)r[l]=t[l].slice(0);return a},a.start(),a.update=function(c,l){l==="utf8"&&(c=At.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=u[1],u[1]=u[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),Ym(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=At.util.createBuffer();c.putBytes(n.bytes());var l=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=l&a.blockLength-1;c.putBytes(_u.substr(0,a.blockLength-u));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);Ym(m,i,c);var y=At.util.createBuffer(),g;e==="SHA-512"?g=m.length:e==="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||e!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var _u=null,Qm=!1,Su=null,Nn=null;function E_(){_u=String.fromCharCode(128),_u+=At.util.fillString(String.fromCharCode(0),128),Su=[[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]],Nn={},Nn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Nn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Nn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Nn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Qm=!0}function Ym(e,t,r){for(var n,i,s,o,a,c,l,u,f,h,d,p,m,y,g,x,_,O,C,D,X,J,Xt,Me,we,ae,Xn,Zs,zt,fe,V,Ec,xc,vc,bc,Gf=r.length();Gf>=128;){for(zt=0;zt<16;++zt)t[zt][0]=r.getInt32()>>>0,t[zt][1]=r.getInt32()>>>0;for(;zt<80;++zt)Ec=t[zt-2],fe=Ec[0],V=Ec[1],n=((fe>>>19|V<<13)^(V>>>29|fe<<3)^fe>>>6)>>>0,i=((fe<<13|V>>>19)^(V<<3|fe>>>29)^(fe<<26|V>>>6))>>>0,vc=t[zt-15],fe=vc[0],V=vc[1],s=((fe>>>1|V<<31)^(fe>>>8|V<<24)^fe>>>7)>>>0,o=((fe<<31|V>>>1)^(fe<<24|V>>>8)^(fe<<25|V>>>7))>>>0,xc=t[zt-7],bc=t[zt-16],V=i+xc[1]+o+bc[1],t[zt][0]=n+xc[0]+s+bc[0]+(V/4294967296>>>0)>>>0,t[zt][1]=V>>>0;for(m=e[0][0],y=e[0][1],g=e[1][0],x=e[1][1],_=e[2][0],O=e[2][1],C=e[3][0],D=e[3][1],X=e[4][0],J=e[4][1],Xt=e[5][0],Me=e[5][1],we=e[6][0],ae=e[6][1],Xn=e[7][0],Zs=e[7][1],zt=0;zt<80;++zt)l=((X>>>14|J<<18)^(X>>>18|J<<14)^(J>>>9|X<<23))>>>0,u=((X<<18|J>>>14)^(X<<14|J>>>18)^(J<<23|X>>>9))>>>0,f=(we^X&(Xt^we))>>>0,h=(ae^J&(Me^ae))>>>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|O&(y^x))>>>0,V=Zs+u+h+Su[zt][1]+t[zt][1],n=Xn+l+f+Su[zt][0]+t[zt][0]+(V/4294967296>>>0)>>>0,i=V>>>0,V=c+p,s=a+d+(V/4294967296>>>0)>>>0,o=V>>>0,Xn=we,Zs=ae,we=Xt,ae=Me,Xt=X,Me=J,V=D+i,X=C+n+(V/4294967296>>>0)>>>0,J=V>>>0,C=_,D=O,_=g,O=x,g=m,x=y,V=i+o,m=n+s+(V/4294967296>>>0)>>>0,y=V>>>0;V=e[0][1]+y,e[0][0]=e[0][0]+m+(V/4294967296>>>0)>>>0,e[0][1]=V>>>0,V=e[1][1]+x,e[1][0]=e[1][0]+g+(V/4294967296>>>0)>>>0,e[1][1]=V>>>0,V=e[2][1]+O,e[2][0]=e[2][0]+_+(V/4294967296>>>0)>>>0,e[2][1]=V>>>0,V=e[3][1]+D,e[3][0]=e[3][0]+C+(V/4294967296>>>0)>>>0,e[3][1]=V>>>0,V=e[4][1]+J,e[4][0]=e[4][0]+X+(V/4294967296>>>0)>>>0,e[4][1]=V>>>0,V=e[5][1]+Me,e[5][0]=e[5][0]+Xt+(V/4294967296>>>0)>>>0,e[5][1]=V>>>0,V=e[6][1]+ae,e[6][0]=e[6][0]+we+(V/4294967296>>>0)>>>0,e[6][1]=V>>>0,V=e[7][1]+Zs,e[7][0]=e[7][0]+Xn+(V/4294967296>>>0)>>>0,e[7][1]=V>>>0,Gf-=128}}});var Bg=T((W3,Dg)=>{function zS(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}Dg.exports=zS});var Ug=T(Vs=>{(function(){var e,t,r,n,i,s,o,a;a=function(c){var l,u,f,h;return l=(c&255<<24)>>>24,u=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[l,u,f,h].join(".")},o=function(c){var l,u,f,h,d,p;for(l=[],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=t(c),d=p[0],u=p[1],c=c.substring(u),l.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),t=function(c){var l,u,f,h,d;for(h=0,l=10,u="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,l=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,l=8,u="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=u)h=h*l+(r(c[f])-n)>>>0;else if(l===16)if("a"<=c[f]&&c[f]<="f")h=h*l+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*l+(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]},e=function(){function c(l,u){var f,h,d,p;if(typeof l!="string")throw new Error("Missing `net' parameter");if(u||(p=l.split("/",2),l=p[0],u=p[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=o(u)}catch(m){throw f=m,new Error("Invalid mask: "+u)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(u||u===0)this.bitmask=parseInt(u,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(l)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);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(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new c(l)),l instanceof c?this.contains(l.base)&&this.contains(l.broadcast||l.last):(o(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(l){return l==null&&(l=1),new c(a(this.netLong+this.size*l),this.mask)},c.prototype.forEach=function(l){var u,f,h;for(h=o(this.first),f=o(this.last),u=0;h<=f;)l(a(h),h,u),u++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Vs.ip2long=o,Vs.long2ip=a,Vs.Netmask=e}).call(Vs)});var qg=T((Vg,Oa)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"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(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${t}\\.${t}\\.${t}\\.${t}(${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 O=d.split(":"),C=[];for(let D=0;D<O.length;D++)C.push(parseInt(O[D],16));return C}(),{parts:p,zoneId:g}}function l(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 u(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 l(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(u(m));return x}();if(p=d.match(r.longValue)){if(y=u(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=u(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(u(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=u(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(u(g[0])),x.push(u(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 l(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 Oa<"u"&&Oa.exports?Oa.exports=h:e.ipaddr=h})(Vg)});var Zg=T((tk,uf)=>{"use strict";var rA=Object.prototype.hasOwnProperty,ue="~";function $s(){}Object.create&&($s.prototype=Object.create(null),new $s().__proto__||(ue=!1));function nA(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Xg(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new nA(r,n||e,i),o=ue?ue+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],s]:e._events[o].push(s):(e._events[o]=s,e._eventsCount++),e}function Qa(e,t){--e._eventsCount===0?e._events=new $s:delete e._events[t]}function oe(){this._events=new $s,this._eventsCount=0}oe.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)rA.call(r,n)&&t.push(ue?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};oe.prototype.listeners=function(t){var r=ue?ue+t:t,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};oe.prototype.listenerCount=function(t){var r=ue?ue+t:t,n=this._events[r];return n?n.fn?1:n.length:0};oe.prototype.emit=function(t,r,n,i,s,o){var a=ue?ue+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){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,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){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(!u)for(d=1,u=new Array(l-1);d<l;d++)u[d-1]=arguments[d];c[f].fn.apply(c[f].context,u)}}return!0};oe.prototype.on=function(t,r,n){return Xg(this,t,r,n,!1)};oe.prototype.once=function(t,r,n){return Xg(this,t,r,n,!0)};oe.prototype.removeListener=function(t,r,n,i){var s=ue?ue+t:t;if(!this._events[s])return this;if(!r)return Qa(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Qa(this,s);else{for(var a=0,c=[],l=o.length;a<l;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:Qa(this,s)}return this};oe.prototype.removeAllListeners=function(t){var r;return t?(r=ue?ue+t:t,this._events[r]&&Qa(this,r)):(this._events=new $s,this._eventsCount=0),this};oe.prototype.off=oe.prototype.removeListener;oe.prototype.addListener=oe.prototype.on;oe.prefixed=ue;oe.EventEmitter=oe;typeof uf<"u"&&(uf.exports=oe)});var yw=T((E6,mw)=>{"use strict";mw.exports=pw;var uA=_c(),pn=pw.prototype,fA=new Date%1e9;function hA(){return(Math.random()*1e9>>>0)+fA++}function pw(e){e=e||{},this.id=e.id||hA(),this.max=e.max||1/0,this.items=e.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(e.lastModified||new Date);for(var t,r,n=this.items.length;n--;)t=this.items[n],r=new Date(t.expires)-new Date,this._lookup[t.key]=t,r>0?this.expire(t.key,r):r<=0&&this.delete(t.key)}pn.has=function(e){return e in this._lookup};pn.get=function(e){if(!this.has(e))return null;var t=this._lookup[e];return t.refresh&&this.expire(e,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};pn.meta=function(e){if(!this.has(e))return null;var t=this._lookup[e];return"meta"in t?t.meta:null};pn.set=function(e,t,r){var n=this._lookup[e],i=this._lookup[e]={key:e,value:t};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(e,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};pn.delete=function(e){var t=this._lookup[e];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[e],this.size--,this):!1};pn.expire=function(e,t){var r=t||0,n=this._lookup[e];if(!n)return this;if(typeof r=="string"&&(r=uA(t)),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};pn.clear=function(){for(var e=this.items.length;e--;)this.delete(this.items[e].key);return this};pn.toJSON=function(){for(var e=new Array(this.items.length),t,r=e.length;r--;)t=this.items[r],e[r]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:e}}});var qf=T((j6,Vf)=>{function Aw(e){let t=new globalThis.AbortController;function r(){t.abort();for(let n of e)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of e)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return t.signal}Vf.exports=Aw;Vf.exports.anySignal=Aw});var Iw=T((e5,Rw)=>{Rw.exports=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var Dw=T((n5,Cw)=>{var Tw=Iw();Cw.exports=class{constructor(t){this.hwm=t||16,this.head=new Tw(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let r=this.head;this.head=r.next=new Tw(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var Lw=T((i5,Bw)=>{"use strict";var wA=()=>{let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e};Bw.exports=wA});var Ow=T((o5,kw)=>{var Pw=Dw(),Nw=Lw();kw.exports=class{constructor(){this._buffer=new Pw,this._waitingConsumers=new Pw}push(t){let{promise:r,resolve:n}=Nw();return this._buffer.push({chunk:t,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),r=this._buffer.shift();t.resolve(r.chunk),r.resolve()}}shift(){let{promise:t,resolve:r}=Nw();return this._waitingConsumers.push({resolve:r}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var bA={};ne(bA,{createLibp2p:()=>vA});var Te=N(Sc(),1);var Cc={};ne(Cc,{base58btc:()=>Mt,base58flickr:()=>d1});function c1(e,t){if(e.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<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=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)*u+1>>>0,O=new Uint8Array(_);g!==x;){for(var C=p[g],D=0,X=_-1;(C!==0||D<y)&&X!==-1;X--,D++)C+=256*O[X]>>>0,O[X]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=D,g++}for(var J=_-y;J!==_&&O[J]===0;)J++;for(var Xt=c.repeat(m);J<_;++J)Xt+=e.charAt(O[J]);return Xt}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)*l+1>>>0,_=new Uint8Array(x);p[m];){var O=r[p.charCodeAt(m)];if(O===255)return;for(var C=0,D=x-1;(O!==0||C<g)&&D!==-1;D--,C++)O+=a*_[D]>>>0,_[D]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var X=x-g;X!==x&&_[X]===0;)X++;for(var J=new Uint8Array(y+(x-X)),Xt=y;X!==x;)J[Xt++]=_[X++];return J}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var l1=c1,u1=l1,Zf=u1;var IA=new Uint8Array(0);var Jf=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},mr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var jf=e=>new TextEncoder().encode(e),th=e=>new TextDecoder().decode(e);var Ac=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Rc=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return rh(this,t)}},Ic=class{constructor(t){this.decoders=t}or(t){return rh(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},rh=(e,t)=>new Ic({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Tc=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ac(t,r,n),this.decoder=new Rc(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ti=({name:e,prefix:t,encode:r,decode:n})=>new Tc(e,t,r,n),Or=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Zf(r,t);return ti({prefix:e,name:t,encode:n,decode:s=>mr(i(s))})},f1=(e,t,r,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let s=e.length;for(;e[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,l=0;for(let u=0;u<s;++u){let f=i[e[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},h1=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Lt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>ti({prefix:t,name:e,encode(i){return h1(i,n,r)},decode(i){return f1(i,n,r,e)}});var Mt=Or({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),d1=Or({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Dc={};ne(Dc,{base32:()=>xe,base32hex:()=>g1,base32hexpad:()=>E1,base32hexpadupper:()=>x1,base32hexupper:()=>w1,base32pad:()=>m1,base32padupper:()=>y1,base32upper:()=>p1,base32z:()=>v1});var xe=Lt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),p1=Lt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),m1=Lt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),y1=Lt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),g1=Lt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),w1=Lt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),E1=Lt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),x1=Lt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),v1=Lt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bc={};ne(Bc,{base64:()=>yn,base64pad:()=>b1,base64url:()=>_1,base64urlpad:()=>S1});var yn=Lt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),b1=Lt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),_1=Lt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),S1=Lt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Te.default.formatters.b=e=>e==null?"undefined":Mt.baseEncode(e);Te.default.formatters.t=e=>e==null?"undefined":xe.baseEncode(e);Te.default.formatters.m=e=>e==null?"undefined":yn.baseEncode(e);Te.default.formatters.p=e=>e==null?"undefined":e.toString();Te.default.formatters.c=e=>e==null?"undefined":e.toString();Te.default.formatters.k=e=>e==null?"undefined":e.toString();function A1(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function M(e){let t=A1(`${e}:trace`);return Te.default.enabled(`${e}:trace`)&&Te.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,Te.default)(`${e}:trace`)),Object.assign((0,Te.default)(e),{error:(0,Te.default)(`${e}:error`),trace:t})}var gn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},yr,Pt=class extends EventTarget{constructor(){super(...arguments),yr.set(this,new Map)}listenerCount(t){let r=gn(this,yr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=gn(this,yr,"f").get(t);i==null&&(i=[],gn(this,yr,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=gn(this,yr,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),gn(this,yr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=gn(this,yr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),gn(this,yr,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new $(t,r))}};yr=new WeakMap;var Lc=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},$=globalThis.CustomEvent??Lc;function gr(e){return e!=null&&typeof e.start=="function"&&typeof e.stop=="function"}var eo=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();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(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(s*=t,s+=u,s>l||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=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]=t(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]=t(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var nh=45,R1=15,ei=new eo;function Pc(e){if(!(e.length>R1))return ei.new(e).parseWith(()=>ei.readIPv4Addr())}function Nc(e){if(!(e.length>nh))return ei.new(e).parseWith(()=>ei.readIPv6Addr())}function ro(e){if(!(e.length>nh))return ei.new(e).parseWith(()=>ei.readIPAddr())}function ih(e){return!!Pc(e)}function sh(e){return!!Nc(e)}function ri(e){return!!ro(e)}var kc={};ne(kc,{identity:()=>I1});var I1=ti({prefix:"\0",name:"identity",encode:e=>th(e),decode:e=>jf(e)});var Oc={};ne(Oc,{base2:()=>T1});var T1=Lt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Mc={};ne(Mc,{base8:()=>C1});var C1=Lt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Uc={};ne(Uc,{base10:()=>D1});var D1=Or({prefix:"9",name:"base10",alphabet:"0123456789"});var Fc={};ne(Fc,{base16:()=>B1,base16upper:()=>L1});var B1=Lt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),L1=Lt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Kc={};ne(Kc,{base36:()=>P1,base36upper:()=>N1});var P1=Or({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),N1=Or({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vc={};ne(Vc,{base256emoji:()=>F1});var oh=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}"),k1=oh.reduce((e,t,r)=>(e[r]=t,e),[]),O1=oh.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function M1(e){return e.reduce((t,r)=>(t+=k1[r],t),"")}function U1(e){let t=[];for(let r of e){let n=O1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var F1=ti({prefix:"\u{1F680}",name:"base256emoji",encode:M1,decode:U1});var Hc={};ne(Hc,{sha256:()=>ie,sha512:()=>iE});var K1=lh,ah=128,V1=127,q1=~V1,$1=Math.pow(2,31);function lh(e,t,r){t=t||[],r=r||0;for(var n=r;e>=$1;)t[r++]=e&255|ah,e/=128;for(;e&q1;)t[r++]=e&255|ah,e>>>=7;return t[r]=e|0,lh.bytes=r-n+1,t}var z1=qc,H1=128,ch=127;function qc(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw qc.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&ch)<<i:(o&ch)*Math.pow(2,i),i+=7}while(o>=H1);return qc.bytes=s-n,r}var G1=Math.pow(2,7),Y1=Math.pow(2,14),W1=Math.pow(2,21),Q1=Math.pow(2,28),X1=Math.pow(2,35),Z1=Math.pow(2,42),J1=Math.pow(2,49),j1=Math.pow(2,56),tE=Math.pow(2,63),eE=function(e){return e<G1?1:e<Y1?2:e<W1?3:e<Q1?4:e<X1?5:e<Z1?6:e<J1?7:e<j1?8:e<tE?9:10},rE={encode:K1,decode:z1,encodingLength:eE},nE=rE,Vi=nE;var qi=(e,t=0)=>[Vi.decode(e,t),Vi.decode.bytes],ni=(e,t,r=0)=>(Vi.encode(e,t,r),t),ii=e=>Vi.encodingLength(e);var Xe=(e,t)=>{let r=t.byteLength,n=ii(e),i=n+ii(r),s=new Uint8Array(i+r);return ni(e,s,0),ni(r,s,n),s.set(t,i),new si(e,r,t,s)},wn=e=>{let t=mr(e),[r,n]=qi(t),[i,s]=qi(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new si(r,i,o,t)},uh=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Jf(e.bytes,r.bytes)}},si=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var zc=({name:e,code:t,encode:r})=>new $c(e,t,r),$c=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Xe(this.code,r):r.then(n=>Xe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var hh=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),ie=zc({name:"sha2-256",code:18,encode:hh("SHA-256")}),iE=zc({name:"sha2-512",code:19,encode:hh("SHA-512")});var Gc={};ne(Gc,{identity:()=>Mr});var dh=0,sE="identity",ph=mr,oE=e=>Xe(dh,ph(e)),Mr={code:dh,name:sE,encode:ph,digest:oE};var sR=new TextEncoder,oR=new TextDecoder;var mh=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return uE(r,Yc(e),t||Mt.encoder);default:return fE(r,Yc(e),t||xe.encoder)}};var yh=new WeakMap,Yc=e=>{let t=yh.get(e);if(t==null){let r=new Map;return yh.set(e,r),r}return t},Et=class{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==$i)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==hE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Et.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:t,digest:r}=this.multihash,n=Xe(t,r);return Et.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(t){return Et.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&uh(t.multihash,n.multihash)}toString(t){return mh(this,t)}toJSON(){return{"/":mh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof Et)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new Et(n,i,s,o||gh(n,i,s.bytes))}else if(r[dE]===!0){let{version:n,multihash:i,code:s}=r,o=wn(i);return Et.create(n,s,o)}else return null}static create(t,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(t){case 0:{if(r!==$i)throw new Error(`Version 0 CID must use dag-pb (code: ${$i}) block encoding`);return new Et(t,r,n,n.bytes)}case 1:{let i=gh(t,r,n.bytes);return new Et(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return Et.create(0,$i,t)}static createV1(t,r){return Et.create(1,t,r)}static decode(t){let[r,n]=Et.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=Et.inspectBytes(t),n=r.size-r.multihashSize,i=mr(t.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 si(r.multihashCode,r.digestSize,s,i);return[r.version===0?Et.createV0(o):Et.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,h]=qi(t.subarray(r));return r+=h,f},i=n(),s=$i;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(),l=r+c,u=l-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,r){let[n,i]=lE(t,r),s=Et.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Yc(s).set(n,t),s}},lE=(e,t)=>{switch(e[0]){case"Q":{let r=t||Mt;return[Mt.prefix,r.decode(`${Mt.prefix}${e}`)]}case Mt.prefix:{let r=t||Mt;return[Mt.prefix,r.decode(e)]}case xe.prefix:{let r=t||xe;return[xe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},uE=(e,t,r)=>{let{prefix:n}=r;if(n!==Mt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},fE=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},$i=112,hE=18,gh=(e,t,r)=>{let n=ii(e),i=n+ii(t),s=new Uint8Array(i+r.byteLength);return ni(e,s,0),ni(t,s,n),s.set(r,i),s},dE=Symbol.for("@ipld/js-cid/CID");var Ur={...kc,...Oc,...Mc,...Uc,...Fc,...Dc,...Kc,...Cc,...Bc,...Vc},yR={...Hc,...Gc};function xn(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function wr(e=0){return globalThis.Buffer?.alloc!=null?xn(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Er(e=0){return globalThis.Buffer?.allocUnsafe!=null?xn(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Eh(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var wh=Eh("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Wc=Eh("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Er(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),pE={utf8:wh,"utf-8":wh,hex:Ur.base16,latin1:Wc,ascii:Wc,binary:Wc,...Ur},io=pE;function z(e,t="utf8"){let r=io[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var xh=ih,mE=sh,Qc=function(e){let t=0;if(e=e.toString().trim(),xh(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(mE(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=xh(r[n]),o;s&&(o=Qc(r[n]),r[n]=z(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,z(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(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},vh=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(e[t+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var zi={},Xc={},gE=[[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"]];gE.forEach(e=>{let t=wE(...e);Xc[t.code]=t,zi[t.name]=t});function wE(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function j(e){if(typeof e=="number"){if(Xc[e]!=null)return Xc[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(zi[e]!=null)return zi[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ze=N(so(),1);function F(e,t="utf8"){let r=io[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?xn(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Ut(e,t){t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=Er(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return xn(r)}var GR=parseInt("0xFFFF",16),YR=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var SI=j("ip4"),AI=j("ip6"),RI=j("ipcidr");function Mh(e,t){switch(j(e).code){case 4:case 41:return ME(t);case 42:return kh(t);case 6:case 273:case 33:case 132:return Fh(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return kh(t);case 421:return VE(t);case 444:return Oh(t);case 445:return Oh(t);case 466:return KE(t);default:return z(t,"base16")}}function Uh(e,t){switch(j(e).code){case 4:return Ph(t);case 41:return Ph(t);case 42:return Nh(t);case 6:case 273:case 33:case 132:return tl(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Nh(t);case 421:return UE(t);case 444:return qE(t);case 445:return $E(t);case 466:return FE(t);default:return F(t,"base16")}}var jc=Object.values(Ur).map(e=>e.decoder),OE=function(){let e=jc[0].or(jc[1]);return jc.slice(2).forEach(t=>e=e.or(t)),e}();function Ph(e){if(!ri(e))throw new Error("invalid ip address");return Qc(e)}function ME(e){let t=vh(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!ri(t))throw new Error("invalid ip address");return t}function tl(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Fh(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Nh(e){let t=F(e),r=Uint8Array.from(Ze.default.encode(t.length));return Ut([r,t],r.length+t.length)}function kh(e){let t=Ze.default.decode(e);if(e=e.slice(Ze.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return z(e)}function UE(e){let t;e[0]==="Q"||e[0]==="1"?t=wn(Mt.decode(`z${e}`)).bytes:t=Et.parse(e).multihash.bytes;let r=Uint8Array.from(Ze.default.encode(t.length));return Ut([r,t],r.length+t.length)}function FE(e){let t=OE.decode(e),r=Uint8Array.from(Ze.default.encode(t.length));return Ut([r,t],r.length+t.length)}function KE(e){let t=Ze.default.decode(e),r=e.slice(Ze.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+z(r,"base64url")}function VE(e){let t=Ze.default.decode(e),r=e.slice(Ze.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return z(r,"base58btc")}function qE(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=xe.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=tl(n);return Ut([r,i],r.length+i.length)}function $E(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=xe.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=tl(n);return Ut([r,i],r.length+i.length)}function Oh(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=z(t,"base32"),i=Fh(r);return`${n}:${i}`}var oi=N(so(),1);function zE(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=j(i);if(s.size===0){t.push([i]);continue}if(n++,n>=r.length)throw Vh("invalid address: "+e);if(s.path===!0){t.push([i,sl(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function HE(e){let t=[];return e.map(r=>{let n=co(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),sl(t.join("/"))}function GE(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=co(t);return t.length>1?[r.code,Uh(r.code,t[1])]:[r.code]})}function el(e){return e.map(t=>{let r=co(t);return t[1]!=null?[r.code,Mh(r.code,t[1])]:[r.code]})}function rl(e){return ao(Ut(e.map(t=>{let r=co(t),n=Uint8Array.from(oi.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=Ut([n,t[1]])),n})))}function nl(e,t){return e.size>0?e.size/8:e.size===0?0:oi.default.decode(t)+(oi.default.decode.bytes??0)}function oo(e){let t=[],r=0;for(;r<e.length;){let n=oi.default.decode(e,r),i=oi.default.decode.bytes??0,s=j(n),o=nl(s,e.slice(r+i));if(o===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+o);if(r+=o+i,r>e.length)throw Vh("Invalid address Uint8Array: "+z(e,"base16"));t.push([n,a])}return t}function il(e){let t=oo(e),r=el(t);return HE(r)}function YE(e){e=sl(e);let t=zE(e),r=GE(t);return rl(r)}function Kh(e){return YE(e)}function ao(e){let t=WE(e);if(t!=null)throw t;return Uint8Array.from(e)}function WE(e){try{oo(e)}catch(t){return t}}function sl(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Vh(e){return new Error("Error parsing address: "+e)}function co(e){return j(e[0])}var al=N(so(),1);var Hh=N(lo(),1);function xt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var ai=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},ol=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},Hi,Gi,Yi,zh,ZE=Symbol.for("nodejs.util.inspect.custom"),JE=[j("dns").code,j("dns4").code,j("dns6").code,j("dnsaddr").code],cl=new Map,Gh=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Yh(e,t){if(e==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let r,n=e.address;switch(e.family){case 4:r="ip4";break;case 6:if(r="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],r=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new Je("/"+[r,n,t,e.port].join("/"))}function Ue(e){return!!e?.[Gh]}var Je=class{constructor(t){if(Hi.set(this,void 0),Gi.set(this,void 0),Yi.set(this,void 0),this[zh]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=ao(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Kh(t)}else if(Ue(t))this.bytes=ao(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return ai(this,Hi,"f")==null&&ol(this,Hi,il(this.bytes),"f"),ai(this,Hi,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,s="",o=j("tcp"),a=j("udp"),c=j("ip4"),l=j("ip6"),u=j("dns6"),f=j("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),JE.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,t=d===u.code?6:4),(d===o.code||d===a.code)&&(r=j(d).name,i=parseInt(p??"")),(d===c.code||d===l.code)&&(r=j(d).name,n=`${p??""}${s}`,t=d===l.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},j(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=al.default.decode(r,n),s=al.default.decode.bytes??0,o=j(i),a=nl(o,r.slice(n+s));n+=a+s,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return ai(this,Gi,"f")==null&&ol(this,Gi,oo(this.bytes),"f"),ai(this,Gi,"f")}stringTuples(){return ai(this,Yi,"f")==null&&ol(this,Yi,el(this.tuples()),"f"),ai(this,Yi,"f")}encapsulate(t){return t=new Je(t),new Je(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new Je(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new Je(rl(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===zi.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?z(Mt.decode(`z${n}`),"base58btc"):z(Et.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(r=>j(r[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return xt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=cl.get(r.name);if(n==null)throw(0,Hh.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new Je(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Hi=new WeakMap,Gi=new WeakMap,Yi=new WeakMap,zh=Gh,ZE)](){return`Multiaddr(${il(this.bytes)})`}};function _t(e){return new Je(e)}function jE(e){return e[Symbol.asyncIterator]!=null}function tx(e){if(jE(e))return(async()=>{let r=[];for await(let n of e)r.push(n);return r})();let t=[];for(let r of e)t.push(r);return t}var ll=tx;function ex(e){return e[Symbol.asyncIterator]!=null}function rx(e,t){return ex(e)?async function*(){yield*(await ll(e)).sort(t)}():function*(){yield*ll(e).sort(t)}()}var ul=rx;function nx(e){return e[Symbol.asyncIterator]!=null}function ix(e){if(nx(e))return(async()=>{for await(let t of e);})();for(let t of e);}var fl=ix;function sx(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var Wh=sx;function ox(e){return e[Symbol.asyncIterator]!=null}function ax(e,t){if(ox(e))return async function*(){for await(let a of e)await t(a)&&(yield a)}();let r=Wh(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=t(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await t(a)&&(yield a)}();let o=t;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var vn=ax;function cx(e){return e[Symbol.asyncIterator]!=null}function lx(e,t){return cx(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var hl=lx;var uo=class{put(t,r,n){return Promise.reject(new Error(".put is not implemented"))}get(t,r){return Promise.reject(new Error(".get is not implemented"))}has(t,r){return Promise.reject(new Error(".has is not implemented"))}delete(t,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,r={}){for await(let{key:n,value:i}of t)await this.put(n,i,r),yield n}async*getMany(t,r={}){for await(let n of t)yield{key:n,value:await this.get(n,r)}}async*deleteMany(t,r={}){for await(let n of t)await this.delete(n,r),yield n}batch(){let t=[],r=[];return{put(n,i){t.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await fl(this.putMany(t,n)),t=[],await fl(this.deleteMany(r,n)),r=[]}}}async*_all(t,r){throw new Error("._all is not implemented")}async*_allKeys(t,r){throw new Error("._allKeys is not implemented")}query(t,r){let n=this._all(t,r);if(t.prefix!=null){let i=t.prefix;n=vn(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>vn(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>ul(i,s),n)),t.offset!=null){let i=0,s=t.offset;n=vn(n,()=>i++>=s)}return t.limit!=null&&(n=hl(n,t.limit)),n}queryKeys(t,r){let n=this._allKeys(t,r);if(t.prefix!=null){let i=t.prefix;n=vn(n,s=>s.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>vn(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>ul(i,s),n)),t.offset!=null){let i=t.offset,s=0;n=vn(n,()=>s++>=i)}return t.limit!=null&&(n=hl(n,t.limit)),n}};var fo=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var xr="/",Qh=new TextEncoder().encode(xr),ho=Qh[0],Nt=class{constructor(t,r){if(typeof t=="string")this._buf=F(t);else if(t instanceof Uint8Array)this._buf=t;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]!==ho)throw new Error("Invalid key")}toString(t="utf8"){return z(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Nt(t.join(xr))}static random(){return new Nt(fo().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Nt(t):typeof t.uint8Array=="function"?new Nt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Qh),this._buf[0]!==ho){let t=new Uint8Array(this._buf.byteLength+1);t.fill(ho,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ho;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.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 Nt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(xr).slice(1)}type(){return ux(this.baseNamespace())}name(){return fx(this.baseNamespace())}instance(t){return new Nt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(xr)||(t+=xr),t+=this.type(),new Nt(t)}parent(){let t=this.list();return t.length===1?new Nt(xr):new Nt(t.slice(0,-1).join(xr))}child(t){return this.toString()===xr?t:t.toString()===xr?this:new Nt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Nt.withNamespaces([...this.namespaces(),...hx(t.map(r=>r.namespaces()))])}};function ux(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function fx(e){let t=e.split(":");return t[t.length-1]}function hx(e){return[].concat(...e)}var Xh=N(lo(),1);function Zh(e){return e=e??new Error("Not Found"),(0,Xh.default)(e,"ERR_NOT_FOUND")}var po=class extends uo{constructor(){super(),this.data=new Map}put(t,r){return this.data.set(t.toString(),r),t}get(t){let r=this.data.get(t.toString());if(r==null)throw Zh();return r}has(t){return this.data.has(t.toString())}delete(t){this.data.delete(t.toString())}*_all(){for(let[t,r]of this.data.entries())yield{key:new Nt(t),value:r}}*_allKeys(){for(let t of this.data.keys())yield new Nt(t)}};var w=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var W;(function(e){e.NOT_STARTED_YET="The libp2p node is not started yet",e.DHT_DISABLED="DHT is not available",e.PUBSUB_DISABLED="PubSub is not available",e.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",e.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",e.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",e.NOT_FOUND="Not found"})(W||(W={}));var S;(function(e){e.DHT_DISABLED="ERR_DHT_DISABLED",e.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",e.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",e.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",e.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",e.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",e.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",e.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",e.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",e.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",e.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",e.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",e.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",e.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",e.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",e.ERR_DIALED_SELF="ERR_DIALED_SELF",e.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",e.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",e.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",e.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",e.ERR_INVALID_KEY="ERR_INVALID_KEY",e.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_PEER="ERR_INVALID_PEER",e.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",e.ERR_NOT_FOUND="ERR_NOT_FOUND",e.ERR_TIMEOUT="ERR_TIMEOUT",e.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",e.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",e.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",e.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",e.ERR_FIND_SELF="ERR_FIND_SELF",e.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",e.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",e.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",e.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",e.ERR_INVALID_CMS="ERR_INVALID_CMS",e.ERR_MISSING_KEYS="ERR_MISSING_KEYS",e.ERR_NO_KEY="ERR_NO_KEY",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",e.ERR_INVALID_RECORD="ERR_INVALID_RECORD",e.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",e.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",e.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(S||(S={}));async function*Wi(e,t){for await(let r of e)await t(r)&&(yield r)}async function*Qi(e,t){for await(let r of e)yield t(r)}async function*Xi(e,t){yield*Qi(e,async r=>(await t.addressBook.add(r.id,r.multiaddrs),r))}function mo(e){let t=new Set;return Wi(e,r=>t.has(r.id.toString())?!1:(t.add(r.id.toString()),!0))}async function*yo(e,t=1){let r=0;for await(let n of e)r++,yield n;if(r<t)throw new w("not found","NOT_FOUND")}var gd=N(vr(),1);var wo=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},ci=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new wo(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new wo(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function Fr(e={}){return yx(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}},e)}function yx(e,t){t=t??{};let r=t.onEnd,n=new ci,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(e(n))}catch(x){y(x)}return i}}):e(n),c=m=>s!=null?s(m):(n.push(m),i),l=m=>(n=new ci,s!=null?s({error:m}):(n.push({error:m}),i)),u=m=>{if(o)return i;if(t?.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?l(m):c({done:!0})),h=()=>(n=new ci,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:u,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:u,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}async function*Kr(...e){let t=Fr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var gx=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},nd=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),ml=e=>e!=null&&typeof e.sink=="function"&&nd(e.source),wx=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=Fr({objectMode:!0});return r.then(()=>{n.end()},s=>{n.end(s)}),Kr(n,async function*(){yield*e.source,n.end()}())}return e.source};function Ft(e,...t){if(ml(e)){let n=e;e=()=>n.source}else if(nd(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&ml(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++)ml(r[n])&&(r[n]=wx(r[n]));return gx(...r)}async function se(e){for await(let t of e)return t}async function Vr(e){for await(let t of e);}var bo=N(sd(),1),wd=N(je(),1),yd=M("libp2p:peer-routing"),vo=class{constructor(t,r){this.components=t,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,bo.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new gd.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,wd.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Vr(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){yd.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,bo.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,r){if(this.routers.length===0)throw new w("No peer routers available",S.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw new w("Should not try to find self",S.ERR_FIND_SELF);let n=await Ft(Kr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,r)}catch(s){yd.error(s)}}())),i=>Wi(i,Boolean),i=>Xi(i,this.components.peerStore),async i=>await se(i));if(n!=null)return n;throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getClosestPeers(t,r){if(this.routers.length===0)throw new w("No peer routers available",S.ERR_NO_ROUTERS_AVAILABLE);yield*Ft(Kr(...this.routers.map(n=>n.getClosestPeers(t,r))),n=>Xi(n,this.components.peerStore),n=>mo(n),n=>yo(n))}};var _o=class{constructor(t,r){this.routers=r.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,r={}){if(this.routers.length===0)throw new w("No content this.routers available",S.ERR_NO_ROUTERS_AVAILABLE);yield*Ft(Kr(...this.routers.map(n=>n.findProviders(t,r))),n=>Xi(n,this.components.peerStore),n=>mo(n),n=>yo(n))}async provide(t,r={}){if(this.routers.length===0)throw new w("No content routers available",S.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(t,r)}))}async put(t,r,n){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Vr(i.put(t,r,n))}async get(t,r){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,r))if(i.name==="VALUE")return i.value}throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getMany(t,r,n){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);if(r==null||r===0)return;let i=0,s=this.components.dht;if(s!=null){for await(let o of s.get(t,n))if(o.name==="VALUE"&&(yield{from:o.from,val:o.value},i++,i===r))break}if(i===0)throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}};var gl=Symbol.for("@libp2p/peer-id");function fi(e){return e!=null&&!!e[gl]}var Cx=Symbol.for("nodejs.util.inspect.custom"),Ed=Object.values(Ur).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ur.identity.decoder),xd=114,wl=36,El=37,Ji=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[gl](){return!0}toString(){return this.string==null&&(this.string=Mt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Et.createV1(xd,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return xt(this.multihash.bytes,t);if(typeof t=="string")return at(t).equals(this);if(t?.multihash?.bytes!=null)return xt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Cx](){return`PeerId(${this.toString()})`}},bn=class extends Ji{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},_n=class extends Ji{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Sn=class extends Ji{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function Kt(e){if(e.type==="RSA")return new bn(e);if(e.type==="Ed25519")return new _n(e);if(e.type==="secp256k1")return new Sn(e);throw new w("Not a PeerId","ERR_INVALID_PARAMETERS")}function at(e,t){if(t=t??Ed,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=wn(Mt.decode(`z${e}`));return e.startsWith("12D")?new _n({multihash:r}):e.startsWith("16U")?new Sn({multihash:r}):new bn({multihash:r})}return qr(Ed.decode(e))}function qr(e){try{let t=wn(e);if(t.code===Mr.code){if(t.digest.length===wl)return new _n({multihash:t});if(t.digest.length===El)return new Sn({multihash:t})}if(t.code===ie.code)return new bn({multihash:t})}catch{return Dx(Et.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Dx(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==xd)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===ie.code)return new bn({multihash:e.multihash});if(t.code===Mr.code){if(t.digest.length===wl)return new _n({multihash:e.multihash});if(t.digest.length===El)return new Sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function $r(e,t){return e.length===wl?new _n({multihash:Xe(Mr.code,e),privateKey:t}):e.length===El?new Sn({multihash:Xe(Mr.code,e),privateKey:t}):new bn({multihash:await ie.digest(e),publicKey:e,privateKey:t})}var Bx=e=>e;function xl(e,t){let r=e.getPeerId();return r!=null&&at(r).equals(t)&&(e=e.decapsulate(_t(`/p2p/${t.toString()}`))),e}var So=class extends Pt{constructor(t,r){super();let{listen:n=[],announce:i=[]}=r;this.components=t,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Bx}getListenAddrs(){return Array.from(this.listen).map(t=>_t(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>_t(t))}getObservedAddrs(){return Array.from(this.observed).map(([t])=>_t(t))}addObservedAddr(t){t=xl(t,this.components.peerId);let r=t.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(t){t=xl(t,this.components.peerId);let r=t.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this.dispatchEvent(new $("change:addresses"))}removeObservedAddr(t){t=xl(t,this.components.peerId);let r=t.toString();this.observed.delete(r)}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(t);return this.announceFilter(Array.from(r).map(n=>_t(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Cd=N(Td(),1),Ce=Cd.default;var Dd=M("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),Io=class extends Pt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",r="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",r="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",r="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",r="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",r="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=r}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?Dd("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;Dd(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new $("visibilityChange",{detail:t}))}};var br=M("libp2p:connection-manager:latency-monitor"),To=class extends Pt{constructor(t={}){super();let{latencyCheckIntervalMs:r,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:s}=t;this.latencyCheckIntervalMs=r??500,this.latencyRandomPercentage=s??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,br("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?br("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):br("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(br("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=o=>{let a=this.now(o);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(br("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=o=>Math.round(this.now()-o)):(br("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=o=>this.now()-o),this.latencyData=this.initLatencyData()}start(){Mx()&&(this.visibilityChangeEmitter=new Io,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:r}=t;r?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>{this._emitSummary()},this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new $("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),br.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,r={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(r.startTime)-r.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,br.trace("MS: %s Data: %O",i,this.latencyData)};br.trace("localData: %O",r),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(r.deltaOffset=0,r.startTime=this.now(),this.asyncTestFn(n)):(r.deltaOffset-=1,n())},r.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Mx(){return typeof globalThis.window<"u"}var Po=N(je(),1);var Co="OPEN",bl="CLOSING",Do="CLOSED";function _r(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var ji=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return _r(this.map.entries(),t=>[at(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,at(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return _r(this.map.keys(),t=>at(t))}values(){return this.map.values()}get size(){return this.map.size}};var Sr=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return _r(this.set.entries(),t=>{let r=at(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=at(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return _r(this.set.values(),t=>at(t))}intersection(t){let r=new Sr;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new Sr;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new Sr;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var pi=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return _r(this.list.entries(),t=>at(t[1]))}concat(t){let r=new pi(this);for(let n of t)r.push(n);return r}entries(){return _r(this.list.entries(),t=>[t[0],at(t[1])])}every(t){return this.list.every((r,n)=>t(at(r),n,this))}filter(t){let r=new pi;return this.list.forEach((n,i)=>{let s=at(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(at(n),i,this));if(r!=null)return at(r)}findIndex(t){return this.list.findIndex((r,n)=>t(at(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(at(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return at(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return at(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var Ol=N(vr(),1);var Bd="keep-alive";var I0=N(R0(),1);var xv=M("libp2p:get-peer");function Lo(e){if(fi(e))return{peerId:e,multiaddrs:[]};Array.isArray(e)||(e=[e]);let t;if(e.length>0){let r=e[0].getPeerId();t=r==null?void 0:at(r),e.forEach(n=>{if(!Ue(n))throw xv.error("multiaddr %s was invalid",n),new w("Invalid Multiaddr",S.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(t!=null)throw new w("Multiaddrs must all have the same peer id or have no peer id",S.ERR_INVALID_PARAMETERS)}else{let s=at(i);if(t==null||!t.equals(s))throw new w("Multiaddrs must all have the same peer id or have no peer id",S.ERR_INVALID_PARAMETERS)}})}return{peerId:t,multiaddrs:e}}var Ht=M("libp2p:connection-manager"),vv={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},bv=6e4,No=class extends Pt{constructor(t,r){if(super(),this.opts=Ce.call({ignoreUndefined:!0},vv,r),this.opts.maxConnections<this.opts.minConnections)throw new w("Connection Manager maxConnections must be greater than minConnections",S.ERR_INVALID_PARAMETERS);Ht("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,r.maxEventLoopDelay!=null&&r.maxEventLoopDelay>0&&r.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new To({latencyCheckIntervalMs:r.pollInterval,dataEmitIntervalMs:r.pollInterval}));try{(0,Po.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=r.startupReconnectTimeout??bv,this.dialTimeout=r.dialTimeout??3e4,this.allow=(r.allow??[]).map(n=>_t(n)),this.deny=(r.deny??[]).map(n=>_t(n)),this.inboundConnectionRateLimiter=new I0.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};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"}`;t[s]=(t[s]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};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))t[o]=t[o]??[],t[o].push(a)}let r={};for(let[n,i]of Object.entries(t)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,Ht("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let r of await this.components.peerStore.all())(await this.components.peerStore.getTags(r.id)).filter(s=>s.name===Bd).length>0&&t.push(r.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new Ol.TimeoutController(this.startupReconnectTimeout);try{(0,Po.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async r=>{await this.openConnection(r,{signal:this.connectOnStartupController?.signal}).catch(n=>{Ht.error(n)})}))}).catch(t=>{Ht.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),Ht("stopped")}async _close(){let t=[];for(let r of this.connections.values())for(let n of r)t.push((async()=>{try{await n.close()}catch(i){Ht.error(i)}})());Ht("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(r=>{Ht.error(r)})}async _onConnect(t){let{detail:r}=t;if(!this.started){await r.close();return}let n=r.remotePeer,i=n.toString(),s=this.connections.get(i);s!=null?s.push(r):this.connections.set(i,[r]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let o=this.getConnections().length,a=o-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",o,a),this.dispatchEvent(new $("peer:connect",{detail:r}))}onDisconnect(t){let{detail:r}=t;if(!this.started)return;let n=r.remotePeer.toString(),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.dispatchEvent(new $("peer:disconnect",{detail:r})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(t,r={}){let{peerId:n,multiaddrs:i}=Lo(t);if(n==null&&i.length===0)throw new w("Can only open connections to PeerIds or Multiaddrs",S.ERR_INVALID_PARAMETERS);if(n!=null){Ht("dial to",n);let o=this.getConnections(n);if(o.length>0)return Ht("had an existing connection to %p",n),o[0]}let s;if(r?.signal==null){s=new Ol.TimeoutController(this.dialTimeout),r.signal=s.signal;try{(0,Po.setMaxListeners)?.(1/0,s.signal)}catch{}}try{let o=await this.components.dialer.dial(t,r),a=this.connections.get(o.remotePeer.toString());a==null&&(a=[],this.connections.set(o.remotePeer.toString(),a));let c=!1;for(let l of a)l.id===o.id&&(c=!0);return c||a.push(o),o}finally{s?.clear()}}async closeConnections(t){let r=this.connections.get(t.toString())??[];await Promise.all(r.map(async n=>{await n.close()}))}getAll(t){if(!fi(t))throw new w("peerId must be an instance of peer-id",S.ERR_INVALID_PARAMETERS);let r=t.toString(),n=this.connections.get(r);return n!=null?n.filter(i=>i.stat.status===Co):[]}_onLatencyMeasure(t){let{detail:r}=t;this._checkMaxLimit("maxEventLoopDelay",r.avgMs,1).catch(n=>{Ht.error(n)})}async _checkMaxLimit(t,r,n=1){let i=this.opts[t];if(i==null){Ht.trace("limit %s was not set so it cannot be applied",t);return}Ht.trace("checking limit of %s. current value: %d of %d",t,r,i),r>i&&(Ht("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,r,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let r=this.getConnections(),n=new ji;for(let o of r){let a=o.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((l,u)=>l+u.value,0))}let i=r.sort((o,a)=>{let c=n.get(o.remotePeer)??0,l=n.get(a.remotePeer)??0;if(c>l)return 1;if(c<l)return-1;let u=o.stat.timeline.open,f=a.stat.timeline.open;return u<f?1:u>f?-1:0}),s=[];for(let o of i)if(Ht("too many connections open - closing a connection to %p",o.remotePeer),this.allow.some(c=>o.remoteAddr.toString().startsWith(c.toString()))||s.push(o),s.length===t)break;await Promise.all(s.map(async o=>{try{await o.close()}catch(a){Ht.error(a)}this.onDisconnect(new $("connectionEnd",{detail:o}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return Ht("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return Ht("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return Ht("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(Ht("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var Ml=N(pl(),1),Ei=M("libp2p:connection-manager:auto-dialler"),_v={minConnections:0,autoDialInterval:1e4},ko=class{constructor(t,r){this.components=t,this.options=Ce.call({ignoreUndefined:!0},_v,r),this.running=!1,this._autoDial=this._autoDial.bind(this),Ei("options: %j",this.options)}isStarted(){return this.running}async start(){this.running=!0,this._autoDial().catch(t=>{Ei.error("could not start autodial",t)}),Ei("started")}async stop(){this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),Ei("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,Ml.default)(this._autoDial,this.options.autoDialInterval);return}let r=await this.components.peerStore.all();r=r.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),r=r.sort(()=>Math.random()>.5?1:-1),r=r.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<r.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=r[n];if(this.components.connectionManager.getConnections(i.id).length===0){Ei("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(s){Ei.error("could not connect to peerStore stored peer",s)}}}this.running&&(this.autoDialTimeout=(0,Ml.default)(this._autoDial,this.options.autoDialInterval))}};var Wy=N(O0(),1);var tt;(function(e){e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(tt||(tt={}));var Xl=N(ql(),1),_p=N(mp(),1),Sp=N(In(),1),Zl=N(Ql(),1),Ap=N(bp(),1);function zv(){Sp.default._configure(),Xl.default._configure(_p.default),Zl.default._configure(Ap.default)}zv();var Rp=["uint64","int64","sint64","fixed64","sfixed64"];function Hv(e){for(let t of Rp){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function Jl(e){return Hv(new Xl.default(e))}function Gv(e){for(let t of Rp){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function jl(){return Gv(Zl.default.create())}function dt(e,t){let r=Jl(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function pt(e,t){let r=jl();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var vi;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(vi||(vi={}));function Ko(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Gr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return Ko("enum",vi.VARINT,r,n)}function mt(e,t){return Ko("message",vi.LENGTH_DELIMITED,e,t)}var Tt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Tt||(Tt={}));var tu;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(tu||(tu={}));(function(e){e.codec=()=>Gr(tu)})(Tt||(Tt={}));var rr;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Tt.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=Tt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(rr||(rr={}));var nr;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Tt.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=Tt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(nr||(nr={}));var uB=N(as(),1),fB=N(Vm(),1),Ea=N(ft(),1);var de={get(e=globalThis){let t=e.crypto;if(t==null||t.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 t}};var j8=N(qt(),1),tD=N(ra(),1),$m=N(ft(),1);function $e(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ut([new Uint8Array(t-r.length),r])}return z(r,"base64url")}function be(e){let t=zm(e);return new $m.default.jsbn.BigInteger(z(t,"base16"),16)}function zm(e,t){let r=F(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ut([new Uint8Array(t-r.length),r])}return r}var g_={"P-256":256,"P-384":384,"P-521":521},w_=Object.keys(g_),fD=w_.join(" / ");function oa(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=de.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof h=="string"&&(h=F(h));let y={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},g=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),x=await a.subtle.deriveKey(y,g,{name:t,length:r},!0,["encrypt"]),_=await a.subtle.encrypt(m,x,f);return Ut([d,m.iv,new Uint8Array(_)])}async function l(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:t,iv:p};typeof h=="string"&&(h=F(h));let g={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},x=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),_=await a.subtle.deriveKey(g,x,{name:t,length:r},!0,["decrypt"]),O=await a.subtle.decrypt(y,_,m);return new Uint8Array(O)}return{encrypt:c,decrypt:l}}async function Gm(e,t){let r=yn.decode(e);return await oa().decrypt(r,t)}var Pu={};ne(Pu,{RsaPrivateKey:()=>Pi,RsaPublicKey:()=>ys,fromJwk:()=>$_,generateKeyPair:()=>z_,unmarshalRsaPrivateKey:()=>V_,unmarshalRsaPublicKey:()=>q_});var GD=N(Zm(),1),ms=N(ft(),1);var x_=N(An(),1);var rt=BigInt(0),Rt=BigInt(1),Jr=BigInt(2),hs=BigInt(3),Jm=BigInt(8),kt=Object.freeze({a:rt,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Rt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),jm=(e,t)=>(e+t/Jr)/t,aa={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=kt,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Rt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=jm(s*e,t),c=jm(-n*e,t),l=P(e-a*r-c*i,t),u=P(-a*n-c*s,t),f=l>o,h=u>o;if(f&&(l=t-l),h&&(u=t-u),l>o||u>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:f,k1:l,k2neg:h,k2:u}}},ze=32,Ti=32,v_=32,ty=ze+1,ey=2*ze+1;function ry(e){let{a:t,b:r}=kt,n=P(e*e),i=P(n*e);return P(i+t*e+r)}var ca=kt.a===rt,fa=class extends Error{constructor(t){super(t)}};function ny(e){if(!(e instanceof ot))throw new TypeError("JacobianPoint expected")}var ot=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof ct))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ct.ZERO)?ot.ZERO:new ot(t.x,t.y,Rt)}static toAffineBatch(t){let r=R_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return ot.toAffineBatch(t).map(ot.fromAffine)}equals(t){ny(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=P(i*i),l=P(a*a),u=P(r*l),f=P(s*c),h=P(P(n*a)*l),d=P(P(o*i)*c);return u===f&&h===d}negate(){return new ot(this.x,P(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=P(t*t),s=P(r*r),o=P(s*s),a=t+s,c=P(Jr*(P(a*a)-i-o)),l=P(hs*i),u=P(l*l),f=P(u-Jr*c),h=P(l*(c-f)-Jm*o),d=P(Jr*r*n);return new ot(f,h,d)}add(t){ny(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===rt||o===rt)return this;if(r===rt||n===rt)return t;let c=P(i*i),l=P(a*a),u=P(r*l),f=P(s*c),h=P(P(n*a)*l),d=P(P(o*i)*c),p=P(f-u),m=P(d-h);if(p===rt)return m===rt?this.double():ot.ZERO;let y=P(p*p),g=P(p*y),x=P(u*y),_=P(m*m-g-Jr*x),O=P(m*(x-_)-h*g),C=P(i*a*p);return new ot(_,O,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=ot.ZERO;if(typeof t=="bigint"&&t===rt)return r;let n=oy(t);if(n===Rt)return this;if(!ca){let f=r,h=this;for(;n>rt;)n&Rt&&(f=f.add(h)),h=h.double(),n>>=Rt;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=aa.splitScalar(n),c=r,l=r,u=this;for(;s>rt||a>rt;)s&Rt&&(c=c.add(u)),a&Rt&&(l=l.add(u)),u=u.double(),s>>=Rt,a>>=Rt;return i&&(c=c.negate()),o&&(l=l.negate()),l=new ot(P(l.x*aa.beta),l.y,l.z),c.add(l)}precomputeWindow(t){let r=ca?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals(ot.BASE)&&(r=ct.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&&Ru.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=ot.normalizeZ(i),Ru.set(r,i)));let s=ot.ZERO,o=ot.BASE,a=1+(ca?128/n:256/n),c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=Rt);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(la(g,i[m])):s=s.add(la(x,i[y]))}return{p:s,f:o}}multiply(t,r){let n=oy(t),i,s;if(ca){let{k1neg:o,k1:a,k2neg:c,k2:l}=aa.splitScalar(n),{p:u,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(l,r);u=la(o,u),h=la(c,h),h=new ot(P(h.x*aa.beta),h.y,h.z),i=u.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return ot.normalizeZ([i,s])[0]}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals(ot.ZERO);t==null&&(t=s?Jm:Bi(i));let o=t,a=P(o*o),c=P(a*o),l=P(r*a),u=P(n*c),f=P(i*o);if(s)return ct.ZERO;if(f!==Rt)throw new Error("invZ was invalid");return new ct(l,u)}};ot.BASE=new ot(kt.Gx,kt.Gy,Rt);ot.ZERO=new ot(rt,Rt,rt);function la(e,t){let r=t.negate();return e?r:t}var Ru=new WeakMap,ct=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Ru.delete(this)}hasEvenY(){return this.y%Jr===rt}static fromCompressedHex(t){let r=t.length===32,n=jr(r?t:t.subarray(1));if(!Au(n))throw new Error("Point is not on curve");let i=ry(n),s=A_(i),o=(s&Rt)===Rt;r?o&&(s=P(-s)):(t[0]&1)===1!==o&&(s=P(-s));let a=new ct(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let r=jr(t.subarray(1,ze+1)),n=jr(t.subarray(ze+1,ze*2+1)),i=new ct(r,n);return i.assertValidity(),i}static fromHex(t){let r=Di(t),n=r.length,i=r[0];if(n===ze)return this.fromCompressedHex(r);if(n===ty&&(i===2||i===3))return this.fromCompressedHex(r);if(n===ey&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${ty} compressed bytes or ${ey} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ct.BASE.multiply(da(t))}static fromSignature(t,r,n){let{r:i,s}=ay(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Cu(Di(t)),{n:a}=kt,c=n===2||n===3?i+a:i,l=Bi(c,a),u=P(-o*l,a),f=P(s*l,a),h=n&1?"03":"02",d=ct.fromHex(h+Ri(c)),p=ct.BASE.multiplyAndAddUnsafe(d,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return kn(this.toHex(t))}toHex(t=!1){let r=Ri(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Ri(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Au(r)||!Au(n))throw new Error(t);let i=P(n*n),s=ry(r);if(P(i-s)!==rt)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ct(this.x,P(-this.y))}double(){return ot.fromAffine(this).double().toAffine()}add(t){return ot.fromAffine(this).add(ot.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return ot.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=ot.fromAffine(this),s=r===rt||r===Rt||this!==ct.BASE?i.multiplyUnsafe(r):i.multiply(r),o=ot.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals(ot.ZERO)?void 0:a.toAffine()}};ct.BASE=new ct(kt.Gx,kt.Gy);ct.ZERO=new ct(rt,rt);function iy(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function sy(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Ci(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)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:jr(r),left:e.subarray(t+2)}}function b_(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Ci(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=sy(e.subarray(2)),{data:n,left:i}=sy(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ci(i)}`);return{r:t,s:n}}var ur=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Ci(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new ur(ha(i.slice(0,64)),ha(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=b_(r?t:kn(t));return new ur(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!ps(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!ps(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=kt.n>>Rt;return this.s>t}normalizeS(){return this.hasHighS()?new ur(this.r,P(-this.s,kt.n)):this}toDERRawBytes(){return kn(this.toDERHex())}toDERHex(){let t=iy(fs(this.s)),r=iy(fs(this.r)),n=t.length/2,i=r.length/2,s=fs(n),o=fs(i);return`30${fs(i+n+4)}02${o}${r}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return kn(this.toCompactHex())}toCompactHex(){return Ri(this.r)+Ri(this.s)}};function Zr(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var __=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ci(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=__[e[r]];return t}var S_=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Ri(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(rt<=e&&e<S_))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Iu(e){let t=kn(Ri(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function fs(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function ha(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function kn(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function jr(e){return ha(Ci(e))}function Di(e){return e instanceof Uint8Array?Uint8Array.from(e):kn(e)}function oy(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&ps(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function P(e,t=kt.P){let r=e%t;return r>=rt?r:t+r}function Ne(e,t){let{P:r}=kt,n=e;for(;t-- >rt;)n*=n,n%=r;return n}function A_(e){let{P:t}=kt,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=e*e*e%t,l=c*c*e%t,u=Ne(l,hs)*l%t,f=Ne(u,hs)*l%t,h=Ne(f,Jr)*c%t,d=Ne(h,n)*h%t,p=Ne(d,i)*d%t,m=Ne(p,o)*p%t,y=Ne(m,a)*m%t,g=Ne(y,o)*p%t,x=Ne(g,hs)*l%t,_=Ne(x,s)*d%t,O=Ne(_,r)*c%t,C=Ne(O,Jr);if(C*C%t!==e)throw new Error("Cannot find square root");return C}function Bi(e,t=kt.P){if(e===rt||t<=rt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=P(e,t),n=t,i=rt,s=Rt,o=Rt,a=rt;for(;r!==rt;){let l=n/r,u=n%r,f=i-o*l,h=s-a*l;n=r,r=u,i=o,s=a,o=f,a=h}if(n!==Rt)throw new Error("invert: does not exist");return P(i,t)}function R_(e,t=kt.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===rt?s:(r[a]=s,P(s*o,t)),Rt),i=Bi(n,t);return e.reduceRight((s,o,a)=>o===rt?s:(r[a]=P(s*r[a],t),P(s*o,t)),i),r}function I_(e){let t=e.length*8-Ti*8,r=jr(e);return t>0?r>>BigInt(t):r}function Cu(e,t=!1){let r=I_(e);if(t)return r;let{n}=kt;return r>=n?r-n:r}var Ii,ds,Tu=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<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(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return He.hmacSha256(this.k,...t)}hmacSync(...t){return ds(this.k,...t)}checkSync(){if(typeof ds!="function")throw new fa("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Zr(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Zr(...r)}};function ps(e){return rt<e&&e<kt.n}function Au(e){return rt<e&&e<kt.P}function T_(e,t,r,n=!0){let{n:i}=kt,s=Cu(e,!0);if(!ps(s))return;let o=Bi(s,i),a=ct.BASE.multiply(s),c=P(a.x,i);if(c===rt)return;let l=P(o*P(t+r*c,i),i);if(l===rt)return;let u=new ur(c,l),f=(a.x===u.r?0:2)|Number(a.y&Rt);return n&&u.hasHighS()&&(u=u.normalizeS(),f^=1),{sig:u,recovery:f}}function da(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Ti)throw new Error("Expected 32 bytes of private key");t=ha(e)}else if(e instanceof Uint8Array){if(e.length!==Ti)throw new Error("Expected 32 bytes of private key");t=jr(e)}else throw new TypeError("Expected valid private key");if(!ps(t))throw new Error("Expected private key: 0 < key < n");return t}function C_(e){return e instanceof ct?(e.assertValidity(),e):ct.fromHex(e)}function ay(e){if(e instanceof ur)return e.assertValidity(),e;try{return ur.fromDER(e)}catch{return ur.fromCompact(e)}}function Du(e,t=!1){return ct.fromPrivateKey(e).toRawBytes(t)}function cy(e){let t=e.length>ze?e.slice(0,ze):e;return jr(t)}function D_(e){let t=cy(e),r=P(t,kt.n);return ly(r<rt?t:r)}function ly(e){return Iu(e)}function B_(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Di(e),i=da(t),s=[ly(i),D_(n)];if(r!=null){r===!0&&(r=He.randomBytes(ze));let c=Di(r);if(c.length!==ze)throw new Error(`sign: Expected ${ze} bytes of extra data`);s.push(c)}let o=Zr(...s),a=cy(n);return{seed:o,m:a,d:i}}function L_(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function uy(e,t,r={}){let{seed:n,m:i,d:s}=B_(e,t,r.extraEntropy),o=new Tu(v_,Ti);await o.reseed(n);let a;for(;!(a=T_(await o.generate(),i,s,r.canonical));)await o.reseed();return L_(a,r)}var P_={strict:!0};function fy(e,t,r,n=P_){let i;try{i=ay(e),t=Di(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Cu(t),c;try{c=C_(r)}catch{return!1}let{n:l}=kt,u=Bi(o,l),f=P(a*u,l),h=P(s*u,l),d=ct.BASE.multiplyAndAddUnsafe(c,f,h);return d?P(d.x,l)===s:!1}ct.BASE._setWindowSize(8);var _e={node:x_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var ua={},He={bytesToHex:Ci,hexToBytes:kn,concatBytes:Zr,mod:P,invert:Bi,isValidPrivateKey(e){try{return da(e),!0}catch{return!1}},_bigintTo32Bytes:Iu,_normalizePrivateKey:da,hashToPrivateKey:e=>{e=Di(e);let t=Ti+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=P(jr(e),kt.n-Rt)+Rt;return Iu(r)},randomBytes:(e=32)=>{if(_e.web)return _e.web.getRandomValues(new Uint8Array(e));if(_e.node){let{randomBytes:t}=_e.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>He.hashToPrivateKey(He.randomBytes(Ti+8)),precompute(e=8,t=ct.BASE){let r=t===ct.BASE?t:new ct(t.x,t.y);return r._setWindowSize(e),r.multiply(hs),r},sha256:async(...e)=>{if(_e.web){let t=await _e.web.subtle.digest("SHA-256",Zr(...e));return new Uint8Array(t)}else if(_e.node){let{createHash:t}=_e.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(_e.web){let r=await _e.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Zr(...t),i=await _e.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(_e.node){let{createHmac:r}=_e.node,n=r("sha256",e);return t.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(e,...t)=>{let r=ua[e];if(r===void 0){let n=await He.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Zr(n,n),ua[e]=r}return He.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Ii!="function")throw new fa("sha256Sync is undefined, you need to set it");let r=ua[e];if(r===void 0){let n=Ii(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Zr(n,n),ua[e]=r}return Ii(r,...t)},_JacobianPoint:ot};Object.defineProperties(He,{sha256Sync:{configurable:!1,get(){return Ii},set(e){Ii||(Ii=e)}},hmacSha256Sync:{configurable:!1,get(){return ds},set(e){ds||(ds=e)}}});function Tr(e){if(isNaN(e)||e<=0)throw new w("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return He.randomBytes(e)}var On={};ne(On,{jwkToPkcs1:()=>O_,jwkToPkix:()=>U_,pkcs1ToJwk:()=>k_,pkixToJwk:()=>M_});var AD=N(as(),1),RD=N(sa(),1),Cr=N(ft(),1);function k_(e){let t=Cr.default.asn1.fromDer(z(e,"ascii")),r=Cr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:$e(r.n),e:$e(r.e),d:$e(r.d),p:$e(r.p),q:$e(r.q),dp:$e(r.dP),dq:$e(r.dQ),qi:$e(r.qInv),alg:"RS256"}}function O_(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Cr.default.pki.privateKeyToAsn1({n:be(e.n),e:be(e.e),d:be(e.d),p:be(e.p),q:be(e.q),dP:be(e.dp),dQ:be(e.dq),qInv:be(e.qi)});return F(Cr.default.asn1.toDer(t).getBytes(),"ascii")}function M_(e){let t=Cr.default.asn1.fromDer(z(e,"ascii")),r=Cr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:$e(r.n),e:$e(r.e)}}function U_(e){if(e.n==null||e.e==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Cr.default.pki.publicKeyToAsn1({n:be(e.n),e:be(e.e)});return F(Cr.default.asn1.toDer(t).getBytes(),"ascii")}var BD=N(sa(),1),Bu=N(ft(),1);function hy(e,t){return t.map(r=>be(e[r]))}function dy(e){return Bu.default.pki.setRsaPrivateKey(...hy(e,["n","e","d","p","q","dp","dq","qi"]))}function py(e){return Bu.default.pki.setRsaPublicKey(...hy(e,["n","e"]))}async function my(e){let t=await de.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await wy(t);return{privateKey:r[0],publicKey:r[1]}}async function Lu(e){let r=[await de.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await F_(e)],n=await wy({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function yy(e,t){let r=await de.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await de.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function gy(e,t,r){let n=await de.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await de.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function wy(e){if(e.privateKey==null||e.publicKey==null)throw new w("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([de.get().subtle.exportKey("jwk",e.privateKey),de.get().subtle.exportKey("jwk",e.publicKey)])}async function F_(e){return await de.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Ey(e,t,r,n){let i=t?py(e):dy(e),s=z(Uint8Array.from(r),"ascii"),o=n(s,i);return F(o,"ascii")}function xy(e,t){return Ey(e,!0,t,(r,n)=>n.encrypt(r))}function vy(e,t){return Ey(e,!1,t,(r,n)=>n.decrypt(r))}async function Li(e,t){let n=await oa().encrypt(e,t);return yn.encode(n)}var ys=class{constructor(t){this._key=t}async verify(t,r){return await gy(this._key,r,t)}marshal(){return On.jwkToPkix(this._key)}get bytes(){return rr.encode({Type:Tt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return xy(this._key,t)}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Pi=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Tr(16)}async sign(t){return await yy(this._key,t)}get public(){if(this._publicKey==null)throw new w("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ys(this._publicKey)}decrypt(t){return vy(this._key,t)}marshal(){return On.jwkToPkcs1(this._key)}get bytes(){return nr.encode({Type:Tt.RSA,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new ms.default.util.ByteBuffer(this.marshal()),i=ms.default.asn1.fromDer(n),s=ms.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ms.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return await Li(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function V_(e){let t=On.pkcs1ToJwk(e),r=await Lu(t);return new Pi(r.privateKey,r.publicKey)}function q_(e){let t=On.pkixToJwk(e);return new ys(t)}async function $_(e){let t=await Lu(e);return new Pi(t.privateKey,t.publicKey)}async function z_(e){let t=await my(e);return new Pi(t.privateKey,t.publicKey)}var qu={};ne(qu,{Ed25519PrivateKey:()=>Un,Ed25519PublicKey:()=>vs,generateKeyPair:()=>fS,generateKeyPairFromSeed:()=>Oy,unmarshalEd25519PrivateKey:()=>lS,unmarshalEd25519PublicKey:()=>uS});var H_=N(An(),1);var re=BigInt(0),nt=BigInt(1),rn=BigInt(2),G_=BigInt(8),by=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),It=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:by,n:by,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Iy=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),gs=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),WD=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Y_=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),W_=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Q_=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),X_=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Z=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof Dt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Dt.ZERO)?Z.ZERO:new Z(t.x,t.y,nt,R(t.x*t.y))}static toAffineBatch(t){let r=j_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Sy(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=R(r*a),l=R(s*i),u=R(n*a),f=R(o*i);return c===l&&u===f}negate(){return new Z(R(-this.x),this.y,this.z,R(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=It,s=R(t*t),o=R(r*r),a=R(rn*R(n*n)),c=R(i*s),l=t+r,u=R(R(l*l)-s-o),f=c+o,h=f-a,d=c-o,p=R(u*h),m=R(f*d),y=R(u*d),g=R(h*f);return new Z(p,m,g,y)}add(t){Sy(t);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:l}=t,u=R((n-r)*(a+o)),f=R((n+r)*(a-o)),h=R(f-u);if(h===re)return this.double();let d=R(i*rn*l),p=R(s*rn*c),m=p+d,y=f+u,g=p-d,x=R(m*h),_=R(y*g),O=R(m*g),C=R(h*y);return new Z(x,_,C,O)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals(Z.BASE)&&(r=Dt.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&&Uu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Z.normalizeZ(i),Uu.set(r,i)));let s=Z.ZERO,o=Z.BASE,a=1+256/n,c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=nt);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(_y(g,i[m])):s=s.add(_y(x,i[y]))}return Z.normalizeZ([s,o])[0]}multiply(t,r){return this.wNAF(ma(t,It.l),r)}multiplyUnsafe(t){let r=ma(t,It.l,!1),n=Z.BASE,i=Z.ZERO;if(r===re)return i;if(this.equals(i)||r===nt)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>re;)r&nt&&(s=s.add(o)),o=o.double(),r>>=nt;return s}isSmallOrder(){return this.multiplyUnsafe(It.h).equals(Z.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(It.l/rn).double();return It.l%rn&&(t=t.add(this)),t.equals(Z.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals(Z.ZERO);t==null&&(t=s?G_:ya(i));let o=R(r*t),a=R(n*t),c=R(i*t);if(s)return Dt.ZERO;if(c!==nt)throw new Error("invZ was invalid");return new Dt(o,a)}fromRistrettoBytes(){ku()}toRistrettoBytes(){ku()}fromRistrettoHash(){ku()}};Z.BASE=new Z(It.Gx,It.Gy,nt,R(It.Gx*It.Gy));Z.ZERO=new Z(re,nt,nt,re);function _y(e,t){let r=t.negate();return e?r:t}function Sy(e){if(!(e instanceof Z))throw new TypeError("ExtendedPoint expected")}function Nu(e){if(!(e instanceof pe))throw new TypeError("RistrettoPoint expected")}function ku(){throw new Error("Legacy method: switch to RistrettoPoint")}var pe=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=It,n=R(gs*t*t),i=R((n+nt)*Q_),s=BigInt(-1),o=R((s-r*n)*R(n+r)),{isValid:a,value:c}=Ku(i,o),l=R(c*t);en(l)||(l=R(-l)),a||(c=l),a||(s=n);let u=R(s*(n-nt)*X_-o),f=c*c,h=R((c+c)*o),d=R(u*Y_),p=R(nt-f),m=R(nt+f);return new Z(R(h*m),R(p*d),R(d*m),R(h*p))}static hashToCurve(t){t=nn(t,64);let r=Ou(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Ou(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new pe(n.add(s))}static fromHex(t){t=nn(t,32);let{a:r,d:n}=It,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Ou(t);if(!eS(ws(s),t)||en(s))throw new Error(i);let o=R(s*s),a=R(nt+r*o),c=R(nt-r*o),l=R(a*a),u=R(c*c),f=R(r*n*l-u),{isValid:h,value:d}=Ry(R(f*u)),p=R(d*c),m=R(d*p*f),y=R((s+s)*p);en(y)&&(y=R(-y));let g=R(a*m),x=R(y*g);if(!h||en(x)||g===re)throw new Error(i);return new pe(new Z(y,g,nt,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,s=R(R(n+r)*R(n-r)),o=R(t*r),a=R(o*o),{value:c}=Ry(R(s*a)),l=R(c*s),u=R(c*o),f=R(l*u*i),h;if(en(i*f)){let p=R(r*gs),m=R(t*gs);t=p,r=m,h=R(l*W_)}else h=u;en(t*f)&&(r=R(-r));let d=R((n-r)*h);return en(d)&&(d=R(-d)),ws(d)}toHex(){return Es(this.toRawBytes())}toString(){return this.toHex()}equals(t){Nu(t);let r=this.ep,n=t.ep,i=R(r.x*n.y)===R(r.y*n.x),s=R(r.y*n.y)===R(r.x*n.x);return i||s}add(t){return Nu(t),new pe(this.ep.add(t.ep))}subtract(t){return Nu(t),new pe(this.ep.subtract(t.ep))}multiply(t){return new pe(this.ep.multiply(t))}multiplyUnsafe(t){return new pe(this.ep.multiplyUnsafe(t))}};pe.BASE=new pe(Z.BASE);pe.ZERO=new pe(Z.ZERO);var Uu=new WeakMap,Dt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Uu.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=It;t=nn(t,32);let s=t.slice();s[31]=t[31]&-129;let o=xs(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=Iy)throw new Error("Expected 0 < hex < 2**256");let a=R(o*o),c=R(a-nt),l=R(n*a+nt),{isValid:u,value:f}=Ku(c,l);if(!u)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&nt)===nt;return(t[31]&128)!==0!==h&&(f=R(-f)),new Dt(f,o)}static async fromPrivateKey(t){return(await ga(t)).point}toRawBytes(){let t=ws(this.y);return t[31]|=this.x&nt?128:0,t}toHex(){return Es(this.toRawBytes())}toX25519(){let{y:t}=this,r=R((nt+t)*ya(nt-t));return ws(r)}isTorsionFree(){return Z.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Dt(R(-this.x),this.y)}add(t){return Z.fromAffine(this).add(Z.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Z.fromAffine(this).multiply(t,this).toAffine()}};Dt.BASE=new Dt(It.Gx,It.Gy);Dt.ZERO=new Dt(re,nt);var Mn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=nn(t,64),n=Dt.fromHex(r.slice(0,32),!1),i=xs(r.slice(32,64));return new Mn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof Dt))throw new Error("Expected Point instance");return ma(r,It.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(ws(this.s),32),t}toHex(){return Es(this.toRawBytes())}};function Ay(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var Z_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Es(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Z_[e[r]];return t}function Fu(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function Ty(e){let r=e.toString(16).padStart(64,"0");return Fu(r)}function ws(e){return Ty(e).reverse()}function en(e){return(R(e)&nt)===nt}function xs(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Es(Uint8Array.from(e).reverse()))}var J_=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Ou(e){return R(xs(e)&J_)}function R(e,t=It.P){let r=e%t;return r>=re?r:t+r}function ya(e,t=It.P){if(e===re||t<=re)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=R(e,t),n=t,i=re,s=nt,o=nt,a=re;for(;r!==re;){let l=n/r,u=n%r,f=i-o*l,h=s-a*l;n=r,r=u,i=o,s=a,o=f,a=h}if(n!==nt)throw new Error("invert: does not exist");return R(i,t)}function j_(e,t=It.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===re?s:(r[a]=s,R(s*o,t)),nt),i=ya(n,t);return e.reduceRight((s,o,a)=>o===re?s:(r[a]=R(s*r[a],t),R(s*o,t)),i),r}function fr(e,t){let{P:r}=It,n=e;for(;t-- >re;)n*=n,n%=r;return n}function tS(e){let{P:t}=It,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=e*e%t*e%t,l=fr(c,rn)*c%t,u=fr(l,nt)*e%t,f=fr(u,r)*u%t,h=fr(f,n)*f%t,d=fr(h,i)*h%t,p=fr(d,s)*d%t,m=fr(p,o)*p%t,y=fr(m,o)*p%t,g=fr(y,n)*f%t;return{pow_p_5_8:fr(g,rn)*e%t,b2:c}}function Ku(e,t){let r=R(t*t*t),n=R(r*r*t),i=tS(e*n).pow_p_5_8,s=R(e*r*i),o=R(t*s*s),a=s,c=R(s*gs),l=o===e,u=o===R(-e),f=o===R(-e*gs);return l&&(s=a),(u||f)&&(s=c),en(s)&&(s=R(-s)),{isValid:l||u,value:s}}function Ry(e){return Ku(nt,e)}function pa(e){return R(xs(e),It.l)}function eS(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function nn(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):Fu(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function ma(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(re<e)return e}else if(re<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function rS(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function nS(e){if(e=typeof e=="bigint"||typeof e=="number"?Ty(ma(e,Iy)):nn(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function iS(e){let t=rS(e.slice(0,32)),r=e.slice(32,64),n=pa(t),i=Dt.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:s}}var Mu;async function ga(e){return iS(await sn.sha512(nS(e)))}async function Vu(e){return(await ga(e)).pointBytes}async function Cy(e,t){e=nn(e);let{prefix:r,scalar:n,pointBytes:i}=await ga(t),s=pa(await sn.sha512(r,e)),o=Dt.BASE.multiply(s),a=pa(await sn.sha512(o.toRawBytes(),i,e)),c=R(s+a*n,It.l);return new Mn(o,c).toRawBytes()}function sS(e,t,r){t=nn(t),r instanceof Dt||(r=Dt.fromHex(r,!1));let{r:n,s:i}=e instanceof Mn?e.assertValidity():Mn.fromHex(e),s=Z.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:t}}function oS(e,t,r,n){let i=pa(n),s=Z.fromAffine(e).multiplyUnsafe(i);return Z.fromAffine(t).add(s).subtract(r).multiplyUnsafe(It.h).equals(Z.ZERO)}async function Dy(e,t,r){let{r:n,SB:i,msg:s,pub:o}=sS(e,t,r),a=await sn.sha512(n.toRawBytes(),o.toRawBytes(),s);return oS(o,n,i,a)}Dt.BASE._setWindowSize(8);var tn={node:H_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},sn={bytesToHex:Es,hexToBytes:Fu,concatBytes:Ay,getExtendedPublicKey:ga,mod:R,invert:ya,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=nn(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return R(xs(e),It.l-nt)+nt},randomBytes:(e=32)=>{if(tn.web)return tn.web.getRandomValues(new Uint8Array(e));if(tn.node){let{randomBytes:t}=tn.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>sn.randomBytes(32),sha512:async(...e)=>{let t=Ay(...e);if(tn.web){let r=await tn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(tn.node)return Uint8Array.from(tn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=Dt.BASE){let r=t.equals(Dt.BASE)?t:new Dt(t.x,t.y);return r._setWindowSize(e),r.multiply(rn),r},sha512Sync:void 0};Object.defineProperties(sn,{sha512Sync:{configurable:!1,get(){return Mu},set(e){Mu||(Mu=e)}}});var Ni=32,Dr=64,wa=32;async function By(){let e=sn.randomPrivateKey(),t=await Vu(e);return{privateKey:ky(e,t),publicKey:t}}async function Ly(e){if(e.length!==wa)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await Vu(t);return{privateKey:ky(t,r),publicKey:r}}async function Py(e,t){let r=e.subarray(0,wa);return await Cy(t,r)}async function Ny(e,t,r){return await Dy(t,r,e)}function ky(e,t){let r=new Uint8Array(Dr);for(let n=0;n<wa;n++)r[n]=e[n],r[wa+n]=t[n];return r}var vs=class{constructor(t){this._key=ki(t,Ni)}async verify(t,r){return await Ny(this._key,r,t)}marshal(){return this._key}get bytes(){return rr.encode({Type:Tt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Un=class{constructor(t,r){this._key=ki(t,Dr),this._publicKey=ki(r,Ni)}async sign(t){return await Py(this._key,t)}get public(){return new vs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:Tt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=Mr.digest(this.public.bytes);return Mt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Li(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function lS(e){if(e.length>Dr){e=ki(e,Dr+Ni);let n=e.subarray(0,Dr),i=e.subarray(Dr,e.length);return new Un(n,i)}e=ki(e,Dr);let t=e.subarray(0,Dr),r=e.subarray(Ni);return new Un(t,r)}function uS(e){return e=ki(e,Ni),new vs(e)}async function fS(){let{privateKey:e,publicKey:t}=await By();return new Un(e,t)}async function Oy(e){let{privateKey:t,publicKey:r}=await Ly(e);return new Un(t,r)}function ki(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new w(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var zu={};ne(zu,{Secp256k1PrivateKey:()=>_s,Secp256k1PublicKey:()=>bs,generateKeyPair:()=>mS,unmarshalSecp256k1PrivateKey:()=>dS,unmarshalSecp256k1PublicKey:()=>pS});function My(){return He.randomPrivateKey()}async function Uy(e,t){let{digest:r}=await ie.digest(t);try{return await uy(r,e)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}async function Fy(e,t,r){try{let{digest:n}=await ie.digest(r);return fy(t,n,e)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}function Ky(e){return ct.fromHex(e).toRawBytes(!0)}function Vy(e){try{Du(e,!0)}catch(t){throw new w(String(t),"ERR_INVALID_PRIVATE_KEY")}}function $u(e){try{ct.fromHex(e)}catch(t){throw new w(String(t),"ERR_INVALID_PUBLIC_KEY")}}function qy(e){try{return Du(e,!0)}catch(t){throw new w(String(t),"ERR_INVALID_PRIVATE_KEY")}}var bs=class{constructor(t){$u(t),this._key=t}async verify(t,r){return await Fy(this._key,r,t)}marshal(){return Ky(this._key)}get bytes(){return rr.encode({Type:Tt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},_s=class{constructor(t,r){this._key=t,this._publicKey=r??qy(t),Vy(this._key),$u(this._publicKey)}async sign(t){return await Uy(this._key,t)}get public(){return new bs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:Tt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Li(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function dS(e){return new _s(e)}function pS(e){return new bs(e)}async function mS(){let e=My();return new _s(e)}var Br={rsa:Pu,ed25519:qu,secp256k1:zu};function Hu(e){let t=Object.keys(Br).join(" / ");return new w(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Gu(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Br[e];throw Hu(e)}async function xa(e,t){return await Gu(e).generateKeyPair(t??2048)}function Ss(e){let t=rr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Tt.RSA:return Br.rsa.unmarshalRsaPublicKey(r);case Tt.Ed25519:return Br.ed25519.unmarshalEd25519PublicKey(r);case Tt.Secp256k1:return Br.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Hu(t.Type??"RSA")}}function $y(e,t){return t=(t??"rsa").toLowerCase(),Gu(t),e.bytes}async function Oi(e){let t=nr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Tt.RSA:return await Br.rsa.unmarshalRsaPrivateKey(r);case Tt.Ed25519:return Br.ed25519.unmarshalEd25519PrivateKey(r);case Tt.Secp256k1:return Br.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Hu(t.Type??"RSA")}}function zy(e,t){return t=(t??"rsa").toLowerCase(),Gu(t),e.bytes}async function As(e,t){try{let i=await Gm(e,t);return await Oi(i)}catch{}let r=Ea.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new w("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ea.default.asn1.toDer(Ea.default.pki.privateKeyToAsn1(r));return n=F(n.getBytes(),"ascii"),await Br.rsa.unmarshalRsaPrivateKey(n)}var gB=N(Wo(),1),gS=N(ft(),1);var Gy=N(du(),1),Yy=N(qt(),1);var Hy={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Rs(e,t,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Hy).join(" / ");throw new w(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Hy[i],o=(0,Gy.default)(e,t,r,n,s);return Yy.default.encode64(o,null)}var va=M("libp2p:keychain"),xS="/pkcs8/",Qy="/info/",Fn=new WeakMap,Kn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Yu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Lr(e){return e==null||typeof e!="string"?!1:e===(0,Wy.default)(e.trim())&&e.length>0}async function yt(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function hr(e){return new Nt(xS+e)}function on(e){return new Nt(Qy+e)}var Vn=class{constructor(t,r){if(this.components=t,this.init=Ce(Yu,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<Kn.minKeyLength)throw new Error(`dek.keyLength must be least ${Kn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Kn.minSaltLength)throw new Error(`dek.saltLength must be least ${Kn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Kn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Kn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Rs(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Fn.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},Yu),r=Math.ceil(Kn.minSaltLength/3)*3;return t.dek.salt=z(Tr(r),"base64"),t}static get options(){return Yu}async createKey(t,r,n=2048){if(!Lr(t)||t==="self")throw await yt(),new w("Invalid key name",tt.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await yt(),new w("Invalid key type",tt.ERR_INVALID_KEY_TYPE);let i=hr(t);if(await this.components.datastore.has(i))throw await yt(),new w("Key name already exists",tt.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await yt(),new w("Invalid RSA key size",tt.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await xa(r,n),c=await a.id(),l=Fn.get(this);if(l==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let u=l.dek,f=await a.export(u);o={name:t,id:c};let h=this.components.datastore.batch();h.put(i,F(f)),h.put(on(t),F(JSON.stringify(o))),await h.commit()}catch(a){throw await yt(),a}return o}async listKeys(){let t={prefix:Qy},r=[];for await(let n of this.components.datastore.query(t))r.push(JSON.parse(z(n.value)));return r}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw new w(`Key with id '${t}' does not exist.`,tt.ERR_KEY_NOT_FOUND);return n}catch(r){throw await yt(),r}}async findKeyByName(t){if(!Lr(t))throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);let r=on(t);try{let n=await this.components.datastore.get(r);return JSON.parse(z(n))}catch(n){throw await yt(),va.error(n),new w(`Key '${t}' does not exist.`,tt.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Lr(t)||t==="self")throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);let r=hr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(r),i.delete(on(t)),await i.commit(),n}async renameKey(t,r){if(!Lr(t)||t==="self")throw await yt(),new w(`Invalid old key name '${t}'`,tt.ERR_OLD_KEY_NAME_INVALID);if(!Lr(r)||r==="self")throw await yt(),new w(`Invalid new key name '${r}'`,tt.ERR_NEW_KEY_NAME_INVALID);let n=hr(t),i=hr(r),s=on(t),o=on(r);if(await this.components.datastore.has(i))throw await yt(),new w(`Key '${r}' already exists`,tt.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),l=await this.components.datastore.get(s),u=JSON.parse(z(l));u.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,F(JSON.stringify(u))),f.delete(n),f.delete(s),await f.commit(),u}catch(c){throw await yt(),c}}async exportKey(t,r){if(!Lr(t))throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);if(r==null)throw await yt(),new w("Password is required",tt.ERR_PASSWORD_REQUIRED);let n=hr(t);try{let i=await this.components.datastore.get(n),s=z(i),o=Fn.get(this);if(o==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await As(s,a)).export(r)}catch(i){throw await yt(),i}}async exportPeerId(t){let r="temporary-password",n=await this.exportKey(t,r),i=await As(n,r);return await $r(i.public.bytes,i.bytes)}async importKey(t,r,n){if(!Lr(t)||t==="self")throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);if(r==null)throw await yt(),new w("PEM encoded key is required",tt.ERR_PEM_REQUIRED);let i=hr(t);if(await this.components.datastore.has(i))throw await yt(),new w(`Key '${t}' already exists`,tt.ERR_KEY_ALREADY_EXISTS);let o;try{o=await As(r,n)}catch{throw await yt(),new w("Cannot read the key, most likely the password is wrong",tt.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let u=Fn.get(this);if(u==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let f=u.dek;r=await o.export(f)}catch(u){throw await yt(),u}let c={name:t,id:a},l=this.components.datastore.batch();return l.put(i,F(r)),l.put(on(t),F(JSON.stringify(c))),await l.commit(),c}async importPeer(t,r){try{if(!Lr(t))throw new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);if(r==null)throw new w("PeerId is required",tt.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new w("PeerId.privKey is required",tt.ERR_MISSING_PRIVATE_KEY);let n=await Oi(r.privateKey),i=hr(t);if(await this.components.datastore.has(i))throw await yt(),new w(`Key '${t}' already exists`,tt.ERR_KEY_ALREADY_EXISTS);let o=Fn.get(this);if(o==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),l={name:t,id:r.toString()},u=this.components.datastore.batch();return u.put(i,F(c)),u.put(on(t),F(JSON.stringify(l))),await u.commit(),l}catch(n){throw await yt(),n}}async getPrivateKey(t){if(!Lr(t))throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);try{let r=hr(t),n=await this.components.datastore.get(r);return z(n)}catch(r){throw await yt(),va.error(r),new w(`Key '${t}' does not exist.`,tt.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,r){if(typeof t!="string")throw await yt(),new w(`Invalid old pass type '${typeof t}'`,tt.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await yt(),new w(`Invalid new pass type '${typeof r}'`,tt.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await yt(),new w(`Invalid pass length ${r.length}`,tt.ERR_INVALID_PASS_LENGTH);va("recreating keychain");let n=Fn.get(this);if(n==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?Rs(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Fn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(hr(a.name)),l=z(c),u=await As(l,i),f=s.toString(),h=await u.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(hr(a.name),F(h)),d.put(on(a.name),F(JSON.stringify(p))),await d.commit()}va("keychain reconstructed")}};var qB=Symbol.for("@libp2p/transport");var an;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(an||(an={}));var Wu=class extends Map{constructor(t){super();let{name:r,metrics:n}=t;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(t,r){return super.set(t,r),this.updateComponentMetric(),this}delete(t){let r=super.delete(t);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Is(e){let{name:t,metrics:r}=e,n;return r!=null?n=new Wu({name:t,metrics:r}):n=new Map,n}var qn=M("libp2p:transports"),ba=class extends Pt{constructor(t,r={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=Is({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??an.FATAL_ALL}add(t){let r=t[Symbol.toStringTag];if(r==null)throw new w("Transport must have a valid tag",S.ERR_INVALID_KEY);if(this.transports.has(r))throw new w(`There is already a transport with the tag ${r}`,S.ERR_DUPLICATE_TRANSPORT);qn("adding transport %s",r),this.transports.set(r,t),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[r,n]of this.listeners)for(qn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),qn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(t,r){let n=this.transportForMultiaddr(t);if(n==null)throw new w(`No transport available for address ${String(t)}`,S.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=S.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let r of this.listeners.values())for(let n of r)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let r of this.transports.values())if(r.filter([t]).length>0)return r}async listen(t){if(t==null||t.length===0){qn("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(t),o=[];for(let l of s){qn("creating listener for %s on %s",n,l);let u=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(u),u.addEventListener("listening",()=>{this.dispatchEvent(new $("listener:listening",{detail:u}))}),u.addEventListener("close",()=>{this.dispatchEvent(new $("listener:close",{detail:u}))}),o.push(u.listen(l))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(l=>l.status==="fulfilled")==null&&this.faultTolerance!==an.NO_FATAL)throw new w(`Transport (${n}) could not listen on any available address`,S.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===an.FATAL_ALL)throw new w(n,S.ERR_NO_VALID_ADDRESSES);qn(`libp2p in dial mode only: ${n}`)}}async remove(t){qn("removing %s",t);for(let r of this.listeners.get(t)??[])await r.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let r of this.transports.keys())t.push(this.remove(r));await Promise.all(t)}};var Pr="/multistream/1.0.0";var Zy=Symbol.for("@achingbrain/uint8arraylist");function Xy(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function _a(e){return!!e?.[Zy]}var Ot=class{constructor(...t){Object.defineProperty(this,Zy,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(_a(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(_a(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(t){let r=Xy(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Xy(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(_a(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new Ot;return s.length=i,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===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,t>=c)continue;let l=t>=a&&t<c,u=r>a&&r<=c;if(l&&u){if(t===a&&r===c){n.push(o);break}let f=t-a;n.push(o.subarray(f,f+(r-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!_a(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.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,l=n.byteLength-1,u;for(let f=r;f<=c;f+=u){u=0;for(let h=l;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){u=Math.max(1,h-a[d]);break}}if(u===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Er(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=wr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=wr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=wr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Er(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=wr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=wr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=wr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=wr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=wr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ot)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!xt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Ot;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function Sa(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var Jy=4294967296,Se=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!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(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Se(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Se(r,n)}toBytes(t,r=0){let n=Sa(t);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(t){if(t===0n)return new Se;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Jy&&(i=0,++n>Jy&&(n=0))),new Se(n,i)}static fromNumber(t){if(t===0)return new Se;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Se(i,n)}static fromBytes(t,r=0){let n=Sa(t),i=new Se,s=0;if(t.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>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(t.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<t.byteLength)for(;s<5;++s){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.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 vS=Math.pow(2,7),bS=Math.pow(2,14),_S=Math.pow(2,21),SS=Math.pow(2,28),AS=Math.pow(2,35),RS=Math.pow(2,42),IS=Math.pow(2,49),TS=Math.pow(2,56),CS=Math.pow(2,63),Ge={encodingLength(e){return e<vS?1:e<bS?2:e<_S?3:e<SS?4:e<AS?5:e<RS?6:e<IS?7:e<TS?8:e<CS?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=Er(Ge.encodingLength(e))),Se.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return Se.fromBytes(e,t).toNumber(!0)}};function jy(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var Aa=e=>{let t=Ge.encodingLength(e),r=jy(t);return Ge.encode(e,r),Aa.bytes=t,r};Aa.bytes=0;function Ae(e){e=e??{};let t=e.lengthEncoder??Aa;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}Ae.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Aa;return new Ot(r(e.byteLength),e)};var Ts=N(lo(),1),DS=8,BS=1024*1024*4,$n;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})($n||($n={}));var Qu=e=>{let t=Ge.decode(e);return Qu.bytes=Ge.encodingLength(t),t};Qu.bytes=0;function me(e){return async function*(r){let n=new Ot,i=$n.LENGTH,s=-1,o=e?.lengthDecoder??Qu,a=e?.maxLengthLength??DS,c=e?.maxDataLength??BS;for await(let l of r)for(n.append(l);n.byteLength>0;){if(i===$n.LENGTH)try{if(s=o(n),s<0)throw(0,Ts.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>c)throw(0,Ts.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;n.consume(u),e?.onLength!=null&&e.onLength(s),i=$n.DATA}catch(u){if(u instanceof RangeError){if(n.byteLength>a)throw(0,Ts.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(i===$n.DATA){if(n.byteLength<s)break;let u=n.sublist(0,s);n.consume(s),e?.onData!=null&&e.onData(u),yield u,i=$n.LENGTH}}if(n.byteLength>0)throw(0,Ts.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}me.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.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 me({...t??{},onLength:s=>{r=s}})(n)};var Cs=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function tg(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Ia(e,t,r){let n=r??{},i=tg(e);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:u,abortCode:f}=n;throw new Cs(u,f)}let l=new Promise((u,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new Cs(h,d))}});c=await Promise.race([l,i.next()]),o=null}catch(l){t.removeEventListener("abort",a);let u=l.type==="aborted"&&t.aborted;if(u&&n.onAbort!=null&&await n.onAbort(e),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(u&&n.returnOnAbort===!0)return;throw l}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}function LS(e,t,r){return n=>e(Ia(n,t,r))}function ye(e,t,r){return{sink:LS(e.sink,t,{...r,onAbort:void 0}),source:Ia(e.source,t,r)}}var NS=M("libp2p:mss"),eg=F(`
|
|
38
|
-
`);function Ds(e){let t=new Ot(e,eg);return Ae.single(t)}function zn(e,t,r={}){let n=Ds(t);r.writeBytes===!0?e.push(n.subarray()):e.push(n)}function rg(e,t,r={}){let n=new Ot;for(let i of t)n.append(Ds(i));r.writeBytes===!0?e.push(n.subarray()):e.push(n)}async function kS(e,t){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await e.next(r)},i=n;t?.signal!=null&&(i=Ia(n,t.signal));let o=await Ft(i,me({onLength:a=>{r=a},maxDataLength:1024}),async a=>await se(a));if(o==null||o.length===0)throw new w("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==eg[0])throw NS.error("Invalid mss message - missing newline - %s",o.subarray()),new w("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Mi(e,t){let r=await kS(e,t);return z(r.subarray())}function Xu(e){let t=async function*(){let r=yield,n=new Ot;for await(let i of e){if(r==null){n.append(i),r=yield n,n=new Ot;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 Ot);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function cn(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}function Ta(e){let t=Fr(),r=Xu(e.source),n=cn(),i,s=e.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await s),source:r},rest:()=>t.end(),write:t.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Bs=M("libp2p:mss:select");async function Ls(e,t,r={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:s,stream:o}=Ta(e),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");Bs('select: write ["%s", "%s"]',Pr,a);let c=F(Pr),l=F(a);rg(i,[c,l],r);let u=await Mi(n,r);if(Bs('select: read "%s"',u),u===Pr&&(u=await Mi(n,r),Bs('select: read "%s"',u)),u===a)return s(),{stream:o,protocol:a};for(let f of t){Bs('select: write "%s"',f),zn(i,F(f),r);let h=await Mi(n,r);if(Bs('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new w("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Ps=M("libp2p:mss:handle");async function Ns(e,t,r){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:s,stream:o}=Ta(e);for(;;){let a=await Mi(i,r);if(Ps('read "%s"',a),a===Pr){Ps('respond with "%s" for "%s"',Pr,a),zn(n,F(Pr),r);continue}if(t.includes(a))return zn(n,F(a),r),Ps('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){zn(n,new Ot(...t.map(c=>Ds(F(c)))),r),Ps('respond with "%s" for %s',t,a);continue}zn(n,F("na"),r),Ps('respond with "na" for "%s"',a)}}var ig=Symbol.for("@libp2p/connection");var MS=M("libp2p:connection"),Zu=class{constructor(t){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:Co},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[ig](){return!0}get streams(){return this._getStreams()}async newStream(t,r){if(this.stat.status===bl)throw new w("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Do)throw new w("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,r);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===Do||this._closing)){this.stat.status=bl;try{this.streams.forEach(t=>{t.close()})}catch(t){MS.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=Do}}};function sg(e){return new Zu(e)}var US=Symbol.for("@libp2p/topology");function og(e){return e!=null&&!!e[US]}var Ju=M("libp2p:registrar"),ju=32,tf=64,Ca=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let r=this.handlers.get(t);if(r==null)throw new w(`No handler registered for protocol ${t}`,S.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(t){let r=this.topologies.get(t);return r==null?[]:[...r.values()]}async handle(t,r,n){if(this.handlers.has(t))throw new w(`Handler already registered for protocol ${t}`,S.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Ce.bind({ignoreUndefined:!0})({maxInboundStreams:ju,maxOutboundStreams:tf},n);this.handlers.set(t,{handler:r,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let r=Array.isArray(t)?t:[t];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,r)}async register(t,r){if(!og(r))throw Ju.error("topology must be an instance of interfaces/topology"),new w("topology must be an instance of interfaces/topology",S.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(t){for(let[r,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(r))}_onDisconnect(t){let r=t.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r.remotePeer)}}).catch(n=>{Ju.error(n)})}_onConnect(t){let r=t.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(r.remotePeer,r)}}).catch(n=>{Ju.error(n)})}_onProtocolChange(t){let{peerId:r,protocols:n,oldProtocols:i}=t.detail,s=i.filter(a=>!n.includes(a)),o=n.filter(a=>!i.includes(a));for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let l of c.values())l.onDisconnect(r)}for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let l of c.values()){let u=this.components.connectionManager.getConnections(r)[0];u!=null&&l.onConnect(r,u)}}}};var ef=N(vr(),1);var rf=N(je(),1),bt=M("libp2p:upgrader");function FS(e,t){try{let{options:r}=t.getHandler(e);return r.maxInboundStreams}catch(r){if(r.code!==S.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return ju}function KS(e,t){try{let{options:r}=t.getHandler(e);return r.maxOutboundStreams}catch(r){if(r.code!==S.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return tf}function ag(e,t,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===e&&n++}),n}var Da=class extends Pt{constructor(t,r){super(),this.components=t,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}async upgradeInbound(t,r){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw new w("connection denied",S.ERR_CONNECTION_DENIED);let i,s,o,a,c,l=new ef.TimeoutController(this.inboundUpgradeTimeout);try{(0,rf.setMaxListeners)?.(1/0,l.signal)}catch{}try{let u=ye(t,l.signal);if(t.source=u.source,t.sink=u.sink,await this.components.connectionGater.denyInboundConnection?.(t)===!0)throw new w("The multiaddr connection is blocked by gater.acceptConnection",S.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),bt("starting the inbound connection upgrade");let f=t;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(bt("protecting the inbound connection"),f=await h.protect(t))}try{if(i=f,r?.skipEncryption!==!0){if({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection?.(s,{...f,...i})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED)}else{let h=t.remoteAddr.getPeerId();if(h==null)throw new w("inbound connection that skipped encryption must have a peer id",S.ERR_INVALID_MULTIADDR);let d=at(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 bt.error("Failed to upgrade inbound connection",h),h}if(await this.components.connectionGater.denyInboundUpgradedConnection?.(s,{...f,...i})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED);return bt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),l.clear()}}async upgradeOutbound(t,r){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=at(n),await this.components.connectionGater.denyOutboundConnection?.(i,t)===!0))throw new w("The multiaddr connection is blocked by connectionGater.denyOutboundConnection",S.ERR_CONNECTION_INTERCEPTED);let s,o,a,c,l;this.components.metrics?.trackMultiaddrConnection(t),bt("Starting the outbound connection upgrade");let u=t;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(u=await f.protect(t))}try{if(s=u,r?.skipEncryption!==!0){if({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(u,i),await this.components.connectionGater.denyOutboundEncryptedConnection?.(o,{...u,...s})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw new w("Encryption was skipped but no peer id was passed",S.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)l=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...u,...s},this.muxers);l=f.muxerFactory,a=f.stream}}catch(f){throw bt.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection?.(o,{...u,...s})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED);return bt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:l,remotePeer:o})}_createConnection(t){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=t,c,l,u;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{u!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Ns(d,p);if(bt("%s: incoming stream opened on %s",n,y),u==null)return;let g=FS(y,this.components.registrar);if(ag(y,"inbound",u)===g){d.abort(new w(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,S.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,this.components.peerStore.protoBook.add(o,[y]).catch(_=>{bt.error(_)}),u.addStream(d),this.components.metrics?.trackProtocolStream(d,u),this._onStream({connection:u,stream:d,protocol:y})}).catch(p=>{bt.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{u?.removeStream(d.id)}}),l=async(d,p={})=>{if(c==null)throw new w("Stream is not multiplexed",S.ERR_MUXER_UNAVAILABLE);bt("%s: starting new stream on %s",n,d);let m=await c.newStream(),y;try{if(p.signal==null){bt("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),y=new ef.TimeoutController(3e4),p.signal=y.signal;try{(0,rf.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:x}=await Ls(m,d,p),_=KS(x,this.components.registrar);if(ag(x,"outbound",u)===_){let C=new w(`Too many outbound protocol streams for protocol "${x}" - limit ${_}`,S.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(C),C}return this.components.peerStore.protoBook.add(o,[x]).catch(C=>{bt.error(C)}),m.source=g.source,m.sink=g.sink,m.stat.protocol=x,this.components.metrics?.trackProtocolStream(m,u),m}catch(g){throw bt.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:new w(String(g),S.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{bt.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(u!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{u.stat.status==="OPEN"&&await u.close()}catch(p){bt.error(p)}finally{this.dispatchEvent(new $("connectionEnd",{detail:u}))}})().catch(p=>{bt.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new w("connection is not multiplexed",S.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=sg({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:l??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new $("connection",{detail:u})),u}_onStream(t){let{connection:r,stream:n,protocol:i}=t,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(t){let r=Array.from(this.connectionEncryption.keys());bt("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Ns(t,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return bt("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new w(String(n),S.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,r){let n=Array.from(this.connectionEncryption.keys());bt("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Ls(t,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return bt("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new w(String(i),S.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,r){let n=Array.from(r.keys());bt("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Ls(t,n,{writeBytes:!0});bt("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw bt.error("error multiplexing outbound stream",i),new w(String(i),S.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,r){let n=Array.from(r.keys());bt("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Ns(t,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw bt.error("error multiplexing inbound stream",i),new w(String(i),S.ERR_MUXER_UNAVAILABLE)}}};var Hn;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.protocolVersion!=null&&(n.uint32(42),n.string(r.protocolVersion)),r.agentVersion!=null&&(n.uint32(50),n.string(r.agentVersion)),r.publicKey!=null&&(n.uint32(10),n.bytes(r.publicKey)),r.listenAddrs!=null)for(let s of r.listenAddrs)n.uint32(18),n.bytes(s);if(r.observedAddr!=null&&(n.uint32(34),n.bytes(r.observedAddr)),r.protocols!=null)for(let s of r.protocols)n.uint32(26),n.string(s);r.signedPeerRecord!=null&&(n.uint32(66),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={listenAddrs:[],protocols:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 5:i.protocolVersion=r.string();break;case 6:i.agentVersion=r.string();break;case 1:i.publicKey=r.bytes();break;case 2:i.listenAddrs.push(r.bytes());break;case 4:i.observedAddr=r.bytes();break;case 3:i.protocols.push(r.string());break;case 8:i.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Hn||(Hn={}));var cg={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ks;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature: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.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(ks||(ks={}));var VS,Zt=class{constructor(t){let{peerId:r,payloadType:n,payload:i,signature:s}=t;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=ks.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return xt(this.marshal(),t.marshal())}async validate(t){let r=lg(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Ss(this.peerId.publicKey).verify(r.subarray(),this.signature)}};VS=Zt;Zt.createFromProtobuf=async e=>{let t=ks.decode(e),r=await $r(t.publicKey);return new Zt({peerId:r,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};Zt.seal=async(e,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let r=e.domain,n=e.codec,i=e.marshal(),s=lg(r,n,i),a=await(await Oi(t.privateKey)).sign(s.subarray());return new Zt({peerId:t,payloadType:n,payload:i,signature:a})};Zt.openAndCertify=async(e,t)=>{let r=await Zt.createFromProtobuf(e);if(!await r.validate(t))throw new w("envelope signature is not valid for the given domain",cg.ERR_SIGNATURE_NOT_VALID);return r};var lg=(e,t,r)=>{let n=F(e),i=Ge.encode(n.byteLength),s=Ge.encode(t.length),o=Ge.encode(r.length);return new Ot(i,n,s,t,o,r)};function ug(e,t){let r=(n,i)=>n.toString().localeCompare(i.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,i)=>t[i].equals(n)))}var Os;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=mt((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(l&7);break}}return a})),i),n.encode=s=>pt(s,n.codec()),n.decode=s=>dt(s,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=mt((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),e.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),e.encode=n=>pt(n,e.codec()),e.decode=n=>dt(n,e.codec())})(Os||(Os={}));var fg="libp2p-peer-record",hg=Uint8Array.from([3,1]);var Gt=class{constructor(t){this.domain=Gt.DOMAIN,this.codec=Gt.CODEC;let{peerId:r,multiaddrs:n,seqNumber:i}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Os.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof Gt)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!ug(this.multiaddrs,t.multiaddrs))}};Gt.createFromProtobuf=e=>{let t=Os.decode(e),r=qr(t.peerId),n=(t.addresses??[]).map(s=>_t(s.multiaddr)),i=t.seq;return new Gt({peerId:r,multiaddrs:n,seqNumber:i})};Gt.DOMAIN=fg;Gt.CODEC=hg;var Ba="0.0.0",dg="libp2p";var nf=`js-libp2p/${Ba}`;var pg="0.1.0",mg="id",yg="id/push",gg="1.0.0",wg="1.0.0";var Ms=N(vr(),1);var Us=N(je(),1),gt=M("libp2p:identify"),Eg=1024*8,Ui=class{constructor(t,r){this.components=t,this.started=!1,this.init=r,this.identifyProtocolStr=`/${r.protocolPrefix}/${mg}/${gg}`,this.identifyPushProtocolStr=`/${r.protocolPrefix}/${yg}/${wg}`,this.host={protocolVersion:`${r.protocolPrefix}/${pg}`,...r.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(gt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{gt.error(s)})}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{gt.error(s)})})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",F(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",F(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(r=>{gt.error(r)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(r=>{gt.error(r)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let r=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(o=>o.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),s=t.map(async o=>{let a,c=new Ms.TimeoutController(this.init.timeout);try{(0,Us.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await o.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await ye(a,c.signal).sink(Ft([Hn.encode({listenAddrs:n,signedPeerRecord:r,protocols:i})],Ae()))}catch(l){gt.error("could not push identify update to peer",l)}finally{a?.close(),c.clear()}});await Promise.all(s)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let r of this.components.connectionManager.getConnections()){let n=r.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(r)}await this.push(t)}async _identify(t,r={}){let n,i=r.signal,s;if(i==null){n=new Ms.TimeoutController(this.init.timeout),i=n.signal;try{(0,Us.setMaxListeners)?.(1/0,n.signal)}catch{}}try{s=await t.newStream([this.identifyProtocolStr],{signal:i});let o=ye(s,i),a=await Ft([],o,me({maxDataLength:this.init.maxIdentifyMessageSize??Eg}),async c=>await se(c));if(a==null)throw new w("No data could be retrieved",S.ERR_CONNECTION_ENDED);try{return Hn.decode(a)}catch(c){throw new w(String(c),S.ERR_INVALID_MESSAGE)}}finally{n?.clear(),s?.close()}}async identify(t,r={}){let n=await this._identify(t,r),{publicKey:i,listenAddrs:s,protocols:o,observedAddr:a,signedPeerRecord:c,agentVersion:l,protocolVersion:u}=n;if(i==null)throw new w("public key was missing from identify message",S.ERR_MISSING_PUBLIC_KEY);let f=await $r(i);if(!t.remotePeer.equals(f))throw new w("identified peer does not match the expected peer",S.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw new w("identified peer is our own peer id?",S.ERR_INVALID_PEER);let h=Ui.getCleanMultiaddr(a);if(c!=null){gt("received signed peer record from %p",f);try{let d=await Zt.openAndCertify(c,Gt.DOMAIN);if(!d.peerId.equals(f))throw new w("identified peer does not match the expected peer",S.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(d)){await this.components.peerStore.protoBook.set(f,o),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(u)),gt("identify completed for peer %p with and protocols %o",f,o);return}}catch(d){gt("received invalid envelope, discard it and fallback to listenAddrs is available",d)}}else gt("no signed peer record received from %p",f);gt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,s.map(d=>_t(d)))}catch(d){gt.error("received invalid addrs",d)}await this.components.peerStore.protoBook.set(f,o),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(u)),gt("identify completed for peer %p and protocols %o",f,o),gt("our observed address is %s",h),h!=null&&this.components.addressManager.getObservedAddrs().length<(this.init.maxObservedAddresses??1/0)&&(gt("storing our observed address %s",h?.toString()),this.components.addressManager.addObservedAddr(h))}async _handleIdentify(t){let{connection:r,stream:n}=t,i=new Ms.TimeoutController(this.init.timeout);try{(0,Us.setMaxListeners)?.(1/0,i.signal)}catch{}try{let s=this.components.peerId.publicKey??new Uint8Array(0),o=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(h=>h.decapsulateCode(j("p2p").code)),c=o.peerRecordEnvelope;if(a.length>0&&c==null){let h=new Gt({peerId:this.components.peerId,multiaddrs:a}),d=await Zt.seal(h,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(d),c=d.marshal().subarray()}let l=Hn.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:s,listenAddrs:a.map(h=>h.bytes),signedPeerRecord:c,observedAddr:r.remoteAddr.bytes,protocols:o.protocols}),u=ye(n,i.signal),f=Ft([l],Ae());await u.sink(f)}catch(s){gt.error("could not respond to identify request",s)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:r,stream:n}=t,i=new Ms.TimeoutController(this.init.timeout);try{(0,Us.setMaxListeners)?.(1/0,i.signal)}catch{}let s;try{let a=ye(n,i.signal),c=await Ft([],a,me({maxDataLength:this.init.maxIdentifyMessageSize??Eg}),async l=>await se(l));c!=null&&(s=Hn.decode(c))}catch(a){gt.error("received invalid message",a);return}finally{n.close(),i.clear()}if(s==null){gt.error("received invalid message");return}let o=r.remotePeer;if(this.components.peerId.equals(o)){gt("received push from ourselves?");return}if(gt("received push from %p",o),s.signedPeerRecord!=null){gt("received signedPeerRecord in push");try{let a=await Zt.openAndCertify(s.signedPeerRecord,Gt.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){gt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(o,s.protocols);return}else gt("failed to consume signedPeerRecord sent in push")}catch(a){gt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else gt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(o,s.listenAddrs.map(a=>_t(a)))}catch(a){gt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(o,s.protocols)}catch(a){gt.error("received invalid protocols",a)}gt("handled push from %p",o)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return _t(t)}catch{}}};var Fs;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identifier!=null&&r.identifier!==""&&(n.uint32(10),n.string(r.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identifier:""},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.identifier=r.string();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Fs||(Fs={}));var Ye;(function(e){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=e.StatusCode||(e.StatusCode={}));let r;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(r||(r={})),function(i){i.codec=()=>Gr(r)}(t=e.StatusCode||(e.StatusCode={}));let n;e.codec=()=>(n==null&&(n=mt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.status!=null&&r[i.status]!==0&&(s.uint32(8),e.StatusCode.codec().encode(i.status,s)),i.data!=null&&i.data.byteLength>0&&(s.uint32(18),s.bytes(i.data)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={status:t.OK,data:new Uint8Array(0)},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.status=e.StatusCode.codec().decode(i);break;case 2:o.data=i.bytes();break;default:i.skipType(c&7);break}}return o})),n),e.encode=i=>pt(i,e.codec()),e.decode=i=>dt(i,e.codec())})(Ye||(Ye={}));var xg="0.0.1",vg="fetch";var bg=N(vr(),1),_g=N(je(),1);var ke=M("libp2p:fetch"),La=class{constructor(t,r){this.started=!1,this.components=t,this.protocol=`/${r.protocolPrefix??"libp2p"}/${vg}/${xg}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=r}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(r=>{ke.error(r)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,r,n={}){ke("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),s,o=n.signal,a;if(o==null){ke("using default timeout of %d ms",this.init.timeout),s=new bg.TimeoutController(this.init.timeout),o=s.signal;try{(0,_g.setMaxListeners)?.(1/0,s.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:o});let c=ye(a,o);return ke("fetch %s",r),await Ft([Fs.encode({identifier:r})],Ae(),c,me(),async function(u){let f=await se(u);if(f==null)throw new w("No data received",S.ERR_INVALID_MESSAGE);let h=Ye.decode(f);switch(h.status){case Ye.StatusCode.OK:return ke("received status for %s ok",r),h.data;case Ye.StatusCode.NOT_FOUND:return ke("received status for %s not found",r),null;case Ye.StatusCode.ERROR:{ke("received status for %s error",r);let d=z(h.data);throw new w("Error in fetch protocol response: "+d,S.ERR_INVALID_PARAMETERS)}default:throw ke("received status for %s unknown",r),new w("Unknown response status",S.ERR_INVALID_MESSAGE)}})??null}finally{s?.clear(),a?.close()}}async handleMessage(t){let{stream:r}=t,n=this;await Ft(r,me(),async function*(i){let s=await se(i);if(s==null)throw new w("No data received",S.ERR_INVALID_MESSAGE);let o=Fs.decode(s),a,c=n._getLookupFunction(o.identifier);if(c!=null){ke("look up data with identifier %s",o.identifier);let l=await c(o.identifier);l!=null?(ke("sending status for %s ok",o.identifier),a={status:Ye.StatusCode.OK,data:l}):(ke("sending status for %s not found",o.identifier),a={status:Ye.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{ke("sending status for %s error",o.identifier);let l=F(`No lookup function registered for key: ${o.identifier}`);a={status:Ye.StatusCode.ERROR,data:l}}yield Ye.encode(a)},Ae(),r)}_getLookupFunction(t){for(let r of this.lookupFunctions.keys())if(t.startsWith(r))return this.lookupFunctions.get(r)}registerLookupFunction(t,r){if(this.lookupFunctions.has(t))throw new w(`Fetch protocol handler for key prefix '${t}' already registered`,S.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,r)}unregisterLookupFunction(t,r){r!=null&&this.lookupFunctions.get(t)!==r||this.lookupFunctions.delete(t)}};var Sg="1.0.0",Ag="ping";var Ig=N(vr(),1),Tg=N(je(),1),Rg=M("libp2p:ping"),Pa=class{constructor(t,r){this.components=t,this.started=!1,this.protocol=`/${r.protocolPrefix}/${Ag}/${Sg}`,this.init=r}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:r}=t;Ft(r,r).catch(n=>{Rg.error(n)})}async ping(t,r={}){Rg("dialing %s to %p",this.protocol,t);let n=Date.now(),i=Tr(32),s=await this.components.connectionManager.openConnection(t,r),o,a=r.signal,c;if(a==null){o=new Ig.TimeoutController(this.init.timeout),a=o.signal;try{(0,Tg.setMaxListeners)?.(1/0,o.signal)}catch{}}try{c=await s.newStream([this.protocol],{signal:a});let l=ye(c,a),u=await Ft([i],l,async h=>await se(h)),f=Date.now();if(u==null||!xt(i,u.subarray()))throw new w("Received wrong ping ack",S.ERR_WRONG_PING_ACK);return f-n}finally{o?.clear(),c?.close()}}};async function Cg(){throw new Error("Not supported in browsers")}var Lg=N(Bg(),1),sf=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Na=(0,Lg.default)(),Ks=sf&&!Na,Pg=Na&&!sf,Ng=Na&&sf,kg=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Na,Og=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Q3=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",Mg=typeof navigator<"u"&&navigator.product==="ReactNative";var zg=N(Ug(),1);var Fg="[a-fA-F\\d:]",ln=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${Fg})|(?<=${Fg})(?=\\s|$))`:"",We="(?: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}",Yt="[a-fA-F\\d]{1,4}",ka=`
|
|
37
|
+
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function Ib(e){return e.replace(/^\s+/,"")}});var pm=T((n8,dm)=>{var ar=ft();Dn();qt();var um=dm.exports=ar.sha256=ar.sha256||{};ar.md.sha256=ar.md.algorithms.sha256=um;um.create=function(){fm||Tb();var e=null,t=ar.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 t=ar.util.createBuffer(),e={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=ar.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 t.putBytes(i),lm(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ar.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Eu.substr(0,n.blockLength-o));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};lm(f,r,i);var h=ar.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 Eu=null,fm=!1,hm=null;function Tb(){Eu=String.fromCharCode(128),Eu+=ar.util.fillString(String.fromCharCode(0),64),hm=[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],fm=!0}function lm(e,t,r){for(var n,i,s,o,a,c,l,u,f,h,d,p,m,y,g,x=r.length();x>=64;){for(l=0;l<16;++l)t[l]=r.getInt32();for(;l<64;++l)n=t[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[l-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[l]=n+t[l-7]+i+t[l-16]|0;for(u=e.h0,f=e.h1,h=e.h2,d=e.h3,p=e.h4,m=e.h5,y=e.h6,g=e.h7,l=0;l<64;++l)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&f|h&(u^f),n=g+o+a+hm[l]+t[l],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=u,u=n+i>>>0;e.h0=e.h0+u|0,e.h1=e.h1+f|0,e.h2=e.h2+h|0,e.h3=e.h3+d|0,e.h4=e.h4+p|0,e.h5=e.h5+m|0,e.h6=e.h6+y|0,e.h7=e.h7+g|0,x-=64}}});var ym=T((i8,mm)=>{var cr=ft();qt();var ra=null;cr.util.isNodejs&&!cr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ra=An());var Cb=mm.exports=cr.prng=cr.prng||{};Cb.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(l,u){if(!u)return t.generateSync(l);var f=t.plugin.cipher,h=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed,m=cr.util.createBuffer();t.key=null,y();function y(g){if(g)return u(g);if(m.length()>=l)return u(null,m.getBytes(l));if(t.generated>1048575&&(t.key=null),t.key===null)return cr.util.nextTick(function(){s(y)});var x=f(t.key,t.seed);t.generated+=x.length,m.putBytes(x),t.key=d(f(t.key,h(t.seed))),t.seed=p(f(t.key,t.seed)),cr.util.setImmediate(y)}},t.generateSync=function(l){var u=t.plugin.cipher,f=t.plugin.increment,h=t.plugin.formatKey,d=t.plugin.formatSeed;t.key=null;for(var p=cr.util.createBuffer();p.length()<l;){t.generated>1048575&&(t.key=null),t.key===null&&o();var m=u(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=h(u(t.key,f(t.seed))),t.seed=d(u(t.key,t.seed))}return p.getBytes(l)};function s(l){if(t.pools[0].messageLength>=32)return a(),l();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(f,h){if(f)return l(f);t.collect(h),a(),l()})}function o(){if(t.pools[0].messageLength>=32)return a();var l=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(l)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var l=t.plugin.md.create();l.update(t.keyBytes);for(var u=1,f=0;f<32;++f)t.reseeds%u===0&&(l.update(t.pools[f].digest().getBytes()),t.pools[f].start()),u=u<<1;t.keyBytes=l.digest().getBytes(),l.start(),l.update(t.keyBytes);var h=l.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(l){var u=null,f=cr.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(u=function(C){return h.getRandomValues(C)});var d=cr.util.createBuffer();if(u)for(;d.length()<l;){var p=Math.max(1,Math.min(l-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{u(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()<l)for(var g,x,_,O=Math.floor(Math.random()*65536);d.length()<l;){x=16807*(O&65535),g=16807*(O>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),O=x&4294967295;for(var y=0;y<3;++y)_=O>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(l)}return ra?(t.seedFile=function(l,u){ra.randomBytes(l,function(f,h){if(f)return u(f);u(null,h.toString())})},t.seedFileSync=function(l){return ra.randomBytes(l).toString()}):(t.seedFile=function(l,u){try{u(null,c(l))}catch(f){u(f)}},t.seedFileSync=c),t.collect=function(l){for(var u=l.length,f=0;f<u;++f)t.pools[t.pool].update(l.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(l,u){for(var f="",h=0;h<u;h+=8)f+=String.fromCharCode(l>>h&255);t.collect(f)},t.registerWorker=function(l){if(l===self)t.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 u=function(f){var h=f.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(d,p){l.postMessage({forge:{prng:{err:d,bytes:p}}})})};l.addEventListener("message",u)}},t}});var fs=T((s8,xu)=>{var ee=ft();Zo();pm();ym();qt();(function(){if(ee.random&&ee.random.getBytes){xu.exports=ee.random;return}(function(e){var t={},r=new Array(4),n=ee.util.createBuffer();t.formatKey=function(f){var h=ee.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),ee.aes._expandKey(f,!1)},t.formatSeed=function(f){var h=ee.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},t.cipher=function(f,h){return ee.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=ee.md.sha256;function i(){var f=ee.prng.create(t);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=ee.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),ee.options.usePureJavaScript||!ee.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var l="";for(var u in navigator)try{typeof navigator[u]=="string"&&(l+=navigator[u])}catch{}s.collect(l),l=null}e&&(e().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),e().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!ee.random)ee.random=s;else for(var u in s)ee.random[u]=s[u];ee.random.createInstance=i,xu.exports=ee.random})(typeof jQuery<"u"?jQuery:null)})()});var xm=T((o8,Em)=>{var de=ft();qt();var vu=[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],gm=[1,2,3,5],Db=function(e,t){return e<<t&65535|(e&65535)>>16-t},Lb=function(e,t){return(e&65535)>>t|e<<16-t&65535};Em.exports=de.rc2=de.rc2||{};de.rc2.expandKey=function(e,t){typeof e=="string"&&(e=de.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(vu[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,vu[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,vu[r.at(a+1)^r.at(a+s)]);return r};var wm=function(e,t,r){var n=!1,i=null,s=null,o=null,a,c,l,u,f=[];for(e=de.rc2.expandKey(e,t),l=0;l<64;l++)f.push(e.getInt16Le());r?(a=function(p){for(l=0;l<4;l++)p[l]+=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),p[l]=Db(p[l],gm[l]),u++},c=function(p){for(l=0;l<4;l++)p[l]+=f[p[(l+3)%4]&63]}):(a=function(p){for(l=3;l>=0;l--)p[l]=Lb(p[l],gm[l]),p[l]-=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),u--},c=function(p){for(l=3;l>=0;l--)p[l]-=f[p[(l+3)%4]&63]});var h=function(p){var m=[];for(l=0;l<4;l++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}u=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(l=0;l<4;l++)o!==null&&(r?o.putInt16Le(m[l]):m[l]^=o.getInt16Le()),s.putInt16Le(m[l])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=de.util.createBuffer(p)),n=!1,i=de.util.createBuffer(),s=m||new de.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};de.rc2.startEncrypting=function(e,t,r){var n=de.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};de.rc2.createEncryptionCipher=function(e,t){return wm(e,t,!0)};de.rc2.startDecrypting=function(e,t,r){var n=de.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};de.rc2.createDecryptionCipher=function(e,t){return wm(e,t,!1)}});var sa=T((a8,Tm)=>{var bu=ft();Tm.exports=bu.jsbn=bu.jsbn||{};var Tr,Bb=0xdeadbeefcafe,vm=(Bb&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}bu.jsbn.BigInteger=A;function st(){return new A(null)}function Pb(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function Nb(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[e]&32767,l=this.data[e++]>>15,u=a*c+l*o;c=o*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*l+(i>>>30),r.data[n++]=c&1073741823}return i}function bm(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[e]&16383,l=this.data[e++]>>14,u=a*c+l*o;c=o*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*l,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=bm,Tr=28):vm&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=Nb,Tr=30):vm&&navigator.appName!="Netscape"?(A.prototype.am=Pb,Tr=26):(A.prototype.am=bm,Tr=28);A.prototype.DB=Tr;A.prototype.DM=(1<<Tr)-1;A.prototype.DV=1<<Tr;var _u=52;A.prototype.FV=Math.pow(2,_u);A.prototype.F1=_u-Tr;A.prototype.F2=2*Tr-_u;var kb="0123456789abcdefghijklmnopqrstuvwxyz",na=new Array,Ai,Le;Ai="0".charCodeAt(0);for(Le=0;Le<=9;++Le)na[Ai++]=Le;Ai="a".charCodeAt(0);for(Le=10;Le<36;++Le)na[Ai++]=Le;Ai="A".charCodeAt(0);for(Le=10;Le<36;++Le)na[Ai++]=Le;function _m(e){return kb.charAt(e)}function Sm(e,t){var r=na[e.charCodeAt(t)];return r??-1}function Ob(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Mb(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Qr(e){var t=st();return t.fromInt(e),t}function Ub(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:Sm(e,n);if(o<0){e.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&&e[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&A.ZERO.subTo(this,this)}function Fb(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Kb(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=_m(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=_m(n));return i?s:"0"}function Vb(){var e=st();return A.ZERO.subTo(this,e),e}function qb(){return this.s<0?this.negate():this}function $b(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function ia(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function zb(){return this.t<=0?0:this.DB*(this.t-1)+ia(this.data[this.t-1]^this.s&this.DM)}function Hb(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Gb(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Yb(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function Wb(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function Qb(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Xb(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function Zb(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Jb(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=st());var s=st(),o=this.s,a=e.s,c=this.DB-ia(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var l=s.t,u=s.data[l-1];if(u!=0){var f=u*(1<<this.F1)+(l>1?s.data[l-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-l,g=t??st();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.ONE.dlShiftTo(l,g),g.subTo(s,s);s.t<l;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==u?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,l))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}t!=null&&(r.drShiftTo(l,t),o!=a&&A.ZERO.subTo(t,t)),r.t=l,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&A.ZERO.subTo(r,r)}}}function jb(e){var t=st();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function Ln(e){this.m=e}function t2(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function e2(e){return e}function r2(e){e.divRemTo(this.m,null,e)}function n2(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function i2(e,t){e.squareTo(t),this.reduce(t)}Ln.prototype.convert=t2;Ln.prototype.revert=e2;Ln.prototype.reduce=r2;Ln.prototype.mulTo=n2;Ln.prototype.sqrTo=i2;function s2(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Bn(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function o2(e){var t=st();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function a2(e){var t=st();return e.copyTo(t),this.reduce(t),t}function c2(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function l2(e,t){e.squareTo(t),this.reduce(t)}function u2(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Bn.prototype.convert=o2;Bn.prototype.revert=a2;Bn.prototype.reduce=c2;Bn.prototype.mulTo=u2;Bn.prototype.sqrTo=l2;function f2(){return(this.t>0?this.data[0]&1:this.s)==0}function h2(e,t){if(e>4294967295||e<1)return A.ONE;var r=st(),n=st(),i=t.convert(this),s=ia(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function d2(e,t){var r;return e<256||t.isEven()?r=new Ln(t):r=new Bn(t),this.exp(e,r)}A.prototype.copyTo=Ob;A.prototype.fromInt=Mb;A.prototype.fromString=Ub;A.prototype.clamp=Fb;A.prototype.dlShiftTo=Hb;A.prototype.drShiftTo=Gb;A.prototype.lShiftTo=Yb;A.prototype.rShiftTo=Wb;A.prototype.subTo=Qb;A.prototype.multiplyTo=Xb;A.prototype.squareTo=Zb;A.prototype.divRemTo=Jb;A.prototype.invDigit=s2;A.prototype.isEven=f2;A.prototype.exp=h2;A.prototype.toString=Kb;A.prototype.negate=Vb;A.prototype.abs=qb;A.prototype.compareTo=$b;A.prototype.bitLength=zb;A.prototype.mod=jb;A.prototype.modPowInt=d2;A.ZERO=Qr(0);A.ONE=Qr(1);function p2(){var e=st();return this.copyTo(e),e}function m2(){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 y2(){return this.t==0?this.s:this.data[0]<<24>>24}function g2(){return this.t==0?this.s:this.data[0]<<16>>16}function w2(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function E2(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function x2(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Qr(r),i=st(),s=st(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function v2(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var c=Sm(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&A.ZERO.subTo(this,this)}function b2(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),Su,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function _2(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function S2(e){return this.compareTo(e)==0}function A2(e){return this.compareTo(e)<0?this:e}function R2(e){return this.compareTo(e)>0?this:e}function I2(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function T2(e,t){return e&t}function C2(e){var t=st();return this.bitwiseTo(e,T2,t),t}function Su(e,t){return e|t}function D2(e){var t=st();return this.bitwiseTo(e,Su,t),t}function Am(e,t){return e^t}function L2(e){var t=st();return this.bitwiseTo(e,Am,t),t}function Rm(e,t){return e&~t}function B2(e){var t=st();return this.bitwiseTo(e,Rm,t),t}function P2(){for(var e=st(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function N2(e){var t=st();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function k2(e){var t=st();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function O2(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function M2(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+O2(this.data[e]);return this.s<0?this.t*this.DB:-1}function U2(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function F2(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=U2(this.data[r]^t);return e}function K2(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function V2(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function q2(e){return this.changeBit(e,Su)}function $2(e){return this.changeBit(e,Rm)}function z2(e){return this.changeBit(e,Am)}function H2(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function G2(e){var t=st();return this.addTo(e,t),t}function Y2(e){var t=st();return this.subTo(e,t),t}function W2(e){var t=st();return this.multiplyTo(e,t),t}function Q2(e){var t=st();return this.divRemTo(e,t,null),t}function X2(e){var t=st();return this.divRemTo(e,null,t),t}function Z2(e){var t=st(),r=st();return this.divRemTo(e,t,r),new Array(t,r)}function J2(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function j2(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function hs(){}function Im(e){return e}function t_(e,t,r){e.multiplyTo(t,r)}function e_(e,t){e.squareTo(t)}hs.prototype.convert=Im;hs.prototype.revert=Im;hs.prototype.mulTo=t_;hs.prototype.sqrTo=e_;function r_(e){return this.exp(e,new hs)}function n_(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function i_(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function Ri(e){this.r2=st(),this.q3=st(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function s_(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=st();return e.copyTo(t),this.reduce(t),t}function o_(e){return e}function a_(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function c_(e,t){e.squareTo(t),this.reduce(t)}function l_(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Ri.prototype.convert=s_;Ri.prototype.revert=o_;Ri.prototype.reduce=a_;Ri.prototype.mulTo=l_;Ri.prototype.sqrTo=c_;function u_(e,t){var r=e.bitLength(),n,i=Qr(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(t):t.isEven()?s=new Ri(t):s=new Bn(t);var o=new Array,a=3,c=n-1,l=(1<<n)-1;if(o[1]=s.convert(this),n>1){var u=st();for(s.sqrTo(o[1],u);a<=l;)o[a]=st(),s.mulTo(u,o[a-2],o[a]),a+=2}var f=e.t-1,h,d=!0,p=st(),m;for(r=ia(e.data[f])-1;f>=0;){for(r>=c?h=e.data[f]>>r-c&l:(h=(e.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=e.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&&!(e.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 f_(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function h_(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function d_(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=Qr(1),s=Qr(0),o=Qr(0),a=Qr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var ze=[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],p_=(1<<26)/ze[ze.length-1];function m_(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=ze[ze.length-1]){for(t=0;t<ze.length;++t)if(r.data[0]==ze[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<ze.length;){for(var n=ze[t],i=t+1;i<ze.length&&n<p_;)n*=ze[i++];for(n=r.modInt(n);t<i;)if(n%ze[t++]==0)return!1}return r.millerRabin(e)}function y_(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=g_(),s,o=0;o<e;++o){do s=new A(this.bitLength(),i);while(s.compareTo(A.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function g_(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=w2;A.prototype.toRadix=x2;A.prototype.fromRadix=v2;A.prototype.fromNumber=b2;A.prototype.bitwiseTo=I2;A.prototype.changeBit=V2;A.prototype.addTo=H2;A.prototype.dMultiply=J2;A.prototype.dAddOffset=j2;A.prototype.multiplyLowerTo=n_;A.prototype.multiplyUpperTo=i_;A.prototype.modInt=h_;A.prototype.millerRabin=y_;A.prototype.clone=p2;A.prototype.intValue=m2;A.prototype.byteValue=y2;A.prototype.shortValue=g2;A.prototype.signum=E2;A.prototype.toByteArray=_2;A.prototype.equals=S2;A.prototype.min=A2;A.prototype.max=R2;A.prototype.and=C2;A.prototype.or=D2;A.prototype.xor=L2;A.prototype.andNot=B2;A.prototype.not=P2;A.prototype.shiftLeft=N2;A.prototype.shiftRight=k2;A.prototype.getLowestSetBit=M2;A.prototype.bitCount=F2;A.prototype.testBit=K2;A.prototype.setBit=q2;A.prototype.clearBit=$2;A.prototype.flipBit=z2;A.prototype.add=G2;A.prototype.subtract=Y2;A.prototype.multiply=W2;A.prototype.divide=Q2;A.prototype.remainder=X2;A.prototype.divideAndRemainder=Z2;A.prototype.modPow=u_;A.prototype.modInverse=d_;A.prototype.pow=r_;A.prototype.gcd=f_;A.prototype.isProbablePrime=m_});var Pm=T((c8,Bm)=>{var lr=ft();Dn();qt();var Dm=Bm.exports=lr.sha1=lr.sha1||{};lr.md.sha1=lr.md.algorithms.sha1=Dm;Dm.create=function(){Lm||w_();var e=null,t=lr.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 t=lr.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=lr.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 t.putBytes(i),Cm(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=lr.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Au.substr(0,n.blockLength-o));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Cm(f,r,i);var h=lr.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 Au=null,Lm=!1;function w_(){Au=String.fromCharCode(128),Au+=lr.util.fillString(String.fromCharCode(0),64),Lm=!0}function Cm(e,t,r){for(var n,i,s,o,a,c,l,u,f=r.length();f>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,l=a^s&(o^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=a^s&(o^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s&o|a&(s^o),n=(i<<5|i>>>27)+l+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=s^o^a,n=(i<<5|i>>>27)+l+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,f-=64}}});var Om=T((l8,km)=>{var ur=ft();qt();fs();Pm();var Nm=km.exports=ur.pkcs1=ur.pkcs1||{};Nm.encode_rsa_oaep=function(e,t,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=ur.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),c=a-2*s.digestLength-2;if(t.length>c){var l=new Error("RSAES-OAEP input message length is too long.");throw l.length=t.length,l.maxLength=c,l}n||(n=""),s.update(n,"raw");for(var u=s.digest(),f="",h=c-t.length,d=0;d<h;d++)f+="\0";var p=u.getBytes()+f+""+t;if(!i)i=ur.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var l=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=i.length,l.digestLength=s.digestLength,l}var m=oa(i,a-s.digestLength-1,o),y=ur.util.xorBytes(p,m,p.length),g=oa(y,s.digestLength,o),x=ur.util.xorBytes(i,g,i.length);return"\0"+x+y};Nm.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=o,y}if(i===void 0?i=ur.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=t.charAt(0),l=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),f=oa(u,i.digestLength,s),h=ur.util.xorBytes(l,f,l.length),d=oa(h,o-i.digestLength-1,s),p=ur.util.xorBytes(u,d,u.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,O=i.digestLength;O<p.length;O++){var C=p.charCodeAt(O),D=C&1^1,X=x?65534:0;y|=C&X,x=x&D,_+=x}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function oa(e,t,r){r||(r=ur.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var Mm=T((u8,Ru)=>{var Xr=ft();qt();sa();fs();(function(){if(Xr.prime){Ru.exports=Xr.prime;return}var e=Ru.exports=Xr.prime=Xr.prime||{},t=Xr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,h){return f|h};e.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||Xr.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=l(f,h),y=0,g=u(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=l(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-x<y);Xr.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=l(f,h),y=d.workers,g=d.workLoad||100,x=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return Xr.util.estimateCores(function(C,D){C&&(D=2),y=D-1,O()});O();function O(){y=Math.max(1,y);for(var C=[],D=0;D<y;++D)C[D]=new Worker(_);for(var X=y,D=0;D<y;++D)C[D].addEventListener("message",Qt);var J=!1;function Qt(Me){if(!J){--X;var we=Me.data;if(we.found){for(var ae=0;ae<C.length;++ae)C[ae].terminate();return J=!0,p(null,new t(we.prime,16))}m.bitLength()>f&&(m=l(f,h));var Zn=m.toString(16);Me.target.postMessage({hex:Zn,workLoad:g}),m.dAddOffset(x,0)}}}}function l(f,h){var d=new t(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(t.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function u(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 ca=T((f8,zm)=>{var K=ft();us();sa();Go();Om();Mm();fs();qt();typeof et>"u"&&(et=K.jsbn.BigInteger);var et,Iu=K.util.isNodejs?An():null,v=K.asn1,Be=K.util;K.pki=K.pki||{};zm.exports=K.pki.rsa=K.rsa=K.rsa||{};var q=K.pki,E_=[6,4,2,4,2,4,6,2],x_={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"}]},v_={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"}]},b_={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"}]},__=K.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"}]}]},S_={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"}]},A_=function(e){var t;if(e.algorithm in q.oids)t=q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=v.oidToDer(t).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,e.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},qm=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(et.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(et.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new et(K.util.bytesToHex(K.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(et.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};q.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$m(e,t,r)):(i=K.util.createBuffer(),i.putBytes(e));for(var o=new et(i.toHex(),16),a=qm(o,t,n),c=a.toString(16),l=K.util.createBuffer(),u=s-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(K.util.hexToBytes(c)),l.getBytes()};q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new et(K.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=qm(o,t,r),c=a.toString(16),l=K.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(K.util.hexToBytes(c)),n!==!1?aa(l.getBytes(),t,r):l.getBytes()};q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||K.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),l=0;l<a.length;++l)a[l]=c.charCodeAt(l)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:e,rng:i,eInt:t||65537,e:new et(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new et(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,l=c-1;e.pqState===0?(e.num=new et(c,e.rng),e.num.testBit(l)||e.num.bitwiseTo(et.ONE.shiftLeft(l),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(I_(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(E_[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(et.ONE).gcd(e.e).compareTo(et.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(et.ONE),e.q1=e.q.subtract(et.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(et.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var u=e.e.modInverse(e.phi);e.keys={privateKey:q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:q.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!K.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Um("generateKeyPair"))return Iu.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,l){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(l),publicKey:q.publicKeyFromPem(c)})});if(Fm("generateKey")&&Fm("exportKey"))return Be.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Vm(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Be.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(v.fromDer(K.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(Km("generateKey")&&Km("exportKey")){var i=Be.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Vm(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,l=Be.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);l.oncomplete=function(u){var f=u.target.result,h=q.privateKeyFromAsn1(v.fromDer(K.util.createBuffer(f)));n(null,{privateKey:h,publicKey:q.setRsaPublicKey(h.n,h.e)})},l.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(Um("generateKeyPairSync")){var s=Iu.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(s.privateKey),publicKey:q.publicKeyFromPem(s.publicKey)}}}var o=q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return q.rsa.stepKeyPairGenerationState(o,0),o.keys;R_(o,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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,l){return $m(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return K.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 q.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,l){l=aa(l,r,!0);var u=v.fromDer(l,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(u,S_,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===K.oids.md2||p===K.oids.md5||p===K.oids.sha1||p===K.oids.sha224||p===K.oids.sha256||p===K.oids.sha384||p===K.oids.sha512||p===K.oids["sha512-224"]||p===K.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===K.oids.md2||p===K.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,l){return l=aa(l,r,!0),c===l}});var a=q.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var c={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(l,u,f){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var h=q.rsa.decrypt(l,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:aa};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(d,p){return K.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(h,c,!1)},c.sign=function(l,u){var f=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:A_},f=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return l}},f=1);var h=u.encode(l,c.n.bitLength());return q.rsa.encrypt(h,c,f)},c};q.wrapRsaPrivateKey=function(e){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(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(e).getBytes())])};q.privateKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,x_,t,r)&&(e=v.fromDer(K.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,v_,t,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,l,u,f;return i=K.util.createBuffer(t.privateKeyModulus).toHex(),s=K.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=K.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=K.util.createBuffer(t.privateKeyPrime1).toHex(),c=K.util.createBuffer(t.privateKeyPrime2).toHex(),l=K.util.createBuffer(t.privateKeyExponent1).toHex(),u=K.util.createBuffer(t.privateKeyExponent2).toHex(),f=K.util.createBuffer(t.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new et(i,16),new et(s,16),new et(o,16),new et(a,16),new et(c,16),new et(l,16),new et(u,16),new et(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(e){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,fr(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.qInv))])};q.publicKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,__,t,r)){var n=v.derToOid(t.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!v.validate(e,b_,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=K.util.createBuffer(t.publicKeyModulus).toHex(),o=K.util.createBuffer(t.publicKeyExponent).toHex();return q.setRsaPublicKey(new et(s,16),new et(o,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(e){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(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(e)])])};q.publicKeyToRSAPublicKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,fr(e.e))])};function $m(e,t,r){var n=K.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.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 l=0,u=K.random.getBytes(o),c=0;c<o;++c)a=u.charCodeAt(c),a===0?++l:n.putByte(a);o=l}return n.putByte(0),n.putBytes(e),n}function aa(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=K.util.createBuffer(e),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 l=0;l<c;++l)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 u=s.getByte();if(u!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function R_(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,c){K.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var l=e.p;e.p=e.q,e.q=l}if(e.p.subtract(et.ONE).gcd(e.e).compareTo(et.ONE)!==0){e.p=null,i();return}if(e.q.subtract(et.ONE).gcd(e.e).compareTo(et.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(et.ONE),e.q1=e.q.subtract(et.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(et.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var u=e.e.modInverse(e.phi);e.keys={privateKey:q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function fr(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=K.util.hexToBytes(t);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 I_(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Um(e){return K.util.isNodejs&&typeof Iu[e]=="function"}function Fm(e){return typeof Be.globalScope<"u"&&typeof Be.globalScope.crypto=="object"&&typeof Be.globalScope.crypto.subtle=="object"&&typeof Be.globalScope.crypto.subtle[e]=="function"}function Km(e){return typeof Be.globalScope<"u"&&typeof Be.globalScope.msCrypto=="object"&&typeof Be.globalScope.msCrypto.subtle=="object"&&typeof Be.globalScope.msCrypto.subtle[e]=="function"}function Vm(e){for(var t=K.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Xm=T((h8,Qm)=>{var B=ft();Zo();us();em();Dn();Go();wu();cm();fs();xm();ca();qt();typeof Hm>"u"&&(Hm=B.jsbn.BigInteger);var Hm,b=B.asn1,H=B.pki=B.pki||{};Qm.exports=H.pbe=B.pbe=B.pbe||{};var Pn=H.oids,T_={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"}]},C_={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"}]}]},D_={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"}]};H.encryptPrivateKeyInfo=function(e,t,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=B.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var l,u,f;switch(r.algorithm){case"aes128":o=16,l=16,u=Pn["aes128-CBC"],f=B.aes.createEncryptionCipher;break;case"aes192":o=24,l=16,u=Pn["aes192-CBC"],f=B.aes.createEncryptionCipher;break;case"aes256":o=32,l=16,u=Pn["aes256-CBC"],f=B.aes.createEncryptionCipher;break;case"des":o=8,l=8,u=Pn.desCBC,f=B.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=Wm(d),m=B.pkcs5.pbkdf2(t,n,i,o,p),y=B.random.getBytesSync(l),g=f(m);g.start(y),g.update(b.toDer(e)),g.finish(),c=g.output.getBytes();var x=L_(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(Pn.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(Pn.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(u).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new B.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(t,_,1,i,o),y=H.pbe.generatePkcs12Key(t,_,2,i,o),g=B.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(e)),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(Pn["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 O=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return O};H.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,T_,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=H.pbe.getCipher(o,n.encryptionParams,t),c=B.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};H.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(e).getBytes()};return B.pem.encode(r,{maxline:t})};H.encryptedPrivateKeyFromPem=function(e){var t=B.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(t.body)};H.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(e));return n=H.encryptPrivateKeyInfo(n,t,r),H.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=B.random.getBytesSync(16),a=B.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=B.random.getBytesSync(16),a=B.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=B.random.getBytesSync(16),a=B.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=B.random.getBytesSync(8),a=B.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=B.random.getBytesSync(8),a=B.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 l=B.pbe.opensslDeriveBytes(t,s.substr(0,8),o),u=a(l);u.start(s),u.update(b.toDer(H.privateKeyToAsn1(e))),u.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:B.util.bytesToHex(s).toUpperCase()},body:u.output.getBytes()};return B.pem.encode(f)};H.decryptRsaPrivateKey=function(e,t){var r=null,n=B.pem.decode(e)[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=B.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=B.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=B.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=B.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=B.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return B.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return B.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return B.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=B.util.hexToBytes(n.dekInfo.parameters),c=B.pbe.opensslDeriveBytes(t,a.substr(0,8),s),l=o(c);if(l.start(a),l.update(B.util.createBuffer(n.body)),l.finish())r=l.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=H.decryptPrivateKeyInfo(b.fromDer(r),t):r=b.fromDer(r),r!==null&&(r=H.privateKeyFromAsn1(r)),r};H.pbe.generatePkcs12Key=function(e,t,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in B.md))throw new Error('"sha1" hash algorithm unavailable.');s=B.md.sha1.create()}var c=s.digestLength,l=s.blockLength,u=new B.util.ByteBuffer,f=new B.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)f.putInt16(e.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=t.length(),p=new B.util.ByteBuffer;p.fillWithByte(r,l);var m=l*Math.ceil(d/l),y=new B.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%d));var g=l*Math.ceil(h/l),x=new B.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var _=y;_.putBuffer(x);for(var O=Math.ceil(i/c),C=1;C<=O;C++){var D=new B.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(_.bytes());for(var X=0;X<n;X++)s.start(),s.update(D.getBytes()),D=s.digest();var J=new B.util.ByteBuffer;for(a=0;a<l;a++)J.putByte(D.at(a%c));var Qt=Math.ceil(d/l)+Math.ceil(h/l),Me=new B.util.ByteBuffer;for(o=0;o<Qt;o++){var we=new B.util.ByteBuffer(_.getBytes(l)),ae=511;for(a=J.length()-1;a>=0;a--)ae=ae>>8,ae+=J.at(a)+we.at(a),we.setAt(a,ae&255);Me.putBuffer(we)}_=Me,u.putBuffer(D)}return u.truncate(u.length()-i),u};H.pbe.getCipher=function(e,t,r){switch(e){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(e,t,r);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};H.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!b.validate(t,C_,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(e=b.derToOid(n.kdfOid),e!==H.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=b.derToOid(n.encOid),e!==H.oids["aes128-CBC"]&&e!==H.oids["aes192-CBC"]&&e!==H.oids["aes256-CBC"]&&e!==H.oids["des-EDE3-CBC"]&&e!==H.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=B.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,l;switch(H.oids[e]){case"aes128-CBC":c=16,l=B.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,l=B.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,l=B.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,l=B.des.createDecryptionCipher;break;case"desCBC":c=8,l=B.des.createDecryptionCipher;break}var u=Ym(n.prfOid),f=B.pkcs5.pbkdf2(r,o,a,c,u),h=n.encIv,d=l(f);return d.start(h),d};H.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!b.validate(t,D_,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=B.util.createBuffer(n.salt),a=B.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,l,u;switch(e){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,l=8,u=B.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,l=8,u=function(m,y){var g=B.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=e,s}var f=Ym(n.prfOid),h=H.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=H.pbe.generatePkcs12Key(r,o,2,a,l,f);return u(h,d)};H.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in B.md))throw new Error('"md5" hash algorithm unavailable.');n=B.md.md5.create()}t===null&&(t="");for(var i=[Gm(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(Gm(n,i[o-1]+e+t));return i.join("").substr(0,r)};function Gm(e,t){return e.start().update(t).digest().getBytes()}function Ym(e){var t;if(!e)t="hmacWithSHA1";else if(t=H.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Wm(t)}function Wm(e){var t=B.md;switch(e){case"hmacWithSHA224":t=B.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function L_(e,t,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,B.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(H.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var cy=T((H8,ay)=>{var Rt=ft();Dn();qt();var ds=ay.exports=Rt.sha512=Rt.sha512||{};Rt.md.sha512=Rt.md.algorithms.sha512=ds;var sy=Rt.sha384=Rt.sha512.sha384=Rt.sha512.sha384||{};sy.create=function(){return ds.create("SHA-384")};Rt.md.sha384=Rt.md.algorithms.sha384=sy;Rt.sha512.sha256=Rt.sha512.sha256||{create:function(){return ds.create("SHA-512/256")}};Rt.md["sha512/256"]=Rt.md.algorithms["sha512/256"]=Rt.sha512.sha256;Rt.sha512.sha224=Rt.sha512.sha224||{create:function(){return ds.create("SHA-512/224")}};Rt.md["sha512/224"]=Rt.md.algorithms["sha512/224"]=Rt.sha512.sha224;ds.create=function(e){if(oy||N_(),typeof e>"u"&&(e="SHA-512"),!(e in Nn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Nn[e],r=null,n=Rt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.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,l=0;l<c;++l)a.fullMessageLength.push(0);n=Rt.util.createBuffer(),r=new Array(t.length);for(var l=0;l<t.length;++l)r[l]=t[l].slice(0);return a},a.start(),a.update=function(c,l){l==="utf8"&&(c=Rt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=u[1],u[1]=u[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),iy(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Rt.util.createBuffer();c.putBytes(n.bytes());var l=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=l&a.blockLength-1;c.putBytes(Tu.substr(0,a.blockLength-u));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);iy(m,i,c);var y=Rt.util.createBuffer(),g;e==="SHA-512"?g=m.length:e==="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||e!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Tu=null,oy=!1,Cu=null,Nn=null;function N_(){Tu=String.fromCharCode(128),Tu+=Rt.util.fillString(String.fromCharCode(0),128),Cu=[[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]],Nn={},Nn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Nn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Nn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Nn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],oy=!0}function iy(e,t,r){for(var n,i,s,o,a,c,l,u,f,h,d,p,m,y,g,x,_,O,C,D,X,J,Qt,Me,we,ae,Zn,eo,zt,fe,V,Sc,Ac,Rc,Ic,eh=r.length();eh>=128;){for(zt=0;zt<16;++zt)t[zt][0]=r.getInt32()>>>0,t[zt][1]=r.getInt32()>>>0;for(;zt<80;++zt)Sc=t[zt-2],fe=Sc[0],V=Sc[1],n=((fe>>>19|V<<13)^(V>>>29|fe<<3)^fe>>>6)>>>0,i=((fe<<13|V>>>19)^(V<<3|fe>>>29)^(fe<<26|V>>>6))>>>0,Rc=t[zt-15],fe=Rc[0],V=Rc[1],s=((fe>>>1|V<<31)^(fe>>>8|V<<24)^fe>>>7)>>>0,o=((fe<<31|V>>>1)^(fe<<24|V>>>8)^(fe<<25|V>>>7))>>>0,Ac=t[zt-7],Ic=t[zt-16],V=i+Ac[1]+o+Ic[1],t[zt][0]=n+Ac[0]+s+Ic[0]+(V/4294967296>>>0)>>>0,t[zt][1]=V>>>0;for(m=e[0][0],y=e[0][1],g=e[1][0],x=e[1][1],_=e[2][0],O=e[2][1],C=e[3][0],D=e[3][1],X=e[4][0],J=e[4][1],Qt=e[5][0],Me=e[5][1],we=e[6][0],ae=e[6][1],Zn=e[7][0],eo=e[7][1],zt=0;zt<80;++zt)l=((X>>>14|J<<18)^(X>>>18|J<<14)^(J>>>9|X<<23))>>>0,u=((X<<18|J>>>14)^(X<<14|J>>>18)^(J<<23|X>>>9))>>>0,f=(we^X&(Qt^we))>>>0,h=(ae^J&(Me^ae))>>>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|O&(y^x))>>>0,V=eo+u+h+Cu[zt][1]+t[zt][1],n=Zn+l+f+Cu[zt][0]+t[zt][0]+(V/4294967296>>>0)>>>0,i=V>>>0,V=c+p,s=a+d+(V/4294967296>>>0)>>>0,o=V>>>0,Zn=we,eo=ae,we=Qt,ae=Me,Qt=X,Me=J,V=D+i,X=C+n+(V/4294967296>>>0)>>>0,J=V>>>0,C=_,D=O,_=g,O=x,g=m,x=y,V=i+o,m=n+s+(V/4294967296>>>0)>>>0,y=V>>>0;V=e[0][1]+y,e[0][0]=e[0][0]+m+(V/4294967296>>>0)>>>0,e[0][1]=V>>>0,V=e[1][1]+x,e[1][0]=e[1][0]+g+(V/4294967296>>>0)>>>0,e[1][1]=V>>>0,V=e[2][1]+O,e[2][0]=e[2][0]+_+(V/4294967296>>>0)>>>0,e[2][1]=V>>>0,V=e[3][1]+D,e[3][0]=e[3][0]+C+(V/4294967296>>>0)>>>0,e[3][1]=V>>>0,V=e[4][1]+J,e[4][0]=e[4][0]+X+(V/4294967296>>>0)>>>0,e[4][1]=V>>>0,V=e[5][1]+Me,e[5][0]=e[5][0]+Qt+(V/4294967296>>>0)>>>0,e[5][1]=V>>>0,V=e[6][1]+ae,e[6][0]=e[6][0]+we+(V/4294967296>>>0)>>>0,e[6][1]=V>>>0,V=e[7][1]+eo,e[7][0]=e[7][0]+Zn+(V/4294967296>>>0)>>>0,e[7][1]=V>>>0,eh-=128}}});var Gg=T((PN,Hg)=>{function pA(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}Hg.exports=pA});var jg=T(Hs=>{(function(){var e,t,r,n,i,s,o,a;a=function(c){var l,u,f,h;return l=(c&255<<24)>>>24,u=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[l,u,f,h].join(".")},o=function(c){var l,u,f,h,d,p;for(l=[],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=t(c),d=p[0],u=p[1],c=c.substring(u),l.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),t=function(c){var l,u,f,h,d;for(h=0,l=10,u="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,l=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,l=8,u="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=u)h=h*l+(r(c[f])-n)>>>0;else if(l===16)if("a"<=c[f]&&c[f]<="f")h=h*l+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*l+(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]},e=function(){function c(l,u){var f,h,d,p;if(typeof l!="string")throw new Error("Missing `net' parameter");if(u||(p=l.split("/",2),l=p[0],u=p[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=o(u)}catch(m){throw f=m,new Error("Invalid mask: "+u)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(u||u===0)this.bitmask=parseInt(u,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(l)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);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(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new c(l)),l instanceof c?this.contains(l.base)&&this.contains(l.broadcast||l.last):(o(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(l){return l==null&&(l=1),new c(a(this.netLong+this.size*l),this.mask)},c.prototype.forEach=function(l){var u,f,h;for(h=o(this.first),f=o(this.last),u=0;h<=f;)l(a(h),h,u),u++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Hs.ip2long=o,Hs.long2ip=a,Hs.Netmask=e}).call(Hs)});var nw=T((rw,Va)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"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(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${t}\\.${t}\\.${t}\\.${t}(${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 O=d.split(":"),C=[];for(let D=0;D<O.length;D++)C.push(parseInt(O[D],16));return C}(),{parts:p,zoneId:g}}function l(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 u(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 l(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(u(m));return x}();if(p=d.match(r.longValue)){if(y=u(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=u(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(u(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=u(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(u(g[0])),x.push(u(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 l(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 Va<"u"&&Va.exports?Va.exports=h:e.ipaddr=h})(rw)});var hw=T((Fk,Ef)=>{"use strict";var RA=Object.prototype.hasOwnProperty,ue="~";function Ys(){}Object.create&&(Ys.prototype=Object.create(null),new Ys().__proto__||(ue=!1));function IA(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function fw(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new IA(r,n||e,i),o=ue?ue+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],s]:e._events[o].push(s):(e._events[o]=s,e._eventsCount++),e}function tc(e,t){--e._eventsCount===0?e._events=new Ys:delete e._events[t]}function oe(){this._events=new Ys,this._eventsCount=0}oe.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)RA.call(r,n)&&t.push(ue?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};oe.prototype.listeners=function(t){var r=ue?ue+t:t,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};oe.prototype.listenerCount=function(t){var r=ue?ue+t:t,n=this._events[r];return n?n.fn?1:n.length:0};oe.prototype.emit=function(t,r,n,i,s,o){var a=ue?ue+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){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,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){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(!u)for(d=1,u=new Array(l-1);d<l;d++)u[d-1]=arguments[d];c[f].fn.apply(c[f].context,u)}}return!0};oe.prototype.on=function(t,r,n){return fw(this,t,r,n,!1)};oe.prototype.once=function(t,r,n){return fw(this,t,r,n,!0)};oe.prototype.removeListener=function(t,r,n,i){var s=ue?ue+t:t;if(!this._events[s])return this;if(!r)return tc(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&tc(this,s);else{for(var a=0,c=[],l=o.length;a<l;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:tc(this,s)}return this};oe.prototype.removeAllListeners=function(t){var r;return t?(r=ue?ue+t:t,this._events[r]&&tc(this,r)):(this._events=new Ys,this._eventsCount=0),this};oe.prototype.off=oe.prototype.removeListener;oe.prototype.addListener=oe.prototype.on;oe.prefixed=ue;oe.EventEmitter=oe;typeof Ef<"u"&&(Ef.exports=oe)});var Lw=T((i5,Dw)=>{"use strict";Dw.exports=Cw;var NA=Tc(),pn=Cw.prototype,kA=new Date%1e9;function OA(){return(Math.random()*1e9>>>0)+kA++}function Cw(e){e=e||{},this.id=e.id||OA(),this.max=e.max||1/0,this.items=e.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(e.lastModified||new Date);for(var t,r,n=this.items.length;n--;)t=this.items[n],r=new Date(t.expires)-new Date,this._lookup[t.key]=t,r>0?this.expire(t.key,r):r<=0&&this.delete(t.key)}pn.has=function(e){return e in this._lookup};pn.get=function(e){if(!this.has(e))return null;var t=this._lookup[e];return t.refresh&&this.expire(e,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};pn.meta=function(e){if(!this.has(e))return null;var t=this._lookup[e];return"meta"in t?t.meta:null};pn.set=function(e,t,r){var n=this._lookup[e],i=this._lookup[e]={key:e,value:t};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(e,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};pn.delete=function(e){var t=this._lookup[e];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[e],this.size--,this):!1};pn.expire=function(e,t){var r=t||0,n=this._lookup[e];if(!n)return this;if(typeof r=="string"&&(r=NA(t)),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};pn.clear=function(){for(var e=this.items.length;e--;)this.delete(this.items[e].key);return this};pn.toJSON=function(){for(var e=new Array(this.items.length),t,r=e.length;r--;)t=this.items[r],e[r]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:e}}});var Zf=T((U5,Xf)=>{function Kw(e){let t=new globalThis.AbortController;function r(){t.abort();for(let n of e)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of e)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return t.signal}Xf.exports=Kw;Xf.exports.anySignal=Kw});var qw=T((K5,Vw)=>{Vw.exports=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var Hw=T((q5,zw)=>{var $w=qw();zw.exports=class{constructor(t){this.hwm=t||16,this.head=new $w(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let r=this.head;this.head=r.next=new $w(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var Yw=T(($5,Gw)=>{"use strict";var qA=()=>{let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e};Gw.exports=qA});var Zw=T((H5,Xw)=>{var Ww=Hw(),Qw=Yw();Xw.exports=class{constructor(){this._buffer=new Ww,this._waitingConsumers=new Ww}push(t){let{promise:r,resolve:n}=Qw();return this._buffer.push({chunk:t,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),r=this._buffer.shift();t.resolve(r.chunk),r.resolve()}}shift(){let{promise:t,resolve:r}=Qw();return this._waitingConsumers.push({resolve:r}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var GA={};ne(GA,{createLibp2p:()=>HA});var Ie=N(Cc(),1);var Nc={};ne(Nc,{base58btc:()=>Mt,base58flickr:()=>T1});function _1(e,t){if(e.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<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=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)*u+1>>>0,O=new Uint8Array(_);g!==x;){for(var C=p[g],D=0,X=_-1;(C!==0||D<y)&&X!==-1;X--,D++)C+=256*O[X]>>>0,O[X]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=D,g++}for(var J=_-y;J!==_&&O[J]===0;)J++;for(var Qt=c.repeat(m);J<_;++J)Qt+=e.charAt(O[J]);return Qt}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)*l+1>>>0,_=new Uint8Array(x);p[m];){var O=r[p.charCodeAt(m)];if(O===255)return;for(var C=0,D=x-1;(O!==0||C<g)&&D!==-1;D--,C++)O+=a*_[D]>>>0,_[D]=O%256>>>0,O=O/256>>>0;if(O!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var X=x-g;X!==x&&_[X]===0;)X++;for(var J=new Uint8Array(y+(x-X)),Qt=y;X!==x;)J[Qt++]=_[X++];return J}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var S1=_1,A1=S1,oh=A1;var ZA=new Uint8Array(0);var ah=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},gr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var ch=e=>new TextEncoder().encode(e),lh=e=>new TextDecoder().decode(e);var Dc=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Lc=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return fh(this,t)}},Bc=class{constructor(t){this.decoders=t}or(t){return fh(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},fh=(e,t)=>new Bc({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Pc=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Dc(t,r,n),this.decoder=new Lc(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ei=({name:e,prefix:t,encode:r,decode:n})=>new Pc(e,t,r,n),Mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=oh(r,t);return ei({prefix:e,name:t,encode:n,decode:s=>gr(i(s))})},R1=(e,t,r,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let s=e.length;for(;e[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,l=0;for(let u=0;u<s;++u){let f=i[e[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},I1=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Pt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>ei({prefix:t,name:e,encode(i){return I1(i,n,r)},decode(i){return R1(i,n,r,e)}});var Mt=Mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),T1=Mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var kc={};ne(kc,{base32:()=>xe,base32hex:()=>B1,base32hexpad:()=>N1,base32hexpadupper:()=>k1,base32hexupper:()=>P1,base32pad:()=>D1,base32padupper:()=>L1,base32upper:()=>C1,base32z:()=>O1});var xe=Pt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C1=Pt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),D1=Pt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),L1=Pt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),B1=Pt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),P1=Pt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),N1=Pt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),k1=Pt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),O1=Pt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Oc={};ne(Oc,{base64:()=>yn,base64pad:()=>M1,base64url:()=>U1,base64urlpad:()=>F1});var yn=Pt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),M1=Pt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),U1=Pt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),F1=Pt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});Ie.default.formatters.b=e=>e==null?"undefined":Mt.baseEncode(e);Ie.default.formatters.t=e=>e==null?"undefined":xe.baseEncode(e);Ie.default.formatters.m=e=>e==null?"undefined":yn.baseEncode(e);Ie.default.formatters.p=e=>e==null?"undefined":e.toString();Ie.default.formatters.c=e=>e==null?"undefined":e.toString();Ie.default.formatters.k=e=>e==null?"undefined":e.toString();function K1(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function M(e){let t=K1(`${e}:trace`);return Ie.default.enabled(`${e}:trace`)&&Ie.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,Ie.default)(`${e}:trace`)),Object.assign((0,Ie.default)(e),{error:(0,Ie.default)(`${e}:error`),trace:t})}var gn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},wr,Nt=class extends EventTarget{constructor(){super(...arguments),wr.set(this,new Map)}listenerCount(t){let r=gn(this,wr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=gn(this,wr,"f").get(t);i==null&&(i=[],gn(this,wr,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=gn(this,wr,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),gn(this,wr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=gn(this,wr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),gn(this,wr,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new $(t,r))}};wr=new WeakMap;var Mc=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},$=globalThis.CustomEvent??Mc;function Er(e){return e!=null&&typeof e.start=="function"&&typeof e.stop=="function"}var so=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();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(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,t);if(!Number.isNaN(h))return h});if(u===void 0)break;if(s*=t,s+=u,s>l||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=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]=t(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]=t(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var hh=45,V1=15,ri=new so;function Uc(e){if(!(e.length>V1))return ri.new(e).parseWith(()=>ri.readIPv4Addr())}function Fc(e){if(!(e.length>hh))return ri.new(e).parseWith(()=>ri.readIPv6Addr())}function oo(e){if(!(e.length>hh))return ri.new(e).parseWith(()=>ri.readIPAddr())}function dh(e){return!!Uc(e)}function ph(e){return!!Fc(e)}function ni(e){return!!oo(e)}var Kc={};ne(Kc,{identity:()=>q1});var q1=ei({prefix:"\0",name:"identity",encode:e=>lh(e),decode:e=>ch(e)});var Vc={};ne(Vc,{base2:()=>$1});var $1=Pt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var qc={};ne(qc,{base8:()=>z1});var z1=Pt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $c={};ne($c,{base10:()=>H1});var H1=Mr({prefix:"9",name:"base10",alphabet:"0123456789"});var zc={};ne(zc,{base16:()=>G1,base16upper:()=>Y1});var G1=Pt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Y1=Pt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Hc={};ne(Hc,{base36:()=>W1,base36upper:()=>Q1});var W1=Mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Q1=Mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Gc={};ne(Gc,{base256emoji:()=>tE});var mh=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}"),X1=mh.reduce((e,t,r)=>(e[r]=t,e),[]),Z1=mh.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function J1(e){return e.reduce((t,r)=>(t+=X1[r],t),"")}function j1(e){let t=[];for(let r of e){let n=Z1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var tE=ei({prefix:"\u{1F680}",name:"base256emoji",encode:J1,decode:j1});var Xc={};ne(Xc,{sha256:()=>ie,sha512:()=>EE});var eE=wh,yh=128,rE=127,nE=~rE,iE=Math.pow(2,31);function wh(e,t,r){t=t||[],r=r||0;for(var n=r;e>=iE;)t[r++]=e&255|yh,e/=128;for(;e&nE;)t[r++]=e&255|yh,e>>>=7;return t[r]=e|0,wh.bytes=r-n+1,t}var sE=Yc,oE=128,gh=127;function Yc(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw Yc.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&gh)<<i:(o&gh)*Math.pow(2,i),i+=7}while(o>=oE);return Yc.bytes=s-n,r}var aE=Math.pow(2,7),cE=Math.pow(2,14),lE=Math.pow(2,21),uE=Math.pow(2,28),fE=Math.pow(2,35),hE=Math.pow(2,42),dE=Math.pow(2,49),pE=Math.pow(2,56),mE=Math.pow(2,63),yE=function(e){return e<aE?1:e<cE?2:e<lE?3:e<uE?4:e<fE?5:e<hE?6:e<dE?7:e<pE?8:e<mE?9:10},gE={encode:eE,decode:sE,encodingLength:yE},wE=gE,$i=wE;var zi=(e,t=0)=>[$i.decode(e,t),$i.decode.bytes],ii=(e,t,r=0)=>($i.encode(e,t,r),t),si=e=>$i.encodingLength(e);var Je=(e,t)=>{let r=t.byteLength,n=si(e),i=n+si(r),s=new Uint8Array(i+r);return ii(e,s,0),ii(r,s,n),s.set(t,i),new oi(e,r,t,s)},wn=e=>{let t=gr(e),[r,n]=zi(t),[i,s]=zi(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new oi(r,i,o,t)},Eh=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&ah(e.bytes,r.bytes)}},oi=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Qc=({name:e,code:t,encode:r})=>new Wc(e,t,r),Wc=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Je(this.code,r):r.then(n=>Je(this.code,n))}else throw Error("Unknown type, must be binary type")}};var vh=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),ie=Qc({name:"sha2-256",code:18,encode:vh("SHA-256")}),EE=Qc({name:"sha2-512",code:19,encode:vh("SHA-512")});var Zc={};ne(Zc,{identity:()=>Ur});var bh=0,xE="identity",_h=gr,vE=e=>Je(bh,_h(e)),Ur={code:bh,name:xE,encode:_h,digest:vE};var CR=new TextEncoder,DR=new TextDecoder;var Sh=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return AE(r,Jc(e),t||Mt.encoder);default:return RE(r,Jc(e),t||xe.encoder)}};var Ah=new WeakMap,Jc=e=>{let t=Ah.get(e);if(t==null){let r=new Map;return Ah.set(e,r),r}return t},Et=class{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==Hi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==IE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Et.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:t,digest:r}=this.multihash,n=Je(t,r);return Et.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(t){return Et.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Eh(t.multihash,n.multihash)}toString(t){return Sh(this,t)}toJSON(){return{"/":Sh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof Et)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new Et(n,i,s,o||Rh(n,i,s.bytes))}else if(r[TE]===!0){let{version:n,multihash:i,code:s}=r,o=wn(i);return Et.create(n,s,o)}else return null}static create(t,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(t){case 0:{if(r!==Hi)throw new Error(`Version 0 CID must use dag-pb (code: ${Hi}) block encoding`);return new Et(t,r,n,n.bytes)}case 1:{let i=Rh(t,r,n.bytes);return new Et(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return Et.create(0,Hi,t)}static createV1(t,r){return Et.create(1,t,r)}static decode(t){let[r,n]=Et.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=Et.inspectBytes(t),n=r.size-r.multihashSize,i=gr(t.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 oi(r.multihashCode,r.digestSize,s,i);return[r.version===0?Et.createV0(o):Et.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[f,h]=zi(t.subarray(r));return r+=h,f},i=n(),s=Hi;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(),l=r+c,u=l-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,r){let[n,i]=SE(t,r),s=Et.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Jc(s).set(n,t),s}},SE=(e,t)=>{switch(e[0]){case"Q":{let r=t||Mt;return[Mt.prefix,r.decode(`${Mt.prefix}${e}`)]}case Mt.prefix:{let r=t||Mt;return[Mt.prefix,r.decode(e)]}case xe.prefix:{let r=t||xe;return[xe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},AE=(e,t,r)=>{let{prefix:n}=r;if(n!==Mt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},RE=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},Hi=112,IE=18,Rh=(e,t,r)=>{let n=si(e),i=n+si(t),s=new Uint8Array(i+r.byteLength);return ii(e,s,0),ii(t,s,n),s.set(r,i),s},TE=Symbol.for("@ipld/js-cid/CID");var Fr={...Kc,...Vc,...qc,...$c,...zc,...kc,...Hc,...Nc,...Oc,...Gc},KR={...Xc,...Zc};function xn(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function xr(e=0){return globalThis.Buffer?.alloc!=null?xn(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Ue(e=0){return globalThis.Buffer?.allocUnsafe!=null?xn(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Th(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Ih=Th("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),jc=Th("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Ue(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),CE={utf8:Ih,"utf-8":Ih,hex:Fr.base16,latin1:jc,ascii:jc,binary:jc,...Fr},co=CE;function z(e,t="utf8"){let r=co[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Ch=dh,DE=ph,tl=function(e){let t=0;if(e=e.toString().trim(),Ch(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(DE(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=Ch(r[n]),o;s&&(o=tl(r[n]),r[n]=z(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,z(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(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},Dh=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(e[t+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Gi={},el={},BE=[[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"]];BE.forEach(e=>{let t=PE(...e);el[t.code]=t,Gi[t.name]=t});function PE(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function j(e){if(typeof e=="number"){if(el[e]!=null)return el[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Gi[e]!=null)return Gi[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var je=N(lo(),1);function F(e,t="utf8"){let r=co[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?xn(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function Ut(e,t){t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=Ue(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return xn(r)}var yI=parseInt("0xFFFF",16),gI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var WI=j("ip4"),QI=j("ip6"),XI=j("ipcidr");function Gh(e,t){switch(j(e).code){case 4:case 41:return JE(t);case 42:return zh(t);case 6:case 273:case 33:case 132:return Wh(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return zh(t);case 421:return rx(t);case 444:return Hh(t);case 445:return Hh(t);case 466:return ex(t);default:return z(t,"base16")}}function Yh(e,t){switch(j(e).code){case 4:return qh(t);case 41:return qh(t);case 42:return $h(t);case 6:case 273:case 33:case 132:return sl(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $h(t);case 421:return jE(t);case 444:return nx(t);case 445:return ix(t);case 466:return tx(t);default:return F(t,"base16")}}var il=Object.values(Fr).map(e=>e.decoder),ZE=function(){let e=il[0].or(il[1]);return il.slice(2).forEach(t=>e=e.or(t)),e}();function qh(e){if(!ni(e))throw new Error("invalid ip address");return tl(e)}function JE(e){let t=Dh(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!ni(t))throw new Error("invalid ip address");return t}function sl(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Wh(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function $h(e){let t=F(e),r=Uint8Array.from(je.default.encode(t.length));return Ut([r,t],r.length+t.length)}function zh(e){let t=je.default.decode(e);if(e=e.slice(je.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return z(e)}function jE(e){let t;e[0]==="Q"||e[0]==="1"?t=wn(Mt.decode(`z${e}`)).bytes:t=Et.parse(e).multihash.bytes;let r=Uint8Array.from(je.default.encode(t.length));return Ut([r,t],r.length+t.length)}function tx(e){let t=ZE.decode(e),r=Uint8Array.from(je.default.encode(t.length));return Ut([r,t],r.length+t.length)}function ex(e){let t=je.default.decode(e),r=e.slice(je.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+z(r,"base64url")}function rx(e){let t=je.default.decode(e),r=e.slice(je.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return z(r,"base58btc")}function nx(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=xe.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=sl(n);return Ut([r,i],r.length+i.length)}function ix(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=xe.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=sl(n);return Ut([r,i],r.length+i.length)}function Hh(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=z(t,"base32"),i=Wh(r);return`${n}:${i}`}var ai=N(lo(),1);function sx(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=j(i);if(s.size===0){t.push([i]);continue}if(n++,n>=r.length)throw Xh("invalid address: "+e);if(s.path===!0){t.push([i,ul(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function ox(e){let t=[];return e.map(r=>{let n=ho(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),ul(t.join("/"))}function ax(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=ho(t);return t.length>1?[r.code,Yh(r.code,t[1])]:[r.code]})}function ol(e){return e.map(t=>{let r=ho(t);return t[1]!=null?[r.code,Gh(r.code,t[1])]:[r.code]})}function al(e){return fo(Ut(e.map(t=>{let r=ho(t),n=Uint8Array.from(ai.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=Ut([n,t[1]])),n})))}function cl(e,t){return e.size>0?e.size/8:e.size===0?0:ai.default.decode(t)+(ai.default.decode.bytes??0)}function uo(e){let t=[],r=0;for(;r<e.length;){let n=ai.default.decode(e,r),i=ai.default.decode.bytes??0,s=j(n),o=cl(s,e.slice(r+i));if(o===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+o);if(r+=o+i,r>e.length)throw Xh("Invalid address Uint8Array: "+z(e,"base16"));t.push([n,a])}return t}function ll(e){let t=uo(e),r=ol(t);return ox(r)}function cx(e){e=ul(e);let t=sx(e),r=ax(t);return al(r)}function Qh(e){return cx(e)}function fo(e){let t=lx(e);if(t!=null)throw t;return Uint8Array.from(e)}function lx(e){try{uo(e)}catch(t){return t}}function ul(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Xh(e){return new Error("Error parsing address: "+e)}function ho(e){return j(e[0])}var hl=N(lo(),1);var td=N(Yi(),1);function xt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var ci=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},fl=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},Wi,Qi,Xi,jh,hx=Symbol.for("nodejs.util.inspect.custom"),dx=[j("dns").code,j("dns4").code,j("dns6").code,j("dnsaddr").code],dl=new Map,ed=Symbol.for("@multiformats/js-multiaddr/multiaddr");function rd(e,t){if(e==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let r,n=e.address;switch(e.family){case 4:r="ip4";break;case 6:if(r="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],r=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new tr("/"+[r,n,t,e.port].join("/"))}function Fe(e){return!!e?.[ed]}var tr=class{constructor(t){if(Wi.set(this,void 0),Qi.set(this,void 0),Xi.set(this,void 0),this[jh]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=fo(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Qh(t)}else if(Fe(t))this.bytes=fo(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return ci(this,Wi,"f")==null&&fl(this,Wi,ll(this.bytes),"f"),ci(this,Wi,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,s="",o=j("tcp"),a=j("udp"),c=j("ip4"),l=j("ip6"),u=j("dns6"),f=j("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),dx.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,t=d===u.code?6:4),(d===o.code||d===a.code)&&(r=j(d).name,i=parseInt(p??"")),(d===c.code||d===l.code)&&(r=j(d).name,n=`${p??""}${s}`,t=d===l.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},j(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=hl.default.decode(r,n),s=hl.default.decode.bytes??0,o=j(i),a=cl(o,r.slice(n+s));n+=a+s,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return ci(this,Qi,"f")==null&&fl(this,Qi,uo(this.bytes),"f"),ci(this,Qi,"f")}stringTuples(){return ci(this,Xi,"f")==null&&fl(this,Xi,ol(this.tuples()),"f"),ci(this,Xi,"f")}encapsulate(t){return t=new tr(t),new tr(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new tr(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new tr(al(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Gi.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?z(Mt.decode(`z${n}`),"base58btc"):z(Et.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(r=>j(r[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return xt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=dl.get(r.name);if(n==null)throw(0,td.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new tr(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Wi=new WeakMap,Qi=new WeakMap,Xi=new WeakMap,jh=ed,hx)](){return`Multiaddr(${ll(this.bytes)})`}};function St(e){return new tr(e)}function px(e){return e[Symbol.asyncIterator]!=null}function mx(e){if(px(e))return(async()=>{let r=[];for await(let n of e)r.push(n);return r})();let t=[];for(let r of e)t.push(r);return t}var pl=mx;function yx(e){return e[Symbol.asyncIterator]!=null}function gx(e,t){return yx(e)?async function*(){yield*(await pl(e)).sort(t)}():function*(){yield*pl(e).sort(t)}()}var ml=gx;function wx(e){return e[Symbol.asyncIterator]!=null}function Ex(e){if(wx(e))return(async()=>{for await(let t of e);})();for(let t of e);}var yl=Ex;function xx(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var nd=xx;function vx(e){return e[Symbol.asyncIterator]!=null}function bx(e,t){if(vx(e))return async function*(){for await(let a of e)await t(a)&&(yield a)}();let r=nd(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=t(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await t(a)&&(yield a)}();let o=t;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var vn=bx;function _x(e){return e[Symbol.asyncIterator]!=null}function Sx(e,t){return _x(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var gl=Sx;var po=class{put(t,r,n){return Promise.reject(new Error(".put is not implemented"))}get(t,r){return Promise.reject(new Error(".get is not implemented"))}has(t,r){return Promise.reject(new Error(".has is not implemented"))}delete(t,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,r={}){for await(let{key:n,value:i}of t)await this.put(n,i,r),yield n}async*getMany(t,r={}){for await(let n of t)yield{key:n,value:await this.get(n,r)}}async*deleteMany(t,r={}){for await(let n of t)await this.delete(n,r),yield n}batch(){let t=[],r=[];return{put(n,i){t.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await yl(this.putMany(t,n)),t=[],await yl(this.deleteMany(r,n)),r=[]}}}async*_all(t,r){throw new Error("._all is not implemented")}async*_allKeys(t,r){throw new Error("._allKeys is not implemented")}query(t,r){let n=this._all(t,r);if(t.prefix!=null){let i=t.prefix;n=vn(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>vn(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>ml(i,s),n)),t.offset!=null){let i=0,s=t.offset;n=vn(n,()=>i++>=s)}return t.limit!=null&&(n=gl(n,t.limit)),n}queryKeys(t,r){let n=this._allKeys(t,r);if(t.prefix!=null){let i=t.prefix;n=vn(n,s=>s.toString().startsWith(i))}if(Array.isArray(t.filters)&&(n=t.filters.reduce((i,s)=>vn(i,s),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,s)=>ml(i,s),n)),t.offset!=null){let i=t.offset,s=0;n=vn(n,()=>s++>=i)}return t.limit!=null&&(n=gl(n,t.limit)),n}};var mo=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var vr="/",id=new TextEncoder().encode(vr),yo=id[0],kt=class{constructor(t,r){if(typeof t=="string")this._buf=F(t);else if(t instanceof Uint8Array)this._buf=t;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]!==yo)throw new Error("Invalid key")}toString(t="utf8"){return z(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new kt(t.join(vr))}static random(){return new kt(mo().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new kt(t):typeof t.uint8Array=="function"?new kt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=id),this._buf[0]!==yo){let t=new Uint8Array(this._buf.byteLength+1);t.fill(yo,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===yo;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.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 kt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(vr).slice(1)}type(){return Ax(this.baseNamespace())}name(){return Rx(this.baseNamespace())}instance(t){return new kt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(vr)||(t+=vr),t+=this.type(),new kt(t)}parent(){let t=this.list();return t.length===1?new kt(vr):new kt(t.slice(0,-1).join(vr))}child(t){return this.toString()===vr?t:t.toString()===vr?this:new kt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return kt.withNamespaces([...this.namespaces(),...Ix(t.map(r=>r.namespaces()))])}};function Ax(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Rx(e){let t=e.split(":");return t[t.length-1]}function Ix(e){return[].concat(...e)}var sd=N(Yi(),1);function od(e){return e=e??new Error("Not Found"),(0,sd.default)(e,"ERR_NOT_FOUND")}var go=class extends po{constructor(){super(),this.data=new Map}put(t,r){return this.data.set(t.toString(),r),t}get(t){let r=this.data.get(t.toString());if(r==null)throw od();return r}has(t){return this.data.has(t.toString())}delete(t){this.data.delete(t.toString())}*_all(){for(let[t,r]of this.data.entries())yield{key:new kt(t),value:r}}*_allKeys(){for(let t of this.data.keys())yield new kt(t)}};var w=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var W;(function(e){e.NOT_STARTED_YET="The libp2p node is not started yet",e.DHT_DISABLED="DHT is not available",e.PUBSUB_DISABLED="PubSub is not available",e.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",e.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",e.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",e.NOT_FOUND="Not found"})(W||(W={}));var S;(function(e){e.DHT_DISABLED="ERR_DHT_DISABLED",e.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",e.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",e.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",e.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",e.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",e.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",e.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",e.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",e.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",e.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",e.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",e.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",e.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",e.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",e.ERR_DIALED_SELF="ERR_DIALED_SELF",e.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",e.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",e.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",e.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",e.ERR_INVALID_KEY="ERR_INVALID_KEY",e.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_PEER="ERR_INVALID_PEER",e.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",e.ERR_NOT_FOUND="ERR_NOT_FOUND",e.ERR_TIMEOUT="ERR_TIMEOUT",e.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",e.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",e.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",e.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",e.ERR_FIND_SELF="ERR_FIND_SELF",e.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",e.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",e.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",e.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",e.ERR_INVALID_CMS="ERR_INVALID_CMS",e.ERR_MISSING_KEYS="ERR_MISSING_KEYS",e.ERR_NO_KEY="ERR_NO_KEY",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",e.ERR_INVALID_RECORD="ERR_INVALID_RECORD",e.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",e.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",e.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(S||(S={}));async function*Zi(e,t){for await(let r of e)await t(r)&&(yield r)}async function*Ji(e,t){for await(let r of e)yield t(r)}async function*ji(e,t){yield*Ji(e,async r=>(await t.addressBook.add(r.id,r.multiaddrs),r))}function wo(e){let t=new Set;return Zi(e,r=>t.has(r.id.toString())?!1:(t.add(r.id.toString()),!0))}async function*Eo(e,t=1){let r=0;for await(let n of e)r++,yield n;if(r<t)throw new w(`more peers required, seen: ${r} min: ${t}`,"NOT_FOUND")}var Rd=N(br(),1);var vo=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},li=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new vo(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new vo(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function Ke(e={}){return Lx(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}},e)}function Lx(e,t){t=t??{};let r=t.onEnd,n=new li,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(e(n))}catch(x){y(x)}return i}}):e(n),c=m=>s!=null?s(m):(n.push(m),i),l=m=>(n=new li,s!=null?s({error:m}):(n.push({error:m}),i)),u=m=>{if(o)return i;if(t?.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?l(m):c({done:!0})),h=()=>(n=new li,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:u,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:u,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}async function*Kr(...e){let t=Ke({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var Bx=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},hd=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),xl=e=>e!=null&&typeof e.sink=="function"&&hd(e.source),Px=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=Ke({objectMode:!0});return r.then(()=>{n.end()},s=>{n.end(s)}),Kr(n,async function*(){yield*e.source,n.end()}())}return e.source};function Xt(e,...t){if(xl(e)){let n=e;e=()=>n.source}else if(hd(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&xl(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++)xl(r[n])&&(r[n]=Px(r[n]));return Bx(...r)}async function he(e){for await(let t of e)return t}async function Vr(e){for await(let t of e);}var Ao=N(pd(),1),Id=N(er(),1),Ad=M("libp2p:peer-routing"),So=class{constructor(t,r){this.components=t,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,Ao.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new Rd.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,Id.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Vr(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){Ad.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,Ao.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,r){if(this.routers.length===0)throw new w("No peer routers available",S.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw new w("Should not try to find self",S.ERR_FIND_SELF);let n=await Xt(Kr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,r)}catch(s){Ad.error(s)}}())),i=>Zi(i,Boolean),i=>ji(i,this.components.peerStore),async i=>await he(i));if(n!=null)return n;throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getClosestPeers(t,r){if(this.routers.length===0)throw new w("No peer routers available",S.ERR_NO_ROUTERS_AVAILABLE);yield*Xt(Kr(...this.routers.map(n=>n.getClosestPeers(t,r))),n=>ji(n,this.components.peerStore),n=>wo(n),n=>Eo(n))}};var Ro=class{constructor(t,r){this.routers=r.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,r={}){if(this.routers.length===0)throw new w("No content this.routers available",S.ERR_NO_ROUTERS_AVAILABLE);yield*Xt(Kr(...this.routers.map(n=>n.findProviders(t,r))),n=>ji(n,this.components.peerStore),n=>wo(n),n=>Eo(n))}async provide(t,r={}){if(this.routers.length===0)throw new w("No content routers available",S.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(t,r)}))}async put(t,r,n){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Vr(i.put(t,r,n))}async get(t,r){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,r))if(i.name==="VALUE")return i.value}throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getMany(t,r,n){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);if(r==null||r===0)return;let i=0,s=this.components.dht;if(s!=null){for await(let o of s.get(t,n))if(o.name==="VALUE"&&(yield{from:o.from,val:o.value},i++,i===r))break}if(i===0)throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}};var bl=Symbol.for("@libp2p/peer-id");function hi(e){return e!=null&&!!e[bl]}var zx=Symbol.for("nodejs.util.inspect.custom"),Td=Object.values(Fr).map(e=>e.decoder).reduce((e,t)=>e.or(t),Fr.identity.decoder),Cd=114,_l=36,Sl=37,es=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[bl](){return!0}toString(){return this.string==null&&(this.string=Mt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Et.createV1(Cd,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return xt(this.multihash.bytes,t);if(typeof t=="string")return at(t).equals(this);if(t?.multihash?.bytes!=null)return xt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[zx](){return`PeerId(${this.toString()})`}},bn=class extends es{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},_n=class extends es{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Sn=class extends es{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function Ft(e){if(e.type==="RSA")return new bn(e);if(e.type==="Ed25519")return new _n(e);if(e.type==="secp256k1")return new Sn(e);throw new w("Not a PeerId","ERR_INVALID_PARAMETERS")}function at(e,t){if(t=t??Td,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=wn(Mt.decode(`z${e}`));return e.startsWith("12D")?new _n({multihash:r}):e.startsWith("16U")?new Sn({multihash:r}):new bn({multihash:r})}return qr(Td.decode(e))}function qr(e){try{let t=wn(e);if(t.code===Ur.code){if(t.digest.length===_l)return new _n({multihash:t});if(t.digest.length===Sl)return new Sn({multihash:t})}if(t.code===ie.code)return new bn({multihash:t})}catch{return Hx(Et.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Hx(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Cd)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===ie.code)return new bn({multihash:e.multihash});if(t.code===Ur.code){if(t.digest.length===_l)return new _n({multihash:e.multihash});if(t.digest.length===Sl)return new Sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function $r(e,t){return e.length===_l?new _n({multihash:Je(Ur.code,e),privateKey:t}):e.length===Sl?new Sn({multihash:Je(Ur.code,e),privateKey:t}):new bn({multihash:await ie.digest(e),publicKey:e,privateKey:t})}var Gx=e=>e;function Al(e,t){let r=e.getPeerId();return r!=null&&at(r).equals(t)&&(e=e.decapsulate(St(`/p2p/${t.toString()}`))),e}var Io=class extends Nt{constructor(t,r){super();let{listen:n=[],announce:i=[]}=r;this.components=t,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Gx}getListenAddrs(){return Array.from(this.listen).map(t=>St(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>St(t))}getObservedAddrs(){return Array.from(this.observed).map(([t])=>St(t))}addObservedAddr(t){t=Al(t,this.components.peerId);let r=t.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(t){t=Al(t,this.components.peerId);let r=t.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this.dispatchEvent(new $("change:addresses"))}removeObservedAddr(t){t=Al(t,this.components.peerId);let r=t.toString();this.observed.delete(r)}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(t);return this.announceFilter(Array.from(r).map(n=>St(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Ud=N(Md(),1),Te=Ud.default;var Fd=M("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),Do=class extends Nt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",r="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",r="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",r="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",r="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",r="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=r}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?Fd("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;Fd(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new $("visibilityChange",{detail:t}))}};var _r=M("libp2p:connection-manager:latency-monitor"),Lo=class extends Nt{constructor(t={}){super();let{latencyCheckIntervalMs:r,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:s}=t;this.latencyCheckIntervalMs=r??500,this.latencyRandomPercentage=s??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,_r("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?_r("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):_r("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(_r("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=o=>{let a=this.now(o);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(_r("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=o=>Math.round(this.now()-o)):(_r("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=o=>this.now()-o),this.latencyData=this.initLatencyData()}start(){Jx()&&(this.visibilityChangeEmitter=new Do,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:r}=t;r?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>{this._emitSummary()},this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new $("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),_r.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,r={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(r.startTime)-r.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,_r.trace("MS: %s Data: %O",i,this.latencyData)};_r.trace("localData: %O",r),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(r.deltaOffset=0,r.startTime=this.now(),this.asyncTestFn(n)):(r.deltaOffset-=1,n())},r.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Jx(){return typeof globalThis.window<"u"}var Oo=N(er(),1);var Bo="OPEN",Il="CLOSING",Po="CLOSED";function Sr(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var rs=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return Sr(this.map.entries(),t=>[at(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,at(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return Sr(this.map.keys(),t=>at(t))}values(){return this.map.values()}get size(){return this.map.size}};var Ar=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Sr(this.set.entries(),t=>{let r=at(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=at(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Sr(this.set.values(),t=>at(t))}intersection(t){let r=new Ar;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new Ar;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new Ar;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var mi=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return Sr(this.list.entries(),t=>at(t[1]))}concat(t){let r=new mi(this);for(let n of t)r.push(n);return r}entries(){return Sr(this.list.entries(),t=>[t[0],at(t[1])])}every(t){return this.list.every((r,n)=>t(at(r),n,this))}filter(t){let r=new mi;return this.list.forEach((n,i)=>{let s=at(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(at(n),i,this));if(r!=null)return at(r)}findIndex(t){return this.list.findIndex((r,n)=>t(at(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(at(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return at(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return at(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var Vl=N(br(),1);var Kd="keep-alive";var O0=N(k0(),1);var kv=M("libp2p:get-peer");function ko(e){if(hi(e))return{peerId:e,multiaddrs:[]};Array.isArray(e)||(e=[e]);let t;if(e.length>0){let r=e[0].getPeerId();t=r==null?void 0:at(r),e.forEach(n=>{if(!Fe(n))throw kv.error("multiaddr %s was invalid",n),new w("Invalid Multiaddr",S.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(t!=null)throw new w("Multiaddrs must all have the same peer id or have no peer id",S.ERR_INVALID_PARAMETERS)}else{let s=at(i);if(t==null||!t.equals(s))throw new w("Multiaddrs must all have the same peer id or have no peer id",S.ERR_INVALID_PARAMETERS)}})}return{peerId:t,multiaddrs:e}}var Kt=M("libp2p:connection-manager"),Ov={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},Mv=6e4,Mo=class extends Nt{constructor(t,r){if(super(),this.opts=Te.call({ignoreUndefined:!0},Ov,r),this.opts.maxConnections<this.opts.minConnections)throw new w("Connection Manager maxConnections must be greater than minConnections",S.ERR_INVALID_PARAMETERS);Kt("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,r.maxEventLoopDelay!=null&&r.maxEventLoopDelay>0&&r.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new Lo({latencyCheckIntervalMs:r.pollInterval,dataEmitIntervalMs:r.pollInterval}));try{(0,Oo.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=r.startupReconnectTimeout??Mv,this.dialTimeout=r.dialTimeout??3e4,this.allow=(r.allow??[]).map(n=>St(n)),this.deny=(r.deny??[]).map(n=>St(n)),this.inboundConnectionRateLimiter=new O0.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};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"}`;t[s]=(t[s]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};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))t[o]=t[o]??[],t[o].push(a)}let r={};for(let[n,i]of Object.entries(t)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,Kt("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let r of await this.components.peerStore.all())(await this.components.peerStore.getTags(r.id)).filter(s=>s.name===Kd).length>0&&t.push(r.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new Vl.TimeoutController(this.startupReconnectTimeout);try{(0,Oo.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async r=>{await this.openConnection(r,{signal:this.connectOnStartupController?.signal}).catch(n=>{Kt.error(n)})}))}).catch(t=>{Kt.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),Kt("stopped")}async _close(){let t=[];for(let r of this.connections.values())for(let n of r)t.push((async()=>{try{await n.close()}catch(i){Kt.error(i)}})());Kt("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(r=>{Kt.error(r)})}async _onConnect(t){let{detail:r}=t;if(!this.started){await r.close();return}let n=r.remotePeer,i=n.toString(),s=this.connections.get(i);s!=null?s.push(r):this.connections.set(i,[r]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let o=this.getConnections().length,a=o-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",o,a),this.dispatchEvent(new $("peer:connect",{detail:r}))}onDisconnect(t){let{detail:r}=t;if(!this.started)return;let n=r.remotePeer.toString(),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.dispatchEvent(new $("peer:disconnect",{detail:r})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(t,r={}){let{peerId:n,multiaddrs:i}=ko(t);if(n==null&&i.length===0)throw new w("Can only open connections to PeerIds or Multiaddrs",S.ERR_INVALID_PARAMETERS);if(n!=null){Kt("dial to",n);let o=this.getConnections(n);if(o.length>0)return Kt("had an existing connection to %p",n),o[0]}let s;if(r?.signal==null){s=new Vl.TimeoutController(this.dialTimeout),r.signal=s.signal;try{(0,Oo.setMaxListeners)?.(1/0,s.signal)}catch{}}try{let o=await this.components.dialer.dial(t,r),a=this.connections.get(o.remotePeer.toString());a==null&&(a=[],this.connections.set(o.remotePeer.toString(),a));let c=!1;for(let l of a)l.id===o.id&&(c=!0);return c||a.push(o),o}finally{s?.clear()}}async closeConnections(t){let r=this.connections.get(t.toString())??[];await Promise.all(r.map(async n=>{await n.close()}))}getAll(t){if(!hi(t))throw new w("peerId must be an instance of peer-id",S.ERR_INVALID_PARAMETERS);let r=t.toString(),n=this.connections.get(r);return n!=null?n.filter(i=>i.stat.status===Bo):[]}_onLatencyMeasure(t){let{detail:r}=t;this._checkMaxLimit("maxEventLoopDelay",r.avgMs,1).catch(n=>{Kt.error(n)})}async _checkMaxLimit(t,r,n=1){let i=this.opts[t];if(i==null){Kt.trace("limit %s was not set so it cannot be applied",t);return}if(i===1/0){Kt.trace("limit %s is Infinity so it cannot be applied",t);return}Kt.trace("checking limit of %s. current value: %d of %d",t,r,i),r>i&&(Kt("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,r,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let r=this.getConnections(),n=new rs;for(let o of r){let a=o.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((l,u)=>l+u.value,0))}let i=r.sort((o,a)=>{let c=n.get(o.remotePeer)??0,l=n.get(a.remotePeer)??0;if(c>l)return 1;if(c<l)return-1;let u=o.stat.timeline.open,f=a.stat.timeline.open;return u<f?1:u>f?-1:0}),s=[];for(let o of i)if(Kt("too many connections open - closing a connection to %p",o.remotePeer),this.allow.some(c=>o.remoteAddr.toString().startsWith(c.toString()))||s.push(o),s.length===t)break;await Promise.all(s.map(async o=>{try{await o.close()}catch(a){Kt.error(a)}this.onDisconnect(new $("connectionEnd",{detail:o}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return Kt("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return Kt("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return Kt("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(Kt("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var ql=N(El(),1),xi=M("libp2p:connection-manager:auto-dialler"),Uv={minConnections:0,autoDialInterval:1e4},Uo=class{constructor(t,r){this.components=t,this.options=Te.call({ignoreUndefined:!0},Uv,r),this.running=!1,this._autoDial=this._autoDial.bind(this),xi("options: %j",this.options)}isStarted(){return this.running}async start(){this.running=!0,this._autoDial().catch(t=>{xi.error("could not start autodial",t)}),xi("started")}async stop(){this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),xi("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,ql.default)(this._autoDial,this.options.autoDialInterval);return}let r=await this.components.peerStore.all();r=r.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),r=r.sort(()=>Math.random()>.5?1:-1),r=r.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<r.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=r[n];if(this.components.connectionManager.getConnections(i.id).length===0){xi("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(s){xi.error("could not connect to peerStore stored peer",s)}}}this.running&&(this.autoDialTimeout=(0,ql.default)(this._autoDial,this.options.autoDialInterval))}};var sg=N(H0(),1);var tt;(function(e){e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(tt||(tt={}));var eu=N(Yl(),1),Bp=N(Sp(),1),Pp=N(In(),1),ru=N(tu(),1),Np=N(Lp(),1);function sb(){Pp.default._configure(),eu.default._configure(Bp.default),ru.default._configure(Np.default)}sb();var kp=["uint64","int64","sint64","fixed64","sfixed64"];function ob(e){for(let t of kp){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function nu(e){return ob(new eu.default(e))}function ab(e){for(let t of kp){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function iu(){return ab(ru.default.create())}function dt(e,t){let r=nu(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function pt(e,t){let r=iu();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var bi;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(bi||(bi={}));function $o(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Gr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return $o("enum",bi.VARINT,r,n)}function mt(e,t){return $o("message",bi.LENGTH_DELIMITED,e,t)}var Ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Ct||(Ct={}));var su;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(su||(su={}));(function(e){e.codec=()=>Gr(su)})(Ct||(Ct={}));var ir;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ct.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=Ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(ir||(ir={}));var sr;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ct.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=Ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(sr||(sr={}));var NL=N(us(),1),kL=N(Xm(),1),ba=N(ft(),1);var pe={get(e=globalThis){let t=e.crypto;if(t==null||t.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 t}};var _8=N(qt(),1),S8=N(sa(),1),Jm=N(ft(),1);function He(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ut([new Uint8Array(t-r.length),r])}return z(r,"base64url")}function be(e){let t=jm(e);return new Jm.default.jsbn.BigInteger(z(t,"base16"),16)}function jm(e,t){let r=F(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ut([new Uint8Array(t-r.length),r])}return r}var B_={"P-256":256,"P-384":384,"P-521":521},P_=Object.keys(B_),k8=P_.join(" / ");function ty(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var ey={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function la(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=pe.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof h=="string"&&(h=F(h));let y;if(h.length===0&&ty())y=await a.subtle.importKey("jwk",ey,{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:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ut([d,m.iv,new Uint8Array(g)])}async function l(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:t,iv:p};typeof h=="string"&&(h=F(h));let g;if(h.length===0&&ty())g=await a.subtle.importKey("jwk",ey,{name:"AES-GCM"},!0,["decrypt"]);else{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},O=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,O,{name:t,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:l}}async function ny(e,t){let r=yn.decode(e);return await la().decrypt(r,t)}var Uu={};ne(Uu,{RsaPrivateKey:()=>Ni,RsaPublicKey:()=>Es,fromJwk:()=>iS,generateKeyPair:()=>sS,unmarshalRsaPrivateKey:()=>rS,unmarshalRsaPublicKey:()=>nS});var yL=N(cy(),1),ws=N(ft(),1);var k_=N(An(),1);var rt=BigInt(0),It=BigInt(1),Jr=BigInt(2),ms=BigInt(3),ly=BigInt(8),Ot=Object.freeze({a:rt,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:It,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),uy=(e,t)=>(e+t/Jr)/t,ua={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Ot,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-It*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=uy(s*e,t),c=uy(-n*e,t),l=P(e-a*r-c*i,t),u=P(-a*n-c*s,t),f=l>o,h=u>o;if(f&&(l=t-l),h&&(u=t-u),l>o||u>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:f,k1:l,k2neg:h,k2:u}}},Ge=32,Ci=32,O_=32,fy=Ge+1,hy=2*Ge+1;function dy(e){let{a:t,b:r}=Ot,n=P(e*e),i=P(n*e);return P(i+t*e+r)}var fa=Ot.a===rt,pa=class extends Error{constructor(t){super(t)}};function py(e){if(!(e instanceof ot))throw new TypeError("JacobianPoint expected")}var ot=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof ct))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ct.ZERO)?ot.ZERO:new ot(t.x,t.y,It)}static toAffineBatch(t){let r=V_(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return ot.toAffineBatch(t).map(ot.fromAffine)}equals(t){py(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=P(i*i),l=P(a*a),u=P(r*l),f=P(s*c),h=P(P(n*a)*l),d=P(P(o*i)*c);return u===f&&h===d}negate(){return new ot(this.x,P(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=P(t*t),s=P(r*r),o=P(s*s),a=t+s,c=P(Jr*(P(a*a)-i-o)),l=P(ms*i),u=P(l*l),f=P(u-Jr*c),h=P(l*(c-f)-ly*o),d=P(Jr*r*n);return new ot(f,h,d)}add(t){py(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===rt||o===rt)return this;if(r===rt||n===rt)return t;let c=P(i*i),l=P(a*a),u=P(r*l),f=P(s*c),h=P(P(n*a)*l),d=P(P(o*i)*c),p=P(f-u),m=P(d-h);if(p===rt)return m===rt?this.double():ot.ZERO;let y=P(p*p),g=P(p*y),x=P(u*y),_=P(m*m-g-Jr*x),O=P(m*(x-_)-h*g),C=P(i*a*p);return new ot(_,O,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=ot.ZERO;if(typeof t=="bigint"&&t===rt)return r;let n=gy(t);if(n===It)return this;if(!fa){let f=r,h=this;for(;n>rt;)n&It&&(f=f.add(h)),h=h.double(),n>>=It;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=ua.splitScalar(n),c=r,l=r,u=this;for(;s>rt||a>rt;)s&It&&(c=c.add(u)),a&It&&(l=l.add(u)),u=u.double(),s>>=It,a>>=It;return i&&(c=c.negate()),o&&(l=l.negate()),l=new ot(P(l.x*ua.beta),l.y,l.z),c.add(l)}precomputeWindow(t){let r=fa?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals(ot.BASE)&&(r=ct.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&&Lu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=ot.normalizeZ(i),Lu.set(r,i)));let s=ot.ZERO,o=ot.BASE,a=1+(fa?128/n:256/n),c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=It);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(ha(g,i[m])):s=s.add(ha(x,i[y]))}return{p:s,f:o}}multiply(t,r){let n=gy(t),i,s;if(fa){let{k1neg:o,k1:a,k2neg:c,k2:l}=ua.splitScalar(n),{p:u,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(l,r);u=ha(o,u),h=ha(c,h),h=new ot(P(h.x*ua.beta),h.y,h.z),i=u.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return ot.normalizeZ([i,s])[0]}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals(ot.ZERO);t==null&&(t=s?ly:Bi(i));let o=t,a=P(o*o),c=P(a*o),l=P(r*a),u=P(n*c),f=P(i*o);if(s)return ct.ZERO;if(f!==It)throw new Error("invZ was invalid");return new ct(l,u)}};ot.BASE=new ot(Ot.Gx,Ot.Gy,It);ot.ZERO=new ot(rt,It,rt);function ha(e,t){let r=t.negate();return e?r:t}var Lu=new WeakMap,ct=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Lu.delete(this)}hasEvenY(){return this.y%Jr===rt}static fromCompressedHex(t){let r=t.length===32,n=jr(r?t:t.subarray(1));if(!Du(n))throw new Error("Point is not on curve");let i=dy(n),s=K_(i),o=(s&It)===It;r?o&&(s=P(-s)):(t[0]&1)===1!==o&&(s=P(-s));let a=new ct(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let r=jr(t.subarray(1,Ge+1)),n=jr(t.subarray(Ge+1,Ge*2+1)),i=new ct(r,n);return i.assertValidity(),i}static fromHex(t){let r=Li(t),n=r.length,i=r[0];if(n===Ge)return this.fromCompressedHex(r);if(n===fy&&(i===2||i===3))return this.fromCompressedHex(r);if(n===hy&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${fy} compressed bytes or ${hy} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ct.BASE.multiply(ya(t))}static fromSignature(t,r,n){let{r:i,s}=wy(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Nu(Li(t)),{n:a}=Ot,c=n===2||n===3?i+a:i,l=Bi(c,a),u=P(-o*l,a),f=P(s*l,a),h=n&1?"03":"02",d=ct.fromHex(h+Ii(c)),p=ct.BASE.multiplyAndAddUnsafe(d,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return kn(this.toHex(t))}toHex(t=!1){let r=Ii(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Ii(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Du(r)||!Du(n))throw new Error(t);let i=P(n*n),s=dy(r);if(P(i-s)!==rt)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ct(this.x,P(-this.y))}double(){return ot.fromAffine(this).double().toAffine()}add(t){return ot.fromAffine(this).add(ot.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return ot.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=ot.fromAffine(this),s=r===rt||r===It||this!==ct.BASE?i.multiplyUnsafe(r):i.multiply(r),o=ot.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals(ot.ZERO)?void 0:a.toAffine()}};ct.BASE=new ct(Ot.Gx,Ot.Gy);ct.ZERO=new ct(rt,rt);function my(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function yy(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Di(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)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:jr(r),left:e.subarray(t+2)}}function M_(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Di(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=yy(e.subarray(2)),{data:n,left:i}=yy(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Di(i)}`);return{r:t,s:n}}var hr=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Di(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new hr(ma(i.slice(0,64)),ma(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=M_(r?t:kn(t));return new hr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!gs(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!gs(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Ot.n>>It;return this.s>t}normalizeS(){return this.hasHighS()?new hr(this.r,P(-this.s,Ot.n)):this}toDERRawBytes(){return kn(this.toDERHex())}toDERHex(){let t=my(ps(this.s)),r=my(ps(this.r)),n=t.length/2,i=r.length/2,s=ps(n),o=ps(i);return`30${ps(i+n+4)}02${o}${r}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return kn(this.toCompactHex())}toCompactHex(){return Ii(this.r)+Ii(this.s)}};function Zr(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var U_=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Di(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=U_[e[r]];return t}var F_=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Ii(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(rt<=e&&e<F_))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Bu(e){let t=kn(Ii(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function ps(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function ma(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function kn(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function jr(e){return ma(Di(e))}function Li(e){return e instanceof Uint8Array?Uint8Array.from(e):kn(e)}function gy(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&gs(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function P(e,t=Ot.P){let r=e%t;return r>=rt?r:t+r}function Pe(e,t){let{P:r}=Ot,n=e;for(;t-- >rt;)n*=n,n%=r;return n}function K_(e){let{P:t}=Ot,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=e*e*e%t,l=c*c*e%t,u=Pe(l,ms)*l%t,f=Pe(u,ms)*l%t,h=Pe(f,Jr)*c%t,d=Pe(h,n)*h%t,p=Pe(d,i)*d%t,m=Pe(p,o)*p%t,y=Pe(m,a)*m%t,g=Pe(y,o)*p%t,x=Pe(g,ms)*l%t,_=Pe(x,s)*d%t,O=Pe(_,r)*c%t,C=Pe(O,Jr);if(C*C%t!==e)throw new Error("Cannot find square root");return C}function Bi(e,t=Ot.P){if(e===rt||t<=rt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=P(e,t),n=t,i=rt,s=It,o=It,a=rt;for(;r!==rt;){let l=n/r,u=n%r,f=i-o*l,h=s-a*l;n=r,r=u,i=o,s=a,o=f,a=h}if(n!==It)throw new Error("invert: does not exist");return P(i,t)}function V_(e,t=Ot.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===rt?s:(r[a]=s,P(s*o,t)),It),i=Bi(n,t);return e.reduceRight((s,o,a)=>o===rt?s:(r[a]=P(s*r[a],t),P(s*o,t)),i),r}function q_(e){let t=e.length*8-Ci*8,r=jr(e);return t>0?r>>BigInt(t):r}function Nu(e,t=!1){let r=q_(e);if(t)return r;let{n}=Ot;return r>=n?r-n:r}var Ti,ys,Pu=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<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(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Ye.hmacSha256(this.k,...t)}hmacSync(...t){return ys(this.k,...t)}checkSync(){if(typeof ys!="function")throw new pa("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Zr(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Zr(...r)}};function gs(e){return rt<e&&e<Ot.n}function Du(e){return rt<e&&e<Ot.P}function $_(e,t,r,n=!0){let{n:i}=Ot,s=Nu(e,!0);if(!gs(s))return;let o=Bi(s,i),a=ct.BASE.multiply(s),c=P(a.x,i);if(c===rt)return;let l=P(o*P(t+r*c,i),i);if(l===rt)return;let u=new hr(c,l),f=(a.x===u.r?0:2)|Number(a.y&It);return n&&u.hasHighS()&&(u=u.normalizeS(),f^=1),{sig:u,recovery:f}}function ya(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Ci)throw new Error("Expected 32 bytes of private key");t=ma(e)}else if(e instanceof Uint8Array){if(e.length!==Ci)throw new Error("Expected 32 bytes of private key");t=jr(e)}else throw new TypeError("Expected valid private key");if(!gs(t))throw new Error("Expected private key: 0 < key < n");return t}function z_(e){return e instanceof ct?(e.assertValidity(),e):ct.fromHex(e)}function wy(e){if(e instanceof hr)return e.assertValidity(),e;try{return hr.fromDER(e)}catch{return hr.fromCompact(e)}}function ku(e,t=!1){return ct.fromPrivateKey(e).toRawBytes(t)}function Ey(e){let t=e.length>Ge?e.slice(0,Ge):e;return jr(t)}function H_(e){let t=Ey(e),r=P(t,Ot.n);return xy(r<rt?t:r)}function xy(e){return Bu(e)}function G_(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Li(e),i=ya(t),s=[xy(i),H_(n)];if(r!=null){r===!0&&(r=Ye.randomBytes(Ge));let c=Li(r);if(c.length!==Ge)throw new Error(`sign: Expected ${Ge} bytes of extra data`);s.push(c)}let o=Zr(...s),a=Ey(n);return{seed:o,m:a,d:i}}function Y_(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function vy(e,t,r={}){let{seed:n,m:i,d:s}=G_(e,t,r.extraEntropy),o=new Pu(O_,Ci);await o.reseed(n);let a;for(;!(a=$_(await o.generate(),i,s,r.canonical));)await o.reseed();return Y_(a,r)}var W_={strict:!0};function by(e,t,r,n=W_){let i;try{i=wy(e),t=Li(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Nu(t),c;try{c=z_(r)}catch{return!1}let{n:l}=Ot,u=Bi(o,l),f=P(a*u,l),h=P(s*u,l),d=ct.BASE.multiplyAndAddUnsafe(c,f,h);return d?P(d.x,l)===s:!1}ct.BASE._setWindowSize(8);var _e={node:k_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var da={},Ye={bytesToHex:Di,hexToBytes:kn,concatBytes:Zr,mod:P,invert:Bi,isValidPrivateKey(e){try{return ya(e),!0}catch{return!1}},_bigintTo32Bytes:Bu,_normalizePrivateKey:ya,hashToPrivateKey:e=>{e=Li(e);let t=Ci+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=P(jr(e),Ot.n-It)+It;return Bu(r)},randomBytes:(e=32)=>{if(_e.web)return _e.web.getRandomValues(new Uint8Array(e));if(_e.node){let{randomBytes:t}=_e.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ye.hashToPrivateKey(Ye.randomBytes(Ci+8)),precompute(e=8,t=ct.BASE){let r=t===ct.BASE?t:new ct(t.x,t.y);return r._setWindowSize(e),r.multiply(ms),r},sha256:async(...e)=>{if(_e.web){let t=await _e.web.subtle.digest("SHA-256",Zr(...e));return new Uint8Array(t)}else if(_e.node){let{createHash:t}=_e.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(_e.web){let r=await _e.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Zr(...t),i=await _e.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(_e.node){let{createHmac:r}=_e.node,n=r("sha256",e);return t.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(e,...t)=>{let r=da[e];if(r===void 0){let n=await Ye.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Zr(n,n),da[e]=r}return Ye.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Ti!="function")throw new pa("sha256Sync is undefined, you need to set it");let r=da[e];if(r===void 0){let n=Ti(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Zr(n,n),da[e]=r}return Ti(r,...t)},_JacobianPoint:ot};Object.defineProperties(Ye,{sha256Sync:{configurable:!1,get(){return Ti},set(e){Ti||(Ti=e)}},hmacSha256Sync:{configurable:!1,get(){return ys},set(e){ys||(ys=e)}}});function Cr(e){if(isNaN(e)||e<=0)throw new w("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ye.randomBytes(e)}var On={};ne(On,{jwkToPkcs1:()=>Z_,jwkToPkix:()=>j_,pkcs1ToJwk:()=>X_,pkixToJwk:()=>J_});var Q8=N(us(),1),X8=N(ca(),1),Dr=N(ft(),1);function X_(e){let t=Dr.default.asn1.fromDer(z(e,"ascii")),r=Dr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:He(r.n),e:He(r.e),d:He(r.d),p:He(r.p),q:He(r.q),dp:He(r.dP),dq:He(r.dQ),qi:He(r.qInv),alg:"RS256"}}function Z_(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Dr.default.pki.privateKeyToAsn1({n:be(e.n),e:be(e.e),d:be(e.d),p:be(e.p),q:be(e.q),dP:be(e.dp),dQ:be(e.dq),qInv:be(e.qi)});return F(Dr.default.asn1.toDer(t).getBytes(),"ascii")}function J_(e){let t=Dr.default.asn1.fromDer(z(e,"ascii")),r=Dr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:He(r.n),e:He(r.e)}}function j_(e){if(e.n==null||e.e==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Dr.default.pki.publicKeyToAsn1({n:be(e.n),e:be(e.e)});return F(Dr.default.asn1.toDer(t).getBytes(),"ascii")}var eL=N(ca(),1),Ou=N(ft(),1);function _y(e,t){return t.map(r=>be(e[r]))}function Sy(e){return Ou.default.pki.setRsaPrivateKey(..._y(e,["n","e","d","p","q","dp","dq","qi"]))}function Ay(e){return Ou.default.pki.setRsaPublicKey(..._y(e,["n","e"]))}async function Ry(e){let t=await pe.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Cy(t);return{privateKey:r[0],publicKey:r[1]}}async function Mu(e){let r=[await pe.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await tS(e)],n=await Cy({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Iy(e,t){let r=await pe.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await pe.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Ty(e,t,r){let n=await pe.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await pe.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function Cy(e){if(e.privateKey==null||e.publicKey==null)throw new w("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([pe.get().subtle.exportKey("jwk",e.privateKey),pe.get().subtle.exportKey("jwk",e.publicKey)])}async function tS(e){return await pe.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Dy(e,t,r,n){let i=t?Ay(e):Sy(e),s=z(Uint8Array.from(r),"ascii"),o=n(s,i);return F(o,"ascii")}function Ly(e,t){return Dy(e,!0,t,(r,n)=>n.encrypt(r))}function By(e,t){return Dy(e,!1,t,(r,n)=>n.decrypt(r))}async function Pi(e,t){let n=await la().encrypt(e,t);return yn.encode(n)}var Es=class{constructor(t){this._key=t}async verify(t,r){return await Ty(this._key,r,t)}marshal(){return On.jwkToPkix(this._key)}get bytes(){return ir.encode({Type:Ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Ly(this._key,t)}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Ni=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Cr(16)}async sign(t){return await Iy(this._key,t)}get public(){if(this._publicKey==null)throw new w("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Es(this._publicKey)}decrypt(t){return By(this._key,t)}marshal(){return On.jwkToPkcs1(this._key)}get bytes(){return sr.encode({Type:Ct.RSA,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new ws.default.util.ByteBuffer(this.marshal()),i=ws.default.asn1.fromDer(n),s=ws.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ws.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return await Pi(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function rS(e){let t=On.pkcs1ToJwk(e),r=await Mu(t);return new Ni(r.privateKey,r.publicKey)}function nS(e){let t=On.pkixToJwk(e);return new Es(t)}async function iS(e){let t=await Mu(e);return new Ni(t.privateKey,t.publicKey)}async function sS(e){let t=await Ry(e);return new Ni(t.privateKey,t.publicKey)}var Yu={};ne(Yu,{Ed25519PrivateKey:()=>Un,Ed25519PublicKey:()=>Ss,generateKeyPair:()=>RS,generateKeyPairFromSeed:()=>Yy,unmarshalEd25519PrivateKey:()=>SS,unmarshalEd25519PublicKey:()=>AS});var oS=N(An(),1);var re=BigInt(0),nt=BigInt(1),rn=BigInt(2),aS=BigInt(8),Py=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Tt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Py,n:Py,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Uy=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),xs=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),wL=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),cS=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),lS=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),uS=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),fS=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Z=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof Lt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Lt.ZERO)?Z.ZERO:new Z(t.x,t.y,nt,R(t.x*t.y))}static toAffineBatch(t){let r=pS(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){ky(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,c=R(r*a),l=R(s*i),u=R(n*a),f=R(o*i);return c===l&&u===f}negate(){return new Z(R(-this.x),this.y,this.z,R(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=Tt,s=R(t*t),o=R(r*r),a=R(rn*R(n*n)),c=R(i*s),l=t+r,u=R(R(l*l)-s-o),f=c+o,h=f-a,d=c-o,p=R(u*h),m=R(f*d),y=R(u*d),g=R(h*f);return new Z(p,m,g,y)}add(t){ky(t);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:l}=t,u=R((n-r)*(a+o)),f=R((n+r)*(a-o)),h=R(f-u);if(h===re)return this.double();let d=R(i*rn*l),p=R(s*rn*c),m=p+d,y=f+u,g=p-d,x=R(m*h),_=R(y*g),O=R(m*g),C=R(h*y);return new Z(x,_,C,O)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals(Z.BASE)&&(r=Lt.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&&$u.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Z.normalizeZ(i),$u.set(r,i)));let s=Z.ZERO,o=Z.BASE,a=1+256/n,c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=nt);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(Ny(g,i[m])):s=s.add(Ny(x,i[y]))}return Z.normalizeZ([s,o])[0]}multiply(t,r){return this.wNAF(wa(t,Tt.l),r)}multiplyUnsafe(t){let r=wa(t,Tt.l,!1),n=Z.BASE,i=Z.ZERO;if(r===re)return i;if(this.equals(i)||r===nt)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>re;)r&nt&&(s=s.add(o)),o=o.double(),r>>=nt;return s}isSmallOrder(){return this.multiplyUnsafe(Tt.h).equals(Z.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(Tt.l/rn).double();return Tt.l%rn&&(t=t.add(this)),t.equals(Z.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals(Z.ZERO);t==null&&(t=s?aS:Ea(i));let o=R(r*t),a=R(n*t),c=R(i*t);if(s)return Lt.ZERO;if(c!==nt)throw new Error("invZ was invalid");return new Lt(o,a)}fromRistrettoBytes(){Ku()}toRistrettoBytes(){Ku()}fromRistrettoHash(){Ku()}};Z.BASE=new Z(Tt.Gx,Tt.Gy,nt,R(Tt.Gx*Tt.Gy));Z.ZERO=new Z(re,nt,nt,re);function Ny(e,t){let r=t.negate();return e?r:t}function ky(e){if(!(e instanceof Z))throw new TypeError("ExtendedPoint expected")}function Fu(e){if(!(e instanceof me))throw new TypeError("RistrettoPoint expected")}function Ku(){throw new Error("Legacy method: switch to RistrettoPoint")}var me=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=Tt,n=R(xs*t*t),i=R((n+nt)*uS),s=BigInt(-1),o=R((s-r*n)*R(n+r)),{isValid:a,value:c}=Hu(i,o),l=R(c*t);en(l)||(l=R(-l)),a||(c=l),a||(s=n);let u=R(s*(n-nt)*fS-o),f=c*c,h=R((c+c)*o),d=R(u*cS),p=R(nt-f),m=R(nt+f);return new Z(R(h*m),R(p*d),R(d*m),R(h*p))}static hashToCurve(t){t=nn(t,64);let r=Vu(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Vu(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new me(n.add(s))}static fromHex(t){t=nn(t,32);let{a:r,d:n}=Tt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Vu(t);if(!yS(vs(s),t)||en(s))throw new Error(i);let o=R(s*s),a=R(nt+r*o),c=R(nt-r*o),l=R(a*a),u=R(c*c),f=R(r*n*l-u),{isValid:h,value:d}=My(R(f*u)),p=R(d*c),m=R(d*p*f),y=R((s+s)*p);en(y)&&(y=R(-y));let g=R(a*m),x=R(y*g);if(!h||en(x)||g===re)throw new Error(i);return new me(new Z(y,g,nt,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,s=R(R(n+r)*R(n-r)),o=R(t*r),a=R(o*o),{value:c}=My(R(s*a)),l=R(c*s),u=R(c*o),f=R(l*u*i),h;if(en(i*f)){let p=R(r*xs),m=R(t*xs);t=p,r=m,h=R(l*lS)}else h=u;en(t*f)&&(r=R(-r));let d=R((n-r)*h);return en(d)&&(d=R(-d)),vs(d)}toHex(){return bs(this.toRawBytes())}toString(){return this.toHex()}equals(t){Fu(t);let r=this.ep,n=t.ep,i=R(r.x*n.y)===R(r.y*n.x),s=R(r.y*n.y)===R(r.x*n.x);return i||s}add(t){return Fu(t),new me(this.ep.add(t.ep))}subtract(t){return Fu(t),new me(this.ep.subtract(t.ep))}multiply(t){return new me(this.ep.multiply(t))}multiplyUnsafe(t){return new me(this.ep.multiplyUnsafe(t))}};me.BASE=new me(Z.BASE);me.ZERO=new me(Z.ZERO);var $u=new WeakMap,Lt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,$u.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=Tt;t=nn(t,32);let s=t.slice();s[31]=t[31]&-129;let o=_s(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=Uy)throw new Error("Expected 0 < hex < 2**256");let a=R(o*o),c=R(a-nt),l=R(n*a+nt),{isValid:u,value:f}=Hu(c,l);if(!u)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&nt)===nt;return(t[31]&128)!==0!==h&&(f=R(-f)),new Lt(f,o)}static async fromPrivateKey(t){return(await xa(t)).point}toRawBytes(){let t=vs(this.y);return t[31]|=this.x&nt?128:0,t}toHex(){return bs(this.toRawBytes())}toX25519(){let{y:t}=this,r=R((nt+t)*Ea(nt-t));return vs(r)}isTorsionFree(){return Z.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Lt(R(-this.x),this.y)}add(t){return Z.fromAffine(this).add(Z.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Z.fromAffine(this).multiply(t,this).toAffine()}};Lt.BASE=new Lt(Tt.Gx,Tt.Gy);Lt.ZERO=new Lt(re,nt);var Mn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=nn(t,64),n=Lt.fromHex(r.slice(0,32),!1),i=_s(r.slice(32,64));return new Mn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof Lt))throw new Error("Expected Point instance");return wa(r,Tt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(vs(this.s),32),t}toHex(){return bs(this.toRawBytes())}};function Oy(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var hS=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function bs(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=hS[e[r]];return t}function zu(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function Fy(e){let r=e.toString(16).padStart(64,"0");return zu(r)}function vs(e){return Fy(e).reverse()}function en(e){return(R(e)&nt)===nt}function _s(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+bs(Uint8Array.from(e).reverse()))}var dS=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Vu(e){return R(_s(e)&dS)}function R(e,t=Tt.P){let r=e%t;return r>=re?r:t+r}function Ea(e,t=Tt.P){if(e===re||t<=re)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=R(e,t),n=t,i=re,s=nt,o=nt,a=re;for(;r!==re;){let l=n/r,u=n%r,f=i-o*l,h=s-a*l;n=r,r=u,i=o,s=a,o=f,a=h}if(n!==nt)throw new Error("invert: does not exist");return R(i,t)}function pS(e,t=Tt.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===re?s:(r[a]=s,R(s*o,t)),nt),i=Ea(n,t);return e.reduceRight((s,o,a)=>o===re?s:(r[a]=R(s*r[a],t),R(s*o,t)),i),r}function dr(e,t){let{P:r}=Tt,n=e;for(;t-- >re;)n*=n,n%=r;return n}function mS(e){let{P:t}=Tt,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=e*e%t*e%t,l=dr(c,rn)*c%t,u=dr(l,nt)*e%t,f=dr(u,r)*u%t,h=dr(f,n)*f%t,d=dr(h,i)*h%t,p=dr(d,s)*d%t,m=dr(p,o)*p%t,y=dr(m,o)*p%t,g=dr(y,n)*f%t;return{pow_p_5_8:dr(g,rn)*e%t,b2:c}}function Hu(e,t){let r=R(t*t*t),n=R(r*r*t),i=mS(e*n).pow_p_5_8,s=R(e*r*i),o=R(t*s*s),a=s,c=R(s*xs),l=o===e,u=o===R(-e),f=o===R(-e*xs);return l&&(s=a),(u||f)&&(s=c),en(s)&&(s=R(-s)),{isValid:l||u,value:s}}function My(e){return Hu(nt,e)}function ga(e){return R(_s(e),Tt.l)}function yS(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function nn(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):zu(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function wa(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(re<e)return e}else if(re<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function gS(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function wS(e){if(e=typeof e=="bigint"||typeof e=="number"?Fy(wa(e,Uy)):nn(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function ES(e){let t=gS(e.slice(0,32)),r=e.slice(32,64),n=ga(t),i=Lt.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:s}}var qu;async function xa(e){return ES(await sn.sha512(wS(e)))}async function Gu(e){return(await xa(e)).pointBytes}async function Ky(e,t){e=nn(e);let{prefix:r,scalar:n,pointBytes:i}=await xa(t),s=ga(await sn.sha512(r,e)),o=Lt.BASE.multiply(s),a=ga(await sn.sha512(o.toRawBytes(),i,e)),c=R(s+a*n,Tt.l);return new Mn(o,c).toRawBytes()}function xS(e,t,r){t=nn(t),r instanceof Lt||(r=Lt.fromHex(r,!1));let{r:n,s:i}=e instanceof Mn?e.assertValidity():Mn.fromHex(e),s=Z.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:t}}function vS(e,t,r,n){let i=ga(n),s=Z.fromAffine(e).multiplyUnsafe(i);return Z.fromAffine(t).add(s).subtract(r).multiplyUnsafe(Tt.h).equals(Z.ZERO)}async function Vy(e,t,r){let{r:n,SB:i,msg:s,pub:o}=xS(e,t,r),a=await sn.sha512(n.toRawBytes(),o.toRawBytes(),s);return vS(o,n,i,a)}Lt.BASE._setWindowSize(8);var tn={node:oS,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},sn={bytesToHex:bs,hexToBytes:zu,concatBytes:Oy,getExtendedPublicKey:xa,mod:R,invert:Ea,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=nn(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return R(_s(e),Tt.l-nt)+nt},randomBytes:(e=32)=>{if(tn.web)return tn.web.getRandomValues(new Uint8Array(e));if(tn.node){let{randomBytes:t}=tn.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>sn.randomBytes(32),sha512:async(...e)=>{let t=Oy(...e);if(tn.web){let r=await tn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(tn.node)return Uint8Array.from(tn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=Lt.BASE){let r=t.equals(Lt.BASE)?t:new Lt(t.x,t.y);return r._setWindowSize(e),r.multiply(rn),r},sha512Sync:void 0};Object.defineProperties(sn,{sha512Sync:{configurable:!1,get(){return qu},set(e){qu||(qu=e)}}});var ki=32,Lr=64,va=32;async function qy(){let e=sn.randomPrivateKey(),t=await Gu(e);return{privateKey:Gy(e,t),publicKey:t}}async function $y(e){if(e.length!==va)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await Gu(t);return{privateKey:Gy(t,r),publicKey:r}}async function zy(e,t){let r=e.subarray(0,va);return await Ky(t,r)}async function Hy(e,t,r){return await Vy(t,r,e)}function Gy(e,t){let r=new Uint8Array(Lr);for(let n=0;n<va;n++)r[n]=e[n],r[va+n]=t[n];return r}var Ss=class{constructor(t){this._key=Oi(t,ki)}async verify(t,r){return await Hy(this._key,r,t)}marshal(){return this._key}get bytes(){return ir.encode({Type:Ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Un=class{constructor(t,r){this._key=Oi(t,Lr),this._publicKey=Oi(r,ki)}async sign(t){return await zy(this._key,t)}get public(){return new Ss(this._publicKey)}marshal(){return this._key}get bytes(){return sr.encode({Type:Ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=Ur.digest(this.public.bytes);return Mt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Pi(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function SS(e){if(e.length>Lr){e=Oi(e,Lr+ki);let n=e.subarray(0,Lr),i=e.subarray(Lr,e.length);return new Un(n,i)}e=Oi(e,Lr);let t=e.subarray(0,Lr),r=e.subarray(ki);return new Un(t,r)}function AS(e){return e=Oi(e,ki),new Ss(e)}async function RS(){let{privateKey:e,publicKey:t}=await qy();return new Un(e,t)}async function Yy(e){let{privateKey:t,publicKey:r}=await $y(e);return new Un(t,r)}function Oi(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new w(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var Qu={};ne(Qu,{Secp256k1PrivateKey:()=>Rs,Secp256k1PublicKey:()=>As,generateKeyPair:()=>DS,unmarshalSecp256k1PrivateKey:()=>TS,unmarshalSecp256k1PublicKey:()=>CS});function Wy(){return Ye.randomPrivateKey()}async function Qy(e,t){let{digest:r}=await ie.digest(t);try{return await vy(r,e)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}async function Xy(e,t,r){try{let{digest:n}=await ie.digest(r);return by(t,n,e)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}function Zy(e){return ct.fromHex(e).toRawBytes(!0)}function Jy(e){try{ku(e,!0)}catch(t){throw new w(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Wu(e){try{ct.fromHex(e)}catch(t){throw new w(String(t),"ERR_INVALID_PUBLIC_KEY")}}function jy(e){try{return ku(e,!0)}catch(t){throw new w(String(t),"ERR_INVALID_PRIVATE_KEY")}}var As=class{constructor(t){Wu(t),this._key=t}async verify(t,r){return await Xy(this._key,r,t)}marshal(){return Zy(this._key)}get bytes(){return ir.encode({Type:Ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}},Rs=class{constructor(t,r){this._key=t,this._publicKey=r??jy(t),Jy(this._key),Wu(this._publicKey)}async sign(t){return await Qy(this._key,t)}get public(){return new As(this._publicKey)}marshal(){return this._key}get bytes(){return sr.encode({Type:Ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return xt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await ie.digest(this.bytes);return t}async id(){let t=await this.public.hash();return z(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Pi(this.bytes,t);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function TS(e){return new Rs(e)}function CS(e){return new As(e)}async function DS(){let e=Wy();return new Rs(e)}var Br={rsa:Uu,ed25519:Yu,secp256k1:Qu};function Xu(e){let t=Object.keys(Br).join(" / ");return new w(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Zu(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Br[e];throw Xu(e)}async function _a(e,t){return await Zu(e).generateKeyPair(t??2048)}function Is(e){let t=ir.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Ct.RSA:return Br.rsa.unmarshalRsaPublicKey(r);case Ct.Ed25519:return Br.ed25519.unmarshalEd25519PublicKey(r);case Ct.Secp256k1:return Br.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Xu(t.Type??"RSA")}}function tg(e,t){return t=(t??"rsa").toLowerCase(),Zu(t),e.bytes}async function Mi(e){let t=sr.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Ct.RSA:return await Br.rsa.unmarshalRsaPrivateKey(r);case Ct.Ed25519:return Br.ed25519.unmarshalEd25519PrivateKey(r);case Ct.Secp256k1:return Br.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Xu(t.Type??"RSA")}}function eg(e,t){return t=(t??"rsa").toLowerCase(),Zu(t),e.bytes}async function Ts(e,t){try{let i=await ny(e,t);return await Mi(i)}catch{}let r=ba.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new w("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=ba.default.asn1.toDer(ba.default.pki.privateKeyToAsn1(r));return n=F(n.getBytes(),"ascii"),await Br.rsa.unmarshalRsaPrivateKey(n)}var VL=N(Zo(),1),BS=N(ft(),1);var ng=N(wu(),1),ig=N(qt(),1);var rg={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Cs(e,t,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(rg).join(" / ");throw new w(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=rg[i],o=(0,ng.default)(e,t,r,n,s);return ig.default.encode64(o,null)}var Sa=M("libp2p:keychain"),kS="/pkcs8/",og="/info/",Fn=new WeakMap,Kn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Ju={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Pr(e){return e==null||typeof e!="string"?!1:e===(0,sg.default)(e.trim())&&e.length>0}async function yt(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function pr(e){return new kt(kS+e)}function on(e){return new kt(og+e)}var Vn=class{constructor(t,r){if(this.components=t,this.init=Te(Ju,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<Kn.minKeyLength)throw new Error(`dek.keyLength must be least ${Kn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Kn.minSaltLength)throw new Error(`dek.saltLength must be least ${Kn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Kn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Kn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Cs(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Fn.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},Ju),r=Math.ceil(Kn.minSaltLength/3)*3;return t.dek.salt=z(Cr(r),"base64"),t}static get options(){return Ju}async createKey(t,r,n=2048){if(!Pr(t)||t==="self")throw await yt(),new w("Invalid key name",tt.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await yt(),new w("Invalid key type",tt.ERR_INVALID_KEY_TYPE);let i=pr(t);if(await this.components.datastore.has(i))throw await yt(),new w("Key name already exists",tt.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await yt(),new w("Invalid RSA key size",tt.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await _a(r,n),c=await a.id(),l=Fn.get(this);if(l==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let u=l.dek,f=await a.export(u);o={name:t,id:c};let h=this.components.datastore.batch();h.put(i,F(f)),h.put(on(t),F(JSON.stringify(o))),await h.commit()}catch(a){throw await yt(),a}return o}async listKeys(){let t={prefix:og},r=[];for await(let n of this.components.datastore.query(t))r.push(JSON.parse(z(n.value)));return r}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw new w(`Key with id '${t}' does not exist.`,tt.ERR_KEY_NOT_FOUND);return n}catch(r){throw await yt(),r}}async findKeyByName(t){if(!Pr(t))throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);let r=on(t);try{let n=await this.components.datastore.get(r);return JSON.parse(z(n))}catch(n){throw await yt(),Sa.error(n),new w(`Key '${t}' does not exist.`,tt.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Pr(t)||t==="self")throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);let r=pr(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(r),i.delete(on(t)),await i.commit(),n}async renameKey(t,r){if(!Pr(t)||t==="self")throw await yt(),new w(`Invalid old key name '${t}'`,tt.ERR_OLD_KEY_NAME_INVALID);if(!Pr(r)||r==="self")throw await yt(),new w(`Invalid new key name '${r}'`,tt.ERR_NEW_KEY_NAME_INVALID);let n=pr(t),i=pr(r),s=on(t),o=on(r);if(await this.components.datastore.has(i))throw await yt(),new w(`Key '${r}' already exists`,tt.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),l=await this.components.datastore.get(s),u=JSON.parse(z(l));u.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,F(JSON.stringify(u))),f.delete(n),f.delete(s),await f.commit(),u}catch(c){throw await yt(),c}}async exportKey(t,r){if(!Pr(t))throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);if(r==null)throw await yt(),new w("Password is required",tt.ERR_PASSWORD_REQUIRED);let n=pr(t);try{let i=await this.components.datastore.get(n),s=z(i),o=Fn.get(this);if(o==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await Ts(s,a)).export(r)}catch(i){throw await yt(),i}}async exportPeerId(t){let r="temporary-password",n=await this.exportKey(t,r),i=await Ts(n,r);return await $r(i.public.bytes,i.bytes)}async importKey(t,r,n){if(!Pr(t)||t==="self")throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);if(r==null)throw await yt(),new w("PEM encoded key is required",tt.ERR_PEM_REQUIRED);let i=pr(t);if(await this.components.datastore.has(i))throw await yt(),new w(`Key '${t}' already exists`,tt.ERR_KEY_ALREADY_EXISTS);let o;try{o=await Ts(r,n)}catch{throw await yt(),new w("Cannot read the key, most likely the password is wrong",tt.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let u=Fn.get(this);if(u==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let f=u.dek;r=await o.export(f)}catch(u){throw await yt(),u}let c={name:t,id:a},l=this.components.datastore.batch();return l.put(i,F(r)),l.put(on(t),F(JSON.stringify(c))),await l.commit(),c}async importPeer(t,r){try{if(!Pr(t))throw new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);if(r==null)throw new w("PeerId is required",tt.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new w("PeerId.privKey is required",tt.ERR_MISSING_PRIVATE_KEY);let n=await Mi(r.privateKey),i=pr(t);if(await this.components.datastore.has(i))throw await yt(),new w(`Key '${t}' already exists`,tt.ERR_KEY_ALREADY_EXISTS);let o=Fn.get(this);if(o==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),l={name:t,id:r.toString()},u=this.components.datastore.batch();return u.put(i,F(c)),u.put(on(t),F(JSON.stringify(l))),await u.commit(),l}catch(n){throw await yt(),n}}async getPrivateKey(t){if(!Pr(t))throw await yt(),new w(`Invalid key name '${t}'`,tt.ERR_INVALID_KEY_NAME);try{let r=pr(t),n=await this.components.datastore.get(r);return z(n)}catch(r){throw await yt(),Sa.error(r),new w(`Key '${t}' does not exist.`,tt.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,r){if(typeof t!="string")throw await yt(),new w(`Invalid old pass type '${typeof t}'`,tt.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await yt(),new w(`Invalid new pass type '${typeof r}'`,tt.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await yt(),new w(`Invalid pass length ${r.length}`,tt.ERR_INVALID_PASS_LENGTH);Sa("recreating keychain");let n=Fn.get(this);if(n==null)throw new w("dek missing",tt.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?Cs(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Fn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(pr(a.name)),l=z(c),u=await Ts(l,i),f=s.toString(),h=await u.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(pr(a.name),F(h)),d.put(on(a.name),F(JSON.stringify(p))),await d.commit()}Sa("keychain reconstructed")}};var hB=Symbol.for("@libp2p/transport");var an;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(an||(an={}));var ju=class extends Map{constructor(t){super();let{name:r,metrics:n}=t;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(t,r){return super.set(t,r),this.updateComponentMetric(),this}delete(t){let r=super.delete(t);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ds(e){let{name:t,metrics:r}=e,n;return r!=null?n=new ju({name:t,metrics:r}):n=new Map,n}var qn=M("libp2p:transports"),Aa=class extends Nt{constructor(t,r={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=Ds({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??an.FATAL_ALL}add(t){let r=t[Symbol.toStringTag];if(r==null)throw new w("Transport must have a valid tag",S.ERR_INVALID_KEY);if(this.transports.has(r))throw new w(`There is already a transport with the tag ${r}`,S.ERR_DUPLICATE_TRANSPORT);qn("adding transport %s",r),this.transports.set(r,t),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[r,n]of this.listeners)for(qn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),qn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(t,r){let n=this.transportForMultiaddr(t);if(n==null)throw new w(`No transport available for address ${String(t)}`,S.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=S.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let r of this.listeners.values())for(let n of r)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let r of this.transports.values())if(r.filter([t]).length>0)return r}async listen(t){if(t==null||t.length===0){qn("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(t),o=[];for(let l of s){qn("creating listener for %s on %s",n,l);let u=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(u),u.addEventListener("listening",()=>{this.dispatchEvent(new $("listener:listening",{detail:u}))}),u.addEventListener("close",()=>{this.dispatchEvent(new $("listener:close",{detail:u}))}),o.push(u.listen(l))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(l=>l.status==="fulfilled")==null&&this.faultTolerance!==an.NO_FATAL)throw new w(`Transport (${n}) could not listen on any available address`,S.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===an.FATAL_ALL)throw new w(n,S.ERR_NO_VALID_ADDRESSES);qn(`libp2p in dial mode only: ${n}`)}}async remove(t){qn("removing %s",t);for(let r of this.listeners.get(t)??[])await r.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let r of this.transports.keys())t.push(this.remove(r));await Promise.all(t)}};var Nr="/multistream/1.0.0";var cg=Symbol.for("@achingbrain/uint8arraylist");function ag(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function Ra(e){return!!e?.[cg]}var bt=class{constructor(...t){Object.defineProperty(this,cg,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Ra(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Ra(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(t){let r=ag(this.bufs,t);return r.buf[r.index]}set(t,r){let n=ag(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Ra(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new bt;return s.length=i,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===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,t>=c)continue;let l=t>=a&&t<c,u=r>a&&r<=c;if(l&&u){if(t===a&&r===c){n.push(o);break}let f=t-a;n.push(o.subarray(f,f+(r-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(u){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Ra(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.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,l=n.byteLength-1,u;for(let f=r;f<=c;f+=u){u=0;for(let h=l;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){u=Math.max(1,h-a[d]);break}}if(u===0)return f}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Ue(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=xr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Ue(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=xr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=xr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=xr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof bt)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!xt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new bt;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function Ia(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var lg=4294967296,Se=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!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(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Se(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Se(r,n)}toBytes(t,r=0){let n=Ia(t);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(t){if(t===0n)return new Se;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>lg&&(i=0,++n>lg&&(n=0))),new Se(n,i)}static fromNumber(t){if(t===0)return new Se;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Se(i,n)}static fromBytes(t,r=0){let n=Ia(t),i=new Se,s=0;if(t.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>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(t.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<t.byteLength)for(;s<5;++s){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.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 OS=Math.pow(2,7),MS=Math.pow(2,14),US=Math.pow(2,21),FS=Math.pow(2,28),KS=Math.pow(2,35),VS=Math.pow(2,42),qS=Math.pow(2,49),$S=Math.pow(2,56),zS=Math.pow(2,63),se={encodingLength(e){return e<OS?1:e<MS?2:e<US?3:e<FS?4:e<KS?5:e<VS?6:e<qS?7:e<$S?8:e<zS?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=Ue(se.encodingLength(e))),Se.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return Se.fromBytes(e,t).toNumber(!0)}};function Ta(e){return e[Symbol.asyncIterator]!=null}var Ca=e=>{let t=se.encodingLength(e),r=Ue(t);return se.encode(e,r),Ca.bytes=t,r};Ca.bytes=0;function Da(e,t){t=t??{};let r=t.lengthEncoder??Ca;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Ta(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Da.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Ca;return new bt(r(e.byteLength),e)};var Ui=N(Yi(),1);var HS=8,GS=1024*1024*4,$n;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})($n||($n={}));var tf=e=>{let t=se.decode(e);return tf.bytes=se.encodingLength(t),t};tf.bytes=0;function Ls(e,t){let r=new bt,n=$n.LENGTH,i=-1,s=t?.lengthDecoder??tf,o=t?.maxLengthLength??HS,a=t?.maxDataLength??GS;function*c(){for(;r.byteLength>0;){if(n===$n.LENGTH)try{if(i=s(r),i<0)throw(0,Ui.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Ui.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=s.bytes;r.consume(l),t?.onLength!=null&&t.onLength(i),n=$n.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>o)throw(0,Ui.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(n===$n.DATA){if(r.byteLength<i)break;let l=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(l),yield l,n=$n.LENGTH}}}return Ta(e)?async function*(){for await(let l of e)r.append(l),yield*c();if(r.byteLength>0)throw(0,Ui.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let l of e)r.append(l),yield*c();if(r.byteLength>0)throw(0,Ui.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Ls.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.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 Ls(n,{...t??{},onLength:s=>{r=s}})};function WS(e){return e[Symbol.asyncIterator]!=null}function QS(...e){let t=[];for(let r of e)WS(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=Ke({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ef=QS;function ug(e,...t){if(e==null)throw new Error("Empty pipeline");if(rf(e)){let n=e;e=()=>n.source}else if(hg(e)||fg(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&rf(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++)rf(r[n])&&(r[n]=ZS(r[n]));return XS(...r)}var XS=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},fg=e=>e?.[Symbol.asyncIterator]!=null,hg=e=>e?.[Symbol.iterator]!=null,rf=e=>e==null?!1:e.sink!=null&&e.source!=null,ZS=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=Ke({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=e.source;if(fg(s))i=async function*(){yield*s,n.end()};else if(hg(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ef(n,i())}return e.source};function JS(e){return e[Symbol.asyncIterator]!=null}function jS(e){if(JS(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var dg=jS;var Bs=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function pg(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function La(e,t,r){let n=r??{},i=pg(e);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:u,abortCode:f}=n;throw new Bs(u,f)}let l=new Promise((u,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new Bs(h,d))}});c=await Promise.race([l,i.next()]),o=null}catch(l){t.removeEventListener("abort",a);let u=l.type==="aborted"&&t.aborted;if(u&&n.onAbort!=null&&await n.onAbort(e),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(u&&n.returnOnAbort===!0)return;throw l}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return s()}function tA(e,t,r){return n=>e(La(n,t,r))}function ye(e,t,r){return{sink:tA(e.sink,t,{...r,onAbort:void 0}),source:La(e.source,t,r)}}var rA=M("libp2p:mss"),mg=F(`
|
|
38
|
+
`);function Ps(e){let t=new bt(e,mg);return Da.single(t)}function zn(e,t,r={}){let n=Ps(t);r.writeBytes===!0?e.push(n.subarray()):e.push(n)}function yg(e,t,r={}){let n=new bt;for(let i of t)n.append(Ps(i));r.writeBytes===!0?e.push(n.subarray()):e.push(n)}async function nA(e,t){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await e.next(r)},i=n;t?.signal!=null&&(i=La(n,t.signal));let s=a=>{r=a},o=await ug(i,a=>Ls(a,{onLength:s,maxDataLength:1024}),async a=>await dg(a));if(o==null||o.length===0)throw new w("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==mg[0])throw rA.error("Invalid mss message - missing newline - %s",o.subarray()),new w("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Fi(e,t){let r=await nA(e,t);return z(r.subarray())}function nf(e){let t=async function*(){let r=yield,n=new bt;for await(let i of e){if(r==null){n.append(i),r=yield n,n=new bt;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 bt);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function cn(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}function Ba(e){let t=Ke(),r=nf(e.source),n=cn(),i,s=e.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await s),source:r},rest:()=>t.end(),write:t.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Ns=M("libp2p:mss:select");async function ks(e,t,r={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:s,stream:o}=Ba(e),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");Ns('select: write ["%s", "%s"]',Nr,a);let c=F(Nr),l=F(a);yg(i,[c,l],r);let u=await Fi(n,r);if(Ns('select: read "%s"',u),u===Nr&&(u=await Fi(n,r),Ns('select: read "%s"',u)),u===a)return s(),{stream:o,protocol:a};for(let f of t){Ns('select: write "%s"',f),zn(i,F(f),r);let h=await Fi(n,r);if(Ns('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new w("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Os=M("libp2p:mss:handle");async function Ms(e,t,r){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:s,stream:o}=Ba(e);for(;;){let a=await Fi(i,r);if(Os('read "%s"',a),a===Nr){Os('respond with "%s" for "%s"',Nr,a),zn(n,F(Nr),r);continue}if(t.includes(a))return zn(n,F(a),r),Os('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){zn(n,new bt(...t.map(c=>Ps(F(c)))),r),Os('respond with "%s" for %s',t,a);continue}zn(n,F("na"),r),Os('respond with "na" for "%s"',a)}}var wg=Symbol.for("@libp2p/connection");var sA=M("libp2p:connection"),sf=class{constructor(t){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:Bo},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[wg](){return!0}get streams(){return this._getStreams()}async newStream(t,r){if(this.stat.status===Il)throw new w("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Po)throw new w("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,r);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===Po||this._closing)){this.stat.status=Il;try{this.streams.forEach(t=>{t.close()})}catch(t){sA.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=Po}}};function Eg(e){return new sf(e)}var oA=Symbol.for("@libp2p/topology");function xg(e){return e!=null&&!!e[oA]}var of=M("libp2p:registrar"),af=32,cf=64,Pa=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let r=this.handlers.get(t);if(r==null)throw new w(`No handler registered for protocol ${t}`,S.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(t){let r=this.topologies.get(t);return r==null?[]:[...r.values()]}async handle(t,r,n){if(this.handlers.has(t))throw new w(`Handler already registered for protocol ${t}`,S.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Te.bind({ignoreUndefined:!0})({maxInboundStreams:af,maxOutboundStreams:cf},n);this.handlers.set(t,{handler:r,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let r=Array.isArray(t)?t:[t];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,r)}async register(t,r){if(!xg(r))throw of.error("topology must be an instance of interfaces/topology"),new w("topology must be an instance of interfaces/topology",S.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(t){for(let[r,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(r))}_onDisconnect(t){let r=t.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r.remotePeer)}}).catch(n=>{of.error(n)})}_onConnect(t){let r=t.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(r.remotePeer,r)}}).catch(n=>{of.error(n)})}_onProtocolChange(t){let{peerId:r,protocols:n,oldProtocols:i}=t.detail,s=i.filter(a=>!n.includes(a)),o=n.filter(a=>!i.includes(a));for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let l of c.values())l.onDisconnect(r)}for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let l of c.values()){let u=this.components.connectionManager.getConnections(r)[0];u!=null&&l.onConnect(r,u)}}}};var lf=N(br(),1);var uf=N(er(),1),_t=M("libp2p:upgrader");function aA(e,t){try{let{options:r}=t.getHandler(e);return r.maxInboundStreams}catch(r){if(r.code!==S.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return af}function cA(e,t){try{let{options:r}=t.getHandler(e);return r.maxOutboundStreams}catch(r){if(r.code!==S.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return cf}function vg(e,t,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===e&&n++}),n}var Na=class extends Nt{constructor(t,r){super(),this.components=t,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}async upgradeInbound(t,r){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw new w("connection denied",S.ERR_CONNECTION_DENIED);let i,s,o,a,c,l=new lf.TimeoutController(this.inboundUpgradeTimeout);try{(0,uf.setMaxListeners)?.(1/0,l.signal)}catch{}try{let u=ye(t,l.signal);if(t.source=u.source,t.sink=u.sink,await this.components.connectionGater.denyInboundConnection?.(t)===!0)throw new w("The multiaddr connection is blocked by gater.acceptConnection",S.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),_t("starting the inbound connection upgrade");let f=t;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(_t("protecting the inbound connection"),f=await h.protect(t))}try{if(i=f,r?.skipEncryption!==!0){if({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection?.(s,{...f,...i})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED)}else{let h=t.remoteAddr.getPeerId();if(h==null)throw new w("inbound connection that skipped encryption must have a peer id",S.ERR_INVALID_MULTIADDR);let d=at(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 _t.error("Failed to upgrade inbound connection",h),h}if(await this.components.connectionGater.denyInboundUpgradedConnection?.(s,{...f,...i})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED);return _t("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),l.clear()}}async upgradeOutbound(t,r){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=at(n),await this.components.connectionGater.denyOutboundConnection?.(i,t)===!0))throw new w("The multiaddr connection is blocked by connectionGater.denyOutboundConnection",S.ERR_CONNECTION_INTERCEPTED);let s,o,a,c,l;this.components.metrics?.trackMultiaddrConnection(t),_t("Starting the outbound connection upgrade");let u=t;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(u=await f.protect(t))}try{if(s=u,r?.skipEncryption!==!0){if({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(u,i),await this.components.connectionGater.denyOutboundEncryptedConnection?.(o,{...u,...s})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw new w("Encryption was skipped but no peer id was passed",S.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)l=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...u,...s},this.muxers);l=f.muxerFactory,a=f.stream}}catch(f){throw _t.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection?.(o,{...u,...s})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED);return _t("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:l,remotePeer:o})}_createConnection(t){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=t,c,l,u;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{u!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Ms(d,p);if(_t("%s: incoming stream opened on %s",n,y),u==null)return;let g=aA(y,this.components.registrar);if(vg(y,"inbound",u)===g){d.abort(new w(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,S.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,this.components.peerStore.protoBook.add(o,[y]).catch(_=>{_t.error(_)}),u.addStream(d),this.components.metrics?.trackProtocolStream(d,u),this._onStream({connection:u,stream:d,protocol:y})}).catch(p=>{_t.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{u?.removeStream(d.id)}}),l=async(d,p={})=>{if(c==null)throw new w("Stream is not multiplexed",S.ERR_MUXER_UNAVAILABLE);_t("%s: starting new stream on %s",n,d);let m=await c.newStream(),y;try{if(p.signal==null){_t("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),y=new lf.TimeoutController(3e4),p.signal=y.signal;try{(0,uf.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:x}=await ks(m,d,p),_=cA(x,this.components.registrar);if(vg(x,"outbound",u)===_){let C=new w(`Too many outbound protocol streams for protocol "${x}" - limit ${_}`,S.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(C),C}return this.components.peerStore.protoBook.add(o,[x]).catch(C=>{_t.error(C)}),m.source=g.source,m.sink=g.sink,m.stat.protocol=x,this.components.metrics?.trackProtocolStream(m,u),m}catch(g){throw _t.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:new w(String(g),S.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{_t.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(u!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{u.stat.status==="OPEN"&&await u.close()}catch(p){_t.error(p)}finally{this.dispatchEvent(new $("connectionEnd",{detail:u}))}})().catch(p=>{_t.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new w("connection is not multiplexed",S.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=Eg({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:l??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new $("connection",{detail:u})),u}_onStream(t){let{connection:r,stream:n,protocol:i}=t,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(t){let r=Array.from(this.connectionEncryption.keys());_t("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Ms(t,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return _t("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new w(String(n),S.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,r){let n=Array.from(this.connectionEncryption.keys());_t("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await ks(t,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return _t("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new w(String(i),S.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,r){let n=Array.from(r.keys());_t("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await ks(t,n,{writeBytes:!0});_t("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw _t.error("error multiplexing outbound stream",i),new w(String(i),S.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,r){let n=Array.from(r.keys());_t("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Ms(t,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw _t.error("error multiplexing inbound stream",i),new w(String(i),S.ERR_MUXER_UNAVAILABLE)}}};function bg(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var ka=e=>{let t=se.encodingLength(e),r=bg(t);return se.encode(e,r),ka.bytes=t,r};ka.bytes=0;function We(e){e=e??{};let t=e.lengthEncoder??ka;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}We.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??ka;return new bt(r(e.byteLength),e)};var Us=N(Yi(),1),lA=8,uA=1024*1024*4,Hn;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Hn||(Hn={}));var ff=e=>{let t=se.decode(e);return ff.bytes=se.encodingLength(t),t};ff.bytes=0;function Ne(e){return async function*(r){let n=new bt,i=Hn.LENGTH,s=-1,o=e?.lengthDecoder??ff,a=e?.maxLengthLength??lA,c=e?.maxDataLength??uA;for await(let l of r)for(n.append(l);n.byteLength>0;){if(i===Hn.LENGTH)try{if(s=o(n),s<0)throw(0,Us.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>c)throw(0,Us.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;n.consume(u),e?.onLength!=null&&e.onLength(s),i=Hn.DATA}catch(u){if(u instanceof RangeError){if(n.byteLength>a)throw(0,Us.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(i===Hn.DATA){if(n.byteLength<s)break;let u=n.sublist(0,s);n.consume(s),e?.onData!=null&&e.onData(u),yield u,i=Hn.LENGTH}}if(n.byteLength>0)throw(0,Us.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Ne.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.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 Ne({...t??{},onLength:s=>{r=s}})(n)};var Gn;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.protocolVersion!=null&&(n.uint32(42),n.string(r.protocolVersion)),r.agentVersion!=null&&(n.uint32(50),n.string(r.agentVersion)),r.publicKey!=null&&(n.uint32(10),n.bytes(r.publicKey)),r.listenAddrs!=null)for(let s of r.listenAddrs)n.uint32(18),n.bytes(s);if(r.observedAddr!=null&&(n.uint32(34),n.bytes(r.observedAddr)),r.protocols!=null)for(let s of r.protocols)n.uint32(26),n.string(s);r.signedPeerRecord!=null&&(n.uint32(66),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={listenAddrs:[],protocols:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 5:i.protocolVersion=r.string();break;case 6:i.agentVersion=r.string();break;case 1:i.publicKey=r.bytes();break;case 2:i.listenAddrs.push(r.bytes());break;case 4:i.observedAddr=r.bytes();break;case 3:i.protocols.push(r.string());break;case 8:i.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Gn||(Gn={}));var _g={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Fs;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature: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.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Fs||(Fs={}));var fA,Zt=class{constructor(t){let{peerId:r,payloadType:n,payload:i,signature:s}=t;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Fs.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return xt(this.marshal(),t.marshal())}async validate(t){let r=Sg(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Is(this.peerId.publicKey).verify(r.subarray(),this.signature)}};fA=Zt;Zt.createFromProtobuf=async e=>{let t=Fs.decode(e),r=await $r(t.publicKey);return new Zt({peerId:r,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};Zt.seal=async(e,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let r=e.domain,n=e.codec,i=e.marshal(),s=Sg(r,n,i),a=await(await Mi(t.privateKey)).sign(s.subarray());return new Zt({peerId:t,payloadType:n,payload:i,signature:a})};Zt.openAndCertify=async(e,t)=>{let r=await Zt.createFromProtobuf(e);if(!await r.validate(t))throw new w("envelope signature is not valid for the given domain",_g.ERR_SIGNATURE_NOT_VALID);return r};var Sg=(e,t,r)=>{let n=F(e),i=se.encode(n.byteLength),s=se.encode(t.length),o=se.encode(r.length);return new bt(i,n,s,t,o,r)};function Ag(e,t){let r=(n,i)=>n.toString().localeCompare(i.toString());return e.length!==t.length?!1:(t.sort(r),e.sort(r).every((n,i)=>t[i].equals(n)))}var Ks;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=mt((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(l&7);break}}return a})),i),n.encode=s=>pt(s,n.codec()),n.decode=s=>dt(s,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=mt((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),e.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),e.encode=n=>pt(n,e.codec()),e.decode=n=>dt(n,e.codec())})(Ks||(Ks={}));var Rg="libp2p-peer-record",Ig=Uint8Array.from([3,1]);var Ht=class{constructor(t){this.domain=Ht.DOMAIN,this.codec=Ht.CODEC;let{peerId:r,multiaddrs:n,seqNumber:i}=t;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Ks.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof Ht)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Ag(this.multiaddrs,t.multiaddrs))}};Ht.createFromProtobuf=e=>{let t=Ks.decode(e),r=qr(t.peerId),n=(t.addresses??[]).map(s=>St(s.multiaddr)),i=t.seq;return new Ht({peerId:r,multiaddrs:n,seqNumber:i})};Ht.DOMAIN=Rg;Ht.CODEC=Ig;var Oa="0.0.0",Tg="libp2p";var df=`js-libp2p/${Oa}`;var Cg="0.1.0",Dg="id",Lg="id/push",Bg="1.0.0",Pg="1.0.0";var Vs=N(br(),1);var qs=N(er(),1),gt=M("libp2p:identify"),Ng=1024*8,Ki=class{constructor(t,r){this.components=t,this.started=!1,this.init=r,this.identifyProtocolStr=`/${r.protocolPrefix}/${Dg}/${Bg}`,this.identifyPushProtocolStr=`/${r.protocolPrefix}/${Lg}/${Pg}`,this.host={protocolVersion:`${r.protocolPrefix}/${Cg}`,...r.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(gt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{gt.error(s)})}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(s=>{gt.error(s)})})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",F(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",F(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(r=>{gt.error(r)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(r=>{gt.error(r)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let r=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(o=>o.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),s=t.map(async o=>{let a,c=new Vs.TimeoutController(this.init.timeout);try{(0,qs.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await o.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await ye(a,c.signal).sink(Xt([Gn.encode({listenAddrs:n,signedPeerRecord:r,protocols:i})],We()))}catch(l){gt.error("could not push identify update to peer",l)}finally{a?.close(),c.clear()}});await Promise.all(s)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let r of this.components.connectionManager.getConnections()){let n=r.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(r)}await this.push(t)}async _identify(t,r={}){let n,i=r.signal,s;if(i==null){n=new Vs.TimeoutController(this.init.timeout),i=n.signal;try{(0,qs.setMaxListeners)?.(1/0,n.signal)}catch{}}try{s=await t.newStream([this.identifyProtocolStr],{signal:i});let o=ye(s,i),a=await Xt([],o,Ne({maxDataLength:this.init.maxIdentifyMessageSize??Ng}),async c=>await he(c));if(a==null)throw new w("No data could be retrieved",S.ERR_CONNECTION_ENDED);try{return Gn.decode(a)}catch(c){throw new w(String(c),S.ERR_INVALID_MESSAGE)}}finally{n?.clear(),s?.close()}}async identify(t,r={}){let n=await this._identify(t,r),{publicKey:i,listenAddrs:s,protocols:o,observedAddr:a,signedPeerRecord:c,agentVersion:l,protocolVersion:u}=n;if(i==null)throw new w("public key was missing from identify message",S.ERR_MISSING_PUBLIC_KEY);let f=await $r(i);if(!t.remotePeer.equals(f))throw new w("identified peer does not match the expected peer",S.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw new w("identified peer is our own peer id?",S.ERR_INVALID_PEER);let h=Ki.getCleanMultiaddr(a);if(c!=null){gt("received signed peer record from %p",f);try{let d=await Zt.openAndCertify(c,Ht.DOMAIN);if(!d.peerId.equals(f))throw new w("identified peer does not match the expected peer",S.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(d)){await this.components.peerStore.protoBook.set(f,o),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(u)),gt("identify completed for peer %p with and protocols %o",f,o);return}}catch(d){gt("received invalid envelope, discard it and fallback to listenAddrs is available",d)}}else gt("no signed peer record received from %p",f);gt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,s.map(d=>St(d)))}catch(d){gt.error("received invalid addrs",d)}await this.components.peerStore.protoBook.set(f,o),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(u)),gt("identify completed for peer %p and protocols %o",f,o),gt("our observed address is %s",h),h!=null&&this.components.addressManager.getObservedAddrs().length<(this.init.maxObservedAddresses??1/0)&&(gt("storing our observed address %s",h?.toString()),this.components.addressManager.addObservedAddr(h))}async _handleIdentify(t){let{connection:r,stream:n}=t,i=new Vs.TimeoutController(this.init.timeout);try{(0,qs.setMaxListeners)?.(1/0,i.signal)}catch{}try{let s=this.components.peerId.publicKey??new Uint8Array(0),o=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(h=>h.decapsulateCode(j("p2p").code)),c=o.peerRecordEnvelope;if(a.length>0&&c==null){let h=new Ht({peerId:this.components.peerId,multiaddrs:a}),d=await Zt.seal(h,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(d),c=d.marshal().subarray()}let l=Gn.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:s,listenAddrs:a.map(h=>h.bytes),signedPeerRecord:c,observedAddr:r.remoteAddr.bytes,protocols:o.protocols}),u=ye(n,i.signal),f=Xt([l],We());await u.sink(f)}catch(s){gt.error("could not respond to identify request",s)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:r,stream:n}=t,i=new Vs.TimeoutController(this.init.timeout);try{(0,qs.setMaxListeners)?.(1/0,i.signal)}catch{}let s;try{let a=ye(n,i.signal),c=await Xt([],a,Ne({maxDataLength:this.init.maxIdentifyMessageSize??Ng}),async l=>await he(l));c!=null&&(s=Gn.decode(c))}catch(a){gt.error("received invalid message",a);return}finally{n.close(),i.clear()}if(s==null){gt.error("received invalid message");return}let o=r.remotePeer;if(this.components.peerId.equals(o)){gt("received push from ourselves?");return}if(gt("received push from %p",o),s.signedPeerRecord!=null){gt("received signedPeerRecord in push");try{let a=await Zt.openAndCertify(s.signedPeerRecord,Ht.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){gt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(o,s.protocols);return}else gt("failed to consume signedPeerRecord sent in push")}catch(a){gt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else gt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(o,s.listenAddrs.map(a=>St(a)))}catch(a){gt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(o,s.protocols)}catch(a){gt.error("received invalid protocols",a)}gt("handled push from %p",o)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return St(t)}catch{}}};var $s;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identifier!=null&&r.identifier!==""&&(n.uint32(10),n.string(r.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identifier:""},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.identifier=r.string();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})($s||($s={}));var Qe;(function(e){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=e.StatusCode||(e.StatusCode={}));let r;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(r||(r={})),function(i){i.codec=()=>Gr(r)}(t=e.StatusCode||(e.StatusCode={}));let n;e.codec=()=>(n==null&&(n=mt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.status!=null&&r[i.status]!==0&&(s.uint32(8),e.StatusCode.codec().encode(i.status,s)),i.data!=null&&i.data.byteLength>0&&(s.uint32(18),s.bytes(i.data)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={status:t.OK,data:new Uint8Array(0)},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.status=e.StatusCode.codec().decode(i);break;case 2:o.data=i.bytes();break;default:i.skipType(c&7);break}}return o})),n),e.encode=i=>pt(i,e.codec()),e.decode=i=>dt(i,e.codec())})(Qe||(Qe={}));var kg="0.0.1",Og="fetch";var Mg=N(br(),1),Ug=N(er(),1);var ke=M("libp2p:fetch"),Ma=class{constructor(t,r){this.started=!1,this.components=t,this.protocol=`/${r.protocolPrefix??"libp2p"}/${Og}/${kg}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=r}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(r=>{ke.error(r)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,r,n={}){ke("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),s,o=n.signal,a;if(o==null){ke("using default timeout of %d ms",this.init.timeout),s=new Mg.TimeoutController(this.init.timeout),o=s.signal;try{(0,Ug.setMaxListeners)?.(1/0,s.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:o});let c=ye(a,o);return ke("fetch %s",r),await Xt([$s.encode({identifier:r})],We(),c,Ne(),async function(u){let f=await he(u);if(f==null)throw new w("No data received",S.ERR_INVALID_MESSAGE);let h=Qe.decode(f);switch(h.status){case Qe.StatusCode.OK:return ke("received status for %s ok",r),h.data;case Qe.StatusCode.NOT_FOUND:return ke("received status for %s not found",r),null;case Qe.StatusCode.ERROR:{ke("received status for %s error",r);let d=z(h.data);throw new w("Error in fetch protocol response: "+d,S.ERR_INVALID_PARAMETERS)}default:throw ke("received status for %s unknown",r),new w("Unknown response status",S.ERR_INVALID_MESSAGE)}})??null}finally{s?.clear(),a?.close()}}async handleMessage(t){let{stream:r}=t,n=this;await Xt(r,Ne(),async function*(i){let s=await he(i);if(s==null)throw new w("No data received",S.ERR_INVALID_MESSAGE);let o=$s.decode(s),a,c=n._getLookupFunction(o.identifier);if(c!=null){ke("look up data with identifier %s",o.identifier);let l=await c(o.identifier);l!=null?(ke("sending status for %s ok",o.identifier),a={status:Qe.StatusCode.OK,data:l}):(ke("sending status for %s not found",o.identifier),a={status:Qe.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{ke("sending status for %s error",o.identifier);let l=F(`No lookup function registered for key: ${o.identifier}`);a={status:Qe.StatusCode.ERROR,data:l}}yield Qe.encode(a)},We(),r)}_getLookupFunction(t){for(let r of this.lookupFunctions.keys())if(t.startsWith(r))return this.lookupFunctions.get(r)}registerLookupFunction(t,r){if(this.lookupFunctions.has(t))throw new w(`Fetch protocol handler for key prefix '${t}' already registered`,S.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,r)}unregisterLookupFunction(t,r){r!=null&&this.lookupFunctions.get(t)!==r||this.lookupFunctions.delete(t)}};var Fg="1.0.0",Kg="ping";var qg=N(br(),1),$g=N(er(),1),Vg=M("libp2p:ping"),Ua=class{constructor(t,r){this.components=t,this.started=!1,this.protocol=`/${r.protocolPrefix}/${Kg}/${Fg}`,this.init=r}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:r}=t;Xt(r,r).catch(n=>{Vg.error(n)})}async ping(t,r={}){Vg("dialing %s to %p",this.protocol,t);let n=Date.now(),i=Cr(32),s=await this.components.connectionManager.openConnection(t,r),o,a=r.signal,c;if(a==null){o=new qg.TimeoutController(this.init.timeout),a=o.signal;try{(0,$g.setMaxListeners)?.(1/0,o.signal)}catch{}}try{c=await s.newStream([this.protocol],{signal:a});let l=ye(c,a),u=await Xt([i],l,async h=>await he(h)),f=Date.now();if(u==null||!xt(i,u.subarray()))throw new w("Received wrong ping ack",S.ERR_WRONG_PING_ACK);return f-n}finally{o?.clear(),c?.close()}}};async function zg(){throw new Error("Not supported in browsers")}var Yg=N(Gg(),1),pf=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Fa=(0,Yg.default)(),zs=pf&&!Fa,Wg=Fa&&!pf,Qg=Fa&&pf,Xg=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Fa,Zg=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,NN=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",Jg=typeof navigator<"u"&&navigator.product==="ReactNative";var sw=N(jg(),1);var tw="[a-fA-F\\d:]",ln=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${tw})|(?<=${tw})(?=\\s|$))`:"",Xe="(?: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}",Gt="[a-fA-F\\d]{1,4}",Ka=`
|
|
39
39
|
(?:
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?:${
|
|
47
|
-
(?::(?:(?::${
|
|
40
|
+
(?:${Gt}:){7}(?:${Gt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
41
|
+
(?:${Gt}:){6}(?:${Xe}|:${Gt}|:)| // 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
|
|
42
|
+
(?:${Gt}:){5}(?::${Xe}|(?::${Gt}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
43
|
+
(?:${Gt}:){4}(?:(?::${Gt}){0,1}:${Xe}|(?::${Gt}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
44
|
+
(?:${Gt}:){3}(?:(?::${Gt}){0,2}:${Xe}|(?::${Gt}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
45
|
+
(?:${Gt}:){2}(?:(?::${Gt}){0,3}:${Xe}|(?::${Gt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
46
|
+
(?:${Gt}:){1}(?:(?::${Gt}){0,4}:${Xe}|(?::${Gt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
47
|
+
(?::(?:(?::${Gt}){0,5}:${Xe}|(?::${Gt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
48
48
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
49
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),HS=new RegExp(`(?:^${We}$)|(?:^${ka}$)`),GS=new RegExp(`^${We}$`),YS=new RegExp(`^${ka}$`),of=e=>e&&e.exact?HS:new RegExp(`(?:${ln(e)}${We}${ln(e)})|(?:${ln(e)}${ka}${ln(e)})`,"g");of.v4=e=>e&&e.exact?GS:new RegExp(`${ln(e)}${We}${ln(e)}`,"g");of.v6=e=>e&&e.exact?YS:new RegExp(`${ln(e)}${ka}${ln(e)}`,"g");var Kg=of;var Hg=N(qg(),1),{isValid:WS,parse:QS}=Hg.default,XS=["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"],ZS=XS.map(e=>new zg.Netmask(e));function JS(e){for(let t of ZS)if(t.contains(e))return!0;return!1}function $g(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var Gg=e=>{if(WS(e)){let t=QS(e);if(t.kind()==="ipv4")return JS(t.toNormalizedString());if(t.kind()==="ipv6")return $g(e)}else if(ri(e)&&Kg.v6().test(e))return $g(e)};var Gn=Gg;function Yg(e){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(e)||/^::1$/.test(e)}function Wg(e){let{address:t}=e.nodeAddress();return Yg(t)}var af=M("libp2p:nat"),cf=7200;function jS(e=1024,t=65535){return Math.floor(Math.random()*(t-e+1)+e)}var Ma=class{constructor(t,r){if(this.components=t,this.started=!1,this.enabled=r.enabled,this.externalAddress=r.externalAddress,this.localAddress=r.localAddress,this.description=r.description??`${dg}@${Ba} ${this.components.peerId.toString()}`,this.ttl=r.ttl??cf,this.keepAlive=r.keepAlive??!0,this.gateway=r.gateway,this.ttl<cf)throw new w(`NatManager ttl should be at least ${cf} seconds`,S.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Ks||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{af.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let r of t){let{family:n,host:i,port:s,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||o!=="tcp"||Wg(r)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),l=Gn(c);if(l===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(l==null)throw new Error(`${c} is not an IP address`);let u=jS();af(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,localPort:s,localAddress:this.localAddress,protocol:o.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Yh({family:4,address:c,port:u},o))}}async _getClient(){return this.client!=null?this.client:(this.client=await Cg({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(Ks||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){af.error(t)}}};var tA=M("libp2p:peer-record-updater"),Ua=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new Gt({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(j("p2p").code))}),r=await Zt.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(r)}).catch(t=>{tA.error("Could not update self peer record: %o",t)})}};var Fa=class{constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}};var Y={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var wt=M("libp2p:peer-store:address-book"),Ka="change:multiaddrs";async function eA(){return!0}var Va=class{constructor(t,r,n){this.dispatchEvent=t,this.store=r,this.addressFilter=n??eA}async consumePeerRecord(t){wt.trace("consumePeerRecord await write lock");let r=await this.store.lock.writeLock();wt.trace("consumePeerRecord got write lock");let n,i,s;try{let o;try{o=Gt.createFromProtobuf(t.payload)}catch{return wt.error("invalid peer record received"),!1}n=o.peerId;let a=o.multiaddrs;if(!n.equals(t.peerId))return wt("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let l=await Zt.createFromProtobuf(i.peerRecordEnvelope),u=Gt.createFromProtobuf(l.payload);if(u.seqNumber>=o.seqNumber)return wt("sequence number was lower or equal to existing sequence number - stored: %d received: %d",u.seqNumber,o.seqNumber),!1}let c=await lf(n,a,this.addressFilter,!0);s=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),wt("stored provided peer record for %p",o.peerId)}finally{wt.trace("consumePeerRecord release write lock"),r()}return this.dispatchEvent(new $(Ka,{detail:{peerId:n,multiaddrs:s.addresses.map(({multiaddr:o})=>o),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:o})=>o)}})),!0}async getRawEnvelope(t){wt.trace("getRawEnvelope await read lock");let r=await this.store.lock.readLock();wt.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{wt.trace("getRawEnvelope release read lock"),r()}}async getPeerRecord(t){let r=await this.getRawEnvelope(t);if(r!=null)return await Zt.createFromProtobuf(r)}async get(t){t=Kt(t),wt.trace("get wait for read lock");let r=await this.store.lock.readLock();wt.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{wt.trace("get release read lock"),r()}return[]}async set(t,r){if(t=Kt(t),!Array.isArray(r))throw wt.error("multiaddrs must be an array of Multiaddrs"),new w("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);wt.trace("set await write lock");let n=await this.store.lock.writeLock();wt.trace("set got write lock");let i=!1,s,o;try{let a=await lf(t,r,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length&&a.length===s.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}o=await this.store.patchOrCreate(t,{addresses:a}),wt("set multiaddrs for %p",t)}finally{wt.trace("set multiaddrs for %p",t),wt("set release write lock"),n()}this.dispatchEvent(new $(Ka,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async add(t,r){if(t=Kt(t),!Array.isArray(r))throw wt.error("multiaddrs must be an array of Multiaddrs"),new w("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);wt.trace("add await write lock");let n=await this.store.lock.writeLock();wt.trace("add got write lock");let i,s,o;try{let a=await lf(t,r,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}o=await this.store.mergeOrCreate(t,{addresses:a}),wt("added multiaddrs for %p",t)}finally{wt.trace("set release write lock"),n()}this.dispatchEvent(new $(Ka,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async delete(t){t=Kt(t),wt.trace("delete await write lock");let r=await this.store.lock.writeLock();wt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{wt.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new $(Ka,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function lf(e,t,r,n=!1){let i=[];return await Promise.all(t.map(async s=>{if(!Ue(s))throw wt.error("multiaddr must be an instance of Multiaddr"),new w("multiaddr must be an instance of Multiaddr",Y.ERR_INVALID_PARAMETERS);await r(e,s)&&i.push({multiaddr:s,isCertified:n})})),i}var dr=M("libp2p:peer-store:key-book"),Qg="change:pubkey",qa=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async set(t,r){if(t=Kt(t),!(r instanceof Uint8Array))throw dr.error("publicKey must be an instance of Uint8Array to store data"),new w("publicKey must be an instance of PublicKey",Y.ERR_INVALID_PARAMETERS);dr.trace("set await write lock");let n=await this.store.lock.writeLock();dr.trace("set got write lock");let i=!1,s;try{try{if(s=await this.store.load(t),s.pubKey!=null&&xt(s.pubKey,r))return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}await this.store.patchOrCreate(t,{pubKey:r}),i=!0}finally{dr.trace("set release write lock"),n()}i&&this.dispatchEvent(new $(Qg,{detail:{peerId:t,publicKey:r,oldPublicKey:s?.pubKey}}))}async get(t){t=Kt(t),dr.trace("get await write lock");let r=await this.store.lock.readLock();dr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{dr("get release write lock"),r()}}async delete(t){t=Kt(t),dr.trace("delete await write lock");let r=await this.store.lock.writeLock();dr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{dr.trace("delete release write lock"),r()}this.dispatchEvent(new $(Qg,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var Wt=M("libp2p:peer-store:metadata-book"),$a="change:metadata",za=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async get(t){t=Kt(t),Wt.trace("get await read lock");let r=await this.store.lock.readLock();Wt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Wt.trace("get release read lock"),r()}return new Map}async getValue(t,r){t=Kt(t),Wt.trace("getValue await read lock");let n=await this.store.lock.readLock();Wt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(r)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{Wt.trace("getValue release write lock"),n()}}async set(t,r){if(t=Kt(t),!(r instanceof Map))throw Wt.error("valid metadata must be provided to store data"),new w("valid metadata must be provided",Y.ERR_INVALID_PARAMETERS);Wt.trace("set await write lock");let n=await this.store.lock.writeLock();Wt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}await this.store.mergeOrCreate(t,{metadata:r})}finally{Wt.trace("set release write lock"),n()}this.dispatchEvent(new $($a,{detail:{peerId:t,metadata:r,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,r,n){if(t=Kt(t),typeof r!="string"||!(n instanceof Uint8Array))throw Wt.error("valid key and value must be provided to store data"),new w("valid key and value must be provided",Y.ERR_INVALID_PARAMETERS);Wt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Wt.trace("setValue got write lock");let s,o;try{try{s=await this.store.load(t);let a=s.metadata.get(r);if(a!=null&&xt(n,a))return}catch(a){if(a.code!==Y.ERR_NOT_FOUND)throw a}o=await this.store.mergeOrCreate(t,{metadata:new Map([[r,n]])})}finally{Wt.trace("setValue release write lock"),i()}this.dispatchEvent(new $($a,{detail:{peerId:t,metadata:o.metadata,oldMetadata:s==null?new Map:s.metadata}}))}async delete(t){t=Kt(t),Wt.trace("delete await write lock");let r=await this.store.lock.writeLock();Wt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Wt.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new $($a,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,r){t=Kt(t),Wt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Wt.trace("deleteValue got write lock");let i,s;try{s=await this.store.load(t),i=s.metadata,i.delete(r),await this.store.patch(t,{metadata:i})}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}finally{Wt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new $($a,{detail:{peerId:t,metadata:i,oldMetadata:s==null?new Map:s.metadata}}))}};var Qt=M("libp2p:peer-store:proto-book"),Ha="change:protocols",Ga=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async get(t){Qt.trace("get wait for read lock");let r=await this.store.lock.readLock();Qt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Qt.trace("get release read lock"),r()}return[]}async set(t,r){if(t=Kt(t),!Array.isArray(r))throw Qt.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Qt.trace("set await write lock");let n=await this.store.lock.writeLock();Qt.trace("set got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...r]).size===i.protocols.length)return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:r}),Qt("stored provided protocols for %p",t)}finally{Qt.trace("set release write lock"),n()}this.dispatchEvent(new $(Ha,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,r){if(t=Kt(t),!Array.isArray(r))throw Qt.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Qt.trace("add await write lock");let n=await this.store.lock.writeLock();Qt.trace("add got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...r]).size===i.protocols.length)return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.mergeOrCreate(t,{protocols:r}),Qt("added provided protocols for %p",t)}finally{Qt.trace("add release write lock"),n()}this.dispatchEvent(new $(Ha,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,r){if(t=Kt(t),!Array.isArray(r))throw Qt.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Qt.trace("remove await write lock");let n=await this.store.lock.writeLock();Qt.trace("remove got write lock");let i,s;try{try{i=await this.store.load(t);let o=new Set(i.protocols);for(let a of r)o.delete(a);if(i.protocols.length===o.size)return;r=Array.from(o)}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:r})}finally{Qt.trace("remove release write lock"),n()}this.dispatchEvent(new $(Ha,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=Kt(t),Qt.trace("delete await write lock");let r=await this.store.lock.writeLock();Qt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Qt.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new $(Ha,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var qs;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.addresses!=null)for(let s of r.addresses)n.uint32(10),Ya.codec().encode(s,n);if(r.protocols!=null)for(let s of r.protocols)n.uint32(18),n.string(s);if(r.metadata!=null)for(let s of r.metadata)n.uint32(26),Wa.codec().encode(s,n);r.pubKey!=null&&(n.uint32(34),n.bytes(r.pubKey)),r.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(r.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={addresses:[],protocols:[],metadata:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.addresses.push(Ya.codec().decode(r,r.uint32()));break;case 2:i.protocols.push(r.string());break;case 3:i.metadata.push(Wa.codec().decode(r,r.uint32()));break;case 4:i.pubKey=r.bytes();break;case 5:i.peerRecordEnvelope=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(qs||(qs={}));var Ya;(function(e){let t;e.codec=()=>(t==null&&(t=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})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Ya||(Ya={}));var Wa;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key!==""&&(n.uint32(10),n.string(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:"",value: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.key=r.string();break;case 2:i.value=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Wa||(Wa={}));var ow=N(Zg(),1);var zs=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},ff=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Jg=e=>globalThis.DOMException===void 0?new ff(e):new DOMException(e),jg=e=>{let t=e.reason===void 0?Jg("This operation was aborted."):e.reason;return t instanceof Error?t:Jg(t)};function hf(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(jg(c)),c.addEventListener("abort",()=>{a(jg(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(u){a(u)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,l=r instanceof Error?r:new zs(c);typeof e.cancel=="function"&&e.cancel(),a(l)},t),(async()=>{try{o(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function df(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Yn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Nr,Hs=class{constructor(){Nr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Yn(this,Nr,"f")[this.size-1].priority>=r.priority){Yn(this,Nr,"f").push(n);return}let i=df(Yn(this,Nr,"f"),n,(s,o)=>o.priority-s.priority);Yn(this,Nr,"f").splice(i,0,n)}dequeue(){let t=Yn(this,Nr,"f").shift();return t?.run}filter(t){return Yn(this,Nr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Yn(this,Nr,"f").length}};Nr=new WeakMap;var Bt=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},$t,Ys,Ws,fn,ec,Qs,Xa,Qe,Gs,Re,Za,Ie,Xs,un,Ja,tw,ew,iw,rw,nw,ja,pf,mf,rc,sw,tc,nc=class extends Error{},Fi=class extends ow.default{constructor(t){var r,n,i,s;if(super(),$t.add(this),Ys.set(this,void 0),Ws.set(this,void 0),fn.set(this,0),ec.set(this,void 0),Qs.set(this,void 0),Xa.set(this,0),Qe.set(this,void 0),Gs.set(this,void 0),Re.set(this,void 0),Za.set(this,void 0),Ie.set(this,0),Xs.set(this,void 0),un.set(this,void 0),Ja.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Hs,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);Bt(this,Ys,t.carryoverConcurrencyCount,"f"),Bt(this,Ws,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Bt(this,ec,t.intervalCap,"f"),Bt(this,Qs,t.interval,"f"),Bt(this,Re,new t.queueClass,"f"),Bt(this,Za,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Bt(this,Ja,t.throwOnTimeout===!0,"f"),Bt(this,un,t.autoStart===!1,"f")}get concurrency(){return k(this,Xs,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Bt(this,Xs,t,"f"),k(this,$t,"m",rc).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,Ja,"f"),...r},new Promise((n,i)=>{k(this,Re,"f").enqueue(async()=>{var s,o,a;Bt(this,Ie,(o=k(this,Ie,"f"),o++,o),"f"),Bt(this,fn,(a=k(this,fn,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new nc("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=hf(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,$t,"m",sw).call(this,r.signal)]));let l=await c;n(l),this.emit("completed",l)}catch(c){if(c instanceof zs&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,$t,"m",iw).call(this)}},r),this.emit("add"),k(this,$t,"m",ja).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,un,"f")?(Bt(this,un,!1,"f"),k(this,$t,"m",rc).call(this),this):this}pause(){Bt(this,un,!0,"f")}clear(){Bt(this,Re,new(k(this,Za,"f")),"f")}async onEmpty(){k(this,Re,"f").size!==0&&await k(this,$t,"m",tc).call(this,"empty")}async onSizeLessThan(t){k(this,Re,"f").size<t||await k(this,$t,"m",tc).call(this,"next",()=>k(this,Re,"f").size<t)}async onIdle(){k(this,Ie,"f")===0&&k(this,Re,"f").size===0||await k(this,$t,"m",tc).call(this,"idle")}get size(){return k(this,Re,"f").size}sizeBy(t){return k(this,Re,"f").filter(t).length}get pending(){return k(this,Ie,"f")}get isPaused(){return k(this,un,"f")}};Ys=new WeakMap,Ws=new WeakMap,fn=new WeakMap,ec=new WeakMap,Qs=new WeakMap,Xa=new WeakMap,Qe=new WeakMap,Gs=new WeakMap,Re=new WeakMap,Za=new WeakMap,Ie=new WeakMap,Xs=new WeakMap,un=new WeakMap,Ja=new WeakMap,$t=new WeakSet,tw=function(){return k(this,Ws,"f")||k(this,fn,"f")<k(this,ec,"f")},ew=function(){return k(this,Ie,"f")<k(this,Xs,"f")},iw=function(){var t;Bt(this,Ie,(t=k(this,Ie,"f"),t--,t),"f"),k(this,$t,"m",ja).call(this),this.emit("next")},rw=function(){k(this,$t,"m",mf).call(this),k(this,$t,"m",pf).call(this),Bt(this,Gs,void 0,"f")},nw=function(){let t=Date.now();if(k(this,Qe,"f")===void 0){let r=k(this,Xa,"f")-t;if(r<0)Bt(this,fn,k(this,Ys,"f")?k(this,Ie,"f"):0,"f");else return k(this,Gs,"f")===void 0&&Bt(this,Gs,setTimeout(()=>{k(this,$t,"m",rw).call(this)},r),"f"),!0}return!1},ja=function(){if(k(this,Re,"f").size===0)return k(this,Qe,"f")&&clearInterval(k(this,Qe,"f")),Bt(this,Qe,void 0,"f"),this.emit("empty"),k(this,Ie,"f")===0&&this.emit("idle"),!1;if(!k(this,un,"f")){let t=!k(this,$t,"a",nw);if(k(this,$t,"a",tw)&&k(this,$t,"a",ew)){let r=k(this,Re,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,$t,"m",pf).call(this),!0):!1}}return!1},pf=function(){k(this,Ws,"f")||k(this,Qe,"f")!==void 0||(Bt(this,Qe,setInterval(()=>{k(this,$t,"m",mf).call(this)},k(this,Qs,"f")),"f"),Bt(this,Xa,Date.now()+k(this,Qs,"f"),"f"))},mf=function(){k(this,fn,"f")===0&&k(this,Ie,"f")===0&&k(this,Qe,"f")&&(clearInterval(k(this,Qe,"f")),Bt(this,Qe,void 0,"f")),Bt(this,fn,k(this,Ys,"f")?k(this,Ie,"f"):0,"f"),k(this,$t,"m",rc).call(this)},rc=function(){for(;k(this,$t,"m",ja).call(this););},sw=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new nc("The task was aborted."))},{once:!0})})},tc=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var yf=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},gf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},aw=e=>globalThis.DOMException===void 0?new gf(e):new DOMException(e),cw=e=>{let t=e.reason===void 0?aw("This operation was aborted."):e.reason;return t instanceof Error?t:aw(t)};function wf(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=t,o,a=new Promise((c,l)=>{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(e);return}if(t.signal){let{signal:f}=t;f.aborted&&l(cw(f)),f.addEventListener("abort",()=>{l(cw(f))})}let u=new yf;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){l(f)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?c():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${r} milliseconds`,l(u))},r),(async()=>{try{c(await e)}catch(f){l(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var Ef="lock:worker:request-read",xf="lock:worker:release-read",vf="lock:master:grant-read",bf="lock:worker:request-write",_f="lock:worker:release-write",Sf="lock:master:grant-write";var hn={},Ki=e=>{e.addEventListener("message",t=>{Ki.dispatchEvent("message",e,t)}),e.port!=null&&e.port.addEventListener("message",t=>{Ki.dispatchEvent("message",e,t)})};Ki.addEventListener=(e,t)=>{hn[e]==null&&(hn[e]=[]),hn[e].push(t)};Ki.removeEventListener=(e,t)=>{hn[e]!=null&&(hn[e]=hn[e].filter(r=>r===t))};Ki.dispatchEvent=function(e,t,r){hn[e]!=null&&hn[e].forEach(n=>n(t,r))};var Af=Ki;var lw=(e,t,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};e.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let l=u=>{if(u==null||u.data==null)return;let f={type:u.data.type,name:u.data.name,identifier:u.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",l),c())};s.addEventListener("message",l)}))}}))},uw=(e,t,r,n)=>async()=>{let i=fo();return globalThis.postMessage({type:t,identifier:i,name:e}),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:e})}))};globalThis.addEventListener("message",o)})},iA={singleProcess:!1},fw=e=>{if(e=Object.assign({},iA,e),!!globalThis.document||e.singleProcess){let r=new EventTarget;return Af.addEventListener("message",lw(r,"requestReadLock",Ef,xf,vf)),Af.addEventListener("message",lw(r,"requestWriteLock",bf,_f,Sf)),r}return{isWorker:!0,readLock:r=>uw(r,Ef,vf,xf),writeLock:r=>uw(r,bf,Sf,_f)}};var Wn={},dn;async function Rf(e,t){let r,n=new Promise(i=>{r=i});return e.add(async()=>await wf((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var sA=(e,t)=>{if(dn.isWorker===!0)return{readLock:dn.readLock(e,t),writeLock:dn.writeLock(e,t)};let r=new Fi({concurrency:1}),n;return{async readLock(){if(n!=null)return await Rf(n,t);n=new Fi({concurrency:t.concurrency,autoStart:!1});let i=n,s=Rf(n,t);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Rf(r,t)}}},oA={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function If(e){let t=Object.assign({},oA,e);return dn==null&&(dn=fw(t),dn.isWorker!==!0&&(dn.addEventListener("requestReadLock",r=>{Wn[r.data.name]!=null&&Wn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),dn.addEventListener("requestWriteLock",async r=>{Wn[r.data.name]!=null&&Wn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Wn[t.name]==null&&(Wn[t.name]=sA(t.name,t)),Wn[t.name]}var hw=M("libp2p:peer-store:store"),dw="/peers/",ic=class{constructor(t){this.components=t,this.lock=If({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw hw.error("peerId must be an instance of peer-id to store data"),new w("peerId must be an instance of peer-id",Y.ERR_INVALID_PARAMETERS);let r=t.toCID().toString();return new Nt(`${dw}${r}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let r=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=qs.decode(r),i=new Map;for(let s of n.metadata)i.set(s.key,s.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:_t(s),isCertified:o??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!xt(t.pubKey,t.id.publicKey))throw hw.error("peer publicKey bytes do not match peer id publicKey bytes"),new w("publicKey bytes do not match peer id publicKey bytes",Y.ERR_INVALID_PARAMETERS);let r=new Set,n=t.addresses.filter(o=>r.has(o.multiaddr.toString())?!1:(r.add(o.multiaddr.toString()),!0)).sort((o,a)=>o.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:o,isCertified:a})=>({multiaddr:o.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(o=>{let a=t.metadata.get(o);a!=null&&i.push({key:o,value:a})});let s=qs.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),s.subarray()),await this.load(t.id)}async patch(t,r){let n=await this.load(t);return await this._patch(t,r,n)}async patchOrCreate(t,r){let n;try{n=await this.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,r,n)}async _patch(t,r,n){return await this.save({...n,...r,id:t})}async merge(t,r){let n=await this.load(t);return await this._merge(t,r,n)}async mergeOrCreate(t,r){let n;try{n=await this.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,r,n)}async _merge(t,r,n){let i=new Map;return n.addresses.forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),(r.addresses??[]).forEach(s=>{let o=s.multiaddr.toString(),c=!!i.get(o)||s.isCertified;i.set(o,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:_t(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols??[],...r.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...r.metadata?.entries()??[]]),pubKey:r.pubKey??n?.pubKey,peerRecordEnvelope:r.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:dw})){let r=t.toString().split("/")[2],n=xe.decode(r);yield this.load(qr(n))}}};var kr;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.tags!=null)for(let s of r.tags)n.uint32(10),sc.codec().encode(s,n);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={tags:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.tags.push(sc.codec().decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(kr||(kr={}));var sc;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.name!=null&&r.name!==""&&(n.uint32(10),n.string(r.name)),r.value!=null&&(n.uint32(16),n.uint32(r.value)),r.expiry!=null&&(n.uint32(24),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={name:""},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.name=r.string();break;case 2:i.value=r.uint32();break;case 3:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(sc||(sc={}));var Oe=M("libp2p:peer-store"),oc=class extends Pt{constructor(t,r={}){super(),this.components=t,this.store=new ic(t),this.addressBook=new Va(this.dispatchEvent.bind(this),this.store,r.addressFilter),this.keyBook=new qa(this.dispatchEvent.bind(this),this.store),this.metadataBook=new za(this.dispatchEvent.bind(this),this.store),this.protoBook=new Ga(this.dispatchEvent.bind(this),this.store)}async forEach(t){Oe.trace("getPeers await read lock");let r=await this.store.lock.readLock();Oe.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{Oe.trace("getPeers release read lock"),r()}}async all(){let t=[];return await this.forEach(r=>{t.push(r)}),t}async delete(t){Oe.trace("delete await write lock");let r=await this.store.lock.writeLock();Oe.trace("delete got write lock");try{await this.store.delete(t)}finally{Oe.trace("delete release write lock"),r()}}async get(t){Oe.trace("get await read lock");let r=await this.store.lock.readLock();Oe.trace("get got read lock");try{return await this.store.load(t)}finally{Oe.trace("get release read lock"),r()}}async has(t){Oe.trace("has await read lock");let r=await this.store.lock.readLock();Oe.trace("has got read lock");try{return await this.store.has(t)}finally{Oe.trace("has release read lock"),r()}}async tagPeer(t,r,n={}){let i=n.value??0,s=Math.round(i),o=n.ttl??void 0;if(s!==i||s<0||s>100)throw new w("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=kr.decode(a).tags),c=c.filter(l=>l.name!==r),c.push({name:r,value:s,expiry:o==null?void 0:BigInt(Date.now()+o)}),await this.metadataBook.setValue(t,"tags",kr.encode({tags:c}).subarray())}async unTagPeer(t,r){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=kr.decode(n).tags),i=i.filter(s=>s.name!==r),await this.metadataBook.setValue(t,"tags",kr.encode({tags:i}).subarray())}async getTags(t){let r=await this.metadataBook.getValue(t,"tags"),n=[];r!=null&&(n=kr.decode(r).tags);let i=BigInt(Date.now()),s=n.filter(o=>o.expiry==null||o.expiry>i);return s.length!==n.length&&await this.metadataBook.setValue(t,"tags",kr.encode({tags:s}).subarray()),s.map(o=>({name:o.name,value:o.value??0}))}};var ac=class{constructor(t){this.dht=t}async provide(t){await Vr(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await Vr(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new w("Not found","ERR_NOT_FOUND")}};var Tf;(function(e){let t;e.codec=()=>(t==null&&(t=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})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Tf||(Tf={}));var cc=async()=>{let e=await xa("Ed25519"),t=await aA(e);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function aA(e){return await $r($y(e.public),zy(e))}var Bf=N(je(),1);var lc=globalThis.CustomEvent??Event;async function*Cf(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,s=[],o=cn(),a=cn(),c=!1,l,u=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let p of e){if(s.length===r&&(o=cn(),await o.promise),u)break;let m={done:!1};s.push(m),p().then(y=>{m.done=!0,m.ok=!0,m.value=y,i.dispatchEvent(new lc("task-complete"))},y=>{m.done=!0,m.err=y,i.dispatchEvent(new lc("task-complete"))})}c=!0,i.dispatchEvent(new lc("task-complete"))}catch(p){l=p,i.dispatchEvent(new lc("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(p=>p.done)}function*h(){for(;s.length>0&&s[0].done;){let p=s[0];if(s.shift(),p.ok)yield p.value;else throw u=!0,o.resolve(),p.err;o.resolve()}}function*d(){for(;f();)for(let p=0;p<s.length;p++)if(s[p].done){let m=s[p];if(s.splice(p,1),p--,m.ok)yield m.value;else throw u=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=cn(),await a.promise),l!=null)throw l;if(n?yield*h():yield*d(),c&&s.length===0)break}}var Lf=N(vr(),1);var uc="/libp2p/autonat/1.0.0";var G;(function(e){let t;(function(l){l.DIAL="DIAL",l.DIAL_RESPONSE="DIAL_RESPONSE"})(t=e.MessageType||(e.MessageType={}));let r;(function(l){l[l.DIAL=0]="DIAL",l[l.DIAL_RESPONSE=1]="DIAL_RESPONSE"})(r||(r={})),function(l){l.codec=()=>Gr(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(l){l.OK="OK",l.E_DIAL_ERROR="E_DIAL_ERROR",l.E_DIAL_REFUSED="E_DIAL_REFUSED",l.E_BAD_REQUEST="E_BAD_REQUEST",l.E_INTERNAL_ERROR="E_INTERNAL_ERROR"})(n=e.ResponseStatus||(e.ResponseStatus={}));let i;(function(l){l[l.OK=0]="OK",l[l.E_DIAL_ERROR=100]="E_DIAL_ERROR",l[l.E_DIAL_REFUSED=101]="E_DIAL_REFUSED",l[l.E_BAD_REQUEST=200]="E_BAD_REQUEST",l[l.E_INTERNAL_ERROR=300]="E_INTERNAL_ERROR"})(i||(i={})),function(l){l.codec=()=>Gr(i)}(n=e.ResponseStatus||(e.ResponseStatus={}));let s;(function(l){let u;l.codec=()=>(u==null&&(u=mt((f,h,d={})=>{if(d.lengthDelimited!==!1&&h.fork(),f.id!=null&&(h.uint32(10),h.bytes(f.id)),f.addrs!=null)for(let p of f.addrs)h.uint32(18),h.bytes(p);d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={addrs:[]},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.id=f.bytes();break;case 2:d.addrs.push(f.bytes());break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>pt(f,l.codec()),l.decode=f=>dt(f,l.codec())})(s=e.PeerInfo||(e.PeerInfo={}));let o;(function(l){let u;l.codec=()=>(u==null&&(u=mt((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.peer!=null&&(h.uint32(10),e.PeerInfo.codec().encode(f.peer,h)),d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.peer=e.PeerInfo.codec().decode(f,f.uint32());break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>pt(f,l.codec()),l.decode=f=>dt(f,l.codec())})(o=e.Dial||(e.Dial={}));let a;(function(l){let u;l.codec=()=>(u==null&&(u=mt((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.status!=null&&(h.uint32(8),e.ResponseStatus.codec().encode(f.status,h)),f.statusText!=null&&(h.uint32(18),h.string(f.statusText)),f.addr!=null&&(h.uint32(26),h.bytes(f.addr)),d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.status=e.ResponseStatus.codec().decode(f);break;case 2:d.statusText=f.string();break;case 3:d.addr=f.bytes();break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>pt(f,l.codec()),l.decode=f=>dt(f,l.codec())})(a=e.DialResponse||(e.DialResponse={}));let c;e.codec=()=>(c==null&&(c=mt((l,u,f={})=>{f.lengthDelimited!==!1&&u.fork(),l.type!=null&&(u.uint32(8),e.MessageType.codec().encode(l.type,u)),l.dial!=null&&(u.uint32(18),e.Dial.codec().encode(l.dial,u)),l.dialResponse!=null&&(u.uint32(26),e.DialResponse.codec().encode(l.dialResponse,u)),f.lengthDelimited!==!1&&u.ldelim()},(l,u)=>{let f={},h=u==null?l.len:l.pos+u;for(;l.pos<h;){let d=l.uint32();switch(d>>>3){case 1:f.type=e.MessageType.codec().decode(l);break;case 2:f.dial=e.Dial.codec().decode(l,l.uint32());break;case 3:f.dialResponse=e.DialResponse.codec().decode(l,l.uint32());break;default:l.skipType(d&7);break}}return f})),c),e.encode=l=>pt(l,e.codec()),e.decode=l=>dt(l,e.codec())})(G||(G={}));var lt=M("libp2p:autonat"),Df=4,cA=5e3,lA=6e4,fc=class{constructor(t,r){this.components=t,this.started=!1,this._init=r,this.startupDelay=r.startupDelay??cA,this.refreshInterval=r.refreshInterval??lA,this._verifyExternalAddresses=this._verifyExternalAddresses.bind(this)}isStarted(){return this.started}async start(){this.started||(await this.components.registrar.handle(uc,t=>{this.handleIncomingAutonatStream(t).catch(r=>{lt.error(r)})},{maxInboundStreams:this._init.maxInboundStreams,maxOutboundStreams:this._init.maxOutboundStreams}),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.startupDelay),this.started=!0)}async stop(){await this.components.registrar.unhandle(uc),clearTimeout(this.verifyAddressTimeout),this.started=!1}async handleIncomingAutonatStream(t){let r=new Lf.TimeoutController(this._init.timeout);try{(0,Bf.setMaxListeners)?.(1/0,r.signal)}catch{}let n=this.components.addressManager.getAddresses().map(i=>i.toOptions().host);try{let i=ye(t.stream,r.signal),s=this;await Ft(i,me(),async function*(o){let a=await se(o);if(a==null){lt("No message received"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"No message was sent"}});return}let c;try{c=G.decode(a)}catch(m){lt.error("Could not decode message",m),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"Could not decode message"}});return}let l=c.dial;if(l==null){lt.error("Dial was missing from message"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"No Dial message found in message"}});return}let u,f=l.peer;if(f==null||f.id==null){lt.error("PeerId missing from message"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"missing peer info"}});return}try{u=qr(f.id)}catch(m){lt.error("Invalid PeerId",m),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"bad peer id"}});return}if(lt("Incoming request from %p",u),!t.connection.remotePeer.equals(u)){lt("Target peer %p did not equal sending peer %p",u,t.connection.remotePeer),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"peer id mismatch"}});return}let h=f.addrs.map(m=>_t(m)).filter(m=>{let y=m.toOptions().host===t.connection.remoteAddr.toOptions().host;return lt.trace("Request to dial %s was sent from %s is same host %s",m,t.connection.remoteAddr,y),y}).filter(m=>{let y=m.toOptions().host,g=!(Gn(y)??!1);return lt.trace("Host %s was public %s",y,g),g}).filter(m=>{let y=m.toOptions().host,g=!n.includes(y);return lt.trace("Host %s was not our host %s",y,g),g}).filter(m=>{let y=!!s.components.transportManager.transportForMultiaddr(m);return lt.trace("Transport for %s is supported %s",m,y),y}).map(m=>(m.getPeerId()==null&&(m=m.encapsulate(`/p2p/${u.toString()}`)),m));if(h.length===0){lt("No valid multiaddrs for %p in message",u),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_DIAL_REFUSED,statusText:"no dialable addresses"}});return}lt("Dial multiaddrs %s for peer %p",h.map(m=>m.toString()).join(", "),u);let d="",p=h[0];for await(let m of h){let y;p=m;try{if(y=await s.components.dialer.dial(m,{signal:r.signal}),!y.remoteAddr.equals(m))throw lt.error("Tried to dial %s but dialed %s",m,y.remoteAddr),new Error("Unexpected remote address");lt("Success %p",u),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.OK,addr:y.remoteAddr.decapsulateCode(j("p2p").code).bytes}});return}catch(g){lt("Could not dial %p",u,g),d=g.message}finally{y!=null&&await y.close()}}yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_DIAL_ERROR,statusText:d,addr:p.bytes}})},Ae(),t.stream)}finally{r.clear()}}_verifyExternalAddresses(){this.verifyExternalAddresses().catch(t=>{lt.error(t)})}async verifyExternalAddresses(){if(clearTimeout(this.verifyAddressTimeout),!this.isStarted())return;let t=this.components.addressManager,r=t.getObservedAddrs().filter(s=>{let o=s.toOptions();return!(Gn(o.host)??!1)});if(r.length===0){lt("No public addresses found, not requesting verification"),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval);return}let n=new Lf.TimeoutController(this._init.timeout);try{(0,Bf.setMaxListeners)?.(1/0,n.signal)}catch{}let i=this;try{lt("verify multiaddrs %s",r.map(f=>f.toString()).join(", "));let s=G.encode({type:G.MessageType.DIAL,dial:{peer:{id:this.components.peerId.toBytes(),addrs:r.map(f=>f.bytes)}}}),a=(await cc()).toBytes(),c={},l=[];async function u(f){try{lt("Asking %p to verify multiaddr",f.id);let h=await i.components.connectionManager.openConnection(f.id,{signal:n.signal}),d=await h.newStream(uc,{signal:n.signal}),p=ye(d,n.signal),m=await Ft([s],Ae(),p,me(),async g=>await se(g));if(m==null){lt("No response received from %s",h.remotePeer);return}let y=G.decode(m);if(y.type!==G.MessageType.DIAL_RESPONSE||y.dialResponse==null){lt("Invalid autonat response from %s",h.remotePeer);return}if(y.dialResponse.status===G.ResponseStatus.OK){let g=h.remoteAddr.toOptions(),x;if(g.family===4)x=g.host.split(".")[0];else if(g.family===6)x=g.host.split(":")[0];else{lt('Remote address "%s" was not IP4 or IP6?',g.host);return}if(l.includes(x)){lt("Already have response from network segment %d - %s",x,g.host);return}l.push(x)}return y.dialResponse}catch(h){lt.error(h)}}for await(let f of Cf(Qi(this.components.peerRouting.getClosestPeers(a,{signal:n.signal}),h=>async()=>await u(h)),{concurrency:Df}))try{if(f==null)continue;let h=f.addr==null?r[0]:_t(f.addr);if(lt("Autonat response for %s is %s",h,f.status),f.status===G.ResponseStatus.E_BAD_REQUEST||f.status===G.ResponseStatus.E_DIAL_REFUSED||f.addr==null&&r.length>1)continue;if(!r.some(p=>p.equals(h))){lt("Peer reported %s as %s but it was not in our observed address list",h,f.status);continue}let d=h.toString();if(c[d]==null&&(c[d]={success:0,failure:0}),f.status===G.ResponseStatus.OK?c[d].success++:f.status===G.ResponseStatus.E_DIAL_ERROR&&c[d].failure++,c[d].success===Df){lt("%s is externally dialable",h),t.confirmObservedAddr(h);return}if(c[d].failure===Df){lt("%s is not externally dialable",h),t.removeObservedAddr(h);return}}catch(h){lt.error("Could not verify external address",h)}}finally{n.clear(),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval)}}};var hc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>gr(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>gr(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>gr(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>gr(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>gr(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>gr(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw new w("peerId not set","ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw new w("addressManager not set","ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw new w("peerStore not set","ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw new w("upgrader not set","ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw new w("registrar not set","ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw new w("connectionManager not set","ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw new w("transportManager not set","ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw new w("connectionGater not set","ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw new w("contentRouting not set","ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw new w("peerRouting not set","ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw new w("datastore not set","ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw new w("dialer not set","ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var Nf=N(Sc(),1),kf=N(yw(),1);var gw=globalThis.fetch,ww=globalThis.Headers,x6=globalThis.Request,v6=globalThis.Response;function dc(e,t,r){return`${e}?name=${t}&type=${r}`}async function Ew(e,t){return await(await gw(e,{headers:new ww({accept:"application/dns-json"}),signal:t})).json()}function Qn(e,t){return`${t}_${e}`}var Pf=Object.assign((0,Nf.default)("dns-over-http-resolver"),{error:(0,Nf.default)("dns-over-http-resolver:error")}),Of=class{constructor(t={}){this._cache=new kf.default({max:t?.maxCache??100}),this._TXTcache=new kf.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??Ew,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let r=t.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=t[r];t[r]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,r="A"){switch(r){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${r} is not supported`)}}async resolve4(t){let r="A",n=this._cache.get(Qn(t,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(dc(s,t,r),o.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(Qn(t,r),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}async resolve6(t){let r="AAAA",n=this._cache.get(Qn(t,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(dc(s,t,r),o.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(Qn(t,r),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}async resolveTxt(t){let r="TXT",n=this._TXTcache.get(Qn(t,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(dc(s,t,r),o.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),l=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(Qn(t,r),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),Pf.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},xw=Of;var vw=xw;var{code:pA}=j("dnsaddr");async function bw(e,t={}){let r=new vw;t.signal!=null&&t.signal.addEventListener("abort",()=>{r.cancel()});let n=e.getPeerId(),[,i]=e.stringTuples().find(([a])=>a===pA)??[];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 Mf(e){try{let{address:t}=e.nodeAddress();return!!Gn(t)}catch{return!0}}function pc(e,t){let r=Mf(e.multiaddr),n=Mf(t.multiaddr);return r&&!n?1:!r&&n||e.isCertified&&!t.isCertified?-1:!e.isCertified&&t.isCertified?1:0}var gA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:e=>e},connectionManager:{maxConnections:300,minConnections:50,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:bw},addressSorter:pc},connectionGater:{},transportManager:{faultTolerance:an.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},identify:{protocolPrefix:"ipfs",host:{agentVersion:nf},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1,maxObservedAddresses:10},ping:{protocolPrefix:"ipfs",maxInboundStreams:2,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},autonat:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:3e4,startupDelay:5e3,refreshInterval:6e4}};function _w(e){let t=Ce(gA,e);if(t.transports==null||t.transports.length<1)throw new w(W.ERR_TRANSPORTS_REQUIRED,S.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw new w(W.CONN_ENCRYPTION_REQUIRED,S.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new w(W.ERR_PROTECTOR_REQUIRED,S.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===nf&&(kg||Pg?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(Ks||Og||Ng||Mg)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var Sw=Symbol.for("@libp2p/peer-discovery");var mc=class extends Pt{get[Sw](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}get lan(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}get(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}findProviders(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}findPeer(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}getClosestPeers(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}provide(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}put(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}async getMode(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}async setMode(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}async refreshRoutingTable(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}};var yc=class extends Pt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}get multicodecs(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}getPeers(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}getTopics(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}subscribe(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}unsubscribe(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}getSubscribers(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}async publish(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}};var Vw=N(vr(),1),zf=N(qf(),1),qw=N(je(),1);var Uw=N(qf(),1),Fw=N(Ow(),1),$f=N(je(),1);var Mw=M("libp2p:dialer:dial-request"),gc=class{constructor(t){let{addrs:r,dialAction:n,dialer:i}=t;this.addrs=r,this.dialer=i,this.dialAction=n}async run(t={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw new w("No dial tokens available",S.ERR_NO_DIAL_TOKENS);let n=new Fw.default;for(let a of r)n.push(a).catch(c=>{Mw.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,$f.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,$f.setMaxListeners)?.(1/0,t.signal)}catch{}let s=0,o=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let l=await n.shift();if(o)throw this.dialer.releaseToken(r.splice(r.indexOf(l),1)[0]),new w("dialAction already succeeded",S.ERR_ALREADY_SUCCEEDED);let u=i[c];if(u==null)throw new w("dialAction did not come with an AbortController",S.ERR_INVALID_PARAMETERS);let f;try{let h=u.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,Uw.anySignal)([h,t.signal]):h}),i[c]=void 0}finally{s++,this.addrs.length-s>=r.length?n.push(l).catch(h=>{Mw.error(h)}):this.dialer.releaseToken(r.splice(r.indexOf(l),1)[0])}if(f==null)throw new w("dialAction led to empty object",S.ERR_TRANSPORT_DIAL_FAILED);return o=!0,f}))}catch(a){throw this.addrs.length===1&&a.name==="AggregateError"?a.errors[0]:a}finally{i.forEach(a=>{a!==void 0&&a.abort()}),r.forEach(a=>{this.dialer.releaseToken(a)})}}};var ge=M("libp2p:dialer"),wc=class{constructor(t,r={}){this.started=!1,this.addressSorter=r.addressSorter??pc,this.maxAddrsToDial=r.maxAddrsToDial??25,this.timeout=r.dialTimeout??3e4,this.maxDialsPerPeer=r.maxDialsPerPeer??4,this.tokens=[...new Array(r.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=Is({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=Is({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(r.resolvers??{}))cl.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(r){ge.error(r)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,r={}){let n=Lo(t);if(n.peerId!=null){if(this.components.peerId.equals(n.peerId))throw new w("Tried to dial self",S.ERR_DIALED_SELF);if(n.multiaddrs.length>0&&(ge("storing multiaddrs %p",n.peerId,n.multiaddrs),await this.components.peerStore.addressBook.add(n.peerId,n.multiaddrs)),await this.components.connectionGater.denyDialPeer?.(n.peerId)===!0)throw new w("The dial request is blocked by gater.allowDialPeer",S.ERR_PEER_DIAL_INTERCEPTED)}return ge("creating dial target for %p",n.peerId),await this.createDialTarget(n,r)}async createDialTarget(t,r={}){let n=new AbortController,i=Kw();this.pendingDialTargets.set(i,n);let s=n.signal;r.signal!=null&&(s=(0,zf.anySignal)([s,r.signal]));let o;try{o=await this._createDialTarget(t,{...r,signal:s})}finally{this.pendingDialTargets.delete(i)}if(o.addrs.length===0)throw new w("The dial request has no valid addresses",S.ERR_NO_VALID_ADDRESSES);let a=this.pendingDials.get(o.id)??this._createPendingDial(o,r);try{let c=await a.promise;return ge("dial succeeded to %s",o.id),c}catch(c){if(ge("dial failed to %s",o.id,c),a.controller.signal.aborted){let l=new w(c.message,S.ERR_TIMEOUT);throw ge.error(l),l}throw ge.error(c),c}finally{a.destroy()}}getPendingDialTargets(){return this.pendingDialTargets}hasPendingDial(t){return Ue(t)?this.pendingDials.has(t.getPeerId()??""):this.pendingDials.has(t.toString())}async _createDialTarget(t,r){let n=[...t.multiaddrs];t.peerId!=null&&t.multiaddrs.length===0&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async c=>await this._resolve(c,r)))).flat();let i=n.filter(c=>!!this.components.transportManager.transportForMultiaddr(c)),o=[...new Set(i.map(c=>c.toString()))].map(c=>_t(c));if(o.length>this.maxAddrsToDial)throw ge("addresses after filtering",o.map(c=>c.toString())),new w("dial with more addresses than allowed",S.ERR_TOO_MANY_ADDRESSES);o.length===0&&(ge("addresses before filtering",n.map(c=>c.toString())),ge("addresses after filtering",o.map(c=>c.toString())));let a=fi(t.peerId)?t.peerId:void 0;if(a!=null){let c=`/p2p/${a.toString()}`;o=o.map(l=>{let u=l.getPeerId();return l.protos().pop()?.path===!0?l:u==null?l.encapsulate(c):l})}return{id:a==null?Kw():a.toString(),addrs:o}}async _loadAddresses(t){let r=await this.components.peerStore.addressBook.get(t);return(await Promise.all(r.map(async n=>await this.components.connectionGater.denyDialMultiaddr?.(t,n.multiaddr)===!0?!1:n))).filter(xA).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,r={}){let n=async(l,u={})=>{if(u.signal?.aborted===!0)throw new w("already aborted",S.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(l,u).catch(f=>{throw ge.error("dial to %s failed",l,f),f})},i=new gc({addrs:t.addrs,dialAction:n,dialer:this}),s=new Vw.TimeoutController(this.timeout),o=[s.signal];r.signal!=null&&o.push(r.signal);let a=(0,zf.anySignal)(o);try{(0,qw.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...r,signal:a}),destroy:()=>{s.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let r=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return ge("%d tokens request, returning %d, %d remaining",t,r,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(ge("token %d released",t),this.tokens.push(t))}async _resolve(t,r){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,r);return(await Promise.all(i.map(async a=>await this._resolve(a,r)))).flat().reduce((a,c)=>(a.find(l=>l.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,r){try{return t=_t(t.toString()),await t.resolve(r)}catch(n){return ge.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function xA(e){return!!e}function Kw(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var pr=M("libp2p"),Hf=class extends Pt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let r=this.components=new hc({peerId:t.peerId,datastore:t.datastore??new po,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),...t.connectionGater}});r.peerStore=new oc(r,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[r],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",o=>{let{detail:a}=o;this.dispatchEvent(new $("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(r)),this.components.upgrader=new Da(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(o=>this.configureComponent(o(this.components))),muxers:(t.streamMuxers??[]).map(o=>this.configureComponent(o(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new wc(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new No(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",o=>{this.dispatchEvent(new $("peer:disconnect",{detail:o.detail}))}),this.components.connectionManager.addEventListener("peer:connect",o=>{this.dispatchEvent(new $("peer:connect",{detail:o.detail}))}),this.registrar=this.components.registrar=new Ca(this.components),this.components.transportManager=new ba(this.components,t.transportManager),this.components.addressManager=new So(this.components,t.addresses),this.configureComponent(new Ua(this.components));let n=Vn.generateOptions();this.keychain=this.configureComponent(new Vn(this.components,{...n,...t.keychain})),this.services.push(new Ma(this.components,t.nat)),this.identifyService=new Ui(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new mc,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new yc;let i=(t.peerRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&(i.push(this.configureComponent(new Fa(this.dht))),this.dht.addEventListener("peer",o=>{this.onDiscoveryPeer(o)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new vo(this.components,{...t.peerRouting,routers:i}));let s=(t.contentRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&s.push(this.configureComponent(new ac(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new _o(this.components,{routers:s})),this.fetchService=this.configureComponent(new La(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Pa(this.components,{...t.ping})),this.autonatService=this.configureComponent(new fc(this.components,{...t.autonat})),this.configureComponent(new ko(this.components,{minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval})),t.relay!=null&&(this.circuitService=this.configureComponent(t.relay(this.components)));for(let o of t.peerDiscovery??[])this.configureComponent(o(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)});t.transports.forEach(o=>{this.components.transportManager.add(this.configureComponent(o(this.components)))})}configureComponent(t){return gr(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,pr("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(pr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async r=>{r.beforeStart!=null&&await r.beforeStart()})),await Promise.all(this.services.map(async r=>{await r.start()})),await Promise.all(this.services.map(async r=>{r.afterStart!=null&&await r.afterStart()})),pr("libp2p has started")}catch(r){throw pr.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.started&&(pr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(async t=>{await t.stop()})),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),pr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Sr;for(let r of this.components.connectionManager.getConnections())t.add(r.remotePeer);return Array.from(t)}async dial(t,r={}){return await this.components.connectionManager.openConnection(t,r)}async dialProtocol(t,r,n={}){if(r==null)throw new w("no protocols were provided to open a stream",S.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new w("no protocols were provided to open a stream",S.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){Ue(t)&&(t=at(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,r={}){if(pr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw new w("Public key was not in the peer store and the DHT is not enabled",S.ERR_NO_ROUTERS_AVAILABLE);let i=Ut([F("/pk/"),t.multihash.digest]);for await(let s of this.dht.get(i,r))if(s.name==="VALUE"){let o=Ss(s.value);return await this.peerStore.keyBook.set(t,s.value),o.bytes}throw new w(`Node not responding with its public key: ${t.toString()}`,S.ERR_INVALID_RECORD)}async fetch(t,r,n={}){if(Ue(t)){let i=at(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,r,n)}async ping(t,r={}){if(Ue(t)){let n=at(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,r)}async handle(t,r,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(t,r){return await this.registrar.register(t,r)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:r}=t;if(r.id.toString()===this.peerId.toString()){pr.error(new Error(S.ERR_DISCOVERED_SELF));return}r.multiaddrs.length>0&&this.components.peerStore.addressBook.add(r.id,r.multiaddrs).catch(n=>{pr.error(n)}),r.protocols.length>0&&this.components.peerStore.protoBook.set(r.id,r.protocols).catch(n=>{pr.error(n)}),this.dispatchEvent(new $("peer:discovery",{detail:r}))}};async function $w(e){if(e.peerId==null){let t=e.datastore;if(t!=null)try{let r=new Vn({datastore:t},Ce(Vn.generateOptions(),e.keychain));e.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return e.peerId==null&&(e.peerId=await cc()),new Hf(_w(e))}async function vA(e){let t=await $w(e);return e.start!==!1&&await t.start(),t}return Qw(bA);})();
|
|
49
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),mA=new RegExp(`(?:^${Xe}$)|(?:^${Ka}$)`),yA=new RegExp(`^${Xe}$`),gA=new RegExp(`^${Ka}$`),mf=e=>e&&e.exact?mA:new RegExp(`(?:${ln(e)}${Xe}${ln(e)})|(?:${ln(e)}${Ka}${ln(e)})`,"g");mf.v4=e=>e&&e.exact?yA:new RegExp(`${ln(e)}${Xe}${ln(e)}`,"g");mf.v6=e=>e&&e.exact?gA:new RegExp(`${ln(e)}${Ka}${ln(e)}`,"g");var ew=mf;var ow=N(nw(),1),{isValid:wA,parse:EA}=ow.default,xA=["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"],vA=xA.map(e=>new sw.Netmask(e));function bA(e){for(let t of vA)if(t.contains(e))return!0;return!1}function iw(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var aw=e=>{if(wA(e)){let t=EA(e);if(t.kind()==="ipv4")return bA(t.toNormalizedString());if(t.kind()==="ipv6")return iw(e)}else if(ni(e)&&ew.v6().test(e))return iw(e)};var Yn=aw;function cw(e){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(e)||/^::1$/.test(e)}function lw(e){let{address:t}=e.nodeAddress();return cw(t)}var yf=M("libp2p:nat"),gf=7200;function _A(e=1024,t=65535){return Math.floor(Math.random()*(t-e+1)+e)}var qa=class{constructor(t,r){if(this.components=t,this.started=!1,this.enabled=r.enabled,this.externalAddress=r.externalAddress,this.localAddress=r.localAddress,this.description=r.description??`${Tg}@${Oa} ${this.components.peerId.toString()}`,this.ttl=r.ttl??gf,this.keepAlive=r.keepAlive??!0,this.gateway=r.gateway,this.ttl<gf)throw new w(`NatManager ttl should be at least ${gf} seconds`,S.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){zs||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{yf.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let r of t){let{family:n,host:i,port:s,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||o!=="tcp"||lw(r)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),l=Yn(c);if(l===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(l==null)throw new Error(`${c} is not an IP address`);let u=_A();yf(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,localPort:s,localAddress:this.localAddress,protocol:o.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(rd({family:4,address:c,port:u},o))}}async _getClient(){return this.client!=null?this.client:(this.client=await zg({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(zs||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){yf.error(t)}}};var SA=M("libp2p:peer-record-updater"),$a=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new Ht({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(j("p2p").code))}),r=await Zt.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(r)}).catch(t=>{SA.error("Could not update self peer record: %o",t)})}};var za=class{constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}};var Y={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var wt=M("libp2p:peer-store:address-book"),Ha="change:multiaddrs";async function AA(){return!0}var Ga=class{constructor(t,r,n){this.dispatchEvent=t,this.store=r,this.addressFilter=n??AA}async consumePeerRecord(t){wt.trace("consumePeerRecord await write lock");let r=await this.store.lock.writeLock();wt.trace("consumePeerRecord got write lock");let n,i,s;try{let o;try{o=Ht.createFromProtobuf(t.payload)}catch{return wt.error("invalid peer record received"),!1}n=o.peerId;let a=o.multiaddrs;if(!n.equals(t.peerId))return wt("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let l=await Zt.createFromProtobuf(i.peerRecordEnvelope),u=Ht.createFromProtobuf(l.payload);if(u.seqNumber>=o.seqNumber)return wt("sequence number was lower or equal to existing sequence number - stored: %d received: %d",u.seqNumber,o.seqNumber),!1}let c=await wf(n,a,this.addressFilter,!0);s=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),wt("stored provided peer record for %p",o.peerId)}finally{wt.trace("consumePeerRecord release write lock"),r()}return this.dispatchEvent(new $(Ha,{detail:{peerId:n,multiaddrs:s.addresses.map(({multiaddr:o})=>o),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:o})=>o)}})),!0}async getRawEnvelope(t){wt.trace("getRawEnvelope await read lock");let r=await this.store.lock.readLock();wt.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{wt.trace("getRawEnvelope release read lock"),r()}}async getPeerRecord(t){let r=await this.getRawEnvelope(t);if(r!=null)return await Zt.createFromProtobuf(r)}async get(t){t=Ft(t),wt.trace("get wait for read lock");let r=await this.store.lock.readLock();wt.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{wt.trace("get release read lock"),r()}return[]}async set(t,r){if(t=Ft(t),!Array.isArray(r))throw wt.error("multiaddrs must be an array of Multiaddrs"),new w("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);wt.trace("set await write lock");let n=await this.store.lock.writeLock();wt.trace("set got write lock");let i=!1,s,o;try{let a=await wf(t,r,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length&&a.length===s.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}o=await this.store.patchOrCreate(t,{addresses:a}),wt("set multiaddrs for %p",t)}finally{wt.trace("set multiaddrs for %p",t),wt("set release write lock"),n()}this.dispatchEvent(new $(Ha,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async add(t,r){if(t=Ft(t),!Array.isArray(r))throw wt.error("multiaddrs must be an array of Multiaddrs"),new w("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);wt.trace("add await write lock");let n=await this.store.lock.writeLock();wt.trace("add got write lock");let i,s,o;try{let a=await wf(t,r,this.addressFilter);if(a.length===0)return;try{if(s=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...s.addresses.map(({multiaddr:c})=>c.toString())]).size===s.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}o=await this.store.mergeOrCreate(t,{addresses:a}),wt("added multiaddrs for %p",t)}finally{wt.trace("set release write lock"),n()}this.dispatchEvent(new $(Ha,{detail:{peerId:t,multiaddrs:o.addresses.map(a=>a.multiaddr),oldMultiaddrs:s==null?[]:s.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new $("peer",{detail:{id:t,multiaddrs:o.addresses.map(a=>a.multiaddr),protocols:o.protocols}}))}async delete(t){t=Ft(t),wt.trace("delete await write lock");let r=await this.store.lock.writeLock();wt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{wt.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new $(Ha,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function wf(e,t,r,n=!1){let i=[];return await Promise.all(t.map(async s=>{if(!Fe(s))throw wt.error("multiaddr must be an instance of Multiaddr"),new w("multiaddr must be an instance of Multiaddr",Y.ERR_INVALID_PARAMETERS);await r(e,s)&&i.push({multiaddr:s,isCertified:n})})),i}var mr=M("libp2p:peer-store:key-book"),uw="change:pubkey",Ya=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async set(t,r){if(t=Ft(t),!(r instanceof Uint8Array))throw mr.error("publicKey must be an instance of Uint8Array to store data"),new w("publicKey must be an instance of PublicKey",Y.ERR_INVALID_PARAMETERS);mr.trace("set await write lock");let n=await this.store.lock.writeLock();mr.trace("set got write lock");let i=!1,s;try{try{if(s=await this.store.load(t),s.pubKey!=null&&xt(s.pubKey,r))return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}await this.store.patchOrCreate(t,{pubKey:r}),i=!0}finally{mr.trace("set release write lock"),n()}i&&this.dispatchEvent(new $(uw,{detail:{peerId:t,publicKey:r,oldPublicKey:s?.pubKey}}))}async get(t){t=Ft(t),mr.trace("get await write lock");let r=await this.store.lock.readLock();mr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{mr("get release write lock"),r()}}async delete(t){t=Ft(t),mr.trace("delete await write lock");let r=await this.store.lock.writeLock();mr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{mr.trace("delete release write lock"),r()}this.dispatchEvent(new $(uw,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var Yt=M("libp2p:peer-store:metadata-book"),Wa="change:metadata",Qa=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async get(t){t=Ft(t),Yt.trace("get await read lock");let r=await this.store.lock.readLock();Yt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Yt.trace("get release read lock"),r()}return new Map}async getValue(t,r){t=Ft(t),Yt.trace("getValue await read lock");let n=await this.store.lock.readLock();Yt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(r)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{Yt.trace("getValue release write lock"),n()}}async set(t,r){if(t=Ft(t),!(r instanceof Map))throw Yt.error("valid metadata must be provided to store data"),new w("valid metadata must be provided",Y.ERR_INVALID_PARAMETERS);Yt.trace("set await write lock");let n=await this.store.lock.writeLock();Yt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}await this.store.mergeOrCreate(t,{metadata:r})}finally{Yt.trace("set release write lock"),n()}this.dispatchEvent(new $(Wa,{detail:{peerId:t,metadata:r,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,r,n){if(t=Ft(t),typeof r!="string"||!(n instanceof Uint8Array))throw Yt.error("valid key and value must be provided to store data"),new w("valid key and value must be provided",Y.ERR_INVALID_PARAMETERS);Yt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Yt.trace("setValue got write lock");let s,o;try{try{s=await this.store.load(t);let a=s.metadata.get(r);if(a!=null&&xt(n,a))return}catch(a){if(a.code!==Y.ERR_NOT_FOUND)throw a}o=await this.store.mergeOrCreate(t,{metadata:new Map([[r,n]])})}finally{Yt.trace("setValue release write lock"),i()}this.dispatchEvent(new $(Wa,{detail:{peerId:t,metadata:o.metadata,oldMetadata:s==null?new Map:s.metadata}}))}async delete(t){t=Ft(t),Yt.trace("delete await write lock");let r=await this.store.lock.writeLock();Yt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Yt.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new $(Wa,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,r){t=Ft(t),Yt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Yt.trace("deleteValue got write lock");let i,s;try{s=await this.store.load(t),i=s.metadata,i.delete(r),await this.store.patch(t,{metadata:i})}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}finally{Yt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new $(Wa,{detail:{peerId:t,metadata:i,oldMetadata:s==null?new Map:s.metadata}}))}};var Wt=M("libp2p:peer-store:proto-book"),Xa="change:protocols",Za=class{constructor(t,r){this.dispatchEvent=t,this.store=r}async get(t){Wt.trace("get wait for read lock");let r=await this.store.lock.readLock();Wt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Wt.trace("get release read lock"),r()}return[]}async set(t,r){if(t=Ft(t),!Array.isArray(r))throw Wt.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Wt.trace("set await write lock");let n=await this.store.lock.writeLock();Wt.trace("set got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...r]).size===i.protocols.length)return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:r}),Wt("stored provided protocols for %p",t)}finally{Wt.trace("set release write lock"),n()}this.dispatchEvent(new $(Xa,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,r){if(t=Ft(t),!Array.isArray(r))throw Wt.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Wt.trace("add await write lock");let n=await this.store.lock.writeLock();Wt.trace("add got write lock");let i,s;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...r]).size===i.protocols.length)return}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.mergeOrCreate(t,{protocols:r}),Wt("added provided protocols for %p",t)}finally{Wt.trace("add release write lock"),n()}this.dispatchEvent(new $(Xa,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,r){if(t=Ft(t),!Array.isArray(r))throw Wt.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Wt.trace("remove await write lock");let n=await this.store.lock.writeLock();Wt.trace("remove got write lock");let i,s;try{try{i=await this.store.load(t);let o=new Set(i.protocols);for(let a of r)o.delete(a);if(i.protocols.length===o.size)return;r=Array.from(o)}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}s=await this.store.patchOrCreate(t,{protocols:r})}finally{Wt.trace("remove release write lock"),n()}this.dispatchEvent(new $(Xa,{detail:{peerId:t,protocols:s.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=Ft(t),Wt.trace("delete await write lock");let r=await this.store.lock.writeLock();Wt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Wt.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new $(Xa,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Gs;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.addresses!=null)for(let s of r.addresses)n.uint32(10),Ja.codec().encode(s,n);if(r.protocols!=null)for(let s of r.protocols)n.uint32(18),n.string(s);if(r.metadata!=null)for(let s of r.metadata)n.uint32(26),ja.codec().encode(s,n);r.pubKey!=null&&(n.uint32(34),n.bytes(r.pubKey)),r.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(r.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={addresses:[],protocols:[],metadata:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.addresses.push(Ja.codec().decode(r,r.uint32()));break;case 2:i.protocols.push(r.string());break;case 3:i.metadata.push(ja.codec().decode(r,r.uint32()));break;case 4:i.pubKey=r.bytes();break;case 5:i.peerRecordEnvelope=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Gs||(Gs={}));var Ja;(function(e){let t;e.codec=()=>(t==null&&(t=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})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Ja||(Ja={}));var ja;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key!==""&&(n.uint32(10),n.string(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:"",value: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.key=r.string();break;case 2:i.value=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(ja||(ja={}));var vw=N(hw(),1);var Ws=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},xf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},dw=e=>globalThis.DOMException===void 0?new xf(e):new DOMException(e),pw=e=>{let t=e.reason===void 0?dw("This operation was aborted."):e.reason;return t instanceof Error?t:dw(t)};function vf(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(pw(c)),c.addEventListener("abort",()=>{a(pw(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(u){a(u)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,l=r instanceof Error?r:new Ws(c);typeof e.cancel=="function"&&e.cancel(),a(l)},t),(async()=>{try{o(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function bf(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Wn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},kr,Qs=class{constructor(){kr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Wn(this,kr,"f")[this.size-1].priority>=r.priority){Wn(this,kr,"f").push(n);return}let i=bf(Wn(this,kr,"f"),n,(s,o)=>o.priority-s.priority);Wn(this,kr,"f").splice(i,0,n)}dequeue(){let t=Wn(this,kr,"f").shift();return t?.run}filter(t){return Wn(this,kr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Wn(this,kr,"f").length}};kr=new WeakMap;var Bt=function(e,t,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 t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},$t,Zs,Js,fn,oc,js,ec,Ze,Xs,Ae,rc,Re,to,un,nc,mw,yw,Ew,gw,ww,ic,_f,Sf,ac,xw,sc,cc=class extends Error{},Vi=class extends vw.default{constructor(t){var r,n,i,s;if(super(),$t.add(this),Zs.set(this,void 0),Js.set(this,void 0),fn.set(this,0),oc.set(this,void 0),js.set(this,void 0),ec.set(this,0),Ze.set(this,void 0),Xs.set(this,void 0),Ae.set(this,void 0),rc.set(this,void 0),Re.set(this,0),to.set(this,void 0),un.set(this,void 0),nc.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Qs,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);Bt(this,Zs,t.carryoverConcurrencyCount,"f"),Bt(this,Js,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Bt(this,oc,t.intervalCap,"f"),Bt(this,js,t.interval,"f"),Bt(this,Ae,new t.queueClass,"f"),Bt(this,rc,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Bt(this,nc,t.throwOnTimeout===!0,"f"),Bt(this,un,t.autoStart===!1,"f")}get concurrency(){return k(this,to,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Bt(this,to,t,"f"),k(this,$t,"m",ac).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,nc,"f"),...r},new Promise((n,i)=>{k(this,Ae,"f").enqueue(async()=>{var s,o,a;Bt(this,Re,(o=k(this,Re,"f"),o++,o),"f"),Bt(this,fn,(a=k(this,fn,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new cc("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=vf(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,$t,"m",xw).call(this,r.signal)]));let l=await c;n(l),this.emit("completed",l)}catch(c){if(c instanceof Ws&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,$t,"m",Ew).call(this)}},r),this.emit("add"),k(this,$t,"m",ic).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,un,"f")?(Bt(this,un,!1,"f"),k(this,$t,"m",ac).call(this),this):this}pause(){Bt(this,un,!0,"f")}clear(){Bt(this,Ae,new(k(this,rc,"f")),"f")}async onEmpty(){k(this,Ae,"f").size!==0&&await k(this,$t,"m",sc).call(this,"empty")}async onSizeLessThan(t){k(this,Ae,"f").size<t||await k(this,$t,"m",sc).call(this,"next",()=>k(this,Ae,"f").size<t)}async onIdle(){k(this,Re,"f")===0&&k(this,Ae,"f").size===0||await k(this,$t,"m",sc).call(this,"idle")}get size(){return k(this,Ae,"f").size}sizeBy(t){return k(this,Ae,"f").filter(t).length}get pending(){return k(this,Re,"f")}get isPaused(){return k(this,un,"f")}};Zs=new WeakMap,Js=new WeakMap,fn=new WeakMap,oc=new WeakMap,js=new WeakMap,ec=new WeakMap,Ze=new WeakMap,Xs=new WeakMap,Ae=new WeakMap,rc=new WeakMap,Re=new WeakMap,to=new WeakMap,un=new WeakMap,nc=new WeakMap,$t=new WeakSet,mw=function(){return k(this,Js,"f")||k(this,fn,"f")<k(this,oc,"f")},yw=function(){return k(this,Re,"f")<k(this,to,"f")},Ew=function(){var t;Bt(this,Re,(t=k(this,Re,"f"),t--,t),"f"),k(this,$t,"m",ic).call(this),this.emit("next")},gw=function(){k(this,$t,"m",Sf).call(this),k(this,$t,"m",_f).call(this),Bt(this,Xs,void 0,"f")},ww=function(){let t=Date.now();if(k(this,Ze,"f")===void 0){let r=k(this,ec,"f")-t;if(r<0)Bt(this,fn,k(this,Zs,"f")?k(this,Re,"f"):0,"f");else return k(this,Xs,"f")===void 0&&Bt(this,Xs,setTimeout(()=>{k(this,$t,"m",gw).call(this)},r),"f"),!0}return!1},ic=function(){if(k(this,Ae,"f").size===0)return k(this,Ze,"f")&&clearInterval(k(this,Ze,"f")),Bt(this,Ze,void 0,"f"),this.emit("empty"),k(this,Re,"f")===0&&this.emit("idle"),!1;if(!k(this,un,"f")){let t=!k(this,$t,"a",ww);if(k(this,$t,"a",mw)&&k(this,$t,"a",yw)){let r=k(this,Ae,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,$t,"m",_f).call(this),!0):!1}}return!1},_f=function(){k(this,Js,"f")||k(this,Ze,"f")!==void 0||(Bt(this,Ze,setInterval(()=>{k(this,$t,"m",Sf).call(this)},k(this,js,"f")),"f"),Bt(this,ec,Date.now()+k(this,js,"f"),"f"))},Sf=function(){k(this,fn,"f")===0&&k(this,Re,"f")===0&&k(this,Ze,"f")&&(clearInterval(k(this,Ze,"f")),Bt(this,Ze,void 0,"f")),Bt(this,fn,k(this,Zs,"f")?k(this,Re,"f"):0,"f"),k(this,$t,"m",ac).call(this)},ac=function(){for(;k(this,$t,"m",ic).call(this););},xw=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new cc("The task was aborted."))},{once:!0})})},sc=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Af=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Rf=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},bw=e=>globalThis.DOMException===void 0?new Rf(e):new DOMException(e),_w=e=>{let t=e.reason===void 0?bw("This operation was aborted."):e.reason;return t instanceof Error?t:bw(t)};function If(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=t,o,a=new Promise((c,l)=>{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(e);return}if(t.signal){let{signal:f}=t;f.aborted&&l(_w(f)),f.addEventListener("abort",()=>{l(_w(f))})}let u=new Af;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){l(f)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?c():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${r} milliseconds`,l(u))},r),(async()=>{try{c(await e)}catch(f){l(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var Tf="lock:worker:request-read",Cf="lock:worker:release-read",Df="lock:master:grant-read",Lf="lock:worker:request-write",Bf="lock:worker:release-write",Pf="lock:master:grant-write";var hn={},qi=e=>{e.addEventListener("message",t=>{qi.dispatchEvent("message",e,t)}),e.port!=null&&e.port.addEventListener("message",t=>{qi.dispatchEvent("message",e,t)})};qi.addEventListener=(e,t)=>{hn[e]==null&&(hn[e]=[]),hn[e].push(t)};qi.removeEventListener=(e,t)=>{hn[e]!=null&&(hn[e]=hn[e].filter(r=>r===t))};qi.dispatchEvent=function(e,t,r){hn[e]!=null&&hn[e].forEach(n=>n(t,r))};var Nf=qi;var Sw=(e,t,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};e.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let l=u=>{if(u==null||u.data==null)return;let f={type:u.data.type,name:u.data.name,identifier:u.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",l),c())};s.addEventListener("message",l)}))}}))},Aw=(e,t,r,n)=>async()=>{let i=mo();return globalThis.postMessage({type:t,identifier:i,name:e}),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:e})}))};globalThis.addEventListener("message",o)})},TA={singleProcess:!1},Rw=e=>{if(e=Object.assign({},TA,e),!!globalThis.document||e.singleProcess){let r=new EventTarget;return Nf.addEventListener("message",Sw(r,"requestReadLock",Tf,Cf,Df)),Nf.addEventListener("message",Sw(r,"requestWriteLock",Lf,Bf,Pf)),r}return{isWorker:!0,readLock:r=>Aw(r,Tf,Df,Cf),writeLock:r=>Aw(r,Lf,Pf,Bf)}};var Qn={},dn;async function kf(e,t){let r,n=new Promise(i=>{r=i});return e.add(async()=>await If((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var CA=(e,t)=>{if(dn.isWorker===!0)return{readLock:dn.readLock(e,t),writeLock:dn.writeLock(e,t)};let r=new Vi({concurrency:1}),n;return{async readLock(){if(n!=null)return await kf(n,t);n=new Vi({concurrency:t.concurrency,autoStart:!1});let i=n,s=kf(n,t);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await kf(r,t)}}},DA={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Of(e){let t=Object.assign({},DA,e);return dn==null&&(dn=Rw(t),dn.isWorker!==!0&&(dn.addEventListener("requestReadLock",r=>{Qn[r.data.name]!=null&&Qn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),dn.addEventListener("requestWriteLock",async r=>{Qn[r.data.name]!=null&&Qn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Qn[t.name]==null&&(Qn[t.name]=CA(t.name,t)),Qn[t.name]}var Iw=M("libp2p:peer-store:store"),Tw="/peers/",lc=class{constructor(t){this.components=t,this.lock=Of({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw Iw.error("peerId must be an instance of peer-id to store data"),new w("peerId must be an instance of peer-id",Y.ERR_INVALID_PARAMETERS);let r=t.toCID().toString();return new kt(`${Tw}${r}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let r=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=Gs.decode(r),i=new Map;for(let s of n.metadata)i.set(s.key,s.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:St(s),isCertified:o??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!xt(t.pubKey,t.id.publicKey))throw Iw.error("peer publicKey bytes do not match peer id publicKey bytes"),new w("publicKey bytes do not match peer id publicKey bytes",Y.ERR_INVALID_PARAMETERS);let r=new Set,n=t.addresses.filter(o=>r.has(o.multiaddr.toString())?!1:(r.add(o.multiaddr.toString()),!0)).sort((o,a)=>o.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:o,isCertified:a})=>({multiaddr:o.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(o=>{let a=t.metadata.get(o);a!=null&&i.push({key:o,value:a})});let s=Gs.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),s.subarray()),await this.load(t.id)}async patch(t,r){let n=await this.load(t);return await this._patch(t,r,n)}async patchOrCreate(t,r){let n;try{n=await this.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,r,n)}async _patch(t,r,n){return await this.save({...n,...r,id:t})}async merge(t,r){let n=await this.load(t);return await this._merge(t,r,n)}async mergeOrCreate(t,r){let n;try{n=await this.load(t)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,r,n)}async _merge(t,r,n){let i=new Map;return n.addresses.forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),(r.addresses??[]).forEach(s=>{let o=s.multiaddr.toString(),c=!!i.get(o)||s.isCertified;i.set(o,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:St(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols??[],...r.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...r.metadata?.entries()??[]]),pubKey:r.pubKey??n?.pubKey,peerRecordEnvelope:r.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:Tw})){let r=t.toString().split("/")[2],n=xe.decode(r);yield this.load(qr(n))}}};var Or;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.tags!=null)for(let s of r.tags)n.uint32(10),uc.codec().encode(s,n);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={tags:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.tags.push(uc.codec().decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Or||(Or={}));var uc;(function(e){let t;e.codec=()=>(t==null&&(t=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.name!=null&&r.name!==""&&(n.uint32(10),n.string(r.name)),r.value!=null&&(n.uint32(16),n.uint32(r.value)),r.expiry!=null&&(n.uint32(24),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={name:""},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.name=r.string();break;case 2:i.value=r.uint32();break;case 3:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(uc||(uc={}));var Oe=M("libp2p:peer-store"),fc=class extends Nt{constructor(t,r={}){super(),this.components=t,this.store=new lc(t),this.addressBook=new Ga(this.dispatchEvent.bind(this),this.store,r.addressFilter),this.keyBook=new Ya(this.dispatchEvent.bind(this),this.store),this.metadataBook=new Qa(this.dispatchEvent.bind(this),this.store),this.protoBook=new Za(this.dispatchEvent.bind(this),this.store)}async forEach(t){Oe.trace("getPeers await read lock");let r=await this.store.lock.readLock();Oe.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{Oe.trace("getPeers release read lock"),r()}}async all(){let t=[];return await this.forEach(r=>{t.push(r)}),t}async delete(t){Oe.trace("delete await write lock");let r=await this.store.lock.writeLock();Oe.trace("delete got write lock");try{await this.store.delete(t)}finally{Oe.trace("delete release write lock"),r()}}async get(t){Oe.trace("get await read lock");let r=await this.store.lock.readLock();Oe.trace("get got read lock");try{return await this.store.load(t)}finally{Oe.trace("get release read lock"),r()}}async has(t){Oe.trace("has await read lock");let r=await this.store.lock.readLock();Oe.trace("has got read lock");try{return await this.store.has(t)}finally{Oe.trace("has release read lock"),r()}}async tagPeer(t,r,n={}){let i=n.value??0,s=Math.round(i),o=n.ttl??void 0;if(s!==i||s<0||s>100)throw new w("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=Or.decode(a).tags),c=c.filter(l=>l.name!==r),c.push({name:r,value:s,expiry:o==null?void 0:BigInt(Date.now()+o)}),await this.metadataBook.setValue(t,"tags",Or.encode({tags:c}).subarray())}async unTagPeer(t,r){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=Or.decode(n).tags),i=i.filter(s=>s.name!==r),await this.metadataBook.setValue(t,"tags",Or.encode({tags:i}).subarray())}async getTags(t){let r=await this.metadataBook.getValue(t,"tags"),n=[];r!=null&&(n=Or.decode(r).tags);let i=BigInt(Date.now()),s=n.filter(o=>o.expiry==null||o.expiry>i);return s.length!==n.length&&await this.metadataBook.setValue(t,"tags",Or.encode({tags:s}).subarray()),s.map(o=>({name:o.name,value:o.value??0}))}};var hc=class{constructor(t){this.dht=t}async provide(t){await Vr(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await Vr(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new w("Not found","ERR_NOT_FOUND")}};var Mf;(function(e){let t;e.codec=()=>(t==null&&(t=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})),t),e.encode=r=>pt(r,e.codec()),e.decode=r=>dt(r,e.codec())})(Mf||(Mf={}));var dc=async()=>{let e=await _a("Ed25519"),t=await LA(e);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function LA(e){return await $r(tg(e.public),eg(e))}var Kf=N(er(),1);var pc=globalThis.CustomEvent??Event;async function*Uf(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,s=[],o=cn(),a=cn(),c=!1,l,u=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let p of e){if(s.length===r&&(o=cn(),await o.promise),u)break;let m={done:!1};s.push(m),p().then(y=>{m.done=!0,m.ok=!0,m.value=y,i.dispatchEvent(new pc("task-complete"))},y=>{m.done=!0,m.err=y,i.dispatchEvent(new pc("task-complete"))})}c=!0,i.dispatchEvent(new pc("task-complete"))}catch(p){l=p,i.dispatchEvent(new pc("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(p=>p.done)}function*h(){for(;s.length>0&&s[0].done;){let p=s[0];if(s.shift(),p.ok)yield p.value;else throw u=!0,o.resolve(),p.err;o.resolve()}}function*d(){for(;f();)for(let p=0;p<s.length;p++)if(s[p].done){let m=s[p];if(s.splice(p,1),p--,m.ok)yield m.value;else throw u=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=cn(),await a.promise),l!=null)throw l;if(n?yield*h():yield*d(),c&&s.length===0)break}}var Vf=N(br(),1);var mc="/libp2p/autonat/1.0.0";var G;(function(e){let t;(function(l){l.DIAL="DIAL",l.DIAL_RESPONSE="DIAL_RESPONSE"})(t=e.MessageType||(e.MessageType={}));let r;(function(l){l[l.DIAL=0]="DIAL",l[l.DIAL_RESPONSE=1]="DIAL_RESPONSE"})(r||(r={})),function(l){l.codec=()=>Gr(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(l){l.OK="OK",l.E_DIAL_ERROR="E_DIAL_ERROR",l.E_DIAL_REFUSED="E_DIAL_REFUSED",l.E_BAD_REQUEST="E_BAD_REQUEST",l.E_INTERNAL_ERROR="E_INTERNAL_ERROR"})(n=e.ResponseStatus||(e.ResponseStatus={}));let i;(function(l){l[l.OK=0]="OK",l[l.E_DIAL_ERROR=100]="E_DIAL_ERROR",l[l.E_DIAL_REFUSED=101]="E_DIAL_REFUSED",l[l.E_BAD_REQUEST=200]="E_BAD_REQUEST",l[l.E_INTERNAL_ERROR=300]="E_INTERNAL_ERROR"})(i||(i={})),function(l){l.codec=()=>Gr(i)}(n=e.ResponseStatus||(e.ResponseStatus={}));let s;(function(l){let u;l.codec=()=>(u==null&&(u=mt((f,h,d={})=>{if(d.lengthDelimited!==!1&&h.fork(),f.id!=null&&(h.uint32(10),h.bytes(f.id)),f.addrs!=null)for(let p of f.addrs)h.uint32(18),h.bytes(p);d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={addrs:[]},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.id=f.bytes();break;case 2:d.addrs.push(f.bytes());break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>pt(f,l.codec()),l.decode=f=>dt(f,l.codec())})(s=e.PeerInfo||(e.PeerInfo={}));let o;(function(l){let u;l.codec=()=>(u==null&&(u=mt((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.peer!=null&&(h.uint32(10),e.PeerInfo.codec().encode(f.peer,h)),d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.peer=e.PeerInfo.codec().decode(f,f.uint32());break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>pt(f,l.codec()),l.decode=f=>dt(f,l.codec())})(o=e.Dial||(e.Dial={}));let a;(function(l){let u;l.codec=()=>(u==null&&(u=mt((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.status!=null&&(h.uint32(8),e.ResponseStatus.codec().encode(f.status,h)),f.statusText!=null&&(h.uint32(18),h.string(f.statusText)),f.addr!=null&&(h.uint32(26),h.bytes(f.addr)),d.lengthDelimited!==!1&&h.ldelim()},(f,h)=>{let d={},p=h==null?f.len:f.pos+h;for(;f.pos<p;){let m=f.uint32();switch(m>>>3){case 1:d.status=e.ResponseStatus.codec().decode(f);break;case 2:d.statusText=f.string();break;case 3:d.addr=f.bytes();break;default:f.skipType(m&7);break}}return d})),u),l.encode=f=>pt(f,l.codec()),l.decode=f=>dt(f,l.codec())})(a=e.DialResponse||(e.DialResponse={}));let c;e.codec=()=>(c==null&&(c=mt((l,u,f={})=>{f.lengthDelimited!==!1&&u.fork(),l.type!=null&&(u.uint32(8),e.MessageType.codec().encode(l.type,u)),l.dial!=null&&(u.uint32(18),e.Dial.codec().encode(l.dial,u)),l.dialResponse!=null&&(u.uint32(26),e.DialResponse.codec().encode(l.dialResponse,u)),f.lengthDelimited!==!1&&u.ldelim()},(l,u)=>{let f={},h=u==null?l.len:l.pos+u;for(;l.pos<h;){let d=l.uint32();switch(d>>>3){case 1:f.type=e.MessageType.codec().decode(l);break;case 2:f.dial=e.Dial.codec().decode(l,l.uint32());break;case 3:f.dialResponse=e.DialResponse.codec().decode(l,l.uint32());break;default:l.skipType(d&7);break}}return f})),c),e.encode=l=>pt(l,e.codec()),e.decode=l=>dt(l,e.codec())})(G||(G={}));var lt=M("libp2p:autonat"),Ff=4,BA=5e3,PA=6e4,yc=class{constructor(t,r){this.components=t,this.started=!1,this._init=r,this.startupDelay=r.startupDelay??BA,this.refreshInterval=r.refreshInterval??PA,this._verifyExternalAddresses=this._verifyExternalAddresses.bind(this)}isStarted(){return this.started}async start(){this.started||(await this.components.registrar.handle(mc,t=>{this.handleIncomingAutonatStream(t).catch(r=>{lt.error(r)})},{maxInboundStreams:this._init.maxInboundStreams,maxOutboundStreams:this._init.maxOutboundStreams}),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.startupDelay),this.started=!0)}async stop(){await this.components.registrar.unhandle(mc),clearTimeout(this.verifyAddressTimeout),this.started=!1}async handleIncomingAutonatStream(t){let r=new Vf.TimeoutController(this._init.timeout);try{(0,Kf.setMaxListeners)?.(1/0,r.signal)}catch{}let n=this.components.addressManager.getAddresses().map(i=>i.toOptions().host);try{let i=ye(t.stream,r.signal),s=this;await Xt(i,Ne(),async function*(o){let a=await he(o);if(a==null){lt("No message received"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"No message was sent"}});return}let c;try{c=G.decode(a)}catch(m){lt.error("Could not decode message",m),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"Could not decode message"}});return}let l=c.dial;if(l==null){lt.error("Dial was missing from message"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"No Dial message found in message"}});return}let u,f=l.peer;if(f==null||f.id==null){lt.error("PeerId missing from message"),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"missing peer info"}});return}try{u=qr(f.id)}catch(m){lt.error("Invalid PeerId",m),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"bad peer id"}});return}if(lt("Incoming request from %p",u),!t.connection.remotePeer.equals(u)){lt("Target peer %p did not equal sending peer %p",u,t.connection.remotePeer),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_BAD_REQUEST,statusText:"peer id mismatch"}});return}let h=f.addrs.map(m=>St(m)).filter(m=>{let y=m.toOptions().host===t.connection.remoteAddr.toOptions().host;return lt.trace("Request to dial %s was sent from %s is same host %s",m,t.connection.remoteAddr,y),y}).filter(m=>{let y=m.toOptions().host,g=!(Yn(y)??!1);return lt.trace("Host %s was public %s",y,g),g}).filter(m=>{let y=m.toOptions().host,g=!n.includes(y);return lt.trace("Host %s was not our host %s",y,g),g}).filter(m=>{let y=!!s.components.transportManager.transportForMultiaddr(m);return lt.trace("Transport for %s is supported %s",m,y),y}).map(m=>(m.getPeerId()==null&&(m=m.encapsulate(`/p2p/${u.toString()}`)),m));if(h.length===0){lt("No valid multiaddrs for %p in message",u),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_DIAL_REFUSED,statusText:"no dialable addresses"}});return}lt("Dial multiaddrs %s for peer %p",h.map(m=>m.toString()).join(", "),u);let d="",p=h[0];for await(let m of h){let y;p=m;try{if(y=await s.components.dialer.dial(m,{signal:r.signal}),!y.remoteAddr.equals(m))throw lt.error("Tried to dial %s but dialed %s",m,y.remoteAddr),new Error("Unexpected remote address");lt("Success %p",u),yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.OK,addr:y.remoteAddr.decapsulateCode(j("p2p").code).bytes}});return}catch(g){lt("Could not dial %p",u,g),d=g.message}finally{y!=null&&await y.close()}}yield G.encode({type:G.MessageType.DIAL_RESPONSE,dialResponse:{status:G.ResponseStatus.E_DIAL_ERROR,statusText:d,addr:p.bytes}})},We(),t.stream)}finally{r.clear()}}_verifyExternalAddresses(){this.verifyExternalAddresses().catch(t=>{lt.error(t)})}async verifyExternalAddresses(){if(clearTimeout(this.verifyAddressTimeout),!this.isStarted())return;let t=this.components.addressManager,r=t.getObservedAddrs().filter(s=>{let o=s.toOptions();return!(Yn(o.host)??!1)});if(r.length===0){lt("No public addresses found, not requesting verification"),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval);return}let n=new Vf.TimeoutController(this._init.timeout);try{(0,Kf.setMaxListeners)?.(1/0,n.signal)}catch{}let i=this;try{lt("verify multiaddrs %s",r.map(f=>f.toString()).join(", "));let s=G.encode({type:G.MessageType.DIAL,dial:{peer:{id:this.components.peerId.toBytes(),addrs:r.map(f=>f.bytes)}}}),a=(await dc()).toBytes(),c={},l=[];async function u(f){try{lt("Asking %p to verify multiaddr",f.id);let h=await i.components.connectionManager.openConnection(f.id,{signal:n.signal}),d=await h.newStream(mc,{signal:n.signal}),p=ye(d,n.signal),m=await Xt([s],We(),p,Ne(),async g=>await he(g));if(m==null){lt("No response received from %s",h.remotePeer);return}let y=G.decode(m);if(y.type!==G.MessageType.DIAL_RESPONSE||y.dialResponse==null){lt("Invalid autonat response from %s",h.remotePeer);return}if(y.dialResponse.status===G.ResponseStatus.OK){let g=h.remoteAddr.toOptions(),x;if(g.family===4)x=g.host.split(".")[0];else if(g.family===6)x=g.host.split(":")[0];else{lt('Remote address "%s" was not IP4 or IP6?',g.host);return}if(l.includes(x)){lt("Already have response from network segment %d - %s",x,g.host);return}l.push(x)}return y.dialResponse}catch(h){lt.error(h)}}for await(let f of Uf(Ji(this.components.peerRouting.getClosestPeers(a,{signal:n.signal}),h=>async()=>await u(h)),{concurrency:Ff}))try{if(f==null)continue;let h=f.addr==null?r[0]:St(f.addr);if(lt("Autonat response for %s is %s",h,f.status),f.status===G.ResponseStatus.E_BAD_REQUEST||f.status===G.ResponseStatus.E_DIAL_REFUSED||f.addr==null&&r.length>1)continue;if(!r.some(p=>p.equals(h))){lt("Peer reported %s as %s but it was not in our observed address list",h,f.status);continue}let d=h.toString();if(c[d]==null&&(c[d]={success:0,failure:0}),f.status===G.ResponseStatus.OK?c[d].success++:f.status===G.ResponseStatus.E_DIAL_ERROR&&c[d].failure++,c[d].success===Ff){lt("%s is externally dialable",h),t.confirmObservedAddr(h);return}if(c[d].failure===Ff){lt("%s is not externally dialable",h),t.removeObservedAddr(h);return}}catch(h){lt.error("Could not verify external address",h)}}finally{n.clear(),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval)}}};var gc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>Er(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>Er(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>Er(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>Er(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>Er(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>Er(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw new w("peerId not set","ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw new w("addressManager not set","ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw new w("peerStore not set","ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw new w("upgrader not set","ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw new w("registrar not set","ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw new w("connectionManager not set","ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw new w("transportManager not set","ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw new w("connectionGater not set","ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw new w("contentRouting not set","ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw new w("peerRouting not set","ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw new w("datastore not set","ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw new w("dialer not set","ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var $f=N(Cc(),1),zf=N(Lw(),1);var Bw=globalThis.fetch,Pw=globalThis.Headers,s5=globalThis.Request,o5=globalThis.Response;function wc(e,t,r){return`${e}?name=${t}&type=${r}`}async function Nw(e,t){return await(await Bw(e,{headers:new Pw({accept:"application/dns-json"}),signal:t})).json()}function Xn(e,t){return`${t}_${e}`}var qf=Object.assign((0,$f.default)("dns-over-http-resolver"),{error:(0,$f.default)("dns-over-http-resolver:error")}),Hf=class{constructor(t={}){this._cache=new zf.default({max:t?.maxCache??100}),this._TXTcache=new zf.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??Nw,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let r=t.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=t[r];t[r]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,r="A"){switch(r){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${r} is not supported`)}}async resolve4(t){let r="A",n=this._cache.get(Xn(t,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(wc(s,t,r),o.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(Xn(t,r),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),qf.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}async resolve6(t){let r="AAAA",n=this._cache.get(Xn(t,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(wc(s,t,r),o.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(Xn(t,r),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),qf.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}async resolveTxt(t){let r="TXT",n=this._TXTcache.get(Xn(t,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(wc(s,t,r),o.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),l=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(Xn(t,r),c,{ttl:l}),c}catch{o.signal.aborted&&(i=!0),qf.error(`${s} could not resolve ${t} 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 ${t} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},kw=Hf;var Ow=kw;var{code:UA}=j("dnsaddr");async function Mw(e,t={}){let r=new Ow;t.signal!=null&&t.signal.addEventListener("abort",()=>{r.cancel()});let n=e.getPeerId(),[,i]=e.stringTuples().find(([a])=>a===UA)??[];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 Gf(e){try{let{address:t}=e.nodeAddress();return!!Yn(t)}catch{return!0}}function Ec(e,t){let r=Gf(e.multiaddr),n=Gf(t.multiaddr);return r&&!n?1:!r&&n||e.isCertified&&!t.isCertified?-1:!e.isCertified&&t.isCertified?1:0}var VA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:e=>e},connectionManager:{maxConnections:300,minConnections:50,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:Mw},addressSorter:Ec},connectionGater:{},transportManager:{faultTolerance:an.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},identify:{protocolPrefix:"ipfs",host:{agentVersion:df},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1,maxObservedAddresses:10},ping:{protocolPrefix:"ipfs",maxInboundStreams:2,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},autonat:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:3e4,startupDelay:5e3,refreshInterval:6e4}};function Uw(e){let t=Te(VA,e);if(t.transports==null||t.transports.length<1)throw new w(W.ERR_TRANSPORTS_REQUIRED,S.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw new w(W.CONN_ENCRYPTION_REQUIRED,S.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new w(W.ERR_PROTECTOR_REQUIRED,S.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===df&&(Xg||Wg?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(zs||Zg||Qg||Jg)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var Fw=Symbol.for("@libp2p/peer-discovery");var xc=class extends Nt{get[Fw](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}get lan(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}get(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}findProviders(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}findPeer(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}getClosestPeers(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}provide(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}put(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}async getMode(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}async setMode(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}async refreshRoutingTable(){throw new w(W.DHT_DISABLED,S.DHT_DISABLED)}};var vc=class extends Nt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}get multicodecs(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}getPeers(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}getTopics(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}subscribe(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}unsubscribe(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}getSubscribers(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}async publish(){throw new w(W.PUBSUB_DISABLED,S.ERR_PUBSUB_DISABLED)}};var r1=N(br(),1),jf=N(Zf(),1),n1=N(er(),1);var jw=N(Zf(),1),t1=N(Zw(),1),Jf=N(er(),1);var Jw=M("libp2p:dialer:dial-request"),bc=class{constructor(t){let{addrs:r,dialAction:n,dialer:i}=t;this.addrs=r,this.dialer=i,this.dialAction=n}async run(t={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw new w("No dial tokens available",S.ERR_NO_DIAL_TOKENS);let n=new t1.default;for(let a of r)n.push(a).catch(c=>{Jw.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,Jf.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,Jf.setMaxListeners)?.(1/0,t.signal)}catch{}let s=0,o=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let l=await n.shift();if(o)throw this.dialer.releaseToken(r.splice(r.indexOf(l),1)[0]),new w("dialAction already succeeded",S.ERR_ALREADY_SUCCEEDED);let u=i[c];if(u==null)throw new w("dialAction did not come with an AbortController",S.ERR_INVALID_PARAMETERS);let f;try{let h=u.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,jw.anySignal)([h,t.signal]):h}),i[c]=void 0}finally{s++,this.addrs.length-s>=r.length?n.push(l).catch(h=>{Jw.error(h)}):this.dialer.releaseToken(r.splice(r.indexOf(l),1)[0])}if(f==null)throw new w("dialAction led to empty object",S.ERR_TRANSPORT_DIAL_FAILED);return o=!0,f}))}catch(a){throw this.addrs.length===1&&a.name==="AggregateError"?a.errors[0]:a}finally{i.forEach(a=>{a!==void 0&&a.abort()}),r.forEach(a=>{this.dialer.releaseToken(a)})}}};var ge=M("libp2p:dialer"),_c=class{constructor(t,r={}){this.started=!1,this.addressSorter=r.addressSorter??Ec,this.maxAddrsToDial=r.maxAddrsToDial??25,this.timeout=r.dialTimeout??3e4,this.maxDialsPerPeer=r.maxDialsPerPeer??4,this.tokens=[...new Array(r.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=Ds({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=Ds({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(r.resolvers??{}))dl.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(r){ge.error(r)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,r={}){let n=ko(t);if(n.peerId!=null){if(this.components.peerId.equals(n.peerId))throw new w("Tried to dial self",S.ERR_DIALED_SELF);if(n.multiaddrs.length>0&&(ge("storing multiaddrs %p",n.peerId,n.multiaddrs),await this.components.peerStore.addressBook.add(n.peerId,n.multiaddrs)),await this.components.connectionGater.denyDialPeer?.(n.peerId)===!0)throw new w("The dial request is blocked by gater.allowDialPeer",S.ERR_PEER_DIAL_INTERCEPTED)}return ge("creating dial target for %p",n.peerId),await this.createDialTarget(n,r)}async createDialTarget(t,r={}){let n=new AbortController,i=e1();this.pendingDialTargets.set(i,n);let s=n.signal;r.signal!=null&&(s=(0,jf.anySignal)([s,r.signal]));let o;try{o=await this._createDialTarget(t,{...r,signal:s})}finally{this.pendingDialTargets.delete(i)}if(o.addrs.length===0)throw new w("The dial request has no valid addresses",S.ERR_NO_VALID_ADDRESSES);let a=this.pendingDials.get(o.id)??this._createPendingDial(o,r);try{let c=await a.promise;return ge("dial succeeded to %s",o.id),c}catch(c){if(ge("dial failed to %s",o.id,c),a.controller.signal.aborted){let l=new w(c.message,S.ERR_TIMEOUT);throw ge.error(l),l}throw ge.error(c),c}finally{a.destroy()}}getPendingDialTargets(){return this.pendingDialTargets}hasPendingDial(t){return Fe(t)?this.pendingDials.has(t.getPeerId()??""):this.pendingDials.has(t.toString())}async _createDialTarget(t,r){let n=[...t.multiaddrs];t.peerId!=null&&t.multiaddrs.length===0&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async c=>await this._resolve(c,r)))).flat();let i=n.filter(c=>!!this.components.transportManager.transportForMultiaddr(c)),o=[...new Set(i.map(c=>c.toString()))].map(c=>St(c));if(o.length>this.maxAddrsToDial)throw ge("addresses after filtering",o.map(c=>c.toString())),new w("dial with more addresses than allowed",S.ERR_TOO_MANY_ADDRESSES);o.length===0&&(ge("addresses before filtering",n.map(c=>c.toString())),ge("addresses after filtering",o.map(c=>c.toString())));let a=hi(t.peerId)?t.peerId:void 0;if(a!=null){let c=`/p2p/${a.toString()}`;o=o.map(l=>{let u=l.getPeerId();return l.protos().pop()?.path===!0?l:u==null?l.encapsulate(c):l})}return{id:a==null?e1():a.toString(),addrs:o}}async _loadAddresses(t){let r=await this.components.peerStore.addressBook.get(t);return(await Promise.all(r.map(async n=>await this.components.connectionGater.denyDialMultiaddr?.(t,n.multiaddr)===!0?!1:n))).filter(zA).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,r={}){let n=async(l,u={})=>{if(u.signal?.aborted===!0)throw new w("already aborted",S.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(l,u).catch(f=>{throw ge.error("dial to %s failed",l,f),f})},i=new bc({addrs:t.addrs,dialAction:n,dialer:this}),s=new r1.TimeoutController(this.timeout),o=[s.signal];r.signal!=null&&o.push(r.signal);let a=(0,jf.anySignal)(o);try{(0,n1.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...r,signal:a}),destroy:()=>{s.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let r=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return ge("%d tokens request, returning %d, %d remaining",t,r,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(ge("token %d released",t),this.tokens.push(t))}async _resolve(t,r){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,r);return(await Promise.all(i.map(async a=>await this._resolve(a,r)))).flat().reduce((a,c)=>(a.find(l=>l.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,r){try{return t=St(t.toString()),await t.resolve(r)}catch(n){return ge.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function zA(e){return!!e}function e1(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var yr=M("libp2p"),th=class extends Nt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let r=this.components=new gc({peerId:t.peerId,datastore:t.datastore??new go,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),...t.connectionGater}});r.peerStore=new fc(r,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[r],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",o=>{let{detail:a}=o;this.dispatchEvent(new $("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(r)),this.components.upgrader=new Na(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(o=>this.configureComponent(o(this.components))),muxers:(t.streamMuxers??[]).map(o=>this.configureComponent(o(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new _c(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new Mo(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",o=>{this.dispatchEvent(new $("peer:disconnect",{detail:o.detail}))}),this.components.connectionManager.addEventListener("peer:connect",o=>{this.dispatchEvent(new $("peer:connect",{detail:o.detail}))}),this.registrar=this.components.registrar=new Pa(this.components),this.components.transportManager=new Aa(this.components,t.transportManager),this.components.addressManager=new Io(this.components,t.addresses),this.configureComponent(new $a(this.components));let n=Vn.generateOptions();this.keychain=this.configureComponent(new Vn(this.components,{...n,...t.keychain})),this.services.push(new qa(this.components,t.nat)),this.identifyService=new Ki(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new xc,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new vc;let i=(t.peerRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&(i.push(this.configureComponent(new za(this.dht))),this.dht.addEventListener("peer",o=>{this.onDiscoveryPeer(o)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new So(this.components,{...t.peerRouting,routers:i}));let s=(t.contentRouters??[]).map(o=>this.configureComponent(o(this.components)));t.dht!=null&&s.push(this.configureComponent(new hc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new Ro(this.components,{routers:s})),this.fetchService=this.configureComponent(new Ma(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Ua(this.components,{...t.ping})),this.autonatService=this.configureComponent(new yc(this.components,{...t.autonat})),this.configureComponent(new Uo(this.components,{minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval})),t.relay!=null&&(this.circuitService=this.configureComponent(t.relay(this.components)));for(let o of t.peerDiscovery??[])this.configureComponent(o(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)});t.transports.forEach(o=>{this.components.transportManager.add(this.configureComponent(o(this.components)))})}configureComponent(t){return Er(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,yr("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(yr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async r=>{r.beforeStart!=null&&await r.beforeStart()})),await Promise.all(this.services.map(async r=>{await r.start()})),await Promise.all(this.services.map(async r=>{r.afterStart!=null&&await r.afterStart()})),yr("libp2p has started")}catch(r){throw yr.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.started&&(yr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(async t=>{await t.stop()})),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),yr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Ar;for(let r of this.components.connectionManager.getConnections())t.add(r.remotePeer);return Array.from(t)}async dial(t,r={}){return await this.components.connectionManager.openConnection(t,r)}async dialProtocol(t,r,n={}){if(r==null)throw new w("no protocols were provided to open a stream",S.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new w("no protocols were provided to open a stream",S.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){Fe(t)&&(t=at(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,r={}){if(yr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw new w("Public key was not in the peer store and the DHT is not enabled",S.ERR_NO_ROUTERS_AVAILABLE);let i=Ut([F("/pk/"),t.multihash.digest]);for await(let s of this.dht.get(i,r))if(s.name==="VALUE"){let o=Is(s.value);return await this.peerStore.keyBook.set(t,s.value),o.bytes}throw new w(`Node not responding with its public key: ${t.toString()}`,S.ERR_INVALID_RECORD)}async fetch(t,r,n={}){if(Fe(t)){let i=at(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,r,n)}async ping(t,r={}){if(Fe(t)){let n=at(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,r)}async handle(t,r,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(t,r){return await this.registrar.register(t,r)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:r}=t;if(r.id.toString()===this.peerId.toString()){yr.error(new Error(S.ERR_DISCOVERED_SELF));return}r.multiaddrs.length>0&&this.components.peerStore.addressBook.add(r.id,r.multiaddrs).catch(n=>{yr.error(n)}),r.protocols.length>0&&this.components.peerStore.protoBook.set(r.id,r.protocols).catch(n=>{yr.error(n)}),this.dispatchEvent(new $("peer:discovery",{detail:r}))}};async function i1(e){if(e.peerId==null){let t=e.datastore;if(t!=null)try{let r=new Vn({datastore:t},Te(Vn.generateOptions(),e.keychain));e.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return e.peerId==null&&(e.peerId=await dc()),new th(Uw(e))}async function HA(e){let t=await i1(e);return e.start!==!1&&await t.start(),t}return u1(GA);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/secp256k1/lib/esm/index.js:
|