libp2p 0.43.4-eb31274d → 0.44.0-0d46c78f
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 +27 -27
- package/dist/src/address-manager/index.d.ts +4 -4
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +9 -6
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +18 -16
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.js +2 -2
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +7 -3
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +3 -1
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +3 -0
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +6 -2
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts +3 -0
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +5 -4
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +3 -0
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +11 -6
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/components.d.ts +6 -63
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +60 -164
- package/dist/src/components.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +8 -0
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -0
- package/dist/src/config/connection-gater.browser.js +27 -0
- package/dist/src/config/connection-gater.browser.js.map +1 -0
- package/dist/src/config/connection-gater.d.ts +6 -0
- package/dist/src/config/connection-gater.d.ts.map +1 -0
- package/dist/src/config/connection-gater.js +18 -0
- package/dist/src/config/connection-gater.js.map +1 -0
- package/dist/src/config.d.ts +2 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +0 -62
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +3 -0
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +26 -12
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts +4 -0
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +23 -8
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +2 -1
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +21 -15
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +8 -7
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +23 -34
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +0 -10
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +7 -42
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/content-routing/utils.js +3 -1
- package/dist/src/content-routing/utils.js.map +1 -1
- package/dist/src/fetch/index.d.ts +13 -35
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +10 -12
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/index.d.ts +16 -48
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +203 -201
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +11 -67
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts.map +1 -1
- package/dist/src/insecure/index.js +3 -1
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +11 -42
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +137 -197
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -38
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +0 -59
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/constants.d.ts +4 -0
- package/dist/src/ping/constants.d.ts.map +1 -1
- package/dist/src/ping/constants.js +10 -0
- package/dist/src/ping/constants.js.map +1 -1
- package/dist/src/ping/index.d.ts +10 -27
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +18 -21
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/registrar.d.ts +5 -2
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +27 -25
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +15 -4
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +37 -12
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +15 -10
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +36 -46
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/upnp-nat/index.d.ts +42 -0
- package/dist/src/upnp-nat/index.d.ts.map +1 -0
- package/dist/src/{nat-manager.js → upnp-nat/index.js} +11 -7
- package/dist/src/upnp-nat/index.js.map +1 -0
- package/package.json +66 -50
- package/src/address-manager/index.ts +12 -8
- package/src/autonat/index.ts +18 -17
- package/src/circuit-relay/server/advert-service.ts +2 -2
- package/src/circuit-relay/server/index.ts +7 -3
- package/src/circuit-relay/transport/discovery.ts +3 -1
- package/src/circuit-relay/transport/index.ts +10 -2
- package/src/circuit-relay/transport/listener.ts +8 -4
- package/src/circuit-relay/transport/reservation-store.ts +14 -6
- package/src/components.ts +71 -234
- package/src/config/connection-gater.browser.ts +31 -0
- package/src/config/connection-gater.ts +19 -0
- package/src/config.ts +3 -64
- package/src/connection-manager/auto-dial.ts +32 -14
- package/src/connection-manager/connection-pruner.ts +28 -8
- package/src/connection-manager/dial-queue.ts +24 -22
- package/src/connection-manager/index.ts +31 -43
- package/src/content-routing/index.ts +7 -55
- package/src/content-routing/utils.ts +3 -1
- package/src/fetch/index.ts +55 -18
- package/src/identify/index.ts +238 -228
- package/src/index.ts +12 -76
- package/src/insecure/index.ts +9 -5
- package/src/libp2p.ts +139 -261
- package/src/peer-routing.ts +1 -101
- package/src/ping/constants.ts +11 -0
- package/src/ping/index.ts +32 -28
- package/src/registrar.ts +31 -27
- package/src/transport-manager.ts +49 -15
- package/src/upgrader.ts +59 -55
- package/src/{nat-manager.ts → upnp-nat/index.ts} +15 -16
- package/src/version.ts +1 -1
- package/dist/src/dht/dht-content-routing.d.ts +0 -17
- package/dist/src/dht/dht-content-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-content-routing.js +0 -32
- package/dist/src/dht/dht-content-routing.js.map +0 -1
- package/dist/src/dht/dht-peer-routing.d.ts +0 -15
- package/dist/src/dht/dht-peer-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-peer-routing.js +0 -26
- package/dist/src/dht/dht-peer-routing.js.map +0 -1
- package/dist/src/dht/dummy-dht.d.ts +0 -20
- package/dist/src/dht/dummy-dht.d.ts.map +0 -1
- package/dist/src/dht/dummy-dht.js +0 -46
- package/dist/src/dht/dummy-dht.js.map +0 -1
- package/dist/src/nat-manager.d.ts +0 -74
- package/dist/src/nat-manager.d.ts.map +0 -1
- package/dist/src/nat-manager.js.map +0 -1
- package/dist/src/peer-record-updater.d.ts +0 -24
- package/dist/src/peer-record-updater.d.ts.map +0 -1
- package/dist/src/peer-record-updater.js +0 -44
- package/dist/src/peer-record-updater.js.map +0 -1
- package/src/dht/dht-content-routing.ts +0 -44
- package/src/dht/dht-peer-routing.ts +0 -36
- package/src/dht/dummy-dht.ts +0 -60
- package/src/peer-record-updater.ts +0 -65
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 Hw=Object.create;var rs=Object.defineProperty;var Gw=Object.getOwnPropertyDescriptor;var Yw=Object.getOwnPropertyNames;var Ww=Object.getPrototypeOf,Qw=Object.prototype.hasOwnProperty;var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rt=(t,e)=>{for(var r in e)rs(t,r,{get:e[r],enumerable:!0})},th=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Yw(e))!Qw.call(t,i)&&i!==r&&rs(t,i,{get:()=>e[i],enumerable:!(n=Gw(e,i))||n.enumerable});return t};var M=(t,e,r)=>(r=t!=null?Hw(Ww(t)):{},th(e||!t||!t.__esModule?rs(r,"default",{value:t,enumerable:!0}):r,t)),Xw=t=>th(rs({},"__esModule",{value:!0}),t);var Ic=T((NA,rh)=>{var ti=1e3,ri=ti*60,ni=ri*60,En=ni*24,Zw=En*7,Jw=En*365.25;rh.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return jw(t);if(r==="number"&&isFinite(t))return e.long?t1(t):e1(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function jw(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*Jw;case"weeks":case"week":case"w":return r*Zw;case"days":case"day":case"d":return r*En;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ni;case"minutes":case"minute":case"mins":case"min":case"m":return r*ri;case"seconds":case"second":case"secs":case"sec":case"s":return r*ti;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function e1(t){var e=Math.abs(t);return e>=En?Math.round(t/En)+"d":e>=ni?Math.round(t/ni)+"h":e>=ri?Math.round(t/ri)+"m":e>=ti?Math.round(t/ti)+"s":t+"ms"}function t1(t){var e=Math.abs(t);return e>=En?ns(t,e,En,"day"):e>=ni?ns(t,e,ni,"hour"):e>=ri?ns(t,e,ri,"minute"):e>=ti?ns(t,e,ti,"second"):t+" ms"}function ns(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var ih=T((kA,nh)=>{function r1(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Ic(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,d,p;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),_=x-(f||x);g.diff=_,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let k=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,X)=>{if(D==="%%")return"%";k++;let J=r.formatters[X];if(typeof J=="function"){let Ye=y[k];D=J.call(g,Ye),y.splice(k,1),k--}return D}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==r.namespaces&&(d=r.namespaces,p=r.enabled(l)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}nh.exports=r1});var Tc=T((Et,is)=>{Et.formatArgs=i1;Et.save=o1;Et.load=s1;Et.useColors=n1;Et.storage=a1();Et.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Et.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 n1(){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 i1(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+is.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Et.log=console.debug||console.log||(()=>{});function o1(t){try{t?Et.storage.setItem("debug",t):Et.storage.removeItem("debug")}catch{}}function s1(){let t;try{t=Et.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function a1(){try{return localStorage}catch{}}is.exports=ih()(Et);var{formatters:c1}=is.exports;c1.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Lh=T((KR,Bh)=>{Bh.exports=tu;var Dh=128,xE=127,vE=~xE,bE=Math.pow(2,31);function tu(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw tu.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=bE;)e[r++]=t&255|Dh,t/=128;for(;t&vE;)e[r++]=t&255|Dh,t>>>=7;return e[r]=t|0,tu.bytes=r-n+1,e}});var kh=T((VR,Nh)=>{Nh.exports=ru;var _E=128,Ph=127;function ru(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw ru.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ph)<<i:(s&Ph)*Math.pow(2,i),i+=7}while(s>=_E);return ru.bytes=o-n,r}});var Mh=T((qR,Oh)=>{var SE=Math.pow(2,7),AE=Math.pow(2,14),RE=Math.pow(2,21),IE=Math.pow(2,28),TE=Math.pow(2,35),CE=Math.pow(2,42),DE=Math.pow(2,49),BE=Math.pow(2,56),LE=Math.pow(2,63);Oh.exports=function(t){return t<SE?1:t<AE?2:t<RE?3:t<IE?4:t<TE?5:t<CE?6:t<DE?7:t<BE?8:t<LE?9:10}});var us=T(($R,Uh)=>{Uh.exports={encode:Lh(),decode:kh(),encodingLength:Mh()}});var gs=T((vT,td)=>{"use strict";function ed(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function dx(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return ed(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),ed(new i,r)}}td.exports=dx});var od=T((LT,id)=>{"use strict";id.exports=function(){return Date.now()}});var ad=T((PT,sd)=>{"use strict";var bs=od(),gu=class{constructor(e,r,n){let i=this;this._started=bs(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(bs()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(e){e||(e=this._scheduled);let r=bs();r+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=r,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=bs(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function gx(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let t;if(arguments.length>0){t=new Array(arguments.length-2);for(var e=0;e<t.length;e++)t[e]=arguments[e+2]}return new gu(arguments[0],arguments[1],t)}sd.exports=gx});var $r=T((NT,ud)=>{"use strict";var{AbortController:wx}=globalThis,cd=ad(),eo=class extends wx{constructor(e){super(),this._ms=e,this._timer=cd(()=>this.abort(),e),Object.setPrototypeOf(this,eo.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=cd(()=>this.abort(),this._ms)}};ud.exports={TimeoutController:eo}});var hd=T((HT,fd)=>{"use strict";var di=new Map,bx=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function _x(t,e,r){for(;di.get(r);){try{await t()}catch(n){setTimeout(()=>{throw n},1);break}if(!di.get(r))break;await new Promise(n=>{let i=setTimeout(n,e);di.set(r,i)})}}function Sx(t,e,r){r=r||e;let n=bx(),i=setTimeout(()=>{_x(t,e,n)},r);return di.set(n,i),n}function Ax(t){let e=di.get(t);e&&(clearTimeout(e),di.delete(t))}fd.exports={setDelayedInterval:Sx,clearDelayedInterval:Ax}});var Ar=T((GT,Eu)=>{"use strict";var pi=typeof Reflect=="object"?Reflect:null,dd=pi&&typeof pi.apply=="function"?pi.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Ss;pi&&typeof pi.ownKeys=="function"?Ss=pi.ownKeys:Object.getOwnPropertySymbols?Ss=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Ss=function(e){return Object.getOwnPropertyNames(e)};function Rx(t){console&&console.warn&&console.warn(t)}var md=Number.isNaN||function(e){return e!==e};function he(){he.init.call(this)}Eu.exports=he;Eu.exports.once=Dx;he.EventEmitter=he;he.prototype._events=void 0;he.prototype._eventsCount=0;he.prototype._maxListeners=void 0;var pd=10;function As(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(he,"defaultMaxListeners",{enumerable:!0,get:function(){return pd},set:function(t){if(typeof t!="number"||t<0||md(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");pd=t}});he.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};he.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||md(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function yd(t){return t._maxListeners===void 0?he.defaultMaxListeners:t._maxListeners}he.prototype.getMaxListeners=function(){return yd(this)};he.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")dd(c,this,r);else for(var u=c.length,l=vd(c,u),n=0;n<u;++n)dd(l[n],this,r);return!0};function gd(t,e,r,n){var i,o,s;if(As(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=yd(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,Rx(a)}return t}he.prototype.addListener=function(e,r){return gd(this,e,r,!1)};he.prototype.on=he.prototype.addListener;he.prototype.prependListener=function(e,r){return gd(this,e,r,!0)};function Ix(){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 wd(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=Ix.bind(n);return i.listener=r,n.wrapFn=i,i}he.prototype.once=function(e,r){return As(r),this.on(e,wd(this,e,r)),this};he.prototype.prependOnceListener=function(e,r){return As(r),this.prependListener(e,wd(this,e,r)),this};he.prototype.removeListener=function(e,r){var n,i,o,s,a;if(As(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Tx(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};he.prototype.off=he.prototype.removeListener;he.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Ed(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Cx(i):vd(i,i.length)}he.prototype.listeners=function(e){return Ed(this,e,!0)};he.prototype.rawListeners=function(e){return Ed(this,e,!1)};he.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):xd.call(t,e)};he.prototype.listenerCount=xd;function xd(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}he.prototype.eventNames=function(){return this._eventsCount>0?Ss(this._events):[]};function vd(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Tx(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function Cx(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Dx(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}bd(t,e,o,{once:!0}),e!=="error"&&Bx(t,i,{once:!0})})}function Bx(t,e,r){typeof t.on=="function"&&bd(t,"error",e,r)}function bd(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var ro=T((RC,Dd)=>{Dd.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var Ld=T((TC,Bd)=>{Bd.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var Nd=T((CC,Pd)=>{var kx=Ld();Pd.exports=kx});var vt=T((BC,kd)=>{kd.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var mi=T((PC,Md)=>{var Su=ro(),Ox=Nd(),Od=vt();Md.exports=class extends Su{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new Ox}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof Su?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof Su))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new Od(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new Od(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var Kd=T((NC,Fd)=>{var Mx=mi(),Ux=vt(),Ud="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} ",Au=class extends Mx{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Ud})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new Ux;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(e,r,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?s(u):o(l));else if(a>0){let u=function(l,f){return l?s(l):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(Ud,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?s(u):o(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return r(null);r(o)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):r(o>0)})})}};Fd.exports=Au});var $d=T((kC,qd)=>{var Fx=mi(),Kx=vt();function Vd(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var no=class extends Fx{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Vd(this.client)}):(this._initCollection(),this._driverVersion=Vd(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?no.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new Kx,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),p={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(d,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};qd.exports=no});var Hd=T((OC,zd)=>{var Vx=mi(),qx=vt(),Ru=class extends Vx{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new qx,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
2
|
+
"use strict";var Libp2P=(()=>{var og=Object.create;var Ei=Object.defineProperty;var ag=Object.getOwnPropertyDescriptor;var cg=Object.getOwnPropertyNames;var ug=Object.getPrototypeOf,lg=Object.prototype.hasOwnProperty;var fg=(t,e,r)=>e in t?Ei(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ue=(t,e)=>{for(var r in e)Ei(t,r,{get:e[r],enumerable:!0})},of=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cg(e))!lg.call(t,i)&&i!==r&&Ei(t,i,{get:()=>e[i],enumerable:!(n=ag(e,i))||n.enumerable});return t};var V=(t,e,r)=>(r=t!=null?og(ug(t)):{},of(e||!t||!t.__esModule?Ei(r,"default",{value:t,enumerable:!0}):r,t)),hg=t=>of(Ei({},"__esModule",{value:!0}),t);var Oa=(t,e,r)=>(fg(t,typeof e!="symbol"?e+"":e,r),r);var Ma=I((k_,af)=>{var Sn=1e3,An=Sn*60,Rn=An*60,zr=Rn*24,dg=zr*7,pg=zr*365.25;af.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return mg(t);if(r==="number"&&isFinite(t))return e.long?gg(t):yg(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function mg(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*pg;case"weeks":case"week":case"w":return r*dg;case"days":case"day":case"d":return r*zr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Rn;case"minutes":case"minute":case"mins":case"min":case"m":return r*An;case"seconds":case"second":case"secs":case"sec":case"s":return r*Sn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function yg(t){var e=Math.abs(t);return e>=zr?Math.round(t/zr)+"d":e>=Rn?Math.round(t/Rn)+"h":e>=An?Math.round(t/An)+"m":e>=Sn?Math.round(t/Sn)+"s":t+"ms"}function gg(t){var e=Math.abs(t);return e>=zr?Is(t,e,zr,"day"):e>=Rn?Is(t,e,Rn,"hour"):e>=An?Is(t,e,An,"minute"):e>=Sn?Is(t,e,Sn,"second"):t+" ms"}function Is(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var uf=I((O_,cf)=>{function wg(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Ma(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,d,p;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),_=x-(f||x);g.diff=_,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let N=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(T,H)=>{if(T==="%%")return"%";N++;let W=r.formatters[H];if(typeof W=="function"){let De=y[N];T=W.call(g,De),y.splice(N,1),N--}return T}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==r.namespaces&&(d=r.namespaces,p=r.enabled(l)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}cf.exports=wg});var Fa=I((tt,Cs)=>{tt.formatArgs=vg;tt.save=Eg;tt.load=bg;tt.useColors=xg;tt.storage=_g();tt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();tt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function xg(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function vg(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Cs.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}tt.log=console.debug||console.log||(()=>{});function Eg(t){try{t?tt.storage.setItem("debug",t):tt.storage.removeItem("debug")}catch{}}function bg(){let t;try{t=tt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function _g(){try{return localStorage}catch{}}Cs.exports=uf()(tt);var{formatters:Sg}=Cs.exports;Sg.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Mf=I((KS,Of)=>{Of.exports=hc;var kf=128,O1=127,M1=~O1,F1=Math.pow(2,31);function hc(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw hc.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=F1;)e[r++]=t&255|kf,t/=128;for(;t&M1;)e[r++]=t&255|kf,t>>>=7;return e[r]=t|0,hc.bytes=r-n+1,e}});var Kf=I((VS,Uf)=>{Uf.exports=dc;var U1=128,Ff=127;function dc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw dc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Ff)<<i:(o&Ff)*Math.pow(2,i),i+=7}while(o>=U1);return dc.bytes=s-n,r}});var qf=I((qS,Vf)=>{var K1=Math.pow(2,7),V1=Math.pow(2,14),q1=Math.pow(2,21),$1=Math.pow(2,28),z1=Math.pow(2,35),H1=Math.pow(2,42),G1=Math.pow(2,49),Y1=Math.pow(2,56),W1=Math.pow(2,63);Vf.exports=function(t){return t<K1?1:t<V1?2:t<q1?3:t<$1?4:t<z1?5:t<H1?6:t<G1?7:t<Y1?8:t<W1?9:10}});var Ds=I(($S,$f)=>{$f.exports={encode:Mf(),decode:Kf(),encodingLength:qf()}});var Ic=I((bR,s0)=>{"use strict";function i0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Tw(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return i0(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),i0(new i,r)}}s0.exports=Tw});var Di=I((xI,p0)=>{p0.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var y0=I((EI,m0)=>{m0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var w0=I((bI,g0)=>{var Hw=y0();g0.exports=Hw});var nt=I((SI,x0)=>{x0.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var Un=I((RI,E0)=>{var Dc=Di(),Gw=w0(),v0=nt();E0.exports=class extends Dc{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new Gw}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof Dc?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof Dc))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new v0(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new v0(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var S0=I((II,_0)=>{var Yw=Un(),Ww=nt(),b0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Nc=class extends Yw{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:b0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new Ww;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(b0,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};_0.exports=Nc});var I0=I((CI,R0)=>{var Qw=Un(),Xw=nt();function A0(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Ni=class extends Qw{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=A0(this.client)}):(this._initCollection(),this._driverVersion=A0(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?Ni.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new Xw,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),p={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};R0.exports=Ni});var T0=I((TI,C0)=>{var Zw=Un(),jw=nt(),kc=class extends Zw{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new jw,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
3
3
|
ON DUPLICATE KEY UPDATE
|
|
4
4
|
points = ?,
|
|
5
5
|
expire = ?;`,h=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
6
6
|
ON DUPLICATE KEY UPDATE
|
|
7
7
|
points = IF(expire <= ?, ?, points + (?)),
|
|
8
|
-
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,d=>{if(d)return e.rollback(),a(d);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return e.rollback(),a(p);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);
|
|
8
|
+
expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,d=>{if(d)return e.rollback(),a(d);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return e.rollback(),a(p);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};C0.exports=kc});var P0=I((BI,B0)=>{var Jw=Un(),ex=nt(),Oc=class extends Jw{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?typeof r=="function"&&r():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
|
|
9
9
|
key varchar(255) PRIMARY KEY,
|
|
10
10
|
points integer NOT NULL DEFAULT 0,
|
|
11
11
|
expire bigint
|
|
12
|
-
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new
|
|
12
|
+
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new ex,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
|
|
13
13
|
WHEN ${this.tableName}.expire <= $4 THEN $3
|
|
14
14
|
ELSE ${this.tableName}.expire
|
|
15
15
|
END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
|
|
@@ -19,34 +19,34 @@
|
|
|
19
19
|
WHEN (${this.tableName}.expire <= $4 OR 1=${i?1:0}) THEN $2
|
|
20
20
|
ELSE ${this.tableName}.points + ($2)
|
|
21
21
|
END,
|
|
22
|
-
expire = ${
|
|
23
|
-
RETURNING points, expire;`,values:[e,r,
|
|
24
|
-
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Gd.exports=Iu});var Wd=T(()=>{});var Tn=T(()=>{});var Xd=T(($C,Qd)=>{Qd.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Jd=T((HC,Zd)=>{var Hx=Xd(),Tu=vt();Zd.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new Tu(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new Hx(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Tu(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Tu(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Du=T((GC,e0)=>{var Gx=ro(),Yx=Jd(),jd=vt(),Cu=class extends Gx{constructor(e={}){super(e),this._memoryStorage=new Yx}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,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(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new jd(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new jd(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};e0.exports=Cu});var a0=T((YC,s0)=>{var t0=Wd(),Wx=Tn(),Qx=ro(),n0=Du(),Xx=vt(),Tt="rate_limiter_flexible",wi=null,r0=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Tt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},i0=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&i0.call(this,t)},30)},yi=function(t,e,r,n,i){let o={channel:Tt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):i0.call(this,o)},o0=function(t,e){if(!e||e.channel!==Tt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{r0(t,e,"resolve",n)}).catch(n=>{r0(t,e,"reject",n)})},Zx=function(t){if(!t||t.channel!==Tt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new Xx(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},Jx=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},gi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Wx.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Bu=class{constructor(){if(wi)return wi;this._rateLimiters={},t0.setMaxListeners(0),t0.on("message",(e,r)=>{r&&r.channel===Tt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new n0(r.opts)),e.send({channel:Tt,type:"init",keyPrefix:r.opts.keyPrefix})):o0.call(this,e,r)}),wi=this}},Lu=class{constructor(e){if(wi)return wi;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Tt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new n0(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Tt,channel:Tt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Tt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};o0.call(this,s,o)}})}),wi=this}},Pu=class extends Qx{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Tt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:Zx.call(this,r)}),process.send({channel:Tt,type:"init",opts:Jx.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=gi.call(this,i,o);yi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=gi.call(this,i,o);yi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=gi.call(this,i,o);yi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=gi.call(this,i,o);yi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=gi.call(this,n,i);yi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=gi.call(this,n,i);yi.call(this,"delete",o,e,r)})}};s0.exports={RateLimiterClusterMaster:Bu,RateLimiterClusterMasterPM2:Lu,RateLimiterCluster:Pu}});var u0=T((WC,c0)=>{var jx=mi(),ev=vt(),Nu=class extends jx{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,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(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,d)=>{if(h||!d)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let p=Object.assign({},o);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(e,r,n,i,p).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(p)})}):this.client.get(`${e}_expire`,(h,d)=>{if(h)a(h);else{let p=d===!1?0:d,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};s(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};c0.exports=Nu});var h0=T((XC,f0)=>{var l0=vt();f0.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new l0(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new l0(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var p0=T((JC,d0)=>{var tv=ro();d0.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof tv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var y0=T((e4,m0)=>{m0.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var x0=T((r4,E0)=>{var g0=y0(),w0=4294967295,ku="limiter";E0.exports=class{constructor(e,r={maxQueueSize:w0}){this._queueLimiters={KEY_DEFAULT:new Ds(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=ku){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=ku){return this._queueLimiters[r]||(this._queueLimiters[r]=new Ds(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Ds=class{constructor(e,r={maxQueueSize:w0,key:ku}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new g0(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new g0(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var b0=T((i4,v0)=>{var Ou=vt();v0.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Ou(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Ou?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Ou?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var S0=T((o4,_0)=>{var rv=Kd(),nv=$d(),iv=Hd(),ov=Yd(),{RateLimiterClusterMaster:sv,RateLimiterClusterMasterPM2:av,RateLimiterCluster:cv}=a0(),uv=Du(),lv=u0(),fv=h0(),hv=p0(),dv=x0(),pv=b0(),mv=vt();_0.exports={RateLimiterRedis:rv,RateLimiterMongo:nv,RateLimiterMySQL:iv,RateLimiterPostgres:ov,RateLimiterMemory:uv,RateLimiterMemcache:lv,RateLimiterClusterMaster:sv,RateLimiterClusterMasterPM2:av,RateLimiterCluster:cv,RLWrapperBlackAndWhite:fv,RateLimiterUnion:hv,RateLimiterQueue:dv,BurstyRateLimiter:pv,RateLimiterRes:mv}});var R0=T((I4,Mu)=>{"use strict";var gv=Object.prototype.hasOwnProperty,ct="~";function io(){}Object.create&&(io.prototype=Object.create(null),new io().__proto__||(ct=!1));function wv(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function A0(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new wv(r,n||t,i),s=ct?ct+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function Ls(t,e){--t._eventsCount===0?t._events=new io:delete t._events[e]}function ot(){this._events=new io,this._eventsCount=0}ot.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)gv.call(r,n)&&e.push(ct?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};ot.prototype.listeners=function(e){var r=ct?ct+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};ot.prototype.listenerCount=function(e){var r=ct?ct+e:e,n=this._events[r];return n?n.fn?1:n.length:0};ot.prototype.emit=function(e,r,n,i,o,s){var a=ct?ct+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c[f].fn.apply(c[f].context,l)}}return!0};ot.prototype.on=function(e,r,n){return A0(this,e,r,n,!1)};ot.prototype.once=function(e,r,n){return A0(this,e,r,n,!0)};ot.prototype.removeListener=function(e,r,n,i){var o=ct?ct+e:e;if(!this._events[o])return this;if(!r)return Ls(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ls(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Ls(this,o)}return this};ot.prototype.removeAllListeners=function(e){var r;return e?(r=ct?ct+e:e,this._events[r]&&Ls(this,r)):(this._events=new io,this._eventsCount=0),this};ot.prototype.off=ot.prototype.removeListener;ot.prototype.addListener=ot.prototype.on;ot.prefixed=ct;ot.EventEmitter=ot;typeof Mu<"u"&&(Mu.exports=ot)});var O0=T(ho=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[u,l,f,h].join(".")},s=function(c){var u,l,f,h,d,p;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=e(c),d=p[0],l=p[1],c=c.substring(l),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,l,f,h,d;for(h=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===d)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,d,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=s(this.first),f=s(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ho.ip2long=s,ho.long2ip=a,ho.Netmask=t}).call(ho)});var K0=T((F0,zs)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"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 k=d.split(":"),C=[];for(let D=0;D<k.length;D++)C.push(parseInt(k[D],16));return C}(),{parts:p,zoneId:g}}function u(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),d[g]>>x!==p[g]>>x)return!1;y-=m,g+=1}return!0}function l(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function f(d,p){for(;d.length<p;)d=`0${d}`;return d}let h={};h.IPv4=function(){function d(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,_;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(_=y[x],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let p,m,y,g,x;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),x=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){let p=this.parser(d);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},h.IPv4.parseCIDR=function(d){let p;if(p=d.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let p,m,y;if(p=d.match(r.fourOctet))return function(){let g=p.slice(1,6),x=[];for(let _=0;_<g.length;_++)m=g[_],x.push(l(m));return x}();if(p=d.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(p=d.match(r.twoOctet))?function(){let g=p.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(p=d.match(r.threeOctet))?function(){let g=p.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.IPv6=function(){function d(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),p+=x}else return null;return 128-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},d.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},d.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=p.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let p=this.parser(d);return new this(p.parts,p.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(d){let p,m,y,g,x;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),x=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},h.IPv6.parse=function(d){let p=this.parser(d);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},h.IPv6.parseCIDR=function(d){let p,m,y;if((m=d.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let p,m,y,g,x,_;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return p.parts.push(x[0]<<8|x[1]),p.parts.push(x[2]<<8|x[3]),{parts:p.parts,zoneId:p.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.fromByteArray=function(d){let p=d.length;if(p===4)return new h.IPv4(d);if(p===16)return new h.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(d){return h.IPv6.isValid(d)||h.IPv4.isValid(d)},h.parse=function(d){if(h.IPv6.isValid(d))return h.IPv6.parse(d);if(h.IPv4.isValid(d))return h.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(d){try{return h.IPv6.parseCIDR(d)}catch{try{return h.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(d){let p=this.parse(d);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},h.subnetMatch=function(d,p,m){let y,g,x,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(x=p[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(_=x[y],d.kind()===_[0].kind()&&d.match.apply(d,_))return g}return m},typeof zs<"u"&&zs.exports?zs.exports=h:t.ipaddr=h})(F0)});var Y0=T((J4,G0)=>{"use strict";G0.exports=H0;var Tv=Ic(),Zr=H0.prototype,Cv=new Date%1e9;function Dv(){return(Math.random()*1e9>>>0)+Cv++}function H0(t){t=t||{},this.id=t.id||Dv(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Zr.has=function(t){return t in this._lookup};Zr.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Zr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Zr.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Zr.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Zr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Tv(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Zr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Zr.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var sp=T((Y8,op)=>{"use strict";function Fv(t){return t>=55296&&t<=56319}function Kv(t){return t>=56320&&t<=57343}op.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],Fv(s)&&Kv(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var cp=T((W8,ap)=>{"use strict";function Vv(t){return t>=55296&&t<=56319}function qv(t){return t>=56320&&t<=57343}ap.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),qv(i)?o!=null&&Vv(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var lp=T((Q8,up)=>{"use strict";var $v=sp(),zv=cp();up.exports=$v.bind(null,zv)});var dp=T((X8,hp)=>{"use strict";var Hv=lp(),Gv=/[\/\?<>\\:\*\|"]/g,Yv=/[\x00-\x1f\x80-\x9f]/g,Wv=/^\.+$/,Qv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Xv=/[\. ]+$/;function fp(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Gv,e).replace(Yv,e).replace(Wv,e).replace(Qv,e).replace(Xv,e);return Hv(r,255)}hp.exports=function(t,e){var r=e&&e.replacement||"",n=fp(t,r);return r===""?n:fp(n,"")}});var mp=T((Z8,pp)=>{"use strict";pp.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var vp=T((Ep,xp)=>{"use strict";var Xs=mp(),{hasOwnProperty:gp}=Object.prototype,{propertyIsEnumerable:Zv}=Object,_i=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Jv=Ep,yp={concatArrays:!1,ignoreUndefined:!1},Zs=t=>{let e=[];for(let r in t)gp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)Zv.call(t,n)&&e.push(n)}return e};function Si(t){return Array.isArray(t)?jv(t):Xs(t)?e2(t):t}function jv(t){let e=t.slice(0,0);return Zs(t).forEach(r=>{_i(e,r,Si(t[r]))}),e}function e2(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Zs(t).forEach(r=>{_i(e,r,Si(t[r]))}),e}var wp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?_i(t,i,ol(t[i],e[i],n)):_i(t,i,Si(e[i])))}),t),t2=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)gp.call(o,a)&&(s.push(String(a)),o===t?_i(n,i++,o[a]):_i(n,i++,Si(o[a])));n=wp(n,o,Zs(o).filter(a=>!s.includes(a)),r)}),n};function ol(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?t2(t,e,r):!Xs(e)||!Xs(t)?Si(e):wp(t,e,Zs(e),r)}xp.exports=function(...t){let e=ol(Si(yp),this!==Jv&&this||{},yp),r={_:{}};for(let n of t)if(n!==void 0){if(!Xs(n))throw new TypeError("`"+n+"` is not an Option Object");r=ol(r,{_:n},e)}return r._}});var Sp=T((eD,_p)=>{"use strict";_p.exports=r2;function r2(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var Tp=T(Ip=>{"use strict";var Js=Ip;Js.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Ai=new Array(64),Rp=new Array(123);for($t=0;$t<64;)Rp[Ai[$t]=$t<26?$t+65:$t<52?$t+71:$t<62?$t-4:$t-59|43]=$t++;var $t;Js.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=Ai[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=Ai[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=Ai[c|u>>6],o[s++]=Ai[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=Ai[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Ap="invalid encoding";Js.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=Rp[c])===void 0)throw Error(Ap);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Ap);return n-i};Js.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Dp=T((rD,Cp)=>{"use strict";Cp.exports=js;function js(){this._listeners={}}js.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};js.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};js.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var Mp=T((nD,Op)=>{"use strict";Op.exports=Bp(Bp);function Bp(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function o(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,Lp),t.writeFloatBE=e.bind(null,Pp);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,Np),t.readFloatBE=r.bind(null,kp)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function o(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),l=s*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,Lp,0,4),t.writeDoubleBE=e.bind(null,Pp,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,Np,0,4),t.readDoubleBE=r.bind(null,kp,4,0)}(),t}function Lp(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Pp(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Np(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function kp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Up=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(t){}return null}});var Kp=T(Fp=>{"use strict";var sl=Fp;sl.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};sl.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};sl.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var qp=T((oD,Vp)=>{"use strict";Vp.exports=n2;function n2(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var zp=T((sD,$p)=>{"use strict";$p.exports=Ze;var mo=Pn();function Ze(t,e){this.lo=t>>>0,this.hi=e>>>0}var Ln=Ze.zero=new Ze(0,0);Ln.toNumber=function(){return 0};Ln.zzEncode=Ln.zzDecode=function(){return this};Ln.length=function(){return 1};var i2=Ze.zeroHash="\0\0\0\0\0\0\0\0";Ze.fromNumber=function(e){if(e===0)return Ln;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ze(n,i)};Ze.from=function(e){if(typeof e=="number")return Ze.fromNumber(e);if(mo.isString(e))if(mo.Long)e=mo.Long.fromString(e);else return Ze.fromNumber(parseInt(e,10));return e.low||e.high?new Ze(e.low>>>0,e.high>>>0):Ln};Ze.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ze.prototype.toLong=function(e){return mo.Long?new mo.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var jr=String.prototype.charCodeAt;Ze.fromHash=function(e){return e===i2?Ln:new Ze((jr.call(e,0)|jr.call(e,1)<<8|jr.call(e,2)<<16|jr.call(e,3)<<24)>>>0,(jr.call(e,4)|jr.call(e,5)<<8|jr.call(e,6)<<16|jr.call(e,7)<<24)>>>0)};Ze.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)};Ze.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Ze.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Ze.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Pn=T(al=>{"use strict";var O=al;O.asPromise=Sp();O.base64=Tp();O.EventEmitter=Dp();O.float=Mp();O.inquire=Up();O.utf8=Kp();O.pool=qp();O.LongBits=zp();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||al;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function Hp(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=Hp;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Gp(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Hp(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=Gp;O.ProtocolError=Gp("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var ll=T((cD,Zp)=>{"use strict";Zp.exports=Ke;var nr=Pn(),ul,Qp=nr.LongBits,o2=nr.utf8;function zt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Ke(t){this.buf=t,this.pos=0,this.len=t.length}var Yp=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Ke(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Ke(e);throw Error("illegal buffer")},Xp=function(){return nr.Buffer?function(r){return(Ke.create=function(i){return nr.Buffer.isBuffer(i)?new ul(i):Yp(i)})(r)}:Yp};Ke.create=Xp();Ke.prototype._slice=nr.Array.prototype.subarray||nr.Array.prototype.slice;Ke.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,zt(this,10);return e}}();Ke.prototype.int32=function(){return this.uint32()|0};Ke.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function cl(){var t=new Qp(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw zt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw zt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Ke.prototype.bool=function(){return this.uint32()!==0};function ea(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Ke.prototype.fixed32=function(){if(this.pos+4>this.len)throw zt(this,4);return ea(this.buf,this.pos+=4)};Ke.prototype.sfixed32=function(){if(this.pos+4>this.len)throw zt(this,4);return ea(this.buf,this.pos+=4)|0};function Wp(){if(this.pos+8>this.len)throw zt(this,8);return new Qp(ea(this.buf,this.pos+=4),ea(this.buf,this.pos+=4))}Ke.prototype.float=function(){if(this.pos+4>this.len)throw zt(this,4);var e=nr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Ke.prototype.double=function(){if(this.pos+8>this.len)throw zt(this,4);var e=nr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Ke.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw zt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Ke.prototype.string=function(){var e=this.bytes();return o2.read(e,0,e.length)};Ke.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw zt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw zt(this);while(this.buf[this.pos++]&128);return this};Ke.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Ke._configure=function(t){ul=t,Ke.create=Xp(),ul._configure();var e=nr.Long?"toLong":"toNumber";nr.merge(Ke.prototype,{int64:function(){return cl.call(this)[e](!1)},uint64:function(){return cl.call(this)[e](!0)},sint64:function(){return cl.call(this).zzDecode()[e](!1)},fixed64:function(){return Wp.call(this)[e](!0)},sfixed64:function(){return Wp.call(this)[e](!1)}})}});var tm=T((uD,em)=>{"use strict";em.exports=Nn;var jp=ll();(Nn.prototype=Object.create(jp.prototype)).constructor=Nn;var Jp=Pn();function Nn(t){jp.call(this,t)}Nn._configure=function(){Jp.Buffer&&(Nn.prototype._slice=Jp.Buffer.prototype.slice)};Nn.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Nn._configure()});var gl=T((lD,om)=>{"use strict";om.exports=ie;var Ct=Pn(),fl,ta=Ct.LongBits,rm=Ct.base64,nm=Ct.utf8;function yo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function dl(){}function s2(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function ie(){this.len=0,this.head=new yo(dl,0,0),this.tail=this.head,this.states=null}var im=function(){return Ct.Buffer?function(){return(ie.create=function(){return new fl})()}:function(){return new ie}};ie.create=im();ie.alloc=function(e){return new Ct.Array(e)};Ct.Array!==Array&&(ie.alloc=Ct.pool(ie.alloc,Ct.Array.prototype.subarray));ie.prototype._push=function(e,r,n){return this.tail=this.tail.next=new yo(e,r,n),this.len+=r,this};function pl(t,e,r){e[r]=t&255}function a2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function ml(t,e){this.len=t,this.next=void 0,this.val=e}ml.prototype=Object.create(yo.prototype);ml.prototype.fn=a2;ie.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new ml((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};ie.prototype.int32=function(e){return e<0?this._push(yl,10,ta.fromNumber(e)):this.uint32(e)};ie.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function yl(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}ie.prototype.uint64=function(e){var r=ta.from(e);return this._push(yl,r.length(),r)};ie.prototype.int64=ie.prototype.uint64;ie.prototype.sint64=function(e){var r=ta.from(e).zzEncode();return this._push(yl,r.length(),r)};ie.prototype.bool=function(e){return this._push(pl,1,e?1:0)};function hl(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}ie.prototype.fixed32=function(e){return this._push(hl,4,e>>>0)};ie.prototype.sfixed32=ie.prototype.fixed32;ie.prototype.fixed64=function(e){var r=ta.from(e);return this._push(hl,4,r.lo)._push(hl,4,r.hi)};ie.prototype.sfixed64=ie.prototype.fixed64;ie.prototype.float=function(e){return this._push(Ct.float.writeFloatLE,4,e)};ie.prototype.double=function(e){return this._push(Ct.float.writeDoubleLE,8,e)};var c2=Ct.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};ie.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(pl,1,0);if(Ct.isString(e)){var n=ie.alloc(r=rm.length(e));rm.decode(e,n,0),e=n}return this.uint32(r)._push(c2,r,e)};ie.prototype.string=function(e){var r=nm.length(e);return r?this.uint32(r)._push(nm.write,r,e):this._push(pl,1,0)};ie.prototype.fork=function(){return this.states=new s2(this),this.head=this.tail=new yo(dl,0,0),this.len=0,this};ie.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 yo(dl,0,0),this.len=0),this};ie.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};ie.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};ie._configure=function(t){fl=t,ie.create=im(),fl._configure()}});var cm=T((fD,am)=>{"use strict";am.exports=ir;var sm=gl();(ir.prototype=Object.create(sm.prototype)).constructor=ir;var en=Pn();function ir(){sm.call(this)}ir._configure=function(){ir.alloc=en._Buffer_allocUnsafe,ir.writeBytesBuffer=en.Buffer&&en.Buffer.prototype instanceof Uint8Array&&en.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};ir.prototype.bytes=function(e){en.isString(e)&&(e=en._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(ir.writeBytesBuffer,r,e),this};function u2(t,e,r){t.length<40?en.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}ir.prototype.string=function(e){var r=en.Buffer.byteLength(e);return this.uint32(r),r&&this._push(u2,r,e),this};ir._configure()});var fe=T((CD,dm)=>{dm.exports={options:{usePureJavaScript:!1}}});var ym=T((DD,mm)=>{var _l={};mm.exports=_l;var pm={};_l.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=d2(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
25
|
-
`)}return n};_l.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=pm[e];if(!r){r=pm[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var l=0;t[l]===o&&l<t.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function d2(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var Ve=T((BD,xm)=>{var gm=fe(),wm=ym(),E=xm.exports=gm.util=gm.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===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var s=a,t="forge.setImmediate",e=[];E.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=E.setImmediate;E.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.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(t){return Object.prototype.toString.call(t)==="[object Array]"};E.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};E.isArrayBufferView=function(t){return t&&E.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function go(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}E.ByteBuffer=Sl;function Sl(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(E.isArrayBuffer(t)||E.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Sl||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}E.ByteStringBuffer=Sl;var p2=4096;E.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>p2&&(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(t){return this.putBytes(String.fromCharCode(t))};E.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};E.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};E.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(E.encodeUtf8(t))};E.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};E.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};E.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};E.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};E.ByteStringBuffer.prototype.putInt=function(t,e){go(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};E.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};E.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};E.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};E.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};E.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};E.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};E.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};E.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};E.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};E.ByteStringBuffer.prototype.getInt=function(t){go(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};E.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};E.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};E.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};E.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};E.ByteStringBuffer.prototype.copy=function(){var t=E.createBuffer(this.data);return t.read=this.read,t};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(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};E.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};E.ByteStringBuffer.prototype.toString=function(){return E.decodeUtf8(this.bytes())};function m2(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=E.isArrayBuffer(t),n=E.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}E.DataBuffer=m2;E.DataBuffer.prototype.length=function(){return this.write-this.read};E.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};E.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};E.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};E.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};E.DataBuffer.prototype.putBytes=function(t,e){if(E.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(E.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof E.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&E.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof E.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=E.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=E.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=E.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};E.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};E.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};E.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};E.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};E.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};E.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};E.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};E.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};E.DataBuffer.prototype.putInt=function(t,e){go(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};E.DataBuffer.prototype.putSignedInt=function(t,e){return go(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};E.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};E.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};E.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};E.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};E.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};E.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};E.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};E.DataBuffer.prototype.getInt=function(t){go(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};E.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};E.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};E.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};E.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};E.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),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 t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};E.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};E.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};E.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};E.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return E.binary.raw.encode(e);if(t==="hex")return E.binary.hex.encode(e);if(t==="base64")return E.binary.base64.encode(e);if(t==="utf8")return E.text.utf8.decode(e);if(t==="utf16")return E.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};E.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=E.encodeUtf8(t)),new E.ByteBuffer(t)};E.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};E.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};E.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};E.bytesToHex=function(t){return E.createBuffer(t).toHex()};E.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var rn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",nn=[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],Em="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";E.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=rn.charAt(i>>2),r+=rn.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=rn.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":rn.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
26
|
-
`,r=r.substr(e));return n+=r,n};
|
|
27
|
-
`,r=r.substr(e));return n+=r,n};E.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=nn[t.charCodeAt(c++)-43],o=nn[t.charCodeAt(c++)-43],s=nn[t.charCodeAt(c++)-43],a=nn[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};E.binary.base58.encode=function(t,e){return E.binary.baseN.encode(t,Em,e)};E.binary.base58.decode=function(t,e){return E.binary.baseN.decode(t,Em,e)};E.text={utf8:{},utf16:{}};E.text.utf8.encode=function(t,e,r){t=E.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};E.text.utf8.decode=function(t){return E.decodeUtf8(String.fromCharCode.apply(null,t))};E.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};E.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};E.deflate=function(t,e,r){if(e=E.decode64(t.deflate(E.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};E.inflate=function(t,e,r){var n=t.inflate(E.encode64(e)).rval;return n===null?null:E.decode64(n)};var Al=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=E.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Rl=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(E.decode64(r))),r},y2=function(t,e,r,n){var i=Rl(t,e);i===null&&(i={}),i[r]=n,Al(t,e,i)},g2=function(t,e,r){var n=Rl(t,e);return n!==null&&(n=r in n?n[r]:null),n},w2=function(t,e,r){var n=Rl(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Al(t,e,n)}},E2=function(t,e){Al(t,e,null)},ia=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};E.setItem=function(t,e,r,n,i){ia(y2,arguments,i)};E.getItem=function(t,e,r,n){return ia(g2,arguments,n)};E.removeItem=function(t,e,r,n){ia(w2,arguments,n)};E.clearItems=function(t,e,r){ia(E2,arguments,r)};E.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};E.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};E.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};E.formatSize=function(t){return t>=1073741824?t=E.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=E.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=E.formatNumber(t/1024,0)+" KiB":t=E.formatNumber(t,0)+" bytes",t};E.bytesFromIP=function(t){return t.indexOf(".")!==-1?E.bytesFromIPv4(t):t.indexOf(":")!==-1?E.bytesFromIPv6(t):null};E.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=E.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};E.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=E.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=E.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};E.bytesToIP=function(t){return t.length===4?E.bytesToIPv4(t):t.length===16?E.bytesToIPv6(t):null};E.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};E.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=E.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};E.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in E&&!t.update)return e(null,E.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return E.cores=navigator.hardwareConcurrency,e(null,E.cores);if(typeof Worker>"u")return E.cores=1,e(null,E.cores);if(typeof Blob>"u")return E.cores=2,e(null,E.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){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(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(l,f){return l+f},0)/s.length);return E.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,E.cores)}i(c,function(l,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],l=0;l<s;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var d=0;d<s;++d)c[d].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<s;++l)c[l].postMessage(l)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var l=a[u],f=c[u]=[],h=0;h<s;++h)if(u!==h){var d=a[h];(l.st>d.st&&l.st<d.et||d.st>l.st&&d.st<l.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var oa=T((LD,vm)=>{var wo=fe();wo.pki=wo.pki||{};var Il=vm.exports=wo.pki.oids=wo.oids=wo.oids||{};function I(t,e){Il[t]=e,Il[e]=t}function le(t,e){Il[t]=e}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");le("2.5.29.1","authorityKeyIdentifier");le("2.5.29.2","keyAttributes");le("2.5.29.3","certificatePolicies");le("2.5.29.4","keyUsageRestriction");le("2.5.29.5","policyMapping");le("2.5.29.6","subtreesConstraint");le("2.5.29.7","subjectAltName");le("2.5.29.8","issuerAltName");le("2.5.29.9","subjectDirectoryAttributes");le("2.5.29.10","basicConstraints");le("2.5.29.11","nameConstraints");le("2.5.29.12","policyConstraints");le("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");le("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");le("2.5.29.20","cRLNumber");le("2.5.29.21","cRLReason");le("2.5.29.22","expirationDate");le("2.5.29.23","instructionCode");le("2.5.29.24","invalidityDate");le("2.5.29.25","cRLDistributionPoints");le("2.5.29.26","issuingDistributionPoint");le("2.5.29.27","deltaCRLIndicator");le("2.5.29.28","issuingDistributionPoint");le("2.5.29.29","certificateIssuer");le("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");le("2.5.29.33","policyMappings");le("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");le("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");le("2.5.29.46","freshestCRL");le("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 xo=T((PD,_m)=>{var Se=fe();Ve();oa();var B=_m.exports=Se.asn1=Se.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};B.create=function(t,e,r,n,i){if(Se.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||Se.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(Se.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(Se.util.isArray(t)){if(!Se.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Eo(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var x2=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Eo(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Se.util.createBuffer(t));var r=t.length(),n=sa(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function sa(t,e,r,n){var i;Eo(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=x2(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,h=(o&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Eo(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(sa(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(sa(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=t.read,p=e,m=0;if(a===B.Type.BITSTRING&&(Eo(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=sa(t,e,r+1,y),x=i-t.length();e-=x,a==B.Type.BITSTRING&&x++;var _=g.tagClass;x===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=d,e=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===B.Type.BMPSTRING)for(l="";c>0;c-=2)Eo(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var k=f===void 0?null:{bitStringContents:f};return B.create(s,a,h,l,k)}B.toDer=function(t){var e=Se.util.createBuffer(),r=t.tagClass|t.type,n=Se.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(B.toDer(t.value[o]))}else if(t.type===B.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===B.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};B.oidToDer=function(t){var e=t.split("."),r=Se.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};B.derToOid=function(t){var e;typeof t=="string"&&(t=Se.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};B.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var d=parseInt(t.substr(f+1,2),10),p=parseInt(t.substr(f+4,2),10);u=d*60+p,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};B.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.integerToDer=function(t){var e=Se.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};B.derToInteger=function(t){typeof t=="string"&&(t=Se.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};B.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&Se.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=B.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var bm=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
28
|
-
`);for(var i="",
|
|
22
|
+
expire = ${o}
|
|
23
|
+
RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
24
|
+
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};B0.exports=Oc});var L0=I(()=>{});var jr=I(()=>{});var N0=I((OI,D0)=>{D0.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var O0=I((FI,k0)=>{var tx=N0(),Mc=nt();k0.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new Mc(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new tx(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Mc(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Mc(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Uc=I((UI,F0)=>{var rx=Di(),nx=O0(),M0=nt(),Fc=class extends rx{constructor(e={}){super(e),this._memoryStorage=new nx}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new M0(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new M0(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};F0.exports=Fc});var H0=I((KI,z0)=>{var U0=L0(),ix=jr(),sx=Di(),V0=Uc(),ox=nt(),ft="rate_limiter_flexible",qn=null,K0=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:ft,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},q0=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&q0.call(this,t)},30)},Kn=function(t,e,r,n,i){let s={channel:ft,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):q0.call(this,s)},$0=function(t,e){if(!e||e.channel!==ft||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{K0(t,e,"resolve",n)}).catch(n=>{K0(t,e,"reject",n)})},ax=function(t){if(!t||t.channel!==ft||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new ox(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},cx=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Vn=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=ix.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Kc=class{constructor(){if(qn)return qn;this._rateLimiters={},U0.setMaxListeners(0),U0.on("message",(e,r)=>{r&&r.channel===ft&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new V0(r.opts)),e.send({channel:ft,type:"init",keyPrefix:r.opts.keyPrefix})):$0.call(this,e,r)}),qn=this}},Vc=class{constructor(e){if(qn)return qn;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===ft&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new V0(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:ft,channel:ft,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=ft,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};$0.call(this,o,s)}})}),qn=this}},qc=class extends sx{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===ft&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:ax.call(this,r)}),process.send({channel:ft,type:"init",opts:cx.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=Vn.call(this,i,s);Kn.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=Vn.call(this,n,i);Kn.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=Vn.call(this,n,i);Kn.call(this,"delete",s,e,r)})}};z0.exports={RateLimiterClusterMaster:Kc,RateLimiterClusterMasterPM2:Vc,RateLimiterCluster:qc}});var Y0=I((VI,G0)=>{var ux=Un(),lx=nt(),$c=class extends ux{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new lx;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,d)=>{if(h||!d)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(e,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${e}_expire`,(h,d)=>{if(h)a(h);else{let p=d===!1?0:d,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};G0.exports=$c});var X0=I(($I,Q0)=>{var W0=nt();Q0.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new W0(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new W0(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var j0=I((HI,Z0)=>{var fx=Di();Z0.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof fx))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var eh=I((YI,J0)=>{J0.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var ih=I((QI,nh)=>{var th=eh(),rh=4294967295,zc="limiter";nh.exports=class{constructor(e,r={maxQueueSize:rh}){this._queueLimiters={KEY_DEFAULT:new js(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=zc){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=zc){return this._queueLimiters[r]||(this._queueLimiters[r]=new js(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var js=class{constructor(e,r={maxQueueSize:rh,key:zc}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new th(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new th(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var oh=I((ZI,sh)=>{var Hc=nt();sh.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Hc(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Hc?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Hc?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var ch=I((jI,ah)=>{var hx=S0(),dx=I0(),px=T0(),mx=P0(),{RateLimiterClusterMaster:yx,RateLimiterClusterMasterPM2:gx,RateLimiterCluster:wx}=H0(),xx=Uc(),vx=Y0(),Ex=X0(),bx=j0(),_x=ih(),Sx=oh(),Ax=nt();ah.exports={RateLimiterRedis:hx,RateLimiterMongo:dx,RateLimiterMySQL:px,RateLimiterPostgres:mx,RateLimiterMemory:xx,RateLimiterMemcache:vx,RateLimiterClusterMaster:yx,RateLimiterClusterMasterPM2:gx,RateLimiterCluster:wx,RLWrapperBlackAndWhite:Ex,RateLimiterUnion:bx,RateLimiterQueue:_x,BurstyRateLimiter:Sx,RateLimiterRes:Ax}});var lh=I((v4,Gc)=>{"use strict";var Ix=Object.prototype.hasOwnProperty,Ge="~";function ki(){}Object.create&&(ki.prototype=Object.create(null),new ki().__proto__||(Ge=!1));function Cx(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function uh(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Cx(r,n||t,i),o=Ge?Ge+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function eo(t,e){--t._eventsCount===0?t._events=new ki:delete t._events[e]}function $e(){this._events=new ki,this._eventsCount=0}$e.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Ix.call(r,n)&&e.push(Ge?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};$e.prototype.listeners=function(e){var r=Ge?Ge+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};$e.prototype.listenerCount=function(e){var r=Ge?Ge+e:e,n=this._events[r];return n?n.fn?1:n.length:0};$e.prototype.emit=function(e,r,n,i,s,o){var a=Ge?Ge+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var h=c.length,d;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c[f].fn.apply(c[f].context,l)}}return!0};$e.prototype.on=function(e,r,n){return uh(this,e,r,n,!1)};$e.prototype.once=function(e,r,n){return uh(this,e,r,n,!0)};$e.prototype.removeListener=function(e,r,n,i){var s=Ge?Ge+e:e;if(!this._events[s])return this;if(!r)return eo(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&eo(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:eo(this,s)}return this};$e.prototype.removeAllListeners=function(e){var r;return e?(r=Ge?Ge+e:e,this._events[r]&&eo(this,r)):(this._events=new ki,this._eventsCount=0),this};$e.prototype.off=$e.prototype.removeListener;$e.prototype.addListener=$e.prototype.on;$e.prefixed=Ge;$e.EventEmitter=$e;typeof Gc<"u"&&(Gc.exports=$e)});var vh=I($i=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,d,p;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=e(c),d=p[0],l=p[1],c=c.substring(l),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,h,d;for(h=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),d=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===d)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,d,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),$i.ip2long=o,$i.long2ip=a,$i.Netmask=t}).call($i)});var Sh=I((_h,ho)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(d,p){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],x,_;for(g&&(g=g.substring(1),d=d.replace(/%.+$/,""));(y=d.indexOf(":",y+1))>=0;)m++;if(d.substr(0,2)==="::"&&m--,d.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,x=":";_--;)x+="0:";return d=d.replace("::",x),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),p=function(){let N=d.split(":"),C=[];for(let T=0;T<N.length;T++)C.push(parseInt(N[T],16));return C}(),{parts:p,zoneId:g}}function u(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),d[g]>>x!==p[g]>>x)return!1;y-=m,g+=1}return!0}function l(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function f(d,p){for(;d.length<p;)d=`0${d}`;return d}let h={};h.IPv4=function(){function d(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,_;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(_=y[x],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let p,m,y,g,x;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),x=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){let p=this.parser(d);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},h.IPv4.parseCIDR=function(d){let p;if(p=d.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let p,m,y;if(p=d.match(r.fourOctet))return function(){let g=p.slice(1,6),x=[];for(let _=0;_<g.length;_++)m=g[_],x.push(l(m));return x}();if(p=d.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(p=d.match(r.twoOctet))?function(){let g=p.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(p=d.match(r.threeOctet))?function(){let g=p.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.IPv6=function(){function d(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),p+=x}else return null;return 128-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},d.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},d.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=p.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let p=this.parser(d);return new this(p.parts,p.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(d){let p,m,y,g,x;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),x=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},h.IPv6.parse=function(d){let p=this.parser(d);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},h.IPv6.parseCIDR=function(d){let p,m,y;if((m=d.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let p,m,y,g,x,_;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return p.parts.push(x[0]<<8|x[1]),p.parts.push(x[2]<<8|x[3]),{parts:p.parts,zoneId:p.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.fromByteArray=function(d){let p=d.length;if(p===4)return new h.IPv4(d);if(p===16)return new h.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(d){return h.IPv6.isValid(d)||h.IPv4.isValid(d)},h.parse=function(d){if(h.IPv6.isValid(d))return h.IPv6.parse(d);if(h.IPv4.isValid(d))return h.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(d){try{return h.IPv6.parseCIDR(d)}catch{try{return h.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(d){let p=this.parse(d);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},h.subnetMatch=function(d,p,m){let y,g,x,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(x=p[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(_=x[y],d.kind()===_[0].kind()&&d.match.apply(d,_))return g}return m},typeof ho<"u"&&ho.exports?ho.exports=h:t.ipaddr=h})(_h)});var Ph=I((H4,Bh)=>{"use strict";Bh.exports=Th;var Fx=Ma(),br=Th.prototype,Ux=new Date%1e9;function Kx(){return(Math.random()*1e9>>>0)+Ux++}function Th(t){t=t||{},this.id=t.id||Kx(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}br.has=function(t){return t in this._lookup};br.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};br.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};br.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};br.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};br.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=Fx(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};br.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};br.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var wo=I((nC,au)=>{"use strict";var Yn=typeof Reflect=="object"?Reflect:null,Mh=Yn&&typeof Yn.apply=="function"?Yn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},yo;Yn&&typeof Yn.ownKeys=="function"?yo=Yn.ownKeys:Object.getOwnPropertySymbols?yo=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:yo=function(e){return Object.getOwnPropertyNames(e)};function $x(t){console&&console.warn&&console.warn(t)}var Uh=Number.isNaN||function(e){return e!==e};function ae(){ae.init.call(this)}au.exports=ae;au.exports.once=Yx;ae.EventEmitter=ae;ae.prototype._events=void 0;ae.prototype._eventsCount=0;ae.prototype._maxListeners=void 0;var Fh=10;function go(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ae,"defaultMaxListeners",{enumerable:!0,get:function(){return Fh},set:function(t){if(typeof t!="number"||t<0||Uh(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Fh=t}});ae.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ae.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Uh(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function Kh(t){return t._maxListeners===void 0?ae.defaultMaxListeners:t._maxListeners}ae.prototype.getMaxListeners=function(){return Kh(this)};ae.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")Mh(c,this,r);else for(var u=c.length,l=Hh(c,u),n=0;n<u;++n)Mh(l[n],this,r);return!0};function Vh(t,e,r,n){var i,s,o;if(go(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=Kh(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,$x(a)}return t}ae.prototype.addListener=function(e,r){return Vh(this,e,r,!1)};ae.prototype.on=ae.prototype.addListener;ae.prototype.prependListener=function(e,r){return Vh(this,e,r,!0)};function zx(){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 qh(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=zx.bind(n);return i.listener=r,n.wrapFn=i,i}ae.prototype.once=function(e,r){return go(r),this.on(e,qh(this,e,r)),this};ae.prototype.prependOnceListener=function(e,r){return go(r),this.prependListener(e,qh(this,e,r)),this};ae.prototype.removeListener=function(e,r){var n,i,s,o,a;if(go(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():Hx(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};ae.prototype.off=ae.prototype.removeListener;ae.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function $h(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Gx(i):Hh(i,i.length)}ae.prototype.listeners=function(e){return $h(this,e,!0)};ae.prototype.rawListeners=function(e){return $h(this,e,!1)};ae.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):zh.call(t,e)};ae.prototype.listenerCount=zh;function zh(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}ae.prototype.eventNames=function(){return this._eventsCount>0?yo(this._events):[]};function Hh(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Hx(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function Gx(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Yx(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}Gh(t,e,s,{once:!0}),e!=="error"&&Wx(t,i,{once:!0})})}function Wx(t,e,r){typeof t.on=="function"&&Gh(t,"error",e,r)}function Gh(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var jh=I((KC,Zh)=>{"use strict";function t2(t){return t>=55296&&t<=56319}function r2(t){return t>=56320&&t<=57343}Zh.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],t2(o)&&r2(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var ed=I((VC,Jh)=>{"use strict";function n2(t){return t>=55296&&t<=56319}function i2(t){return t>=56320&&t<=57343}Jh.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),i2(i)?s!=null&&n2(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var rd=I((qC,td)=>{"use strict";var s2=jh(),o2=ed();td.exports=s2.bind(null,o2)});var sd=I(($C,id)=>{"use strict";var a2=rd(),c2=/[\/\?<>\\:\*\|"]/g,u2=/[\x00-\x1f\x80-\x9f]/g,l2=/^\.+$/,f2=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,h2=/[\. ]+$/;function nd(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(c2,e).replace(u2,e).replace(l2,e).replace(f2,e).replace(h2,e);return a2(r,255)}id.exports=function(t,e){var r=e&&e.replacement||"",n=nd(t,r);return r===""?n:nd(n,"")}});var ad=I((zC,od)=>{"use strict";od.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var dd=I((fd,hd)=>{"use strict";var bo=ad(),{hasOwnProperty:ud}=Object.prototype,{propertyIsEnumerable:d2}=Object,Xn=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),p2=fd,cd={concatArrays:!1,ignoreUndefined:!1},_o=t=>{let e=[];for(let r in t)ud.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)d2.call(t,n)&&e.push(n)}return e};function Zn(t){return Array.isArray(t)?m2(t):bo(t)?y2(t):t}function m2(t){let e=t.slice(0,0);return _o(t).forEach(r=>{Xn(e,r,Zn(t[r]))}),e}function y2(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return _o(t).forEach(r=>{Xn(e,r,Zn(t[r]))}),e}var ld=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Xn(t,i,pu(t[i],e[i],n)):Xn(t,i,Zn(e[i])))}),t),g2=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)ud.call(s,a)&&(o.push(String(a)),s===t?Xn(n,i++,s[a]):Xn(n,i++,Zn(s[a])));n=ld(n,s,_o(s).filter(a=>!o.includes(a)),r)}),n};function pu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?g2(t,e,r):!bo(e)||!bo(t)?Zn(e):ld(t,e,_o(e),r)}hd.exports=function(...t){let e=pu(Zn(cd),this!==p2&&this||{},cd),r={_:{}};for(let n of t)if(n!==void 0){if(!bo(n))throw new TypeError("`"+n+"` is not an Option Object");r=pu(r,{_:n},e)}return r._}});var yd=I((YC,md)=>{"use strict";md.exports=w2;function w2(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var vd=I(xd=>{"use strict";var So=xd;So.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var jn=new Array(64),wd=new Array(123);for(Rt=0;Rt<64;)wd[jn[Rt]=Rt<26?Rt+65:Rt<52?Rt+71:Rt<62?Rt-4:Rt-59|43]=Rt++;var Rt;So.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=jn[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=jn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=jn[c|u>>6],s[o++]=jn[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=jn[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 gd="invalid encoding";So.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=wd[c])===void 0)throw Error(gd);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(gd);return n-i};So.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var bd=I((QC,Ed)=>{"use strict";Ed.exports=Ao;function Ao(){this._listeners={}}Ao.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Ao.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Ao.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var Td=I((XC,Cd)=>{"use strict";Cd.exports=_d(_d);function _d(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,Sd),t.writeFloatBE=e.bind(null,Ad);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,Rd),t.readFloatBE=r.bind(null,Id)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,Sd,0,4),t.writeDoubleBE=e.bind(null,Ad,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,Rd,0,4),t.readDoubleBE=r.bind(null,Id,4,0)}(),t}function Sd(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function Ad(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function Rd(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function Id(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Bd=I((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Ld=I(Pd=>{"use strict";var mu=Pd;mu.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};mu.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};mu.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)===55296&&((o=e.charCodeAt(a+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var Nd=I((jC,Dd)=>{"use strict";Dd.exports=x2;function x2(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var Od=I((JC,kd)=>{"use strict";kd.exports=Ne;var Gi=rn();function Ne(t,e){this.lo=t>>>0,this.hi=e>>>0}var tn=Ne.zero=new Ne(0,0);tn.toNumber=function(){return 0};tn.zzEncode=tn.zzDecode=function(){return this};tn.length=function(){return 1};var v2=Ne.zeroHash="\0\0\0\0\0\0\0\0";Ne.fromNumber=function(e){if(e===0)return tn;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ne(n,i)};Ne.from=function(e){if(typeof e=="number")return Ne.fromNumber(e);if(Gi.isString(e))if(Gi.Long)e=Gi.Long.fromString(e);else return Ne.fromNumber(parseInt(e,10));return e.low||e.high?new Ne(e.low>>>0,e.high>>>0):tn};Ne.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ne.prototype.toLong=function(e){return Gi.Long?new Gi.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Sr=String.prototype.charCodeAt;Ne.fromHash=function(e){return e===v2?tn:new Ne((Sr.call(e,0)|Sr.call(e,1)<<8|Sr.call(e,2)<<16|Sr.call(e,3)<<24)>>>0,(Sr.call(e,4)|Sr.call(e,5)<<8|Sr.call(e,6)<<16|Sr.call(e,7)<<24)>>>0)};Ne.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ne.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};Ne.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};Ne.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var rn=I(yu=>{"use strict";var O=yu;O.asPromise=yd();O.base64=vd();O.EventEmitter=bd();O.float=Td();O.inquire=Bd();O.utf8=Ld();O.pool=Nd();O.LongBits=Od();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||yu;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function Md(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=Md;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Fd(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&Md(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=Fd;O.ProtocolError=Fd("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var xu=I((tT,$d)=>{"use strict";$d.exports=Ce;var Ot=rn(),wu,Vd=Ot.LongBits,E2=Ot.utf8;function It(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Ce(t){this.buf=t,this.pos=0,this.len=t.length}var Ud=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Ce(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Ce(e);throw Error("illegal buffer")},qd=function(){return Ot.Buffer?function(r){return(Ce.create=function(i){return Ot.Buffer.isBuffer(i)?new wu(i):Ud(i)})(r)}:Ud};Ce.create=qd();Ce.prototype._slice=Ot.Array.prototype.subarray||Ot.Array.prototype.slice;Ce.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,It(this,10);return e}}();Ce.prototype.int32=function(){return this.uint32()|0};Ce.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function gu(){var t=new Vd(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw It(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw It(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}Ce.prototype.bool=function(){return this.uint32()!==0};function Ro(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Ce.prototype.fixed32=function(){if(this.pos+4>this.len)throw It(this,4);return Ro(this.buf,this.pos+=4)};Ce.prototype.sfixed32=function(){if(this.pos+4>this.len)throw It(this,4);return Ro(this.buf,this.pos+=4)|0};function Kd(){if(this.pos+8>this.len)throw It(this,8);return new Vd(Ro(this.buf,this.pos+=4),Ro(this.buf,this.pos+=4))}Ce.prototype.float=function(){if(this.pos+4>this.len)throw It(this,4);var e=Ot.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Ce.prototype.double=function(){if(this.pos+8>this.len)throw It(this,4);var e=Ot.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Ce.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw It(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};Ce.prototype.string=function(){var e=this.bytes();return E2.read(e,0,e.length)};Ce.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw It(this,e);this.pos+=e}else do if(this.pos>=this.len)throw It(this);while(this.buf[this.pos++]&128);return this};Ce.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};Ce._configure=function(t){wu=t,Ce.create=qd(),wu._configure();var e=Ot.Long?"toLong":"toNumber";Ot.merge(Ce.prototype,{int64:function(){return gu.call(this)[e](!1)},uint64:function(){return gu.call(this)[e](!0)},sint64:function(){return gu.call(this).zzDecode()[e](!1)},fixed64:function(){return Kd.call(this)[e](!0)},sfixed64:function(){return Kd.call(this)[e](!1)}})}});var Yd=I((rT,Gd)=>{"use strict";Gd.exports=nn;var Hd=xu();(nn.prototype=Object.create(Hd.prototype)).constructor=nn;var zd=rn();function nn(t){Hd.call(this,t)}nn._configure=function(){zd.Buffer&&(nn.prototype._slice=zd.Buffer.prototype.slice)};nn.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};nn._configure()});var Ru=I((nT,Zd)=>{"use strict";Zd.exports=J;var ht=rn(),vu,Io=ht.LongBits,Wd=ht.base64,Qd=ht.utf8;function Yi(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function bu(){}function b2(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function J(){this.len=0,this.head=new Yi(bu,0,0),this.tail=this.head,this.states=null}var Xd=function(){return ht.Buffer?function(){return(J.create=function(){return new vu})()}:function(){return new J}};J.create=Xd();J.alloc=function(e){return new ht.Array(e)};ht.Array!==Array&&(J.alloc=ht.pool(J.alloc,ht.Array.prototype.subarray));J.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Yi(e,r,n),this.len+=r,this};function _u(t,e,r){e[r]=t&255}function _2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Su(t,e){this.len=t,this.next=void 0,this.val=e}Su.prototype=Object.create(Yi.prototype);Su.prototype.fn=_2;J.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Su((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};J.prototype.int32=function(e){return e<0?this._push(Au,10,Io.fromNumber(e)):this.uint32(e)};J.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Au(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}J.prototype.uint64=function(e){var r=Io.from(e);return this._push(Au,r.length(),r)};J.prototype.int64=J.prototype.uint64;J.prototype.sint64=function(e){var r=Io.from(e).zzEncode();return this._push(Au,r.length(),r)};J.prototype.bool=function(e){return this._push(_u,1,e?1:0)};function Eu(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}J.prototype.fixed32=function(e){return this._push(Eu,4,e>>>0)};J.prototype.sfixed32=J.prototype.fixed32;J.prototype.fixed64=function(e){var r=Io.from(e);return this._push(Eu,4,r.lo)._push(Eu,4,r.hi)};J.prototype.sfixed64=J.prototype.fixed64;J.prototype.float=function(e){return this._push(ht.float.writeFloatLE,4,e)};J.prototype.double=function(e){return this._push(ht.float.writeDoubleLE,8,e)};var S2=ht.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};J.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(_u,1,0);if(ht.isString(e)){var n=J.alloc(r=Wd.length(e));Wd.decode(e,n,0),e=n}return this.uint32(r)._push(S2,r,e)};J.prototype.string=function(e){var r=Qd.length(e);return r?this.uint32(r)._push(Qd.write,r,e):this._push(_u,1,0)};J.prototype.fork=function(){return this.states=new b2(this),this.head=this.tail=new Yi(bu,0,0),this.len=0,this};J.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Yi(bu,0,0),this.len=0),this};J.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};J.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};J._configure=function(t){vu=t,J.create=Xd(),vu._configure()}});var ep=I((iT,Jd)=>{"use strict";Jd.exports=Mt;var jd=Ru();(Mt.prototype=Object.create(jd.prototype)).constructor=Mt;var Ar=rn();function Mt(){jd.call(this)}Mt._configure=function(){Mt.alloc=Ar._Buffer_allocUnsafe,Mt.writeBytesBuffer=Ar.Buffer&&Ar.Buffer.prototype instanceof Uint8Array&&Ar.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Mt.prototype.bytes=function(e){Ar.isString(e)&&(e=Ar._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Mt.writeBytesBuffer,r,e),this};function A2(t,e,r){t.length<40?Ar.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Mt.prototype.string=function(e){var r=Ar.Buffer.byteLength(e);return this.uint32(r),r&&this._push(A2,r,e),this};Mt._configure()});var se=I((bT,sp)=>{sp.exports={options:{usePureJavaScript:!1}}});var cp=I((_T,ap)=>{var Du={};ap.exports=Du;var op={};Du.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=T2(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
25
|
+
`)}return n};Du.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=op[e];if(!r){r=op[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function T2(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Te=I((ST,hp)=>{var up=se(),lp=cp(),w=hp.exports=up.util=up.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Wi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=Nu;function Nu(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Nu||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=Nu;var B2=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>B2&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){Wi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){Wi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function P2(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=P2;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Wi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Wi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Wi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Rr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ir=[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],fp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=Rr.charAt(i>>2),r+=Rr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Rr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Rr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
26
|
+
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=Ir[t.charCodeAt(o++)-43],n=Ir[t.charCodeAt(o++)-43],i=Ir[t.charCodeAt(o++)-43],s=Ir[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:lp.encode,decode:lp.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};w.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=Rr.charAt(i>>2),r+=Rr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Rr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Rr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
27
|
+
`,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=Ir[t.charCodeAt(c++)-43],s=Ir[t.charCodeAt(c++)-43],o=Ir[t.charCodeAt(c++)-43],a=Ir[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,fp,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,fp,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var ku=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Ou=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},L2=function(t,e,r,n){var i=Ou(t,e);i===null&&(i={}),i[r]=n,ku(t,e,i)},D2=function(t,e,r){var n=Ou(t,e);return n!==null&&(n=r in n?n[r]:null),n},N2=function(t,e,r){var n=Ou(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),ku(t,e,n)}},k2=function(t,e){ku(t,e,null)},Bo=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(t,e,r,n,i){Bo(L2,arguments,i)};w.getItem=function(t,e,r,n){return Bo(D2,arguments,n)};w.removeItem=function(t,e,r,n){Bo(N2,arguments,n)};w.clearItems=function(t,e,r){Bo(k2,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};w.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=w.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var d=0;d<o;++d)c[d].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],h=0;h<o;++h)if(u!==h){var d=a[h];(l.st>d.st&&l.st<d.et||d.st>l.st&&d.st<l.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Po=I((AT,dp)=>{var Qi=se();Qi.pki=Qi.pki||{};var Mu=dp.exports=Qi.pki.oids=Qi.oids=Qi.oids||{};function R(t,e){Mu[t]=e,Mu[e]=t}function ie(t,e){Mu[t]=e}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");R("1.3.6.1.4.1.11129.2.4.2","timestampList");R("1.3.6.1.5.5.7.1.1","authorityInfoAccess");R("1.3.6.1.5.5.7.3.1","serverAuth");R("1.3.6.1.5.5.7.3.2","clientAuth");R("1.3.6.1.5.5.7.3.3","codeSigning");R("1.3.6.1.5.5.7.3.4","emailProtection");R("1.3.6.1.5.5.7.3.8","timeStamping")});var Zi=I((RT,mp)=>{var fe=se();Te();Po();var B=mp.exports=fe.asn1=fe.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};B.create=function(t,e,r,n,i){if(fe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||fe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(fe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(fe.util.isArray(t)){if(!fe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Xi(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var O2=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;Xi(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.length(),n=Lo(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function Lo(t,e,r,n){var i;Xi(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=O2(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,h=(s&32)===32;if(h)if(l=[],c===void 0)for(;;){if(Xi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Lo(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Lo(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=t.read,p=e,m=0;if(a===B.Type.BITSTRING&&(Xi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Lo(t,e,r+1,y),x=i-t.length();e-=x,a==B.Type.BITSTRING&&x++;var _=g.tagClass;x===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=d,e=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===B.Type.BMPSTRING)for(l="";c>0;c-=2)Xi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var N=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,l,N)}B.toDer=function(t){var e=fe.util.createBuffer(),r=t.tagClass|t.type,n=fe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(B.toDer(t.value[s]))}else if(t.type===B.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===B.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};B.oidToDer=function(t){var e=t.split("."),r=fe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};B.derToOid=function(t){var e;typeof t=="string"&&(t=fe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};B.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var d=parseInt(t.substr(f+1,2),10),p=parseInt(t.substr(f+4,2),10);u=d*60+p,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};B.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.integerToDer=function(t){var e=fe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};B.derToInteger=function(t){typeof t=="string"&&(t=fe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};B.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&fe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=B.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var pp=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
28
|
+
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case B.Class.UNIVERSAL:n+="Universal:";break;case B.Class.APPLICATION:n+="Application:";break;case B.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case B.Class.PRIVATE:n+="Private:";break}if(t.tagClass===B.Class.UNIVERSAL)switch(n+=t.type,t.type){case B.Type.NONE:n+=" (None)";break;case B.Type.BOOLEAN:n+=" (Boolean)";break;case B.Type.INTEGER:n+=" (Integer)";break;case B.Type.BITSTRING:n+=" (Bit string)";break;case B.Type.OCTETSTRING:n+=" (Octet string)";break;case B.Type.NULL:n+=" (Null)";break;case B.Type.OID:n+=" (Object Identifier)";break;case B.Type.ODESC:n+=" (Object Descriptor)";break;case B.Type.EXTERNAL:n+=" (External or Instance of)";break;case B.Type.REAL:n+=" (Real)";break;case B.Type.ENUMERATED:n+=" (Enumerated)";break;case B.Type.EMBEDDED:n+=" (Embedded PDV)";break;case B.Type.UTF8:n+=" (UTF8)";break;case B.Type.ROID:n+=" (Relative Object Identifier)";break;case B.Type.SEQUENCE:n+=" (Sequence)";break;case B.Type.SET:n+=" (Set)";break;case B.Type.PRINTABLESTRING:n+=" (Printable String)";break;case B.Type.IA5String:n+=" (IA5String (ASCII))";break;case B.Type.UTCTIME:n+=" (UTC time)";break;case B.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case B.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
29
29
|
`,n+=i+"Constructed: "+t.constructed+`
|
|
30
|
-
`,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=B.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===B.Type.OID){var c=B.derToOid(t.value);n+=c,Se.pki&&Se.pki.oids&&c in Se.pki.oids&&(n+=" ("+Se.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+Se.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+Se.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===B.Type.OCTETSTRING)bm.test(t.value)||(n+="("+t.value+") "),n+="0x"+Se.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=Se.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+Se.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:bm.test(t.value)?n+="0x"+Se.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Cl=T((ND,Sm)=>{var Je=fe();Ve();Sm.exports=Je.cipher=Je.cipher||{};Je.cipher.algorithms=Je.cipher.algorithms||{};Je.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Je.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Je.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Je.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Je.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Je.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Je.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Je.cipher.algorithms[t]=e};Je.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Je.cipher.algorithms?Je.cipher.algorithms[t]:null};var Tl=Je.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Tl.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Je.util.createBuffer(),this.output=t.output||Je.util.createBuffer(),this.mode.start(e)};Tl.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Tl.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Bl=T((kD,Am)=>{var je=fe();Ve();je.cipher=je.cipher||{};var Q=Am.exports=je.cipher.modes=je.cipher.modes||{};Q.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.ecb.prototype.start=function(t){};Q.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Q.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Q.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Q.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Q.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Q.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=aa(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Q.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Q.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Q.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Q.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Q.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=je.util.createBuffer(),this._partialBytes=0};Q.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=aa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=je.util.createBuffer(),this._partialBytes=0};Q.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=aa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Q.ofb.prototype.decrypt=Q.ofb.prototype.encrypt;Q.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=je.util.createBuffer(),this._partialBytes=0};Q.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=aa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Q.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ca(this._inBlock)};Q.ctr.prototype.decrypt=Q.ctr.prototype.encrypt;Q.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=je.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Q.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=je.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=je.util.createBuffer(t.additionalData):r=je.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=je.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Dl(n*8)))}this._inBlock=this._j0.slice(0),ca(this._inBlock),this._partialBytes=0,r=je.util.createBuffer(r),this._aDataLength=Dl(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(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}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),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ca(this._inBlock)};Q.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ca(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Q.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=je.util.createBuffer();var n=this._aDataLength.concat(Dl(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Q.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(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(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Q.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};Q.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Q.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};Q.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function aa(t,e){if(typeof t=="string"&&(t=je.util.createBuffer(t)),je.util.isArray(t)&&t.length>4){var r=t;t=je.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!je.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ca(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Dl(t){return[t/4294967296|0,t&4294967295]}});var la=T((OD,Cm)=>{var ve=fe();Cl();Bl();Ve();Cm.exports=ve.aes=ve.aes||{};ve.aes.startEncrypting=function(t,e,r,n){var i=ua({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ve.aes.createEncryptionCipher=function(t,e){return ua({key:t,output:null,decrypt:!1,mode:e})};ve.aes.startDecrypting=function(t,e,r,n){var i=ua({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ve.aes.createDecryptionCipher=function(t,e){return ua({key:t,output:null,decrypt:!0,mode:e})};ve.aes.Algorithm=function(t,e){Nl||Im();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Pl(r._w,n,i,!1)},decrypt:function(n,i){return Pl(r._w,n,i,!0)}}}),r._init=!1};ve.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=ve.util.createBuffer(e);else if(ve.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ve.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ve.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!ve.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Tm(e,t.decrypt&&!s),this._init=!0}};ve.aes._expandKey=function(t,e){return Nl||Im(),Tm(t,e)};ve.aes._updateBlock=Pl;Ti("AES-ECB",ve.cipher.modes.ecb);Ti("AES-CBC",ve.cipher.modes.cbc);Ti("AES-CFB",ve.cipher.modes.cfb);Ti("AES-OFB",ve.cipher.modes.ofb);Ti("AES-CTR",ve.cipher.modes.ctr);Ti("AES-GCM",ve.cipher.modes.gcm);function Ti(t,e){var r=function(){return new ve.aes.Algorithm(t,e)};ve.cipher.registerAlgorithm(t,r)}var Nl=!1,Ii=4,lt,Ll,Rm,kn,Ht;function Im(){Nl=!0,Rm=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;lt=new Array(256),Ll=new Array(256),kn=new Array(4),Ht=new Array(4);for(var e=0;e<4;++e)kn[e]=new Array(256),Ht[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,lt[r]=a,Ll[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)kn[f][r]=u,Ht[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Tm(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Ii*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=lt[n>>>16&255]<<24^lt[n>>>8&255]<<16^lt[n&255]<<8^lt[n>>>24]^Rm[i]<<24,i++):o>6&&c%o===4&&(n=lt[n>>>24]<<24^lt[n>>>16&255]<<16^lt[n>>>8&255]<<8^lt[n&255]),r[c]=r[c-o]^n;if(e){var u,l=Ht[0],f=Ht[1],h=Ht[2],d=Ht[3],p=r.slice(0);a=r.length;for(var c=0,m=a-Ii;c<a;c+=Ii,m-=Ii)if(c===0||c===a-Ii)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<Ii;++y)u=r[m+y],p[c+(3&-y)]=l[lt[u>>>24]]^f[lt[u>>>16&255]]^h[lt[u>>>8&255]]^d[lt[u&255]];r=p}return r}function Pl(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Ht[0],s=Ht[1],a=Ht[2],c=Ht[3],u=Ll):(o=kn[0],s=kn[1],a=kn[2],c=kn[3],u=lt);var l,f,h,d,p,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)p=o[l>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[d&255]^t[++g],m=o[f>>>24]^s[h>>>16&255]^a[d>>>8&255]^c[l&255]^t[++g],y=o[h>>>24]^s[d>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],d=o[d>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=p,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[d>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>24]<<24^u[d>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g]}function ua(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ve.cipher.createDecipher(r,t.key):n=ve.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ve.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Lm=T((MD,Bm)=>{var De=fe();Cl();Bl();Ve();Bm.exports=De.des=De.des||{};De.des.startEncrypting=function(t,e,r,n){var i=fa({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};De.des.createEncryptionCipher=function(t,e){return fa({key:t,output:null,decrypt:!1,mode:e})};De.des.startDecrypting=function(t,e,r,n){var i=fa({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};De.des.createDecryptionCipher=function(t,e){return fa({key:t,output:null,decrypt:!0,mode:e})};De.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Dm(r._keys,n,i,!1)},decrypt:function(n,i){return Dm(r._keys,n,i,!0)}}}),r._init=!1};De.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=De.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=C2(e),this._init=!0}};ar("DES-ECB",De.cipher.modes.ecb);ar("DES-CBC",De.cipher.modes.cbc);ar("DES-CFB",De.cipher.modes.cfb);ar("DES-OFB",De.cipher.modes.ofb);ar("DES-CTR",De.cipher.modes.ctr);ar("3DES-ECB",De.cipher.modes.ecb);ar("3DES-CBC",De.cipher.modes.cbc);ar("3DES-CFB",De.cipher.modes.cfb);ar("3DES-OFB",De.cipher.modes.ofb);ar("3DES-CTR",De.cipher.modes.ctr);function ar(t,e){var r=function(){return new De.des.Algorithm(t,e)};De.cipher.registerAlgorithm(t,r)}var v2=[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],b2=[-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],_2=[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],S2=[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],A2=[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],R2=[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],I2=[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],T2=[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 C2(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,_,k=0;k<m;k++){var C=t.getInt32(),D=t.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=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|o[C>>>12&15]|s[C>>>8&15]|a[C>>>4&15],Ye=c[D>>>28]|u[D>>>24&15]|l[D>>>20&15]|f[D>>>16&15]|h[D>>>12&15]|d[D>>>8&15]|p[D>>>4&15];_=(Ye>>>16^J)&65535,y[x++]=J^_,y[x++]=Ye^_<<16}}return y}function Dm(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=o[u+1],f=o[u+2],h=o[u];h!=l;h+=f){var d=c^t[h],p=(c>>>4|c<<28)^t[h+1];s=a,a=c,c=s^(b2[d>>>24&63]|S2[d>>>16&63]|R2[d>>>8&63]|T2[d&63]|v2[p>>>24&63]|_2[p>>>16&63]|A2[p>>>8&63]|I2[p&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function fa(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=De.cipher.createDecipher(r,t.key):n=De.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof De.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var On=T((UD,Pm)=>{var ha=fe();Pm.exports=ha.md=ha.md||{};ha.md.algorithms=ha.md.algorithms||{}});var km=T((FD,Nm)=>{var Dr=fe();On();Ve();var D2=Nm.exports=Dr.hmac=Dr.hmac||{};D2.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in Dr.md.algorithms)e=Dr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=Dr.util.createBuffer(s);else if(Dr.util.isArray(s)){var a=s;s=Dr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=Dr.util.createBuffer(),n=Dr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var kl=T((KD,Om)=>{var ft=fe();km();On();Ve();var B2=ft.pkcs5=ft.pkcs5||{},Br;ft.util.isNodejs&&!ft.options.usePureJavaScript&&(Br=Tn());Om.exports=ft.pbkdf2=B2.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ft.util.isNodejs&&!ft.options.usePureJavaScript&&Br.pbkdf2&&(i===null||typeof i!="object")&&(Br.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?Br.pbkdf2Sync.length===4?Br.pbkdf2(t,e,r,n,function(_,k){if(_)return o(_);o(null,k.toString("binary"))}):Br.pbkdf2(t,e,r,n,i,function(_,k){if(_)return o(_);o(null,k.toString("binary"))}):Br.pbkdf2Sync.length===4?Br.pbkdf2Sync(t,e,r,n).toString("binary"):Br.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ft.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ft.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,l=ft.hmac.create();l.start(i,t);var f="",h,d,p;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(ft.util.int32ToBytes(m)),h=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),d=l.digest().getBytes(),h=ft.util.xorBytes(h,d,s),p=d;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return o(null,f);l.start(null,null),l.update(e),l.update(ft.util.int32ToBytes(m)),h=p=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(p),d=l.digest().getBytes(),h=ft.util.xorBytes(h,d,s),p=d,++y,ft.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Fm=T((VD,Um)=>{var pa=fe();Ve();var Mm=Um.exports=pa.pem=pa.pem||{};Mm.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
31
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=
|
|
32
|
-
`),r+=
|
|
30
|
+
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=B.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===B.Type.OID){var c=B.derToOid(t.value);n+=c,fe.pki&&fe.pki.oids&&c in fe.pki.oids&&(n+=" ("+fe.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+fe.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+fe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===B.Type.OCTETSTRING)pp.test(t.value)||(n+="("+t.value+") "),n+="0x"+fe.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=fe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+fe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:pp.test(t.value)?n+="0x"+fe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Uu=I((IT,yp)=>{var ke=se();Te();yp.exports=ke.cipher=ke.cipher||{};ke.cipher.algorithms=ke.cipher.algorithms||{};ke.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};ke.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};ke.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),ke.cipher.algorithms[t]=e};ke.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in ke.cipher.algorithms?ke.cipher.algorithms[t]:null};var Fu=ke.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Fu.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=ke.util.createBuffer(),this.output=t.output||ke.util.createBuffer(),this.mode.start(e)};Fu.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Fu.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Vu=I((CT,gp)=>{var Oe=se();Te();Oe.cipher=Oe.cipher||{};var z=gp.exports=Oe.cipher.modes=Oe.cipher.modes||{};z.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.ecb.prototype.start=function(t){};z.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};z.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Do(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};z.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};z.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};z.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Do(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Do(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};z.ofb.prototype.decrypt=z.ofb.prototype.encrypt;z.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0};z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Do(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}No(this._inBlock)};z.ctr.prototype.decrypt=z.ctr.prototype.encrypt;z.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Oe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Oe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Oe.util.createBuffer(t.additionalData):r=Oe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Oe.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Ku(n*8)))}this._inBlock=this._j0.slice(0),No(this._inBlock),this._partialBytes=0,r=Oe.util.createBuffer(r),this._aDataLength=Ku(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};z.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),No(this._inBlock)};z.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),No(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Oe.util.createBuffer();var n=this._aDataLength.concat(Ku(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};z.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};z.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};z.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};z.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};z.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};z.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Do(t,e){if(typeof t=="string"&&(t=Oe.util.createBuffer(t)),Oe.util.isArray(t)&&t.length>4){var r=t;t=Oe.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Oe.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function No(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ku(t){return[t/4294967296|0,t&4294967295]}});var Oo=I((TT,Ep)=>{var le=se();Uu();Vu();Te();Ep.exports=le.aes=le.aes||{};le.aes.startEncrypting=function(t,e,r,n){var i=ko({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};le.aes.createEncryptionCipher=function(t,e){return ko({key:t,output:null,decrypt:!1,mode:e})};le.aes.startDecrypting=function(t,e,r,n){var i=ko({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};le.aes.createDecryptionCipher=function(t,e){return ko({key:t,output:null,decrypt:!0,mode:e})};le.aes.Algorithm=function(t,e){zu||xp();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return $u(r._w,n,i,!1)},decrypt:function(n,i){return $u(r._w,n,i,!0)}}}),r._init=!1};le.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=le.util.createBuffer(e);else if(le.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=le.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!le.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!le.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=vp(e,t.decrypt&&!o),this._init=!0}};le.aes._expandKey=function(t,e){return zu||xp(),vp(t,e)};le.aes._updateBlock=$u;ti("AES-ECB",le.cipher.modes.ecb);ti("AES-CBC",le.cipher.modes.cbc);ti("AES-CFB",le.cipher.modes.cfb);ti("AES-OFB",le.cipher.modes.ofb);ti("AES-CTR",le.cipher.modes.ctr);ti("AES-GCM",le.cipher.modes.gcm);function ti(t,e){var r=function(){return new le.aes.Algorithm(t,e)};le.cipher.registerAlgorithm(t,r)}var zu=!1,ei=4,Ye,qu,wp,sn,Ct;function xp(){zu=!0,wp=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;Ye=new Array(256),qu=new Array(256),sn=new Array(4),Ct=new Array(4);for(var e=0;e<4;++e)sn[e]=new Array(256),Ct[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Ye[r]=a,qu[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)sn[f][r]=u,Ct[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function vp(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=ei*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Ye[n>>>16&255]<<24^Ye[n>>>8&255]<<16^Ye[n&255]<<8^Ye[n>>>24]^wp[i]<<24,i++):s>6&&c%s===4&&(n=Ye[n>>>24]<<24^Ye[n>>>16&255]<<16^Ye[n>>>8&255]<<8^Ye[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Ct[0],f=Ct[1],h=Ct[2],d=Ct[3],p=r.slice(0);a=r.length;for(var c=0,m=a-ei;c<a;c+=ei,m-=ei)if(c===0||c===a-ei)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<ei;++y)u=r[m+y],p[c+(3&-y)]=l[Ye[u>>>24]]^f[Ye[u>>>16&255]]^h[Ye[u>>>8&255]]^d[Ye[u&255]];r=p}return r}function $u(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Ct[0],o=Ct[1],a=Ct[2],c=Ct[3],u=qu):(s=sn[0],o=sn[1],a=sn[2],c=sn[3],u=Ye);var l,f,h,d,p,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)p=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[l&255]^t[++g],y=s[h>>>24]^o[d>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],d=s[d>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=p,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[d>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>24]<<24^u[d>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g]}function ko(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=le.cipher.createDecipher(r,t.key):n=le.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof le.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Sp=I((BT,_p)=>{var ye=se();Uu();Vu();Te();_p.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=Mo({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return Mo({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=Mo({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return Mo({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return bp(r._keys,n,i,!1)},decrypt:function(n,i){return bp(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=H2(e),this._init=!0}};Kt("DES-ECB",ye.cipher.modes.ecb);Kt("DES-CBC",ye.cipher.modes.cbc);Kt("DES-CFB",ye.cipher.modes.cfb);Kt("DES-OFB",ye.cipher.modes.ofb);Kt("DES-CTR",ye.cipher.modes.ctr);Kt("3DES-ECB",ye.cipher.modes.ecb);Kt("3DES-CBC",ye.cipher.modes.cbc);Kt("3DES-CFB",ye.cipher.modes.cfb);Kt("3DES-OFB",ye.cipher.modes.ofb);Kt("3DES-CTR",ye.cipher.modes.ctr);function Kt(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var M2=[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],F2=[-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],U2=[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],K2=[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],V2=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],q2=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],$2=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],z2=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function H2(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,_,N=0;N<m;N++){var C=t.getInt32(),T=t.getInt32();_=(C>>>4^T)&252645135,T^=_,C^=_<<4,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>2^T)&858993459,T^=_,C^=_<<2,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=(T>>>8^C)&16711935,C^=_,T^=_<<8,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=C<<8|T>>>20&240,C=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=_;for(var H=0;H<g.length;++H){g[H]?(C=C<<2|C>>>26,T=T<<2|T>>>26):(C=C<<1|C>>>27,T=T<<1|T>>>27),C&=-15,T&=-15;var W=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|s[C>>>12&15]|o[C>>>8&15]|a[C>>>4&15],De=c[T>>>28]|u[T>>>24&15]|l[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|p[T>>>4&15];_=(De>>>16^W)&65535,y[x++]=W^_,y[x++]=De^_<<16}}return y}function bp(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],h=s[u];h!=l;h+=f){var d=c^t[h],p=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(F2[d>>>24&63]|K2[d>>>16&63]|q2[d>>>8&63]|z2[d&63]|M2[p>>>24&63]|U2[p>>>16&63]|V2[p>>>8&63]|$2[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 Mo(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ye.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var on=I((PT,Ap)=>{var Fo=se();Ap.exports=Fo.md=Fo.md||{};Fo.md.algorithms=Fo.md.algorithms||{}});var Ip=I((LT,Rp)=>{var ir=se();on();Te();var G2=Rp.exports=ir.hmac=ir.hmac||{};G2.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in ir.md.algorithms)e=ir.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=ir.util.createBuffer(o);else if(ir.util.isArray(o)){var a=o;o=ir.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=ir.util.createBuffer(),n=ir.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var Hu=I((DT,Cp)=>{var We=se();Ip();on();Te();var Y2=We.pkcs5=We.pkcs5||{},sr;We.util.isNodejs&&!We.options.usePureJavaScript&&(sr=jr());Cp.exports=We.pbkdf2=Y2.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),We.util.isNodejs&&!We.options.usePureJavaScript&&sr.pbkdf2&&(i===null||typeof i!="object")&&(sr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?sr.pbkdf2Sync.length===4?sr.pbkdf2(t,e,r,n,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):sr.pbkdf2(t,e,r,n,i,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):sr.pbkdf2Sync.length===4?sr.pbkdf2Sync(t,e,r,n).toString("binary"):sr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in We.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=We.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=We.hmac.create();l.start(i,t);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(We.util.int32ToBytes(m)),h=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),d=l.digest().getBytes(),h=We.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(We.util.int32ToBytes(m)),h=p=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(p),d=l.digest().getBytes(),h=We.util.xorBytes(h,d,o),p=d,++y,We.util.setImmediate(x);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Pp=I((NT,Bp)=>{var Ko=se();Te();var Tp=Bp.exports=Ko.pem=Ko.pem||{};Tp.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
31
|
+
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Uo(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Uo(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Uo(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Uo(t.headers[i]);return t.procType&&(r+=`\r
|
|
32
|
+
`),r+=Ko.util.encode64(t.body,e.maxline||64)+`\r
|
|
33
33
|
`,r+="-----END "+t.type+`-----\r
|
|
34
|
-
`,r};
|
|
35
|
-
`;for(var
|
|
36
|
-
`+e.substr(
|
|
37
|
-
`+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function L2(t){return t.replace(/^\s+/,"")}});var Hm=T((qD,zm)=>{var cr=fe();On();Ve();var Vm=zm.exports=cr.sha256=cr.sha256||{};cr.md.sha256=cr.md.algorithms.sha256=Vm;Vm.create=function(){qm||P2();var t=null,e=cr.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=cr.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=cr.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),Km(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=cr.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ol.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Km(f,r,i);var h=cr.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 Ol=null,qm=!1,$m=null;function P2(){Ol=String.fromCharCode(128),Ol+=cr.util.fillString(String.fromCharCode(0),64),$m=[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],qm=!0}function Km(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,d,p,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,d=t.h3,p=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+s+a+$m[u]+e[u],i=o+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+d|0,t.h4=t.h4+p|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var Ym=T(($D,Gm)=>{var ur=fe();Ve();var ma=null;ur.util.isNodejs&&!ur.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ma=Tn());var N2=Gm.exports=ur.prng=ur.prng||{};N2.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,h=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed,m=ur.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return ur.util.nextTick(function(){o(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=d(f(e.key,h(e.seed))),e.seed=p(f(e.key,e.seed)),ur.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var p=ur.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,p.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=d(l(e.key,e.seed))}return p.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=ur.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(C){return h.getRandomValues(C)});var d=ur.util.createBuffer();if(l)for(;d.length()<u;){var p=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<u)for(var g,x,_,k=Math.floor(Math.random()*65536);d.length()<u;){x=16807*(k&65535),g=16807*(k>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),k=x&4294967295;for(var y=0;y<3;++y)_=k>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(u)}return ma?(e.seedFile=function(u,l){ma.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return ma.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function d(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(d,p){u.postMessage({forge:{prng:{err:d,bytes:p}}})})};u.addEventListener("message",l)}},e}});var vo=T((zD,Ml)=>{var et=fe();la();Hm();Ym();Ve();(function(){if(et.random&&et.random.getBytes){Ml.exports=et.random;return}(function(t){var e={},r=new Array(4),n=et.util.createBuffer();e.formatKey=function(f){var h=et.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),et.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=et.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return et.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=et.md.sha256;function i(){var f=et.prng.create(e);return f.getBytes=function(h,d){return f.generate(h,d)},f.getBytesSync=function(h){return f.generate(h)},f}var o=i(),s=null,a=et.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),et.options.usePureJavaScript||!et.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),t().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!et.random)et.random=o;else for(var l in o)et.random[l]=o[l];et.random.createInstance=i,Ml.exports=et.random})(typeof jQuery<"u"?jQuery:null)})()});var Zm=T((HD,Xm)=>{var pt=fe();Ve();var Ul=[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],Wm=[1,2,3,5],k2=function(t,e){return t<<e&65535|(t&65535)>>16-e},O2=function(t,e){return(t&65535)>>e|t<<16-e&65535};Xm.exports=pt.rc2=pt.rc2||{};pt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=pt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ul[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ul[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ul[r.at(a+1)^r.at(a+o)]);return r};var Qm=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=pt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=k2(p[u],Wm[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=O2(p[u],Wm[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var h=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var x=0;x<p[g][0];x++)p[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=pt.util.createBuffer(p)),n=!1,i=pt.util.createBuffer(),o=m||new pt.util.createBuffer,s=p,d.output=o},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,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},d};pt.rc2.startEncrypting=function(t,e,r){var n=pt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};pt.rc2.createEncryptionCipher=function(t,e){return Qm(t,e,!0)};pt.rc2.startDecrypting=function(t,e,r){var n=pt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};pt.rc2.createDecryptionCipher=function(t,e){return Qm(t,e,!1)}});var wa=T((GD,oy)=>{var Fl=fe();oy.exports=Fl.jsbn=Fl.jsbn||{};var Lr,M2=0xdeadbeefcafe,Jm=(M2&16777215)==15715070;function A(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Fl.jsbn.BigInteger=A;function oe(){return new A(null)}function U2(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function F2(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*s;c=s*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function jm(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*s;c=s*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=jm,Lr=28):Jm&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=F2,Lr=30):Jm&&navigator.appName!="Netscape"?(A.prototype.am=U2,Lr=26):(A.prototype.am=jm,Lr=28);A.prototype.DB=Lr;A.prototype.DM=(1<<Lr)-1;A.prototype.DV=1<<Lr;var Kl=52;A.prototype.FV=Math.pow(2,Kl);A.prototype.F1=Kl-Lr;A.prototype.F2=2*Lr-Kl;var K2="0123456789abcdefghijklmnopqrstuvwxyz",ya=new Array,Ci,Dt;Ci="0".charCodeAt(0);for(Dt=0;Dt<=9;++Dt)ya[Ci++]=Dt;Ci="a".charCodeAt(0);for(Dt=10;Dt<36;++Dt)ya[Ci++]=Dt;Ci="A".charCodeAt(0);for(Dt=10;Dt<36;++Dt)ya[Ci++]=Dt;function ey(t){return K2.charAt(t)}function ty(t,e){var r=ya[t.charCodeAt(e)];return r??-1}function V2(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function q2(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function on(t){var e=oe();return e.fromInt(t),e}function $2(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:ty(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function z2(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function H2(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=ey(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=ey(n));return i?o:"0"}function G2(){var t=oe();return A.ZERO.subTo(this,t),t}function Y2(){return this.s<0?this.negate():this}function W2(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function ga(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function Q2(){return this.t<=0?0:this.DB*(this.t-1)+ga(this.data[this.t-1]^this.s&this.DM)}function X2(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function Z2(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function J2(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function j2(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function eb(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function tb(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&A.ZERO.subTo(e,e)}function rb(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function nb(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=oe());var o=oe(),s=this.s,a=t.s,c=this.DB-ga(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,l=o.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=e??oe();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),A.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+p)*d);if((r.data[m]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&A.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&A.ZERO.subTo(r,r)}}}function ib(t){var e=oe();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(A.ZERO)>0&&t.subTo(e,e),e}function Mn(t){this.m=t}function ob(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function sb(t){return t}function ab(t){t.divRemTo(this.m,null,t)}function cb(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function ub(t,e){t.squareTo(e),this.reduce(e)}Mn.prototype.convert=ob;Mn.prototype.revert=sb;Mn.prototype.reduce=ab;Mn.prototype.mulTo=cb;Mn.prototype.sqrTo=ub;function lb(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Un(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function fb(t){var e=oe();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(A.ZERO)>0&&this.m.subTo(e,e),e}function hb(t){var e=oe();return t.copyTo(e),this.reduce(e),e}function db(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function pb(t,e){t.squareTo(e),this.reduce(e)}function mb(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Un.prototype.convert=fb;Un.prototype.revert=hb;Un.prototype.reduce=db;Un.prototype.mulTo=mb;Un.prototype.sqrTo=pb;function yb(){return(this.t>0?this.data[0]&1:this.s)==0}function gb(t,e){if(t>4294967295||t<1)return A.ONE;var r=oe(),n=oe(),i=e.convert(this),o=ga(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function wb(t,e){var r;return t<256||e.isEven()?r=new Mn(e):r=new Un(e),this.exp(t,r)}A.prototype.copyTo=V2;A.prototype.fromInt=q2;A.prototype.fromString=$2;A.prototype.clamp=z2;A.prototype.dlShiftTo=X2;A.prototype.drShiftTo=Z2;A.prototype.lShiftTo=J2;A.prototype.rShiftTo=j2;A.prototype.subTo=eb;A.prototype.multiplyTo=tb;A.prototype.squareTo=rb;A.prototype.divRemTo=nb;A.prototype.invDigit=lb;A.prototype.isEven=yb;A.prototype.exp=gb;A.prototype.toString=H2;A.prototype.negate=G2;A.prototype.abs=Y2;A.prototype.compareTo=W2;A.prototype.bitLength=Q2;A.prototype.mod=ib;A.prototype.modPowInt=wb;A.ZERO=on(0);A.ONE=on(1);function Eb(){var t=oe();return this.copyTo(t),t}function xb(){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 vb(){return this.t==0?this.s:this.data[0]<<24>>24}function bb(){return this.t==0?this.s:this.data[0]<<16>>16}function _b(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Sb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ab(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=on(r),i=oe(),o=oe(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Rb(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=ty(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function Ib(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(A.ONE.shiftLeft(t-1),Vl,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(A.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Tb(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Cb(t){return this.compareTo(t)==0}function Db(t){return this.compareTo(t)<0?this:t}function Bb(t){return this.compareTo(t)>0?this:t}function Lb(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Pb(t,e){return t&e}function Nb(t){var e=oe();return this.bitwiseTo(t,Pb,e),e}function Vl(t,e){return t|e}function kb(t){var e=oe();return this.bitwiseTo(t,Vl,e),e}function ry(t,e){return t^e}function Ob(t){var e=oe();return this.bitwiseTo(t,ry,e),e}function ny(t,e){return t&~e}function Mb(t){var e=oe();return this.bitwiseTo(t,ny,e),e}function Ub(){for(var t=oe(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function Fb(t){var e=oe();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Kb(t){var e=oe();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Vb(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function qb(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Vb(this.data[t]);return this.s<0?this.t*this.DB:-1}function $b(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function zb(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=$b(this.data[r]^e);return t}function Hb(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Gb(t,e){var r=A.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Yb(t){return this.changeBit(t,Vl)}function Wb(t){return this.changeBit(t,ny)}function Qb(t){return this.changeBit(t,ry)}function Xb(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function Zb(t){var e=oe();return this.addTo(t,e),e}function Jb(t){var e=oe();return this.subTo(t,e),e}function jb(t){var e=oe();return this.multiplyTo(t,e),e}function e_(t){var e=oe();return this.divRemTo(t,e,null),e}function t_(t){var e=oe();return this.divRemTo(t,null,e),e}function r_(t){var e=oe(),r=oe();return this.divRemTo(t,e,r),new Array(e,r)}function n_(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function i_(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function bo(){}function iy(t){return t}function o_(t,e,r){t.multiplyTo(e,r)}function s_(t,e){t.squareTo(e)}bo.prototype.convert=iy;bo.prototype.revert=iy;bo.prototype.mulTo=o_;bo.prototype.sqrTo=s_;function a_(t){return this.exp(t,new bo)}function c_(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function u_(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Di(t){this.r2=oe(),this.q3=oe(),A.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function l_(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=oe();return t.copyTo(e),this.reduce(e),e}function f_(t){return t}function h_(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function d_(t,e){t.squareTo(e),this.reduce(e)}function p_(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Di.prototype.convert=l_;Di.prototype.revert=f_;Di.prototype.reduce=h_;Di.prototype.mulTo=p_;Di.prototype.sqrTo=d_;function m_(t,e){var r=t.bitLength(),n,i=on(1),o;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?o=new Mn(e):e.isEven()?o=new Di(e):o=new Un(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=oe();for(o.sqrTo(s[1],l);a<=u;)s[a]=oe(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,h,d=!0,p=oe(),m;for(r=ga(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),d)s[h].copyTo(i),d=!1;else{for(;a>1;)o.sqrTo(i,p),o.sqrTo(p,i),a-=2;a>0?o.sqrTo(i,p):(m=i,i=p,p=m),o.mulTo(p,s[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function y_(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function g_(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function w_(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return A.ZERO;for(var r=t.clone(),n=this.clone(),i=on(1),o=on(0),s=on(0),a=on(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Gt=[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],E_=(1<<26)/Gt[Gt.length-1];function x_(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Gt[Gt.length-1]){for(e=0;e<Gt.length;++e)if(r.data[0]==Gt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Gt.length;){for(var n=Gt[e],i=e+1;i<Gt.length&&n<E_;)n*=Gt[i++];for(n=r.modInt(n);e<i;)if(n%Gt[e++]==0)return!1}return r.millerRabin(t)}function v_(t){var e=this.subtract(A.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=b_(),o,s=0;s<t;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function b_(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=_b;A.prototype.toRadix=Ab;A.prototype.fromRadix=Rb;A.prototype.fromNumber=Ib;A.prototype.bitwiseTo=Lb;A.prototype.changeBit=Gb;A.prototype.addTo=Xb;A.prototype.dMultiply=n_;A.prototype.dAddOffset=i_;A.prototype.multiplyLowerTo=c_;A.prototype.multiplyUpperTo=u_;A.prototype.modInt=g_;A.prototype.millerRabin=v_;A.prototype.clone=Eb;A.prototype.intValue=xb;A.prototype.byteValue=vb;A.prototype.shortValue=bb;A.prototype.signum=Sb;A.prototype.toByteArray=Tb;A.prototype.equals=Cb;A.prototype.min=Db;A.prototype.max=Bb;A.prototype.and=Nb;A.prototype.or=kb;A.prototype.xor=Ob;A.prototype.andNot=Mb;A.prototype.not=Ub;A.prototype.shiftLeft=Fb;A.prototype.shiftRight=Kb;A.prototype.getLowestSetBit=qb;A.prototype.bitCount=zb;A.prototype.testBit=Hb;A.prototype.setBit=Yb;A.prototype.clearBit=Wb;A.prototype.flipBit=Qb;A.prototype.add=Zb;A.prototype.subtract=Jb;A.prototype.multiply=jb;A.prototype.divide=e_;A.prototype.remainder=t_;A.prototype.divideAndRemainder=r_;A.prototype.modPow=m_;A.prototype.modInverse=w_;A.prototype.pow=a_;A.prototype.gcd=y_;A.prototype.isProbablePrime=x_});var ly=T((YD,uy)=>{var lr=fe();On();Ve();var ay=uy.exports=lr.sha1=lr.sha1||{};lr.md.sha1=lr.md.algorithms.sha1=ay;ay.create=function(){cy||__();var t=null,e=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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=lr.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=lr.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),sy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=lr.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(ql.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};sy(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 ql=null,cy=!1;function __(){ql=String.fromCharCode(128),ql+=lr.util.fillString(String.fromCharCode(0),64),cy=!0}function sy(t,e,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var dy=T((WD,hy)=>{var fr=fe();Ve();vo();ly();var fy=hy.exports=fr.pkcs1=fr.pkcs1||{};fy.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=fr.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var l=o.digest(),f="",h=c-e.length,d=0;d<h;d++)f+="\0";var p=l.getBytes()+f+""+e;if(!i)i=fr.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var m=Ea(i,a-o.digestLength-1,s),y=fr.util.xorBytes(p,m,p.length),g=Ea(y,o.digestLength,s),x=fr.util.xorBytes(i,g,i.length);return"\0"+x+y};fy.decode_rsa_oaep=function(t,e,r){var n,i,o;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&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=fr.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=Ea(l,i.digestLength,o),h=fr.util.xorBytes(u,f,u.length),d=Ea(h,s-i.digestLength-1,o),p=fr.util.xorBytes(l,d,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,_=i.digestLength,k=i.digestLength;k<p.length;k++){var C=p.charCodeAt(k),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 Ea(t,e,r){r||(r=fr.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var py=T((QD,$l)=>{var sn=fe();Ve();wa();vo();(function(){if(sn.prime){$l.exports=sn.prime;return}var t=$l.exports=sn.prime=sn.prime||{},e=sn.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,d){typeof h=="function"&&(d=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=h.prng||sn.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=x.charCodeAt(_)}};if(p.name==="PRIMEINC")return o(f,y,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function o(f,h,d,p){return"workers"in d?c(f,h,d,p):s(f,h,d,p)}function s(f,h,d,p){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var x=10;"maxBlockTime"in d&&(x=d.maxBlockTime),a(m,f,h,y,g,x,p)}function a(f,h,d,p,m,y,g){var x=+new Date;do{if(f.bitLength()>h&&(f=u(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-x<y);sn.util.setImmediate(function(){a(f,h,d,p,m,y,g)})}function c(f,h,d,p){if(typeof Worker>"u")return s(f,h,d,p);var m=u(f,h),y=d.workers,g=d.workLoad||100,x=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return sn.util.estimateCores(function(C,D){C&&(D=2),y=D-1,k()});k();function k(){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",Ye);var J=!1;function Ye(Ot){if(!J){--X;var wt=Ot.data;if(wt.found){for(var at=0;at<C.length;++at)C[at].terminate();return J=!0,p(null,new e(wt.prime,16))}m.bitLength()>f&&(m=u(f,h));var ei=m.toString(16);Ot.target.postMessage({hex:ei,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var d=new e(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(e.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var va=T((XD,vy)=>{var K=fe();xo();wa();oa();dy();py();vo();Ve();typeof te>"u"&&(te=K.jsbn.BigInteger);var te,zl=K.util.isNodejs?Tn():null,v=K.asn1,Bt=K.util;K.pki=K.pki||{};vy.exports=K.pki.rsa=K.rsa=K.rsa||{};var q=K.pki,S_=[6,4,2,4,2,4,6,2],A_={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"}]},R_={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"}]},I_={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"}]},T_=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"}]}]},C_={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"}]},D_=function(t){var e;if(t.algorithm in q.oids)e=q.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),o=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);o.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),o.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var s=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),v.toDer(i).getBytes()},Ey=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(te.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(te.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new te(K.util.bytesToHex(K.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(te.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};q.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=xy(t,e,r)):(i=K.util.createBuffer(),i.putBytes(t));for(var s=new te(i.toHex(),16),a=Ey(s,e,n),c=a.toString(16),u=K.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(K.util.hexToBytes(c)),u.getBytes()};q.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new te(K.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ey(s,e,r),c=a.toString(16),u=K.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(K.util.hexToBytes(c)),n!==!1?xa(u.getBytes(),e,r):u.getBytes()};q.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||K.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new te(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};q.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new te(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new te(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(te.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(L_(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(S_[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(te.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:q.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:q.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};q.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!K.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(my("generateKeyPair"))return zl.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(yy("generateKey")&&yy("exportKey"))return Bt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:wy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Bt.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(gy("generateKey")&&gy("exportKey")){var i=Bt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:wy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Bt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=q.privateKeyFromAsn1(v.fromDer(K.util.createBuffer(f)));n(null,{privateKey:h,publicKey:q.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(my("generateKeyPairSync")){var o=zl.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(o.privateKey),publicKey:q.publicKeyFromPem(o.publicKey)}}}var s=q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return q.rsa.stepKeyPairGenerationState(s,0),s.keys;B_(s,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return xy(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,o)}};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 s=i.encode(n,r,!0);return q.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=xa(u,r,!0);var l=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,C_,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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=xa(u,r,!0),c===u}});var a=q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:xa};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(d,p){return K.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(h,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:D_},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return q.rsa.encrypt(h,c,f)},c};q.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};q.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,A_,e,r)&&(t=v.fromDer(K.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,R_,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,l,f;return i=K.util.createBuffer(e.privateKeyModulus).toHex(),o=K.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=K.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=K.util.createBuffer(e.privateKeyPrime1).toHex(),c=K.util.createBuffer(e.privateKeyPrime2).toHex(),u=K.util.createBuffer(e.privateKeyExponent1).toHex(),l=K.util.createBuffer(e.privateKeyExponent2).toHex(),f=K.util.createBuffer(e.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new te(i,16),new te(o,16),new te(s,16),new te(a,16),new te(c,16),new te(u,16),new te(l,16),new te(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.qInv))])};q.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,T_,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,I_,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=K.util.createBuffer(e.publicKeyModulus).toHex(),s=K.util.createBuffer(e.publicKeyExponent).toHex();return q.setRsaPublicKey(new te(o,16),new te(s,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(q.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(t)])])};q.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,hr(t.e))])};function xy(t,e,r){var n=K.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,l=K.random.getBytes(s),c=0;c<s;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function xa(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=K.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var l=o.getByte();if(l!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function B_(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){K.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.p=null,i();return}if(t.q.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(te.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:q.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:q.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function hr(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=K.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function L_(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function my(t){return K.util.isNodejs&&typeof zl[t]=="function"}function yy(t){return typeof Bt.globalScope<"u"&&typeof Bt.globalScope.crypto=="object"&&typeof Bt.globalScope.crypto.subtle=="object"&&typeof Bt.globalScope.crypto.subtle[t]=="function"}function gy(t){return typeof Bt.globalScope<"u"&&typeof Bt.globalScope.msCrypto=="object"&&typeof Bt.globalScope.msCrypto.subtle=="object"&&typeof Bt.globalScope.msCrypto.subtle[t]=="function"}function wy(t){for(var e=K.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Iy=T((ZD,Ry)=>{var L=fe();la();xo();Lm();On();oa();kl();Fm();vo();Zm();va();Ve();typeof by>"u"&&(by=L.jsbn.BigInteger);var by,b=L.asn1,z=L.pki=L.pki||{};Ry.exports=z.pbe=L.pbe=L.pbe||{};var Fn=z.oids,P_={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"}]},N_={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"}]}]},k_={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"}]};z.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=L.random.getBytesSync(r.saltSize),i=r.count,o=b.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":s=16,u=16,l=Fn["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=Fn["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=Fn["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=Fn.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=Ay(d),m=L.pkcs5.pbkdf2(e,n,i,s,p),y=L.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes();var x=O_(n,o,s,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Fn.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(Fn.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(l).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var _=new L.util.ByteBuffer(n),m=z.pbe.generatePkcs12Key(e,_,1,i,s),y=z.pbe.generatePkcs12Key(e,_,2,i,s),g=L.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Fn["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,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var k=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return k};z.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!b.validate(t,P_,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=b.derToOid(n.encryptionOid),a=z.pbe.getCipher(s,n.encryptionParams,e),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};z.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(t).getBytes()};return L.pem.encode(r,{maxline:e})};z.encryptedPrivateKeyFromPem=function(t){var e=L.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(e.body)};z.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=z.wrapRsaPrivateKey(z.privateKeyToAsn1(t));return n=z.encryptPrivateKeyInfo(n,e,r),z.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=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 u=L.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(b.toDer(z.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return L.pem.encode(f)};z.decryptRsaPrivateKey=function(t,e){var r=null,n=L.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=L.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=L.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=L.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=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(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(L.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=z.decryptPrivateKeyInfo(b.fromDer(r),e):r=b.fromDer(r),r!==null&&(r=z.privateKeyFromAsn1(r)),r};z.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');o=L.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new L.util.ByteBuffer,f=new L.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=e.length(),p=new L.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(h/u),x=new L.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var _=y;_.putBuffer(x);for(var k=Math.ceil(i/c),C=1;C<=k;C++){var D=new L.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(_.bytes());for(var X=0;X<n;X++)o.start(),o.update(D.getBytes()),D=o.digest();var J=new L.util.ByteBuffer;for(a=0;a<u;a++)J.putByte(D.at(a%c));var Ye=Math.ceil(d/u)+Math.ceil(h/u),Ot=new L.util.ByteBuffer;for(s=0;s<Ye;s++){var wt=new L.util.ByteBuffer(_.getBytes(u)),at=511;for(a=J.length()-1;a>=0;a--)at=at>>8,at+=J.at(a)+wt.at(a),wt.setAt(a,at&255);Ot.putBuffer(wt)}_=Ot,l.putBuffer(D)}return l.truncate(l.length()-i),l};z.pbe.getCipher=function(t,e,r){switch(t){case z.oids.pkcs5PBES2:return z.pbe.getCipherForPBES2(t,e,r);case z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case z.oids["pbewithSHAAnd40BitRC2-CBC"]:return z.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};z.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!b.validate(e,N_,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=b.derToOid(n.kdfOid),t!==z.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=b.derToOid(n.encOid),t!==z.oids["aes128-CBC"]&&t!==z.oids["aes192-CBC"]&&t!==z.oids["aes256-CBC"]&&t!==z.oids["des-EDE3-CBC"]&&t!==z.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(z.oids[t]){case"aes128-CBC":c=16,u=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=L.des.createDecryptionCipher;break;case"desCBC":c=8,u=L.des.createDecryptionCipher;break}var l=Sy(n.prfOid),f=L.pkcs5.pbkdf2(r,s,a,c,l),h=n.encIv,d=u(f);return d.start(h),d};z.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!b.validate(e,k_,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=L.des.startDecrypting;break;case z.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=L.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var f=Sy(n.prfOid),h=z.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var d=z.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(h,d)};z.pbe.opensslDeriveBytes=function(t,e,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()}e===null&&(e="");for(var i=[_y(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(_y(n,i[s-1]+t+e));return i.join("").substr(0,r)};function _y(t,e){return t.start().update(e).digest().getBytes()}function Sy(t){var e;if(!t)e="hmacWithSHA1";else if(e=z.oids[b.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Ay(e)}function Ay(t){var e=L.md;switch(t){case"hmacWithSHA224":e=L.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function O_(t,e,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,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(z.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Fy=T((DB,Uy)=>{var Ae=fe();On();Ve();var _o=Uy.exports=Ae.sha512=Ae.sha512||{};Ae.md.sha512=Ae.md.algorithms.sha512=_o;var Oy=Ae.sha384=Ae.sha512.sha384=Ae.sha512.sha384||{};Oy.create=function(){return _o.create("SHA-384")};Ae.md.sha384=Ae.md.algorithms.sha384=Oy;Ae.sha512.sha256=Ae.sha512.sha256||{create:function(){return _o.create("SHA-512/256")}};Ae.md["sha512/256"]=Ae.md.algorithms["sha512/256"]=Ae.sha512.sha256;Ae.sha512.sha224=Ae.sha512.sha224||{create:function(){return _o.create("SHA-512/224")}};Ae.md["sha512/224"]=Ae.md.algorithms["sha512/224"]=Ae.sha512.sha224;_o.create=function(t){if(My||F_(),typeof t>"u"&&(t="SHA-512"),!(t in Kn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Kn[t],r=null,n=Ae.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Ae.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Ae.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),ky(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Ae.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Hl.substr(0,a.blockLength-l));for(var f,h,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,h=f/4294967296>>>0,d+=h,c.putInt32(d>>>0),d=f>>>0;c.putInt32(d);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);ky(m,i,c);var y=Ae.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||t!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Hl=null,My=!1,Gl=null,Kn=null;function F_(){Hl=String.fromCharCode(128),Hl+=Ae.util.fillString(String.fromCharCode(0),128),Gl=[[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]],Kn={},Kn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Kn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Kn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Kn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],My=!0}function ky(t,e,r){for(var n,i,o,s,a,c,u,l,f,h,d,p,m,y,g,x,_,k,C,D,X,J,Ye,Ot,wt,at,ei,ts,qe,ht,V,_c,Sc,Ac,Rc,eh=r.length();eh>=128;){for(qe=0;qe<16;++qe)e[qe][0]=r.getInt32()>>>0,e[qe][1]=r.getInt32()>>>0;for(;qe<80;++qe)_c=e[qe-2],ht=_c[0],V=_c[1],n=((ht>>>19|V<<13)^(V>>>29|ht<<3)^ht>>>6)>>>0,i=((ht<<13|V>>>19)^(V<<3|ht>>>29)^(ht<<26|V>>>6))>>>0,Ac=e[qe-15],ht=Ac[0],V=Ac[1],o=((ht>>>1|V<<31)^(ht>>>8|V<<24)^ht>>>7)>>>0,s=((ht<<31|V>>>1)^(ht<<24|V>>>8)^(ht<<25|V>>>7))>>>0,Sc=e[qe-7],Rc=e[qe-16],V=i+Sc[1]+s+Rc[1],e[qe][0]=n+Sc[0]+o+Rc[0]+(V/4294967296>>>0)>>>0,e[qe][1]=V>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],_=t[2][0],k=t[2][1],C=t[3][0],D=t[3][1],X=t[4][0],J=t[4][1],Ye=t[5][0],Ot=t[5][1],wt=t[6][0],at=t[6][1],ei=t[7][0],ts=t[7][1],qe=0;qe<80;++qe)u=((X>>>14|J<<18)^(X>>>18|J<<14)^(J>>>9|X<<23))>>>0,l=((X<<18|J>>>14)^(X<<14|J>>>18)^(J<<23|X>>>9))>>>0,f=(wt^X&(Ye^wt))>>>0,h=(at^J&(Ot^at))>>>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|k&(y^x))>>>0,V=ts+l+h+Gl[qe][1]+e[qe][1],n=ei+u+f+Gl[qe][0]+e[qe][0]+(V/4294967296>>>0)>>>0,i=V>>>0,V=c+p,o=a+d+(V/4294967296>>>0)>>>0,s=V>>>0,ei=wt,ts=at,wt=Ye,at=Ot,Ye=X,Ot=J,V=D+i,X=C+n+(V/4294967296>>>0)>>>0,J=V>>>0,C=_,D=k,_=g,k=x,g=m,x=y,V=i+s,m=n+o+(V/4294967296>>>0)>>>0,y=V>>>0;V=t[0][1]+y,t[0][0]=t[0][0]+m+(V/4294967296>>>0)>>>0,t[0][1]=V>>>0,V=t[1][1]+x,t[1][0]=t[1][0]+g+(V/4294967296>>>0)>>>0,t[1][1]=V>>>0,V=t[2][1]+k,t[2][0]=t[2][0]+_+(V/4294967296>>>0)>>>0,t[2][1]=V>>>0,V=t[3][1]+D,t[3][0]=t[3][0]+C+(V/4294967296>>>0)>>>0,t[3][1]=V>>>0,V=t[4][1]+J,t[4][0]=t[4][0]+X+(V/4294967296>>>0)>>>0,t[4][1]=V>>>0,V=t[5][1]+Ot,t[5][0]=t[5][0]+Ye+(V/4294967296>>>0)>>>0,t[5][1]=V>>>0,V=t[6][1]+at,t[6][0]=t[6][0]+wt+(V/4294967296>>>0)>>>0,t[6][1]=V>>>0,V=t[7][1]+ts,t[7][0]=t[7][0]+ei+(V/4294967296>>>0)>>>0,t[7][1]=V>>>0,eh-=128}}});var Aw=T((Ek,Sw)=>{function xA(){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)}Sw.exports=xA});var LA={};rt(LA,{createLibp2p:()=>BA});var It=M(Tc(),1);var Pc={};rt(Pc,{base58btc:()=>Oe,base58flickr:()=>p1});function u1(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,x=p.length;g!==x&&p[g]===0;)g++,m++;for(var _=(x-g)*l+1>>>0,k=new Uint8Array(_);g!==x;){for(var C=p[g],D=0,X=_-1;(C!==0||D<y)&&X!==-1;X--,D++)C+=256*k[X]>>>0,k[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!==_&&k[J]===0;)J++;for(var Ye=c.repeat(m);J<_;++J)Ye+=t.charAt(k[J]);return Ye}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var x=(p.length-m)*u+1>>>0,_=new Uint8Array(x);p[m];){var k=r[p.charCodeAt(m)];if(k===255)return;for(var C=0,D=x-1;(k!==0||C<g)&&D!==-1;D--,C++)k+=a*_[D]>>>0,_[D]=k%256>>>0,k=k/256>>>0;if(k!==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)),Ye=y;X!==x;)J[Ye++]=_[X++];return J}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var l1=u1,f1=l1,oh=f1;var MA=new Uint8Array(0);var sh=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},wr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ah=t=>new TextEncoder().encode(t),ch=t=>new TextDecoder().decode(t);var Cc=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Dc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return lh(this,e)}},Bc=class{constructor(e){this.decoders=e}or(e){return lh(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},lh=(t,e)=>new Bc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Lc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Cc(e,r,n),this.decoder=new Dc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ii=({name:t,prefix:e,encode:r,decode:n})=>new Lc(t,e,r,n),Kr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=oh(r,e);return ii({prefix:t,name:e,encode:n,decode:o=>wr(i(o))})},h1=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},d1=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Pe=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ii({prefix:e,name:t,encode(i){return d1(i,n,r)},decode(i){return h1(i,n,r,t)}});var Oe=Kr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),p1=Kr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Nc={};rt(Nc,{base32:()=>xt,base32hex:()=>w1,base32hexpad:()=>x1,base32hexpadupper:()=>v1,base32hexupper:()=>E1,base32pad:()=>y1,base32padupper:()=>g1,base32upper:()=>m1,base32z:()=>b1});var xt=Pe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),m1=Pe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),y1=Pe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),g1=Pe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),w1=Pe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),E1=Pe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),x1=Pe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),v1=Pe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),b1=Pe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var kc={};rt(kc,{base64:()=>xn,base64pad:()=>_1,base64url:()=>S1,base64urlpad:()=>A1});var xn=Pe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),_1=Pe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),S1=Pe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),A1=Pe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});It.default.formatters.b=t=>t==null?"undefined":Oe.baseEncode(t);It.default.formatters.t=t=>t==null?"undefined":xt.baseEncode(t);It.default.formatters.m=t=>t==null?"undefined":xn.baseEncode(t);It.default.formatters.p=t=>t==null?"undefined":t.toString();It.default.formatters.c=t=>t==null?"undefined":t.toString();It.default.formatters.k=t=>t==null?"undefined":t.toString();function R1(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function U(t){let e=R1(`${t}:trace`);return It.default.enabled(`${t}:trace`)&&It.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,It.default)(`${t}:trace`)),Object.assign((0,It.default)(t),{error:(0,It.default)(`${t}:error`),trace:e})}var vn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Er,Xe=class extends EventTarget{constructor(){super(...arguments),Er.set(this,new Map)}listenerCount(e){let r=vn(this,Er,"f").get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=vn(this,Er,"f").get(e);i==null&&(i=[],vn(this,Er,"f").set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=vn(this,Er,"f").get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),vn(this,Er,"f").set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=vn(this,Er,"f").get(e.type);return n==null||(n=n.filter(({once:i})=>!i),vn(this,Er,"f").set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new G(e,r))}};Er=new WeakMap;var Oc=class extends Event{constructor(e,r){super(e,r),this.detail=r?.detail}},G=globalThis.CustomEvent??Oc;function xr(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var os=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(o*=e,o+=l,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var fh=45,I1=15,oi=new os;function Mc(t){if(!(t.length>I1))return oi.new(t).parseWith(()=>oi.readIPv4Addr())}function Uc(t){if(!(t.length>fh))return oi.new(t).parseWith(()=>oi.readIPv6Addr())}function ss(t){if(!(t.length>fh))return oi.new(t).parseWith(()=>oi.readIPAddr())}function hh(t){return!!Mc(t)}function dh(t){return!!Uc(t)}function si(t){return!!ss(t)}var Fc={};rt(Fc,{identity:()=>T1});var T1=ii({prefix:"\0",name:"identity",encode:t=>ch(t),decode:t=>ah(t)});var Kc={};rt(Kc,{base2:()=>C1});var C1=Pe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vc={};rt(Vc,{base8:()=>D1});var D1=Pe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qc={};rt(qc,{base10:()=>B1});var B1=Kr({prefix:"9",name:"base10",alphabet:"0123456789"});var $c={};rt($c,{base16:()=>L1,base16upper:()=>P1});var L1=Pe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),P1=Pe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var zc={};rt(zc,{base36:()=>N1,base36upper:()=>k1});var N1=Kr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k1=Kr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Hc={};rt(Hc,{base256emoji:()=>K1});var ph=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}"),O1=ph.reduce((t,e,r)=>(t[r]=e,t),[]),M1=ph.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function U1(t){return t.reduce((e,r)=>(e+=O1[r],e),"")}function F1(t){let e=[];for(let r of t){let n=M1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var K1=ii({prefix:"\u{1F680}",name:"base256emoji",encode:U1,decode:F1});var Qc={};rt(Qc,{sha256:()=>nt,sha512:()=>oE});var V1=gh,mh=128,q1=127,$1=~q1,z1=Math.pow(2,31);function gh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=z1;)e[r++]=t&255|mh,t/=128;for(;t&$1;)e[r++]=t&255|mh,t>>>=7;return e[r]=t|0,gh.bytes=r-n+1,e}var H1=Gc,G1=128,yh=127;function Gc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Gc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&yh)<<i:(s&yh)*Math.pow(2,i),i+=7}while(s>=G1);return Gc.bytes=o-n,r}var Y1=Math.pow(2,7),W1=Math.pow(2,14),Q1=Math.pow(2,21),X1=Math.pow(2,28),Z1=Math.pow(2,35),J1=Math.pow(2,42),j1=Math.pow(2,49),eE=Math.pow(2,56),tE=Math.pow(2,63),rE=function(t){return t<Y1?1:t<W1?2:t<Q1?3:t<X1?4:t<Z1?5:t<J1?6:t<j1?7:t<eE?8:t<tE?9:10},nE={encode:V1,decode:H1,encodingLength:rE},iE=nE,Gi=iE;var Yi=(t,e=0)=>[Gi.decode(t,e),Gi.decode.bytes],ai=(t,e,r=0)=>(Gi.encode(t,e,r),e),ci=t=>Gi.encodingLength(t);var Jt=(t,e)=>{let r=e.byteLength,n=ci(t),i=n+ci(r),o=new Uint8Array(i+r);return ai(t,o,0),ai(r,o,n),o.set(e,i),new ui(t,r,e,o)},bn=t=>{let e=wr(t),[r,n]=Yi(e),[i,o]=Yi(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new ui(r,i,s,e)},wh=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&sh(t.bytes,r.bytes)}},ui=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Wc=({name:t,code:e,encode:r})=>new Yc(t,e,r),Yc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Jt(this.code,r):r.then(n=>Jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var xh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),nt=Wc({name:"sha2-256",code:18,encode:xh("SHA-256")}),oE=Wc({name:"sha2-512",code:19,encode:xh("SHA-512")});var Xc={};rt(Xc,{identity:()=>Vr});var vh=0,sE="identity",bh=wr,aE=t=>Jt(vh,bh(t)),Vr={code:vh,name:sE,encode:bh,digest:aE};var mR=new TextEncoder,yR=new TextDecoder;var _h=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return fE(r,Zc(t),e||Oe.encoder);default:return hE(r,Zc(t),e||xt.encoder)}};var Sh=new WeakMap,Zc=t=>{let e=Sh.get(t);if(e==null){let r=new Map;return Sh.set(t,r),r}return e},Ee=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Wi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==dE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Ee.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Jt(e,r);return Ee.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return Ee.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&wh(e.multihash,n.multihash)}toString(e){return _h(this,e)}toJSON(){return{"/":_h(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof Ee)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new Ee(n,i,o,s||Ah(n,i,o.bytes))}else if(r[pE]===!0){let{version:n,multihash:i,code:o}=r,s=bn(i);return Ee.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Wi)throw new Error(`Version 0 CID must use dag-pb (code: ${Wi}) block encoding`);return new Ee(e,r,n,n.bytes)}case 1:{let i=Ah(e,r,n.bytes);return new Ee(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return Ee.create(0,Wi,e)}static createV1(e,r){return Ee.create(1,e,r)}static decode(e){let[r,n]=Ee.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=Ee.inspectBytes(e),n=r.size-r.multihashSize,i=wr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new ui(r.multihashCode,r.digestSize,o,i);return[r.version===0?Ee.createV0(s):Ee.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Yi(e.subarray(r));return r+=h,f},i=n(),o=Wi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=lE(e,r),o=Ee.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Zc(o).set(n,e),o}},lE=(t,e)=>{switch(t[0]){case"Q":{let r=e||Oe;return[Oe.prefix,r.decode(`${Oe.prefix}${t}`)]}case Oe.prefix:{let r=e||Oe;return[Oe.prefix,r.decode(t)]}case xt.prefix:{let r=e||xt;return[xt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},fE=(t,e,r)=>{let{prefix:n}=r;if(n!==Oe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},hE=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Wi=112,dE=18,Ah=(t,e,r)=>{let n=ci(t),i=n+ci(e),o=new Uint8Array(i+r.byteLength);return ai(t,o,0),ai(e,o,n),o.set(r,i),o},pE=Symbol.for("@ipld/js-cid/CID");var qr={...Fc,...Kc,...Vc,...qc,...$c,...Nc,...zc,...Pc,...kc,...Hc},RR={...Qc,...Xc};function Sn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function vr(t=0){return globalThis.Buffer?.alloc!=null?Sn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Mt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Sn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Ih(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Rh=Ih("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Jc=Ih("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Mt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),mE={utf8:Rh,"utf-8":Rh,hex:qr.base16,latin1:Jc,ascii:Jc,binary:Jc,...qr},cs=mE;function $(t,e="utf8"){let r=cs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Th=hh,yE=dh,jc=function(t){let e=0;if(t=t.toString().trim(),Th(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(yE(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Th(r[n]),s;o&&(s=jc(r[n]),r[n]=$(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,$(s.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 o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Ch=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Qi={},eu={},wE=[[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"]];wE.forEach(t=>{let e=EE(...t);eu[e.code]=e,Qi[e.name]=e});function EE(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function j(t){if(typeof t=="number"){if(eu[t]!=null)return eu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Qi[t]!=null)return Qi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var jt=M(us(),1);function F(t,e="utf8"){let r=cs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Sn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Me(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Mt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Sn(r)}var rI=parseInt("0xFFFF",16),nI=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var NI=j("ip4"),kI=j("ip6"),OI=j("ipcidr");function Hh(t,e){switch(j(t).code){case 4:case 41:return UE(e);case 42:return $h(e);case 6:case 273:case 33:case 132:return Yh(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $h(e);case 421:return qE(e);case 444:return zh(e);case 445:return zh(e);case 466:return VE(e);default:return $(e,"base16")}}function Gh(t,e){switch(j(t).code){case 4:return Vh(e);case 41:return Vh(e);case 42:return qh(e);case 6:case 273:case 33:case 132:return iu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return qh(e);case 421:return FE(e);case 444:return $E(e);case 445:return zE(e);case 466:return KE(e);default:return F(e,"base16")}}var nu=Object.values(qr).map(t=>t.decoder),ME=function(){let t=nu[0].or(nu[1]);return nu.slice(2).forEach(e=>t=t.or(e)),t}();function Vh(t){if(!si(t))throw new Error("invalid ip address");return jc(t)}function UE(t){let e=Ch(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!si(e))throw new Error("invalid ip address");return e}function iu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Yh(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function qh(t){let e=F(t),r=Uint8Array.from(jt.default.encode(e.length));return Me([r,e],r.length+e.length)}function $h(t){let e=jt.default.decode(t);if(t=t.slice(jt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return $(t)}function FE(t){let e;t[0]==="Q"||t[0]==="1"?e=bn(Oe.decode(`z${t}`)).bytes:e=Ee.parse(t).multihash.bytes;let r=Uint8Array.from(jt.default.encode(e.length));return Me([r,e],r.length+e.length)}function KE(t){let e=ME.decode(t),r=Uint8Array.from(jt.default.encode(e.length));return Me([r,e],r.length+e.length)}function VE(t){let e=jt.default.decode(t),r=t.slice(jt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+$(r,"base64url")}function qE(t){let e=jt.default.decode(t),r=t.slice(jt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return $(r,"base58btc")}function $E(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=xt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=iu(n);return Me([r,i],r.length+i.length)}function zE(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=xt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=iu(n);return Me([r,i],r.length+i.length)}function zh(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=$(e,"base32"),i=Yh(r);return`${n}:${i}`}var li=M(us(),1);function HE(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=j(i);if(o.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Qh("invalid address: "+t);if(o.path===!0){e.push([i,uu(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function GE(t){let e=[];return t.map(r=>{let n=hs(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),uu(e.join("/"))}function YE(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=hs(e);return e.length>1?[r.code,Gh(r.code,e[1])]:[r.code]})}function ou(t){return t.map(e=>{let r=hs(e);return e[1]!=null?[r.code,Hh(r.code,e[1])]:[r.code]})}function su(t){return fs(Me(t.map(e=>{let r=hs(e),n=Uint8Array.from(li.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Me([n,e[1]])),n})))}function au(t,e){return t.size>0?t.size/8:t.size===0?0:li.default.decode(e)+(li.default.decode.bytes??0)}function ls(t){let e=[],r=0;for(;r<t.length;){let n=li.default.decode(t,r),i=li.default.decode.bytes??0,o=j(n),s=au(o,t.slice(r+i));if(s===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+s);if(r+=s+i,r>t.length)throw Qh("Invalid address Uint8Array: "+$(t,"base16"));e.push([n,a])}return e}function cu(t){let e=ls(t),r=ou(e);return GE(r)}function WE(t){t=uu(t);let e=HE(t),r=YE(e);return su(r)}function Wh(t){return WE(t)}function fs(t){let e=QE(t);if(e!=null)throw e;return Uint8Array.from(t)}function QE(t){try{ls(t)}catch(e){return e}}function uu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Qh(t){return new Error("Error parsing address: "+t)}function hs(t){return j(t[0])}var fu=M(us(),1);var br=class extends Error{constructor(e="The operation was aborted"){super(e),this.code=br.code,this.type=br.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}},w=class extends Error{constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function xe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var fi=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},lu=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},Xi,Zi,Ji,Xh,ZE=Symbol.for("nodejs.util.inspect.custom"),JE=[j("dns").code,j("dns4").code,j("dns6").code,j("dnsaddr").code],hu=new Map,Zh=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Jh(t,e){if(t==null)throw new Error("requires node address object");if(e==null)throw new Error("requires transport protocol");let r,n=t.address;switch(t.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 er("/"+[r,n,e,t.port].join("/"))}function _r(t){return!!t?.[Zh]}var er=class{constructor(e){if(Xi.set(this,void 0),Zi.set(this,void 0),Ji.set(this,void 0),this[Xh]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=fs(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Wh(e)}else if(_r(e))this.bytes=fs(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return fi(this,Xi,"f")==null&&lu(this,Xi,cu(this.bytes),"f"),fi(this,Xi,"f")}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=j("tcp"),a=j("udp"),c=j("ip4"),u=j("ip6"),l=j("dns6"),f=j("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(o=`%${p??""}`),JE.includes(d)&&(r=s.name,i=443,n=`${p??""}${o}`,e=d===l.code?6:4),(d===s.code||d===a.code)&&(r=j(d).name,i=parseInt(p??"")),(d===c.code||d===u.code)&&(r=j(d).name,n=`${p??""}${o}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},j(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=fu.default.decode(r,n),o=fu.default.decode.bytes??0,s=j(i),a=au(s,r.slice(n+o));n+=a+o,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return fi(this,Zi,"f")==null&&lu(this,Zi,ls(this.bytes),"f"),fi(this,Zi,"f")}stringTuples(){return fi(this,Ji,"f")==null&&lu(this,Ji,ou(this.tuples()),"f"),fi(this,Ji,"f")}encapsulate(e){return e=new er(e),new er(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new er(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new er(su(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Qi.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?$(Oe.decode(`z${n}`),"base58btc"):$(Ee.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let e=null;try{e=this.stringTuples().filter(r=>j(r[0]).path===!0)[0][1],e==null&&(e=null)}catch{e=null}return e}equals(e){return xe(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=hu.get(r.name);if(n==null)throw new w(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new er(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Xi=new WeakMap,Zi=new WeakMap,Ji=new WeakMap,Xh=Zh,ZE)](){return`Multiaddr(${cu(this.bytes)})`}};function Te(t){return new er(t)}function jE(t){return t[Symbol.asyncIterator]!=null}function ex(t){if(jE(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var du=ex;function tx(t){return t[Symbol.asyncIterator]!=null}function rx(t,e){return tx(t)?async function*(){yield*(await du(t)).sort(e)}():function*(){yield*du(t).sort(e)}()}var pu=rx;function nx(t){return t[Symbol.asyncIterator]!=null}function ix(t){if(nx(t))return(async()=>{for await(let e of t);})();for(let e of t);}var mu=ix;function ox(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var ds=ox;function sx(t){return t[Symbol.asyncIterator]!=null}function ax(t,e){if(sx(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=ds(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var Ut=ax;function cx(t){return t[Symbol.asyncIterator]!=null}function ux(t,e){return cx(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var yu=ux;var ps=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await mu(this.putMany(e,n)),e=[],await mu(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Ut(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ut(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>pu(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Ut(n,()=>i++>=o)}return e.limit!=null&&(n=yu(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ut(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ut(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>pu(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Ut(n,()=>o++>=i)}return e.limit!=null&&(n=yu(n,e.limit)),n}};var ms=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Sr="/",jh=new TextEncoder().encode(Sr),ys=jh[0],Ne=class{constructor(e,r){if(typeof e=="string")this._buf=F(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==ys)throw new Error("Invalid key")}toString(e="utf8"){return $(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Ne(e.join(Sr))}static random(){return new Ne(ms().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Ne(e):typeof e.uint8Array=="function"?new Ne(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=jh),this._buf[0]!==ys){let e=new Uint8Array(this._buf.byteLength+1);e.fill(ys,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ys;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Ne.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Sr).slice(1)}type(){return lx(this.baseNamespace())}name(){return fx(this.baseNamespace())}instance(e){return new Ne(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Sr)||(e+=Sr),e+=this.type(),new Ne(e)}parent(){let e=this.list();return e.length===1?new Ne(Sr):new Ne(e.slice(0,-1).join(Sr))}child(e){return this.toString()===Sr?e:e.toString()===Sr?this:new Ne(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Ne.withNamespaces([...this.namespaces(),...hx(e.map(r=>r.namespaces()))])}};function lx(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function fx(t){let e=t.split(":");return e[e.length-1]}function hx(t){return[].concat(...t)}var rd=M(gs(),1);function nd(t){return t=t??new Error("Not Found"),(0,rd.default)(t,"ERR_NOT_FOUND")}var ws=class extends ps{constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw nd();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Ne(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Ne(e)}};var W;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(W||(W={}));var S;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(S||(S={}));function mx(t){return t[Symbol.asyncIterator]!=null}function yx(t,e){if(mx(t))return async function*(){for await(let a of t)yield e(a)}();let r=ds(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var Es=yx;async function*ji(t,e){yield*Es(t,async r=>(await e.addressBook.add(r.id,r.multiaddrs),r))}function xs(t){let e=new Set;return Ut(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*vs(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new w(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Sd=M($r(),1);var _s=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},hi=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new _s(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new _s(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function Ft(t={}){return Ex(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Ex(t,e){e=e??{};let r=e.onEnd,n=new hi,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((m,y)=>{o=g=>{o=null,n.push(g);try{m(t(n))}catch(x){y(x)}return i}}):t(n),c=m=>o!=null?o(m):(n.push(m),i),u=m=>(n=new hi,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>s?i:(s=!0,m!=null?u(m):c({done:!0})),h=()=>(n=new hi,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:l,end:f,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}async function*zr(...t){let e=Ft({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async r=>{for await(let n of r)e.push(n)})),e.end()}catch(r){e.end(r)}}),yield*e}var xx=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},ld=t=>t!=null&&(typeof t[Symbol.asyncIterator]=="function"||typeof t[Symbol.iterator]=="function"||typeof t.next=="function"),wu=t=>t!=null&&typeof t.sink=="function"&&ld(t.source),vx=t=>e=>{let r=t.sink(e);if(r.then!=null){let n=Ft({objectMode:!0});return r.then(()=>{n.end()},o=>{n.end(o)}),zr(n,async function*(){yield*t.source,n.end()}())}return t.source};function We(t,...e){if(wu(t)){let n=t;t=()=>n.source}else if(ld(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&wu(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++)wu(r[n])&&(r[n]=vx(r[n]));return xx(...r)}async function dt(t){for await(let e of t)return e}async function Hr(t){for await(let e of t);}var Is=M(hd(),1),Ad=M(Ar(),1),_d=U("libp2p:peer-routing"),Rs=class{constructor(e,r){this.components=e,this.routers=r.routers??[],this.refreshManagerInit=r.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,Is.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new Sd.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,Ad.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Hr(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(e){_d.error(e)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,Is.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(e,r){if(this.routers.length===0)throw new w("No peer routers available",S.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new w("Should not try to find self",S.ERR_FIND_SELF);let n=await We(zr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){_d.error(o)}}())),i=>Ut(i,Boolean),i=>ji(i,this.components.peerStore),async i=>await dt(i));if(n!=null)return n;throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new w("No peer routers available",S.ERR_NO_ROUTERS_AVAILABLE);yield*We(zr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>ji(n,this.components.peerStore),n=>xs(n),n=>vs(n))}};var Ts=class{constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new w("No content this.routers available",S.ERR_NO_ROUTERS_AVAILABLE);yield*We(zr(...this.routers.map(n=>n.findProviders(e,r))),n=>ji(n,this.components.peerStore),n=>xs(n),n=>vs(n))}async provide(e,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(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new w(W.NOT_STARTED_YET,S.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Hr(i.put(e,r,n))}async get(e,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(e,r))if(i.name==="VALUE")return i.value}throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getMany(e,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,o=this.components.dht;if(o!=null){for await(let s of o.get(e,n))if(s.name==="VALUE"&&(yield{from:s.from,val:s.value},i++,i===r))break}if(i===0)throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}};var xu=Symbol.for("@libp2p/peer-id");function Rd(t){return t!=null&&!!t[xu]}var Lx=Symbol.for("nodejs.util.inspect.custom"),Id=Object.values(qr).map(t=>t.decoder).reduce((t,e)=>t.or(e),qr.identity.decoder),Td=114,vu=36,bu=37,to=class{constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[xu](){return!0}toString(){return this.string==null&&(this.string=Oe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ee.createV1(Td,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return xe(this.multihash.bytes,e);if(typeof e=="string")return ae(e).equals(this);if(e?.multihash?.bytes!=null)return xe(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Lx](){return`PeerId(${this.toString()})`}},An=class extends to{constructor(e){super({...e,type:"RSA"}),this.type="RSA",this.publicKey=e.publicKey}},Rn=class extends to{constructor(e){super({...e,type:"Ed25519"}),this.type="Ed25519",this.publicKey=e.multihash.digest}},In=class extends to{constructor(e){super({...e,type:"secp256k1"}),this.type="secp256k1",this.publicKey=e.multihash.digest}};function Ue(t){if(t.type==="RSA")return new An(t);if(t.type==="Ed25519")return new Rn(t);if(t.type==="secp256k1")return new In(t);throw new w("Not a PeerId","ERR_INVALID_PARAMETERS")}function ae(t,e){if(e=e??Id,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=bn(Oe.decode(`z${t}`));return t.startsWith("12D")?new Rn({multihash:r}):t.startsWith("16U")?new In({multihash:r}):new An({multihash:r})}return Gr(Id.decode(t))}function Gr(t){try{let e=bn(t);if(e.code===Vr.code){if(e.digest.length===vu)return new Rn({multihash:e});if(e.digest.length===bu)return new In({multihash:e})}if(e.code===nt.code)return new An({multihash:e})}catch{return Px(Ee.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Px(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Td)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===nt.code)return new An({multihash:t.multihash});if(e.code===Vr.code){if(e.digest.length===vu)return new Rn({multihash:t.multihash});if(e.digest.length===bu)return new In({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Yr(t,e){return t.length===vu?new Rn({multihash:Jt(Vr.code,t),privateKey:e}):t.length===bu?new In({multihash:Jt(Vr.code,t),privateKey:e}):new An({multihash:await nt.digest(t),publicKey:t,privateKey:e})}var Nx=t=>t;function _u(t,e){let r=t.getPeerId();return r!=null&&ae(r).equals(e)&&(t=t.decapsulate(Te(`/p2p/${e.toString()}`))),t}var Cs=class extends Xe{constructor(e,r){super();let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??Nx}getListenAddrs(){return Array.from(this.listen).map(e=>Te(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Te(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Te(e))}addObservedAddr(e){e=_u(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=_u(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this.dispatchEvent(new G("change:addresses"))}removeObservedAddr(e){e=_u(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Te(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var np=M(Ar(),1);var Cd="keep-alive";var ip=M(S0(),1);var yv=U("libp2p:get-peer");function Bs(t){if(Rd(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:ae(r),t.forEach(n=>{if(!_r(n))throw yv.error("multiaddr %s was invalid",n),new w("Invalid Multiaddr",S.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new w("Multiaddrs must all have the same peer id or have no peer id",S.ERR_INVALID_PARAMETERS)}else{let o=ae(i);if(e==null||!e.equals(o))throw new w("Multiaddrs must all have the same peer id or have no peer id",S.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Rr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Ir=class{constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return Rr(this.map.entries(),e=>[ae(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ae(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Rr(this.map.keys(),e=>ae(e))}values(){return this.map.values()}get size(){return this.map.size}};var Tr=class{constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Rr(this.set.entries(),e=>{let r=ae(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ae(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Rr(this.set.values(),e=>ae(e))}intersection(e){let r=new Tr;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new Tr;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new Tr;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Ei=class{constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Rr(this.list.entries(),e=>ae(e[1]))}concat(e){let r=new Ei(this);for(let n of e)r.push(n);return r}entries(){return Rr(this.list.entries(),e=>[e[0],ae(e[1])])}every(e){return this.list.every((r,n)=>e(ae(r),n,this))}filter(e){let r=new Ei;return this.list.forEach((n,i)=>{let o=ae(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(ae(n),i,this));if(r!=null)return ae(r)}findIndex(e){return this.list.findIndex((r,n)=>e(ae(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(ae(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return ae(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return ae(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var k0=M(R0(),1);var oo=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Uu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},I0=t=>globalThis.DOMException===void 0?new Uu(t):new DOMException(t),T0=t=>{let e=t.reason===void 0?I0("This operation was aborted."):t.reason;return e instanceof Error?e:I0(e)};function Fu(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(T0(c)),c.addEventListener("abort",()=>{a(T0(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new oo(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function Ku(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Cn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Cr,so=class{constructor(){Cr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Cn(this,Cr,"f")[this.size-1].priority>=r.priority){Cn(this,Cr,"f").push(n);return}let i=Ku(Cn(this,Cr,"f"),n,(o,s)=>s.priority-o.priority);Cn(this,Cr,"f").splice(i,0,n)}dequeue(){let e=Cn(this,Cr,"f").shift();return e?.run}filter(e){return Cn(this,Cr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Cn(this,Cr,"f").length}};Cr=new WeakMap;var Le=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},N=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Fe,co,uo,Qr,Us,lo,Ps,Kt,ao,bt,Ns,_t,fo,Wr,ks,C0,D0,P0,B0,L0,Os,Vu,qu,Fs,N0,Ms,Ks=class extends Error{},Vt=class extends k0.default{constructor(e){var r,n,i,o;if(super(),Fe.add(this),co.set(this,void 0),uo.set(this,void 0),Qr.set(this,0),Us.set(this,void 0),lo.set(this,void 0),Ps.set(this,0),Kt.set(this,void 0),ao.set(this,void 0),bt.set(this,void 0),Ns.set(this,void 0),_t.set(this,0),fo.set(this,void 0),Wr.set(this,void 0),ks.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:so,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);Le(this,co,e.carryoverConcurrencyCount,"f"),Le(this,uo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Le(this,Us,e.intervalCap,"f"),Le(this,lo,e.interval,"f"),Le(this,bt,new e.queueClass,"f"),Le(this,Ns,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Le(this,ks,e.throwOnTimeout===!0,"f"),Le(this,Wr,e.autoStart===!1,"f")}get concurrency(){return N(this,fo,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Le(this,fo,e,"f"),N(this,Fe,"m",Fs).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:N(this,ks,"f"),...r},new Promise((n,i)=>{N(this,bt,"f").enqueue(async()=>{var o,s,a;Le(this,_t,(s=N(this,_t,"f"),s++,s),"f"),Le(this,Qr,(a=N(this,Qr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ks("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Fu(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,N(this,Fe,"m",N0).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof oo&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{N(this,Fe,"m",P0).call(this)}},r),this.emit("add"),N(this,Fe,"m",Os).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return N(this,Wr,"f")?(Le(this,Wr,!1,"f"),N(this,Fe,"m",Fs).call(this),this):this}pause(){Le(this,Wr,!0,"f")}clear(){Le(this,bt,new(N(this,Ns,"f")),"f")}async onEmpty(){N(this,bt,"f").size!==0&&await N(this,Fe,"m",Ms).call(this,"empty")}async onSizeLessThan(e){N(this,bt,"f").size<e||await N(this,Fe,"m",Ms).call(this,"next",()=>N(this,bt,"f").size<e)}async onIdle(){N(this,_t,"f")===0&&N(this,bt,"f").size===0||await N(this,Fe,"m",Ms).call(this,"idle")}get size(){return N(this,bt,"f").size}sizeBy(e){return N(this,bt,"f").filter(e).length}get pending(){return N(this,_t,"f")}get isPaused(){return N(this,Wr,"f")}};co=new WeakMap,uo=new WeakMap,Qr=new WeakMap,Us=new WeakMap,lo=new WeakMap,Ps=new WeakMap,Kt=new WeakMap,ao=new WeakMap,bt=new WeakMap,Ns=new WeakMap,_t=new WeakMap,fo=new WeakMap,Wr=new WeakMap,ks=new WeakMap,Fe=new WeakSet,C0=function(){return N(this,uo,"f")||N(this,Qr,"f")<N(this,Us,"f")},D0=function(){return N(this,_t,"f")<N(this,fo,"f")},P0=function(){var e;Le(this,_t,(e=N(this,_t,"f"),e--,e),"f"),N(this,Fe,"m",Os).call(this),this.emit("next")},B0=function(){N(this,Fe,"m",qu).call(this),N(this,Fe,"m",Vu).call(this),Le(this,ao,void 0,"f")},L0=function(){let e=Date.now();if(N(this,Kt,"f")===void 0){let r=N(this,Ps,"f")-e;if(r<0)Le(this,Qr,N(this,co,"f")?N(this,_t,"f"):0,"f");else return N(this,ao,"f")===void 0&&Le(this,ao,setTimeout(()=>{N(this,Fe,"m",B0).call(this)},r),"f"),!0}return!1},Os=function(){if(N(this,bt,"f").size===0)return N(this,Kt,"f")&&clearInterval(N(this,Kt,"f")),Le(this,Kt,void 0,"f"),this.emit("empty"),N(this,_t,"f")===0&&this.emit("idle"),!1;if(!N(this,Wr,"f")){let e=!N(this,Fe,"a",L0);if(N(this,Fe,"a",C0)&&N(this,Fe,"a",D0)){let r=N(this,bt,"f").dequeue();return r?(this.emit("active"),r(),e&&N(this,Fe,"m",Vu).call(this),!0):!1}}return!1},Vu=function(){N(this,uo,"f")||N(this,Kt,"f")!==void 0||(Le(this,Kt,setInterval(()=>{N(this,Fe,"m",qu).call(this)},N(this,lo,"f")),"f"),Le(this,Ps,Date.now()+N(this,lo,"f"),"f"))},qu=function(){N(this,Qr,"f")===0&&N(this,_t,"f")===0&&N(this,Kt,"f")&&(clearInterval(N(this,Kt,"f")),Le(this,Kt,void 0,"f")),Le(this,Qr,N(this,co,"f")?N(this,_t,"f"):0,"f"),N(this,Fe,"m",Fs).call(this)},Fs=function(){for(;N(this,Fe,"m",Os).call(this););},N0=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ks("The task was aborted."))},{once:!0})})},Ms=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var tr=U("libp2p:connection-manager:auto-dial"),Vs={minConnections:50,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},qs=class{constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Vs.minConnections,this.autoDialPriority=r.autoDialPriority??Vs.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Vs.autoDialInterval,this.started=!1,this.queue=new Vt({concurrency:r.autoDialConcurrency??Vs.autoDialConcurrency}),this.queue.addListener("error",n=>{tr.error("error during auto-dial",n)})}isStarted(){return this.started}start(){this.autoDialInterval=setInterval(()=>{this.autoDial().catch(e=>{tr.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{tr.error("error while autodialing",e)})}stop(){this.queue.clear(),clearInterval(this.autoDialInterval),this.started=!1}async autoDial(){let e=this.connectionManager.getConnections().length;if(e>=this.minConnections){tr("have enough connections %d/%d",e,this.minConnections);return}tr("not enough connections %d/%d - will dial peers to increase the number of connections",e,this.minConnections);let r=await this.peerStore.all();tr("loaded %d peers from the peer store",r.length),r=r.filter(o=>o.addresses.length!==0),r=r.sort(()=>Math.random()>.5?1:-1);let n=new Ir;for(let o of r){if(n.has(o.id))continue;let s=await this.peerStore.getTags(o.id);n.set(o.id,(s??[]).reduce((a,c)=>a+c.value,0))}let i=r.sort((o,s)=>{let a=n.get(o.id)??0,c=n.get(s.id)??0;return a>c?-1:a<c?1:0});tr("selected %d peers to dial",i.length);for(let o of i)this.queue.add(async()=>{let s=this.connectionManager.getConnections().length;if(s>=this.minConnections){tr("got enough connections now %d/%d",s,this.minConnections),this.queue.clear();return}tr("connecting to a peerStore stored peer %p",o.id),await this.connectionManager.openConnection(o.id,{priority:this.autoDialPriority})}).catch(s=>{tr.error("could not connect to peerStore stored peer",s)})}};var tp=M($r(),1);var q0=M(O0(),1);var M0="[a-fA-F\\d:]",Xr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${M0})|(?<=${M0})(?=\\s|$))`:"",qt="(?: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}",$e="[a-fA-F\\d]{1,4}",$s=`
|
|
34
|
+
`,r};Tp.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Ko.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(s=l.match(n),s){for(var d={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)d.values.push(W2(p[m]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Uo(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
35
|
+
`;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
|
|
36
|
+
`+e.substr(o)):e=e.substr(0,o)+`\r
|
|
37
|
+
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function W2(t){return t.replace(/^\s+/,"")}});var Mp=I((kT,Op)=>{var Vt=se();on();Te();var Dp=Op.exports=Vt.sha256=Vt.sha256||{};Vt.md.sha256=Vt.md.algorithms.sha256=Dp;Dp.create=function(){Np||Q2();var t=null,e=Vt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Vt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Vt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Lp(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Gu.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Lp(f,r,i);var h=Vt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Gu=null,Np=!1,kp=null;function Q2(){Gu=String.fromCharCode(128),Gu+=Vt.util.fillString(String.fromCharCode(0),64),kp=[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],Np=!0}function Lp(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,d=t.h3,p=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+o+a+kp[u]+e[u],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+d|0,t.h4=t.h4+p|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var Up=I((OT,Fp)=>{var qt=se();Te();var Vo=null;qt.util.isNodejs&&!qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Vo=jr());var X2=Fp.exports=qt.prng=qt.prng||{};X2.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,h=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed,m=qt.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return qt.util.nextTick(function(){s(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=d(f(e.key,h(e.seed))),e.seed=p(f(e.key,e.seed)),qt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var p=qt.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,p.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=d(l(e.key,e.seed))}return p.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=qt.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(C){return h.getRandomValues(C)});var d=qt.util.createBuffer();if(l)for(;d.length()<u;){var p=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<u)for(var g,x,_,N=Math.floor(Math.random()*65536);d.length()<u;){x=16807*(N&65535),g=16807*(N>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),N=x&4294967295;for(var y=0;y<3;++y)_=N>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(u)}return Vo?(e.seedFile=function(u,l){Vo.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Vo.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function d(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(d,p){u.postMessage({forge:{prng:{err:d,bytes:p}}})})};u.addEventListener("message",l)}},e}});var ji=I((MT,Yu)=>{var Me=se();Oo();Mp();Up();Te();(function(){if(Me.random&&Me.random.getBytes){Yu.exports=Me.random;return}(function(t){var e={},r=new Array(4),n=Me.util.createBuffer();e.formatKey=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Me.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return Me.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Me.md.sha256;function i(){var f=Me.prng.create(e);return f.getBytes=function(h,d){return f.generate(h,d)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=Me.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Me.options.usePureJavaScript||!Me.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Me.random)Me.random=s;else for(var l in s)Me.random[l]=s[l];Me.random.createInstance=i,Yu.exports=Me.random})(typeof jQuery<"u"?jQuery:null)})()});var $p=I((FT,qp)=>{var Xe=se();Te();var Wu=[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],Kp=[1,2,3,5],Z2=function(t,e){return t<<e&65535|(t&65535)>>16-e},j2=function(t,e){return(t&65535)>>e|t<<16-e&65535};qp.exports=Xe.rc2=Xe.rc2||{};Xe.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Xe.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Wu[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Wu[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Wu[r.at(a+1)^r.at(a+s)]);return r};var Vp=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Xe.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=Z2(p[u],Kp[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=j2(p[u],Kp[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var h=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var x=0;x<p[g][0];x++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=Xe.util.createBuffer(p)),n=!1,i=Xe.util.createBuffer(),s=m||new Xe.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(r)if(p)m=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!r&&(m=i.length()===0,m))if(p)m=p(8,s,!r);else{var g=s.length(),x=s.at(g-1);x>g?m=!1:s.truncate(x)}return m}},d};Xe.rc2.startEncrypting=function(t,e,r){var n=Xe.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Xe.rc2.createEncryptionCipher=function(t,e){return Vp(t,e,!0)};Xe.rc2.startDecrypting=function(t,e,r){var n=Xe.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Xe.rc2.createDecryptionCipher=function(t,e){return Vp(t,e,!1)}});var zo=I((UT,Zp)=>{var Qu=se();Zp.exports=Qu.jsbn=Qu.jsbn||{};var or,J2=0xdeadbeefcafe,zp=(J2&16777215)==15715070;function S(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Qu.jsbn.BigInteger=S;function ee(){return new S(null)}function ev(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function tv(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Hp(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=Hp,or=28):zp&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=tv,or=30):zp&&navigator.appName!="Netscape"?(S.prototype.am=ev,or=26):(S.prototype.am=Hp,or=28);S.prototype.DB=or;S.prototype.DM=(1<<or)-1;S.prototype.DV=1<<or;var Xu=52;S.prototype.FV=Math.pow(2,Xu);S.prototype.F1=Xu-or;S.prototype.F2=2*or-Xu;var rv="0123456789abcdefghijklmnopqrstuvwxyz",qo=new Array,ri,yt;ri="0".charCodeAt(0);for(yt=0;yt<=9;++yt)qo[ri++]=yt;ri="a".charCodeAt(0);for(yt=10;yt<36;++yt)qo[ri++]=yt;ri="A".charCodeAt(0);for(yt=10;yt<36;++yt)qo[ri++]=yt;function Gp(t){return rv.charAt(t)}function Yp(t,e){var r=qo[t.charCodeAt(e)];return r??-1}function nv(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function iv(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Cr(t){var e=ee();return e.fromInt(t),e}function sv(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Yp(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function ov(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function av(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Gp(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Gp(n));return i?s:"0"}function cv(){var t=ee();return S.ZERO.subTo(this,t),t}function uv(){return this.s<0?this.negate():this}function lv(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function $o(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function fv(){return this.t<=0?0:this.DB*(this.t-1)+$o(this.data[this.t-1]^this.s&this.DM)}function hv(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function dv(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function pv(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function mv(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function yv(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function gv(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&S.ZERO.subTo(e,e)}function wv(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function xv(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ee());var s=ee(),o=this.s,a=t.s,c=this.DB-$o(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/f,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=e??ee();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+p)*d);if((r.data[m]+=s.am(0,x,r,y,0,u))<x)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&S.ZERO.subTo(r,r)}}}function vv(t){var e=ee();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function an(t){this.m=t}function Ev(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function bv(t){return t}function _v(t){t.divRemTo(this.m,null,t)}function Sv(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Av(t,e){t.squareTo(e),this.reduce(e)}an.prototype.convert=Ev;an.prototype.revert=bv;an.prototype.reduce=_v;an.prototype.mulTo=Sv;an.prototype.sqrTo=Av;function Rv(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function cn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Iv(t){var e=ee();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function Cv(t){var e=ee();return t.copyTo(e),this.reduce(e),e}function Tv(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Bv(t,e){t.squareTo(e),this.reduce(e)}function Pv(t,e,r){t.multiplyTo(e,r),this.reduce(r)}cn.prototype.convert=Iv;cn.prototype.revert=Cv;cn.prototype.reduce=Tv;cn.prototype.mulTo=Pv;cn.prototype.sqrTo=Bv;function Lv(){return(this.t>0?this.data[0]&1:this.s)==0}function Dv(t,e){if(t>4294967295||t<1)return S.ONE;var r=ee(),n=ee(),i=e.convert(this),s=$o(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function Nv(t,e){var r;return t<256||e.isEven()?r=new an(e):r=new cn(e),this.exp(t,r)}S.prototype.copyTo=nv;S.prototype.fromInt=iv;S.prototype.fromString=sv;S.prototype.clamp=ov;S.prototype.dlShiftTo=hv;S.prototype.drShiftTo=dv;S.prototype.lShiftTo=pv;S.prototype.rShiftTo=mv;S.prototype.subTo=yv;S.prototype.multiplyTo=gv;S.prototype.squareTo=wv;S.prototype.divRemTo=xv;S.prototype.invDigit=Rv;S.prototype.isEven=Lv;S.prototype.exp=Dv;S.prototype.toString=av;S.prototype.negate=cv;S.prototype.abs=uv;S.prototype.compareTo=lv;S.prototype.bitLength=fv;S.prototype.mod=vv;S.prototype.modPowInt=Nv;S.ZERO=Cr(0);S.ONE=Cr(1);function kv(){var t=ee();return this.copyTo(t),t}function Ov(){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 Mv(){return this.t==0?this.s:this.data[0]<<24>>24}function Fv(){return this.t==0?this.s:this.data[0]<<16>>16}function Uv(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Kv(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Vv(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Cr(r),i=ee(),s=ee(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function qv(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Yp(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function $v(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(S.ONE.shiftLeft(t-1),Zu,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function zv(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Hv(t){return this.compareTo(t)==0}function Gv(t){return this.compareTo(t)<0?this:t}function Yv(t){return this.compareTo(t)>0?this:t}function Wv(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Qv(t,e){return t&e}function Xv(t){var e=ee();return this.bitwiseTo(t,Qv,e),e}function Zu(t,e){return t|e}function Zv(t){var e=ee();return this.bitwiseTo(t,Zu,e),e}function Wp(t,e){return t^e}function jv(t){var e=ee();return this.bitwiseTo(t,Wp,e),e}function Qp(t,e){return t&~e}function Jv(t){var e=ee();return this.bitwiseTo(t,Qp,e),e}function eE(){for(var t=ee(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function tE(t){var e=ee();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function rE(t){var e=ee();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function nE(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function iE(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+nE(this.data[t]);return this.s<0?this.t*this.DB:-1}function sE(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function oE(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=sE(this.data[r]^e);return t}function aE(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function cE(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function uE(t){return this.changeBit(t,Zu)}function lE(t){return this.changeBit(t,Qp)}function fE(t){return this.changeBit(t,Wp)}function hE(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function dE(t){var e=ee();return this.addTo(t,e),e}function pE(t){var e=ee();return this.subTo(t,e),e}function mE(t){var e=ee();return this.multiplyTo(t,e),e}function yE(t){var e=ee();return this.divRemTo(t,e,null),e}function gE(t){var e=ee();return this.divRemTo(t,null,e),e}function wE(t){var e=ee(),r=ee();return this.divRemTo(t,e,r),new Array(e,r)}function xE(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function vE(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Ji(){}function Xp(t){return t}function EE(t,e,r){t.multiplyTo(e,r)}function bE(t,e){t.squareTo(e)}Ji.prototype.convert=Xp;Ji.prototype.revert=Xp;Ji.prototype.mulTo=EE;Ji.prototype.sqrTo=bE;function _E(t){return this.exp(t,new Ji)}function SE(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function AE(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function ni(t){this.r2=ee(),this.q3=ee(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function RE(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=ee();return t.copyTo(e),this.reduce(e),e}function IE(t){return t}function CE(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function TE(t,e){t.squareTo(e),this.reduce(e)}function BE(t,e,r){t.multiplyTo(e,r),this.reduce(r)}ni.prototype.convert=RE;ni.prototype.revert=IE;ni.prototype.reduce=CE;ni.prototype.mulTo=BE;ni.prototype.sqrTo=TE;function PE(t,e){var r=t.bitLength(),n,i=Cr(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 an(e):e.isEven()?s=new ni(e):s=new cn(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=ee();for(s.sqrTo(o[1],l);a<=u;)o[a]=ee(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,d=!0,p=ee(),m;for(r=$o(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),d)o[h].copyTo(i),d=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(m=i,i=p,p=m),s.mulTo(p,o[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function LE(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function DE(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function NE(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=Cr(1),s=Cr(0),o=Cr(0),a=Cr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Tt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],kE=(1<<26)/Tt[Tt.length-1];function OE(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Tt[Tt.length-1]){for(e=0;e<Tt.length;++e)if(r.data[0]==Tt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Tt.length;){for(var n=Tt[e],i=e+1;i<Tt.length&&n<kE;)n*=Tt[i++];for(n=r.modInt(n);e<i;)if(n%Tt[e++]==0)return!1}return r.millerRabin(t)}function ME(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=FE(),s,o=0;o<t;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function FE(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Uv;S.prototype.toRadix=Vv;S.prototype.fromRadix=qv;S.prototype.fromNumber=$v;S.prototype.bitwiseTo=Wv;S.prototype.changeBit=cE;S.prototype.addTo=hE;S.prototype.dMultiply=xE;S.prototype.dAddOffset=vE;S.prototype.multiplyLowerTo=SE;S.prototype.multiplyUpperTo=AE;S.prototype.modInt=DE;S.prototype.millerRabin=ME;S.prototype.clone=kv;S.prototype.intValue=Ov;S.prototype.byteValue=Mv;S.prototype.shortValue=Fv;S.prototype.signum=Kv;S.prototype.toByteArray=zv;S.prototype.equals=Hv;S.prototype.min=Gv;S.prototype.max=Yv;S.prototype.and=Xv;S.prototype.or=Zv;S.prototype.xor=jv;S.prototype.andNot=Jv;S.prototype.not=eE;S.prototype.shiftLeft=tE;S.prototype.shiftRight=rE;S.prototype.getLowestSetBit=iE;S.prototype.bitCount=oE;S.prototype.testBit=aE;S.prototype.setBit=uE;S.prototype.clearBit=lE;S.prototype.flipBit=fE;S.prototype.add=dE;S.prototype.subtract=pE;S.prototype.multiply=mE;S.prototype.divide=yE;S.prototype.remainder=gE;S.prototype.divideAndRemainder=wE;S.prototype.modPow=PE;S.prototype.modInverse=NE;S.prototype.pow=_E;S.prototype.gcd=LE;S.prototype.isProbablePrime=OE});var rm=I((KT,tm)=>{var $t=se();on();Te();var Jp=tm.exports=$t.sha1=$t.sha1||{};$t.md.sha1=$t.md.algorithms.sha1=Jp;Jp.create=function(){em||UE();var t=null,e=$t.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=$t.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=$t.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),jp(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=$t.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ju.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};jp(f,r,i);var h=$t.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var ju=null,em=!1;function UE(){ju=String.fromCharCode(128),ju+=$t.util.fillString(String.fromCharCode(0),64),em=!0}function jp(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var sm=I((VT,im)=>{var zt=se();Te();ji();rm();var nm=im.exports=zt.pkcs1=zt.pkcs1||{};nm.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=zt.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-e.length,d=0;d<h;d++)f+="\0";var p=l.getBytes()+f+""+e;if(!i)i=zt.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=Ho(i,a-s.digestLength-1,o),y=zt.util.xorBytes(p,m,p.length),g=Ho(y,s.digestLength,o),x=zt.util.xorBytes(i,g,i.length);return"\0"+x+y};nm.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=zt.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=Ho(l,i.digestLength,s),h=zt.util.xorBytes(u,f,u.length),d=Ho(h,o-i.digestLength-1,s),p=zt.util.xorBytes(l,d,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,_=i.digestLength,N=i.digestLength;N<p.length;N++){var C=p.charCodeAt(N),T=C&1^1,H=x?65534:0;y|=C&H,x=x&T,_+=x}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function Ho(t,e,r){r||(r=zt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var om=I((qT,Ju)=>{var Tr=se();Te();zo();ji();(function(){if(Tr.prime){Ju.exports=Tr.prime;return}var t=Ju.exports=Tr.prime=Tr.prime||{},e=Tr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,d){typeof h=="function"&&(d=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=h.prng||Tr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=x.charCodeAt(_)}};if(p.name==="PRIMEINC")return s(f,y,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,h,d,p){return"workers"in d?c(f,h,d,p):o(f,h,d,p)}function o(f,h,d,p){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var x=10;"maxBlockTime"in d&&(x=d.maxBlockTime),a(m,f,h,y,g,x,p)}function a(f,h,d,p,m,y,g){var x=+new Date;do{if(f.bitLength()>h&&(f=u(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-x<y);Tr.util.setImmediate(function(){a(f,h,d,p,m,y,g)})}function c(f,h,d,p){if(typeof Worker>"u")return o(f,h,d,p);var m=u(f,h),y=d.workers,g=d.workLoad||100,x=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return Tr.util.estimateCores(function(C,T){C&&(T=2),y=T-1,N()});N();function N(){y=Math.max(1,y);for(var C=[],T=0;T<y;++T)C[T]=new Worker(_);for(var H=y,T=0;T<y;++T)C[T].addEventListener("message",De);var W=!1;function De(xt){if(!W){--H;var et=xt.data;if(et.found){for(var He=0;He<C.length;++He)C[He].terminate();return W=!0,p(null,new e(et.prime,16))}m.bitLength()>f&&(m=u(f,h));var _n=m.toString(16);xt.target.postMessage({hex:_n,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,h){var d=new e(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(e.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Yo=I(($T,dm)=>{var M=se();Zi();zo();Po();sm();om();ji();Te();typeof X>"u"&&(X=M.jsbn.BigInteger);var X,el=M.util.isNodejs?jr():null,v=M.asn1,gt=M.util;M.pki=M.pki||{};dm.exports=M.pki.rsa=M.rsa=M.rsa||{};var K=M.pki,KE=[6,4,2,4,2,4,6,2],VE={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},qE={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},$E={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},zE=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},HE={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"}]},GE=function(t){var e;if(t.algorithm in K.oids)e=K.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},fm=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(X.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(X.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new X(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(X.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};K.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=hm(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new X(i.toHex(),16),a=fm(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};K.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new X(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=fm(o,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?Go(u.getBytes(),e,r):u.getBytes()};K.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new X(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};K.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new X(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new X(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(X.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(WE(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(KE[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(X.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};K.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(am("generateKeyPair"))return el.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:K.privateKeyFromPem(u),publicKey:K.publicKeyFromPem(c)})});if(cm("generateKey")&&cm("exportKey"))return gt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:lm(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return gt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:K.setRsaPublicKey(c.n,c.e)})}});if(um("generateKey")&&um("exportKey")){var i=gt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:lm(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=gt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:K.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(am("generateKeyPairSync")){var s=el.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(s.privateKey),publicKey:K.publicKeyFromPem(s.publicKey)}}}var o=K.rsa.createKeyPairGenerationState(t,e,r);if(!n)return K.rsa.stepKeyPairGenerationState(o,0),o.keys;YE(o,r,n)};K.setRsaPublicKey=K.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return hm(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return K.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=Go(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,HE,f,h)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=h,d}var p=v.derToOid(f.algorithmIdentifier);if(!(p===M.oids.md2||p===M.oids.md5||p===M.oids.sha1||p===M.oids.sha224||p===M.oids.sha256||p===M.oids.sha384||p===M.oids.sha512||p===M.oids["sha512-224"]||p===M.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===M.oids.md2||p===M.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=Go(u,r,!0),c===u}});var a=K.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=K.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Go};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(d,p){return M.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(h,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:GE},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return K.rsa.encrypt(h,c,f)},c};K.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};K.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,VE,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,qE,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new X(i,16),new X(s,16),new X(o,16),new X(a,16),new X(c,16),new X(u,16),new X(l,16),new X(f,16))};K.privateKeyToAsn1=K.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.qInv))])};K.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,zE,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==K.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,$E,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return K.setRsaPublicKey(new X(s,16),new X(o,16))};K.publicKeyToAsn1=K.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(t)])])};K.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ht(t.e))])};function hm(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=M.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function Go(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function YE(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){M.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.p=null,i();return}if(t.q.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(X.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ht(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function WE(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function am(t){return M.util.isNodejs&&typeof el[t]=="function"}function cm(t){return typeof gt.globalScope<"u"&&typeof gt.globalScope.crypto=="object"&&typeof gt.globalScope.crypto.subtle=="object"&&typeof gt.globalScope.crypto.subtle[t]=="function"}function um(t){return typeof gt.globalScope<"u"&&typeof gt.globalScope.msCrypto=="object"&&typeof gt.globalScope.msCrypto.subtle=="object"&&typeof gt.globalScope.msCrypto.subtle[t]=="function"}function lm(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var xm=I((zT,wm)=>{var P=se();Oo();Zi();Sp();on();Po();Hu();Pp();ji();$p();Yo();Te();typeof pm>"u"&&(pm=P.jsbn.BigInteger);var pm,b=P.asn1,q=P.pki=P.pki||{};wm.exports=q.pbe=P.pbe=P.pbe||{};var un=q.oids,QE={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"}]},XE={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"}]}]},ZE={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=un["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=un["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=un["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=un.desCBC,f=P.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=gm(d),m=P.pkcs5.pbkdf2(e,n,i,o,p),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes();var x=jE(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(un.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(un.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(l).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new P.util.ByteBuffer(n),m=q.pbe.generatePkcs12Key(e,_,1,i,o),y=q.pbe.generatePkcs12Key(e,_,2,i,o),g=P.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(un["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var N=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return N};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!b.validate(t,QE,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=b.derToOid(n.encryptionOid),a=q.pbe.getCipher(o,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=P.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=P.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(b.toDer(q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=P.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=P.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=P.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=P.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(b.fromDer(r),e):r=b.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');s=P.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=e.length(),p=new P.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(h/u),x=new P.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%h));var _=y;_.putBuffer(x);for(var N=Math.ceil(i/c),C=1;C<=N;C++){var T=new P.util.ByteBuffer;T.putBytes(p.bytes()),T.putBytes(_.bytes());for(var H=0;H<n;H++)s.start(),s.update(T.getBytes()),T=s.digest();var W=new P.util.ByteBuffer;for(a=0;a<u;a++)W.putByte(T.at(a%c));var De=Math.ceil(d/u)+Math.ceil(h/u),xt=new P.util.ByteBuffer;for(o=0;o<De;o++){var et=new P.util.ByteBuffer(_.getBytes(u)),He=511;for(a=W.length()-1;a>=0;a--)He=He>>8,He+=W.at(a)+et.at(a),et.setAt(a,He&255);xt.putBuffer(et)}_=xt,l.putBuffer(T)}return l.truncate(l.length()-i),l};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!b.validate(e,XE,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=b.derToOid(n.kdfOid),t!==q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=b.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=ym(n.prfOid),f=P.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,d=u(f);return d.start(h),d};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!b.validate(e,ZE,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=ym(n.prfOid),h=q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,d)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[mm(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(mm(n,i[o-1]+t+e));return i.join("").substr(0,r)};function mm(t,e){return t.start().update(e).digest().getBytes()}function ym(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[b.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return gm(e)}function gm(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function jE(t,e,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Pm=I((_8,Bm)=>{var he=se();on();Te();var es=Bm.exports=he.sha512=he.sha512||{};he.md.sha512=he.md.algorithms.sha512=es;var Cm=he.sha384=he.sha512.sha384=he.sha512.sha384||{};Cm.create=function(){return es.create("SHA-384")};he.md.sha384=he.md.algorithms.sha384=Cm;he.sha512.sha256=he.sha512.sha256||{create:function(){return es.create("SHA-512/256")}};he.md["sha512/256"]=he.md.algorithms["sha512/256"]=he.sha512.sha256;he.sha512.sha224=he.sha512.sha224||{create:function(){return es.create("SHA-512/224")}};he.md["sha512/224"]=he.md.algorithms["sha512/224"]=he.sha512.sha224;es.create=function(t){if(Tm||tb(),typeof t>"u"&&(t="SHA-512"),!(t in ln))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=ln[t],r=null,n=he.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=he.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=he.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),Im(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=he.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(tl.substr(0,a.blockLength-l));for(var f,h,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,h=f/4294967296>>>0,d+=h,c.putInt32(d>>>0),d=f>>>0;c.putInt32(d);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);Im(m,i,c);var y=he.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||t!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var tl=null,Tm=!1,rl=null,ln=null;function tb(){tl=String.fromCharCode(128),tl+=he.util.fillString(String.fromCharCode(0),128),rl=[[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]],ln={},ln["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],ln["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],ln["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],ln["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Tm=!0}function Im(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,x,_,N,C,T,H,W,De,xt,et,He,_n,Rs,Be,Qe,F,La,Da,Na,ka,sf=r.length();sf>=128;){for(Be=0;Be<16;++Be)e[Be][0]=r.getInt32()>>>0,e[Be][1]=r.getInt32()>>>0;for(;Be<80;++Be)La=e[Be-2],Qe=La[0],F=La[1],n=((Qe>>>19|F<<13)^(F>>>29|Qe<<3)^Qe>>>6)>>>0,i=((Qe<<13|F>>>19)^(F<<3|Qe>>>29)^(Qe<<26|F>>>6))>>>0,Na=e[Be-15],Qe=Na[0],F=Na[1],s=((Qe>>>1|F<<31)^(Qe>>>8|F<<24)^Qe>>>7)>>>0,o=((Qe<<31|F>>>1)^(Qe<<24|F>>>8)^(Qe<<25|F>>>7))>>>0,Da=e[Be-7],ka=e[Be-16],F=i+Da[1]+o+ka[1],e[Be][0]=n+Da[0]+s+ka[0]+(F/4294967296>>>0)>>>0,e[Be][1]=F>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],_=t[2][0],N=t[2][1],C=t[3][0],T=t[3][1],H=t[4][0],W=t[4][1],De=t[5][0],xt=t[5][1],et=t[6][0],He=t[6][1],_n=t[7][0],Rs=t[7][1],Be=0;Be<80;++Be)u=((H>>>14|W<<18)^(H>>>18|W<<14)^(W>>>9|H<<23))>>>0,l=((H<<18|W>>>14)^(H<<14|W>>>18)^(W<<23|H>>>9))>>>0,f=(et^H&(De^et))>>>0,h=(He^W&(xt^He))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,d=(m&g|_&(m^g))>>>0,p=(y&x|N&(y^x))>>>0,F=Rs+l+h+rl[Be][1]+e[Be][1],n=_n+u+f+rl[Be][0]+e[Be][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+p,s=a+d+(F/4294967296>>>0)>>>0,o=F>>>0,_n=et,Rs=He,et=De,He=xt,De=H,xt=W,F=T+i,H=C+n+(F/4294967296>>>0)>>>0,W=F>>>0,C=_,T=N,_=g,N=x,g=m,x=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+x,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+N,t[2][0]=t[2][0]+_+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+T,t[3][0]=t[3][0]+C+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+W,t[4][0]=t[4][0]+H+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+xt,t[5][0]=t[5][0]+De+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+He,t[6][0]=t[6][0]+et+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+Rs,t[7][0]=t[7][0]+_n+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,sf-=128}}});var D_={};Ue(D_,{createLibp2p:()=>L_});var lt=V(Fa(),1);var $a={};Ue($a,{base58btc:()=>Se,base58flickr:()=>Bg});function Ag(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,x=p.length;g!==x&&p[g]===0;)g++,m++;for(var _=(x-g)*l+1>>>0,N=new Uint8Array(_);g!==x;){for(var C=p[g],T=0,H=_-1;(C!==0||T<y)&&H!==-1;H--,T++)C+=256*N[H]>>>0,N[H]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=T,g++}for(var W=_-y;W!==_&&N[W]===0;)W++;for(var De=c.repeat(m);W<_;++W)De+=t.charAt(N[W]);return De}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var x=(p.length-m)*u+1>>>0,_=new Uint8Array(x);p[m];){var N=r[p.charCodeAt(m)];if(N===255)return;for(var C=0,T=x-1;(N!==0||C<g)&&T!==-1;T--,C++)N+=a*_[T]>>>0,_[T]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var H=x-g;H!==x&&_[H]===0;)H++;for(var W=new Uint8Array(y+(x-H)),De=y;H!==x;)W[De++]=_[H++];return W}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var Rg=Ag,Ig=Rg,lf=Ig;var F_=new Uint8Array(0);var ff=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Qt=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var hf=t=>new TextEncoder().encode(t),df=t=>new TextDecoder().decode(t);var Ua=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ka=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return mf(this,e)}},Va=class{constructor(e){this.decoders=e}or(e){return mf(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},mf=(t,e)=>new Va({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),qa=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ua(e,r,n),this.decoder=new Ka(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},In=({name:t,prefix:e,encode:r,decode:n})=>new qa(t,e,r,n),dr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=lf(r,e);return In({prefix:t,name:e,encode:n,decode:s=>Qt(i(s))})},Cg=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Tg=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>In({prefix:e,name:t,encode(i){return Tg(i,n,r)},decode(i){return Cg(i,n,r,t)}});var Se=dr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Bg=dr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var za={};Ue(za,{base32:()=>rt,base32hex:()=>Ng,base32hexpad:()=>Og,base32hexpadupper:()=>Mg,base32hexupper:()=>kg,base32pad:()=>Lg,base32padupper:()=>Dg,base32upper:()=>Pg,base32z:()=>Fg});var rt=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Pg=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Lg=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Dg=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ng=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),kg=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Og=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Mg=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Fg=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ha={};Ue(Ha,{base64:()=>Hr,base64pad:()=>Ug,base64url:()=>Kg,base64urlpad:()=>Vg});var Hr=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ug=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Kg=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Vg=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});lt.default.formatters.b=t=>t==null?"undefined":Se.baseEncode(t);lt.default.formatters.t=t=>t==null?"undefined":rt.baseEncode(t);lt.default.formatters.m=t=>t==null?"undefined":Hr.baseEncode(t);lt.default.formatters.p=t=>t==null?"undefined":t.toString();lt.default.formatters.c=t=>t==null?"undefined":t.toString();lt.default.formatters.k=t=>t==null?"undefined":t.toString();function qg(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function G(t){let e=qg(`${t}:trace`);return lt.default.enabled(`${t}:trace`)&<.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,lt.default)(`${t}:trace`)),Object.assign((0,lt.default)(t),{error:(0,lt.default)(`${t}:error`),trace:e})}var bi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new Ya(e,r))}},Ga=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},Ya=globalThis.CustomEvent??Ga;var Ts=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var yf=45,$g=15,Cn=new Ts;function Wa(t){if(!(t.length>$g))return Cn.new(t).parseWith(()=>Cn.readIPv4Addr())}function Qa(t){if(!(t.length>yf))return Cn.new(t).parseWith(()=>Cn.readIPv6Addr())}function Bs(t){if(!(t.length>yf))return Cn.new(t).parseWith(()=>Cn.readIPAddr())}function gf(t){return!!Wa(t)}function wf(t){return!!Qa(t)}function Tn(t){return!!Bs(t)}var Xa={};Ue(Xa,{identity:()=>zg});var zg=In({prefix:"\0",name:"identity",encode:t=>df(t),decode:t=>hf(t)});var Za={};Ue(Za,{base2:()=>Hg});var Hg=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ja={};Ue(ja,{base8:()=>Gg});var Gg=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ja={};Ue(Ja,{base10:()=>Yg});var Yg=dr({prefix:"9",name:"base10",alphabet:"0123456789"});var ec={};Ue(ec,{base16:()=>Wg,base16upper:()=>Qg});var Wg=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Qg=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var tc={};Ue(tc,{base36:()=>Xg,base36upper:()=>Zg});var Xg=dr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Zg=dr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var rc={};Ue(rc,{base256emoji:()=>r1});var xf=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),jg=xf.reduce((t,e,r)=>(t[r]=e,t),[]),Jg=xf.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function e1(t){return t.reduce((e,r)=>(e+=jg[r],e),"")}function t1(t){let e=[];for(let r of t){let n=Jg[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var r1=In({prefix:"\u{1F680}",name:"base256emoji",encode:e1,decode:t1});var oc={};Ue(oc,{sha256:()=>Ke,sha512:()=>E1});var n1=bf,vf=128,i1=127,s1=~i1,o1=Math.pow(2,31);function bf(t,e,r){e=e||[],r=r||0;for(var n=r;t>=o1;)e[r++]=t&255|vf,t/=128;for(;t&s1;)e[r++]=t&255|vf,t>>>=7;return e[r]=t|0,bf.bytes=r-n+1,e}var a1=nc,c1=128,Ef=127;function nc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw nc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Ef)<<i:(o&Ef)*Math.pow(2,i),i+=7}while(o>=c1);return nc.bytes=s-n,r}var u1=Math.pow(2,7),l1=Math.pow(2,14),f1=Math.pow(2,21),h1=Math.pow(2,28),d1=Math.pow(2,35),p1=Math.pow(2,42),m1=Math.pow(2,49),y1=Math.pow(2,56),g1=Math.pow(2,63),w1=function(t){return t<u1?1:t<l1?2:t<f1?3:t<h1?4:t<d1?5:t<p1?6:t<m1?7:t<y1?8:t<g1?9:10},x1={encode:n1,decode:a1,encodingLength:w1},v1=x1,_i=v1;var Si=(t,e=0)=>[_i.decode(t,e),_i.decode.bytes],Bn=(t,e,r=0)=>(_i.encode(t,e,r),e),Pn=t=>_i.encodingLength(t);var Dt=(t,e)=>{let r=e.byteLength,n=Pn(t),i=n+Pn(r),s=new Uint8Array(i+r);return Bn(t,s,0),Bn(r,s,n),s.set(e,i),new Ln(t,r,e,s)},Gr=t=>{let e=Qt(t),[r,n]=Si(e),[i,s]=Si(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Ln(r,i,o,e)},_f=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ff(t.bytes,r.bytes)}},Ln=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var sc=({name:t,code:e,encode:r})=>new ic(t,e,r),ic=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dt(this.code,r):r.then(n=>Dt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Af=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ke=sc({name:"sha2-256",code:18,encode:Af("SHA-256")}),E1=sc({name:"sha2-512",code:19,encode:Af("SHA-512")});var ac={};Ue(ac,{identity:()=>pr});var Rf=0,b1="identity",If=Qt,_1=t=>Dt(Rf,If(t)),pr={code:Rf,name:b1,encode:If,digest:_1};var mS=new TextEncoder,yS=new TextDecoder;var Cf=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return I1(r,cc(t),e||Se.encoder);default:return C1(r,cc(t),e||rt.encoder)}};var Tf=new WeakMap,cc=t=>{let e=Tf.get(t);if(e==null){let r=new Map;return Tf.set(t,r),r}return e},ue=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ai)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==T1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ue.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Dt(e,r);return ue.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ue.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&_f(e.multihash,n.multihash)}toString(e){return Cf(this,e)}toJSON(){return{"/":Cf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ue)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ue(n,i,s,o||Bf(n,i,s.bytes))}else if(r[B1]===!0){let{version:n,multihash:i,code:s}=r,o=Gr(i);return ue.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ai)throw new Error(`Version 0 CID must use dag-pb (code: ${Ai}) block encoding`);return new ue(e,r,n,n.bytes)}case 1:{let i=Bf(e,r,n.bytes);return new ue(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ue.create(0,Ai,e)}static createV1(e,r){return ue.create(1,e,r)}static decode(e){let[r,n]=ue.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ue.inspectBytes(e),n=r.size-r.multihashSize,i=Qt(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Ln(r.multihashCode,r.digestSize,s,i);return[r.version===0?ue.createV0(o):ue.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Si(e.subarray(r));return r+=h,f},i=n(),s=Ai;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=R1(e,r),s=ue.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cc(s).set(n,e),s}},R1=(t,e)=>{switch(t[0]){case"Q":{let r=e||Se;return[Se.prefix,r.decode(`${Se.prefix}${t}`)]}case Se.prefix:{let r=e||Se;return[Se.prefix,r.decode(t)]}case rt.prefix:{let r=e||rt;return[rt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},I1=(t,e,r)=>{let{prefix:n}=r;if(n!==Se.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},C1=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Ai=112,T1=18,Bf=(t,e,r)=>{let n=Pn(t),i=n+Pn(e),s=new Uint8Array(i+r.byteLength);return Bn(t,s,0),Bn(e,s,n),s.set(r,i),s},B1=Symbol.for("@ipld/js-cid/CID");var mr={...Xa,...Za,...ja,...Ja,...ec,...za,...tc,...$a,...Ha,...rc},RS={...oc,...ac};function Wr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Xt(t=0){return globalThis.Buffer?.alloc!=null?Wr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function vt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Wr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Lf(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Pf=Lf("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),uc=Lf("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=vt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),P1={utf8:Pf,"utf-8":Pf,hex:mr.base16,latin1:uc,ascii:uc,binary:uc,...mr},Ls=P1;function $(t,e="utf8"){let r=Ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Df=gf,L1=wf,lc=function(t){let e=0;if(t=t.toString().trim(),Df(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(L1(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Df(r[n]),o;s&&(o=lc(r[n]),r[n]=$(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,$(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Nf=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ri={},fc={},N1=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];N1.forEach(t=>{let e=k1(...t);fc[e.code]=e,Ri[e.name]=e});function k1(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function oe(t){if(typeof t=="number"){if(fc[t]!=null)return fc[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Ri[t]!=null)return Ri[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Nt=V(Ds(),1);function U(t,e="utf8"){let r=Ls[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Wr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Ae(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=vt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Wr(r)}var rA=parseInt("0xFFFF",16),nA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var NA=oe("ip4"),kA=oe("ip6"),OA=oe("ipcidr");function Xf(t,e){switch(oe(t).code){case 4:case 41:return ew(e);case 42:return Wf(e);case 6:case 273:case 33:case 132:return jf(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Wf(e);case 421:return iw(e);case 444:return Qf(e);case 445:return Qf(e);case 466:return nw(e);default:return $(e,"base16")}}function Zf(t,e){switch(oe(t).code){case 4:return Gf(e);case 41:return Gf(e);case 42:return Yf(e);case 6:case 273:case 33:case 132:return mc(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yf(e);case 421:return tw(e);case 444:return sw(e);case 445:return ow(e);case 466:return rw(e);default:return U(e,"base16")}}var pc=Object.values(mr).map(t=>t.decoder),J1=function(){let t=pc[0].or(pc[1]);return pc.slice(2).forEach(e=>t=t.or(e)),t}();function Gf(t){if(!Tn(t))throw new Error("invalid ip address");return lc(t)}function ew(t){let e=Nf(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Tn(e))throw new Error("invalid ip address");return e}function mc(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function jf(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Yf(t){let e=U(t),r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function Wf(t){let e=Nt.default.decode(t);if(t=t.slice(Nt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return $(t)}function tw(t){let e;t[0]==="Q"||t[0]==="1"?e=Gr(Se.decode(`z${t}`)).bytes:e=ue.parse(t).multihash.bytes;let r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function rw(t){let e=J1.decode(t),r=Uint8Array.from(Nt.default.encode(e.length));return Ae([r,e],r.length+e.length)}function nw(t){let e=Nt.default.decode(t),r=t.slice(Nt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+$(r,"base64url")}function iw(t){let e=Nt.default.decode(t),r=t.slice(Nt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return $(r,"base58btc")}function sw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=rt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=mc(n);return Ae([r,i],r.length+i.length)}function ow(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=rt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=mc(n);return Ae([r,i],r.length+i.length)}function Qf(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=$(e,"base32"),i=jf(r);return`${n}:${i}`}var Dn=V(Ds(),1);function aw(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=oe(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw e0("invalid address: "+t);if(s.path===!0){e.push([i,vc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function cw(t){let e=[];return t.map(r=>{let n=Os(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),vc(e.join("/"))}function uw(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=Os(e);return e.length>1?[r.code,Zf(r.code,e[1])]:[r.code]})}function yc(t){return t.map(e=>{let r=Os(e);return e[1]!=null?[r.code,Xf(r.code,e[1])]:[r.code]})}function gc(t){return ks(Ae(t.map(e=>{let r=Os(e),n=Uint8Array.from(Dn.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ae([n,e[1]])),n})))}function wc(t,e){return t.size>0?t.size/8:t.size===0?0:Dn.default.decode(e)+(Dn.default.decode.bytes??0)}function Ns(t){let e=[],r=0;for(;r<t.length;){let n=Dn.default.decode(t,r),i=Dn.default.decode.bytes??0,s=oe(n),o=wc(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw e0("Invalid address Uint8Array: "+$(t,"base16"));e.push([n,a])}return e}function xc(t){let e=Ns(t),r=yc(e);return cw(r)}function lw(t){t=vc(t);let e=aw(t),r=uw(e);return gc(r)}function Jf(t){return lw(t)}function ks(t){let e=fw(t);if(e!=null)throw e;return Uint8Array.from(t)}function fw(t){try{Ns(t)}catch(e){return e}}function vc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function e0(t){return new Error("Error parsing address: "+t)}function Os(t){return oe(t[0])}var Ec=V(Ds(),1);var Ms=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Ms.code,this.type=Ms.type}},yr=Ms;Oa(yr,"code","ABORT_ERR"),Oa(yr,"type","aborted");var E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function Re(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Zt=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Nn=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},Ii,Ci,Ti,gr,t0,dw=Symbol.for("nodejs.util.inspect.custom"),pw=[oe("dns").code,oe("dns4").code,oe("dns6").code,oe("dnsaddr").code],bc=new Map,r0=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Qr(t){return!!t?.[r0]}var jt=class{constructor(e){if(Ii.set(this,void 0),Ci.set(this,void 0),Ti.set(this,void 0),gr.set(this,void 0),this[t0]=!0,e==null&&(e=""),e instanceof Uint8Array)this.bytes=ks(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Jf(e)}else if(Qr(e))this.bytes=ks(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Zt(this,Ii,"f")==null&&Nn(this,Ii,xc(this.bytes),"f"),Zt(this,Ii,"f")}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=oe("tcp"),a=oe("udp"),c=oe("ip4"),u=oe("ip6"),l=oe("dns6"),f=oe("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),pw.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,e=d===l.code?6:4),(d===o.code||d===a.code)&&(r=oe(d).name,i=parseInt(p??"")),(d===c.code||d===u.code)&&(r=oe(d).name,n=`${p??""}${s}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},oe(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Ec.default.decode(r,n),s=Ec.default.decode.bytes??0,o=oe(i),a=wc(o,r.slice(n+s));n+=a+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Zt(this,Ci,"f")==null&&Nn(this,Ci,Ns(this.bytes),"f"),Zt(this,Ci,"f")}stringTuples(){return Zt(this,Ti,"f")==null&&Nn(this,Ti,yc(this.tuples()),"f"),Zt(this,Ti,"f")}encapsulate(e){return e=new jt(e),new jt(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new jt(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new jt(gc(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Ri.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?$(Se.decode(`z${n}`),"base58btc"):$(ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(Zt(this,gr,"f")===void 0)try{Nn(this,gr,this.stringTuples().filter(e=>oe(e[0]).path===!0)[0][1],"f"),Zt(this,gr,"f")==null&&Nn(this,gr,null,"f")}catch{Nn(this,gr,null,"f")}return Zt(this,gr,"f")}equals(e){return Re(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=bc.get(r.name);if(n==null)throw new E(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new jt(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(Ii=new WeakMap,Ci=new WeakMap,Ti=new WeakMap,gr=new WeakMap,t0=r0,dw)](){return`Multiaddr(${xc(this.bytes)})`}};function qe(t){return new jt(t)}function mw(t){return t[Symbol.asyncIterator]!=null}function yw(t){if(mw(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var _c=yw;function gw(t){return t[Symbol.asyncIterator]!=null}function ww(t,e){return gw(t)?async function*(){yield*(await _c(t)).sort(e)}():function*(){yield*_c(t).sort(e)}()}var Sc=ww;function xw(t){return t[Symbol.asyncIterator]!=null}function vw(t){if(xw(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Ac=vw;function Ew(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Fs=Ew;function bw(t){return t[Symbol.asyncIterator]!=null}function _w(t,e){if(bw(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Fs(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var Et=_w;function Sw(t){return t[Symbol.asyncIterator]!=null}function Aw(t,e){return Sw(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Rc=Aw;var Us=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Ac(this.putMany(e,n)),e=[],await Ac(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Et(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Et(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Sc(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=Et(n,()=>i++>=s)}return e.limit!=null&&(n=Rc(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Et(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>Et(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Sc(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=Et(n,()=>s++>=i)}return e.limit!=null&&(n=Rc(n,e.limit)),n}};var Ks=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Jt="/",n0=new TextEncoder().encode(Jt),Vs=n0[0],be=class{constructor(e,r){if(typeof e=="string")this._buf=U(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Vs)throw new Error("Invalid key")}toString(e="utf8"){return $(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new be(e.join(Jt))}static random(){return new be(Ks().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new be(e):typeof e.uint8Array=="function"?new be(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=n0),this._buf[0]!==Vs){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Vs,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Vs;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return be.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Jt).slice(1)}type(){return Rw(this.baseNamespace())}name(){return Iw(this.baseNamespace())}instance(e){return new be(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Jt)||(e+=Jt),e+=this.type(),new be(e)}parent(){let e=this.list();return e.length===1?new be(Jt):new be(e.slice(0,-1).join(Jt))}child(e){return this.toString()===Jt?e:e.toString()===Jt?this:new be(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return be.withNamespaces([...this.namespaces(),...Cw(e.map(r=>r.namespaces()))])}};function Rw(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Iw(t){let e=t.split(":");return e[e.length-1]}function Cw(t){return[].concat(...t)}var o0=V(Ic(),1);function a0(t){return t=t??new Error("Not Found"),(0,o0.default)(t,"ERR_NOT_FOUND")}var qs=class extends Us{constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw a0();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new be(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new be(e)}};var bt;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(bt||(bt={}));var D;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(D||(D={}));function Pw(t){return t[Symbol.asyncIterator]!=null}function Lw(t,e){if(Pw(t))return async function*(){for await(let a of t)yield e(a)}();let r=Fs(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var c0=Lw;async function*Bi(t,e){yield*c0(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function $s(t){let e=new Set;return Et(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*zs(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Hs=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},kn=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Hs(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Hs(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function Xr(t={}){return Dw(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Dw(t,e){e=e??{};let r=e.onEnd,n=new kn,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(t(n))}catch(x){y(x)}return i}}):t(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new kn,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?u(m):c({done:!0})),h=()=>(n=new kn,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:l,end:f,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}function Nw(t){return t[Symbol.asyncIterator]!=null}function kw(...t){let e=[];for(let r of t)Nw(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Xr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var wr=kw;function Zr(t,...e){if(t==null)throw new Error("Empty pipeline");if(Cc(t)){let n=t;t=()=>n.source}else if(l0(t)||u0(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Cc(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Cc(r[n])&&(r[n]=Mw(r[n]));return Ow(...r)}var Ow=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},u0=t=>t?.[Symbol.asyncIterator]!=null,l0=t=>t?.[Symbol.iterator]!=null,Cc=t=>t==null?!1:t.sink!=null&&t.source!=null,Mw=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Xr({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(u0(s))i=async function*(){yield*s,n.end()};else if(l0(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return wr(n,i())}return t.source};function Fw(t){return t[Symbol.asyncIterator]!=null}function Uw(t){if(Fw(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Gs=Uw;var Kw=G("libp2p:peer-routing"),Ys=class{constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",D.ERR_FIND_SELF);let n=await Zr(wr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){Kw.error(s)}}())),i=>Et(i,Boolean),i=>Bi(i,this.components.peerStore),async i=>await Gs(i));if(n!=null)return n;throw new E(bt.NOT_FOUND,D.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*Zr(wr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Bi(n,this.components.peerStore),n=>$s(n),n=>zs(n))}};var Ws=class{constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*Zr(wr(...this.routers.map(n=>n.findProviders(e,r))),n=>Bi(n,this.components.peerStore),n=>$s(n),n=>zs(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new E(bt.NOT_STARTED_YET,D.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new E(bt.NOT_STARTED_YET,D.DHT_NOT_STARTED);return await Promise.any(this.routers.map(async n=>await n.get(e,r)))}};var Tc=Symbol.for("@libp2p/peer-id");function Qs(t){return t!=null&&!!t[Tc]}var Vw=Symbol.for("nodejs.util.inspect.custom"),f0=Object.values(mr).map(t=>t.decoder).reduce((t,e)=>t.or(e),mr.identity.decoder),h0=114,Bc=36,Pc=37,Pi=class{constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[Tc](){return!0}toString(){return this.string==null&&(this.string=Se.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ue.createV1(h0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Re(this.multihash.bytes,e);if(typeof e=="string")return ne(e).equals(this);if(e?.multihash?.bytes!=null)return Re(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Vw](){return`PeerId(${this.toString()})`}},On=class extends Pi{constructor(e){super({...e,type:"RSA"}),this.type="RSA",this.publicKey=e.publicKey}},Mn=class extends Pi{constructor(e){super({...e,type:"Ed25519"}),this.type="Ed25519",this.publicKey=e.multihash.digest}},Fn=class extends Pi{constructor(e){super({...e,type:"secp256k1"}),this.type="secp256k1",this.publicKey=e.multihash.digest}};function ne(t,e){if(e=e??f0,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Gr(Se.decode(`z${t}`));return t.startsWith("12D")?new Mn({multihash:r}):t.startsWith("16U")?new Fn({multihash:r}):new On({multihash:r})}return Xs(f0.decode(t))}function Xs(t){try{let e=Gr(t);if(e.code===pr.code){if(e.digest.length===Bc)return new Mn({multihash:e});if(e.digest.length===Pc)return new Fn({multihash:e})}if(e.code===Ke.code)return new On({multihash:e})}catch{return qw(ue.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function qw(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==h0)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ke.code)return new On({multihash:t.multihash});if(e.code===pr.code){if(e.digest.length===Bc)return new Mn({multihash:t.multihash});if(e.digest.length===Pc)return new Fn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Li(t,e){return t.length===Bc?new Mn({multihash:Dt(pr.code,t),privateKey:e}):t.length===Pc?new Fn({multihash:Dt(pr.code,t),privateKey:e}):new On({multihash:await Ke.digest(t),publicKey:t,privateKey:e})}var $w=G("libp2p:address-manager"),zw=t=>t;function Lc(t,e){let r=t.getPeerId();return r!=null&&ne(r).equals(e)&&(t=t.decapsulate(qe(`/p2p/${e.toString()}`))),t}var Zs=class{constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??zw}getListenAddrs(){return Array.from(this.listen).map(e=>qe(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>qe(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>qe(e))}addObservedAddr(e){e=Lc(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Lc(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddresses()}).catch(s=>{$w.error("error updating addresses",s)})}removeObservedAddr(e){e=Lc(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>qe(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var d0="keep-alive";var Xh=V(ch(),1);var Rx=G("libp2p:get-peer");function Js(t){if(Qs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:ne(r),t.forEach(n=>{if(!Qr(n))throw Rx.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",D.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}else{let s=ne(i);if(e==null||!e.equals(s))throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function er(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var tr=class{constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return er(this.map.entries(),e=>[ne(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ne(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return er(this.map.keys(),e=>ne(e))}values(){return this.map.values()}get size(){return this.map.size}};var rr=class{constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return er(this.set.entries(),e=>{let r=ne(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ne(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return er(this.set.values(),e=>ne(e))}intersection(e){let r=new rr;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new rr;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new rr;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var $n=class{constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return er(this.list.entries(),e=>ne(e[1]))}concat(e){let r=new $n(this);for(let n of e)r.push(n);return r}entries(){return er(this.list.entries(),e=>[e[0],ne(e[1])])}every(e){return this.list.every((r,n)=>e(ne(r),n,this))}filter(e){let r=new $n;return this.list.forEach((n,i)=>{let s=ne(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(ne(n),i,this));if(r!=null)return ne(r)}findIndex(e){return this.list.findIndex((r,n)=>e(ne(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(ne(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return ne(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return ne(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var xh=V(lh(),1);var Oi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Yc=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},fh=t=>globalThis.DOMException===void 0?new Yc(t):new DOMException(t),hh=t=>{let e=t.reason===void 0?fh("This operation was aborted."):t.reason;return e instanceof Error?e:fh(e)};function Wc(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(hh(c)),c.addEventListener("abort",()=>{a(hh(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Oi(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Qc(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Jr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},nr,Mi=class{constructor(){nr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Jr(this,nr,"f")[this.size-1].priority>=r.priority){Jr(this,nr,"f").push(n);return}let i=Qc(Jr(this,nr,"f"),n,(s,o)=>o.priority-s.priority);Jr(this,nr,"f").splice(i,0,n)}dequeue(){let e=Jr(this,nr,"f").shift();return e?.run}filter(e){return Jr(this,nr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Jr(this,nr,"f").length}};nr=new WeakMap;var ve=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ie,Ui,Ki,vr,oo,Vi,to,_t,Fi,it,ro,st,qi,xr,no,dh,ph,gh,mh,yh,io,Xc,Zc,ao,wh,so,co=class extends Error{},St=class extends xh.default{constructor(e){var r,n,i,s;if(super(),Ie.add(this),Ui.set(this,void 0),Ki.set(this,void 0),vr.set(this,0),oo.set(this,void 0),Vi.set(this,void 0),to.set(this,0),_t.set(this,void 0),Fi.set(this,void 0),it.set(this,void 0),ro.set(this,void 0),st.set(this,0),qi.set(this,void 0),xr.set(this,void 0),no.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Mi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);ve(this,Ui,e.carryoverConcurrencyCount,"f"),ve(this,Ki,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),ve(this,oo,e.intervalCap,"f"),ve(this,Vi,e.interval,"f"),ve(this,it,new e.queueClass,"f"),ve(this,ro,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,ve(this,no,e.throwOnTimeout===!0,"f"),ve(this,xr,e.autoStart===!1,"f")}get concurrency(){return k(this,qi,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);ve(this,qi,e,"f"),k(this,Ie,"m",ao).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,no,"f"),...r},new Promise((n,i)=>{k(this,it,"f").enqueue(async()=>{var s,o,a;ve(this,st,(o=k(this,st,"f"),o++,o),"f"),ve(this,vr,(a=k(this,vr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new co("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Wc(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ie,"m",wh).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Oi&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ie,"m",gh).call(this)}},r),this.emit("add"),k(this,Ie,"m",io).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,xr,"f")?(ve(this,xr,!1,"f"),k(this,Ie,"m",ao).call(this),this):this}pause(){ve(this,xr,!0,"f")}clear(){ve(this,it,new(k(this,ro,"f")),"f")}async onEmpty(){k(this,it,"f").size!==0&&await k(this,Ie,"m",so).call(this,"empty")}async onSizeLessThan(e){k(this,it,"f").size<e||await k(this,Ie,"m",so).call(this,"next",()=>k(this,it,"f").size<e)}async onIdle(){k(this,st,"f")===0&&k(this,it,"f").size===0||await k(this,Ie,"m",so).call(this,"idle")}get size(){return k(this,it,"f").size}sizeBy(e){return k(this,it,"f").filter(e).length}get pending(){return k(this,st,"f")}get isPaused(){return k(this,xr,"f")}};Ui=new WeakMap,Ki=new WeakMap,vr=new WeakMap,oo=new WeakMap,Vi=new WeakMap,to=new WeakMap,_t=new WeakMap,Fi=new WeakMap,it=new WeakMap,ro=new WeakMap,st=new WeakMap,qi=new WeakMap,xr=new WeakMap,no=new WeakMap,Ie=new WeakSet,dh=function(){return k(this,Ki,"f")||k(this,vr,"f")<k(this,oo,"f")},ph=function(){return k(this,st,"f")<k(this,qi,"f")},gh=function(){var e;ve(this,st,(e=k(this,st,"f"),e--,e),"f"),k(this,Ie,"m",io).call(this),this.emit("next")},mh=function(){k(this,Ie,"m",Zc).call(this),k(this,Ie,"m",Xc).call(this),ve(this,Fi,void 0,"f")},yh=function(){let e=Date.now();if(k(this,_t,"f")===void 0){let r=k(this,to,"f")-e;if(r<0)ve(this,vr,k(this,Ui,"f")?k(this,st,"f"):0,"f");else return k(this,Fi,"f")===void 0&&ve(this,Fi,setTimeout(()=>{k(this,Ie,"m",mh).call(this)},r),"f"),!0}return!1},io=function(){if(k(this,it,"f").size===0)return k(this,_t,"f")&&clearInterval(k(this,_t,"f")),ve(this,_t,void 0,"f"),this.emit("empty"),k(this,st,"f")===0&&this.emit("idle"),!1;if(!k(this,xr,"f")){let e=!k(this,Ie,"a",yh);if(k(this,Ie,"a",dh)&&k(this,Ie,"a",ph)){let r=k(this,it,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ie,"m",Xc).call(this),!0):!1}}return!1},Xc=function(){k(this,Ki,"f")||k(this,_t,"f")!==void 0||(ve(this,_t,setInterval(()=>{k(this,Ie,"m",Zc).call(this)},k(this,Vi,"f")),"f"),ve(this,to,Date.now()+k(this,Vi,"f"),"f"))},Zc=function(){k(this,vr,"f")===0&&k(this,st,"f")===0&&k(this,_t,"f")&&(clearInterval(k(this,_t,"f")),ve(this,_t,void 0,"f")),ve(this,vr,k(this,Ui,"f")?k(this,st,"f"):0,"f"),k(this,Ie,"m",ao).call(this)},ao=function(){for(;k(this,Ie,"m",io).call(this););},wh=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new co("The task was aborted."))},{once:!0})})},so=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var kt=G("libp2p:connection-manager:auto-dial"),uo={minConnections:50,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},lo=class{constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??uo.minConnections,this.autoDialPriority=r.autoDialPriority??uo.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??uo.autoDialInterval,this.started=!1,this.queue=new St({concurrency:r.autoDialConcurrency??uo.autoDialConcurrency}),this.queue.addListener("error",n=>{kt.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{kt.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setInterval(()=>{this.autoDial().catch(e=>{kt.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{kt.error("error while autodialing",e)})}stop(){this.queue.clear(),clearInterval(this.autoDialInterval),this.started=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){kt("have enough connections %d/%d",r,this.minConnections);return}kt("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=await this.peerStore.all(),s=n.filter(c=>!(c.addresses.length===0||e.has(c.id))).sort(()=>Math.random()>.5?1:-1),o=new tr;for(let c of s)o.has(c.id)||o.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=s.sort((c,u)=>{let l=o.get(c.id)??0,f=o.get(u.id)??0;return l>f?-1:l<f?1:0});kt("selected %d/%d peers to dial",a.length,n.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){kt("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}kt("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})}).catch(u=>{kt.error("could not connect to peerStore stored peer",u)})}};var Rh=V(vh(),1);var Eh="[a-fA-F\\d:]",Er=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Eh})|(?<=${Eh})(?=\\s|$))`:"",At="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Pe="[a-fA-F\\d]{1,4}",fo=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${Pe}:){7}(?:${Pe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${Pe}:){6}(?:${At}|:${Pe}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
41
|
+
(?:${Pe}:){5}(?::${At}|(?::${Pe}){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
|
|
42
|
+
(?:${Pe}:){4}(?:(?::${Pe}){0,1}:${At}|(?::${Pe}){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
|
|
43
|
+
(?:${Pe}:){3}(?:(?::${Pe}){0,2}:${At}|(?::${Pe}){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
|
|
44
|
+
(?:${Pe}:){2}(?:(?::${Pe}){0,3}:${At}|(?::${Pe}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
45
|
+
(?:${Pe}:){1}(?:(?::${Pe}){0,4}:${At}|(?::${Pe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${Pe}){0,5}:${At}|(?::${Pe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
47
47
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
48
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),xv=new RegExp(`(?:^${qt}$)|(?:^${$s}$)`),vv=new RegExp(`^${qt}$`),bv=new RegExp(`^${$s}$`),Gu=t=>t&&t.exact?xv:new RegExp(`(?:${Xr(t)}${qt}${Xr(t)})|(?:${Xr(t)}${$s}${Xr(t)})`,"g");Gu.v4=t=>t&&t.exact?vv:new RegExp(`${Xr(t)}${qt}${Xr(t)}`,"g");Gu.v6=t=>t&&t.exact?bv:new RegExp(`${Xr(t)}${$s}${Xr(t)}`,"g");var U0=Gu;var $0=M(K0(),1),{isValid:_v,parse:Sv}=$0.default,Av=["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"],Rv=Av.map(t=>new q0.Netmask(t));function Iv(t){for(let e of Rv)if(e.contains(t))return!0;return!1}function V0(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var z0=t=>{if(_v(t)){let e=Sv(t);if(e.kind()==="ipv4")return Iv(e.toNormalizedString());if(e.kind()==="ipv6")return V0(t)}else if(si(t)&&U0.v6().test(t))return V0(t)};var Dn=z0;function Yu(t){try{let{address:e}=t.nodeAddress();return!!Dn(e)}catch{return!0}}function xi(t,e){let r=Yu(t.multiaddr),n=Yu(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Qu=M(Tc(),1),Xu=M(Y0(),1);var W0=globalThis.fetch,Q0=globalThis.Headers,j4=globalThis.Request,e8=globalThis.Response;function Hs(t,e,r){return`${t}?name=${e}&type=${r}`}async function X0(t,e){return await(await W0(t,{headers:new Q0({accept:"application/dns-json"}),signal:e})).json()}function Bn(t,e){return`${e}_${t}`}var Wu=Object.assign((0,Qu.default)("dns-over-http-resolver"),{error:(0,Qu.default)("dns-over-http-resolver:error")}),Zu=class{constructor(e={}){this._cache=new Xu.default({max:e?.maxCache??100}),this._TXTcache=new Xu.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??X0,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Hs(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Wu.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Hs(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Wu.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Hs(o,e,r),s.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Wu.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Z0=Zu;var J0=Z0;var{code:Lv}=j("dnsaddr");async function vi(t,e={}){let r=new J0;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===Lv)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}function j0(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}var Ju=M(Ar(),1),ep=U("libp2p:connection-manager:utils");async function ju(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await Pv(t,e),s=(await Promise.all(n.map(async a=>await ju(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return ep("resolved %s to",t,s.map(a=>a.toString())),s}async function Pv(t,e){try{return t=Te(t.toString()),await t.resolve(e)}catch(r){return ep.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function el(...t){let e=[];for(let n of t)if(n!=null){try{(0,Ju.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=j0(e);try{(0,Ju.setMaxListeners)?.(1/0,r)}catch{}return r}function rr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var st=U("libp2p:connection-manager:dial-queue"),po={addressSorter:xi,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:vi}},Gs=class{constructor(e,r={}){this.addressSorter=r.addressSorter??po.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??po.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??po.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??po.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))hu.set(n,i);this.queue=new Vt({concurrency:r.maxParallelDials??po.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{st.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Bs(e),o=i.map(f=>({multiaddr:f,isCertified:!1})),{timeoutController:s,signal:a}=this.createDialAbortControllers(r.signal),c;try{c=await this.calculateMultiaddrs(n,o,{...r,signal:a})}catch(f){throw a.clear(),s.clear(),f}let u=this.pendingDials.find(f=>!!(f.peerId!=null&&n!=null&&f.peerId.equals(n)||c.map(({multiaddr:h})=>h.toString()).join()===f.multiaddrs.map(h=>h.toString()).join()));if(u!=null)return st("joining existing dial target for %p",n),a.clear(),s.clear(),await u.promise;st("creating dial target for",c.map(({multiaddr:f})=>f.toString()));let l={id:kv(),status:"queued",peerId:n,multiaddrs:c.map(({multiaddr:f})=>f)};return l.promise=this.performDial(l,{...r,signal:a}).finally(()=>{this.pendingDials=this.pendingDials.filter(f=>f.id!==l.id),a.clear(),s.clear()}).catch(f=>{throw st.error("dial failed to %s",c.map(({multiaddr:h})=>h.toString()).join(", "),f),s.signal.aborted?new w(f.message,S.ERR_TIMEOUT):f}),this.pendingDials.push(l),await l.promise}createDialAbortControllers(e){let r=new tp.TimeoutController(this.dialTimeout),n=el(r.signal,this.shutDownController.signal,e);return{timeoutController:r,signal:n}}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new w("Tried to dial self",S.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new w("The dial request is blocked by gater.allowDialPeer",S.ERR_PEER_DIAL_INTERCEPTED);r.length===0&&(st("loading multiaddrs for %p",e),r.push(...await this.peerStore.addressBook.get(e)),st("loaded multiaddrs for %p",e,r.map(({multiaddr:u})=>u.toString())))}let i=(await Promise.all(r.map(async u=>{let l=await ju(u.multiaddr,n);return l.length===1&&l[0].equals(u.multiaddr)?u:l.map(f=>({multiaddr:f,isCertified:!1}))}))).flat(),o=i.filter(u=>!!this.transportManager.transportForMultiaddr(u.multiaddr)),s=new Map;for(let u of o){let l=u.multiaddr.toString(),f=s.get(l);if(f!=null){f.isCertified=f.isCertified||u.isCertified||!1;continue}s.set(l,u)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(st("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:u})=>u.toString())),st("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:u})=>u.toString()))),a.length===0)throw new w("The dial request has no valid addresses",S.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new w("dial with more addresses than allowed",S.ERR_TOO_MANY_ADDRESSES);if(e!=null){let u=`/p2p/${e.toString()}`;a=a.map(l=>{let f=l.multiaddr.getPeerId();return l.multiaddr.protos().pop()?.path===!0?l:f==null?{multiaddr:l.multiaddr.encapsulate(u),isCertified:l.isCertified}:l})}let c=[];for(let u of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(u.multiaddr)||c.push(u);return c.sort(this.addressSorter)}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Vt({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{st.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new w("dialAction did not come with an AbortController",S.ERR_INVALID_PARAMETERS);let u=el(c.signal,r.signal);u.addEventListener("abort",()=>{st("dial to %s aborted",s)});let l=rr();return await i.add(async()=>{if(u.aborted){st("dial to %s was aborted before reaching the head of the peer dial queue",s),l.reject(new br);return}await this.queue.add(async()=>{try{if(u.aborted){st("dial to %s was aborted before reaching the head of the dial queue",s),l.reject(new br);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){st("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{st.error("error closing superfluous connection",h)}),l.reject(new br);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),st("dial to %s succeeded",s),l.resolve(f)}catch(f){st.error("error during dial of %s",s,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),await l.promise}));if(o==null)throw new w("successful dial led to empty object returned from peer dial queue",S.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function kv(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Ys=U("libp2p:connection-manager:connection-pruner"),rp={maxConnections:300,allow:[]},Ws=class{constructor(e,r={}){this.maxConnections=r.maxConnections??rp.maxConnections,this.allow=r.allow??rp.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Ys.trace("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Ys("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Ir;for(let a of e){let c=a.remotePeer;if(i.has(c))continue;let u=await this.peerStore.getTags(c);i.set(c,u.reduce((l,f)=>l+f.value,0))}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,h=c.stat.timeline.open;return f<h?1:f>h?-1:0}),s=[];for(let a of o)if(Ys("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){Ys.error(c)}})),this.connectionManager.dispatchEvent(new G("peer:prune",{detail:s.map(a=>a.remotePeer)}))}};var ut=U("libp2p:connection-manager"),Uv=50,bi={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0},Qs=class extends Xe{constructor(e,r={}){super(),this.maxConnections=r.maxConnections??bi.maxConnections;let n=r.minConnections??bi.minConnections;if(this.maxConnections<n)throw new w("Connection Manager maxConnections must be greater than minConnections",S.ERR_INVALID_PARAMETERS);this.connections=new Ir,this.started=!1;try{(0,np.setMaxListeners)?.(1/0,this)}catch{}this.peerStore=e.peerStore,this.metrics=e.metrics,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.allow=(r.allow??[]).map(i=>Te(i)),this.deny=(r.deny??[]).map(i=>Te(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??bi.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new ip.RateLimiterMemory({points:r.inboundConnectionThreshold??bi.inboundConnectionThreshold,duration:1}),this.autoDial=new qs({connectionManager:this,peerStore:e.peerStore},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??bi.autoDialConcurrency,autoDialPriority:r.autoDialPriority??bi.autoDialPriority}),this.addEventListener("peer:disconnect",()=>{this.autoDial.autoDial().catch(i=>{ut.error(i)})}),this.connectionPruner=new Ws({connectionManager:this,peerStore:e.peerStore},{maxConnections:this.maxConnections,allow:this.allow}),this.addEventListener("peer:connect",()=>{this.connectionPruner.maybePruneConnections().catch(i=>{ut.error(i)})}),this.dialQueue=new Gs({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??xi,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:vi}}),e.upgrader.addEventListener("connection",this.onConnect),e.upgrader.addEventListener("connectionEnd",this.onDisconnect)}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.stat.direction} ${s.stat.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.autoDial.start(),this.started=!0,ut("started")}async afterStart(){Promise.resolve().then(async()=>{let e=[];for(let r of await this.peerStore.all())(await this.peerStore.getTags(r.id)).filter(o=>o.name===Cd).length>0&&e.push(r.id);await Promise.all(e.map(async r=>{await this.openConnection(r).catch(n=>{ut.error(n)})}))}).catch(e=>{ut.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){ut.error(i)}})());ut("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),ut("stopped")}onConnect(e){this._onConnect(e).catch(r=>{ut.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n);i!=null?i.push(r):this.connections.set(n,[r]),n.publicKey!=null&&await this.peerStore.keyBook.set(n,n.publicKey),this.dispatchEvent(new G("peer:connect",{detail:r}))}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.dispatchEvent(new G("peer:disconnect",{detail:r})))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){let{peerId:n}=Bs(e);if(n!=null){ut("dial %p",n);let a=this.getConnections(n);if(a.length>0)return ut("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??Uv}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return ut("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return ut("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return ut("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,e.remoteAddr),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(ut("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Og=M(dp(),1);var bp=M(vp(),1),Jr=bp.default;var ee;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(ee||(ee={}));var wl=M(ll(),1),um=M(tm(),1),lm=M(Pn(),1),El=M(gl(),1),fm=M(cm(),1);function l2(){lm.default._configure(),wl.default._configure(um.default),El.default._configure(fm.default)}l2();var hm=["uint64","int64","sint64","fixed64","sfixed64"];function f2(t){for(let e of hm){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function xl(t){return f2(new wl.default(t))}function h2(t){for(let e of hm){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function vl(){return h2(El.default.create())}function de(t,e){let r=xl(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function pe(t,e){let r=vl();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Ri;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Ri||(Ri={}));function ra(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function tn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return ra("enum",Ri.VARINT,r,n)}function me(t,e){return ra("message",Ri.LENGTH_DELIMITED,t,e)}var Ce;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Ce||(Ce={}));var bl;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(bl||(bl={}));(function(t){t.codec=()=>tn(bl)})(Ce||(Ce={}));var or;(function(t){let e;t.codec=()=>(e==null&&(e=me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ce.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Ce.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(or||(or={}));var sr;(function(t){let e;t.codec=()=>(e==null&&(e=me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ce.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Ce.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(sr||(sr={}));var EL=M(xo(),1),xL=M(Iy(),1),ka=M(fe(),1);var mt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var cB=M(Ve(),1),uB=M(wa(),1),Cy=M(fe(),1);function Yt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Me([new Uint8Array(e-r.length),r])}return $(r,"base64url")}function St(t){let e=Dy(t);return new Cy.default.jsbn.BigInteger($(e,"base16"),16)}function Dy(t,e){let r=F(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Me([new Uint8Array(e-r.length),r])}return r}var M_={"P-256":256,"P-384":384,"P-521":521},U_=Object.keys(M_),xB=U_.join(" / ");function By(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var Ly={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function ba(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=mt.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(o)),p=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:p};typeof h=="string"&&(h=F(h));let y;if(h.length===0&&By())y=await a.subtle.importKey("jwk",Ly,{name:"AES-GCM"},!0,["encrypt"]);else{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,_,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Me([d,m.iv,new Uint8Array(g)])}async function u(f,h){let d=f.subarray(0,o),p=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:p};typeof h=="string"&&(h=F(h));let g;if(h.length===0&&By())g=await a.subtle.importKey("jwk",Ly,{name:"AES-GCM"},!0,["decrypt"]);else{let _={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},k=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,k,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Ny(t,e){let r=xn.decode(t);return await ba().decrypt(r,e)}var tf={};rt(tf,{RsaPrivateKey:()=>Ui,RsaPublicKey:()=>Co,fromJwk:()=>uS,generateKeyPair:()=>lS,unmarshalRsaPrivateKey:()=>aS,unmarshalRsaPublicKey:()=>cS});var tL=M(Fy(),1),To=M(fe(),1);var K_=M(Tn(),1);var re=BigInt(0),Re=BigInt(1),cn=BigInt(2),Ao=BigInt(3),Ky=BigInt(8),ke=Object.freeze({a:re,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Re,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Vy=(t,e)=>(t+e/cn)/e,_a={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=ke,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Re*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Vy(o*t,e),c=Vy(-n*t,e),u=P(t-a*r-c*i,e),l=P(-a*n-c*o,e),f=u>s,h=l>s;if(f&&(u=e-u),h&&(l=e-l),u>s||l>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},Wt=32,Pi=32,V_=32,qy=Wt+1,$y=2*Wt+1;function zy(t){let{a:e,b:r}=ke,n=P(t*t),i=P(n*t);return P(i+e*t+r)}var Sa=ke.a===re,Ia=class extends Error{constructor(e){super(e)}};function Hy(t){if(!(t instanceof se))throw new TypeError("JacobianPoint expected")}var se=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof ce))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(ce.ZERO)?se.ZERO:new se(e.x,e.y,Re)}static toAffineBatch(e){let r=G_(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return se.toAffineBatch(e).map(se.fromAffine)}equals(e){Hy(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=P(i*i),u=P(a*a),l=P(r*u),f=P(o*c),h=P(P(n*a)*u),d=P(P(s*i)*c);return l===f&&h===d}negate(){return new se(this.x,P(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=P(e*e),o=P(r*r),s=P(o*o),a=e+o,c=P(cn*(P(a*a)-i-s)),u=P(Ao*i),l=P(u*u),f=P(l-cn*c),h=P(u*(c-f)-Ky*s),d=P(cn*r*n);return new se(f,h,d)}add(e){Hy(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e;if(o===re||s===re)return this;if(r===re||n===re)return e;let c=P(i*i),u=P(a*a),l=P(r*u),f=P(o*c),h=P(P(n*a)*u),d=P(P(s*i)*c),p=P(f-l),m=P(d-h);if(p===re)return m===re?this.double():se.ZERO;let y=P(p*p),g=P(p*y),x=P(l*y),_=P(m*m-g-cn*x),k=P(m*(x-_)-h*g),C=P(i*a*p);return new se(_,k,C)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=se.ZERO;if(typeof e=="bigint"&&e===re)return r;let n=Wy(e);if(n===Re)return this;if(!Sa){let f=r,h=this;for(;n>re;)n&Re&&(f=f.add(h)),h=h.double(),n>>=Re;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=_a.splitScalar(n),c=r,u=r,l=this;for(;o>re||a>re;)o&Re&&(c=c.add(l)),a&Re&&(u=u.add(l)),l=l.double(),o>>=Re,a>>=Re;return i&&(c=c.negate()),s&&(u=u.negate()),u=new se(P(u.x*_a.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=Sa?128/e+1:256/e+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(se.BASE)&&(r=ce.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&&Wl.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=se.normalizeZ(i),Wl.set(r,i)));let o=se.ZERO,s=se.BASE,a=1+(Sa?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=Re);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?s=s.add(Aa(g,i[m])):o=o.add(Aa(x,i[y]))}return{p:o,f:s}}multiply(e,r){let n=Wy(e),i,o;if(Sa){let{k1neg:s,k1:a,k2neg:c,k2:u}=_a.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(u,r);l=Aa(s,l),h=Aa(c,h),h=new se(P(h.x*_a.beta),h.y,h.z),i=l.add(h),o=f.add(d)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return se.normalizeZ([i,o])[0]}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(se.ZERO);e==null&&(e=o?Ky:Oi(i));let s=e,a=P(s*s),c=P(a*s),u=P(r*a),l=P(n*c),f=P(i*s);if(o)return ce.ZERO;if(f!==Re)throw new Error("invZ was invalid");return new ce(u,l)}};se.BASE=new se(ke.Gx,ke.Gy,Re);se.ZERO=new se(re,Re,re);function Aa(t,e){let r=e.negate();return t?r:e}var Wl=new WeakMap,ce=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Wl.delete(this)}hasEvenY(){return this.y%cn===re}static fromCompressedHex(e){let r=e.length===32,n=un(r?e:e.subarray(1));if(!Yl(n))throw new Error("Point is not on curve");let i=zy(n),o=H_(i),s=(o&Re)===Re;r?s&&(o=P(-o)):(e[0]&1)===1!==s&&(o=P(-o));let a=new ce(n,o);return a.assertValidity(),a}static fromUncompressedHex(e){let r=un(e.subarray(1,Wt+1)),n=un(e.subarray(Wt+1,Wt*2+1)),i=new ce(r,n);return i.assertValidity(),i}static fromHex(e){let r=ki(e),n=r.length,i=r[0];if(n===Wt)return this.fromCompressedHex(r);if(n===qy&&(i===2||i===3))return this.fromCompressedHex(r);if(n===$y&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${qy} compressed bytes or ${$y} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return ce.BASE.multiply(Ca(e))}static fromSignature(e,r,n){let{r:i,s:o}=Qy(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Zl(ki(e)),{n:a}=ke,c=n===2||n===3?i+a:i,u=Oi(c,a),l=P(-s*u,a),f=P(o*u,a),h=n&1?"03":"02",d=ce.fromHex(h+Bi(c)),p=ce.BASE.multiplyAndAddUnsafe(d,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(e=!1){return Vn(this.toHex(e))}toHex(e=!1){let r=Bi(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Bi(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!Yl(r)||!Yl(n))throw new Error(e);let i=P(n*n),o=zy(r);if(P(i-o)!==re)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ce(this.x,P(-this.y))}double(){return se.fromAffine(this).double().toAffine()}add(e){return se.fromAffine(this).add(se.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return se.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=se.fromAffine(this),o=r===re||r===Re||this!==ce.BASE?i.multiplyUnsafe(r):i.multiply(r),s=se.fromAffine(e).multiplyUnsafe(n),a=o.add(s);return a.equals(se.ZERO)?void 0:a.toAffine()}};ce.BASE=new ce(ke.Gx,ke.Gy);ce.ZERO=new ce(re,re);function Gy(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Yy(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Ni(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:un(r),left:t.subarray(e+2)}}function q_(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Ni(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Yy(t.subarray(2)),{data:n,left:i}=Yy(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ni(i)}`);return{r:e,s:n}}var dr=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Ni(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new dr(Ta(i.slice(0,64)),Ta(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=q_(r?e:Vn(e));return new dr(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Io(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Io(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=ke.n>>Re;return this.s>e}normalizeS(){return this.hasHighS()?new dr(this.r,P(-this.s,ke.n)):this}toDERRawBytes(){return Vn(this.toDERHex())}toDERHex(){let e=Gy(So(this.s)),r=Gy(So(this.r)),n=e.length/2,i=r.length/2,o=So(n),s=So(i);return`30${So(i+n+4)}02${s}${r}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Vn(this.toCompactHex())}toCompactHex(){return Bi(this.r)+Bi(this.s)}};function an(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var $_=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ni(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=$_[t[r]];return e}var z_=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Bi(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(re<=t&&t<z_))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function Ql(t){let e=Vn(Bi(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function So(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Ta(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function Vn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function un(t){return Ta(Ni(t))}function ki(t){return t instanceof Uint8Array?Uint8Array.from(t):Vn(t)}function Wy(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Io(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function P(t,e=ke.P){let r=t%e;return r>=re?r:e+r}function Lt(t,e){let{P:r}=ke,n=t;for(;e-- >re;)n*=n,n%=r;return n}function H_(t){let{P:e}=ke,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=Lt(u,Ao)*u%e,f=Lt(l,Ao)*u%e,h=Lt(f,cn)*c%e,d=Lt(h,n)*h%e,p=Lt(d,i)*d%e,m=Lt(p,s)*p%e,y=Lt(m,a)*m%e,g=Lt(y,s)*p%e,x=Lt(g,Ao)*u%e,_=Lt(x,o)*d%e,k=Lt(_,r)*c%e,C=Lt(k,cn);if(C*C%e!==t)throw new Error("Cannot find square root");return C}function Oi(t,e=ke.P){if(t===re||e<=re)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=P(t,e),n=e,i=re,o=Re,s=Re,a=re;for(;r!==re;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==Re)throw new Error("invert: does not exist");return P(i,e)}function G_(t,e=ke.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===re?o:(r[a]=o,P(o*s,e)),Re),i=Oi(n,e);return t.reduceRight((o,s,a)=>s===re?o:(r[a]=P(o*r[a],e),P(o*s,e)),i),r}function Y_(t){let e=t.length*8-Pi*8,r=un(t);return e>0?r>>BigInt(e):r}function Zl(t,e=!1){let r=Y_(t);if(e)return r;let{n}=ke;return r>=n?r-n:r}var Li,Ro,Xl=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Qt.hmacSha256(this.k,...e)}hmacSync(...e){return Ro(this.k,...e)}checkSync(){if(typeof Ro!="function")throw new Ia("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return an(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return an(...r)}};function Io(t){return re<t&&t<ke.n}function Yl(t){return re<t&&t<ke.P}function W_(t,e,r,n=!0){let{n:i}=ke,o=Zl(t,!0);if(!Io(o))return;let s=Oi(o,i),a=ce.BASE.multiply(o),c=P(a.x,i);if(c===re)return;let u=P(s*P(e+r*c,i),i);if(u===re)return;let l=new dr(c,u),f=(a.x===l.r?0:2)|Number(a.y&Re);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function Ca(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*Pi)throw new Error("Expected 32 bytes of private key");e=Ta(t)}else if(t instanceof Uint8Array){if(t.length!==Pi)throw new Error("Expected 32 bytes of private key");e=un(t)}else throw new TypeError("Expected valid private key");if(!Io(e))throw new Error("Expected private key: 0 < key < n");return e}function Q_(t){return t instanceof ce?(t.assertValidity(),t):ce.fromHex(t)}function Qy(t){if(t instanceof dr)return t.assertValidity(),t;try{return dr.fromDER(t)}catch{return dr.fromCompact(t)}}function Jl(t,e=!1){return ce.fromPrivateKey(t).toRawBytes(e)}function Xy(t){let e=t.length>Wt?t.slice(0,Wt):t;return un(e)}function X_(t){let e=Xy(t),r=P(e,ke.n);return Zy(r<re?e:r)}function Zy(t){return Ql(t)}function Z_(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=ki(t),i=Ca(e),o=[Zy(i),X_(n)];if(r!=null){r===!0&&(r=Qt.randomBytes(Wt));let c=ki(r);if(c.length!==Wt)throw new Error(`sign: Expected ${Wt} bytes of extra data`);o.push(c)}let s=an(...o),a=Xy(n);return{seed:s,m:a,d:i}}function J_(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function Jy(t,e,r={}){let{seed:n,m:i,d:o}=Z_(t,e,r.extraEntropy),s=new Xl(V_,Pi);await s.reseed(n);let a;for(;!(a=W_(await s.generate(),i,o,r.canonical));)await s.reseed();return J_(a,r)}var j_={strict:!0};function jy(t,e,r,n=j_){let i;try{i=Qy(t),e=ki(e)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Zl(e),c;try{c=Q_(r)}catch{return!1}let{n:u}=ke,l=Oi(s,u),f=P(a*l,u),h=P(o*l,u),d=ce.BASE.multiplyAndAddUnsafe(c,f,h);return d?P(d.x,u)===o:!1}ce.BASE._setWindowSize(8);var At={node:K_,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var Ra={},Qt={bytesToHex:Ni,hexToBytes:Vn,concatBytes:an,mod:P,invert:Oi,isValidPrivateKey(t){try{return Ca(t),!0}catch{return!1}},_bigintTo32Bytes:Ql,_normalizePrivateKey:Ca,hashToPrivateKey:t=>{t=ki(t);let e=Pi+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=P(un(t),ke.n-Re)+Re;return Ql(r)},randomBytes:(t=32)=>{if(At.web)return At.web.getRandomValues(new Uint8Array(t));if(At.node){let{randomBytes:e}=At.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Qt.hashToPrivateKey(Qt.randomBytes(Pi+8)),precompute(t=8,e=ce.BASE){let r=e===ce.BASE?e:new ce(e.x,e.y);return r._setWindowSize(t),r.multiply(Ao),r},sha256:async(...t)=>{if(At.web){let e=await At.web.subtle.digest("SHA-256",an(...t));return new Uint8Array(e)}else if(At.node){let{createHash:e}=At.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(At.web){let r=await At.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=an(...e),i=await At.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(At.node){let{createHmac:r}=At.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=Ra[t];if(r===void 0){let n=await Qt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=an(n,n),Ra[t]=r}return Qt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof Li!="function")throw new Ia("sha256Sync is undefined, you need to set it");let r=Ra[t];if(r===void 0){let n=Li(Uint8Array.from(t,i=>i.charCodeAt(0)));r=an(n,n),Ra[t]=r}return Li(r,...e)},_JacobianPoint:se};Object.defineProperties(Qt,{sha256Sync:{configurable:!1,get(){return Li},set(t){Li||(Li=t)}},hmacSha256Sync:{configurable:!1,get(){return Ro},set(t){Ro||(Ro=t)}}});function Pr(t){if(isNaN(t)||t<=0)throw new w("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Qt.randomBytes(t)}var qn={};rt(qn,{jwkToPkcs1:()=>rS,jwkToPkix:()=>iS,pkcs1ToJwk:()=>tS,pkixToJwk:()=>nS});var NB=M(xo(),1),kB=M(va(),1),Nr=M(fe(),1);function tS(t){let e=Nr.default.asn1.fromDer($(t,"ascii")),r=Nr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Yt(r.n),e:Yt(r.e),d:Yt(r.d),p:Yt(r.p),q:Yt(r.q),dp:Yt(r.dP),dq:Yt(r.dQ),qi:Yt(r.qInv),alg:"RS256"}}function rS(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Nr.default.pki.privateKeyToAsn1({n:St(t.n),e:St(t.e),d:St(t.d),p:St(t.p),q:St(t.q),dP:St(t.dp),dQ:St(t.dq),qInv:St(t.qi)});return F(Nr.default.asn1.toDer(e).getBytes(),"ascii")}function nS(t){let e=Nr.default.asn1.fromDer($(t,"ascii")),r=Nr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Yt(r.n),e:Yt(r.e)}}function iS(t){if(t.n==null||t.e==null)throw new w("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Nr.default.pki.publicKeyToAsn1({n:St(t.n),e:St(t.e)});return F(Nr.default.asn1.toDer(e).getBytes(),"ascii")}var KB=M(va(),1),jl=M(fe(),1);function eg(t,e){return e.map(r=>St(t[r]))}function tg(t){return jl.default.pki.setRsaPrivateKey(...eg(t,["n","e","d","p","q","dp","dq","qi"]))}function rg(t){return jl.default.pki.setRsaPublicKey(...eg(t,["n","e"]))}async function ng(t){let e=await mt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await sg(e);return{privateKey:r[0],publicKey:r[1]}}async function ef(t){let r=[await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await oS(t)],n=await sg({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function ig(t,e){let r=await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await mt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function og(t,e,r){let n=await mt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await mt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function sg(t){if(t.privateKey==null||t.publicKey==null)throw new w("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([mt.get().subtle.exportKey("jwk",t.privateKey),mt.get().subtle.exportKey("jwk",t.publicKey)])}async function oS(t){return await mt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function ag(t,e,r,n){let i=e?rg(t):tg(t),o=$(Uint8Array.from(r),"ascii"),s=n(o,i);return F(s,"ascii")}function cg(t,e){return ag(t,!0,e,(r,n)=>n.encrypt(r))}function ug(t,e){return ag(t,!1,e,(r,n)=>n.decrypt(r))}async function Mi(t,e){let n=await ba().encrypt(t,e);return xn.encode(n)}var Co=class{constructor(e){this._key=e}async verify(e,r){return await og(this._key,r,e)}marshal(){return qn.jwkToPkix(this._key)}get bytes(){return or.encode({Type:Ce.RSA,Data:this.marshal()}).subarray()}encrypt(e){return cg(this._key,e)}equals(e){return xe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await nt.digest(this.bytes);return e}},Ui=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return Pr(16)}async sign(e){return await ig(this._key,e)}get public(){if(this._publicKey==null)throw new w("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Co(this._publicKey)}decrypt(e){return ug(this._key,e)}marshal(){return qn.jwkToPkcs1(this._key)}get bytes(){return sr.encode({Type:Ce.RSA,Data:this.marshal()}).subarray()}equals(e){return xe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await nt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new To.default.util.ByteBuffer(this.marshal()),i=To.default.asn1.fromDer(n),o=To.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return To.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return await Mi(this.bytes,e);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function aS(t){let e=qn.pkcs1ToJwk(t),r=await ef(e);return new Ui(r.privateKey,r.publicKey)}function cS(t){let e=qn.pkixToJwk(t);return new Co(e)}async function uS(t){let e=await ef(t);return new Ui(e.privateKey,e.publicKey)}async function lS(t){let e=await ng(t);return new Ui(e.privateKey,e.publicKey)}var ff={};rt(ff,{Ed25519PrivateKey:()=>zn,Ed25519PublicKey:()=>No,generateKeyPair:()=>BS,generateKeyPairFromSeed:()=>Sg,unmarshalEd25519PrivateKey:()=>CS,unmarshalEd25519PublicKey:()=>DS});var fS=M(Tn(),1);var tt=BigInt(0),ne=BigInt(1),hn=BigInt(2),hS=BigInt(8),lg=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Ie=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:lg,n:lg,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var mg=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Do=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),nL=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),dS=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),pS=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),mS=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),yS=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Z=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof Be))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Be.ZERO)?Z.ZERO:new Z(e.x,e.y,ne,R(e.x*e.y))}static toAffineBatch(e){let r=ES(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){hg(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=R(r*a),u=R(o*i),l=R(n*a),f=R(s*i);return c===u&&l===f}negate(){return new Z(R(-this.x),this.y,this.z,R(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=Ie,o=R(e*e),s=R(r*r),a=R(hn*R(n*n)),c=R(i*o),u=e+r,l=R(R(u*u)-o-s),f=c+s,h=f-a,d=c-s,p=R(l*h),m=R(f*d),y=R(l*d),g=R(h*f);return new Z(p,m,g,y)}add(e){hg(e);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=e,l=R((n-r)*(a+s)),f=R((n+r)*(a-s)),h=R(f-l);if(h===tt)return this.double();let d=R(i*hn*u),p=R(o*hn*c),m=p+d,y=f+l,g=p-d,x=R(m*h),_=R(y*g),k=R(m*g),C=R(h*y);return new Z(x,_,C,k)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(Z.BASE)&&(r=Be.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&&af.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Z.normalizeZ(i),af.set(r,i)));let o=Z.ZERO,s=Z.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=ne);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?s=s.add(fg(g,i[m])):o=o.add(fg(x,i[y]))}return Z.normalizeZ([o,s])[0]}multiply(e,r){return this.wNAF(Ba(e,Ie.l),r)}multiplyUnsafe(e){let r=Ba(e,Ie.l,!1),n=Z.BASE,i=Z.ZERO;if(r===tt)return i;if(this.equals(i)||r===ne)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>tt;)r&ne&&(o=o.add(s)),s=s.double(),r>>=ne;return o}isSmallOrder(){return this.multiplyUnsafe(Ie.h).equals(Z.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(Ie.l/hn).double();return Ie.l%hn&&(e=e.add(this)),e.equals(Z.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(Z.ZERO);e==null&&(e=o?hS:La(i));let s=R(r*e),a=R(n*e),c=R(i*e);if(o)return Be.ZERO;if(c!==ne)throw new Error("invZ was invalid");return new Be(s,a)}fromRistrettoBytes(){nf()}toRistrettoBytes(){nf()}fromRistrettoHash(){nf()}};Z.BASE=new Z(Ie.Gx,Ie.Gy,ne,R(Ie.Gx*Ie.Gy));Z.ZERO=new Z(tt,ne,ne,tt);function fg(t,e){let r=e.negate();return t?r:e}function hg(t){if(!(t instanceof Z))throw new TypeError("ExtendedPoint expected")}function rf(t){if(!(t instanceof yt))throw new TypeError("RistrettoPoint expected")}function nf(){throw new Error("Legacy method: switch to RistrettoPoint")}var yt=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=Ie,n=R(Do*e*e),i=R((n+ne)*mS),o=BigInt(-1),s=R((o-r*n)*R(n+r)),{isValid:a,value:c}=uf(i,s),u=R(c*e);fn(u)||(u=R(-u)),a||(c=u),a||(o=n);let l=R(o*(n-ne)*yS-s),f=c*c,h=R((c+c)*s),d=R(l*dS),p=R(ne-f),m=R(ne+f);return new Z(R(h*m),R(p*d),R(d*m),R(h*p))}static hashToCurve(e){e=dn(e,64);let r=of(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=of(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new yt(n.add(o))}static fromHex(e){e=dn(e,32);let{a:r,d:n}=Ie,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=of(e);if(!vS(Bo(o),e)||fn(o))throw new Error(i);let s=R(o*o),a=R(ne+r*s),c=R(ne-r*s),u=R(a*a),l=R(c*c),f=R(r*n*u-l),{isValid:h,value:d}=pg(R(f*l)),p=R(d*c),m=R(d*p*f),y=R((o+o)*p);fn(y)&&(y=R(-y));let g=R(a*m),x=R(y*g);if(!h||fn(x)||g===tt)throw new Error(i);return new yt(new Z(y,g,ne,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,o=R(R(n+r)*R(n-r)),s=R(e*r),a=R(s*s),{value:c}=pg(R(o*a)),u=R(c*o),l=R(c*s),f=R(u*l*i),h;if(fn(i*f)){let p=R(r*Do),m=R(e*Do);e=p,r=m,h=R(u*pS)}else h=l;fn(e*f)&&(r=R(-r));let d=R((n-r)*h);return fn(d)&&(d=R(-d)),Bo(d)}toHex(){return Lo(this.toRawBytes())}toString(){return this.toHex()}equals(e){rf(e);let r=this.ep,n=e.ep,i=R(r.x*n.y)===R(r.y*n.x),o=R(r.y*n.y)===R(r.x*n.x);return i||o}add(e){return rf(e),new yt(this.ep.add(e.ep))}subtract(e){return rf(e),new yt(this.ep.subtract(e.ep))}multiply(e){return new yt(this.ep.multiply(e))}multiplyUnsafe(e){return new yt(this.ep.multiplyUnsafe(e))}};yt.BASE=new yt(Z.BASE);yt.ZERO=new yt(Z.ZERO);var af=new WeakMap,Be=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,af.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=Ie;e=dn(e,32);let o=e.slice();o[31]=e[31]&-129;let s=Po(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=mg)throw new Error("Expected 0 < hex < 2**256");let a=R(s*s),c=R(a-ne),u=R(n*a+ne),{isValid:l,value:f}=uf(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&ne)===ne;return(e[31]&128)!==0!==h&&(f=R(-f)),new Be(f,s)}static async fromPrivateKey(e){return(await Pa(e)).point}toRawBytes(){let e=Bo(this.y);return e[31]|=this.x&ne?128:0,e}toHex(){return Lo(this.toRawBytes())}toX25519(){let{y:e}=this,r=R((ne+e)*La(ne-e));return Bo(r)}isTorsionFree(){return Z.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new Be(R(-this.x),this.y)}add(e){return Z.fromAffine(this).add(Z.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Z.fromAffine(this).multiply(e,this).toAffine()}};Be.BASE=new Be(Ie.Gx,Ie.Gy);Be.ZERO=new Be(tt,ne);var $n=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=dn(e,64),n=Be.fromHex(r.slice(0,32),!1),i=Po(r.slice(32,64));return new $n(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof Be))throw new Error("Expected Point instance");return Ba(r,Ie.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Bo(this.s),32),e}toHex(){return Lo(this.toRawBytes())}};function dg(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var gS=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Lo(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=gS[t[r]];return e}function cf(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function yg(t){let r=t.toString(16).padStart(64,"0");return cf(r)}function Bo(t){return yg(t).reverse()}function fn(t){return(R(t)&ne)===ne}function Po(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Lo(Uint8Array.from(t).reverse()))}var wS=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function of(t){return R(Po(t)&wS)}function R(t,e=Ie.P){let r=t%e;return r>=tt?r:e+r}function La(t,e=Ie.P){if(t===tt||e<=tt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=R(t,e),n=e,i=tt,o=ne,s=ne,a=tt;for(;r!==tt;){let u=n/r,l=n%r,f=i-s*u,h=o-a*u;n=r,r=l,i=s,o=a,s=f,a=h}if(n!==ne)throw new Error("invert: does not exist");return R(i,e)}function ES(t,e=Ie.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===tt?o:(r[a]=o,R(o*s,e)),ne),i=La(n,e);return t.reduceRight((o,s,a)=>s===tt?o:(r[a]=R(o*r[a],e),R(o*s,e)),i),r}function pr(t,e){let{P:r}=Ie,n=t;for(;e-- >tt;)n*=n,n%=r;return n}function xS(t){let{P:e}=Ie,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=t*t%e*t%e,u=pr(c,hn)*c%e,l=pr(u,ne)*t%e,f=pr(l,r)*l%e,h=pr(f,n)*f%e,d=pr(h,i)*h%e,p=pr(d,o)*d%e,m=pr(p,s)*p%e,y=pr(m,s)*p%e,g=pr(y,n)*f%e;return{pow_p_5_8:pr(g,hn)*t%e,b2:c}}function uf(t,e){let r=R(e*e*e),n=R(r*r*e),i=xS(t*n).pow_p_5_8,o=R(t*r*i),s=R(e*o*o),a=o,c=R(o*Do),u=s===t,l=s===R(-t),f=s===R(-t*Do);return u&&(o=a),(l||f)&&(o=c),fn(o)&&(o=R(-o)),{isValid:u||l,value:o}}function pg(t){return uf(ne,t)}function Da(t){return R(Po(t),Ie.l)}function vS(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function dn(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):cf(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Ba(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(tt<t)return t}else if(tt<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function bS(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function _S(t){if(t=typeof t=="bigint"||typeof t=="number"?yg(Ba(t,mg)):dn(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function SS(t){let e=bS(t.slice(0,32)),r=t.slice(32,64),n=Da(e),i=Be.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}var sf;async function Pa(t){return SS(await pn.sha512(_S(t)))}async function lf(t){return(await Pa(t)).pointBytes}async function gg(t,e){t=dn(t);let{prefix:r,scalar:n,pointBytes:i}=await Pa(e),o=Da(await pn.sha512(r,t)),s=Be.BASE.multiply(o),a=Da(await pn.sha512(s.toRawBytes(),i,t)),c=R(o+a*n,Ie.l);return new $n(s,c).toRawBytes()}function AS(t,e,r){e=dn(e),r instanceof Be||(r=Be.fromHex(r,!1));let{r:n,s:i}=t instanceof $n?t.assertValidity():$n.fromHex(t),o=Z.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:e}}function RS(t,e,r,n){let i=Da(n),o=Z.fromAffine(t).multiplyUnsafe(i);return Z.fromAffine(e).add(o).subtract(r).multiplyUnsafe(Ie.h).equals(Z.ZERO)}async function wg(t,e,r){let{r:n,SB:i,msg:o,pub:s}=AS(t,e,r),a=await pn.sha512(n.toRawBytes(),s.toRawBytes(),o);return RS(s,n,i,a)}Be.BASE._setWindowSize(8);var ln={node:fS,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},pn={bytesToHex:Lo,hexToBytes:cf,concatBytes:dg,getExtendedPublicKey:Pa,mod:R,invert:La,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=dn(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return R(Po(t),Ie.l-ne)+ne},randomBytes:(t=32)=>{if(ln.web)return ln.web.getRandomValues(new Uint8Array(t));if(ln.node){let{randomBytes:e}=ln.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>pn.randomBytes(32),sha512:async(...t)=>{let e=dg(...t);if(ln.web){let r=await ln.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(ln.node)return Uint8Array.from(ln.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=Be.BASE){let r=e.equals(Be.BASE)?e:new Be(e.x,e.y);return r._setWindowSize(t),r.multiply(hn),r},sha512Sync:void 0};Object.defineProperties(pn,{sha512Sync:{configurable:!1,get(){return sf},set(t){sf||(sf=t)}}});var Fi=32,kr=64,Na=32;async function Eg(){let t=pn.randomPrivateKey(),e=await lf(t);return{privateKey:_g(t,e),publicKey:e}}async function xg(t){if(t.length!==Na)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await lf(e);return{privateKey:_g(e,r),publicKey:r}}async function vg(t,e){let r=t.subarray(0,Na);return await gg(e,r)}async function bg(t,e,r){return await wg(e,r,t)}function _g(t,e){let r=new Uint8Array(kr);for(let n=0;n<Na;n++)r[n]=t[n],r[Na+n]=e[n];return r}var No=class{constructor(e){this._key=Ki(e,Fi)}async verify(e,r){return await bg(this._key,r,e)}marshal(){return this._key}get bytes(){return or.encode({Type:Ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return xe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await nt.digest(this.bytes);return e}},zn=class{constructor(e,r){this._key=Ki(e,kr),this._publicKey=Ki(r,Fi)}async sign(e){return await vg(this._key,e)}get public(){return new No(this._publicKey)}marshal(){return this._key}get bytes(){return sr.encode({Type:Ce.Ed25519,Data:this.marshal()}).subarray()}equals(e){return xe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await nt.digest(this.bytes);return e}async id(){let e=Vr.digest(this.public.bytes);return Oe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return await Mi(this.bytes,e);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function CS(t){if(t.length>kr){t=Ki(t,kr+Fi);let n=t.subarray(0,kr),i=t.subarray(kr,t.length);return new zn(n,i)}t=Ki(t,kr);let e=t.subarray(0,kr),r=t.subarray(Fi);return new zn(e,r)}function DS(t){return t=Ki(t,Fi),new No(t)}async function BS(){let{privateKey:t,publicKey:e}=await Eg();return new zn(t,e)}async function Sg(t){let{privateKey:e,publicKey:r}=await xg(t);return new zn(e,r)}function Ki(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new w(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var df={};rt(df,{Secp256k1PrivateKey:()=>Oo,Secp256k1PublicKey:()=>ko,generateKeyPair:()=>kS,unmarshalSecp256k1PrivateKey:()=>PS,unmarshalSecp256k1PublicKey:()=>NS});function Ag(){return Qt.randomPrivateKey()}async function Rg(t,e){let{digest:r}=await nt.digest(e);try{return await Jy(r,t)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}async function Ig(t,e,r){try{let{digest:n}=await nt.digest(r);return jy(e,n,t)}catch(n){throw new w(String(n),"ERR_INVALID_INPUT")}}function Tg(t){return ce.fromHex(t).toRawBytes(!0)}function Cg(t){try{Jl(t,!0)}catch(e){throw new w(String(e),"ERR_INVALID_PRIVATE_KEY")}}function hf(t){try{ce.fromHex(t)}catch(e){throw new w(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Dg(t){try{return Jl(t,!0)}catch(e){throw new w(String(e),"ERR_INVALID_PRIVATE_KEY")}}var ko=class{constructor(e){hf(e),this._key=e}async verify(e,r){return await Ig(this._key,r,e)}marshal(){return Tg(this._key)}get bytes(){return or.encode({Type:Ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return xe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await nt.digest(this.bytes);return e}},Oo=class{constructor(e,r){this._key=e,this._publicKey=r??Dg(e),Cg(this._key),hf(this._publicKey)}async sign(e){return await Rg(this._key,e)}get public(){return new ko(this._publicKey)}marshal(){return this._key}get bytes(){return sr.encode({Type:Ce.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return xe(this.bytes,e.bytes)}async hash(){let{bytes:e}=await nt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return await Mi(this.bytes,e);throw new w(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function PS(t){return new Oo(t)}function NS(t){return new ko(t)}async function kS(){let t=Ag();return new Oo(t)}var Or={rsa:tf,ed25519:ff,secp256k1:df};function pf(t){let e=Object.keys(Or).join(" / ");return new w(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function mf(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Or[t];throw pf(t)}async function Oa(t,e){return await mf(t).generateKeyPair(e??2048)}function Mo(t){let e=or.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Ce.RSA:return Or.rsa.unmarshalRsaPublicKey(r);case Ce.Ed25519:return Or.ed25519.unmarshalEd25519PublicKey(r);case Ce.Secp256k1:return Or.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw pf(e.Type??"RSA")}}function Bg(t,e){return e=(e??"rsa").toLowerCase(),mf(e),t.bytes}async function Vi(t){let e=sr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Ce.RSA:return await Or.rsa.unmarshalRsaPrivateKey(r);case Ce.Ed25519:return Or.ed25519.unmarshalEd25519PrivateKey(r);case Ce.Secp256k1:return Or.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw pf(e.Type??"RSA")}}function Lg(t,e){return e=(e??"rsa").toLowerCase(),mf(e),t.bytes}async function Uo(t,e){try{let i=await Ny(t,e);return await Vi(i)}catch{}let r=ka.default.pki.decryptRsaPrivateKey(t,e);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=ka.default.asn1.toDer(ka.default.pki.privateKeyToAsn1(r));return n=F(n.getBytes(),"ascii"),await Or.rsa.unmarshalRsaPrivateKey(n)}var RL=M(la(),1),MS=M(fe(),1);var Ng=M(kl(),1),kg=M(Ve(),1);var Pg={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Fo(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Pg).join(" / ");throw new w(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=Pg[i],s=(0,Ng.default)(t,e,r,n,o);return kg.default.encode64(s,null)}var Ma=U("libp2p:keychain"),KS="/pkcs8/",Mg="/info/",Hn=new WeakMap,Gn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},yf={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Mr(t){return t==null||typeof t!="string"?!1:t===(0,Og.default)(t.trim())&&t.length>0}async function ye(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function mr(t){return new Ne(KS+t)}function mn(t){return new Ne(Mg+t)}var Yn=class{constructor(e,r){if(this.components=e,this.init=Jr(yf,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Gn.minKeyLength)throw new Error(`dek.keyLength must be least ${Gn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Gn.minSaltLength)throw new Error(`dek.saltLength must be least ${Gn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Gn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Gn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Fo(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Hn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},yf),r=Math.ceil(Gn.minSaltLength/3)*3;return e.dek.salt=$(Pr(r),"base64"),e}static get options(){return yf}async createKey(e,r,n=2048){if(!Mr(e)||e==="self")throw await ye(),new w("Invalid key name",ee.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ye(),new w("Invalid key type",ee.ERR_INVALID_KEY_TYPE);let i=mr(e);if(await this.components.datastore.has(i))throw await ye(),new w("Key name already exists",ee.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ye(),new w("Invalid RSA key size",ee.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Oa(r,n),c=await a.id(),u=Hn.get(this);if(u==null)throw new w("dek missing",ee.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let h=this.components.datastore.batch();h.put(i,F(f)),h.put(mn(e),F(JSON.stringify(s))),await h.commit()}catch(a){throw await ye(),a}return s}async listKeys(){let e={prefix:Mg},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse($(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new w(`Key with id '${e}' does not exist.`,ee.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ye(),r}}async findKeyByName(e){if(!Mr(e))throw await ye(),new w(`Invalid key name '${e}'`,ee.ERR_INVALID_KEY_NAME);let r=mn(e);try{let n=await this.components.datastore.get(r);return JSON.parse($(n))}catch(n){throw await ye(),Ma.error(n),new w(`Key '${e}' does not exist.`,ee.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!Mr(e)||e==="self")throw await ye(),new w(`Invalid key name '${e}'`,ee.ERR_INVALID_KEY_NAME);let r=mr(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(mn(e)),await i.commit(),n}async renameKey(e,r){if(!Mr(e)||e==="self")throw await ye(),new w(`Invalid old key name '${e}'`,ee.ERR_OLD_KEY_NAME_INVALID);if(!Mr(r)||r==="self")throw await ye(),new w(`Invalid new key name '${r}'`,ee.ERR_NEW_KEY_NAME_INVALID);let n=mr(e),i=mr(r),o=mn(e),s=mn(r);if(await this.components.datastore.has(i))throw await ye(),new w(`Key '${r}' already exists`,ee.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse($(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,F(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await ye(),c}}async exportKey(e,r){if(!Mr(e))throw await ye(),new w(`Invalid key name '${e}'`,ee.ERR_INVALID_KEY_NAME);if(r==null)throw await ye(),new w("Password is required",ee.ERR_PASSWORD_REQUIRED);let n=mr(e);try{let i=await this.components.datastore.get(n),o=$(i),s=Hn.get(this);if(s==null)throw new w("dek missing",ee.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await Uo(o,a)).export(r)}catch(i){throw await ye(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await Uo(n,r);return await Yr(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!Mr(e)||e==="self")throw await ye(),new w(`Invalid key name '${e}'`,ee.ERR_INVALID_KEY_NAME);if(r==null)throw await ye(),new w("PEM encoded key is required",ee.ERR_PEM_REQUIRED);let i=mr(e);if(await this.components.datastore.has(i))throw await ye(),new w(`Key '${e}' already exists`,ee.ERR_KEY_ALREADY_EXISTS);let s;try{s=await Uo(r,n)}catch{throw await ye(),new w("Cannot read the key, most likely the password is wrong",ee.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=Hn.get(this);if(l==null)throw new w("dek missing",ee.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await ye(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,F(r)),u.put(mn(e),F(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!Mr(e))throw new w(`Invalid key name '${e}'`,ee.ERR_INVALID_KEY_NAME);if(r==null)throw new w("PeerId is required",ee.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new w("PeerId.privKey is required",ee.ERR_MISSING_PRIVATE_KEY);let n=await Vi(r.privateKey),i=mr(e);if(await this.components.datastore.has(i))throw await ye(),new w(`Key '${e}' already exists`,ee.ERR_KEY_ALREADY_EXISTS);let s=Hn.get(this);if(s==null)throw new w("dek missing",ee.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,F(c)),l.put(mn(e),F(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ye(),n}}async getPrivateKey(e){if(!Mr(e))throw await ye(),new w(`Invalid key name '${e}'`,ee.ERR_INVALID_KEY_NAME);try{let r=mr(e),n=await this.components.datastore.get(r);return $(n)}catch(r){throw await ye(),Ma.error(r),new w(`Key '${e}' does not exist.`,ee.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ye(),new w(`Invalid old pass type '${typeof e}'`,ee.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ye(),new w(`Invalid new pass type '${typeof r}'`,ee.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ye(),new w(`Invalid pass length ${r.length}`,ee.ERR_INVALID_PASS_LENGTH);Ma("recreating keychain");let n=Hn.get(this);if(n==null)throw new w("dek missing",ee.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?Fo(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";Hn.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(mr(a.name)),u=$(c),l=await Uo(u,i),f=o.toString(),h=await l.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(mr(a.name),F(h)),d.put(mn(a.name),F(JSON.stringify(p))),await d.commit()}Ma("keychain reconstructed")}};var ZL=Symbol.for("@libp2p/transport");var yn;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(yn||(yn={}));var gf=class extends Map{constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ug(t){let{name:e,metrics:r}=t,n;return r!=null?n=new gf({name:e,metrics:r}):n=new Map,n}var Wn=U("libp2p:transports"),Ua=class extends Xe{constructor(e,r={}){super(),this.components=e,this.started=!1,this.transports=new Map,this.listeners=Ug({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??yn.FATAL_ALL}add(e){let r=e[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);Wn("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}async start(){let e=this.components.addressManager.getListenAddrs();await this.listen(e),this.started=!0}async stop(){let e=[];for(let[r,n]of this.listeners)for(Wn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Wn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new w(`No transport available for address ${String(e)}`,S.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=S.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){Wn("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){Wn("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.dispatchEvent(new G("listener:listening",{detail:l}))}),l.addEventListener("close",()=>{this.dispatchEvent(new G("listener:close",{detail:l}))}),s.push(l.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==yn.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===yn.FATAL_ALL)throw new w(n,S.ERR_NO_VALID_ADDRESSES);Wn(`libp2p in dial mode only: ${n}`)}}async remove(e){Wn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Ur="/multistream/1.0.0";var Kg=Symbol.for("@achingbrain/uint8arraylist");function Fg(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Fa(t){return!!t?.[Kg]}var be=class{constructor(...e){Object.defineProperty(this,Kg,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Fa(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Fa(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Fg(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Fg(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Fa(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Me(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Me(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new be;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Fa(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){l=Math.max(1,h-a[d]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Mt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=vr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Mt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=vr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=vr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=vr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof be)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!xe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new be;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Ka(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var Vg=4294967296,Rt=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new Rt(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new Rt(r,n)}toBytes(e,r=0){let n=Ka(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new Rt;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Vg&&(i=0,++n>Vg&&(n=0))),new Rt(n,i)}static fromNumber(e){if(e===0)return new Rt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Rt(i,n)}static fromBytes(e,r=0){let n=Ka(e),i=new Rt,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*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;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var VS=Math.pow(2,7),qS=Math.pow(2,14),$S=Math.pow(2,21),zS=Math.pow(2,28),HS=Math.pow(2,35),GS=Math.pow(2,42),YS=Math.pow(2,49),WS=Math.pow(2,56),QS=Math.pow(2,63),it={encodingLength(t){return t<VS?1:t<qS?2:t<$S?3:t<zS?4:t<HS?5:t<GS?6:t<YS?7:t<WS?8:t<QS?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Mt(it.encodingLength(t))),Rt.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return Rt.fromBytes(t,e).toNumber(!0)}};function Va(t){return t[Symbol.asyncIterator]!=null}var qa=t=>{let e=it.encodingLength(t),r=Mt(e);return it.encode(t,r),qa.bytes=e,r};qa.bytes=0;function $a(t,e){e=e??{};let r=e.lengthEncoder??qa;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Va(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}$a.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??qa;return new be(r(t.byteLength),t)};var qi=M(gs(),1);var XS=8,ZS=1024*1024*4,Qn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Qn||(Qn={}));var wf=t=>{let e=it.decode(t);return wf.bytes=it.encodingLength(e),e};wf.bytes=0;function Ko(t,e){let r=new be,n=Qn.LENGTH,i=-1,o=e?.lengthDecoder??wf,s=e?.maxLengthLength??XS,a=e?.maxDataLength??ZS;function*c(){for(;r.byteLength>0;){if(n===Qn.LENGTH)try{if(i=o(r),i<0)throw(0,qi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,qi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Qn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,qi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Qn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Qn.LENGTH}}}return Va(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Ko.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Ko(n,{...e??{},onLength:o=>{r=o}})};function jS(t){return t[Symbol.asyncIterator]!=null}function eA(...t){let e=[];for(let r of t)jS(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Ft({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Ef=eA;function qg(t,...e){if(t==null)throw new Error("Empty pipeline");if(xf(t)){let n=t;t=()=>n.source}else if(zg(t)||$g(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&xf(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++)xf(r[n])&&(r[n]=rA(r[n]));return tA(...r)}var tA=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},$g=t=>t?.[Symbol.asyncIterator]!=null,zg=t=>t?.[Symbol.iterator]!=null,xf=t=>t==null?!1:t.sink!=null&&t.source!=null,rA=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Ft({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if($g(o))i=async function*(){yield*o,n.end()};else if(zg(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ef(n,i())}return t.source};function nA(t){return t[Symbol.asyncIterator]!=null}function iA(t){if(nA(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Hg=iA;var Vo=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Gg(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function za(t,e,r){let n=r??{},i=Gg(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new Vo(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:h,abortCode:d}=n;f(new Vo(h,d))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&await n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}function oA(t,e,r){return n=>t(za(n,e,r))}function gt(t,e,r){return{sink:oA(t.sink,e,{...r,onAbort:void 0}),source:za(t.source,e,r)}}var aA=U("libp2p:mss"),Yg=F(`
|
|
49
|
-
`);function qo(t){let e=new be(t,Yg);return $a.single(e)}function Xn(t,e,r={}){let n=qo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Wg(t,e,r={}){let n=new be;for(let i of e)n.append(qo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function cA(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await t.next(r)},i=n;e?.signal!=null&&(i=za(n,e.signal));let o=a=>{r=a},s=await qg(i,a=>Ko(a,{onLength:o,maxDataLength:1024}),async a=>await Hg(a));if(s==null||s.length===0)throw new w("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==Yg[0])throw aA.error("Invalid mss message - missing newline - %s",s.subarray()),new w("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function $i(t,e){let r=await cA(t,e);return $(r.subarray())}function vf(t){let e=async function*(){let r=yield,n=new be;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new be;continue}for(n.append(i);n.length>=r;){let o=n.sublist(0,r);if(n.consume(r),r=yield o,r==null){n.length>0&&(r=yield n,n=new be);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ha(t){let e=Ft(),r=vf(t.source),n=rr(),i,o=t.sink(async function*(){yield*e,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await o),source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var $o=U("libp2p:mss:select");async function zo(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ha(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");$o('select: write ["%s", "%s"]',Ur,a);let c=F(Ur),u=F(a);Wg(i,[c,u],r);let l=await $i(n,r);if($o('select: read "%s"',l),l===Ur&&(l=await $i(n,r),$o('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){$o('select: write "%s"',f),Xn(i,F(f),r);let h=await $i(n,r);if($o('select: read "%s" for "%s"',h,f),h===f)return o(),{stream:s,protocol:f}}throw o(),new w("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var Ho=U("libp2p:mss:handle");async function Go(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ha(t);for(;;){let a=await $i(i,r);if(Ho('read "%s"',a),a===Ur){Ho('respond with "%s" for "%s"',Ur,a),Xn(n,F(Ur),r);continue}if(e.includes(a))return Xn(n,F(a),r),Ho('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){Xn(n,new be(...e.map(c=>qo(F(c)))),r),Ho('respond with "%s" for %s',e,a);continue}Xn(n,F("na"),r),Ho('respond with "na" for "%s"',a)}}var Xg="OPEN",bf="CLOSING",Ga="CLOSED";var Zg=Symbol.for("@libp2p/connection");var lA=U("libp2p:connection"),_f=class{constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,getStreams:s,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:Xg},this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[Zg](){return!0}get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===bf)throw new w("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Ga)throw new w("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===Ga||this._closing)){this.stat.status=bf;try{this.streams.forEach(e=>{e.close()})}catch(e){lA.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=Ga}}};function Jg(t){return new _f(t)}var fA=Symbol.for("@libp2p/topology");function jg(t){return t!=null&&!!t[fA]}var Sf=U("libp2p:registrar"),Af=32,Rf=64,Ya=class{constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,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(e){let r=this.handlers.get(e);if(r==null)throw new w(`No handler registered for protocol ${e}`,S.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new w(`Handler already registered for protocol ${e}`,S.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Jr.bind({ignoreUndefined:!0})({maxInboundStreams:Af,maxOutboundStreams:Rf},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[e])}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,r)}async register(e,r){if(!jg(r))throw Sf.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(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect(r.remotePeer)}}).catch(n=>{Sf.error(n)})}_onConnect(e){let r=e.detail;this.components.peerStore.protoBook.get(r.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onConnect(r.remotePeer,r)}}).catch(n=>{Sf.error(n)})}_onProtocolChange(e){let{peerId:r,protocols:n,oldProtocols:i}=e.detail,o=i.filter(a=>!n.includes(a)),s=n.filter(a=>!i.includes(a));for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let u of c.values())u.onDisconnect(r)}for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let u of c.values()){let l=this.components.connectionManager.getConnections(r)[0];l!=null&&u.onConnect(r,l)}}}};var If=M($r(),1);var Tf=M(Ar(),1);var _e=U("libp2p:upgrader");function dA(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==S.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Af}function pA(t,e){try{let{options:r}=e.getHandler(t);return r.maxOutboundStreams}catch(r){if(r.code!==S.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Rf}function ew(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var Wa=class extends Xe{constructor(e,r){super(),this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new w("connection denied",S.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=new If.TimeoutController(this.inboundUpgradeTimeout);try{(0,Tf.setMaxListeners)?.(1/0,u.signal)}catch{}try{let l=gt(e,u.signal);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new w("The multiaddr connection is blocked by gater.acceptConnection",S.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),_e("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(_e("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){if({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection?.(o,{...f,...i})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED)}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new w("inbound connection that skipped encryption must have a peer id",S.ERR_INVALID_MULTIADDR);let d=ae(h);c="native",o=d}if(s=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,s=h.stream}}catch(h){throw _e.error("Failed to upgrade inbound connection",h),h}if(await this.components.connectionGater.denyInboundUpgradedConnection?.(o,{...f,...i})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED);return _e("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;if(n!=null&&(i=ae(n),await this.components.connectionGater.denyOutboundConnection?.(i,e)===!0))throw new w("The multiaddr connection is blocked by connectionGater.denyOutboundConnection",S.ERR_CONNECTION_INTERCEPTED);let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),_e("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(o=l,r?.skipEncryption!==!0){if({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i),await this.components.connectionGater.denyOutboundEncryptedConnection?.(s,{...l,...o})===!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",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...o},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw _e.error("Failed to upgrade outbound connection",f),await e.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection?.(s,{...l,...o})===!0)throw new w("The multiaddr connection is blocked by gater.acceptEncryptedConnection",S.ERR_CONNECTION_INTERCEPTED);return _e("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Go(d,p);if(_e("%s: incoming stream opened on %s",n,y),l==null)return;let g=dA(y,this.components.registrar);if(ew(y,"inbound",l)===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(s,[y]).catch(_=>{_e.error(_)}),l.addStream(d),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:y})}).catch(p=>{_e.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{l?.removeStream(d.id)}}),u=async(d,p={})=>{if(c==null)throw new w("Stream is not multiplexed",S.ERR_MUXER_UNAVAILABLE);_e("%s: starting new stream on %s",n,d);let m=await c.newStream(),y;try{if(p.signal==null){_e("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),y=new If.TimeoutController(3e4),p.signal=y.signal;try{(0,Tf.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:x}=await zo(m,d,p),_=pA(x,this.components.registrar);if(ew(x,"outbound",l)===_){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(s,[x]).catch(C=>{_e.error(C)}),m.source=g.source,m.sink=g.sink,m.stat.protocol=x,this.components.metrics?.trackProtocolStream(m,l),m}catch(g){throw _e.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(o.source),o.sink(c.source)]).catch(d=>{_e.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){_e.error(p)}finally{this.dispatchEvent(new G("connectionEnd",{detail:l}))}})().catch(p=>{_e.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 l=Jg({remoteAddr:i.remoteAddr,remotePeer:s,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new G("connection",{detail:l})),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o}=this.components.registrar.getHandler(i);o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());_e("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Go(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return _e("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new w(String(n),S.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());_e("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await zo(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return _e("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new w(String(i),S.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());_e("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await zo(e,n,{writeBytes:!0});_e("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw _e.error("error multiplexing outbound stream",i),new w(String(i),S.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());_e("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await Go(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw _e.error("error multiplexing inbound stream",i),new w(String(i),S.ERR_MUXER_UNAVAILABLE)}}};function tw(t){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}var Qa=t=>{let e=it.encodingLength(t),r=tw(e);return it.encode(t,r),Qa.bytes=e,r};Qa.bytes=0;function Xt(t){t=t??{};let e=t.lengthEncoder??Qa;return async function*(n){for await(let i of n){let o=e(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}Xt.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Qa;return new be(r(t.byteLength),t)};var Yo=M(gs(),1),mA=8,yA=1024*1024*4,Zn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Zn||(Zn={}));var Cf=t=>{let e=it.decode(t);return Cf.bytes=it.encodingLength(e),e};Cf.bytes=0;function Pt(t){return async function*(r){let n=new be,i=Zn.LENGTH,o=-1,s=t?.lengthDecoder??Cf,a=t?.maxLengthLength??mA,c=t?.maxDataLength??yA;for await(let u of r)for(n.append(u);n.byteLength>0;){if(i===Zn.LENGTH)try{if(o=s(n),o<0)throw(0,Yo.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,Yo.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=s.bytes;n.consume(l),t?.onLength!=null&&t.onLength(o),i=Zn.DATA}catch(l){if(l instanceof RangeError){if(n.byteLength>a)throw(0,Yo.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(i===Zn.DATA){if(n.byteLength<o)break;let l=n.sublist(0,o);n.consume(o),t?.onData!=null&&t.onData(l),yield l,i=Zn.LENGTH}}if(n.byteLength>0)throw(0,Yo.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Pt.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Pt({...e??{},onLength:o=>{r=o}})(n)};var Jn;(function(t){let e;t.codec=()=>(e==null&&(e=me((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 o of r.listenAddrs)n.uint32(18),n.bytes(o);if(r.observedAddr!=null&&(n.uint32(34),n.bytes(r.observedAddr)),r.protocols!=null)for(let o of r.protocols)n.uint32(26),n.string(o);r.signedPeerRecord!=null&&(n.uint32(66),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={listenAddrs:[],protocols:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>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(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(Jn||(Jn={}));var rw={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Wo;(function(t){let e;t.codec=()=>(e==null&&(e=me((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)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>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(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(Wo||(Wo={}));var gA,Qe=class{constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Wo.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return xe(this.marshal(),e.marshal())}async validate(e){let r=nw(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await Mo(this.peerId.publicKey).verify(r.subarray(),this.signature)}};gA=Qe;Qe.createFromProtobuf=async t=>{let e=Wo.decode(t),r=await Yr(e.publicKey);return new Qe({peerId:r,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};Qe.seal=async(t,e)=>{if(e.privateKey==null)throw new Error("Missing private key");let r=t.domain,n=t.codec,i=t.marshal(),o=nw(r,n,i),a=await(await Vi(e.privateKey)).sign(o.subarray());return new Qe({peerId:e,payloadType:n,payload:i,signature:a})};Qe.openAndCertify=async(t,e)=>{let r=await Qe.createFromProtobuf(t);if(!await r.validate(e))throw new w("envelope signature is not valid for the given domain",rw.ERR_SIGNATURE_NOT_VALID);return r};var nw=(t,e,r)=>{let n=F(t),i=it.encode(n.byteLength),o=it.encode(e.length),s=it.encode(r.length);return new be(i,n,o,e,s,r)};function iw(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var Qo;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=me((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>pe(o,n.codec()),n.decode=o=>de(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=me((n,i,o={})=>{if(o.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 s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>pe(n,t.codec()),t.decode=n=>de(n,t.codec())})(Qo||(Qo={}));var ow="libp2p-peer-record",sw=Uint8Array.from([3,1]);var ze=class{constructor(e){this.domain=ze.DOMAIN,this.codec=ze.CODEC;let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Qo.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof ze)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!iw(this.multiaddrs,e.multiaddrs))}};ze.createFromProtobuf=t=>{let e=Qo.decode(t),r=Gr(e.peerId),n=(e.addresses??[]).map(o=>Te(o.multiaddr)),i=e.seq;return new ze({peerId:r,multiaddrs:n,seqNumber:i})};ze.DOMAIN=ow;ze.CODEC=sw;var Xa="0.0.0",aw="libp2p";var Bf=`js-libp2p/${Xa}`;var cw="0.1.0",uw="id",lw="id/push",fw="1.0.0",hw="1.0.0";var Xo=M($r(),1);var Zo=M(Ar(),1),ge=U("libp2p:identify"),dw=1024*8,zi=class{constructor(e,r){this.components=e,this.started=!1,this.init=r,this.identifyProtocolStr=`/${r.protocolPrefix}/${uw}/${fw}`,this.identifyPushProtocolStr=`/${r.protocolPrefix}/${lw}/${hw}`,this.host={protocolVersion:`${r.protocolPrefix}/${cw}`,...r.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(ge.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>{ge.error(o)})}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>{ge.error(o)})})}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,e=>{this._handleIdentify(e).catch(r=>{ge.error(r)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,e=>{this._handlePush(e).catch(r=>{ge.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(e){let r=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(s=>s.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),o=e.map(async s=>{let a,c=new Xo.TimeoutController(this.init.timeout);try{(0,Zo.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await s.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await gt(a,c.signal).sink(We([Jn.encode({listenAddrs:n,signedPeerRecord:r,protocols:i})],Xt()))}catch(u){ge.error("could not push identify update to peer",u)}finally{a?.close(),c.clear()}});await Promise.all(o)}async pushToPeerStore(){if(!this.isStarted())return;let e=[];for(let r of this.components.connectionManager.getConnections()){let n=r.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&e.push(r)}await this.push(e)}async _identify(e,r={}){let n,i=r.signal,o;if(i==null){n=new Xo.TimeoutController(this.init.timeout),i=n.signal;try{(0,Zo.setMaxListeners)?.(1/0,n.signal)}catch{}}try{o=await e.newStream([this.identifyProtocolStr],{signal:i});let s=gt(o,i),a=await We([],s,Pt({maxDataLength:this.init.maxIdentifyMessageSize??dw}),async c=>await dt(c));if(a==null)throw new w("No data could be retrieved",S.ERR_CONNECTION_ENDED);try{return Jn.decode(a)}catch(c){throw new w(String(c),S.ERR_INVALID_MESSAGE)}}finally{n?.clear(),o?.close()}}async identify(e,r={}){let n=await this._identify(e,r),{publicKey:i,listenAddrs:o,protocols:s,observedAddr:a,signedPeerRecord:c,agentVersion:u,protocolVersion:l}=n;if(i==null)throw new w("public key was missing from identify message",S.ERR_MISSING_PUBLIC_KEY);let f=await Yr(i);if(!e.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=zi.getCleanMultiaddr(a);if(c!=null){ge("received signed peer record from %p",f);try{let d=await Qe.openAndCertify(c,ze.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,s),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(l)),ge("identify completed for peer %p with protocols %o",f,s);return}}catch(d){ge("received invalid envelope, discard it and fallback to listenAddrs is available",d)}}else ge("no signed peer record received from %p",f);ge("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,o.map(d=>Te(d)))}catch(d){ge.error("received invalid addrs",d)}await this.components.peerStore.protoBook.set(f,s),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",F(u)),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",F(l)),ge("identify completed for peer %p and protocols %o",f,s),ge("our observed address is %s",h),h!=null&&this.components.addressManager.getObservedAddrs().length<(this.init.maxObservedAddresses??1/0)&&(ge("storing our observed address %s",h?.toString()),this.components.addressManager.addObservedAddr(h))}async _handleIdentify(e){let{connection:r,stream:n}=e,i=new Xo.TimeoutController(this.init.timeout);try{(0,Zo.setMaxListeners)?.(1/0,i.signal)}catch{}try{let o=this.components.peerId.publicKey??new Uint8Array(0),s=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(h=>h.decapsulateCode(j("p2p").code)),c=s.peerRecordEnvelope;if(a.length>0&&c==null){let h=new ze({peerId:this.components.peerId,multiaddrs:a}),d=await Qe.seal(h,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(d),c=d.marshal().subarray()}let u=Jn.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:o,listenAddrs:a.map(h=>h.bytes),signedPeerRecord:c,observedAddr:r.remoteAddr.bytes,protocols:s.protocols}),l=gt(n,i.signal),f=We([u],Xt());await l.sink(f)}catch(o){ge.error("could not respond to identify request",o)}finally{n.close(),i.clear()}}async _handlePush(e){let{connection:r,stream:n}=e,i=new Xo.TimeoutController(this.init.timeout);try{(0,Zo.setMaxListeners)?.(1/0,i.signal)}catch{}let o;try{let a=gt(n,i.signal),c=await We([],a,Pt({maxDataLength:this.init.maxIdentifyMessageSize??dw}),async u=>await dt(u));c!=null&&(o=Jn.decode(c))}catch(a){ge.error("received invalid message",a);return}finally{n.close(),i.clear()}if(o==null){ge.error("received invalid message");return}let s=r.remotePeer;if(this.components.peerId.equals(s)){ge("received push from ourselves?");return}if(ge("received push from %p",s),o.signedPeerRecord!=null){ge("received signedPeerRecord in push");try{let a=await Qe.openAndCertify(o.signedPeerRecord,ze.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){ge("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(s,o.protocols);return}else ge("failed to consume signedPeerRecord sent in push")}catch(a){ge("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else ge("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(s,o.listenAddrs.map(a=>Te(a)))}catch(a){ge.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(s,o.protocols)}catch(a){ge.error("received invalid protocols",a)}ge("handled push from %p",s)}static getCleanMultiaddr(e){if(e!=null&&e.length>0)try{return Te(e)}catch{}}};var Jo;(function(t){let e;t.codec=()=>(e==null&&(e=me((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:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.identifier=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(Jo||(Jo={}));var Zt;(function(t){let e;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(e=t.StatusCode||(t.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=()=>tn(r)}(e=t.StatusCode||(t.StatusCode={}));let n;t.codec=()=>(n==null&&(n=me((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.status!=null&&r[i.status]!==0&&(o.uint32(8),t.StatusCode.codec().encode(i.status,o)),i.data!=null&&i.data.byteLength>0&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={status:e.OK,data:new Uint8Array(0)},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.status=t.StatusCode.codec().decode(i);break;case 2:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),t.encode=i=>pe(i,t.codec()),t.decode=i=>de(i,t.codec())})(Zt||(Zt={}));var pw="0.0.1",mw="fetch";var yw=M($r(),1),gw=M(Ar(),1);var Nt=U("libp2p:fetch"),Za=class{constructor(e,r){this.started=!1,this.components=e,this.protocol=`/${r.protocolPrefix??"libp2p"}/${mw}/${pw}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=r}async start(){await this.components.registrar.handle(this.protocol,e=>{this.handleMessage(e).catch(r=>{Nt.error(r)}).finally(()=>{e.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(e,r,n={}){Nt("dialing %s to %p",this.protocol,e);let i=await this.components.connectionManager.openConnection(e,n),o,s=n.signal,a;if(s==null){Nt("using default timeout of %d ms",this.init.timeout),o=new yw.TimeoutController(this.init.timeout),s=o.signal;try{(0,gw.setMaxListeners)?.(1/0,o.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:s});let c=gt(a,s);return Nt("fetch %s",r),await We([Jo.encode({identifier:r})],Xt(),c,Pt(),async function(l){let f=await dt(l);if(f==null)throw new w("No data received",S.ERR_INVALID_MESSAGE);let h=Zt.decode(f);switch(h.status){case Zt.StatusCode.OK:return Nt("received status for %s ok",r),h.data;case Zt.StatusCode.NOT_FOUND:return Nt("received status for %s not found",r),null;case Zt.StatusCode.ERROR:{Nt("received status for %s error",r);let d=$(h.data);throw new w("Error in fetch protocol response: "+d,S.ERR_INVALID_PARAMETERS)}default:throw Nt("received status for %s unknown",r),new w("Unknown response status",S.ERR_INVALID_MESSAGE)}})??null}finally{o?.clear(),a?.close()}}async handleMessage(e){let{stream:r}=e,n=this;await We(r,Pt(),async function*(i){let o=await dt(i);if(o==null)throw new w("No data received",S.ERR_INVALID_MESSAGE);let s=Jo.decode(o),a,c=n._getLookupFunction(s.identifier);if(c!=null){Nt("look up data with identifier %s",s.identifier);let u=await c(s.identifier);u!=null?(Nt("sending status for %s ok",s.identifier),a={status:Zt.StatusCode.OK,data:u}):(Nt("sending status for %s not found",s.identifier),a={status:Zt.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{Nt("sending status for %s error",s.identifier);let u=F(`No lookup function registered for key: ${s.identifier}`);a={status:Zt.StatusCode.ERROR,data:u}}yield Zt.encode(a)},Xt(),r)}_getLookupFunction(e){for(let r of this.lookupFunctions.keys())if(e.startsWith(r))return this.lookupFunctions.get(r)}registerLookupFunction(e,r){if(this.lookupFunctions.has(e))throw new w(`Fetch protocol handler for key prefix '${e}' already registered`,S.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(e,r)}unregisterLookupFunction(e,r){r!=null&&this.lookupFunctions.get(e)!==r||this.lookupFunctions.delete(e)}};var ww="1.0.0",Ew="ping";var vw=M($r(),1),bw=M(Ar(),1),xw=U("libp2p:ping"),Ja=class{constructor(e,r){this.components=e,this.started=!1,this.protocol=`/${r.protocolPrefix}/${Ew}/${ww}`,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(e){let{stream:r}=e;We(r,r).catch(n=>{xw.error(n)})}async ping(e,r={}){xw("dialing %s to %p",this.protocol,e);let n=Date.now(),i=Pr(32),o=await this.components.connectionManager.openConnection(e,r),s,a=r.signal,c;if(a==null){s=new vw.TimeoutController(this.init.timeout),a=s.signal;try{(0,bw.setMaxListeners)?.(1/0,s.signal)}catch{}}try{c=await o.newStream([this.protocol],{signal:a});let u=gt(c,a),l=await We([i],u,async h=>await dt(h)),f=Date.now();if(l==null||!xe(i,l.subarray()))throw new w("Received wrong ping ack",S.ERR_WRONG_PING_ACK);return f-n}finally{s?.clear(),c?.close()}}};async function _w(){throw new Error("Not supported in browsers")}var Rw=M(Aw(),1),Lf=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,ja=(0,Rw.default)(),jo=Lf&&!ja,Iw=ja&&!Lf,Tw=ja&&Lf,Cw=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!ja,Dw=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,xk=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",Bw=typeof navigator<"u"&&navigator.product==="ReactNative";function Lw(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function Pw(t){let{address:e}=t.nodeAddress();return Lw(e)}var Pf=U("libp2p:nat"),Nf=7200;function vA(t=1024,e=65535){return Math.floor(Math.random()*(e-t+1)+t)}var ec=class{constructor(e,r){if(this.components=e,this.started=!1,this.enabled=r.enabled,this.externalAddress=r.externalAddress,this.localAddress=r.localAddress,this.description=r.description??`${aw}@${Xa} ${this.components.peerId.toString()}`,this.ttl=r.ttl??Nf,this.keepAlive=r.keepAlive??!0,this.gateway=r.gateway,this.ttl<Nf)throw new w(`NatManager ttl should be at least ${Nf} seconds`,S.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){jo||!this.enabled||this.started||(this.started=!0,this._start().catch(e=>{Pf.error(e)}))}async _start(){let e=this.components.transportManager.getAddrs();for(let r of e){let{family:n,host:i,port:o,transport:s}=r.toOptions();if(!r.isThinWaistAddress()||s!=="tcp"||Pw(r)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),u=Dn(c);if(u===!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(u==null)throw new Error(`${c} is not an IP address`);let l=vA();Pf(`opening uPnP connection from ${c}:${l} to ${i}:${o}`),await a.map({publicPort:l,localPort:o,localAddress:this.localAddress,protocol:s.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Jh({family:4,address:c,port:l},s))}}async _getClient(){return this.client!=null?this.client:(this.client=await _w({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(jo||this.client==null))try{await this.client.close(),this.client=void 0}catch(e){Pf.error(e)}}};var bA=U("libp2p:peer-record-updater"),tc=class{constructor(e){this.components=e,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 e=new ze({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(j("p2p").code))}),r=await Qe.seal(e,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(r)}).catch(e=>{bA.error("Could not update self peer record: %o",e)})}};var rc=class{constructor(e){this.dht=e}async findPeer(e,r={}){for await(let n of this.dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw new w(W.NOT_FOUND,S.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){for await(let n of this.dht.getClosestPeers(e,r))n.name==="FINAL_PEER"&&(yield n.peer)}};var Y={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};var we=U("libp2p:peer-store:address-book"),nc="change:multiaddrs";async function _A(){return!0}var ic=class{constructor(e,r,n){this.dispatchEvent=e,this.store=r,this.addressFilter=n??_A}async consumePeerRecord(e){we.trace("consumePeerRecord await write lock");let r=await this.store.lock.writeLock();we.trace("consumePeerRecord got write lock");let n,i,o;try{let s;try{s=ze.createFromProtobuf(e.payload)}catch{return we.error("invalid peer record received"),!1}n=s.peerId;let a=s.multiaddrs;if(!n.equals(e.peerId))return we("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 u=await Qe.createFromProtobuf(i.peerRecordEnvelope),l=ze.createFromProtobuf(u.payload);if(l.seqNumber>=s.seqNumber)return we("sequence number was lower or equal to existing sequence number - stored: %d received: %d",l.seqNumber,s.seqNumber),!1}let c=await kf(n,a,this.addressFilter,!0);o=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:e.marshal().subarray()}),we("stored provided peer record for %p",s.peerId)}finally{we.trace("consumePeerRecord release write lock"),r()}return this.dispatchEvent(new G(nc,{detail:{peerId:n,multiaddrs:o.addresses.map(({multiaddr:s})=>s),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:s})=>s)}})),!0}async getRawEnvelope(e){we.trace("getRawEnvelope await read lock");let r=await this.store.lock.readLock();we.trace("getRawEnvelope got read lock");try{return(await this.store.load(e)).peerRecordEnvelope}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{we.trace("getRawEnvelope release read lock"),r()}}async getPeerRecord(e){let r=await this.getRawEnvelope(e);if(r!=null)return await Qe.createFromProtobuf(r)}async get(e){e=Ue(e),we.trace("get wait for read lock");let r=await this.store.lock.readLock();we.trace("get got read lock");try{return(await this.store.load(e)).addresses}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{we.trace("get release read lock"),r()}return[]}async set(e,r){if(e=Ue(e),!Array.isArray(r))throw we.error("multiaddrs must be an array of Multiaddrs"),new w("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);we.trace("set await write lock");let n=await this.store.lock.writeLock();we.trace("set got write lock");let i=!1,o,s;try{let a=await kf(e,r,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(e),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length&&a.length===o.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}s=await this.store.patchOrCreate(e,{addresses:a}),we("set multiaddrs for %p",e)}finally{we.trace("set multiaddrs for %p",e),we("set release write lock"),n()}this.dispatchEvent(new G(nc,{detail:{peerId:e,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new G("peer",{detail:{id:e,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async add(e,r){if(e=Ue(e),!Array.isArray(r))throw we.error("multiaddrs must be an array of Multiaddrs"),new w("multiaddrs must be an array of Multiaddrs",Y.ERR_INVALID_PARAMETERS);we.trace("add await write lock");let n=await this.store.lock.writeLock();we.trace("add got write lock");let i=!1,o,s;try{let a=await kf(e,r,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(e),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length)return}catch(c){if(c.code!==Y.ERR_NOT_FOUND)throw c}s=await this.store.mergeOrCreate(e,{addresses:a}),we("added multiaddrs for %p",e)}finally{we.trace("set release write lock"),n()}this.dispatchEvent(new G(nc,{detail:{peerId:e,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new G("peer",{detail:{id:e,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async delete(e){e=Ue(e),we.trace("delete await write lock");let r=await this.store.lock.writeLock();we.trace("delete got write lock");let n;try{try{n=await this.store.load(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(e,{addresses:[]})}finally{we.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new G(nc,{detail:{peerId:e,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function kf(t,e,r,n=!1){let i=[];return await Promise.all(e.map(async o=>{if(!_r(o))throw we.error("multiaddr must be an instance of Multiaddr"),new w("multiaddr must be an instance of Multiaddr",Y.ERR_INVALID_PARAMETERS);await r(t,o)&&i.push({multiaddr:o,isCertified:n})})),i}var yr=U("libp2p:peer-store:key-book"),Nw="change:pubkey",oc=class{constructor(e,r){this.dispatchEvent=e,this.store=r}async set(e,r){if(e=Ue(e),!(r instanceof Uint8Array))throw yr.error("publicKey must be an instance of Uint8Array to store data"),new w("publicKey must be an instance of PublicKey",Y.ERR_INVALID_PARAMETERS);yr.trace("set await write lock");let n=await this.store.lock.writeLock();yr.trace("set got write lock");let i=!1,o;try{try{if(o=await this.store.load(e),o.pubKey!=null&&xe(o.pubKey,r))return}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}await this.store.patchOrCreate(e,{pubKey:r}),i=!0}finally{yr.trace("set release write lock"),n()}i&&this.dispatchEvent(new G(Nw,{detail:{peerId:e,publicKey:r,oldPublicKey:o?.pubKey}}))}async get(e){e=Ue(e),yr.trace("get await write lock");let r=await this.store.lock.readLock();yr.trace("get got write lock");try{return(await this.store.load(e)).pubKey}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{yr("get release write lock"),r()}}async delete(e){e=Ue(e),yr.trace("delete await write lock");let r=await this.store.lock.writeLock();yr.trace("delete got write lock");let n;try{try{n=await this.store.load(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(e,{pubKey:void 0})}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{yr.trace("delete release write lock"),r()}this.dispatchEvent(new G(Nw,{detail:{peerId:e,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var He=U("libp2p:peer-store:metadata-book"),sc="change:metadata",ac=class{constructor(e,r){this.dispatchEvent=e,this.store=r}async get(e){e=Ue(e),He.trace("get await read lock");let r=await this.store.lock.readLock();He.trace("get got read lock");try{return(await this.store.load(e)).metadata}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{He.trace("get release read lock"),r()}return new Map}async getValue(e,r){e=Ue(e),He.trace("getValue await read lock");let n=await this.store.lock.readLock();He.trace("getValue got read lock");try{return(await this.store.load(e)).metadata.get(r)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}finally{He.trace("getValue release write lock"),n()}}async set(e,r){if(e=Ue(e),!(r instanceof Map))throw He.error("valid metadata must be provided to store data"),new w("valid metadata must be provided",Y.ERR_INVALID_PARAMETERS);He.trace("set await write lock");let n=await this.store.lock.writeLock();He.trace("set got write lock");let i;try{try{i=await this.store.load(e)}catch(o){if(o.code!==Y.ERR_NOT_FOUND)throw o}await this.store.mergeOrCreate(e,{metadata:r})}finally{He.trace("set release write lock"),n()}this.dispatchEvent(new G(sc,{detail:{peerId:e,metadata:r,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(e,r,n){if(e=Ue(e),typeof r!="string"||!(n instanceof Uint8Array))throw He.error("valid key and value must be provided to store data"),new w("valid key and value must be provided",Y.ERR_INVALID_PARAMETERS);He.trace("setValue await write lock");let i=await this.store.lock.writeLock();He.trace("setValue got write lock");let o,s;try{try{o=await this.store.load(e);let a=o.metadata.get(r);if(a!=null&&xe(n,a))return}catch(a){if(a.code!==Y.ERR_NOT_FOUND)throw a}s=await this.store.mergeOrCreate(e,{metadata:new Map([[r,n]])})}finally{He.trace("setValue release write lock"),i()}this.dispatchEvent(new G(sc,{detail:{peerId:e,metadata:s.metadata,oldMetadata:o==null?new Map:o.metadata}}))}async delete(e){e=Ue(e),He.trace("delete await write lock");let r=await this.store.lock.writeLock();He.trace("delete got write lock");let n;try{try{n=await this.store.load(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(e,{metadata:new Map})}finally{He.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new G(sc,{detail:{peerId:e,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(e,r){e=Ue(e),He.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();He.trace("deleteValue got write lock");let i,o;try{o=await this.store.load(e),i=o.metadata,i.delete(r),await this.store.patch(e,{metadata:i})}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}finally{He.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new G(sc,{detail:{peerId:e,metadata:i,oldMetadata:o==null?new Map:o.metadata}}))}};var Ge=U("libp2p:peer-store:proto-book"),cc="change:protocols",uc=class{constructor(e,r){this.dispatchEvent=e,this.store=r}async get(e){Ge.trace("get wait for read lock");let r=await this.store.lock.readLock();Ge.trace("get got read lock");try{return(await this.store.load(e)).protocols}catch(n){if(n.code!==Y.ERR_NOT_FOUND)throw n}finally{Ge.trace("get release read lock"),r()}return[]}async set(e,r){if(e=Ue(e),!Array.isArray(r))throw Ge.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Ge.trace("set await write lock");let n=await this.store.lock.writeLock();Ge.trace("set got write lock");let i,o;try{try{if(i=await this.store.load(e),new Set([...r]).size===i.protocols.length)return}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(e,{protocols:r}),Ge("stored provided protocols for %p",e)}finally{Ge.trace("set release write lock"),n()}this.dispatchEvent(new G(cc,{detail:{peerId:e,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(e,r){if(e=Ue(e),!Array.isArray(r))throw Ge.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Ge.trace("add await write lock");let n=await this.store.lock.writeLock();Ge.trace("add got write lock");let i,o;try{try{if(i=await this.store.load(e),new Set([...i.protocols,...r]).size===i.protocols.length)return}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}o=await this.store.mergeOrCreate(e,{protocols:r}),Ge("added provided protocols for %p",e)}finally{Ge.trace("add release write lock"),n()}this.dispatchEvent(new G(cc,{detail:{peerId:e,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(e,r){if(e=Ue(e),!Array.isArray(r))throw Ge.error("protocols must be provided to store data"),new w("protocols must be provided",Y.ERR_INVALID_PARAMETERS);Ge.trace("remove await write lock");let n=await this.store.lock.writeLock();Ge.trace("remove got write lock");let i,o;try{try{i=await this.store.load(e);let s=new Set(i.protocols);for(let a of r)s.delete(a);if(i.protocols.length===s.size)return;r=Array.from(s)}catch(s){if(s.code!==Y.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(e,{protocols:r})}finally{Ge.trace("remove release write lock"),n()}this.dispatchEvent(new G(cc,{detail:{peerId:e,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(e){e=Ue(e),Ge.trace("delete await write lock");let r=await this.store.lock.writeLock();Ge.trace("delete got write lock");let n;try{try{n=await this.store.load(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(e,{protocols:[]})}finally{Ge.trace("delete release write lock"),r()}n!=null&&this.dispatchEvent(new G(cc,{detail:{peerId:e,protocols:[],oldProtocols:n.protocols}}))}};var es;(function(t){let e;t.codec=()=>(e==null&&(e=me((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.addresses!=null)for(let o of r.addresses)n.uint32(10),lc.codec().encode(o,n);if(r.protocols!=null)for(let o of r.protocols)n.uint32(18),n.string(o);if(r.metadata!=null)for(let o of r.metadata)n.uint32(26),fc.codec().encode(o,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:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.addresses.push(lc.codec().decode(r,r.uint32()));break;case 2:i.protocols.push(r.string());break;case 3:i.metadata.push(fc.codec().decode(r,r.uint32()));break;case 4:i.pubKey=r.bytes();break;case 5:i.peerRecordEnvelope=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(es||(es={}));var lc;(function(t){let e;t.codec=()=>(e==null&&(e=me((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)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(lc||(lc={}));var fc;(function(t){let e;t.codec=()=>(e==null&&(e=me((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)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.string();break;case 2:i.value=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(fc||(fc={}));var Of=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Mf=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},kw=t=>globalThis.DOMException===void 0?new Mf(t):new DOMException(t),Ow=t=>{let e=t.reason===void 0?kw("This operation was aborted."):t.reason;return e instanceof Error?e:kw(e)};function Uf(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(t);return}if(e.signal){let{signal:f}=e;f.aborted&&u(Ow(f)),f.addEventListener("abort",()=>{u(Ow(f))})}let l=new Of;s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await t)}catch(f){u(f)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var Ff="lock:worker:request-read",Kf="lock:worker:release-read",Vf="lock:master:grant-read",qf="lock:worker:request-write",$f="lock:worker:release-write",zf="lock:master:grant-write";var gn={},Hi=t=>{t.addEventListener("message",e=>{Hi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Hi.dispatchEvent("message",t,e)})};Hi.addEventListener=(t,e)=>{gn[t]==null&&(gn[t]=[]),gn[t].push(e)};Hi.removeEventListener=(t,e)=>{gn[t]!=null&&(gn[t]=gn[t].filter(r=>r===e))};Hi.dispatchEvent=function(t,e,r){gn[t]!=null&&gn[t].forEach(n=>n(e,r))};var Hf=Hi;var Mw=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},Uw=(t,e,r,n)=>async()=>{let i=ms();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(o=>{let s=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",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},SA={singleProcess:!1},Fw=t=>{if(t=Object.assign({},SA,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Hf.addEventListener("message",Mw(r,"requestReadLock",Ff,Kf,Vf)),Hf.addEventListener("message",Mw(r,"requestWriteLock",qf,$f,zf)),r}return{isWorker:!0,readLock:r=>Uw(r,Ff,Vf,Kf),writeLock:r=>Uw(r,qf,zf,$f)}};var jn={},wn;async function Gf(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Uf((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var AA=(t,e)=>{if(wn.isWorker===!0)return{readLock:wn.readLock(t,e),writeLock:wn.writeLock(t,e)};let r=new Vt({concurrency:1}),n;return{async readLock(){if(n!=null)return await Gf(n,e);n=new Vt({concurrency:e.concurrency,autoStart:!1});let i=n,o=Gf(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Gf(r,e)}}},RA={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Yf(t){let e=Object.assign({},RA,t);return wn==null&&(wn=Fw(e),wn.isWorker!==!0&&(wn.addEventListener("requestReadLock",r=>{jn[r.data.name]!=null&&jn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),wn.addEventListener("requestWriteLock",async r=>{jn[r.data.name]!=null&&jn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),jn[e.name]==null&&(jn[e.name]=AA(e.name,e)),jn[e.name]}var Kw=U("libp2p:peer-store:store"),Vw="/peers/",hc=class{constructor(e){this.components=e,this.lock=Yf({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(e){if(e.type==null)throw Kw.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=e.toCID().toString();return new Ne(`${Vw}${r}`)}async has(e){return await this.components.datastore.has(this._peerIdToDatastoreKey(e))}async delete(e){await this.components.datastore.delete(this._peerIdToDatastoreKey(e))}async load(e){let r=await this.components.datastore.get(this._peerIdToDatastoreKey(e)),n=es.decode(r),i=new Map;for(let o of n.metadata)i.set(o.key,o.value);return{...n,id:e,addresses:n.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Te(o),isCertified:s??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(e){if(e.pubKey!=null&&e.id.publicKey!=null&&!xe(e.pubKey,e.id.publicKey))throw Kw.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=e.addresses.filter(s=>r.has(s.multiaddr.toString())?!1:(r.add(s.multiaddr.toString()),!0)).sort((s,a)=>s.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:s,isCertified:a})=>({multiaddr:s.bytes,isCertified:a})),i=[];[...e.metadata.keys()].sort().forEach(s=>{let a=e.metadata.get(s);a!=null&&i.push({key:s,value:a})});let o=es.encode({addresses:n,protocols:e.protocols.sort(),pubKey:e.pubKey,metadata:i,peerRecordEnvelope:e.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(e.id),o.subarray()),await this.load(e.id)}async patch(e,r){let n=await this.load(e);return await this._patch(e,r,n)}async patchOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._patch(e,r,n)}async _patch(e,r,n){return await this.save({...n,...r,id:e})}async merge(e,r){let n=await this.load(e);return await this._merge(e,r,n)}async mergeOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Y.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._merge(e,r,n)}async _merge(e,r,n){let i=new Map;return n.addresses.forEach(o=>{i.set(o.multiaddr.toString(),o.isCertified)}),(r.addresses??[]).forEach(o=>{let s=o.multiaddr.toString(),c=!!i.get(s)||o.isCertified;i.set(s,c)}),await this.save({id:e,addresses:Array.from(i.entries()).map(([o,s])=>({multiaddr:Te(o),isCertified:s})),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 e of this.components.datastore.queryKeys({prefix:Vw})){let r=e.toString().split("/")[2],n=xt.decode(r);yield this.load(Gr(n))}}};var Fr;(function(t){let e;t.codec=()=>(e==null&&(e=me((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.tags!=null)for(let o of r.tags)n.uint32(10),dc.codec().encode(o,n);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={tags:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.tags.push(dc.codec().decode(r,r.uint32()));break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(Fr||(Fr={}));var dc;(function(t){let e;t.codec=()=>(e==null&&(e=me((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:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>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(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(dc||(dc={}));var kt=U("libp2p:peer-store"),pc=class extends Xe{constructor(e,r={}){super(),this.components=e,this.store=new hc(e),this.addressBook=new ic(this.dispatchEvent.bind(this),this.store,r.addressFilter),this.keyBook=new oc(this.dispatchEvent.bind(this),this.store),this.metadataBook=new ac(this.dispatchEvent.bind(this),this.store),this.protoBook=new uc(this.dispatchEvent.bind(this),this.store)}async forEach(e){kt.trace("getPeers await read lock");let r=await this.store.lock.readLock();kt.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||e(n)}finally{kt.trace("getPeers release read lock"),r()}}async all(){let e=[];return await this.forEach(r=>{e.push(r)}),e}async delete(e){kt.trace("delete await write lock");let r=await this.store.lock.writeLock();kt.trace("delete got write lock");try{await this.store.delete(e)}finally{kt.trace("delete release write lock"),r()}}async get(e){kt.trace("get await read lock");let r=await this.store.lock.readLock();kt.trace("get got read lock");try{return await this.store.load(e)}finally{kt.trace("get release read lock"),r()}}async has(e){kt.trace("has await read lock");let r=await this.store.lock.readLock();kt.trace("has got read lock");try{return await this.store.has(e)}finally{kt.trace("has release read lock"),r()}}async tagPeer(e,r,n={}){let i=n.value??0,o=Math.round(i),s=n.ttl??void 0;if(o!==i||o<0||o>100)throw new w("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(e,"tags"),c=[];a!=null&&(c=Fr.decode(a).tags),c=c.filter(u=>u.name!==r),c.push({name:r,value:o,expiry:s==null?void 0:BigInt(Date.now()+s)}),await this.metadataBook.setValue(e,"tags",Fr.encode({tags:c}).subarray())}async unTagPeer(e,r){let n=await this.metadataBook.getValue(e,"tags"),i=[];n!=null&&(i=Fr.decode(n).tags),i=i.filter(o=>o.name!==r),await this.metadataBook.setValue(e,"tags",Fr.encode({tags:i}).subarray())}async getTags(e){let r=await this.metadataBook.getValue(e,"tags"),n=[];r!=null&&(n=Fr.decode(r).tags);let i=BigInt(Date.now()),o=n.filter(s=>s.expiry==null||s.expiry>i);return o.length!==n.length&&await this.metadataBook.setValue(e,"tags",Fr.encode({tags:o}).subarray()),o.map(s=>({name:s.name,value:s.value??0}))}};var mc=class{constructor(e){this.dht=e}async provide(e){await Hr(this.dht.provide(e))}async*findProviders(e,r={}){for await(let n of this.dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(e,r,n){await Hr(this.dht.put(e,r,n))}async get(e,r){for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return n.value;throw new w("Not found","ERR_NOT_FOUND")}};var Wf;(function(t){let e;t.codec=()=>(e==null&&(e=me((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={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>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(s&7);break}}return i})),e),t.encode=r=>pe(r,t.codec()),t.decode=r=>de(r,t.codec())})(Wf||(Wf={}));var yc=async()=>{let t=await Oa("Ed25519"),e=await IA(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function IA(t){return await Yr(Bg(t.public),Lg(t))}var Zf=M(Ar(),1);var gc=globalThis.CustomEvent??Event;async function*Qf(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,o=[],s=rr(),a=rr(),c=!1,u,l=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let p of t){if(o.length===r&&(s=rr(),await s.promise),l)break;let m={done:!1};o.push(m),p().then(y=>{m.done=!0,m.ok=!0,m.value=y,i.dispatchEvent(new gc("task-complete"))},y=>{m.done=!0,m.err=y,i.dispatchEvent(new gc("task-complete"))})}c=!0,i.dispatchEvent(new gc("task-complete"))}catch(p){u=p,i.dispatchEvent(new gc("task-complete"))}});function f(){return n?o[0]?.done:!!o.find(p=>p.done)}function*h(){for(;o.length>0&&o[0].done;){let p=o[0];if(o.shift(),p.ok)yield p.value;else throw l=!0,s.resolve(),p.err;s.resolve()}}function*d(){for(;f();)for(let p=0;p<o.length;p++)if(o[p].done){let m=o[p];if(o.splice(p,1),p--,m.ok)yield m.value;else throw l=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(f()||(a=rr(),await a.promise),u!=null)throw u;if(n?yield*h():yield*d(),c&&o.length===0)break}}var Jf=M($r(),1);var wc="/libp2p/autonat/1.0.0";var H;(function(t){let e;(function(u){u.DIAL="DIAL",u.DIAL_RESPONSE="DIAL_RESPONSE"})(e=t.MessageType||(t.MessageType={}));let r;(function(u){u[u.DIAL=0]="DIAL",u[u.DIAL_RESPONSE=1]="DIAL_RESPONSE"})(r||(r={})),function(u){u.codec=()=>tn(r)}(e=t.MessageType||(t.MessageType={}));let n;(function(u){u.OK="OK",u.E_DIAL_ERROR="E_DIAL_ERROR",u.E_DIAL_REFUSED="E_DIAL_REFUSED",u.E_BAD_REQUEST="E_BAD_REQUEST",u.E_INTERNAL_ERROR="E_INTERNAL_ERROR"})(n=t.ResponseStatus||(t.ResponseStatus={}));let i;(function(u){u[u.OK=0]="OK",u[u.E_DIAL_ERROR=100]="E_DIAL_ERROR",u[u.E_DIAL_REFUSED=101]="E_DIAL_REFUSED",u[u.E_BAD_REQUEST=200]="E_BAD_REQUEST",u[u.E_INTERNAL_ERROR=300]="E_INTERNAL_ERROR"})(i||(i={})),function(u){u.codec=()=>tn(i)}(n=t.ResponseStatus||(t.ResponseStatus={}));let o;(function(u){let l;u.codec=()=>(l==null&&(l=me((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})),l),u.encode=f=>pe(f,u.codec()),u.decode=f=>de(f,u.codec())})(o=t.PeerInfo||(t.PeerInfo={}));let s;(function(u){let l;u.codec=()=>(l==null&&(l=me((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.peer!=null&&(h.uint32(10),t.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=t.PeerInfo.codec().decode(f,f.uint32());break;default:f.skipType(m&7);break}}return d})),l),u.encode=f=>pe(f,u.codec()),u.decode=f=>de(f,u.codec())})(s=t.Dial||(t.Dial={}));let a;(function(u){let l;u.codec=()=>(l==null&&(l=me((f,h,d={})=>{d.lengthDelimited!==!1&&h.fork(),f.status!=null&&(h.uint32(8),t.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=t.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})),l),u.encode=f=>pe(f,u.codec()),u.decode=f=>de(f,u.codec())})(a=t.DialResponse||(t.DialResponse={}));let c;t.codec=()=>(c==null&&(c=me((u,l,f={})=>{f.lengthDelimited!==!1&&l.fork(),u.type!=null&&(l.uint32(8),t.MessageType.codec().encode(u.type,l)),u.dial!=null&&(l.uint32(18),t.Dial.codec().encode(u.dial,l)),u.dialResponse!=null&&(l.uint32(26),t.DialResponse.codec().encode(u.dialResponse,l)),f.lengthDelimited!==!1&&l.ldelim()},(u,l)=>{let f={},h=l==null?u.len:u.pos+l;for(;u.pos<h;){let d=u.uint32();switch(d>>>3){case 1:f.type=t.MessageType.codec().decode(u);break;case 2:f.dial=t.Dial.codec().decode(u,u.uint32());break;case 3:f.dialResponse=t.DialResponse.codec().decode(u,u.uint32());break;default:u.skipType(d&7);break}}return f})),c),t.encode=u=>pe(u,t.codec()),t.decode=u=>de(u,t.codec())})(H||(H={}));var ue=U("libp2p:autonat"),Xf=4,TA=5e3,CA=6e4,Ec=class{constructor(e,r){this.components=e,this.started=!1,this._init=r,this.startupDelay=r.startupDelay??TA,this.refreshInterval=r.refreshInterval??CA,this._verifyExternalAddresses=this._verifyExternalAddresses.bind(this)}isStarted(){return this.started}async start(){this.started||(await this.components.registrar.handle(wc,e=>{this.handleIncomingAutonatStream(e).catch(r=>{ue.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(wc),clearTimeout(this.verifyAddressTimeout),this.started=!1}async handleIncomingAutonatStream(e){let r=new Jf.TimeoutController(this._init.timeout);try{(0,Zf.setMaxListeners)?.(1/0,r.signal)}catch{}let n=this.components.addressManager.getAddresses().map(i=>i.toOptions().host);try{let i=gt(e.stream,r.signal),o=this;await We(i,Pt(),async function*(s){let a=await dt(s);if(a==null){ue("No message received"),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_BAD_REQUEST,statusText:"No message was sent"}});return}let c;try{c=H.decode(a)}catch(m){ue.error("Could not decode message",m),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_BAD_REQUEST,statusText:"Could not decode message"}});return}let u=c.dial;if(u==null){ue.error("Dial was missing from message"),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_BAD_REQUEST,statusText:"No Dial message found in message"}});return}let l,f=u.peer;if(f==null||f.id==null){ue.error("PeerId missing from message"),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_BAD_REQUEST,statusText:"missing peer info"}});return}try{l=Gr(f.id)}catch(m){ue.error("Invalid PeerId",m),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_BAD_REQUEST,statusText:"bad peer id"}});return}if(ue("Incoming request from %p",l),!e.connection.remotePeer.equals(l)){ue("Target peer %p did not equal sending peer %p",l,e.connection.remotePeer),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_BAD_REQUEST,statusText:"peer id mismatch"}});return}let h=f.addrs.map(m=>Te(m)).filter(m=>{let y=m.toOptions().host===e.connection.remoteAddr.toOptions().host;return ue.trace("Request to dial %s was sent from %s is same host %s",m,e.connection.remoteAddr,y),y}).filter(m=>{let y=m.toOptions().host,g=!(Dn(y)??!1);return ue.trace("Host %s was public %s",y,g),g}).filter(m=>{let y=m.toOptions().host,g=!n.includes(y);return ue.trace("Host %s was not our host %s",y,g),g}).filter(m=>{let y=!!o.components.transportManager.transportForMultiaddr(m);return ue.trace("Transport for %s is supported %s",m,y),y}).map(m=>(m.getPeerId()==null&&(m=m.encapsulate(`/p2p/${l.toString()}`)),m));if(h.length===0){ue("No valid multiaddrs for %p in message",l),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_DIAL_REFUSED,statusText:"no dialable addresses"}});return}ue("Dial multiaddrs %s for peer %p",h.map(m=>m.toString()).join(", "),l);let d="",p=h[0];for await(let m of h){let y;p=m;try{if(y=await o.components.connectionManager.openConnection(m,{signal:r.signal}),!y.remoteAddr.equals(m))throw ue.error("Tried to dial %s but dialed %s",m,y.remoteAddr),new Error("Unexpected remote address");ue("Success %p",l),yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.OK,addr:y.remoteAddr.decapsulateCode(j("p2p").code).bytes}});return}catch(g){ue("Could not dial %p",l,g),d=g.message}finally{y!=null&&await y.close()}}yield H.encode({type:H.MessageType.DIAL_RESPONSE,dialResponse:{status:H.ResponseStatus.E_DIAL_ERROR,statusText:d,addr:p.bytes}})},Xt(),e.stream)}finally{r.clear()}}_verifyExternalAddresses(){this.verifyExternalAddresses().catch(e=>{ue.error(e)})}async verifyExternalAddresses(){if(clearTimeout(this.verifyAddressTimeout),!this.isStarted())return;let e=this.components.addressManager,r=e.getObservedAddrs().filter(o=>{let s=o.toOptions();return!(Dn(s.host)??!1)});if(r.length===0){ue("No public addresses found, not requesting verification"),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval);return}let n=new Jf.TimeoutController(this._init.timeout);try{(0,Zf.setMaxListeners)?.(1/0,n.signal)}catch{}let i=this;try{ue("verify multiaddrs %s",r.map(f=>f.toString()).join(", "));let o=H.encode({type:H.MessageType.DIAL,dial:{peer:{id:this.components.peerId.toBytes(),addrs:r.map(f=>f.bytes)}}}),a=(await yc()).toBytes(),c={},u=[];async function l(f){try{ue("Asking %p to verify multiaddr",f.id);let h=await i.components.connectionManager.openConnection(f.id,{signal:n.signal}),d=await h.newStream(wc,{signal:n.signal}),p=gt(d,n.signal),m=await We([o],Xt(),p,Pt(),async g=>await dt(g));if(m==null){ue("No response received from %s",h.remotePeer);return}let y=H.decode(m);if(y.type!==H.MessageType.DIAL_RESPONSE||y.dialResponse==null){ue("Invalid autonat response from %s",h.remotePeer);return}if(y.dialResponse.status===H.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{ue('Remote address "%s" was not IP4 or IP6?',g.host);return}if(u.includes(x)){ue("Already have response from network segment %d - %s",x,g.host);return}u.push(x)}return y.dialResponse}catch(h){ue.error(h)}}for await(let f of Qf(Es(this.components.peerRouting.getClosestPeers(a,{signal:n.signal}),h=>async()=>await l(h)),{concurrency:Xf}))try{if(f==null)continue;let h=f.addr==null?r[0]:Te(f.addr);if(ue("Autonat response for %s is %s",h,f.status),f.status===H.ResponseStatus.E_BAD_REQUEST||f.status===H.ResponseStatus.E_DIAL_REFUSED||f.addr==null&&r.length>1)continue;if(!r.some(p=>p.equals(h))){ue("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===H.ResponseStatus.OK?c[d].success++:f.status===H.ResponseStatus.E_DIAL_ERROR&&c[d].failure++,c[d].success===Xf){ue("%s is externally dialable",h),e.confirmObservedAddr(h);return}if(c[d].failure===Xf){ue("%s is not externally dialable",h),e.removeObservedAddr(h);return}}catch(h){ue.error("Could not verify external address",h)}}finally{n.clear(),this.verifyAddressTimeout=setTimeout(this._verifyExternalAddresses,this.refreshInterval)}}};var xc=class{constructor(e={}){this._started=!1,this._peerId=e.peerId,this._addressManager=e.addressManager,this._peerStore=e.peerStore,this._upgrader=e.upgrader,this._metrics=e.metrics,this._registrar=e.registrar,this._connectionManager=e.connectionManager,this._transportManager=e.transportManager,this._connectionGater=e.connectionGater,this._contentRouting=e.contentRouting,this._peerRouting=e.peerRouting,this._datastore=e.datastore,this._connectionProtector=e.connectionProtector,this._dht=e.dht,this._pubsub=e.pubsub}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(e=>xr(e)).map(async e=>{e.beforeStart!=null&&await e.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(e=>xr(e)).map(async e=>{await e.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(e=>xr(e)).map(async e=>{e.afterStart!=null&&await e.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(e=>xr(e)).map(async e=>{e.beforeStop!=null&&await e.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(e=>xr(e)).map(async e=>{await e.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(e=>xr(e)).map(async e=>{e.afterStop!=null&&await e.afterStop()}))}get peerId(){if(this._peerId==null)throw new w("peerId not set","ERR_SERVICE_MISSING");return this._peerId}set peerId(e){this._peerId=e}get addressManager(){if(this._addressManager==null)throw new w("addressManager not set","ERR_SERVICE_MISSING");return this._addressManager}set addressManager(e){this._addressManager=e}get peerStore(){if(this._peerStore==null)throw new w("peerStore not set","ERR_SERVICE_MISSING");return this._peerStore}set peerStore(e){this._peerStore=e}get upgrader(){if(this._upgrader==null)throw new w("upgrader not set","ERR_SERVICE_MISSING");return this._upgrader}set upgrader(e){this._upgrader=e}get registrar(){if(this._registrar==null)throw new w("registrar not set","ERR_SERVICE_MISSING");return this._registrar}set registrar(e){this._registrar=e}get connectionManager(){if(this._connectionManager==null)throw new w("connectionManager not set","ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(e){this._connectionManager=e}get transportManager(){if(this._transportManager==null)throw new w("transportManager not set","ERR_SERVICE_MISSING");return this._transportManager}set transportManager(e){this._transportManager=e}get connectionGater(){if(this._connectionGater==null)throw new w("connectionGater not set","ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(e){this._connectionGater=e}get contentRouting(){if(this._contentRouting==null)throw new w("contentRouting not set","ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(e){this._contentRouting=e}get peerRouting(){if(this._peerRouting==null)throw new w("peerRouting not set","ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(e){this._peerRouting=e}get datastore(){if(this._datastore==null)throw new w("datastore not set","ERR_SERVICE_MISSING");return this._datastore}set datastore(e){this._datastore=e}get connectionProtector(){return this._connectionProtector}set connectionProtector(e){this._connectionProtector=e}get metrics(){return this._metrics}set metrics(e){this._metrics=e}get dht(){return this._dht}set dht(e){this._dht=e}get pubsub(){return this._pubsub}set pubsub(e){this._pubsub=e}};var DA={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:vi},addressSorter:xi},transportManager:{faultTolerance:yn.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},identify:{protocolPrefix:"ipfs",host:{agentVersion:Bf},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 qw(t){let e=Jr(DA,t);if(e.transports==null||e.transports.length<1)throw new w(W.ERR_TRANSPORTS_REQUIRED,S.ERR_TRANSPORTS_REQUIRED);if(e.connectionEncryption==null||e.connectionEncryption.length===0)throw new w(W.CONN_ENCRYPTION_REQUIRED,S.CONN_ENCRYPTION_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new w(W.ERR_PROTECTOR_REQUIRED,S.ERR_PROTECTOR_REQUIRED);return e.identify.host.agentVersion===Bf&&(Cw||Iw?e.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(jo||Dw||Tw||Bw)&&(e.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),e}var $w=Symbol.for("@libp2p/peer-discovery");var vc=class extends Xe{get[$w](){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 bc=class extends Xe{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 gr=U("libp2p"),jf=class extends Xe{constructor(e){super(),this.started=!1,this.peerId=e.peerId;let r=this.components=new xc({peerId:e.peerId,datastore:e.datastore??new ws,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...e.connectionGater}});r.peerStore=new pc(r,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore}),this.services=[r],e.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(e.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",s=>{let{detail:a}=s;this.dispatchEvent(new G("peer:discovery",{detail:a}))}),e.connectionProtector!=null&&(this.components.connectionProtector=e.connectionProtector(r)),this.components.upgrader=new Wa(this.components,{connectionEncryption:(e.connectionEncryption??[]).map(s=>this.configureComponent(s(this.components))),muxers:(e.streamMuxers??[]).map(s=>this.configureComponent(s(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.components.transportManager=new Ua(this.components,e.transportManager),this.connectionManager=this.components.connectionManager=new Qs(this.components,e.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",s=>{this.dispatchEvent(new G("peer:disconnect",{detail:s.detail}))}),this.components.connectionManager.addEventListener("peer:connect",s=>{this.dispatchEvent(new G("peer:connect",{detail:s.detail}))}),this.registrar=this.components.registrar=new Ya(this.components),this.components.addressManager=new Cs(this.components,e.addresses),this.configureComponent(new tc(this.components));let n=Yn.generateOptions();this.keychain=this.configureComponent(new Yn(this.components,{...n,...e.keychain})),this.services.push(new ec(this.components,e.nat)),this.identifyService=new zi(this.components,{...e.identify}),this.configureComponent(this.identifyService),e.dht!=null?this.dht=this.components.dht=e.dht(this.components):this.dht=new vc,e.pubsub!=null?this.pubsub=this.components.pubsub=e.pubsub(this.components):this.pubsub=new bc;let i=(e.peerRouters??[]).map(s=>this.configureComponent(s(this.components)));e.dht!=null&&(i.push(this.configureComponent(new rc(this.dht))),this.dht.addEventListener("peer",s=>{this.onDiscoveryPeer(s)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new Rs(this.components,{...e.peerRouting,routers:i}));let o=(e.contentRouters??[]).map(s=>this.configureComponent(s(this.components)));e.dht!=null&&o.push(this.configureComponent(new mc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new Ts(this.components,{routers:o})),this.fetchService=this.configureComponent(new Za(this.components,{...e.fetch})),this.pingService=this.configureComponent(new Ja(this.components,{...e.ping})),this.autonatService=this.configureComponent(new Ec(this.components,{...e.autonat})),e.relay!=null&&(this.circuitService=this.configureComponent(e.relay(this.components)));for(let s of e.peerDiscovery??[])this.configureComponent(s(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)});e.transports.forEach(s=>{this.components.transportManager.add(this.configureComponent(s(this.components)))})}configureComponent(e){return xr(e)&&this.services.push(e),e}async start(){if(this.started)return;this.started=!0,gr("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(gr("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()})),gr("libp2p has started")}catch(r){throw gr.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.started&&(gr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async e=>{e.beforeStop!=null&&await e.beforeStop()})),await Promise.all(this.services.map(async e=>{await e.stop()})),await Promise.all(this.services.map(async e=>{e.afterStop!=null&&await e.afterStop()})),gr("libp2p has stopped"))}isStarted(){return this.started}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Tr;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return await this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new 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(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){_r(e)&&(e=ae(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(gr("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);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=Me([F("/pk/"),e.multihash.digest]);for await(let o of this.dht.get(i,r))if(o.name==="VALUE"){let s=Mo(o.value);return await this.peerStore.keyBook.set(e,o.value),s.bytes}throw new w(`Node not responding with its public key: ${e.toString()}`,S.ERR_INVALID_RECORD)}async fetch(e,r,n={}){if(_r(e)){let i=ae(e.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[e]),e=i}return await this.fetchService.fetch(e,r,n)}async ping(e,r={}){if(_r(e)){let n=ae(e.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[e]),e=n}return await this.pingService.ping(e,r)}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return await this.registrar.register(e,r)}unregister(e){this.registrar.unregister(e)}onDiscoveryPeer(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){gr.error(new Error(S.ERR_DISCOVERED_SELF));return}r.multiaddrs.length>0&&this.components.peerStore.addressBook.add(r.id,r.multiaddrs).catch(n=>{gr.error(n)}),r.protocols.length>0&&this.components.peerStore.protoBook.set(r.id,r.protocols).catch(n=>{gr.error(n)}),this.dispatchEvent(new G("peer:discovery",{detail:r}))}};async function zw(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new Yn({datastore:e},Jr(Yn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await yc()),new jf(qw(t))}async function BA(t){let e=await zw(t);return t.start!==!1&&await e.start(),e}return Xw(LA);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Bx=new RegExp(`(?:^${At}$)|(?:^${fo}$)`),Px=new RegExp(`^${At}$`),Lx=new RegExp(`^${fo}$`),tu=t=>t&&t.exact?Bx:new RegExp(`(?:${Er(t)}${At}${Er(t)})|(?:${Er(t)}${fo}${Er(t)})`,"g");tu.v4=t=>t&&t.exact?Px:new RegExp(`${Er(t)}${At}${Er(t)}`,"g");tu.v6=t=>t&&t.exact?Lx:new RegExp(`${Er(t)}${fo}${Er(t)}`,"g");var bh=tu;var Ih=V(Sh(),1),{isValid:Dx,parse:Nx}=Ih.default,kx=["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"],Ox=kx.map(t=>new Rh.Netmask(t));function Mx(t){for(let e of Ox)if(e.contains(t))return!0;return!1}function Ah(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Ch=t=>{if(Dx(t)){let e=Nx(t);if(e.kind()==="ipv4")return Mx(e.toNormalizedString());if(e.kind()==="ipv6")return Ah(t)}else if(Tn(t)&&bh.v6().test(t))return Ah(t)};var po=Ch;function ru(t){try{let{address:e}=t.nodeAddress();return!!po(e)}catch{return!0}}function zn(t,e){let r=ru(t.multiaddr),n=ru(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var iu=V(Fa(),1),su=V(Ph(),1);var Lh=globalThis.fetch,Dh=globalThis.Headers,G4=globalThis.Request,Y4=globalThis.Response;function mo(t,e,r){return`${t}?name=${e}&type=${r}`}async function Nh(t,e){return await(await Lh(t,{headers:new Dh({accept:"application/dns-json"}),signal:e})).json()}function en(t,e){return`${e}_${t}`}var nu=Object.assign((0,iu.default)("dns-over-http-resolver"),{error:(0,iu.default)("dns-over-http-resolver:error")}),ou=class{constructor(e={}){this._cache=new su.default({max:e?.maxCache??100}),this._TXTcache=new su.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Nh,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(en(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(mo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(en(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),nu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(en(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(mo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(en(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),nu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(en(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(mo(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(en(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),nu.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},kh=ou;var Oh=kh;var{code:qx}=oe("dnsaddr");async function Hn(t,e={}){let r=new Oh;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===qx)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}function Gn(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}var cu=V(wo(),1),Yh=G("libp2p:connection-manager:utils");async function uu(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await Qx(t,e),o=(await Promise.all(n.map(async a=>await uu(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Yh("resolved %s to",t,o.map(a=>a.toString())),o}async function Qx(t,e){try{return t=qe(t.toString()),await t.resolve(e)}catch(r){return Yh.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Wh(...t){let e=[];for(let n of t)if(n!=null){try{(0,cu.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Gn(e);try{(0,cu.setMaxListeners)?.(1/0,r)}catch{}return r}function zi(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ze=G("libp2p:connection-manager:dial-queue"),Hi={addressSorter:zn,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Hn}},xo=class{constructor(e,r={}){this.addressSorter=r.addressSorter??Hi.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Hi.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Hi.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Hi.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))bc.set(n,i);this.queue=new St({concurrency:r.maxParallelDials??Hi.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{ze.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Js(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return ze("joining existing dial target for %p",n),o.clear(),await c.promise;ze("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:Zx(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(l=>{throw ze.error("dial failed to %s",a.map(({multiaddr:f})=>f.toString()).join(", "),l),o.aborted?new E(l.message,D.ERR_TIMEOUT):l}),this.pendingDials.push(u),await u.promise}createDialAbortControllers(e){return Gn([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e])}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",D.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",D.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){ze("loading multiaddrs for %p",e);try{let u=await this.peerStore.get(e);r.push(...u.addresses),ze("loaded multiaddrs for %p",e,r.map(({multiaddr:l})=>l.toString()))}catch(u){if(u.code!==D.ERR_NOT_FOUND)throw u}}}let i=(await Promise.all(r.map(async u=>{let l=await uu(u.multiaddr,n);return l.length===1&&l[0].equals(u.multiaddr)?u:l.map(f=>({multiaddr:f,isCertified:!1}))}))).flat(),s=i.filter(u=>!!this.transportManager.transportForMultiaddr(u.multiaddr)),o=new Map;for(let u of s){let l=u.multiaddr.toString(),f=o.get(l);if(f!=null){f.isCertified=f.isCertified||u.isCertified||!1;continue}o.set(l,u)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(ze("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:u})=>u.toString())),ze("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:u})=>u.toString()))),a.length===0)throw new E("The dial request has no valid addresses",D.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",D.ERR_TOO_MANY_ADDRESSES);if(e!=null){let u=`/p2p/${e.toString()}`;a=a.map(l=>{let f=l.multiaddr.getPeerId();return l.multiaddr.protos().pop()?.path===!0?l:f!==e.toString()?{multiaddr:l.multiaddr.encapsulate(u),isCertified:l.isCertified}:l})}let c=[];for(let u of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(u.multiaddr)||c.push(u);return c.sort(this.addressSorter)}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new St({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{ze.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",D.ERR_INVALID_PARAMETERS);let u=Wh(c.signal,r.signal);u.addEventListener("abort",()=>{ze("dial to %s aborted",o)});let l=zi();return await i.add(async()=>{if(u.aborted){ze("dial to %s was aborted before reaching the head of the peer dial queue",o),l.reject(new yr);return}await this.queue.add(async()=>{try{if(u.aborted){ze("dial to %s was aborted before reaching the head of the dial queue",o),l.reject(new yr);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){ze("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{ze.error("error closing superfluous connection",h)}),l.reject(new yr);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),ze("dial to %s succeeded",o),l.resolve(f)}catch(f){ze.error("error during dial of %s",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),await l.promise}));if(s==null)throw new E("successful dial led to empty object returned from peer dial queue",D.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function Zx(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Wn=G("libp2p:connection-manager:connection-pruner"),Qh={maxConnections:300,allow:[]},vo=class{constructor(e,r={}){this.maxConnections=r.maxConnections??Qh.maxConnections,this.allow=r.allow??Qh.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Wn.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Wn("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Wn("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new tr;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&Wn.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,h=c.stat.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(Wn("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){Wn.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var ot=G("libp2p:connection-manager"),e2=50,Qn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0},Eo=class{constructor(e,r={}){this.maxConnections=r.maxConnections??Qn.maxConnections;let n=r.minConnections??Qn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",D.ERR_INVALID_PARAMETERS);this.connections=new tr,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>qe(i)),this.deny=(r.deny??[]).map(i=>qe(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??Qn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Xh.RateLimiterMemory({points:r.inboundConnectionThreshold??Qn.inboundConnectionThreshold,duration:1}),this.autoDial=new lo({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??Qn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??Qn.autoDialPriority}),this.connectionPruner=new vo({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new xo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??zn,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Hn}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,ot("started")}async afterStart(){Promise.resolve().then(async()=>{let e=[];for(let r of await this.peerStore.all())r.tags.has(d0)&&e.push(r.id);await Promise.all(e.map(async r=>{await this.openConnection(r).catch(n=>{ot.error(n)})}))}).catch(e=>{ot.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){ot.error(i)}})());ot("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),ot("stopped")}onConnect(e){this._onConnect(e).catch(r=>{ot.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new E("Not started",D.ERR_NODE_NOT_STARTED);let{peerId:n}=Js(e);if(n!=null){ot("dial %p",n);let a=this.getConnections(n);if(a.length>0)return ot("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??e2}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return ot("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return ot("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return ot("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,e.remoteAddr),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(ot("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Iy=V(sd(),1);var pd=V(dd(),1),_r=pd.default;var Q;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(Q||(Q={}));var Iu=V(xu(),1),tp=V(Yd(),1),rp=V(rn(),1),Cu=V(Ru(),1),np=V(ep(),1);function R2(){rp.default._configure(),Iu.default._configure(tp.default),Cu.default._configure(np.default)}R2();var ip=["uint64","int64","sint64","fixed64","sfixed64"];function I2(t){for(let e of ip){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Tu(t){return I2(new Iu.default(t))}function C2(t){for(let e of ip){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Bu(){return C2(Cu.default.create())}function dt(t,e){let r=Tu(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function pt(t,e){let r=Bu();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Jn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Jn||(Jn={}));function Co(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Pu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Co("enum",Jn.VARINT,r,n)}function mt(t,e){return Co("message",Jn.LENGTH_DELIMITED,t,e)}var me;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(me||(me={}));var Lu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Lu||(Lu={}));(function(t){t.codec=()=>Pu(Lu)})(me||(me={}));var Ft;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Ft||(Ft={}));var Ut;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),me.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=me.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Ut||(Ut={}));var h3=V(Zi(),1),d3=V(xm(),1),aa=V(se(),1);var Ze={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var t8=V(Te(),1),r8=V(zo(),1),Em=V(se(),1);function Bt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ae([new Uint8Array(e-r.length),r])}return $(r,"base64url")}function at(t){let e=bm(t);return new Em.default.jsbn.BigInteger($(e,"base16"),16)}function bm(t,e){let r=U(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ae([new Uint8Array(e-r.length),r])}return r}var JE={"P-256":256,"P-384":384,"P-521":521},eb=Object.keys(JE),d8=eb.join(" / ");function _m(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var Sm={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Wo(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=Ze.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:p};typeof h=="string"&&(h=U(h));let y;if(h.length===0&&_m())y=await a.subtle.importKey("jwk",Sm,{name:"AES-GCM"},!0,["encrypt"]);else{let x={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,_,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ae([d,m.iv,new Uint8Array(g)])}async function u(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:p};typeof h=="string"&&(h=U(h));let g;if(h.length===0&&_m())g=await a.subtle.importKey("jwk",Sm,{name:"AES-GCM"},!0,["decrypt"]);else{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,N,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Rm(t,e){let r=Hr.decode(t);return await Wo().decrypt(r,e)}var fl={};Ue(fl,{RsaPrivateKey:()=>fi,RsaPublicKey:()=>os,fromJwk:()=>Ab,generateKeyPair:()=>Rb,unmarshalRsaPrivateKey:()=>_b,unmarshalRsaPublicKey:()=>Sb});var W8=V(Pm(),1),ss=V(se(),1);var rb=V(jr(),1);var Z=BigInt(0),de=BigInt(1),Pr=BigInt(2),rs=BigInt(3),Lm=BigInt(8),_e=Object.freeze({a:Z,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:de,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Dm=(t,e)=>(t+e/Pr)/e,Qo={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=_e,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-de*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Dm(s*t,e),c=Dm(-n*t,e),u=L(t-a*r-c*i,e),l=L(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},Pt=32,oi=32,nb=32,Nm=Pt+1,km=2*Pt+1;function Om(t){let{a:e,b:r}=_e,n=L(t*t),i=L(n*t);return L(i+e*t+r)}var Xo=_e.a===Z,Jo=class extends Error{constructor(e){super(e)}};function Mm(t){if(!(t instanceof te))throw new TypeError("JacobianPoint expected")}var te=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof re))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(re.ZERO)?te.ZERO:new te(e.x,e.y,de)}static toAffineBatch(e){let r=cb(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return te.toAffineBatch(e).map(te.fromAffine)}equals(e){Mm(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),d=L(L(o*i)*c);return l===f&&h===d}negate(){return new te(this.x,L(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=L(e*e),s=L(r*r),o=L(s*s),a=e+s,c=L(Pr*(L(a*a)-i-o)),u=L(rs*i),l=L(u*u),f=L(l-Pr*c),h=L(u*(c-f)-Lm*o),d=L(Pr*r*n);return new te(f,h,d)}add(e){Mm(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===Z||o===Z)return this;if(r===Z||n===Z)return e;let c=L(i*i),u=L(a*a),l=L(r*u),f=L(s*c),h=L(L(n*a)*u),d=L(L(o*i)*c),p=L(f-l),m=L(d-h);if(p===Z)return m===Z?this.double():te.ZERO;let y=L(p*p),g=L(p*y),x=L(l*y),_=L(m*m-g-Pr*x),N=L(m*(x-_)-h*g),C=L(i*a*p);return new te(_,N,C)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=te.ZERO;if(typeof e=="bigint"&&e===Z)return r;let n=Km(e);if(n===de)return this;if(!Xo){let f=r,h=this;for(;n>Z;)n&de&&(f=f.add(h)),h=h.double(),n>>=de;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=Qo.splitScalar(n),c=r,u=r,l=this;for(;s>Z||a>Z;)s&de&&(c=c.add(l)),a&de&&(u=u.add(l)),l=l.double(),s>>=de,a>>=de;return i&&(c=c.negate()),o&&(u=u.negate()),u=new te(L(u.x*Qo.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=Xo?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(te.BASE)&&(r=re.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&il.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=te.normalizeZ(i),il.set(r,i)));let s=te.ZERO,o=te.BASE,a=1+(Xo?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=de);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(Zo(g,i[m])):s=s.add(Zo(x,i[y]))}return{p:s,f:o}}multiply(e,r){let n=Km(e),i,s;if(Xo){let{k1neg:o,k1:a,k2neg:c,k2:u}=Qo.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(u,r);l=Zo(o,l),h=Zo(c,h),h=new te(L(h.x*Qo.beta),h.y,h.z),i=l.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return te.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(te.ZERO);e==null&&(e=s?Lm:ui(i));let o=e,a=L(o*o),c=L(a*o),u=L(r*a),l=L(n*c),f=L(i*o);if(s)return re.ZERO;if(f!==de)throw new Error("invZ was invalid");return new re(u,l)}};te.BASE=new te(_e.Gx,_e.Gy,de);te.ZERO=new te(Z,de,Z);function Zo(t,e){let r=e.negate();return t?r:e}var il=new WeakMap,re=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,il.delete(this)}hasEvenY(){return this.y%Pr===Z}static fromCompressedHex(e){let r=e.length===32,n=Lr(r?e:e.subarray(1));if(!nl(n))throw new Error("Point is not on curve");let i=Om(n),s=ab(i),o=(s&de)===de;r?o&&(s=L(-s)):(e[0]&1)===1!==o&&(s=L(-s));let a=new re(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Lr(e.subarray(1,Pt+1)),n=Lr(e.subarray(Pt+1,Pt*2+1)),i=new re(r,n);return i.assertValidity(),i}static fromHex(e){let r=ci(e),n=r.length,i=r[0];if(n===Pt)return this.fromCompressedHex(r);if(n===Nm&&(i===2||i===3))return this.fromCompressedHex(r);if(n===km&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Nm} compressed bytes or ${km} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return re.BASE.multiply(ta(e))}static fromSignature(e,r,n){let{r:i,s}=Vm(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=al(ci(e)),{n:a}=_e,c=n===2||n===3?i+a:i,u=ui(c,a),l=L(-o*u,a),f=L(s*u,a),h=n&1?"03":"02",d=re.fromHex(h+ii(c)),p=re.BASE.multiplyAndAddUnsafe(d,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(e=!1){return fn(this.toHex(e))}toHex(e=!1){let r=ii(this.x);return e?`${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 e="Point is not on elliptic curve",{x:r,y:n}=this;if(!nl(r)||!nl(n))throw new Error(e);let i=L(n*n),s=Om(r);if(L(i-s)!==Z)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new re(this.x,L(-this.y))}double(){return te.fromAffine(this).double().toAffine()}add(e){return te.fromAffine(this).add(te.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return te.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=te.fromAffine(this),s=r===Z||r===de||this!==re.BASE?i.multiplyUnsafe(r):i.multiply(r),o=te.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(te.ZERO)?void 0:a.toAffine()}};re.BASE=new re(_e.Gx,_e.Gy);re.ZERO=new re(Z,Z);function Fm(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Um(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${ai(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Lr(r),left:t.subarray(e+2)}}function ib(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${ai(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Um(t.subarray(2)),{data:n,left:i}=Um(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ai(i)}`);return{r:e,s:n}}var Gt=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?ai(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Gt(ea(i.slice(0,64)),ea(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=ib(r?e:fn(e));return new Gt(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!is(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!is(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=_e.n>>de;return this.s>e}normalizeS(){return this.hasHighS()?new Gt(this.r,L(-this.s,_e.n)):this}toDERRawBytes(){return fn(this.toDERHex())}toDERHex(){let e=Fm(ts(this.s)),r=Fm(ts(this.r)),n=e.length/2,i=r.length/2,s=ts(n),o=ts(i);return`30${ts(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return fn(this.toCompactHex())}toCompactHex(){return ii(this.r)+ii(this.s)}};function Br(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var sb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ai(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=sb[t[r]];return e}var ob=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ii(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(Z<=t&&t<ob))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function sl(t){let e=fn(ii(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function ts(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function ea(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function fn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Lr(t){return ea(ai(t))}function ci(t){return t instanceof Uint8Array?Uint8Array.from(t):fn(t)}function Km(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&is(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function L(t,e=_e.P){let r=t%e;return r>=Z?r:e+r}function wt(t,e){let{P:r}=_e,n=t;for(;e-- >Z;)n*=n,n%=r;return n}function ab(t){let{P:e}=_e,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=wt(u,rs)*u%e,f=wt(l,rs)*u%e,h=wt(f,Pr)*c%e,d=wt(h,n)*h%e,p=wt(d,i)*d%e,m=wt(p,o)*p%e,y=wt(m,a)*m%e,g=wt(y,o)*p%e,x=wt(g,rs)*u%e,_=wt(x,s)*d%e,N=wt(_,r)*c%e,C=wt(N,Pr);if(C*C%e!==t)throw new Error("Cannot find square root");return C}function ui(t,e=_e.P){if(t===Z||e<=Z)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=L(t,e),n=e,i=Z,s=de,o=de,a=Z;for(;r!==Z;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==de)throw new Error("invert: does not exist");return L(i,e)}function cb(t,e=_e.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Z?s:(r[a]=s,L(s*o,e)),de),i=ui(n,e);return t.reduceRight((s,o,a)=>o===Z?s:(r[a]=L(s*r[a],e),L(s*o,e)),i),r}function ub(t){let e=t.length*8-oi*8,r=Lr(t);return e>0?r>>BigInt(e):r}function al(t,e=!1){let r=ub(t);if(e)return r;let{n}=_e;return r>=n?r-n:r}var si,ns,ol=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Lt.hmacSha256(this.k,...e)}hmacSync(...e){return ns(this.k,...e)}checkSync(){if(typeof ns!="function")throw new Jo("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Br(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Br(...r)}};function is(t){return Z<t&&t<_e.n}function nl(t){return Z<t&&t<_e.P}function lb(t,e,r,n=!0){let{n:i}=_e,s=al(t,!0);if(!is(s))return;let o=ui(s,i),a=re.BASE.multiply(s),c=L(a.x,i);if(c===Z)return;let u=L(o*L(e+r*c,i),i);if(u===Z)return;let l=new Gt(c,u),f=(a.x===l.r?0:2)|Number(a.y&de);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function ta(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*oi)throw new Error("Expected 32 bytes of private key");e=ea(t)}else if(t instanceof Uint8Array){if(t.length!==oi)throw new Error("Expected 32 bytes of private key");e=Lr(t)}else throw new TypeError("Expected valid private key");if(!is(e))throw new Error("Expected private key: 0 < key < n");return e}function fb(t){return t instanceof re?(t.assertValidity(),t):re.fromHex(t)}function Vm(t){if(t instanceof Gt)return t.assertValidity(),t;try{return Gt.fromDER(t)}catch{return Gt.fromCompact(t)}}function cl(t,e=!1){return re.fromPrivateKey(t).toRawBytes(e)}function qm(t){let e=t.length>Pt?t.slice(0,Pt):t;return Lr(e)}function hb(t){let e=qm(t),r=L(e,_e.n);return $m(r<Z?e:r)}function $m(t){return sl(t)}function db(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=ci(t),i=ta(e),s=[$m(i),hb(n)];if(r!=null){r===!0&&(r=Lt.randomBytes(Pt));let c=ci(r);if(c.length!==Pt)throw new Error(`sign: Expected ${Pt} bytes of extra data`);s.push(c)}let o=Br(...s),a=qm(n);return{seed:o,m:a,d:i}}function pb(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function zm(t,e,r={}){let{seed:n,m:i,d:s}=db(t,e,r.extraEntropy),o=new ol(nb,oi);await o.reseed(n);let a;for(;!(a=lb(await o.generate(),i,s,r.canonical));)await o.reseed();return pb(a,r)}var mb={strict:!0};function Hm(t,e,r,n=mb){let i;try{i=Vm(t),e=ci(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=al(e),c;try{c=fb(r)}catch{return!1}let{n:u}=_e,l=ui(o,u),f=L(a*l,u),h=L(s*l,u),d=re.BASE.multiplyAndAddUnsafe(c,f,h);return d?L(d.x,u)===s:!1}re.BASE._setWindowSize(8);var ct={node:rb,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var jo={},Lt={bytesToHex:ai,hexToBytes:fn,concatBytes:Br,mod:L,invert:ui,isValidPrivateKey(t){try{return ta(t),!0}catch{return!1}},_bigintTo32Bytes:sl,_normalizePrivateKey:ta,hashToPrivateKey:t=>{t=ci(t);let e=oi+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=L(Lr(t),_e.n-de)+de;return sl(r)},randomBytes:(t=32)=>{if(ct.web)return ct.web.getRandomValues(new Uint8Array(t));if(ct.node){let{randomBytes:e}=ct.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Lt.hashToPrivateKey(Lt.randomBytes(oi+8)),precompute(t=8,e=re.BASE){let r=e===re.BASE?e:new re(e.x,e.y);return r._setWindowSize(t),r.multiply(rs),r},sha256:async(...t)=>{if(ct.web){let e=await ct.web.subtle.digest("SHA-256",Br(...t));return new Uint8Array(e)}else if(ct.node){let{createHash:e}=ct.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ct.web){let r=await ct.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Br(...e),i=await ct.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ct.node){let{createHmac:r}=ct.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=jo[t];if(r===void 0){let n=await Lt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Br(n,n),jo[t]=r}return Lt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof si!="function")throw new Jo("sha256Sync is undefined, you need to set it");let r=jo[t];if(r===void 0){let n=si(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Br(n,n),jo[t]=r}return si(r,...e)},_JacobianPoint:te};Object.defineProperties(Lt,{sha256Sync:{configurable:!1,get(){return si},set(t){si||(si=t)}},hmacSha256Sync:{configurable:!1,get(){return ns},set(t){ns||(ns=t)}}});function hn(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Lt.randomBytes(t)}var dn={};Ue(dn,{jwkToPkcs1:()=>wb,jwkToPkix:()=>vb,pkcs1ToJwk:()=>gb,pkixToJwk:()=>xb});var I8=V(Zi(),1),C8=V(Yo(),1),ar=V(se(),1);function gb(t){let e=ar.default.asn1.fromDer($(t,"ascii")),r=ar.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e),d:Bt(r.d),p:Bt(r.p),q:Bt(r.q),dp:Bt(r.dP),dq:Bt(r.dQ),qi:Bt(r.qInv),alg:"RS256"}}function wb(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=ar.default.pki.privateKeyToAsn1({n:at(t.n),e:at(t.e),d:at(t.d),p:at(t.p),q:at(t.q),dP:at(t.dp),dQ:at(t.dq),qInv:at(t.qi)});return U(ar.default.asn1.toDer(e).getBytes(),"ascii")}function xb(t){let e=ar.default.asn1.fromDer($(t,"ascii")),r=ar.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Bt(r.n),e:Bt(r.e)}}function vb(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=ar.default.pki.publicKeyToAsn1({n:at(t.n),e:at(t.e)});return U(ar.default.asn1.toDer(e).getBytes(),"ascii")}var D8=V(Yo(),1),ul=V(se(),1);function Gm(t,e){return e.map(r=>at(t[r]))}function Ym(t){return ul.default.pki.setRsaPrivateKey(...Gm(t,["n","e","d","p","q","dp","dq","qi"]))}function Wm(t){return ul.default.pki.setRsaPublicKey(...Gm(t,["n","e"]))}async function Qm(t){let e=await Ze.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await jm(e);return{privateKey:r[0],publicKey:r[1]}}async function ll(t){let r=[await Ze.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Eb(t)],n=await jm({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Xm(t,e){let r=await Ze.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ze.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function Zm(t,e,r){let n=await Ze.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await Ze.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function jm(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([Ze.get().subtle.exportKey("jwk",t.privateKey),Ze.get().subtle.exportKey("jwk",t.publicKey)])}async function Eb(t){return await Ze.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Jm(t,e,r,n){let i=e?Wm(t):Ym(t),s=$(Uint8Array.from(r),"ascii"),o=n(s,i);return U(o,"ascii")}function ey(t,e){return Jm(t,!0,e,(r,n)=>n.encrypt(r))}function ty(t,e){return Jm(t,!1,e,(r,n)=>n.decrypt(r))}async function li(t,e){let n=await Wo().encrypt(t,e);return Hr.encode(n)}var os=class{constructor(e){this._key=e}async verify(e,r){return await Zm(this._key,r,e)}marshal(){return dn.jwkToPkix(this._key)}get bytes(){return Ft.encode({Type:me.RSA,Data:this.marshal()}).subarray()}encrypt(e){return ey(this._key,e)}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},fi=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return hn(16)}async sign(e){return await Xm(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new os(this._publicKey)}decrypt(e){return ty(this._key,e)}marshal(){return dn.jwkToPkcs1(this._key)}get bytes(){return Ut.encode({Type:me.RSA,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ss.default.util.ByteBuffer(this.marshal()),i=ss.default.asn1.fromDer(n),s=ss.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ss.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return await li(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function _b(t){let e=dn.pkcs1ToJwk(t),r=await ll(e);return new fi(r.privateKey,r.publicKey)}function Sb(t){let e=dn.pkixToJwk(t);return new os(e)}async function Ab(t){let e=await ll(t);return new fi(e.privateKey,e.publicKey)}async function Rb(t){let e=await Qm(t);return new fi(e.privateKey,e.publicKey)}var vl={};Ue(vl,{Ed25519PrivateKey:()=>mn,Ed25519PublicKey:()=>fs,generateKeyPair:()=>Yb,generateKeyPairFromSeed:()=>yy,unmarshalEd25519PrivateKey:()=>Hb,unmarshalEd25519PublicKey:()=>Gb});var Ib=V(jr(),1);var Fe=BigInt(0),j=BigInt(1),kr=BigInt(2),Cb=BigInt(8),ry=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pe=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:ry,n:ry,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var ay=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),as=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),X8=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Tb=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Bb=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Pb=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Lb=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Y=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof ge))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(ge.ZERO)?Y.ZERO:new Y(e.x,e.y,j,A(e.x*e.y))}static toAffineBatch(e){let r=kb(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){iy(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=A(r*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new Y(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=pe,s=A(e*e),o=A(r*r),a=A(kr*A(n*n)),c=A(i*s),u=e+r,l=A(A(u*u)-s-o),f=c+o,h=f-a,d=c-o,p=A(l*h),m=A(f*d),y=A(l*d),g=A(h*f);return new Y(p,m,g,y)}add(e){iy(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=A((n-r)*(a+o)),f=A((n+r)*(a-o)),h=A(f-l);if(h===Fe)return this.double();let d=A(i*kr*u),p=A(s*kr*c),m=p+d,y=f+l,g=p-d,x=A(m*h),_=A(y*g),N=A(m*g),C=A(h*y);return new Y(x,_,C,N)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Y.BASE)&&(r=ge.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&yl.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Y.normalizeZ(i),yl.set(r,i)));let s=Y.ZERO,o=Y.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=j);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,x=p<0;p===0?o=o.add(ny(g,i[m])):s=s.add(ny(x,i[y]))}return Y.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF(na(e,pe.l),r)}multiplyUnsafe(e){let r=na(e,pe.l,!1),n=Y.BASE,i=Y.ZERO;if(r===Fe)return i;if(this.equals(i)||r===j)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Fe;)r&j&&(s=s.add(o)),o=o.double(),r>>=j;return s}isSmallOrder(){return this.multiplyUnsafe(pe.h).equals(Y.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(pe.l/kr).double();return pe.l%kr&&(e=e.add(this)),e.equals(Y.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(Y.ZERO);e==null&&(e=s?Cb:ia(i));let o=A(r*e),a=A(n*e),c=A(i*e);if(s)return ge.ZERO;if(c!==j)throw new Error("invZ was invalid");return new ge(o,a)}fromRistrettoBytes(){dl()}toRistrettoBytes(){dl()}fromRistrettoHash(){dl()}};Y.BASE=new Y(pe.Gx,pe.Gy,j,A(pe.Gx*pe.Gy));Y.ZERO=new Y(Fe,j,j,Fe);function ny(t,e){let r=e.negate();return t?r:e}function iy(t){if(!(t instanceof Y))throw new TypeError("ExtendedPoint expected")}function hl(t){if(!(t instanceof je))throw new TypeError("RistrettoPoint expected")}function dl(){throw new Error("Legacy method: switch to RistrettoPoint")}var je=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=pe,n=A(as*e*e),i=A((n+j)*Pb),s=BigInt(-1),o=A((s-r*n)*A(n+r)),{isValid:a,value:c}=wl(i,o),u=A(c*e);Nr(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-j)*Lb-o),f=c*c,h=A((c+c)*o),d=A(l*Tb),p=A(j-f),m=A(j+f);return new Y(A(h*m),A(p*d),A(d*m),A(h*p))}static hashToCurve(e){e=Or(e,64);let r=pl(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=pl(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new je(n.add(s))}static fromHex(e){e=Or(e,32);let{a:r,d:n}=pe,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=pl(e);if(!Mb(cs(s),e)||Nr(s))throw new Error(i);let o=A(s*s),a=A(j+r*o),c=A(j-r*o),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:h,value:d}=oy(A(f*l)),p=A(d*c),m=A(d*p*f),y=A((s+s)*p);Nr(y)&&(y=A(-y));let g=A(a*m),x=A(y*g);if(!h||Nr(x)||g===Fe)throw new Error(i);return new je(new Y(y,g,j,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,s=A(A(n+r)*A(n-r)),o=A(e*r),a=A(o*o),{value:c}=oy(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),h;if(Nr(i*f)){let p=A(r*as),m=A(e*as);e=p,r=m,h=A(u*Bb)}else h=l;Nr(e*f)&&(r=A(-r));let d=A((n-r)*h);return Nr(d)&&(d=A(-d)),cs(d)}toHex(){return us(this.toRawBytes())}toString(){return this.toHex()}equals(e){hl(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return i||s}add(e){return hl(e),new je(this.ep.add(e.ep))}subtract(e){return hl(e),new je(this.ep.subtract(e.ep))}multiply(e){return new je(this.ep.multiply(e))}multiplyUnsafe(e){return new je(this.ep.multiplyUnsafe(e))}};je.BASE=new je(Y.BASE);je.ZERO=new je(Y.ZERO);var yl=new WeakMap,ge=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,yl.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=pe;e=Or(e,32);let s=e.slice();s[31]=e[31]&-129;let o=ls(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=ay)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-j),u=A(n*a+j),{isValid:l,value:f}=wl(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&j)===j;return(e[31]&128)!==0!==h&&(f=A(-f)),new ge(f,o)}static async fromPrivateKey(e){return(await sa(e)).point}toRawBytes(){let e=cs(this.y);return e[31]|=this.x&j?128:0,e}toHex(){return us(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((j+e)*ia(j-e));return cs(r)}isTorsionFree(){return Y.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ge(A(-this.x),this.y)}add(e){return Y.fromAffine(this).add(Y.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Y.fromAffine(this).multiply(e,this).toAffine()}};ge.BASE=new ge(pe.Gx,pe.Gy);ge.ZERO=new ge(Fe,j);var pn=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Or(e,64),n=ge.fromHex(r.slice(0,32),!1),i=ls(r.slice(32,64));return new pn(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof ge))throw new Error("Expected Point instance");return na(r,pe.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(cs(this.s),32),e}toHex(){return us(this.toRawBytes())}};function sy(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var Db=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function us(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Db[t[r]];return e}function gl(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function cy(t){let r=t.toString(16).padStart(64,"0");return gl(r)}function cs(t){return cy(t).reverse()}function Nr(t){return(A(t)&j)===j}function ls(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+us(Uint8Array.from(t).reverse()))}var Nb=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function pl(t){return A(ls(t)&Nb)}function A(t,e=pe.P){let r=t%e;return r>=Fe?r:e+r}function ia(t,e=pe.P){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=Fe,s=j,o=j,a=Fe;for(;r!==Fe;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==j)throw new Error("invert: does not exist");return A(i,e)}function kb(t,e=pe.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Fe?s:(r[a]=s,A(s*o,e)),j),i=ia(n,e);return t.reduceRight((s,o,a)=>o===Fe?s:(r[a]=A(s*r[a],e),A(s*o,e)),i),r}function Yt(t,e){let{P:r}=pe,n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function Ob(t){let{P:e}=pe,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=Yt(c,kr)*c%e,l=Yt(u,j)*t%e,f=Yt(l,r)*l%e,h=Yt(f,n)*f%e,d=Yt(h,i)*h%e,p=Yt(d,s)*d%e,m=Yt(p,o)*p%e,y=Yt(m,o)*p%e,g=Yt(y,n)*f%e;return{pow_p_5_8:Yt(g,kr)*t%e,b2:c}}function wl(t,e){let r=A(e*e*e),n=A(r*r*e),i=Ob(t*n).pow_p_5_8,s=A(t*r*i),o=A(e*s*s),a=s,c=A(s*as),u=o===t,l=o===A(-t),f=o===A(-t*as);return u&&(s=a),(l||f)&&(s=c),Nr(s)&&(s=A(-s)),{isValid:u||l,value:s}}function oy(t){return wl(j,t)}function ra(t){return A(ls(t),pe.l)}function Mb(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Or(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):gl(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function na(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Fe<t)return t}else if(Fe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Fb(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Ub(t){if(t=typeof t=="bigint"||typeof t=="number"?cy(na(t,ay)):Or(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Kb(t){let e=Fb(t.slice(0,32)),r=t.slice(32,64),n=ra(e),i=ge.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var ml;async function sa(t){return Kb(await Mr.sha512(Ub(t)))}async function xl(t){return(await sa(t)).pointBytes}async function uy(t,e){t=Or(t);let{prefix:r,scalar:n,pointBytes:i}=await sa(e),s=ra(await Mr.sha512(r,t)),o=ge.BASE.multiply(s),a=ra(await Mr.sha512(o.toRawBytes(),i,t)),c=A(s+a*n,pe.l);return new pn(o,c).toRawBytes()}function Vb(t,e,r){e=Or(e),r instanceof ge||(r=ge.fromHex(r,!1));let{r:n,s:i}=t instanceof pn?t.assertValidity():pn.fromHex(t),s=Y.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function qb(t,e,r,n){let i=ra(n),s=Y.fromAffine(t).multiplyUnsafe(i);return Y.fromAffine(e).add(s).subtract(r).multiplyUnsafe(pe.h).equals(Y.ZERO)}async function ly(t,e,r){let{r:n,SB:i,msg:s,pub:o}=Vb(t,e,r),a=await Mr.sha512(n.toRawBytes(),o.toRawBytes(),s);return qb(o,n,i,a)}ge.BASE._setWindowSize(8);var Dr={node:Ib,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Mr={bytesToHex:us,hexToBytes:gl,concatBytes:sy,getExtendedPublicKey:sa,mod:A,invert:ia,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Or(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(ls(t),pe.l-j)+j},randomBytes:(t=32)=>{if(Dr.web)return Dr.web.getRandomValues(new Uint8Array(t));if(Dr.node){let{randomBytes:e}=Dr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Mr.randomBytes(32),sha512:async(...t)=>{let e=sy(...t);if(Dr.web){let r=await Dr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Dr.node)return Uint8Array.from(Dr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=ge.BASE){let r=e.equals(ge.BASE)?e:new ge(e.x,e.y);return r._setWindowSize(t),r.multiply(kr),r},sha512Sync:void 0};Object.defineProperties(Mr,{sha512Sync:{configurable:!1,get(){return ml},set(t){ml||(ml=t)}}});var hi=32,cr=64,oa=32;async function fy(){let t=Mr.randomPrivateKey(),e=await xl(t);return{privateKey:my(t,e),publicKey:e}}async function hy(t){if(t.length!==oa)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await xl(e);return{privateKey:my(e,r),publicKey:r}}async function dy(t,e){let r=t.subarray(0,oa);return await uy(e,r)}async function py(t,e,r){return await ly(e,r,t)}function my(t,e){let r=new Uint8Array(cr);for(let n=0;n<oa;n++)r[n]=t[n],r[oa+n]=e[n];return r}var fs=class{constructor(e){this._key=di(e,hi)}async verify(e,r){return await py(this._key,r,e)}marshal(){return this._key}get bytes(){return Ft.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},mn=class{constructor(e,r){this._key=di(e,cr),this._publicKey=di(r,hi)}async sign(e){return await dy(this._key,e)}get public(){return new fs(this._publicKey)}marshal(){return this._key}get bytes(){return Ut.encode({Type:me.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=pr.digest(this.public.bytes);return Se.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return await li(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Hb(t){if(t.length>cr){t=di(t,cr+hi);let n=t.subarray(0,cr),i=t.subarray(cr,t.length);return new mn(n,i)}t=di(t,cr);let e=t.subarray(0,cr),r=t.subarray(hi);return new mn(e,r)}function Gb(t){return t=di(t,hi),new fs(t)}async function Yb(){let{privateKey:t,publicKey:e}=await fy();return new mn(t,e)}async function yy(t){let{privateKey:e,publicKey:r}=await hy(t);return new mn(e,r)}function di(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var bl={};Ue(bl,{Secp256k1PrivateKey:()=>ds,Secp256k1PublicKey:()=>hs,generateKeyPair:()=>Zb,unmarshalSecp256k1PrivateKey:()=>Qb,unmarshalSecp256k1PublicKey:()=>Xb});function gy(){return Lt.randomPrivateKey()}async function wy(t,e){let{digest:r}=await Ke.digest(e);try{return await zm(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function xy(t,e,r){try{let{digest:n}=await Ke.digest(r);return Hm(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function vy(t){return re.fromHex(t).toRawBytes(!0)}function Ey(t){try{cl(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function El(t){try{re.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function by(t){try{return cl(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var hs=class{constructor(e){El(e),this._key=e}async verify(e,r){return await xy(this._key,r,e)}marshal(){return vy(this._key)}get bytes(){return Ft.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}},ds=class{constructor(e,r){this._key=e,this._publicKey=r??by(e),Ey(this._key),El(this._publicKey)}async sign(e){return await wy(this._key,e)}get public(){return new hs(this._publicKey)}marshal(){return this._key}get bytes(){return Ut.encode({Type:me.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Re(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ke.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return await li(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qb(t){return new ds(t)}function Xb(t){return new hs(t)}async function Zb(){let t=gy();return new ds(t)}var ur={rsa:fl,ed25519:vl,secp256k1:bl};function _l(t){let e=Object.keys(ur).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Sl(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return ur[t];throw _l(t)}async function ca(t,e){return await Sl(t).generateKeyPair(e??2048)}function ps(t){let e=Ft.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return ur.rsa.unmarshalRsaPublicKey(r);case me.Ed25519:return ur.ed25519.unmarshalEd25519PublicKey(r);case me.Secp256k1:return ur.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw _l(e.Type??"RSA")}}function Al(t,e){return e=(e??"rsa").toLowerCase(),Sl(e),t.bytes}async function ua(t){let e=Ut.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case me.RSA:return await ur.rsa.unmarshalRsaPrivateKey(r);case me.Ed25519:return ur.ed25519.unmarshalEd25519PrivateKey(r);case me.Secp256k1:return ur.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw _l(e.Type??"RSA")}}function _y(t,e){return e=(e??"rsa").toLowerCase(),Sl(e),t.bytes}async function ms(t,e){try{let i=await Rm(t,e);return await ua(i)}catch{}let r=aa.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=aa.default.asn1.toDer(aa.default.pki.privateKeyToAsn1(r));return n=U(n.getBytes(),"ascii"),await ur.rsa.unmarshalRsaPrivateKey(n)}var x3=V(Oo(),1),Jb=V(se(),1);var Ay=V(Hu(),1),Ry=V(Te(),1);var Sy={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function ys(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Sy).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Sy[i],o=(0,Ay.default)(t,e,r,n,s);return Ry.default.encode64(o,null)}var la=G("libp2p:keychain"),r_="/pkcs8/",Cy="/info/",yn=new WeakMap,gn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Rl={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function lr(t){return t==null||typeof t!="string"?!1:t===(0,Iy.default)(t.trim())&&t.length>0}async function ce(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Wt(t){return new be(r_+t)}function Fr(t){return new be(Cy+t)}var wn=class{constructor(e,r){if(this.components=e,this.init=_r(Rl,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<gn.minKeyLength)throw new Error(`dek.keyLength must be least ${gn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<gn.minSaltLength)throw new Error(`dek.saltLength must be least ${gn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<gn.minIterationCount)throw new Error(`dek.iterationCount must be least ${gn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?ys(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";yn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},Rl),r=Math.ceil(gn.minSaltLength/3)*3;return e.dek.salt=$(hn(r),"base64"),e}static get options(){return Rl}async createKey(e,r,n=2048){if(!lr(e)||e==="self")throw await ce(),new E("Invalid key name",Q.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ce(),new E("Invalid key type",Q.ERR_INVALID_KEY_TYPE);let i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E("Key name already exists",Q.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ce(),new E("Invalid RSA key size",Q.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await ca(r,n),c=await a.id(),u=yn.get(this);if(u==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,U(f)),h.put(Fr(e),U(JSON.stringify(o))),await h.commit()}catch(a){throw await ce(),a}return o}async listKeys(){let e={prefix:Cy},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse($(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ce(),r}}async findKeyByName(e){if(!lr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);let r=Fr(e);try{let n=await this.components.datastore.get(r);return JSON.parse($(n))}catch(n){throw await ce(),la.error(n),new E(`Key '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!lr(e)||e==="self")throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);let r=Wt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Fr(e)),await i.commit(),n}async renameKey(e,r){if(!lr(e)||e==="self")throw await ce(),new E(`Invalid old key name '${e}'`,Q.ERR_OLD_KEY_NAME_INVALID);if(!lr(r)||r==="self")throw await ce(),new E(`Invalid new key name '${r}'`,Q.ERR_NEW_KEY_NAME_INVALID);let n=Wt(e),i=Wt(r),s=Fr(e),o=Fr(r);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${r}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse($(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,U(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ce(),c}}async exportKey(e,r){if(!lr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw await ce(),new E("Password is required",Q.ERR_PASSWORD_REQUIRED);let n=Wt(e);try{let i=await this.components.datastore.get(n),s=$(i),o=yn.get(this);if(o==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await ms(s,a)).export(r)}catch(i){throw await ce(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await ms(n,r);return await Li(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!lr(e)||e==="self")throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw await ce(),new E("PEM encoded key is required",Q.ERR_PEM_REQUIRED);let i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${e}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);let o;try{o=await ms(r,n)}catch{throw await ce(),new E("Cannot read the key, most likely the password is wrong",Q.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=yn.get(this);if(l==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await ce(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,U(r)),u.put(Fr(e),U(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!lr(e))throw new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",Q.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",Q.ERR_MISSING_PRIVATE_KEY);let n=await ua(r.privateKey),i=Wt(e);if(await this.components.datastore.has(i))throw await ce(),new E(`Key '${e}' already exists`,Q.ERR_KEY_ALREADY_EXISTS);let o=yn.get(this);if(o==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,U(c)),l.put(Fr(e),U(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ce(),n}}async getPrivateKey(e){if(!lr(e))throw await ce(),new E(`Invalid key name '${e}'`,Q.ERR_INVALID_KEY_NAME);try{let r=Wt(e),n=await this.components.datastore.get(r);return $(n)}catch(r){throw await ce(),la.error(r),new E(`Key '${e}' does not exist.`,Q.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ce(),new E(`Invalid old pass type '${typeof e}'`,Q.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ce(),new E(`Invalid new pass type '${typeof r}'`,Q.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ce(),new E(`Invalid pass length ${r.length}`,Q.ERR_INVALID_PASS_LENGTH);la("recreating keychain");let n=yn.get(this);if(n==null)throw new E("dek missing",Q.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?ys(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";yn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Wt(a.name)),u=$(c),l=await ms(u,i),f=s.toString(),h=await l.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(Wt(a.name),U(h)),d.put(Fr(a.name),U(JSON.stringify(p))),await d.commit()}la("keychain reconstructed")}};var z3=Symbol.for("@libp2p/transport");var Ur;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Ur||(Ur={}));var Il=class extends Map{constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Ty(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Il({name:e,metrics:r}):n=new Map,n}var fr=G("libp2p:transports"),fa=class{constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=Ty({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Ur.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",D.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,D.ERR_DUPLICATE_TRANSPORT);fr("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(fr("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),fr("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new E(`No transport available for address ${String(e)}`,D.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=D.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){fr("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){fr("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddrs()}).then(()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}).catch(h=>{fr.error("error while updating peer record after listener began listening",h)})}),l.addEventListener("close",()=>{let h=f.findIndex(d=>d===l);f.splice(h,1),this.components.peerStore.patch(this.components.peerId,{multiaddrs:this.getAddrs()}).then(()=>{this.components.events.safeDispatchEvent("transport:close",{detail:l})}).catch(d=>{fr.error("error while updating peer record after listener stopped listening",d)})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Ur.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,D.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Ur.FATAL_ALL)throw new E(n,D.ERR_NO_VALID_ADDRESSES);fr(`libp2p in dial mode only: ${n}`)}}async remove(e){fr("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var hr="/multistream/1.0.0";var Py=Symbol.for("@achingbrain/uint8arraylist");function By(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function ha(t){return!!t?.[Py]}var Le=class{constructor(...e){Object.defineProperty(this,Py,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ha(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ha(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=By(this.bufs,e);return r.buf[r.index]}set(e,r){let n=By(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ha(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Ae(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ae(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new Le;return s.length=i,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ha(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){l=Math.max(1,h-a[d]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=vt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Xt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Xt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Xt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=vt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Xt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Xt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Xt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Xt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Xt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Le)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Re(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Le;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function da(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var Ly=4294967296,ut=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new ut(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new ut(r,n)}toBytes(e,r=0){let n=da(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new ut;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Ly&&(i=0,++n>Ly&&(n=0))),new ut(n,i)}static fromNumber(e){if(e===0)return new ut;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ut(i,n)}static fromBytes(e,r=0){let n=da(e),i=new ut,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var n_=Math.pow(2,7),i_=Math.pow(2,14),s_=Math.pow(2,21),o_=Math.pow(2,28),a_=Math.pow(2,35),c_=Math.pow(2,42),u_=Math.pow(2,49),l_=Math.pow(2,56),f_=Math.pow(2,63),xn={encodingLength(t){return t<n_?1:t<i_?2:t<s_?3:t<o_?4:t<a_?5:t<c_?6:t<u_?7:t<l_?8:t<f_?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=vt(xn.encodingLength(t))),ut.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return ut.fromBytes(t,e).toNumber(!0)}};function pa(t){return t[Symbol.asyncIterator]!=null}var ma=t=>{let e=xn.encodingLength(t),r=vt(e);return xn.encode(t,r),ma.bytes=e,r};ma.bytes=0;function ya(t,e){e=e??{};let r=e.lengthEncoder??ma;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return pa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ya.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??ma;return new Le(r(t.byteLength),t)};var pi=V(Ic(),1);var h_=8,d_=1024*1024*4,vn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(vn||(vn={}));var Cl=t=>{let e=xn.decode(t);return Cl.bytes=xn.encodingLength(e),e};Cl.bytes=0;function gs(t,e){let r=new Le,n=vn.LENGTH,i=-1,s=e?.lengthDecoder??Cl,o=e?.maxLengthLength??h_,a=e?.maxDataLength??d_;function*c(){for(;r.byteLength>0;){if(n===vn.LENGTH)try{if(i=s(r),i<0)throw(0,pi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,pi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=vn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,pi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===vn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=vn.LENGTH}}}return pa(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,pi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,pi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}gs.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return gs(n,{...e??{},onLength:s=>{r=s}})};var ws=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Dy(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function ga(t,e,r){let n=r??{},i=Dy(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new ws(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new ws(h,d))}});c=await Promise.race([u,i.next()]),o=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return s()}function m_(t,e,r){return n=>t(ga(n,e,r))}function Ny(t,e,r){return{sink:m_(t.sink,e,{...r,onAbort:void 0}),source:ga(t.source,e,r)}}var g_=G("libp2p:mss"),ky=U(`
|
|
49
|
+
`);function xs(t){let e=new Le(t,ky);return ya.single(e)}function En(t,e,r={}){let n=xs(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Oy(t,e,r={}){let n=new Le;for(let i of e)n.append(xs(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function w_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await t.next(r)},i=n;e?.signal!=null&&(i=ga(n,e.signal));let s=a=>{r=a},o=await Zr(i,a=>gs(a,{onLength:s,maxDataLength:1024}),async a=>await Gs(a));if(o==null||o.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==ky[0])throw g_.error("Invalid mss message - missing newline - %s",o.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function mi(t,e){let r=await w_(t,e);return $(r.subarray())}function Tl(t){let e=async function*(){let r=yield,n=new Le;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Le;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Le);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function wa(t){let e=Xr(),r=Tl(t.source),n=zi(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var vs=G("libp2p:mss:select");async function Es(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=wa(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");vs.trace('select: write ["%s", "%s"]',hr,a);let c=U(hr),u=U(a);Oy(i,[c,u],r);let l=await mi(n,r);if(vs.trace('select: read "%s"',l),l===hr&&(l=await mi(n,r),vs.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){vs.trace('select: write "%s"',f),En(i,U(f),r);let h=await mi(n,r);if(vs.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var bs=G("libp2p:mss:handle");async function _s(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=wa(t);for(;;){let a=await mi(i,r);if(bs.trace('read "%s"',a),a===hr){bs.trace('respond with "%s" for "%s"',hr,a),En(n,U(hr),r);continue}if(e.includes(a))return En(n,U(a),r),bs.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){En(n,new Le(...e.map(c=>xs(U(c)))),r),bs.trace('respond with "%s" for %s',e,a);continue}En(n,U("na"),r),bs('respond with "na" for "%s"',a)}}var Fy="OPEN",Bl="CLOSING",xa="CLOSED";var Uy=Symbol.for("@libp2p/connection");var v_=G("libp2p:connection"),Pl=class{constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:Fy},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[Uy](){return!0}get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===Bl)throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===xa)throw new E("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===xa||this._closing)){this.stat.status=Bl;try{this.streams.forEach(e=>{e.close()})}catch(e){v_.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=xa}}};function Ky(t){return new Pl(t)}var E_=Symbol.for("@libp2p/topology");function Vy(t){return t!=null&&!!t[E_]}var Ll=G("libp2p:registrar"),Dl=32,Nl=64,va=class{constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("connection:close",this._onDisconnect),this.components.events.addEventListener("connection:open",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new E(`No handler registered for protocol ${e}`,D.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new E(`Handler already registered for protocol ${e}`,D.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=_r.bind({ignoreUndefined:!0})({maxInboundStreams:Dl,maxOutboundStreams:Nl},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(!Vy(r))throw Ll.error("topology must be an instance of interfaces/topology"),new E("topology must be an instance of interfaces/topology",D.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r.remotePeer).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r.remotePeer)}}).catch(n=>{Ll.error("could not inform topologies of disconnecting peer %p",r.remotePeer,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r.remotePeer).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onConnect(r.remotePeer,r)}}).catch(n=>{Ll.error("could not inform topologies of connecting peer %p",r.remotePeer,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect(r.id)}for(let o of s){let a=this.topologies.get(o);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect(r.id,u)}}}};var kl=V(wo(),1);var we=G("libp2p:upgrader");function __(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Dl}function S_(t,e){try{let{options:r}=e.getHandler(t);return r.maxOutboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Nl}function qy(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var Ea=class{constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new E(`The multiaddr connection is blocked by gater.${n}`,D.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",D.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=Gn([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,kl.setMaxListeners)?.(1/0,u)}catch{}try{let l=Ny(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",D.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),we("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(we("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",D.ERR_INVALID_MULTIADDR);let d=ne(h);c="native",s=d}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,o=h.stream}}catch(h){throw we.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),we("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=ne(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),we("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new E("Encryption was skipped but no peer id was passed",D.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw we.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),we("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await _s(d,p);if(we("%s: incoming stream opened on %s",n,y),l==null)return;let g=__(y,this.components.registrar);if(qy(y,"inbound",l)===g){d.abort(new E(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,D.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,await this.components.peerStore.merge(o,{protocols:[y]}),l.addStream(d),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:y})}).catch(p=>{we.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{l?.removeStream(d.id)}}),u=async(d,p={})=>{if(c==null)throw new E("Stream is not multiplexed",D.ERR_MUXER_UNAVAILABLE);we("%s: starting new stream on %s",n,d);let m=await c.newStream();try{if(p.signal==null){we("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),p.signal=AbortSignal.timeout(3e4);try{(0,kl.setMaxListeners)?.(1/0,p.signal)}catch{}}let{stream:y,protocol:g}=await Es(m,d,p),x=S_(g,this.components.registrar);if(qy(g,"outbound",l)===x){let N=new E(`Too many outbound protocol streams for protocol "${g}" - limit ${x}`,D.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(N),N}return await this.components.peerStore.merge(o,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw we.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new E(String(y),D.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{we.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){we.error(p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{we.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new E("connection is not multiplexed",D.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=Ky({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());we("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await _s(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return we("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),D.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());we("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Es(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return we("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new E(String(i),D.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());we("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Es(e,n,{writeBytes:!0});we("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing outbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());we("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await _s(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing inbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}};var yi;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=mt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>pt(o,i.codec()),i.decode=o=>dt(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=mt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),_a.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=_a.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>pt(o,i.codec()),i.decode=o=>dt(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=mt((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),ba.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(ba.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>pt(i,t.codec()),t.decode=i=>dt(i,t.codec())})(yi||(yi={}));var ba;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(ba||(ba={}));var _a;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(_a||(_a={}));var Ve={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Ol="/peers/";function gi(t){if(!Qs(t)||t.type==null)throw new E("Invalid PeerId",Ve.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new be(`${Ol}${e}`)}var Ml;(function(t){let e;t.codec=()=>(e==null&&(e=mt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>pt(r,t.codec()),t.decode=r=>dt(r,t.codec())})(Ml||(Ml={}));var $y=async()=>{let t=await ca("Ed25519"),e=await A_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function zy(t){return await Li(Al(t))}async function A_(t){return await Li(Al(t.public),_y(t))}async function wi(t,e){let r=yi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=await zy(ps(r.publicKey)));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:qe(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Fl=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Ul=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Hy=t=>globalThis.DOMException===void 0?new Ul(t):new DOMException(t),Gy=t=>{let e=t.reason===void 0?Hy("This operation was aborted."):t.reason;return e instanceof Error?e:Hy(e)};function Kl(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,a=new Promise((c,u)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(r===Number.POSITIVE_INFINITY){c(t);return}if(e.signal){let{signal:f}=e;f.aborted&&u(Gy(f)),f.addEventListener("abort",()=>{u(Gy(f))})}let l=new Fl;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(f){u(f)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?c():i instanceof Error?u(i):(l.message=i??`Promise timed out after ${r} milliseconds`,u(l))},r),(async()=>{try{c(await t)}catch(f){u(f)}finally{s.clearTimeout.call(void 0,o)}})()});return a.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},a}var Vl="lock:worker:request-read",ql="lock:worker:release-read",$l="lock:master:grant-read",zl="lock:worker:request-write",Hl="lock:worker:release-write",Gl="lock:master:grant-write";var Kr={},xi=t=>{t.addEventListener("message",e=>{xi.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{xi.dispatchEvent("message",t,e)})};xi.addEventListener=(t,e)=>{Kr[t]==null&&(Kr[t]=[]),Kr[t].push(e)};xi.removeEventListener=(t,e)=>{Kr[t]!=null&&(Kr[t]=Kr[t].filter(r=>r===e))};xi.dispatchEvent=function(t,e,r){Kr[t]!=null&&Kr[t].forEach(n=>n(e,r))};var Yl=xi;var Yy=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},Wy=(t,e,r,n)=>async()=>{let i=Ks();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},R_={singleProcess:!1},Qy=t=>{if(t=Object.assign({},R_,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Yl.addEventListener("message",Yy(r,"requestReadLock",Vl,ql,$l)),Yl.addEventListener("message",Yy(r,"requestWriteLock",zl,Hl,Gl)),r}return{isWorker:!0,readLock:r=>Wy(r,Vl,$l,ql),writeLock:r=>Wy(r,zl,Gl,Hl)}};var bn={},Vr;async function Wl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Kl((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var I_=(t,e)=>{if(Vr.isWorker===!0)return{readLock:Vr.readLock(t,e),writeLock:Vr.writeLock(t,e)};let r=new St({concurrency:1}),n;return{async readLock(){if(n!=null)return await Wl(n,e);n=new St({concurrency:e.concurrency,autoStart:!1});let i=n,s=Wl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await Wl(r,e)}}},C_={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Ql(t){let e=Object.assign({},C_,t);return Vr==null&&(Vr=Qy(e),Vr.isWorker!==!0&&(Vr.addEventListener("requestReadLock",r=>{bn[r.data.name]!=null&&bn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Vr.addEventListener("requestWriteLock",async r=>{bn[r.data.name]!=null&&bn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),bn[e.name]==null&&(bn[e.name]=I_(e.name,e)),bn[e.name]}async function Xy(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=qe(i.multiaddr)),!Qr(i.multiaddr))throw new E("Multiaddr was invalid",Ve.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function Aa(t,e,r,n){if(e==null)throw new E("Invalid PeerData",Ve.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Re(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",Ve.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",Ve.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Sa(f,{validate:Zy})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Sa(f,{validate:jy,map:Jy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,d]of f)d==null?a.delete(h):a.set(h,d);a=Sa([...a.entries()],{validate:Zy})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[d,p]of f)p==null?h.delete(d):h.set(d,p);c=Sa([...h.entries()],{validate:jy,map:Jy})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Xy(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Sa(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function Zy(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",Ve.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",Ve.ERR_INVALID_PARAMETERS)}function jy(t,e){if(typeof t!="string")throw new E("Tag name must be a string",Ve.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",Ve.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",Ve.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",Ve.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",Ve.ERR_INVALID_PARAMETERS)}}function Jy(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}var vi=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},qr,Ra,Ia,Ca=class{constructor(e,r={}){qr.add(this),this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Ql({name:"peer-store",singleProcess:!0})}async has(e){return await this.datastore.has(gi(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",Ve.ERR_INVALID_PARAMETERS);await this.datastore.delete(gi(e))}async load(e){let r=await this.datastore.get(gi(e));return await wi(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await vi(this,qr,"m",Ra).call(this,e),s=await Aa(e,r,"patch",{addressFilter:this.addressFilter});return await vi(this,qr,"m",Ia).call(this,e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await vi(this,qr,"m",Ra).call(this,e),s=await Aa(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return await vi(this,qr,"m",Ia).call(this,e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await vi(this,qr,"m",Ra).call(this,e),s=await Aa(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return await vi(this,qr,"m",Ia).call(this,e,s,n,i)}async*all(){for await(let{key:e,value:r}of this.datastore.query({prefix:Ol})){let n=e.toString().split("/")[2],i=rt.decode(n),s=Xs(i);s.equals(this.peerId)||(yield wi(s,r))}}};qr=new WeakSet,Ra=async function(e){try{let r=await this.datastore.get(gi(e)),n=await wi(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}},Ia=async function(e,r,n,i){let s=yi.encode(r);return n!=null&&Re(s,n)?{peer:await wi(e,s),previous:i,updated:!1}:(await this.datastore.put(gi(e),s),{peer:await wi(e,s),previous:i,updated:!0})};var Xl=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ss,Ta,xe=G("libp2p:peer-store"),Ba=class{constructor(e,r={}){Ss.add(this),this.events=e.events,this.peerId=e.peerId,this.store=new Ca(e,r)}async forEach(e){xe.trace("forEach await read lock");let r=await this.store.lock.readLock();xe.trace("forEach got read lock");try{for await(let n of this.store.all())e(n)}finally{xe.trace("forEach release read lock"),r()}}async all(){xe.trace("all await read lock");let e=await this.store.lock.readLock();xe.trace("all got read lock");try{let r=[];for await(let n of this.store.all())r.push(n);return r}finally{xe.trace("all release read lock"),e()}}async delete(e){xe.trace("delete await write lock");let r=await this.store.lock.writeLock();xe.trace("delete got write lock");try{await this.store.delete(e)}finally{xe.trace("delete release write lock"),r()}}async has(e){xe.trace("has await read lock");let r=await this.store.lock.readLock();xe.trace("has got read lock");try{return await this.store.has(e)}finally{xe.trace("has release read lock"),r()}}async get(e){xe.trace("get await read lock");let r=await this.store.lock.readLock();xe.trace("get got read lock");try{return await this.store.load(e)}finally{xe.trace("get release read lock"),r()}}async save(e,r){xe.trace("save await write lock");let n=await this.store.lock.writeLock();xe.trace("save got write lock");try{let i=await this.store.save(e,r);return Xl(this,Ss,"m",Ta).call(this,e,i),i.peer}finally{xe.trace("save release write lock"),n()}}async patch(e,r){xe.trace("patch await write lock");let n=await this.store.lock.writeLock();xe.trace("patch got write lock");try{let i=await this.store.patch(e,r);return Xl(this,Ss,"m",Ta).call(this,e,i),i.peer}finally{xe.trace("patch release write lock"),n()}}async merge(e,r){xe.trace("merge await write lock");let n=await this.store.lock.writeLock();xe.trace("merge got write lock");try{let i=await this.store.merge(e,r);return Xl(this,Ss,"m",Ta).call(this,e,i),i.peer}finally{xe.trace("merge release write lock"),n()}}};Ss=new WeakSet,Ta=function(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))};function eg(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Zl=class{constructor(e={}){this.components={},this._started=!1,this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>eg(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},T_=["metrics","connectionProtector"],B_=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function tg(t={}){let e=new Zl(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!B_.includes(i)){let o=e.components[i];if(o==null&&!T_.includes(i))throw new E(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var ig=V(wo(),1);var P_={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Hn},addressSorter:zn},transportManager:{faultTolerance:Ur.FATAL_ALL}};function rg(t){let e=_r(P_,t);if(e.transports==null||e.transports.length<1)throw new E(bt.ERR_TRANSPORTS_REQUIRED,D.ERR_TRANSPORTS_REQUIRED);if(e.connectionEncryption==null||e.connectionEncryption.length===0)throw new E(bt.CONN_ENCRYPTION_REQUIRED,D.CONN_ENCRYPTION_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(bt.ERR_PROTECTOR_REQUIRED,D.ERR_PROTECTOR_REQUIRED);return e}var jl=Symbol.for("@libp2p/content-routing");var Jl=Symbol.for("@libp2p/peer-routing");var ef=Symbol.for("@libp2p/peer-discovery");function ng(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!po(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var tf=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},As=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Pa,$r,rf,Je=G("libp2p"),nf=class extends bi{constructor(e){super(),Pa.add(this),$r.set(this,void 0);let r=new bi,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new Ya(c.type,{detail:c.detail}));return u||l};try{(0,ig.setMaxListeners)?.(1/0,r)}catch{}tf(this,$r,!1,"f"),this.peerId=e.peerId,this.services={};let i=this.components=tg({peerId:e.peerId,events:r,datastore:e.datastore??new qs,connectionGater:ng(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Ba(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Ea(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new fa(this.components,e.transportManager)),this.configureComponent("connectionManager",new Eo(this.components,e.connectionManager)),this.configureComponent("registrar",new va(this.components)),this.configureComponent("addressManager",new Zs(this.components,e.addresses));let s=wn.generateOptions();this.keychain=this.configureComponent("keyChain",new wn(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ys(this.components,{routers:o}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Ws(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{As(this,Pa,"m",rf).call(this,f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){Je.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[jl]!=null&&(Je("registering service %s for content routing",c),a.push(l[jl])),l[Jl]!=null&&(Je("registering service %s for peer routing",c),o.push(l[Jl])),l[ef]!=null&&(Je("registering service %s for peer discovery",c),l[ef].addEventListener("peer",f=>{As(this,Pa,"m",rf).call(this,f)}))}}configureComponent(e,r){return r==null&&Je.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(As(this,$r,"f"))return;tf(this,$r,!0,"f"),Je("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(Je("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),Je("libp2p has started")}catch(r){throw Je.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){As(this,$r,"f")&&(Je("libp2p is stopping"),tf(this,$r,!1,"f"),await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),Je("libp2p has stopped"))}isStarted(){return As(this,$r,"f")}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new rr;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return await this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){Qr(e)&&(e=ne(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(Je("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Ae([U("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return ps(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return await this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}};$r=new WeakMap,Pa=new WeakSet,rf=function(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){Je.error(new Error(D.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{Je.error(n)})};async function sg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new wn({datastore:e},_r(wn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await $y()),new nf(rg(t))}async function L_(t){let e=await sg(t);return t.start!==!1&&await e.start(),e}return hg(D_);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/secp256k1/lib/esm/index.js:
|