@libp2p/pubsub 9.0.5 → 9.0.6-8bbd43628
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.min.js +72 -14
- package/package.json +13 -13
- package/dist/typedoc-urls.json +0 -32
package/dist/index.min.js
CHANGED
@@ -1,20 +1,38 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPubsub = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PPubsub=(()=>{var Bc=Object.create;var Ln=Object.defineProperty;var Ac=Object.getOwnPropertyDescriptor;var Ic=Object.getOwnPropertyNames;var Cc=Object.getPrototypeOf,Tc=Object.prototype.hasOwnProperty;var ut=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),St=(t,e)=>{for(var r in e)Ln(t,r,{get:e[r],enumerable:!0})},Oo=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ic(e))!Tc.call(t,i)&&i!==r&&Ln(t,i,{get:()=>e[i],enumerable:!(n=Ac(e,i))||n.enumerable});return t};var It=(t,e,r)=>(r=t!=null?Bc(Cc(t)):{},Oo(e||!t||!t.__esModule?Ln(r,"default",{value:t,enumerable:!0}):r,t)),_c=t=>Oo(Ln({},"__esModule",{value:!0}),t);var ha=ut((um,ns)=>{"use strict";var Hf=Object.prototype.hasOwnProperty,zt="~";function sn(){}Object.create&&(sn.prototype=Object.create(null),new sn().__proto__||(zt=!1));function zf(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function fa(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new zf(r,n||t,i),o=zt?zt+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 Un(t,e){--t._eventsCount===0?t._events=new sn:delete t._events[e]}function Ot(){this._events=new sn,this._eventsCount=0}Ot.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Hf.call(r,n)&&e.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ot.prototype.listeners=function(e){var r=zt?zt+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};Ot.prototype.listenerCount=function(e){var r=zt?zt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ot.prototype.emit=function(e,r,n,i,s,o){var a=zt?zt+e:e;if(!this._events[a])return!1;var u=this._events[a],c=arguments.length,f,h;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,i),!0;case 5:return u.fn.call(u.context,r,n,i,s),!0;case 6:return u.fn.call(u.context,r,n,i,s,o),!0}for(h=1,f=new Array(c-1);h<c;h++)f[h-1]=arguments[h];u.fn.apply(u.context,f)}else{var l=u.length,g;for(h=0;h<l;h++)switch(u[h].once&&this.removeListener(e,u[h].fn,void 0,!0),c){case 1:u[h].fn.call(u[h].context);break;case 2:u[h].fn.call(u[h].context,r);break;case 3:u[h].fn.call(u[h].context,r,n);break;case 4:u[h].fn.call(u[h].context,r,n,i);break;default:if(!f)for(g=1,f=new Array(c-1);g<c;g++)f[g-1]=arguments[g];u[h].fn.apply(u[h].context,f)}}return!0};Ot.prototype.on=function(e,r,n){return fa(this,e,r,n,!1)};Ot.prototype.once=function(e,r,n){return fa(this,e,r,n,!0)};Ot.prototype.removeListener=function(e,r,n,i){var s=zt?zt+e:e;if(!this._events[s])return this;if(!r)return Un(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Un(this,s);else{for(var a=0,u=[],c=o.length;a<c;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&u.push(o[a]);u.length?this._events[s]=u.length===1?u[0]:u:Un(this,s)}return this};Ot.prototype.removeAllListeners=function(e){var r;return e?(r=zt?zt+e:e,this._events[r]&&Un(this,r)):(this._events=new sn,this._eventsCount=0),this};Ot.prototype.off=Ot.prototype.removeListener;Ot.prototype.addListener=Ot.prototype.on;Ot.prefixed=zt;Ot.EventEmitter=Ot;typeof ns<"u"&&(ns.exports=Ot)});var Ba=ut((Fm,Sa)=>{"use strict";function Ea(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Jf(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 Ea(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Ea(new i,r)}}Sa.exports=Jf});var st=ut((tx,Aa)=>{Aa.exports={options:{usePureJavaScript:!1}}});var Ta=ut((ex,Ca)=>{var ps={};Ca.exports=ps;var Ia={};ps.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=rh(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var u=0,c=t[i];u<a.length;++u)c+=a[u]<<8,a[u]=c%s,c=c/s|0;for(;c>0;)a.push(c%s),c=c/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 f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
3
|
-
`)}return n};ps.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=Ia[e];if(!r){r=Ia[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 u=0,c=a;u<o.length;++u)c+=o[u]*i,o[u]=c&255,c>>=8;for(;c>0;)o.push(c&255),c>>=8}for(var f=0;t[f]===s&&f<t.length-1;++f)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function rh(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 u="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)u+=i;for(r=s.length-1;r>=0;--r)u+=e[s[r]];return u}});var vt=ut((rx,Na)=>{var _a=st(),Ra=Ta(),x=Na.exports=_a.util=_a.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(u){if(u.source===window&&u.data===t){u.stopPropagation();var c=e.slice();e.length=0,c.forEach(function(f){f()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(u){e.push(u),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 u=e.slice();e.length=0,u.forEach(function(c){c()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),s(u)):(e.push(u),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function fn(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=ds;function ds(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof ds||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=ds;var nh=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>nh&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};x.ByteStringBuffer.prototype.putInt=function(t,e){fn(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};x.ByteStringBuffer.prototype.getInt=function(t){fn(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function ih(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}x.DataBuffer=ih;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof x.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){fn(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return fn(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){fn(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};x.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ve=[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],La="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=Fe.charAt(i>>2),r+=Fe.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Fe.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Fe.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
4
|
-
|
5
|
-
`,r=r.substr(e));return n+=r,n};x.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,u=0,c=r;u<t.length;)i=Ve[t.charCodeAt(u++)-43],s=Ve[t.charCodeAt(u++)-43],o=Ve[t.charCodeAt(u++)-43],a=Ve[t.charCodeAt(u++)-43],n[c++]=i<<2|s>>4,o!==64&&(n[c++]=(s&15)<<4|o>>2,a!==64&&(n[c++]=(o&3)<<6|a));return e?c-r:n.subarray(0,c)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,La,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,La,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var ys=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},gs=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},sh=function(t,e,r,n){var i=gs(t,e);i===null&&(i={}),i[r]=n,ys(t,e,i)},oh=function(t,e,r){var n=gs(t,e);return n!==null&&(n=r in n?n[r]:null),n},ah=function(t,e,r){var n=gs(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),ys(t,e,n)}},uh=function(t,e){ys(t,e,null)},qn=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(u){o=u}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){qn(sh,arguments,i)};x.getItem=function(t,e,r,n){return qn(oh,arguments,n)};x.removeItem=function(t,e,r,n){qn(ah,arguments,n)};x.clearItems=function(t,e,r){qn(uh,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};x.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,u=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",f=c.length>3?c.length%3:0;return u+(f?c.substr(0,f)+a:"")+c.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-c).toFixed(s).slice(2):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=x.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};x.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=x.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var u=r[n];u.end-u.start>0&&(e.splice(u.start,u.end-u.start+1,""),u.start===0&&e.unshift(""),u.end===7&&e.push(""))}return e.join(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),u=a+4;Date.now()<u;);self.postMessage({st:a,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,u){if(a===0){var c=Math.floor(o.reduce(function(f,h){return f+h},0)/o.length);return x.cores=Math.max(1,c),URL.revokeObjectURL(r),e(null,x.cores)}i(u,function(f,h){o.push(s(u,h)),n(o,a-1,u)})}function i(o,a){for(var u=[],c=[],f=0;f<o;++f){var h=new Worker(r);h.addEventListener("message",function(l){if(c.push(l.data),c.length===o){for(var g=0;g<o;++g)u[g].terminate();a(null,c)}}),u.push(h)}for(var f=0;f<o;++f)u[f].postMessage(f)}function s(o,a){for(var u=[],c=0;c<o;++c)for(var f=a[c],h=u[c]=[],l=0;l<o;++l)if(c!==l){var g=a[l];(f.st>g.st&&f.st<g.et||g.st>f.st&&g.st<f.et)&&h.push(l)}return u.reduce(function(p,d){return Math.max(p,d.length)},0)}}});var xs=ut((nx,Da)=>{var Rt=st();vt();Da.exports=Rt.cipher=Rt.cipher||{};Rt.cipher.algorithms=Rt.cipher.algorithms||{};Rt.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Rt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Rt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Rt.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Rt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Rt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Rt.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Rt.cipher.algorithms[t]=e};Rt.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Rt.cipher.algorithms?Rt.cipher.algorithms[t]:null};var ms=Rt.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)};ms.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=Rt.util.createBuffer(),this.output=t.output||Rt.util.createBuffer(),this.mode.start(e)};ms.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()};ms.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 vs=ut((ix,Pa)=>{var Lt=st();vt();Lt.cipher=Lt.cipher||{};var Z=Pa.exports=Lt.cipher.modes=Lt.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=Hn(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=Lt.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Hn(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=Lt.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Hn(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=Lt.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Hn(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}zn(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=Lt.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=Lt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Lt.util.createBuffer(t.additionalData):r=Lt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Lt.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(bs(n*8)))}this._inBlock=this._j0.slice(0),zn(this._inBlock),this._partialBytes=0,r=Lt.util.createBuffer(r),this._aDataLength=bs(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),zn(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),zn(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=Lt.util.createBuffer();var n=this._aDataLength.concat(bs(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],u=o/n|0,c=(n-1-o%n)*e;a[u]=1<<e-1<<c,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],u=i[o];i[s+o]=[a[0]^u[0],a[1]^u[1],a[2]^u[2],a[3]^u[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var c=i[s^n];i[s]=[t[0]^c[0],t[1]^c[1],t[2]^c[2],t[3]^c[3]]}return i};function Hn(t,e){if(typeof t=="string"&&(t=Lt.util.createBuffer(t)),Lt.util.isArray(t)&&t.length>4){var r=t;t=Lt.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(!Lt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function zn(t){t[t.length-1]=t[t.length-1]+1&4294967295}function bs(t){return[t/4294967296|0,t&4294967295]}});var Yn=ut((sx,Oa)=>{var ct=st();xs();vs();vt();Oa.exports=ct.aes=ct.aes||{};ct.aes.startEncrypting=function(t,e,r,n){var i=Gn({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ct.aes.createEncryptionCipher=function(t,e){return Gn({key:t,output:null,decrypt:!1,mode:e})};ct.aes.startDecrypting=function(t,e,r,n){var i=Gn({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ct.aes.createDecryptionCipher=function(t,e){return Gn({key:t,output:null,decrypt:!0,mode:e})};ct.aes.Algorithm=function(t,e){Ss||Ua();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Es(r._w,n,i,!1)},decrypt:function(n,i){return Es(r._w,n,i,!0)}}}),r._init=!1};ct.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=ct.util.createBuffer(e);else if(ct.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ct.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ct.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(!ct.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=Ka(e,t.decrypt&&!o),this._init=!0}};ct.aes._expandKey=function(t,e){return Ss||Ua(),Ka(t,e)};ct.aes._updateBlock=Es;Pr("AES-ECB",ct.cipher.modes.ecb);Pr("AES-CBC",ct.cipher.modes.cbc);Pr("AES-CFB",ct.cipher.modes.cfb);Pr("AES-OFB",ct.cipher.modes.ofb);Pr("AES-CTR",ct.cipher.modes.ctr);Pr("AES-GCM",ct.cipher.modes.gcm);function Pr(t,e){var r=function(){return new ct.aes.Algorithm(t,e)};ct.cipher.registerAlgorithm(t,r)}var Ss=!1,Dr=4,Gt,ws,ka,rr,ee;function Ua(){Ss=!0,ka=[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;Gt=new Array(256),ws=new Array(256),rr=new Array(4),ee=new Array(4);for(var e=0;e<4;++e)rr[e]=new Array(256),ee[e]=new Array(256);for(var r=0,n=0,i,s,o,a,u,c,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Gt[r]=a,ws[a]=r,u=t[a],i=t[r],s=t[i],o=t[s],c=u<<24^a<<16^a<<8^(a^u),f=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var h=0;h<4;++h)rr[h][r]=c,ee[h][a]=f,c=c<<24|c>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Ka(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Dr*o,u=s;u<a;++u)n=r[u-1],u%s===0?(n=Gt[n>>>16&255]<<24^Gt[n>>>8&255]<<16^Gt[n&255]<<8^Gt[n>>>24]^ka[i]<<24,i++):s>6&&u%s===4&&(n=Gt[n>>>24]<<24^Gt[n>>>16&255]<<16^Gt[n>>>8&255]<<8^Gt[n&255]),r[u]=r[u-s]^n;if(e){var c,f=ee[0],h=ee[1],l=ee[2],g=ee[3],p=r.slice(0);a=r.length;for(var u=0,d=a-Dr;u<a;u+=Dr,d-=Dr)if(u===0||u===a-Dr)p[u]=r[d],p[u+1]=r[d+3],p[u+2]=r[d+2],p[u+3]=r[d+1];else for(var y=0;y<Dr;++y)c=r[d+y],p[u+(3&-y)]=f[Gt[c>>>24]]^h[Gt[c>>>16&255]]^l[Gt[c>>>8&255]]^g[Gt[c&255]];r=p}return r}function Es(t,e,r,n){var i=t.length/4-1,s,o,a,u,c;n?(s=ee[0],o=ee[1],a=ee[2],u=ee[3],c=ws):(s=rr[0],o=rr[1],a=rr[2],u=rr[3],c=Gt);var f,h,l,g,p,d,y;f=e[0]^t[0],h=e[n?3:1]^t[1],l=e[2]^t[2],g=e[n?1:3]^t[3];for(var m=3,w=1;w<i;++w)p=s[f>>>24]^o[h>>>16&255]^a[l>>>8&255]^u[g&255]^t[++m],d=s[h>>>24]^o[l>>>16&255]^a[g>>>8&255]^u[f&255]^t[++m],y=s[l>>>24]^o[g>>>16&255]^a[f>>>8&255]^u[h&255]^t[++m],g=s[g>>>24]^o[f>>>16&255]^a[h>>>8&255]^u[l&255]^t[++m],f=p,h=d,l=y;r[0]=c[f>>>24]<<24^c[h>>>16&255]<<16^c[l>>>8&255]<<8^c[g&255]^t[++m],r[n?3:1]=c[h>>>24]<<24^c[l>>>16&255]<<16^c[g>>>8&255]<<8^c[f&255]^t[++m],r[2]=c[l>>>24]<<24^c[g>>>16&255]<<16^c[f>>>8&255]<<8^c[h&255]^t[++m],r[n?1:3]=c[g>>>24]<<24^c[f>>>16&255]<<16^c[h>>>8&255]<<8^c[l&255]^t[++m]}function Gn(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ct.cipher.createDecipher(r,t.key):n=ct.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ct.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var $n=ut((Ax,za)=>{var hn=st();hn.pki=hn.pki||{};var As=za.exports=hn.pki.oids=hn.oids=hn.oids||{};function T(t,e){As[t]=e,As[e]=t}function nt(t,e){As[t]=e}T("1.2.840.113549.1.1.1","rsaEncryption");T("1.2.840.113549.1.1.4","md5WithRSAEncryption");T("1.2.840.113549.1.1.5","sha1WithRSAEncryption");T("1.2.840.113549.1.1.7","RSAES-OAEP");T("1.2.840.113549.1.1.8","mgf1");T("1.2.840.113549.1.1.9","pSpecified");T("1.2.840.113549.1.1.10","RSASSA-PSS");T("1.2.840.113549.1.1.11","sha256WithRSAEncryption");T("1.2.840.113549.1.1.12","sha384WithRSAEncryption");T("1.2.840.113549.1.1.13","sha512WithRSAEncryption");T("1.3.101.112","EdDSA25519");T("1.2.840.10040.4.3","dsa-with-sha1");T("1.3.14.3.2.7","desCBC");T("1.3.14.3.2.26","sha1");T("1.3.14.3.2.29","sha1WithRSASignature");T("2.16.840.1.101.3.4.2.1","sha256");T("2.16.840.1.101.3.4.2.2","sha384");T("2.16.840.1.101.3.4.2.3","sha512");T("2.16.840.1.101.3.4.2.4","sha224");T("2.16.840.1.101.3.4.2.5","sha512-224");T("2.16.840.1.101.3.4.2.6","sha512-256");T("1.2.840.113549.2.2","md2");T("1.2.840.113549.2.5","md5");T("1.2.840.113549.1.7.1","data");T("1.2.840.113549.1.7.2","signedData");T("1.2.840.113549.1.7.3","envelopedData");T("1.2.840.113549.1.7.4","signedAndEnvelopedData");T("1.2.840.113549.1.7.5","digestedData");T("1.2.840.113549.1.7.6","encryptedData");T("1.2.840.113549.1.9.1","emailAddress");T("1.2.840.113549.1.9.2","unstructuredName");T("1.2.840.113549.1.9.3","contentType");T("1.2.840.113549.1.9.4","messageDigest");T("1.2.840.113549.1.9.5","signingTime");T("1.2.840.113549.1.9.6","counterSignature");T("1.2.840.113549.1.9.7","challengePassword");T("1.2.840.113549.1.9.8","unstructuredAddress");T("1.2.840.113549.1.9.14","extensionRequest");T("1.2.840.113549.1.9.20","friendlyName");T("1.2.840.113549.1.9.21","localKeyId");T("1.2.840.113549.1.9.22.1","x509Certificate");T("1.2.840.113549.1.12.10.1.1","keyBag");T("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");T("1.2.840.113549.1.12.10.1.3","certBag");T("1.2.840.113549.1.12.10.1.4","crlBag");T("1.2.840.113549.1.12.10.1.5","secretBag");T("1.2.840.113549.1.12.10.1.6","safeContentsBag");T("1.2.840.113549.1.5.13","pkcs5PBES2");T("1.2.840.113549.1.5.12","pkcs5PBKDF2");T("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");T("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");T("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");T("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");T("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");T("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");T("1.2.840.113549.2.7","hmacWithSHA1");T("1.2.840.113549.2.8","hmacWithSHA224");T("1.2.840.113549.2.9","hmacWithSHA256");T("1.2.840.113549.2.10","hmacWithSHA384");T("1.2.840.113549.2.11","hmacWithSHA512");T("1.2.840.113549.3.7","des-EDE3-CBC");T("2.16.840.1.101.3.4.1.2","aes128-CBC");T("2.16.840.1.101.3.4.1.22","aes192-CBC");T("2.16.840.1.101.3.4.1.42","aes256-CBC");T("2.5.4.3","commonName");T("2.5.4.4","surname");T("2.5.4.5","serialNumber");T("2.5.4.6","countryName");T("2.5.4.7","localityName");T("2.5.4.8","stateOrProvinceName");T("2.5.4.9","streetAddress");T("2.5.4.10","organizationName");T("2.5.4.11","organizationalUnitName");T("2.5.4.12","title");T("2.5.4.13","description");T("2.5.4.15","businessCategory");T("2.5.4.17","postalCode");T("2.5.4.42","givenName");T("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");T("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");T("2.16.840.1.113730.1.1","nsCertType");T("2.16.840.1.113730.1.13","nsComment");nt("2.5.29.1","authorityKeyIdentifier");nt("2.5.29.2","keyAttributes");nt("2.5.29.3","certificatePolicies");nt("2.5.29.4","keyUsageRestriction");nt("2.5.29.5","policyMapping");nt("2.5.29.6","subtreesConstraint");nt("2.5.29.7","subjectAltName");nt("2.5.29.8","issuerAltName");nt("2.5.29.9","subjectDirectoryAttributes");nt("2.5.29.10","basicConstraints");nt("2.5.29.11","nameConstraints");nt("2.5.29.12","policyConstraints");nt("2.5.29.13","basicConstraints");T("2.5.29.14","subjectKeyIdentifier");T("2.5.29.15","keyUsage");nt("2.5.29.16","privateKeyUsagePeriod");T("2.5.29.17","subjectAltName");T("2.5.29.18","issuerAltName");T("2.5.29.19","basicConstraints");nt("2.5.29.20","cRLNumber");nt("2.5.29.21","cRLReason");nt("2.5.29.22","expirationDate");nt("2.5.29.23","instructionCode");nt("2.5.29.24","invalidityDate");nt("2.5.29.25","cRLDistributionPoints");nt("2.5.29.26","issuingDistributionPoint");nt("2.5.29.27","deltaCRLIndicator");nt("2.5.29.28","issuingDistributionPoint");nt("2.5.29.29","certificateIssuer");nt("2.5.29.30","nameConstraints");T("2.5.29.31","cRLDistributionPoints");T("2.5.29.32","certificatePolicies");nt("2.5.29.33","policyMappings");nt("2.5.29.34","policyConstraints");T("2.5.29.35","authorityKeyIdentifier");nt("2.5.29.36","policyConstraints");T("2.5.29.37","extKeyUsage");nt("2.5.29.46","freshestCRL");nt("2.5.29.54","inhibitAnyPolicy");T("1.3.6.1.4.1.11129.2.4.2","timestampList");T("1.3.6.1.5.5.7.1.1","authorityInfoAccess");T("1.3.6.1.5.5.7.3.1","serverAuth");T("1.3.6.1.5.5.7.3.2","clientAuth");T("1.3.6.1.5.5.7.3.3","codeSigning");T("1.3.6.1.5.5.7.3.4","emailProtection");T("1.3.6.1.5.5.7.3.8","timeStamping")});var pn=ut((Ix,Ya)=>{var ft=st();vt();$n();var k=Ya.exports=ft.asn1=ft.asn1||{};k.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};k.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};k.create=function(t,e,r,n,i){if(ft.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||ft.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=k.copy(a)),a};k.copy=function(t,e){var r;if(ft.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(k.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:k.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};k.equals=function(t,e,r){if(ft.util.isArray(t)){if(!ft.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!k.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&&k.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};k.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 ln(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 yh=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;ln(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};k.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=ft.util.createBuffer(t));var r=t.length(),n=Zn(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 Zn(t,e,r,n){var i;ln(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var u=yh(t,e);if(e-=i-t.length(),u!==void 0&&u>e){if(n.strict){var c=new Error("Too few bytes to read ASN.1 value.");throw c.available=t.length(),c.remaining=e,c.requested=u,c}u=e}var f,h,l=(s&32)===32;if(l)if(f=[],u===void 0)for(;;){if(ln(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(Zn(t,e,r+1,n)),e-=i-t.length()}else for(;u>0;)i=t.length(),f.push(Zn(t,u,r+1,n)),e-=i-t.length(),u-=i-t.length();if(f===void 0&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&(h=t.bytes(u)),f===void 0&&n.decodeBitStrings&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&u>1){var g=t.read,p=e,d=0;if(a===k.Type.BITSTRING&&(ln(t,e,1),d=t.getByte(),e--),d===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},m=Zn(t,e,r+1,y),w=i-t.length();e-=w,a==k.Type.BITSTRING&&w++;var b=m.tagClass;w===u&&(b===k.Class.UNIVERSAL||b===k.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(t.read=g,e=p)}if(f===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=e}if(a===k.Type.BMPSTRING)for(f="";u>0;u-=2)ln(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(u),e-=u}var _=h===void 0?null:{bitStringContents:h};return k.create(o,a,l,f,_)}k.toDer=function(t){var e=ft.util.createBuffer(),r=t.tagClass|t.type,n=ft.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=k.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(k.toDer(t.value[s]))}else if(t.type===k.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===k.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};k.oidToDer=function(t){var e=t.split("."),r=ft.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 u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};k.derToOid=function(t){var e;typeof t=="string"&&(t=ft.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};k.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 u=t.charAt(10),c=10;u!=="+"&&u!=="-"&&(a=parseInt(t.substr(10,2),10),c+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),c&&(u=t.charAt(c),u==="+"||u==="-")){var f=parseInt(t.substr(c+1,2),10),h=parseInt(t.substr(c+4,2),10),l=f*60+h;l*=6e4,u==="+"?e.setTime(+e-l):e.setTime(+e+l)}return e};k.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),u=0,c=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var h=t.length-5,l=t.charAt(h);if(l==="+"||l==="-"){var g=parseInt(t.substr(h+1,2),10),p=parseInt(t.substr(h+4,2),10);c=g*60+p,c*=6e4,l==="+"&&(c*=-1),f=!0}return t.charAt(14)==="."&&(u=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,u),e.setTime(+e+c)):(e.setFullYear(r,n,i),e.setHours(s,o,a,u)),e};k.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};k.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};k.integerToDer=function(t){var e=ft.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};k.derToInteger=function(t){typeof t=="string"&&(t=ft.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)};k.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&&ft.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=k.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 u=t.bitStringContents.charCodeAt(0);if(u!==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 Ga=/[^\\u0000-\\u00ff]/;k.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
6
|
-
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case k.Class.UNIVERSAL:n+="Universal:";break;case k.Class.APPLICATION:n+="Application:";break;case k.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case k.Class.PRIVATE:n+="Private:";break}if(t.tagClass===k.Class.UNIVERSAL)switch(n+=t.type,t.type){case k.Type.NONE:n+=" (None)";break;case k.Type.BOOLEAN:n+=" (Boolean)";break;case k.Type.INTEGER:n+=" (Integer)";break;case k.Type.BITSTRING:n+=" (Bit string)";break;case k.Type.OCTETSTRING:n+=" (Octet string)";break;case k.Type.NULL:n+=" (Null)";break;case k.Type.OID:n+=" (Object Identifier)";break;case k.Type.ODESC:n+=" (Object Descriptor)";break;case k.Type.EXTERNAL:n+=" (External or Instance of)";break;case k.Type.REAL:n+=" (Real)";break;case k.Type.ENUMERATED:n+=" (Enumerated)";break;case k.Type.EMBEDDED:n+=" (Embedded PDV)";break;case k.Type.UTF8:n+=" (UTF8)";break;case k.Type.ROID:n+=" (Relative Object Identifier)";break;case k.Type.SEQUENCE:n+=" (Sequence)";break;case k.Type.SET:n+=" (Set)";break;case k.Type.PRINTABLESTRING:n+=" (Printable String)";break;case k.Type.IA5String:n+=" (IA5String (ASCII))";break;case k.Type.UTCTIME:n+=" (UTC time)";break;case k.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case k.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
7
|
-
`,n+=i+"Constructed: "+t.constructed+`
|
8
|
-
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=k.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===k.Type.OID){var u=k.derToOid(t.value);n+=u,ft.pki&&ft.pki.oids&&u in ft.pki.oids&&(n+=" ("+ft.pki.oids[u]+") ")}if(t.type===k.Type.INTEGER)try{n+=k.derToInteger(t.value)}catch{n+="0x"+ft.util.bytesToHex(t.value)}else if(t.type===k.Type.BITSTRING){if(t.value.length>1?n+="0x"+ft.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var c=t.value.charCodeAt(0);c==1?n+=" (1 unused bit shown)":c>1&&(n+=" ("+c+" unused bits shown)")}}else if(t.type===k.Type.OCTETSTRING)Ga.test(t.value)||(n+="("+t.value+") "),n+="0x"+ft.util.bytesToHex(t.value);else if(t.type===k.Type.UTF8)try{n+=ft.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ft.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===k.Type.PRINTABLESTRING||t.type===k.Type.IA5String?n+=t.value:Ga.test(t.value)?n+="0x"+ft.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Za=ut((Cx,$a)=>{var pt=st();xs();vs();vt();$a.exports=pt.des=pt.des||{};pt.des.startEncrypting=function(t,e,r,n){var i=Qn({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pt.des.createEncryptionCipher=function(t,e){return Qn({key:t,output:null,decrypt:!1,mode:e})};pt.des.startDecrypting=function(t,e,r,n){var i=Qn({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pt.des.createDecryptionCipher=function(t,e){return Qn({key:t,output:null,decrypt:!0,mode:e})};pt.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Wa(r._keys,n,i,!1)},decrypt:function(n,i){return Wa(r._keys,n,i,!0)}}}),r._init=!1};pt.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=pt.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=Bh(e),this._init=!0}};de("DES-ECB",pt.cipher.modes.ecb);de("DES-CBC",pt.cipher.modes.cbc);de("DES-CFB",pt.cipher.modes.cfb);de("DES-OFB",pt.cipher.modes.ofb);de("DES-CTR",pt.cipher.modes.ctr);de("3DES-ECB",pt.cipher.modes.ecb);de("3DES-CBC",pt.cipher.modes.cbc);de("3DES-CFB",pt.cipher.modes.cfb);de("3DES-OFB",pt.cipher.modes.ofb);de("3DES-CTR",pt.cipher.modes.ctr);function de(t,e){var r=function(){return new pt.des.Algorithm(t,e)};pt.cipher.registerAlgorithm(t,r)}var gh=[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],mh=[-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],xh=[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],bh=[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],vh=[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],wh=[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],Eh=[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],Sh=[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 Bh(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],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],c=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],l=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],g=[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],d=t.length()>8?3:1,y=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,b,_=0;_<d;_++){var E=t.getInt32(),S=t.getInt32();b=(E>>>4^S)&252645135,S^=b,E^=b<<4,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>2^S)&858993459,S^=b,E^=b<<2,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=(S>>>8^E)&16711935,E^=b,S^=b<<8,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=E<<8|S>>>20&240,E=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var L=0;L<m.length;++L){m[L]?(E=E<<2|E>>>26,S=S<<2|S>>>26):(E=E<<1|E>>>27,S=S<<1|S>>>27),E&=-15,S&=-15;var N=e[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|s[E>>>12&15]|o[E>>>8&15]|a[E>>>4&15],z=u[S>>>28]|c[S>>>24&15]|f[S>>>20&15]|h[S>>>16&15]|l[S>>>12&15]|g[S>>>8&15]|p[S>>>4&15];b=(z>>>16^N)&65535,y[w++]=N^b,y[w++]=z^b<<16}}return y}function Wa(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],u=e[1];o=(a>>>4^u)&252645135,u^=o,a^=o<<4,o=(a>>>16^u)&65535,u^=o,a^=o<<16,o=(u>>>2^a)&858993459,a^=o,u^=o<<2,o=(u>>>8^a)&16711935,a^=o,u^=o<<8,o=(a>>>1^u)&1431655765,u^=o,a^=o<<1,a=a<<1|a>>>31,u=u<<1|u>>>31;for(var c=0;c<i;c+=3){for(var f=s[c+1],h=s[c+2],l=s[c];l!=f;l+=h){var g=u^t[l],p=(u>>>4|u<<28)^t[l+1];o=a,a=u,u=o^(mh[g>>>24&63]|bh[g>>>16&63]|wh[g>>>8&63]|Sh[g&63]|gh[p>>>24&63]|xh[p>>>16&63]|vh[p>>>8&63]|Eh[p&63])}o=a,a=u,u=o}a=a>>>1|a<<31,u=u>>>1|u<<31,o=(a>>>1^u)&1431655765,u^=o,a^=o<<1,o=(u>>>8^a)&16711935,a^=o,u^=o<<8,o=(u>>>2^a)&858993459,a^=o,u^=o<<2,o=(a>>>16^u)&65535,u^=o,a^=o<<16,o=(a>>>4^u)&252645135,u^=o,a^=o<<4,r[0]=a,r[1]=u}function Qn(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=pt.cipher.createDecipher(r,t.key):n=pt.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof pt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var nr=ut((Tx,Qa)=>{var Xn=st();Qa.exports=Xn.md=Xn.md||{};Xn.md.algorithms=Xn.md.algorithms||{}});var Ja=ut((_x,Xa)=>{var Ae=st();nr();vt();var Ah=Xa.exports=Ae.hmac=Ae.hmac||{};Ah.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 Ae.md.algorithms)e=Ae.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=Ae.util.createBuffer(o);else if(Ae.util.isArray(o)){var a=o;o=Ae.util.createBuffer();for(var u=0;u<a.length;++u)o.putByte(a[u])}var c=o.length();c>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=Ae.util.createBuffer(),n=Ae.util.createBuffer(),c=o.length();for(var u=0;u<c;++u){var a=o.at(u);r.putByte(54^a),n.putByte(92^a)}if(c<e.blockLength)for(var a=e.blockLength-c,u=0;u<a;++u)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 Jn=ut(()=>{});var Is=ut((Nx,ja)=>{var Yt=st();Ja();nr();vt();var Ih=Yt.pkcs5=Yt.pkcs5||{},Ie;Yt.util.isNodejs&&!Yt.options.usePureJavaScript&&(Ie=Jn());ja.exports=Yt.pbkdf2=Ih.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),Yt.util.isNodejs&&!Yt.options.usePureJavaScript&&Ie.pbkdf2&&(i===null||typeof i!="object")&&(Ie.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?Ie.pbkdf2Sync.length===4?Ie.pbkdf2(t,e,r,n,function(b,_){if(b)return s(b);s(null,_.toString("binary"))}):Ie.pbkdf2(t,e,r,n,i,function(b,_){if(b)return s(b);s(null,_.toString("binary"))}):Ie.pbkdf2Sync.length===4?Ie.pbkdf2Sync(t,e,r,n).toString("binary"):Ie.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Yt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Yt.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 u=Math.ceil(n/o),c=n-(u-1)*o,f=Yt.hmac.create();f.start(i,t);var h="",l,g,p;if(!s){for(var d=1;d<=u;++d){f.start(null,null),f.update(e),f.update(Yt.util.int32ToBytes(d)),l=p=f.digest().getBytes();for(var y=2;y<=r;++y)f.start(null,null),f.update(p),g=f.digest().getBytes(),l=Yt.util.xorBytes(l,g,o),p=g;h+=d<u?l:l.substr(0,c)}return h}var d=1,y;function m(){if(d>u)return s(null,h);f.start(null,null),f.update(e),f.update(Yt.util.int32ToBytes(d)),l=p=f.digest().getBytes(),y=2,w()}function w(){if(y<=r)return f.start(null,null),f.update(p),g=f.digest().getBytes(),l=Yt.util.xorBytes(l,g,o),p=g,++y,Yt.util.setImmediate(w);h+=d<u?l:l.substr(0,c),++d,m()}m()}});var r0=ut((Dx,e0)=>{var ti=st();vt();var t0=e0.exports=ti.pem=ti.pem||{};t0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=jn(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=jn(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=jn(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=jn(t.headers[i]);return t.procType&&(r+=`\r
|
10
|
-
`),r+=ti.util.encode64(t.body,e.maxline||64)+`\r
|
11
|
-
`,r+="-----END "+t.type+`-----\r
|
12
|
-
`,r};t0.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:ti.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var u=s[2].split(i),c=0;s&&c<u.length;){for(var f=u[c].replace(/\s+$/,""),h=c+1;h<u.length;++h){var l=u[h];if(!/\s/.test(l[0]))break;f+=l,c=h}if(s=f.match(n),s){for(var g={name:s[1],values:[]},p=s[2].split(","),d=0;d<p.length;++d)g.values.push(Ch(p[d]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&g.name==="DEK-Info"){if(g.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(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.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]}}}++c}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 jn(t){for(var e=t.name+": ",r=[],n=function(u,c){return" "+c},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
13
|
-
`;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
|
14
|
-
`+e.substr(o)):e=e.substr(0,o)+`\r
|
15
|
-
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function Ch(t){return t.replace(/^\s+/,"")}});var u0=ut((Px,a0)=>{var ye=st();nr();vt();var i0=a0.exports=ye.sha256=ye.sha256||{};ye.md.sha256=ye.md.algorithms.sha256=i0;i0.create=function(){s0||Th();var t=null,e=ye.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=ye.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=ye.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),n0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=ye.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Cs.substr(0,n.blockLength-o));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};n0(h,r,i);var l=ye.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l.putInt32(h.h5),l.putInt32(h.h6),l.putInt32(h.h7),l},n};var Cs=null,s0=!1,o0=null;function Th(){Cs="\x80",Cs+=ye.util.fillString("\0",64),o0=[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],s0=!0}function n0(t,e,r){for(var n,i,s,o,a,u,c,f,h,l,g,p,d,y,m,w=r.length();w>=64;){for(c=0;c<16;++c)e[c]=r.getInt32();for(;c<64;++c)n=e[c-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[c-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[c]=n+e[c-7]+i+e[c-16]|0;for(f=t.h0,h=t.h1,l=t.h2,g=t.h3,p=t.h4,d=t.h5,y=t.h6,m=t.h7,c=0;c<64;++c)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(d^y),s=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),u=f&h|l&(f^h),n=m+o+a+o0[c]+e[c],i=s+u,m=y,y=d,d=p,p=g+n>>>0,g=l,l=h,h=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+h|0,t.h2=t.h2+l|0,t.h3=t.h3+g|0,t.h4=t.h4+p|0,t.h5=t.h5+d|0,t.h6=t.h6+y|0,t.h7=t.h7+m|0,w-=64}}});var f0=ut((kx,c0)=>{var ge=st();vt();var ei=null;ge.util.isNodejs&&!ge.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ei=Jn());var _h=c0.exports=ge.prng=ge.prng||{};_h.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(c,f){if(!f)return e.generateSync(c);var h=e.plugin.cipher,l=e.plugin.increment,g=e.plugin.formatKey,p=e.plugin.formatSeed,d=ge.util.createBuffer();e.key=null,y();function y(m){if(m)return f(m);if(d.length()>=c)return f(null,d.getBytes(c));if(e.generated>1048575&&(e.key=null),e.key===null)return ge.util.nextTick(function(){s(y)});var w=h(e.key,e.seed);e.generated+=w.length,d.putBytes(w),e.key=g(h(e.key,l(e.seed))),e.seed=p(h(e.key,e.seed)),ge.util.setImmediate(y)}},e.generateSync=function(c){var f=e.plugin.cipher,h=e.plugin.increment,l=e.plugin.formatKey,g=e.plugin.formatSeed;e.key=null;for(var p=ge.util.createBuffer();p.length()<c;){e.generated>1048575&&(e.key=null),e.key===null&&o();var d=f(e.key,e.seed);e.generated+=d.length,p.putBytes(d),e.key=l(f(e.key,h(e.seed))),e.seed=g(f(e.key,e.seed))}return p.getBytes(c)};function s(c){if(e.pools[0].messageLength>=32)return a(),c();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(h,l){if(h)return c(h);e.collect(l),a(),c()})}function o(){if(e.pools[0].messageLength>=32)return a();var c=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(c)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var c=e.plugin.md.create();c.update(e.keyBytes);for(var f=1,h=0;h<32;++h)e.reseeds%f===0&&(c.update(e.pools[h].digest().getBytes()),e.pools[h].start()),f=f<<1;e.keyBytes=c.digest().getBytes(),c.start(),c.update(e.keyBytes);var l=c.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(l),e.generated=0}function u(c){var f=null,h=ge.util.globalScope,l=h.crypto||h.msCrypto;l&&l.getRandomValues&&(f=function(E){return l.getRandomValues(E)});var g=ge.util.createBuffer();if(f)for(;g.length()<c;){var p=Math.max(1,Math.min(c-g.length(),65536)/4),d=new Uint32Array(Math.floor(p));try{f(d);for(var y=0;y<d.length;++y)g.putInt32(d[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(g.length()<c)for(var m,w,b,_=Math.floor(Math.random()*65536);g.length()<c;){w=16807*(_&65535),m=16807*(_>>16),w+=(m&32767)<<16,w+=m>>15,w=(w&2147483647)+(w>>31),_=w&4294967295;for(var y=0;y<3;++y)b=_>>>(y<<3),b^=Math.floor(Math.random()*256),g.putByte(b&255)}return g.getBytes(c)}return ei?(e.seedFile=function(c,f){ei.randomBytes(c,function(h,l){if(h)return f(h);f(null,l.toString())})},e.seedFileSync=function(c){return ei.randomBytes(c).toString()}):(e.seedFile=function(c,f){try{f(null,u(c))}catch(h){f(h)}},e.seedFileSync=u),e.collect=function(c){for(var f=c.length,h=0;h<f;++h)e.pools[e.pool].update(c.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(c,f){for(var h="",l=0;l<f;l+=8)h+=String.fromCharCode(c>>l&255);e.collect(h)},e.registerWorker=function(c){if(c===self)e.seedFile=function(h,l){function g(p){var d=p.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",g),l(d.forge.prng.err,d.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:h}}})};else{var f=function(h){var l=h.data;l.forge&&l.forge.prng&&e.seedFile(l.forge.prng.needed,function(g,p){c.postMessage({forge:{prng:{err:g,bytes:p}}})})};c.addEventListener("message",f)}},e}});var dn=ut((Ux,Ts)=>{var Nt=st();Yn();u0();f0();vt();(function(){if(Nt.random&&Nt.random.getBytes){Ts.exports=Nt.random;return}(function(t){var e={},r=new Array(4),n=Nt.util.createBuffer();e.formatKey=function(h){var l=Nt.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),Nt.aes._expandKey(h,!1)},e.formatSeed=function(h){var l=Nt.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),h},e.cipher=function(h,l){return Nt.aes._updateBlock(h,l,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=Nt.md.sha256;function i(){var h=Nt.prng.create(e);return h.getBytes=function(l,g){return h.generate(l,g)},h.getBytesSync=function(l){return h.generate(l)},h}var s=i(),o=null,a=Nt.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(o=function(h){return u.getRandomValues(h)}),Nt.options.usePureJavaScript||!Nt.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var c="";for(var f in navigator)try{typeof navigator[f]=="string"&&(c+=navigator[f])}catch{}s.collect(c),c=null}t&&(t().mousemove(function(h){s.collectInt(h.clientX,16),s.collectInt(h.clientY,16)}),t().keypress(function(h){s.collectInt(h.charCode,8)}))}if(!Nt.random)Nt.random=s;else for(var f in s)Nt.random[f]=s[f];Nt.random.createInstance=i,Ts.exports=Nt.random})(typeof jQuery<"u"?jQuery:null)})()});var d0=ut((Kx,p0)=>{var Wt=st();vt();var _s=[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],h0=[1,2,3,5],Rh=function(t,e){return t<<e&65535|(t&65535)>>16-e},Lh=function(t,e){return(t&65535)>>e|t<<16-e&65535};p0.exports=Wt.rc2=Wt.rc2||{};Wt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Wt.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(_s[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,_s[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,_s[r.at(a+1)^r.at(a+s)]);return r};var l0=function(t,e,r){var n=!1,i=null,s=null,o=null,a,u,c,f,h=[];for(t=Wt.rc2.expandKey(t,e),c=0;c<64;c++)h.push(t.getInt16Le());r?(a=function(p){for(c=0;c<4;c++)p[c]+=h[f]+(p[(c+3)%4]&p[(c+2)%4])+(~p[(c+3)%4]&p[(c+1)%4]),p[c]=Rh(p[c],h0[c]),f++},u=function(p){for(c=0;c<4;c++)p[c]+=h[p[(c+3)%4]&63]}):(a=function(p){for(c=3;c>=0;c--)p[c]=Lh(p[c],h0[c]),p[c]-=h[f]+(p[(c+3)%4]&p[(c+2)%4])+(~p[(c+3)%4]&p[(c+1)%4]),f--},u=function(p){for(c=3;c>=0;c--)p[c]-=h[p[(c+3)%4]&63]});var l=function(p){var d=[];for(c=0;c<4;c++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),d.push(y&65535)}f=r?0:63;for(var m=0;m<p.length;m++)for(var w=0;w<p[m][0];w++)p[m][1](d);for(c=0;c<4;c++)o!==null&&(r?o.putInt16Le(d[c]):d[c]^=o.getInt16Le()),s.putInt16Le(d[c])},g=null;return g={start:function(p,d){p&&typeof p=="string"&&(p=Wt.util.createBuffer(p)),n=!1,i=Wt.util.createBuffer(),s=d||new Wt.util.createBuffer,o=p,g.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)l([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(p){var d=!0;if(r)if(p)d=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(d&&(n=!0,g.update()),!r&&(d=i.length()===0,d))if(p)d=p(8,s,!r);else{var m=s.length(),w=s.at(m-1);w>m?d=!1:s.truncate(w)}return d}},g};Wt.rc2.startEncrypting=function(t,e,r){var n=Wt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Wt.rc2.createEncryptionCipher=function(t,e){return l0(t,e,!0)};Wt.rc2.startDecrypting=function(t,e,r){var n=Wt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Wt.rc2.createDecryptionCipher=function(t,e){return l0(t,e,!1)}});var ii=ut((Ox,E0)=>{var Rs=st();E0.exports=Rs.jsbn=Rs.jsbn||{};var Ce,Nh=0xdeadbeefcafe,y0=(Nh&16777215)==15715070;function I(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))}Rs.jsbn.BigInteger=I;function tt(){return new I(null)}function Dh(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 Ph(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var u=this.data[t]&32767,c=this.data[t++]>>15,f=a*u+c*o;u=o*u+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(f>>>15)+a*c+(i>>>30),r.data[n++]=u&1073741823}return i}function g0(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var u=this.data[t]&16383,c=this.data[t++]>>14,f=a*u+c*o;u=o*u+((f&16383)<<14)+r.data[n]+i,i=(u>>28)+(f>>14)+a*c,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(I.prototype.am=g0,Ce=28):y0&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=Ph,Ce=30):y0&&navigator.appName!="Netscape"?(I.prototype.am=Dh,Ce=26):(I.prototype.am=g0,Ce=28);I.prototype.DB=Ce;I.prototype.DM=(1<<Ce)-1;I.prototype.DV=1<<Ce;var Ls=52;I.prototype.FV=Math.pow(2,Ls);I.prototype.F1=Ls-Ce;I.prototype.F2=2*Ce-Ls;var kh="0123456789abcdefghijklmnopqrstuvwxyz",ri=new Array,kr,Xt;kr=48;for(Xt=0;Xt<=9;++Xt)ri[kr++]=Xt;kr=97;for(Xt=10;Xt<36;++Xt)ri[kr++]=Xt;kr=65;for(Xt=10;Xt<36;++Xt)ri[kr++]=Xt;function m0(t){return kh.charAt(t)}function x0(t,e){var r=ri[t.charCodeAt(e)];return r??-1}function Uh(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 Kh(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 qe(t){var e=tt();return e.fromInt(t),e}function Oh(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:x0(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&&I.ZERO.subTo(this,this)}function Mh(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Fh(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=m0(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+=m0(n));return i?s:"0"}function Vh(){var t=tt();return I.ZERO.subTo(this,t),t}function qh(){return this.s<0?this.negate():this}function Hh(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 ni(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 zh(){return this.t<=0?0:this.DB*(this.t-1)+ni(this.data[this.t-1]^this.s&this.DM)}function Gh(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 Yh(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 Wh(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 $h(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 Zh(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 Qh(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&&I.ZERO.subTo(e,e)}function Xh(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 Jh(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=tt());var s=tt(),o=this.s,a=t.s,u=this.DB-ni(n.data[n.t-1]);u>0?(n.lShiftTo(u,s),i.lShiftTo(u,r)):(n.copyTo(s),i.copyTo(r));var c=s.t,f=s.data[c-1];if(f!=0){var h=f*(1<<this.F1)+(c>1?s.data[c-2]>>this.F2:0),l=this.FV/h,g=(1<<this.F1)/h,p=1<<this.F2,d=r.t,y=d-c,m=e??tt();for(s.dlShiftTo(y,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),I.ONE.dlShiftTo(c,m),m.subTo(s,s);s.t<c;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--d]==f?this.DM:Math.floor(r.data[d]*l+(r.data[d-1]+p)*g);if((r.data[d]+=s.am(0,w,r,y,0,c))<w)for(s.dlShiftTo(y,m),r.subTo(m,r);r.data[d]<--w;)r.subTo(m,r)}e!=null&&(r.drShiftTo(c,e),o!=a&&I.ZERO.subTo(e,e)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),o<0&&I.ZERO.subTo(r,r)}}}function jh(t){var e=tt();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(I.ZERO)>0&&t.subTo(e,e),e}function ir(t){this.m=t}function tl(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function el(t){return t}function rl(t){t.divRemTo(this.m,null,t)}function nl(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function il(t,e){t.squareTo(e),this.reduce(e)}ir.prototype.convert=tl;ir.prototype.revert=el;ir.prototype.reduce=rl;ir.prototype.mulTo=nl;ir.prototype.sqrTo=il;function sl(){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 sr(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 ol(t){var e=tt();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(I.ZERO)>0&&this.m.subTo(e,e),e}function al(t){var e=tt();return t.copyTo(e),this.reduce(e),e}function ul(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 cl(t,e){t.squareTo(e),this.reduce(e)}function fl(t,e,r){t.multiplyTo(e,r),this.reduce(r)}sr.prototype.convert=ol;sr.prototype.revert=al;sr.prototype.reduce=ul;sr.prototype.mulTo=fl;sr.prototype.sqrTo=cl;function hl(){return(this.t>0?this.data[0]&1:this.s)==0}function ll(t,e){if(t>4294967295||t<1)return I.ONE;var r=tt(),n=tt(),i=e.convert(this),s=ni(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 pl(t,e){var r;return t<256||e.isEven()?r=new ir(e):r=new sr(e),this.exp(t,r)}I.prototype.copyTo=Uh;I.prototype.fromInt=Kh;I.prototype.fromString=Oh;I.prototype.clamp=Mh;I.prototype.dlShiftTo=Gh;I.prototype.drShiftTo=Yh;I.prototype.lShiftTo=Wh;I.prototype.rShiftTo=$h;I.prototype.subTo=Zh;I.prototype.multiplyTo=Qh;I.prototype.squareTo=Xh;I.prototype.divRemTo=Jh;I.prototype.invDigit=sl;I.prototype.isEven=hl;I.prototype.exp=ll;I.prototype.toString=Fh;I.prototype.negate=Vh;I.prototype.abs=qh;I.prototype.compareTo=Hh;I.prototype.bitLength=zh;I.prototype.mod=jh;I.prototype.modPowInt=pl;I.ZERO=qe(0);I.ONE=qe(1);function dl(){var t=tt();return this.copyTo(t),t}function yl(){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 gl(){return this.t==0?this.s:this.data[0]<<24>>24}function ml(){return this.t==0?this.s:this.data[0]<<16>>16}function xl(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function bl(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function vl(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=qe(r),i=tt(),s=tt(),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 wl(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 u=x0(t,a);if(u<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+u,++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&&I.ZERO.subTo(this,this)}function El(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(I.ONE.shiftLeft(t-1),Ns,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(I.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 Sl(){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 Bl(t){return this.compareTo(t)==0}function Al(t){return this.compareTo(t)<0?this:t}function Il(t){return this.compareTo(t)>0?this:t}function Cl(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 Tl(t,e){return t&e}function _l(t){var e=tt();return this.bitwiseTo(t,Tl,e),e}function Ns(t,e){return t|e}function Rl(t){var e=tt();return this.bitwiseTo(t,Ns,e),e}function b0(t,e){return t^e}function Ll(t){var e=tt();return this.bitwiseTo(t,b0,e),e}function v0(t,e){return t&~e}function Nl(t){var e=tt();return this.bitwiseTo(t,v0,e),e}function Dl(){for(var t=tt(),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 Pl(t){var e=tt();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function kl(t){var e=tt();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Ul(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 Kl(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Ul(this.data[t]);return this.s<0?this.t*this.DB:-1}function Ol(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Ml(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Ol(this.data[r]^e);return t}function Fl(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Vl(t,e){var r=I.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function ql(t){return this.changeBit(t,Ns)}function Hl(t){return this.changeBit(t,v0)}function zl(t){return this.changeBit(t,b0)}function Gl(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 Yl(t){var e=tt();return this.addTo(t,e),e}function Wl(t){var e=tt();return this.subTo(t,e),e}function $l(t){var e=tt();return this.multiplyTo(t,e),e}function Zl(t){var e=tt();return this.divRemTo(t,e,null),e}function Ql(t){var e=tt();return this.divRemTo(t,null,e),e}function Xl(t){var e=tt(),r=tt();return this.divRemTo(t,e,r),new Array(e,r)}function Jl(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function jl(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 yn(){}function w0(t){return t}function tp(t,e,r){t.multiplyTo(e,r)}function ep(t,e){t.squareTo(e)}yn.prototype.convert=w0;yn.prototype.revert=w0;yn.prototype.mulTo=tp;yn.prototype.sqrTo=ep;function rp(t){return this.exp(t,new yn)}function np(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 ip(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 Ur(t){this.r2=tt(),this.q3=tt(),I.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function sp(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=tt();return t.copyTo(e),this.reduce(e),e}function op(t){return t}function ap(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 up(t,e){t.squareTo(e),this.reduce(e)}function cp(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ur.prototype.convert=sp;Ur.prototype.revert=op;Ur.prototype.reduce=ap;Ur.prototype.mulTo=cp;Ur.prototype.sqrTo=up;function fp(t,e){var r=t.bitLength(),n,i=qe(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 ir(e):e.isEven()?s=new Ur(e):s=new sr(e);var o=new Array,a=3,u=n-1,c=(1<<n)-1;if(o[1]=s.convert(this),n>1){var f=tt();for(s.sqrTo(o[1],f);a<=c;)o[a]=tt(),s.mulTo(f,o[a-2],o[a]),a+=2}var h=t.t-1,l,g=!0,p=tt(),d;for(r=ni(t.data[h])-1;h>=0;){for(r>=u?l=t.data[h]>>r-u&c:(l=(t.data[h]&(1<<r+1)-1)<<u-r,h>0&&(l|=t.data[h-1]>>this.DB+r-u)),a=n;!(l&1);)l>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),g)o[l].copyTo(i),g=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(d=i,i=p,p=d),s.mulTo(p,o[l],i)}for(;h>=0&&!(t.data[h]&1<<r);)s.sqrTo(i,p),d=i,i=p,p=d,--r<0&&(r=this.DB-1,--h)}return s.revert(i)}function hp(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 lp(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 pp(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return I.ZERO;for(var r=t.clone(),n=this.clone(),i=qe(1),s=qe(0),o=qe(0),a=qe(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(I.ONE)!=0)return I.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 re=[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],dp=(1<<26)/re[re.length-1];function yp(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=re[re.length-1]){for(e=0;e<re.length;++e)if(r.data[0]==re[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<re.length;){for(var n=re[e],i=e+1;i<re.length&&n<dp;)n*=re[i++];for(n=r.modInt(n);e<i;)if(n%re[e++]==0)return!1}return r.millerRabin(t)}function gp(t){var e=this.subtract(I.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=mp(),s,o=0;o<t;++o){do s=new I(this.bitLength(),i);while(s.compareTo(I.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(e)!=0){for(var u=1;u++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function mp(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=xl;I.prototype.toRadix=vl;I.prototype.fromRadix=wl;I.prototype.fromNumber=El;I.prototype.bitwiseTo=Cl;I.prototype.changeBit=Vl;I.prototype.addTo=Gl;I.prototype.dMultiply=Jl;I.prototype.dAddOffset=jl;I.prototype.multiplyLowerTo=np;I.prototype.multiplyUpperTo=ip;I.prototype.modInt=lp;I.prototype.millerRabin=gp;I.prototype.clone=dl;I.prototype.intValue=yl;I.prototype.byteValue=gl;I.prototype.shortValue=ml;I.prototype.signum=bl;I.prototype.toByteArray=Sl;I.prototype.equals=Bl;I.prototype.min=Al;I.prototype.max=Il;I.prototype.and=_l;I.prototype.or=Rl;I.prototype.xor=Ll;I.prototype.andNot=Nl;I.prototype.not=Dl;I.prototype.shiftLeft=Pl;I.prototype.shiftRight=kl;I.prototype.getLowestSetBit=Kl;I.prototype.bitCount=Ml;I.prototype.testBit=Fl;I.prototype.setBit=ql;I.prototype.clearBit=Hl;I.prototype.flipBit=zl;I.prototype.add=Yl;I.prototype.subtract=Wl;I.prototype.multiply=$l;I.prototype.divide=Zl;I.prototype.remainder=Ql;I.prototype.divideAndRemainder=Xl;I.prototype.modPow=fp;I.prototype.modInverse=pp;I.prototype.pow=rp;I.prototype.gcd=hp;I.prototype.isProbablePrime=yp});var C0=ut((Mx,I0)=>{var me=st();nr();vt();var B0=I0.exports=me.sha1=me.sha1||{};me.md.sha1=me.md.algorithms.sha1=B0;B0.create=function(){A0||xp();var t=null,e=me.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=me.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=me.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),S0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=me.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ds.substr(0,n.blockLength-o));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};S0(h,r,i);var l=me.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l},n};var Ds=null,A0=!1;function xp(){Ds="\x80",Ds+=me.util.fillString("\0",64),A0=!0}function S0(t,e,r){for(var n,i,s,o,a,u,c,f,h=r.length();h>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,u=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,c=a^s&(o^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,c=a^s&(o^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,c=s^o^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,c=s^o^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,c=s&o|a&(s^o),n=(i<<5|i>>>27)+c+u+2400959708+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,c=s^o^a,n=(i<<5|i>>>27)+c+u+3395469782+n,u=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+u|0,h-=64}}});var R0=ut((Fx,_0)=>{var xe=st();vt();dn();C0();var T0=_0.exports=xe.pkcs1=xe.pkcs1||{};T0.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=xe.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),u=a-2*s.digestLength-2;if(e.length>u){var c=new Error("RSAES-OAEP input message length is too long.");throw c.length=e.length,c.maxLength=u,c}n||(n=""),s.update(n,"raw");for(var f=s.digest(),h="",l=u-e.length,g=0;g<l;g++)h+="\0";var p=f.getBytes()+h+""+e;if(!i)i=xe.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var c=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw c.seedLength=i.length,c.digestLength=s.digestLength,c}var d=si(i,a-s.digestLength-1,o),y=xe.util.xorBytes(p,d,p.length),m=si(y,s.digestLength,o),w=xe.util.xorBytes(i,m,i.length);return"\0"+w+y};T0.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=xe.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(),u=e.charAt(0),c=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),h=si(f,i.digestLength,s),l=xe.util.xorBytes(c,h,c.length),g=si(l,o-i.digestLength-1,s),p=xe.util.xorBytes(f,g,f.length),d=p.substring(0,i.digestLength),y=u!=="\0",m=0;m<i.digestLength;++m)y|=a.charAt(m)!==d.charAt(m);for(var w=1,b=i.digestLength,_=i.digestLength;_<p.length;_++){var E=p.charCodeAt(_),S=E&1^1,L=w?65534:0;y|=E&L,w=w&S,b+=w}if(y||p.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(b+1)};function si(t,e,r){r||(r=xe.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 L0=ut((Vx,Ps)=>{var He=st();vt();ii();dn();(function(){if(He.prime){Ps.exports=He.prime;return}var t=Ps.exports=He.prime=He.prime||{},e=He.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,l){return h|l};t.generateProbablePrime=function(h,l,g){typeof l=="function"&&(g=l,l={}),l=l||{};var p=l.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var d=l.prng||He.random,y={nextBytes:function(m){for(var w=d.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=w.charCodeAt(b)}};if(p.name==="PRIMEINC")return s(h,y,p.options,g);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(h,l,g,p){return"workers"in g?u(h,l,g,p):o(h,l,g,p)}function o(h,l,g,p){var d=c(h,l),y=0,m=f(d.bitLength());"millerRabinTests"in g&&(m=g.millerRabinTests);var w=10;"maxBlockTime"in g&&(w=g.maxBlockTime),a(d,h,l,y,m,w,p)}function a(h,l,g,p,d,y,m){var w=+new Date;do{if(h.bitLength()>l&&(h=c(l,g)),h.isProbablePrime(d))return m(null,h);h.dAddOffset(r[p++%8],0)}while(y<0||+new Date-w<y);He.util.setImmediate(function(){a(h,l,g,p,d,y,m)})}function u(h,l,g,p){if(typeof Worker>"u")return o(h,l,g,p);var d=c(h,l),y=g.workers,m=g.workLoad||100,w=m*30/8,b=g.workerScript||"forge/prime.worker.js";if(y===-1)return He.util.estimateCores(function(E,S){E&&(S=2),y=S-1,_()});_();function _(){y=Math.max(1,y);for(var E=[],S=0;S<y;++S)E[S]=new Worker(b);for(var L=y,S=0;S<y;++S)E[S].addEventListener("message",z);var N=!1;function z(H){if(!N){--L;var V=H.data;if(V.found){for(var Q=0;Q<E.length;++Q)E[Q].terminate();return N=!0,p(null,new e(V.prime,16))}d.bitLength()>h&&(d=c(h,l));var ot=d.toString(16);H.target.postMessage({hex:ot,workLoad:m}),d.dAddOffset(w,0)}}}}function c(h,l){var g=new e(h,l),p=h-1;return g.testBit(p)||g.bitwiseTo(e.ONE.shiftLeft(p),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function f(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var ai=ut((qx,O0)=>{var F=st();pn();ii();$n();R0();L0();dn();vt();typeof j>"u"&&(j=F.jsbn.BigInteger);var j,ks=F.util.isNodejs?Jn():null,v=F.asn1,Jt=F.util;F.pki=F.pki||{};O0.exports=F.pki.rsa=F.rsa=F.rsa||{};var G=F.pki,bp=[6,4,2,4,2,4,6,2],vp={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"}]},wp={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"}]},Ep={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"}]},Sp=F.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"}]}]},Bp={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"}]},Ap=function(t){var e;if(t.algorithm in G.oids)e=G.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()},U0=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(j.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(j.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new j(F.util.bytesToHex(F.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(j.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};G.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=K0(t,e,r)):(i=F.util.createBuffer(),i.putBytes(t));for(var o=new j(i.toHex(),16),a=U0(o,e,n),u=a.toString(16),c=F.util.createBuffer(),f=s-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(F.util.hexToBytes(u)),c.getBytes()};G.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 j(F.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=U0(o,e,r),u=a.toString(16),c=F.util.createBuffer(),f=i-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(F.util.hexToBytes(u)),n!==!1?oi(c.getBytes(),e,r):c.getBytes()};G.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||F.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=u.charCodeAt(c)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new j(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};G.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new j(null);r.fromInt(30);for(var n=0,i=function(h,l){return h|l},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var u=t.p===null?t.pBits:t.qBits,c=u-1;t.pqState===0?(t.num=new j(u,t.rng),t.num.testBit(c)||t.num.bitwiseTo(j.ONE.shiftLeft(c),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>u?t.pqState=0:t.num.isProbablePrime(Cp(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(bp[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(j.ONE).gcd(t.e).compareTo(j.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(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(j.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 f=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};G.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),!F.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(N0("generateKeyPair"))return ks.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,c){if(a)return n(a);n(null,{privateKey:G.privateKeyFromPem(c),publicKey:G.publicKeyFromPem(u)})});if(D0("generateKey")&&D0("exportKey"))return Jt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:k0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Jt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=G.privateKeyFromAsn1(v.fromDer(F.util.createBuffer(a)));n(null,{privateKey:u,publicKey:G.setRsaPublicKey(u.n,u.e)})}});if(P0("generateKey")&&P0("exportKey")){var i=Jt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:k0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=Jt.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var h=f.target.result,l=G.privateKeyFromAsn1(v.fromDer(F.util.createBuffer(h)));n(null,{privateKey:l,publicKey:G.setRsaPublicKey(l.n,l.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(N0("generateKeyPairSync")){var s=ks.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:G.privateKeyFromPem(s.privateKey),publicKey:G.publicKeyFromPem(s.publicKey)}}}var o=G.rsa.createKeyPairGenerationState(t,e,r);if(!n)return G.rsa.stepKeyPairGenerationState(o,0),o.keys;Ip(o,r,n)};G.setRsaPublicKey=G.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,u,c){return K0(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return F.pkcs1.encode_rsa_oaep(u,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 G.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(u,c){c=oi(c,r,!0);var f=v.fromDer(c,{parseAllBytes:o._parseAllDigestBytes}),h={},l=[];if(!v.validate(f,Bp,h,l)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=l,g}var p=v.derToOid(h.algorithmIdentifier);if(!(p===F.oids.md2||p===F.oids.md5||p===F.oids.sha1||p===F.oids.sha224||p===F.oids.sha256||p===F.oids.sha384||p===F.oids.sha512||p===F.oids["sha512-224"]||p===F.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=p,g}if((p===F.oids.md2||p===F.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===h.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(u,c){return c=oi(c,r,!0),u===c}});var a=G.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};G.setRsaPrivateKey=G.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var u={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return u.decrypt=function(c,f,h){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var l=G.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:oi};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(g,p){return F.pkcs1.decode_rsa_oaep(p,g,h)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(l,u,!1)},u.sign=function(c,f){var h=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Ap},h=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},h=1);var l=f.encode(c,u.n.bitLength());return G.rsa.encrypt(l,u,h)},u};G.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(G.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())])};G.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,vp,e,r)&&(t=v.fromDer(F.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,wp,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,u,c,f,h;return i=F.util.createBuffer(e.privateKeyModulus).toHex(),s=F.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=F.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(e.privateKeyPrime1).toHex(),u=F.util.createBuffer(e.privateKeyPrime2).toHex(),c=F.util.createBuffer(e.privateKeyExponent1).toHex(),f=F.util.createBuffer(e.privateKeyExponent2).toHex(),h=F.util.createBuffer(e.privateKeyCoefficient).toHex(),G.setRsaPrivateKey(new j(i,16),new j(s,16),new j(o,16),new j(a,16),new j(u,16),new j(c,16),new j(f,16),new j(h,16))};G.privateKeyToAsn1=G.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,be(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.qInv))])};G.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Sp,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==G.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,Ep,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=F.util.createBuffer(e.publicKeyModulus).toHex(),o=F.util.createBuffer(e.publicKeyExponent).toHex();return G.setRsaPublicKey(new j(s,16),new j(o,16))};G.publicKeyToAsn1=G.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(G.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[G.publicKeyToRSAPublicKey(t)])])};G.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,be(t.e))])};function K0(t,e,r){var n=F.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 u=0;u<o;++u)n.putByte(a)}else for(;o>0;){for(var c=0,f=F.random.getBytes(o),u=0;u<o;++u)a=f.charCodeAt(u),a===0?++c:n.putByte(a);o=c}return n.putByte(0),n.putBytes(t),n}function oi(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=F.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 u=0;if(a===0){u=i-3-n;for(var c=0;c<u;++c)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++u}else if(a===2)for(u=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++u}var f=s.getByte();if(f!==0||u!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Ip(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,u){if(a)return r(a);if(t.p=u,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,u){F.prime.generateProbablePrime(a,n,u)}function o(a,u){if(a)return r(a);if(t.q=u,t.p.compareTo(t.q)<0){var c=t.p;t.p=t.q,t.q=c}if(t.p.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.p=null,i();return}if(t.q.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(j.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 f=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function be(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=F.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 Cp(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 N0(t){return F.util.isNodejs&&typeof ks[t]=="function"}function D0(t){return typeof Jt.globalScope<"u"&&typeof Jt.globalScope.crypto=="object"&&typeof Jt.globalScope.crypto.subtle=="object"&&typeof Jt.globalScope.crypto.subtle[t]=="function"}function P0(t){return typeof Jt.globalScope<"u"&&typeof Jt.globalScope.msCrypto=="object"&&typeof Jt.globalScope.msCrypto.subtle=="object"&&typeof Jt.globalScope.msCrypto.subtle[t]=="function"}function k0(t){for(var e=F.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var z0=ut((Hx,H0)=>{var U=st();Yn();pn();Za();nr();$n();Is();r0();dn();d0();ai();vt();typeof M0>"u"&&(M0=U.jsbn.BigInteger);var M0,B=U.asn1,Y=U.pki=U.pki||{};H0.exports=Y.pbe=U.pbe=U.pbe||{};var or=Y.oids,Tp={name:"EncryptedPrivateKeyInfo",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},_p={name:"PBES2Algorithms",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Rp={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"}]};Y.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=U.random.getBytesSync(r.saltSize),i=r.count,s=B.integerToDer(i),o,a,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var c,f,h;switch(r.algorithm){case"aes128":o=16,c=16,f=or["aes128-CBC"],h=U.aes.createEncryptionCipher;break;case"aes192":o=24,c=16,f=or["aes192-CBC"],h=U.aes.createEncryptionCipher;break;case"aes256":o=32,c=16,f=or["aes256-CBC"],h=U.aes.createEncryptionCipher;break;case"des":o=8,c=8,f=or.desCBC,h=U.des.createEncryptionCipher;break;default:var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),p=q0(g),d=U.pkcs5.pbkdf2(e,n,i,o,p),y=U.random.getBytesSync(c),m=h(d);m.start(y),m.update(B.toDer(t)),m.finish(),u=m.output.getBytes();var w=Lp(n,s,o,g);a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(or.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(or.pkcs5PBKDF2).getBytes()),w]),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(f).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var b=new U.util.ByteBuffer(n),d=Y.pbe.generatePkcs12Key(e,b,1,i,o),y=Y.pbe.generatePkcs12Key(e,b,2,i,o),m=U.des.createEncryptionCipher(d);m.start(y),m.update(B.toDer(t)),m.finish(),u=m.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(or["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 l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var _=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,u)]);return _};Y.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,Tp,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=Y.pbe.getCipher(o,n.encryptionParams,e),u=U.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=B.fromDer(a.output)),r};Y.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};Y.encryptedPrivateKeyFromPem=function(t){var e=U.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)};Y.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(t));return n=Y.encryptPrivateKeyInfo(n,e,r),Y.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var c=U.pbe.opensslDeriveBytes(e,s.substr(0,8),o),f=a(c);f.start(s),f.update(B.toDer(Y.privateKeyToAsn1(t))),f.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(s).toUpperCase()},body:f.output.getBytes()};return U.pem.encode(h)};Y.decryptRsaPrivateKey=function(t,e){var r=null,n=U.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=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=U.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=U.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=U.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(h){return U.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":s=8,o=function(h){return U.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":s=16,o=function(h){return U.rc2.createDecryptionCipher(h,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=U.util.hexToBytes(n.dekInfo.parameters),u=U.pbe.opensslDeriveBytes(e,a.substr(0,8),s),c=o(u);if(c.start(a),c.update(U.util.createBuffer(n.body)),c.finish())r=c.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Y.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=Y.privateKeyFromAsn1(r)),r};Y.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');s=U.md.sha1.create()}var u=s.digestLength,c=s.blockLength,f=new U.util.ByteBuffer,h=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)h.putInt16(t.charCodeAt(a));h.putInt16(0)}var l=h.length(),g=e.length(),p=new U.util.ByteBuffer;p.fillWithByte(r,c);var d=c*Math.ceil(g/c),y=new U.util.ByteBuffer;for(a=0;a<d;a++)y.putByte(e.at(a%g));var m=c*Math.ceil(l/c),w=new U.util.ByteBuffer;for(a=0;a<m;a++)w.putByte(h.at(a%l));var b=y;b.putBuffer(w);for(var _=Math.ceil(i/u),E=1;E<=_;E++){var S=new U.util.ByteBuffer;S.putBytes(p.bytes()),S.putBytes(b.bytes());for(var L=0;L<n;L++)s.start(),s.update(S.getBytes()),S=s.digest();var N=new U.util.ByteBuffer;for(a=0;a<c;a++)N.putByte(S.at(a%u));var z=Math.ceil(g/c)+Math.ceil(l/c),H=new U.util.ByteBuffer;for(o=0;o<z;o++){var V=new U.util.ByteBuffer(b.getBytes(c)),Q=511;for(a=N.length()-1;a>=0;a--)Q=Q>>8,Q+=N.at(a)+V.at(a),V.setAt(a,Q&255);H.putBuffer(V)}b=H,f.putBuffer(S)}return f.truncate(f.length()-i),f};Y.pbe.getCipher=function(t,e,r){switch(t){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(t,e,r);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.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}};Y.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,_p,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=B.derToOid(n.kdfOid),t!==Y.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!==Y.oids["aes128-CBC"]&&t!==Y.oids["aes192-CBC"]&&t!==Y.oids["aes256-CBC"]&&t!==Y.oids["des-EDE3-CBC"]&&t!==Y.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=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var u,c;switch(Y.oids[t]){case"aes128-CBC":u=16,c=U.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,c=U.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,c=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,c=U.des.createDecryptionCipher;break;case"desCBC":u=8,c=U.des.createDecryptionCipher;break}var f=V0(n.prfOid),h=U.pkcs5.pbkdf2(r,o,a,u,f),l=n.encIv,g=c(h);return g.start(l),g};Y.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,Rp,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=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var u,c,f;switch(t){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=U.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,c=8,f=function(d,y){var m=U.rc2.createDecryptionCipher(d,40);return m.start(y,null),m};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var h=V0(n.prfOid),l=Y.pbe.generatePkcs12Key(r,o,1,a,u,h);h.start();var g=Y.pbe.generatePkcs12Key(r,o,2,a,c,h);return f(l,g)};Y.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[F0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(F0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function F0(t,e){return t.start().update(e).digest().getBytes()}function V0(t){var e;if(!t)e="hmacWithSHA1";else if(e=Y.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 q0(e)}function q0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.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 Lp(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,U.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(Y.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var Ku=ut((Mb,Uu)=>{var lt=st();nr();vt();var Sn=Uu.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=Sn;var Pu=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};Pu.create=function(){return Sn.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=Pu;lt.sha512.sha256=lt.sha512.sha256||{create:function(){return Sn.create("SHA-512/256")}};lt.md["sha512/256"]=lt.md.algorithms["sha512/256"]=lt.sha512.sha256;lt.sha512.sha224=lt.sha512.sha224||{create:function(){return Sn.create("SHA-512/224")}};lt.md["sha512/224"]=lt.md.algorithms["sha512/224"]=lt.sha512.sha224;Sn.create=function(t){if(ku||Xd(),typeof t>"u"&&(t="SHA-512"),!(t in pr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=pr[t],r=null,n=lt.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 u=a.messageLengthSize/4,c=0;c<u;++c)a.fullMessageLength.push(0);n=lt.util.createBuffer(),r=new Array(e.length);for(var c=0;c<e.length;++c)r[c]=e[c].slice(0);return a},a.start(),a.update=function(u,c){c==="utf8"&&(u=lt.util.encodeUtf8(u));var f=u.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=f[1],f[1]=f[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(u),Du(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=lt.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(go.substr(0,a.blockLength-f));for(var h,l,g=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)h=a.fullMessageLength[p+1]*8,l=h/4294967296>>>0,g+=l,u.putInt32(g>>>0),g=h>>>0;u.putInt32(g);for(var d=new Array(r.length),p=0;p<r.length;++p)d[p]=r[p].slice(0);Du(d,i,u);var y=lt.util.createBuffer(),m;t==="SHA-512"?m=d.length:t==="SHA-384"?m=d.length-2:m=d.length-4;for(var p=0;p<m;++p)y.putInt32(d[p][0]),(p!==m-1||t!=="SHA-512/224")&&y.putInt32(d[p][1]);return y},a};var go=null,ku=!1,mo=null,pr=null;function Xd(){go="\x80",go+=lt.util.fillString("\0",128),mo=[[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]],pr={},pr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],pr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],pr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],pr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ku=!0}function Du(t,e,r){for(var n,i,s,o,a,u,c,f,h,l,g,p,d,y,m,w,b,_,E,S,L,N,z,H,V,Q,ot,Dt,C,P,R,D,A,K,M,q=r.length();q>=128;){for(C=0;C<16;++C)e[C][0]=r.getInt32()>>>0,e[C][1]=r.getInt32()>>>0;for(;C<80;++C)D=e[C-2],P=D[0],R=D[1],n=((P>>>19|R<<13)^(R>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|R>>>19)^(R<<3|P>>>29)^(P<<26|R>>>6))>>>0,K=e[C-15],P=K[0],R=K[1],s=((P>>>1|R<<31)^(P>>>8|R<<24)^P>>>7)>>>0,o=((P<<31|R>>>1)^(P<<24|R>>>8)^(P<<25|R>>>7))>>>0,A=e[C-7],M=e[C-16],R=i+A[1]+o+M[1],e[C][0]=n+A[0]+s+M[0]+(R/4294967296>>>0)>>>0,e[C][1]=R>>>0;for(d=t[0][0],y=t[0][1],m=t[1][0],w=t[1][1],b=t[2][0],_=t[2][1],E=t[3][0],S=t[3][1],L=t[4][0],N=t[4][1],z=t[5][0],H=t[5][1],V=t[6][0],Q=t[6][1],ot=t[7][0],Dt=t[7][1],C=0;C<80;++C)c=((L>>>14|N<<18)^(L>>>18|N<<14)^(N>>>9|L<<23))>>>0,f=((L<<18|N>>>14)^(L<<14|N>>>18)^(N<<23|L>>>9))>>>0,h=(V^L&(z^V))>>>0,l=(Q^N&(H^Q))>>>0,a=((d>>>28|y<<4)^(y>>>2|d<<30)^(y>>>7|d<<25))>>>0,u=((d<<4|y>>>28)^(y<<30|d>>>2)^(y<<25|d>>>7))>>>0,g=(d&m|b&(d^m))>>>0,p=(y&w|_&(y^w))>>>0,R=Dt+f+l+mo[C][1]+e[C][1],n=ot+c+h+mo[C][0]+e[C][0]+(R/4294967296>>>0)>>>0,i=R>>>0,R=u+p,s=a+g+(R/4294967296>>>0)>>>0,o=R>>>0,ot=V,Dt=Q,V=z,Q=H,z=L,H=N,R=S+i,L=E+n+(R/4294967296>>>0)>>>0,N=R>>>0,E=b,S=_,b=m,_=w,m=d,w=y,R=i+o,d=n+s+(R/4294967296>>>0)>>>0,y=R>>>0;R=t[0][1]+y,t[0][0]=t[0][0]+d+(R/4294967296>>>0)>>>0,t[0][1]=R>>>0,R=t[1][1]+w,t[1][0]=t[1][0]+m+(R/4294967296>>>0)>>>0,t[1][1]=R>>>0,R=t[2][1]+_,t[2][0]=t[2][0]+b+(R/4294967296>>>0)>>>0,t[2][1]=R>>>0,R=t[3][1]+S,t[3][0]=t[3][0]+E+(R/4294967296>>>0)>>>0,t[3][1]=R>>>0,R=t[4][1]+N,t[4][0]=t[4][0]+L+(R/4294967296>>>0)>>>0,t[4][1]=R>>>0,R=t[5][1]+H,t[5][0]=t[5][0]+z+(R/4294967296>>>0)>>>0,t[5][1]=R>>>0,R=t[6][1]+Q,t[6][0]=t[6][0]+V+(R/4294967296>>>0)>>>0,t[6][1]=R>>>0,R=t[7][1]+Dt,t[7][0]=t[7][0]+ot+(R/4294967296>>>0)>>>0,t[7][1]=R>>>0,q-=128}}});var ky={};St(ky,{PubSubBaseProtocol:()=>_o});var Ky=Symbol.for("@libp2p/connection");var My=Symbol.for("@libp2p/content-routing");var qy=Symbol.for("@libp2p/peer-discovery");var Mo=Symbol.for("@libp2p/peer-id");var Gy=Symbol.for("@libp2p/peer-routing");var Zr;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(Zr||(Zr={}));var Zy=Symbol.for("@libp2p/transport");var Fo;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Fo||(Fo={}));var O=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var mr=class extends EventTarget{#t=new Map;listenerCount(e){let r=this.#t.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#t.get(e);i==null&&(i=[],this.#t.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.#t.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#t.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#t.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new he(e,r))}},Ni=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},he=globalThis.CustomEvent??Ni;var Ki={};St(Ki,{base58btc:()=>Ht,base58flickr:()=>kc});var C1=new Uint8Array(0);function Vo(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}function Se(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")}function qo(t){return new TextEncoder().encode(t)}function Ho(t){return new TextDecoder().decode(t)}function Rc(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,u=t.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(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 d=0,y=0,m=0,w=p.length;m!==w&&p[m]===0;)m++,d++;for(var b=(w-m)*f+1>>>0,_=new Uint8Array(b);m!==w;){for(var E=p[m],S=0,L=b-1;(E!==0||S<y)&&L!==-1;L--,S++)E+=256*_[L]>>>0,_[L]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=S,m++}for(var N=b-y;N!==b&&_[N]===0;)N++;for(var z=u.repeat(d);N<b;++N)z+=t.charAt(_[N]);return z}function l(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var y=0,m=0;p[d]===u;)y++,d++;for(var w=(p.length-d)*c+1>>>0,b=new Uint8Array(w);p[d];){var _=r[p.charCodeAt(d)];if(_===255)return;for(var E=0,S=w-1;(_!==0||E<m)&&S!==-1;S--,E++)_+=a*b[S]>>>0,b[S]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");m=E,d++}if(p[d]!==" "){for(var L=w-m;L!==w&&b[L]===0;)L++;for(var N=new Uint8Array(y+(w-L)),z=y;L!==w;)N[z++]=b[L++];return N}}}function g(p){var d=l(p);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:l,decode:g}}var Lc=Rc,Nc=Lc,Go=Nc;var Di=class{name;prefix;baseEncode;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")}},Pi=class{name;prefix;baseDecode;prefixCodePoint;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 Yo(this,e)}},ki=class{decoders;constructor(e){this.decoders=e}or(e){return Yo(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Yo(t,e){return new ki({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Ui=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Di(e,r,n),this.decoder=new Pi(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function xr({name:t,prefix:e,encode:r,decode:n}){return new Ui(t,e,r,n)}function Ue({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=Go(r,t);return xr({prefix:e,name:t,encode:n,decode:s=>Se(i(s))})}function Dc(t,e,r,n){let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,u=0,c=0;for(let f=0;f<s;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|h,a+=r,a>=8&&(a-=8,o[c++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return o}function Pc(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o!==0&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s}function xt({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return xr({prefix:e,name:t,encode(i){return Pc(i,n,r)},decode(i){return Dc(i,n,r,t)}})}var Ht=Ue({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kc=Ue({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Oi={};St(Oi,{base10:()=>Uc});var Uc=Ue({prefix:"9",name:"base10",alphabet:"0123456789"});var Mi={};St(Mi,{base16:()=>Kc,base16upper:()=>Oc});var Kc=xt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Oc=xt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Fi={};St(Fi,{base2:()=>Mc});var Mc=xt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vi={};St(Vi,{base256emoji:()=>zc});var Wo=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}"),Fc=Wo.reduce((t,e,r)=>(t[r]=e,t),[]),Vc=Wo.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function qc(t){return t.reduce((e,r)=>(e+=Fc[r],e),"")}function Hc(t){let e=[];for(let r of t){let n=Vc[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var zc=xr({prefix:"\u{1F680}",name:"base256emoji",encode:qc,decode:Hc});var qi={};St(qi,{base32:()=>br,base32hex:()=>$c,base32hexpad:()=>Qc,base32hexpadupper:()=>Xc,base32hexupper:()=>Zc,base32pad:()=>Yc,base32padupper:()=>Wc,base32upper:()=>Gc,base32z:()=>Jc});var br=xt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Gc=xt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Yc=xt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Wc=xt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),$c=xt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zc=xt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Qc=xt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Xc=xt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Jc=xt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Hi={};St(Hi,{base36:()=>jc,base36upper:()=>tf});var jc=Ue({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),tf=Ue({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var zi={};St(zi,{base64:()=>Qr,base64pad:()=>ef,base64url:()=>rf,base64urlpad:()=>nf});var Qr=xt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ef=xt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),rf=xt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),nf=xt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Gi={};St(Gi,{base8:()=>sf});var sf=xt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Yi={};St(Yi,{identity:()=>of});var of=xr({prefix:"\0",name:"identity",encode:t=>Ho(t),decode:t=>qo(t)});var H1=new TextEncoder,z1=new TextDecoder;var $i={};St($i,{identity:()=>Ke});var cf=Qo,$o=128,ff=127,hf=~ff,lf=Math.pow(2,31);function Qo(t,e,r){e=e||[],r=r||0;for(var n=r;t>=lf;)e[r++]=t&255|$o,t/=128;for(;t&hf;)e[r++]=t&255|$o,t>>>=7;return e[r]=t|0,Qo.bytes=r-n+1,e}var pf=Wi,df=128,Zo=127;function Wi(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw Wi.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Zo)<<i:(o&Zo)*Math.pow(2,i),i+=7}while(o>=df);return Wi.bytes=s-n,r}var yf=Math.pow(2,7),gf=Math.pow(2,14),mf=Math.pow(2,21),xf=Math.pow(2,28),bf=Math.pow(2,35),vf=Math.pow(2,42),wf=Math.pow(2,49),Ef=Math.pow(2,56),Sf=Math.pow(2,63),Bf=function(t){return t<yf?1:t<gf?2:t<mf?3:t<xf?4:t<bf?5:t<vf?6:t<wf?7:t<Ef?8:t<Sf?9:10},Af={encode:cf,decode:pf,encodingLength:Bf},If=Af,Xr=If;function Jr(t,e=0){return[Xr.decode(t,e),Xr.decode.bytes]}function vr(t,e,r=0){return Xr.encode(t,e,r),e}function wr(t){return Xr.encodingLength(t)}function le(t,e){let r=e.byteLength,n=wr(t),i=n+wr(r),s=new Uint8Array(i+r);return vr(t,s,0),vr(r,s,n),s.set(e,i),new Er(t,r,e,s)}function jr(t){let e=Se(t),[r,n]=Jr(e),[i,s]=Jr(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Er(r,i,o,e)}function Xo(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Vo(t.bytes,r.bytes)}}var Er=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Jo=0,Cf="identity",jo=Se;function Tf(t){return le(Jo,jo(t))}var Ke={code:Jo,name:Cf,encode:jo,digest:Tf};var Xi={};St(Xi,{sha256:()=>Ct,sha512:()=>_f});function Qi({name:t,code:e,encode:r}){return new Zi(t,e,r)}var Zi=class{name;code;encode;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?le(this.code,r):r.then(n=>le(this.code,n))}else throw Error("Unknown type, must be binary type")}};function ea(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Ct=Qi({name:"sha2-256",code:18,encode:ea("SHA-256")}),_f=Qi({name:"sha2-512",code:19,encode:ea("SHA-512")});function ra(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Lf(r,Ji(t),e??Ht.encoder);default:return Nf(r,Ji(t),e??br.encoder)}}var na=new WeakMap;function Ji(t){let e=na.get(t);if(e==null){let r=new Map;return na.set(t,r),r}return e}var Je=class t{code;version;multihash;bytes;"/";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!==tn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Df)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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=le(e,r);return t.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 t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Xo(e.multihash,n.multihash)}toString(e){return ra(this,e)}toJSON(){return{"/":ra(this)}}link(){return this}[Symbol.toStringTag]="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 t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o??ia(n,i,s.bytes))}else if(r[Pf]===!0){let{version:n,multihash:i,code:s}=r,o=jr(i);return t.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!==tn)throw new Error(`Version 0 CID must use dag-pb (code: ${tn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=ia(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,tn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Se(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 Er(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,l]=Jr(e.subarray(r));return r+=l,h},i=n(),s=tn;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(),u=n(),c=r+u,f=c-o;return{version:i,codec:s,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(e,r){let[n,i]=Rf(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ji(s).set(n,e),s}};function Rf(t,e){switch(t[0]){case"Q":{let r=e??Ht;return[Ht.prefix,r.decode(`${Ht.prefix}${t}`)]}case Ht.prefix:{let r=e??Ht;return[Ht.prefix,r.decode(t)]}case br.prefix:{let r=e??br;return[br.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)]}}}function Lf(t,e,r){let{prefix:n}=r;if(n!==Ht.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}function Nf(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}var tn=112,Df=18;function ia(t,e,r){let n=wr(t),i=n+wr(e),s=new Uint8Array(i+r.byteLength);return vr(t,s,0),vr(e,s,n),s.set(r,i),s}var Pf=Symbol.for("@ipld/js-cid/CID");var Br={...Yi,...Fi,...Gi,...Oi,...Mi,...qi,...Hi,...Ki,...zi,...Vi},hg={...Xi,...$i};function Kt(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 kf=Symbol.for("nodejs.util.inspect.custom"),sa=Object.values(Br).map(t=>t.decoder).reduce((t,e)=>t.or(e),Br.identity.decoder),oa=114,ji=36,ts=37,en=class{type;multihash;privateKey;publicKey;string;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()})`}[Mo]=!0;toString(){return this.string==null&&(this.string=Ht.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Je.createV1(oa,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Kt(this.multihash.bytes,e);if(typeof e=="string")return pe(e).equals(this);if(e?.multihash?.bytes!=null)return Kt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[kf](){return`PeerId(${this.toString()})`}},Ar=class extends en{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Ir=class extends en{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Cr=class extends en{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function pe(t,e){if(e=e??sa,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=jr(Ht.decode(`z${t}`));return t.startsWith("12D")?new Ir({multihash:r}):t.startsWith("16U")?new Cr({multihash:r}):new Ar({multihash:r})}return rn(sa.decode(t))}function rn(t){try{let e=jr(t);if(e.code===Ke.code){if(e.digest.length===ji)return new Ir({multihash:e});if(e.digest.length===ts)return new Cr({multihash:e})}if(e.code===Ct.code)return new Ar({multihash:e})}catch{return Uf(Je.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Uf(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==oa)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ct.code)return new Ar({multihash:t.multihash});if(e.code===Ke.code){if(e.digest.length===ji)return new Ir({multihash:t.multihash});if(e.digest.length===ts)return new Cr({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Dn(t,e){return t.length===ji?new Ir({multihash:le(Ke.code,t),privateKey:e}):t.length===ts?new Cr({multihash:le(Ke.code,t),privateKey:e}):new Ar({multihash:await Ct.digest(t),publicKey:t,privateKey:e})}function je(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{map;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){return this.map.delete(e.toString())}entries(){return je(this.map.entries(),e=>[pe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,pe(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 je(this.map.keys(),e=>pe(e))}values(){return this.map.values()}get size(){return this.map.size}};var _r=class t{set;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 je(this.set.entries(),e=>{let r=pe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=pe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return je(this.set.values(),e=>pe(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};function Pn(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var kn=class{buffer;mask;top;btm;next;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}},Rr=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new kn(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 kn(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()}};var es=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Lr(t={}){return Of(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 Of(t,e){e=e??{};let r=e.onEnd,n=new Rr,i,s,o,a=Pn(),u=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,m)=>{s=w=>{s=null,n.push(w);try{y(t(n))}catch(b){m(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Pn()})}},c=y=>s!=null?s(y):(n.push(y),i),f=y=>(n=new Rr,s!=null?s({error:y}):(n.push({error:y}),i)),h=y=>{if(o)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:y})},l=y=>o?i:(o=!0,y!=null?f(y):c({done:!0})),g=()=>(n=new Rr,l(),{done:!0}),p=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:u,return:g,throw:p,push:h,end:l,get readableLength(){return n.size},onEmpty:async y=>{let m=y?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let w,b;m!=null&&(w=new Promise((_,E)=>{b=()=>{E(new es)},m.addEventListener("abort",b)}));try{await Promise.race([a.promise,w])}finally{b!=null&&m!=null&&m?.removeEventListener("abort",b)}}},r==null)return i;let d=i;return i={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(y){return d.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return d.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(y){return d.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return d.readableLength},onEmpty:y=>d.onEmpty(y)},i}function Mf(t){return t[Symbol.asyncIterator]!=null}function Ff(...t){let e=[];for(let r of t)Mf(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Lr({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 aa=Ff;function nn(t,...e){if(t==null)throw new Error("Empty pipeline");if(rs(t)){let n=t;t=()=>n.source}else if(ca(t)||ua(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&rs(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++)rs(r[n])&&(r[n]=qf(r[n]));return Vf(...r)}var Vf=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},ua=t=>t?.[Symbol.asyncIterator]!=null,ca=t=>t?.[Symbol.iterator]!=null,rs=t=>t==null?!1:t.sink!=null&&t.source!=null,qf=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Lr({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(ua(s))i=async function*(){yield*s,n.end()};else if(ca(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return aa(n,i())}return t.source};var is=It(ha(),1);var on=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ss=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},la=t=>globalThis.DOMException===void 0?new ss(t):new DOMException(t),pa=t=>{let e=t.reason===void 0?la("This operation was aborted."):t.reason;return e instanceof Error?e:la(e)};function os(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,u=new Promise((c,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:l}=e;l.aborted&&f(pa(l)),l.addEventListener("abort",()=>{f(pa(l))})}if(r===Number.POSITIVE_INFINITY){t.then(c,f);return}let h=new on;o=s.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(l){f(l)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?c():i instanceof Error?f(i):(h.message=i??`Promise timed out after ${r} milliseconds`,f(h))},r),(async()=>{try{c(await t)}catch(l){f(l)}})()}).finally(()=>{u.clear()});return u.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},u}function as(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 an=class{#t=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#t[this.size-1].priority>=r.priority){this.#t.push(n);return}let i=as(this.#t,n,(s,o)=>o.priority-s.priority);this.#t.splice(i,0,n)}dequeue(){return this.#t.shift()?.run}filter(e){return this.#t.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#t.length}};var un=class extends is.default{#t;#o;#s=0;#p;#a;#d=0;#r;#u;#e;#y;#n=0;#c;#i;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:an,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#o=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#p=e.intervalCap,this.#a=e.interval,this.#e=new e.queueClass,this.#y=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#i=e.autoStart===!1}get#b(){return this.#o||this.#s<this.#p}get#v(){return this.#n<this.#c}#w(){this.#n--,this.#f(),this.emit("next")}#E(){this.#x(),this.#m(),this.#u=void 0}get#S(){let e=Date.now();if(this.#r===void 0){let r=this.#d-e;if(r<0)this.#s=this.#t?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#f(){if(this.#e.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#i){let e=!this.#S;if(this.#b&&this.#v){let r=this.#e.dequeue();return r?(this.emit("active"),r(),e&&this.#m(),!0):!1}}return!1}#m(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#a),this.#d=Date.now()+this.#a)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#t?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#c}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})`);this.#c=e,this.#h()}async#B(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#e.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=os(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#B(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof on&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#w()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#i?(this.#i=!1,this.#h(),this):this}pause(){this.#i=!0}clear(){this.#e=new this.#y}async onEmpty(){this.#e.size!==0&&await this.#l("empty")}async onSizeLessThan(e){this.#e.size<e||await this.#l("next",()=>this.#e.size<e)}async onIdle(){this.#n===0&&this.#e.size===0||await this.#l("idle")}async#l(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#i}};var Tt={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function da(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 ya(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function ga(t,e){let r=da(t).return?.();ya(r)&&r.catch(n=>{e.error("could not cause iterator to return",n)})}function Oe(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Be(t=0){return globalThis.Buffer?.alloc!=null?Oe(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Mt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Oe(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var Gf=Math.pow(2,7),Yf=Math.pow(2,14),Wf=Math.pow(2,21),us=Math.pow(2,28),cs=Math.pow(2,35),fs=Math.pow(2,42),hs=Math.pow(2,49),rt=128,Ft=127;function tr(t){if(t<Gf)return 1;if(t<Yf)return 2;if(t<Wf)return 3;if(t<us)return 4;if(t<cs)return 5;if(t<fs)return 6;if(t<hs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function $f(t,e,r=0){switch(tr(t)){case 8:e[r++]=t&255|rt,t/=128;case 7:e[r++]=t&255|rt,t/=128;case 6:e[r++]=t&255|rt,t/=128;case 5:e[r++]=t&255|rt,t/=128;case 4:e[r++]=t&255|rt,t>>>=7;case 3:e[r++]=t&255|rt,t>>>=7;case 2:e[r++]=t&255|rt,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Zf(t,e,r=0){switch(tr(t)){case 8:e.set(r++,t&255|rt),t/=128;case 7:e.set(r++,t&255|rt),t/=128;case 6:e.set(r++,t&255|rt),t/=128;case 5:e.set(r++,t&255|rt),t/=128;case 4:e.set(r++,t&255|rt),t>>>=7;case 3:e.set(r++,t&255|rt),t>>>=7;case 2:e.set(r++,t&255|rt),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Qf(t,e){let r=t[e],n=0;if(n+=r&Ft,r<rt||(r=t[e+1],n+=(r&Ft)<<7,r<rt)||(r=t[e+2],n+=(r&Ft)<<14,r<rt)||(r=t[e+3],n+=(r&Ft)<<21,r<rt)||(r=t[e+4],n+=(r&Ft)*us,r<rt)||(r=t[e+5],n+=(r&Ft)*cs,r<rt)||(r=t[e+6],n+=(r&Ft)*fs,r<rt)||(r=t[e+7],n+=(r&Ft)*hs,r<rt))return n;throw new RangeError("Could not decode varint")}function Xf(t,e){let r=t.get(e),n=0;if(n+=r&Ft,r<rt||(r=t.get(e+1),n+=(r&Ft)<<7,r<rt)||(r=t.get(e+2),n+=(r&Ft)<<14,r<rt)||(r=t.get(e+3),n+=(r&Ft)<<21,r<rt)||(r=t.get(e+4),n+=(r&Ft)*us,r<rt)||(r=t.get(e+5),n+=(r&Ft)*cs,r<rt)||(r=t.get(e+6),n+=(r&Ft)*fs,r<rt)||(r=t.get(e+7),n+=(r&Ft)*hs,r<rt))return n;throw new RangeError("Could not decode varint")}function ma(t,e,r=0){return e==null&&(e=Mt(tr(t))),e instanceof Uint8Array?$f(t,e,r):Zf(t,e,r)}function xa(t,e=0){return t instanceof Uint8Array?Qf(t,e):Xf(t,e)}function Vt(t,e){if(globalThis.Buffer!=null)return Oe(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Mt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Oe(r)}var wa=Symbol.for("@achingbrain/uint8arraylist");function va(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 Kn(t){return!!t?.[wa]}var Me=class t{bufs;length;[wa]=!0;constructor(...e){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(Kn(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(Kn(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=va(this.bufs,e);return r.buf[r.index]}set(e,r){let n=va(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(Kn(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 Vt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Vt(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;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,u=a+o.byteLength;if(i=u,e>=u)continue;let c=e>=a&&e<u,f=r>a&&r<=u;if(c&&f){if(e===a&&r===u){n.push(o);break}let h=e-a;n.push(o.subarray(h,h+(r-e)));break}if(c){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(f){if(r===u){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(!Kn(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 h=0;h<s;h++)o[h]=-1;for(let h=0;h<i;h++)o[n[h]]=h;let a=o,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let h=r;h<=u;h+=f){f=0;for(let l=c;l>=0;l--){let g=this.get(h+l);if(n[l]!==g){f=Math.max(1,l-a[g]);break}}if(f===0)return h}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=Be(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=Be(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=Be(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=Be(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=Be(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=Be(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=Be(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=Be(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Kt(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function On(t){return t[Symbol.asyncIterator]!=null}var Mn=t=>{let e=tr(t),r=Mt(e);return ma(t,r),Mn.bytes=e,r};Mn.bytes=0;function Fn(t,e){e=e??{};let r=e.lengthEncoder??Mn;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return On(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Fn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Mn;return new Me(r(t.byteLength),t)};var Nr=It(Ba(),1);var jf=8,th=1024*1024*4,er;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(er||(er={}));var ls=t=>{let e=xa(t);return ls.bytes=tr(e),e};ls.bytes=0;function cn(t,e){let r=new Me,n=er.LENGTH,i=-1,s=e?.lengthDecoder??ls,o=e?.maxLengthLength??jf,a=e?.maxDataLength??th;function*u(){for(;r.byteLength>0;){if(n===er.LENGTH)try{if(i=s(r),i<0)throw(0,Nr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Nr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=s.bytes;r.consume(c),e?.onLength!=null&&e.onLength(i),n=er.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>o)throw(0,Nr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===er.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(c),yield c,n=er.LENGTH}}}return On(t)?async function*(){for await(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw(0,Nr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw(0,Nr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}cn.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 cn(n,{...e??{},onLength:s=>{r=s}})};var Vn=class extends mr{id;protocol;outboundStream;inboundStream;_rawOutboundStream;_rawInboundStream;_inboundAbortController;closed;log;constructor(e,r){super(),this.log=e.logger.forComponent("libp2p-pubsub:peer-streams"),this.id=r.id,this.protocol=r.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return!!this.inboundStream}get isWritable(){return!!this.outboundStream}write(e){if(this.outboundStream==null){let r=this.id.toString();throw new Error("No writable connection to "+r)}this.outboundStream.push(e instanceof Uint8Array?new Me(e):e)}attachInboundStream(e){let r=()=>{ga(e.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",r,{once:!0}),this._rawInboundStream=e,this.inboundStream=nn(this._rawInboundStream,n=>cn(n)),this.dispatchEvent(new he("stream:inbound")),this.inboundStream}async attachOutboundStream(e){let r=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=e,this.outboundStream=Lr({onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.closeWrite().catch(i=>{this.log("error closing outbound stream",i)}),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new he("close"))}}),nn(this.outboundStream,n=>Fn(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),r==null&&this.dispatchEvent(new he("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new he("close")))}};var dx=It(Yn(),1),fh=It(st(),1);function Fa(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Ma=Fa("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Bs=Fa("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}),ch={utf8:Ma,"utf-8":Ma,hex:Br.base16,latin1:Bs,ascii:Bs,binary:Bs,...Br},Wn=ch;function gt(t,e="utf8"){let r=Wn[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Oe(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Bt(t,e="utf8"){let r=Wn[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 wt={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/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Va={SHA1:20,SHA256:32,SHA512:64};var ph={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},dh=async(t,e)=>{let r=await wt.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function qa(t,e){let r=ph[t],n=await wt.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return dh(n,i)},length:Va[t]}}var _n={};St(_n,{generateEphemeralKeyPair:()=>_u,generateKeyPair:()=>Sy,generateKeyPairFromSeed:()=>By,importKey:()=>Ty,keyStretcher:()=>Nu,keysPBM:()=>Gr,marshalPrivateKey:()=>Cy,marshalPublicKey:()=>Iy,supportedKeys:()=>we,unmarshalPrivateKey:()=>ac,unmarshalPublicKey:()=>Ay});var Hv=It(pn(),1),zv=It(z0(),1);var Ri=It(st(),1);var po={};St(po,{Ed25519PrivateKey:()=>lr,Ed25519PublicKey:()=>En,generateKeyPair:()=>Wd,generateKeyPairFromSeed:()=>lo,unmarshalEd25519PrivateKey:()=>Gd,unmarshalEd25519PublicKey:()=>Yd});var zx=It(vt(),1),Gx=It(ii(),1),G0=It(st(),1);function ne(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=Vt([new Uint8Array(e-r.length),r])}return Bt(r,"base64url")}function Zt(t){let e=ui(t);return new G0.default.jsbn.BigInteger(Bt(e,"base16"),16)}function ui(t,e){let r=gt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Vt([new Uint8Array(e-r.length),r])}return r}function jt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function Y0(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Np(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Us(t,...e){if(!Np(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function W0(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Y0(t.outputLen),Y0(t.blockLen)}function Kr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function $0(t,e){Us(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var ci=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Z0(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var fi=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ie=(t,e)=>t<<32-e|t>>>e,Dp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Dp)throw new Error("Non little-endian hardware is not supported");function Ks(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function gn(t){if(typeof t=="string"&&(t=Ks(t)),!Z0(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function hi(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!Z0(i))throw new Error("Uint8Array expected");e+=i.length}let 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 Or=class{clone(){return this._cloneInto()}},jx={}.toString;function li(t){let e=n=>t().update(gn(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Mr(t=32){if(ci&&typeof ci.getRandomValues=="function")return ci.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function Pp(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),u=n?4:0,c=n?0:4;t.setUint32(e+u,o,n),t.setUint32(e+c,a,n)}var Fr=class extends Or{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=fi(this.buffer)}update(e){Kr(this);let{view:r,buffer:n,blockLen:i}=this;e=gn(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let u=fi(e);for(;i<=s-o;o+=i)this.process(u,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Kr(this),$0(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let h=o;h<i;h++)r[h]=0;Pp(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=fi(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=u/4,f=this.get();if(c>f.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<c;h++)a.setUint32(4*h,f[h],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var pi=BigInt(4294967295),Os=BigInt(32);function Q0(t,e=!1){return e?{h:Number(t&pi),l:Number(t>>Os&pi)}:{h:Number(t>>Os&pi)|0,l:Number(t&pi)|0}}function kp(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=Q0(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var Up=(t,e)=>BigInt(t>>>0)<<Os|BigInt(e>>>0),Kp=(t,e,r)=>t>>>r,Op=(t,e,r)=>t<<32-r|e>>>r,Mp=(t,e,r)=>t>>>r|e<<32-r,Fp=(t,e,r)=>t<<32-r|e>>>r,Vp=(t,e,r)=>t<<64-r|e>>>r-32,qp=(t,e,r)=>t>>>r-32|e<<64-r,Hp=(t,e)=>e,zp=(t,e)=>t,Gp=(t,e,r)=>t<<r|e>>>32-r,Yp=(t,e,r)=>e<<r|t>>>32-r,Wp=(t,e,r)=>e<<r-32|t>>>64-r,$p=(t,e,r)=>t<<r-32|e>>>64-r;function Zp(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var Qp=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Xp=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Jp=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),jp=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,td=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),ed=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var rd={fromBig:Q0,split:kp,toBig:Up,shrSH:Kp,shrSL:Op,rotrSH:Mp,rotrSL:Fp,rotrBH:Vp,rotrBL:qp,rotr32H:Hp,rotr32L:zp,rotlSH:Gp,rotlSL:Yp,rotlBH:Wp,rotlBL:$p,add:Zp,add3L:Qp,add3H:Xp,add4L:Jp,add4H:jp,add5H:ed,add5L:td},W=rd;var[nd,id]=W.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),ze=new Uint32Array(80),Ge=new Uint32Array(80),Ms=class extends Fr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:u,Eh:c,El:f,Fh:h,Fl:l,Gh:g,Gl:p,Hh:d,Hl:y}=this;return[e,r,n,i,s,o,a,u,c,f,h,l,g,p,d,y]}set(e,r,n,i,s,o,a,u,c,f,h,l,g,p,d,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=u|0,this.Eh=c|0,this.El=f|0,this.Fh=h|0,this.Fl=l|0,this.Gh=g|0,this.Gl=p|0,this.Hh=d|0,this.Hl=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)ze[b]=e.getUint32(r),Ge[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let _=ze[b-15]|0,E=Ge[b-15]|0,S=W.rotrSH(_,E,1)^W.rotrSH(_,E,8)^W.shrSH(_,E,7),L=W.rotrSL(_,E,1)^W.rotrSL(_,E,8)^W.shrSL(_,E,7),N=ze[b-2]|0,z=Ge[b-2]|0,H=W.rotrSH(N,z,19)^W.rotrBH(N,z,61)^W.shrSH(N,z,6),V=W.rotrSL(N,z,19)^W.rotrBL(N,z,61)^W.shrSL(N,z,6),Q=W.add4L(L,V,Ge[b-7],Ge[b-16]),ot=W.add4H(Q,S,H,ze[b-7],ze[b-16]);ze[b]=ot|0,Ge[b]=Q|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:c,Dl:f,Eh:h,El:l,Fh:g,Fl:p,Gh:d,Gl:y,Hh:m,Hl:w}=this;for(let b=0;b<80;b++){let _=W.rotrSH(h,l,14)^W.rotrSH(h,l,18)^W.rotrBH(h,l,41),E=W.rotrSL(h,l,14)^W.rotrSL(h,l,18)^W.rotrBL(h,l,41),S=h&g^~h&d,L=l&p^~l&y,N=W.add5L(w,E,L,id[b],Ge[b]),z=W.add5H(N,m,_,S,nd[b],ze[b]),H=N|0,V=W.rotrSH(n,i,28)^W.rotrBH(n,i,34)^W.rotrBH(n,i,39),Q=W.rotrSL(n,i,28)^W.rotrBL(n,i,34)^W.rotrBL(n,i,39),ot=n&s^n&a^s&a,Dt=i&o^i&u^o&u;m=d|0,w=y|0,d=g|0,y=p|0,g=h|0,p=l|0,{h,l}=W.add(c|0,f|0,z|0,H|0),c=a|0,f=u|0,a=s|0,u=o|0,s=n|0,o=i|0;let C=W.add3L(H,Q,Dt);n=W.add3H(C,z,V,ot),i=C|0}({h:n,l:i}=W.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=W.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=W.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:c,l:f}=W.add(this.Dh|0,this.Dl|0,c|0,f|0),{h,l}=W.add(this.Eh|0,this.El|0,h|0,l|0),{h:g,l:p}=W.add(this.Fh|0,this.Fl|0,g|0,p|0),{h:d,l:y}=W.add(this.Gh|0,this.Gl|0,d|0,y|0),{h:m,l:w}=W.add(this.Hh|0,this.Hl|0,m|0,w|0),this.set(n,i,s,o,a,u,c,f,h,l,g,p,d,y,m,w)}roundClean(){ze.fill(0),Ge.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Fs=li(()=>new Ms);var yi={};St(yi,{bitGet:()=>hd,bitLen:()=>fd,bitMask:()=>mn,bitSet:()=>ld,bytesToHex:()=>_e,bytesToNumberBE:()=>Re,bytesToNumberLE:()=>Ye,concatBytes:()=>Le,createHmacDrbg:()=>Hs,ensureBytes:()=>bt,equalBytes:()=>ud,hexToBytes:()=>ar,hexToNumber:()=>qs,isBytes:()=>se,numberToBytesBE:()=>We,numberToBytesLE:()=>ur,numberToHexUnpadded:()=>tu,numberToVarBytesBE:()=>ad,utf8ToBytes:()=>cd,validateObject:()=>ve});var j0=BigInt(0),di=BigInt(1),sd=BigInt(2);function se(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var od=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function _e(t){if(!se(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=od[t[r]];return e}function tu(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function qs(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var Te={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function X0(t){if(t>=Te._0&&t<=Te._9)return t-Te._0;if(t>=Te._A&&t<=Te._F)return t-(Te._A-10);if(t>=Te._a&&t<=Te._f)return t-(Te._a-10)}function ar(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,s=0;i<r;i++,s+=2){let o=X0(t.charCodeAt(s)),a=X0(t.charCodeAt(s+1));if(o===void 0||a===void 0){let u=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+u+'" at index '+s)}n[i]=o*16+a}return n}function Re(t){return qs(_e(t))}function Ye(t){if(!se(t))throw new Error("Uint8Array expected");return qs(_e(Uint8Array.from(t).reverse()))}function We(t,e){return ar(t.toString(16).padStart(e*2,"0"))}function ur(t,e){return We(t,e).reverse()}function ad(t){return ar(tu(t))}function bt(t,e,r){let n;if(typeof e=="string")try{n=ar(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(se(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function Le(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!se(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function ud(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function cd(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function fd(t){let e;for(e=0;t>j0;t>>=di,e+=1);return e}function hd(t,e){return t>>BigInt(e)&di}var ld=(t,e,r)=>t|(r?di:j0)<<BigInt(e),mn=t=>(sd<<BigInt(t-1))-di,Vs=t=>new Uint8Array(t),J0=t=>Uint8Array.from(t);function Hs(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Vs(t),i=Vs(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...h)=>r(i,n,...h),u=(h=Vs())=>{i=a(J0([0]),h),n=a(),h.length!==0&&(i=a(J0([1]),h),n=a())},c=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,l=[];for(;h<e;){n=a();let g=n.slice();l.push(g),h+=n.length}return Le(...l)};return(h,l)=>{o(),u(h);let g;for(;!(g=l(c()));)u();return o(),g}}var pd={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||se(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function ve(t,e,r={}){let n=(i,s,o)=>{let a=pd[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let u=t[i];if(!(o&&u===void 0)&&!a(u,t))throw new Error(`Invalid param ${String(i)}=${u} (${typeof u}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var _t=BigInt(0),dt=BigInt(1),cr=BigInt(2),dd=BigInt(3),zs=BigInt(4),eu=BigInt(5),ru=BigInt(8),yd=BigInt(9),gd=BigInt(16);function at(t,e){let r=t%e;return r>=_t?r:e+r}function md(t,e,r){if(r<=_t||e<_t)throw new Error("Expected power/modulo > 0");if(r===dt)return _t;let n=dt;for(;e>_t;)e&dt&&(n=n*t%r),t=t*t%r,e>>=dt;return n}function yt(t,e,r){let n=t;for(;e-- >_t;)n*=n,n%=r;return n}function gi(t,e){if(t===_t||e<=_t)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=at(t,e),n=e,i=_t,s=dt,o=dt,a=_t;for(;r!==_t;){let c=n/r,f=n%r,h=i-o*c,l=s-a*c;n=r,r=f,i=o,s=a,o=h,a=l}if(n!==dt)throw new Error("invert: does not exist");return at(i,e)}function xd(t){let e=(t-dt)/cr,r,n,i;for(r=t-dt,n=0;r%cr===_t;r/=cr,n++);for(i=cr;i<t&&md(i,e,t)!==t-dt;i++);if(n===1){let o=(t+dt)/zs;return function(u,c){let f=u.pow(c,o);if(!u.eql(u.sqr(f),c))throw new Error("Cannot find square root");return f}}let s=(r+dt)/cr;return function(a,u){if(a.pow(u,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let c=n,f=a.pow(a.mul(a.ONE,i),r),h=a.pow(u,s),l=a.pow(u,r);for(;!a.eql(l,a.ONE);){if(a.eql(l,a.ZERO))return a.ZERO;let g=1;for(let d=a.sqr(l);g<c&&!a.eql(d,a.ONE);g++)d=a.sqr(d);let p=a.pow(f,dt<<BigInt(c-g-1));f=a.sqr(p),h=a.mul(h,p),l=a.mul(l,f),c=g}return h}}function bd(t){if(t%zs===dd){let e=(t+dt)/zs;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%ru===eu){let e=(t-eu)/ru;return function(n,i){let s=n.mul(i,cr),o=n.pow(s,e),a=n.mul(i,o),u=n.mul(n.mul(a,cr),o),c=n.mul(a,n.sub(u,n.ONE));if(!n.eql(n.sqr(c),i))throw new Error("Cannot find square root");return c}}return t%gd,xd(t)}var nu=(t,e)=>(at(t,e)&dt)===dt,vd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Gs(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=vd.reduce((n,i)=>(n[i]="function",n),e);return ve(t,r)}function wd(t,e,r){if(r<_t)throw new Error("Expected power > 0");if(r===_t)return t.ONE;if(r===dt)return e;let n=t.ONE,i=e;for(;r>_t;)r&dt&&(n=t.mul(n,i)),i=t.sqr(i),r>>=dt;return n}function Ed(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function Ys(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function mi(t,e,r=!1,n={}){if(t<=_t)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=Ys(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=bd(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:mn(i),ZERO:_t,ONE:dt,create:u=>at(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return _t<=u&&u<t},is0:u=>u===_t,isOdd:u=>(u&dt)===dt,neg:u=>at(-u,t),eql:(u,c)=>u===c,sqr:u=>at(u*u,t),add:(u,c)=>at(u+c,t),sub:(u,c)=>at(u-c,t),mul:(u,c)=>at(u*c,t),pow:(u,c)=>wd(a,u,c),div:(u,c)=>at(u*gi(c,t),t),sqrN:u=>u*u,addN:(u,c)=>u+c,subN:(u,c)=>u-c,mulN:(u,c)=>u*c,inv:u=>gi(u,t),sqrt:n.sqrt||(u=>o(a,u)),invertBatch:u=>Ed(a,u),cmov:(u,c,f)=>f?c:u,toBytes:u=>r?ur(u,s):We(u,s),fromBytes:u=>{if(u.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${u.length}`);return r?Ye(u):Re(u)}});return Object.freeze(a)}function iu(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function su(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Ws(t){let e=su(t);return e+Math.ceil(e/2)}function ou(t,e,r=!1){let n=t.length,i=su(e),s=Ws(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?Re(t):Ye(t),a=at(o,e-dt)+dt;return r?ur(a,i):We(a,i)}var Bd=BigInt(0),$s=BigInt(1);function xi(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>Bd;)s&$s&&(o=o.add(a)),a=a.double(),s>>=$s;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),u=[],c=i,f=c;for(let h=0;h<o;h++){f=c,u.push(f);for(let l=1;l<a;l++)f=f.add(c),u.push(f);c=f.double()}return u},wNAF(i,s,o){let{windows:a,windowSize:u}=n(i),c=t.ZERO,f=t.BASE,h=BigInt(2**i-1),l=2**i,g=BigInt(i);for(let p=0;p<a;p++){let d=p*u,y=Number(o&h);o>>=g,y>u&&(y-=l,o+=$s);let m=d,w=d+Math.abs(y)-1,b=p%2!==0,_=y<0;y===0?f=f.add(r(b,s[m])):c=c.add(r(_,s[w]))}return{p:c,f}},wNAFCached(i,s,o,a){let u=i._WINDOW_SIZE||1,c=s.get(i);return c||(c=this.precomputeWindow(i,u),u!==1&&s.set(i,a(c))),this.wNAF(u,c,o)}}}function xn(t){return Gs(t.Fp),ve(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ys(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var oe=BigInt(0),Qt=BigInt(1),bi=BigInt(2),Ad=BigInt(8),Id={zip215:!0};function Cd(t){let e=xn(t);return ve(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function vi(t){let e=Cd(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:u}=e,c=bi<<BigInt(a*8)-Qt,f=r.create,h=e.uvRatio||((D,A)=>{try{return{isValid:!0,value:r.sqrt(D*r.inv(A))}}catch{return{isValid:!1,value:oe}}}),l=e.adjustScalarBytes||(D=>D),g=e.domain||((D,A,K)=>{if(A.length||K)throw new Error("Contexts/pre-hash are not supported");return D}),p=D=>typeof D=="bigint"&&oe<D,d=(D,A)=>p(D)&&p(A)&&D<A,y=D=>D===oe||d(D,c);function m(D,A){if(d(D,A))return D;throw new Error(`Expected valid scalar < ${A}, got ${typeof D} ${D}`)}function w(D){return D===oe?D:m(D,n)}let b=new Map;function _(D){if(!(D instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(A,K,M,q){if(this.ex=A,this.ey=K,this.ez=M,this.et=q,!y(A))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(M))throw new Error("z required");if(!y(q))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(A){if(A instanceof E)throw new Error("extended point not allowed");let{x:K,y:M}=A||{};if(!y(K)||!y(M))throw new Error("invalid affine point");return new E(K,M,Qt,f(K*M))}static normalizeZ(A){let K=r.invertBatch(A.map(M=>M.ez));return A.map((M,q)=>M.toAffine(K[q])).map(E.fromAffine)}_setWindowSize(A){this._WINDOW_SIZE=A,b.delete(this)}assertValidity(){let{a:A,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:q,ez:$,et:X}=this,it=f(M*M),J=f(q*q),et=f($*$),Et=f(et*et),mt=f(it*A),Pt=f(et*f(mt+J)),kt=f(Et+f(K*f(it*J)));if(Pt!==kt)throw new Error("bad point: equation left != right (1)");let At=f(M*q),Ut=f($*X);if(At!==Ut)throw new Error("bad point: equation left != right (2)")}equals(A){_(A);let{ex:K,ey:M,ez:q}=this,{ex:$,ey:X,ez:it}=A,J=f(K*it),et=f($*q),Et=f(M*it),mt=f(X*q);return J===et&&Et===mt}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:A}=e,{ex:K,ey:M,ez:q}=this,$=f(K*K),X=f(M*M),it=f(bi*f(q*q)),J=f(A*$),et=K+M,Et=f(f(et*et)-$-X),mt=J+X,Pt=mt-it,kt=J-X,At=f(Et*Pt),Ut=f(mt*kt),Ee=f(Et*kt),Xe=f(Pt*mt);return new E(At,Ut,Xe,Ee)}add(A){_(A);let{a:K,d:M}=e,{ex:q,ey:$,ez:X,et:it}=this,{ex:J,ey:et,ez:Et,et:mt}=A;if(K===BigInt(-1)){let Lo=f(($-q)*(et+J)),No=f(($+q)*(et-J)),Li=f(No-Lo);if(Li===oe)return this.double();let Do=f(X*bi*mt),Po=f(it*bi*Et),ko=Po+Do,Uo=No+Lo,Ko=Po-Do,vc=f(ko*Li),wc=f(Uo*Ko),Ec=f(ko*Ko),Sc=f(Li*Uo);return new E(vc,wc,Sc,Ec)}let Pt=f(q*J),kt=f($*et),At=f(it*M*mt),Ut=f(X*Et),Ee=f((q+$)*(J+et)-Pt-kt),Xe=Ut-At,$r=Ut+At,Ro=f(kt-K*Pt),gc=f(Ee*Xe),mc=f($r*Ro),xc=f(Ee*Ro),bc=f(Xe*$r);return new E(gc,mc,bc,xc)}subtract(A){return this.add(A.negate())}wNAF(A){return N.wNAFCached(this,b,A,E.normalizeZ)}multiply(A){let{p:K,f:M}=this.wNAF(m(A,n));return E.normalizeZ([K,M])[0]}multiplyUnsafe(A){let K=w(A);return K===oe?L:this.equals(L)||K===Qt?this:this.equals(S)?this.wNAF(K).p:N.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(u).is0()}isTorsionFree(){return N.unsafeLadder(this,n).is0()}toAffine(A){let{ex:K,ey:M,ez:q}=this,$=this.is0();A==null&&(A=$?Ad:r.inv(q));let X=f(K*A),it=f(M*A),J=f(q*A);if($)return{x:oe,y:Qt};if(J!==Qt)throw new Error("invZ was invalid");return{x:X,y:it}}clearCofactor(){let{h:A}=e;return A===Qt?this:this.multiplyUnsafe(A)}static fromHex(A,K=!1){let{d:M,a:q}=e,$=r.BYTES;A=bt("pointHex",A,$);let X=A.slice(),it=A[$-1];X[$-1]=it&-129;let J=Ye(X);J===oe||(K?m(J,c):m(J,r.ORDER));let et=f(J*J),Et=f(et-Qt),mt=f(M*et-q),{isValid:Pt,value:kt}=h(Et,mt);if(!Pt)throw new Error("Point.fromHex: invalid y coordinate");let At=(kt&Qt)===Qt,Ut=(it&128)!==0;if(!K&&kt===oe&&Ut)throw new Error("Point.fromHex: x=0 and x_0=1");return Ut!==At&&(kt=f(-kt)),E.fromAffine({x:kt,y:J})}static fromPrivateKey(A){return V(A).point}toRawBytes(){let{x:A,y:K}=this.toAffine(),M=ur(K,r.BYTES);return M[M.length-1]|=A&Qt?128:0,M}toHex(){return _e(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,Qt,f(e.Gx*e.Gy)),E.ZERO=new E(oe,Qt,Qt,oe);let{BASE:S,ZERO:L}=E,N=xi(E,a*8);function z(D){return at(D,n)}function H(D){return z(Ye(D))}function V(D){let A=a;D=bt("private key",D,A);let K=bt("hashed private key",s(D),2*A),M=l(K.slice(0,A)),q=K.slice(A,2*A),$=H(M),X=S.multiply($),it=X.toRawBytes();return{head:M,prefix:q,scalar:$,point:X,pointBytes:it}}function Q(D){return V(D).pointBytes}function ot(D=new Uint8Array,...A){let K=Le(...A);return H(s(g(K,bt("context",D),!!i)))}function Dt(D,A,K={}){D=bt("message",D),i&&(D=i(D));let{prefix:M,scalar:q,pointBytes:$}=V(A),X=ot(K.context,M,D),it=S.multiply(X).toRawBytes(),J=ot(K.context,it,$,D),et=z(X+J*q);w(et);let Et=Le(it,ur(et,r.BYTES));return bt("result",Et,a*2)}let C=Id;function P(D,A,K,M=C){let{context:q,zip215:$}=M,X=r.BYTES;D=bt("signature",D,2*X),A=bt("message",A),i&&(A=i(A));let it=Ye(D.slice(X,2*X)),J,et,Et;try{J=E.fromHex(K,$),et=E.fromHex(D.slice(0,X),$),Et=S.multiplyUnsafe(it)}catch{return!1}if(!$&&J.isSmallOrder())return!1;let mt=ot(q,et.toRawBytes(),J.toRawBytes(),A);return et.add(J.multiplyUnsafe(mt)).subtract(Et).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:Q,sign:Dt,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:V,randomPrivateKey:()=>o(r.BYTES),precompute(D=8,A=E.BASE){return A._setWindowSize(D),A.multiply(BigInt(3)),A}}}}var Qs=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),au=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),w2=BigInt(0),Td=BigInt(1),Zs=BigInt(2),_d=BigInt(5),uu=BigInt(10),Rd=BigInt(20),Ld=BigInt(40),cu=BigInt(80);function Nd(t){let e=Qs,n=t*t%e*t%e,i=yt(n,Zs,e)*n%e,s=yt(i,Td,e)*t%e,o=yt(s,_d,e)*s%e,a=yt(o,uu,e)*o%e,u=yt(a,Rd,e)*a%e,c=yt(u,Ld,e)*u%e,f=yt(c,cu,e)*c%e,h=yt(f,cu,e)*c%e,l=yt(h,uu,e)*o%e;return{pow_p_5_8:yt(l,Zs,e)*t%e,b2:n}}function Dd(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Pd(t,e){let r=Qs,n=at(e*e*e,r),i=at(n*n*e,r),s=Nd(t*i).pow_p_5_8,o=at(t*n*s,r),a=at(e*o*o,r),u=o,c=at(o*au,r),f=a===t,h=a===at(-t,r),l=a===at(-t*au,r);return f&&(o=u),(h||l)&&(o=c),nu(o,r)&&(o=at(-o,r)),{isValid:f||h,value:o}}var Ne=mi(Qs,void 0,!0),Xs={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ne,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Fs,randomBytes:Mr,adjustScalarBytes:Dd,uvRatio:Pd},Vr=vi(Xs);function fu(t,e,r){if(e.length>255)throw new Error("Context is too big");return hi(Ks("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var E2=vi({...Xs,domain:fu}),S2=vi({...Xs,domain:fu,prehash:Fs});var kd=(Ne.ORDER+BigInt(3))/BigInt(8),B2=Ne.pow(Zs,kd),A2=Ne.sqrt(Ne.neg(Ne.ONE)),I2=(Ne.ORDER-BigInt(5))/BigInt(8),C2=BigInt(486662);var T2=iu(Ne,Ne.neg(BigInt(486664)));var _2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),R2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),L2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),N2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var D2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var qr=32,De=64,wi=32;function hu(){let t=Vr.utils.randomPrivateKey(),e=Vr.getPublicKey(t);return{privateKey:yu(t,e),publicKey:e}}function lu(t){if(t.length!==wi)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=Vr.getPublicKey(e);return{privateKey:yu(e,r),publicKey:r}}function pu(t,e){let r=t.subarray(0,wi);return Vr.sign(e instanceof Uint8Array?e:e.subarray(),r)}function du(t,e,r){return Vr.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function yu(t,e){let r=new Uint8Array(De);for(let n=0;n<wi;n++)r[n]=t[n],r[wi+n]=e[n];return r}var Js={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ei(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=wt.get();r*=8;async function u(h,l){let g=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),d={name:e,iv:p};typeof l=="string"&&(l=gt(l));let y;if(l.length===0){y=await a.subtle.importKey("jwk",Js,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Js,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(d,y,h);return Vt([g,d.iv,new Uint8Array(m)])}async function c(h,l){let g=h.subarray(0,s),p=h.subarray(s,s+n),d=h.subarray(s+n),y={name:e,iv:p};typeof l=="string"&&(l=gt(l));let m;if(l.length===0)try{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,_,{name:e,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",Js,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,_,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,m,d);return new Uint8Array(w)}return{encrypt:u,decrypt:c}}async function Hr(t,e){let n=await Ei().encrypt(t,e);return Qr.encode(n)}var Gr={};St(Gr,{KeyType:()=>ht,PrivateKey:()=>ce,PublicKey:()=>ue});var js=new Float32Array([-0]),$e=new Uint8Array(js.buffer);function mu(t,e,r){js[0]=t,e[r]=$e[0],e[r+1]=$e[1],e[r+2]=$e[2],e[r+3]=$e[3]}function xu(t,e){return $e[0]=t[e],$e[1]=t[e+1],$e[2]=t[e+2],$e[3]=t[e+3],js[0]}var to=new Float64Array([-0]),qt=new Uint8Array(to.buffer);function bu(t,e,r){to[0]=t,e[r]=qt[0],e[r+1]=qt[1],e[r+2]=qt[2],e[r+3]=qt[3],e[r+4]=qt[4],e[r+5]=qt[5],e[r+6]=qt[6],e[r+7]=qt[7]}function vu(t,e){return qt[0]=t[e],qt[1]=t[e+1],qt[2]=t[e+2],qt[3]=t[e+3],qt[4]=t[e+4],qt[5]=t[e+5],qt[6]=t[e+6],qt[7]=t[e+7],to[0]}var Kd=BigInt(Number.MAX_SAFE_INTEGER),Od=BigInt(Number.MIN_SAFE_INTEGER),$t=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)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)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let 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}static fromBigInt(e){if(e===0n)return fr;if(e<Kd&&e>Od)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>wu&&(i=0n,++n>wu&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return fr;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 t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):fr}},fr=new $t(0,0);fr.toBigInt=function(){return 0n};fr.zzEncode=fr.zzDecode=function(){return this};fr.length=function(){return 1};var wu=4294967296n;function Eu(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Su(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function eo(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function ae(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Si(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var ro=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;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,ae(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ae(this,4);return Si(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ae(this,4);return Si(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ae(this,4);let e=xu(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw ae(this,4);let e=vu(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw ae(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Su(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw ae(this,e);this.pos+=e}else do if(this.pos>=this.len)throw ae(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new $t(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw ae(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw ae(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ae(this,8);let e=Si(this.buf,this.pos+=4),r=Si(this.buf,this.pos+=4);return new $t(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function no(t){return new ro(t instanceof Uint8Array?t:t.subarray())}function Bi(t,e){let r=no(t);return e.decode(r)}function io(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Mt(o);i+o>e&&(n=Mt(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var hr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function so(){}var ao=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Md=io();function Fd(t){return globalThis.Buffer!=null?Mt(t):Md(t)}var wn=class{len;head;tail;states;constructor(){this.len=0,this.head=new hr(so,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new hr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new uo((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(bn,10,$t.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=$t.fromBigInt(e);return this._push(bn,r.length(),r)}uint64Number(e){let r=$t.fromNumber(e);return this._push(bn,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=$t.fromBigInt(e).zzEncode();return this._push(bn,r.length(),r)}sint64Number(e){let r=$t.fromNumber(e).zzEncode();return this._push(bn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(oo,1,e?1:0)}fixed32(e){return this._push(vn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=$t.fromBigInt(e);return this._push(vn,4,r.lo)._push(vn,4,r.hi)}fixed64Number(e){let r=$t.fromNumber(e);return this._push(vn,4,r.lo)._push(vn,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(mu,4,e)}double(e){return this._push(bu,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(oo,1,0):this.uint32(r)._push(qd,r,e)}string(e){let r=Eu(e);return r!==0?this.uint32(r)._push(eo,r,e):this._push(oo,1,0)}fork(){return this.states=new ao(this),this.head=this.tail=new hr(so,0,0),this.len=0,this}reset(){return this.states!=null?(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 hr(so,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Fd(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function oo(t,e,r){e[r]=t&255}function Vd(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var uo=class extends hr{next;constructor(e,r){super(Vd,e,r),this.next=void 0}};function bn(t,e,r){for(;t.hi!==0;)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}function vn(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 qd(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(wn.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Hd,e,t),this},wn.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(zd,e,t),this});function Hd(t,e,r){e.set(t,r)}function zd(t,e,r){t.length<40?eo(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(gt(t),r)}function co(){return new wn}function Ai(t,e){let r=co();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var zr;(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"})(zr||(zr={}));function Ii(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function fo(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 Ii("enum",zr.VARINT,r,n)}function Ci(t,e){return Ii("message",zr.LENGTH_DELIMITED,t,e)}var ht;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(ht||(ht={}));var ho;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(ho||(ho={}));(function(t){t.codec=()=>fo(ho)})(ht||(ht={}));var ue;(function(t){let e;t.codec=()=>(e==null&&(e=Ci((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ht.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=ht.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ai(r,t.codec()),t.decode=r=>Bi(r,t.codec())})(ue||(ue={}));var ce;(function(t){let e;t.codec=()=>(e==null&&(e=Ci((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ht.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=ht.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ai(r,t.codec()),t.decode=r=>Bi(r,t.codec())})(ce||(ce={}));var En=class{_key;constructor(e){this._key=Yr(e,qr)}verify(e,r){return du(this._key,r,e)}marshal(){return this._key}get bytes(){return ue.encode({Type:ht.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return jt(e)?e.then(({bytes:r})=>r):e.bytes}},lr=class{_key;_publicKey;constructor(e,r){this._key=Yr(e,De),this._publicKey=Yr(r,qr)}sign(e){return pu(this._key,e)}get public(){return new En(this._publicKey)}marshal(){return this._key}get bytes(){return ce.encode({Type:ht.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}async hash(){let e=Ct.digest(this.bytes),r;return jt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Ke.digest(this.public.bytes);return Ht.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Hr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Gd(t){if(t.length>De){t=Yr(t,De+qr);let n=t.subarray(0,De),i=t.subarray(De,t.length);return new lr(n,i)}t=Yr(t,De);let e=t.subarray(0,De),r=t.subarray(qr);return new lr(e,r)}function Yd(t){return t=Yr(t,qr),new En(t)}async function Wd(){let{privateKey:t,publicKey:e}=hu();return new lr(t,e)}async function lo(t){let{privateKey:e,publicKey:r}=lu(t);return new lr(e,r)}function Yr(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new O(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var Au={"P-256":256,"P-384":384,"P-521":521},$d=Object.keys(Au),yo=$d.join(" / ");async function Iu(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${yo}`,"ERR_INVALID_CURVE");let e=await wt.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(s,o)=>{let a;o!=null?a=await wt.get().subtle.importKey("jwk",Qd(t,o),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let u=await wt.get().subtle.importKey("jwk",Tu(t,s),{name:"ECDH",namedCurve:t},!1,[]),c=await wt.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:u},a,Au[t]);return new Uint8Array(c,0,c.byteLength)},n=await wt.get().subtle.exportKey("jwk",e.publicKey);return{key:Zd(n),genSharedKey:r}}var Cu={"P-256":32,"P-384":48,"P-521":66};function Zd(t){if(t.crv==null||t.x==null||t.y==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");if(t.crv!=="P-256"&&t.crv!=="P-384"&&t.crv!=="P-521")throw new O(`Unknown curve: ${t.crv}. Must be ${yo}`,"ERR_INVALID_CURVE");let e=Cu[t.crv];return Vt([Uint8Array.from([4]),ui(t.x,e),ui(t.y,e)],1+e*2)}function Tu(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${yo}`,"ERR_INVALID_CURVE");let r=Cu[t];if(!Kt(e.subarray(0,1),Uint8Array.from([4])))throw new O("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:Bt(e.subarray(1,r+1),"base64url"),y:Bt(e.subarray(1+r),"base64url"),ext:!0}}var Qd=(t,e)=>({...Tu(t,e.public),d:Bt(e.private,"base64url")});var _u=Iu;async function Ru(t,e){let r=Qr.decode(t);return Ei().decrypt(r,e)}var Lu={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Nu(t,e,r){let n=Lu[t];if(n==null){let w=Object.keys(Lu).join(" / ");throw new O(`unknown cipher type '${t}'. Must be ${w}`,"ERR_INVALID_CIPHER_TYPE")}if(e==null)throw new O("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=gt("key expansion"),u=2*(s+i+o),c=await qa(e,r),f=await c.digest(a),h=[],l=0;for(;l<u;){let w=await c.digest(Vt([f,a])),b=w.length;l+b>u&&(b=u-l),h.push(w),l+=b,f=await c.digest(f)}let g=u/2,p=Vt(h),d=p.subarray(0,g),y=p.subarray(g,u),m=w=>({iv:w.subarray(0,s),cipherKey:w.subarray(s,s+i),macKey:w.subarray(s+i)});return{k1:m(d),k2:m(y)}}var vo={};St(vo,{MAX_KEY_SIZE:()=>In,RsaPrivateKey:()=>Wr,RsaPublicKey:()=>An,fromJwk:()=>oy,generateKeyPair:()=>ay,unmarshalRsaPrivateKey:()=>iy,unmarshalRsaPublicKey:()=>sy});var Bn=It(st(),1);var av=It(Ku(),1);function dr(t){if(isNaN(t)||t<=0)throw new O("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Mr(t)}var Hb=It(ai(),1),xo=It(st(),1);function Ou(t,e){return e.map(r=>Zt(t[r]))}function Mu(t){return xo.default.pki.setRsaPrivateKey(...Ou(t,["n","e","d","p","q","dp","dq","qi"]))}function Fu(t){return xo.default.pki.setRsaPublicKey(...Ou(t,["n","e"]))}var yr={};St(yr,{jwkToPkcs1:()=>jd,jwkToPkix:()=>ey,pkcs1ToJwk:()=>Jd,pkixToJwk:()=>ty});var Yb=It(pn(),1),Wb=It(ai(),1);var Pe=It(st(),1);function Jd(t){let e=Pe.default.asn1.fromDer(Bt(t,"ascii")),r=Pe.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:ne(r.n),e:ne(r.e),d:ne(r.d),p:ne(r.p),q:ne(r.q),dp:ne(r.dP),dq:ne(r.dQ),qi:ne(r.qInv),alg:"RS256"}}function jd(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 O("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Pe.default.pki.privateKeyToAsn1({n:Zt(t.n),e:Zt(t.e),d:Zt(t.d),p:Zt(t.p),q:Zt(t.q),dP:Zt(t.dp),dQ:Zt(t.dq),qInv:Zt(t.qi)});return gt(Pe.default.asn1.toDer(e).getBytes(),"ascii")}function ty(t){let e=Pe.default.asn1.fromDer(Bt(t,"ascii")),r=Pe.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:ne(r.n),e:ne(r.e)}}function ey(t){if(t.n==null||t.e==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Pe.default.pki.publicKeyToAsn1({n:Zt(t.n),e:Zt(t.e)});return gt(Pe.default.asn1.toDer(e).getBytes(),"ascii")}async function Vu(t){let e=await wt.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 zu(e);return{privateKey:r[0],publicKey:r[1]}}async function bo(t){let r=[await wt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await ry(t)],n=await zu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function qu(t,e){let r=await wt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await wt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Hu(t,e,r){let n=await wt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return wt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function zu(t){if(t.privateKey==null||t.publicKey==null)throw new O("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([wt.get().subtle.exportKey("jwk",t.privateKey),wt.get().subtle.exportKey("jwk",t.publicKey)])}async function ry(t){return wt.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 Gu(t,e,r,n){let i=e?Fu(t):Mu(t),s=Bt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return gt(o,"ascii")}function Yu(t,e){return Gu(t,!0,e,(r,n)=>n.encrypt(r))}function Wu(t,e){return Gu(t,!1,e,(r,n)=>n.decrypt(r))}function Ti(t){if(t.kty!=="RSA")throw new O("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new O("invalid key modulus","ERR_INVALID_KEY_MODULUS");return gt(t.n,"base64url").length*8}var In=8192,An=class{_key;constructor(e){this._key=e}verify(e,r){return Hu(this._key,r,e)}marshal(){return yr.jwkToPkix(this._key)}get bytes(){return ue.encode({Type:ht.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Yu(this._key,e)}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return jt(e)?e.then(({bytes:r})=>r):e.bytes}},Wr=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return dr(16)}sign(e){return qu(this._key,e)}get public(){if(this._publicKey==null)throw new O("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new An(this._publicKey)}decrypt(e){return Wu(this._key,e)}marshal(){return yr.jwkToPkcs1(this._key)}get bytes(){return ce.encode({Type:ht.RSA,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return jt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Bt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Bn.default.util.ByteBuffer(this.marshal()),i=Bn.default.asn1.fromDer(n),s=Bn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Bn.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Hr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function iy(t){let e=yr.pkcs1ToJwk(t);if(Ti(e)>In)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await bo(e);return new Wr(r.privateKey,r.publicKey)}function sy(t){let e=yr.pkixToJwk(t);if(Ti(e)>In)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new An(e)}async function oy(t){if(Ti(t)>In)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await bo(t);return new Wr(e.privateKey,e.publicKey)}async function ay(t){if(t>In)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Vu(t);return new Wr(e.privateKey,e.publicKey)}var Io={};St(Io,{Secp256k1PrivateKey:()=>Tn,Secp256k1PublicKey:()=>Cn,generateKeyPair:()=>Ey,unmarshalSecp256k1PrivateKey:()=>vy,unmarshalSecp256k1PublicKey:()=>wy});var uy=(t,e,r)=>t&e^~t&r,cy=(t,e,r)=>t&e^t&r^e&r,fy=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ze=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Qe=new Uint32Array(64),wo=class extends Fr{constructor(){super(64,32,8,!1),this.A=Ze[0]|0,this.B=Ze[1]|0,this.C=Ze[2]|0,this.D=Ze[3]|0,this.E=Ze[4]|0,this.F=Ze[5]|0,this.G=Ze[6]|0,this.H=Ze[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[e,r,n,i,s,o,a,u]}set(e,r,n,i,s,o,a,u){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=u|0}process(e,r){for(let h=0;h<16;h++,r+=4)Qe[h]=e.getUint32(r,!1);for(let h=16;h<64;h++){let l=Qe[h-15],g=Qe[h-2],p=ie(l,7)^ie(l,18)^l>>>3,d=ie(g,17)^ie(g,19)^g>>>10;Qe[h]=d+Qe[h-7]+p+Qe[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:c,H:f}=this;for(let h=0;h<64;h++){let l=ie(a,6)^ie(a,11)^ie(a,25),g=f+l+uy(a,u,c)+fy[h]+Qe[h]|0,d=(ie(n,2)^ie(n,13)^ie(n,22))+cy(n,i,s)|0;f=c,c=u,u=a,a=o+g|0,o=s,s=i,i=n,n=g+d|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,u=u+this.F|0,c=c+this.G|0,f=f+this.H|0,this.set(n,i,s,o,a,u,c,f)}roundClean(){Qe.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var $u=li(()=>new wo);function hy(t){let e=xn(t);ve(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:ly,hexToBytes:py}=yi,gr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=gr;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:ly(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=gr,r=typeof t=="string"?py(t):t;if(!se(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=gr._parseInt(r.subarray(2)),{d:o,l:a}=gr._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=c=>Number.parseInt(c[0],16)&8?"00"+c:c,r=c=>{let f=c.toString(16);return f.length&1?`0${f}`:f},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),u=r(o);return`30${r(o+s+4)}02${u}${i}02${a}${n}`}},ke=BigInt(0),te=BigInt(1),mv=BigInt(2),Zu=BigInt(3),xv=BigInt(4);function dy(t){let e=hy(t),{Fp:r}=e,n=e.toBytes||((p,d,y)=>{let m=d.toAffine();return Le(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=e.fromBytes||(p=>{let d=p.subarray(1),y=r.fromBytes(d.subarray(0,r.BYTES)),m=r.fromBytes(d.subarray(r.BYTES,2*r.BYTES));return{x:y,y:m}});function s(p){let{a:d,b:y}=e,m=r.sqr(p),w=r.mul(m,p);return r.add(r.add(w,r.mul(p,d)),y)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(p){return typeof p=="bigint"&&ke<p&&p<e.n}function a(p){if(!o(p))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(p){let{allowedPrivateKeyLengths:d,nByteLength:y,wrapPrivateKey:m,n:w}=e;if(d&&typeof p!="bigint"){if(se(p)&&(p=_e(p)),typeof p!="string"||!d.includes(p.length))throw new Error("Invalid key");p=p.padStart(y*2,"0")}let b;try{b=typeof p=="bigint"?p:Re(bt("private key",p,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof p}`)}return m&&(b=at(b,w)),a(b),b}let c=new Map;function f(p){if(!(p instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(d,y,m){if(this.px=d,this.py=y,this.pz=m,d==null||!r.isValid(d))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(m==null||!r.isValid(m))throw new Error("z required")}static fromAffine(d){let{x:y,y:m}=d||{};if(!d||!r.isValid(y)||!r.isValid(m))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let w=b=>r.eql(b,r.ZERO);return w(y)&&w(m)?h.ZERO:new h(y,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let y=r.invertBatch(d.map(m=>m.pz));return d.map((m,w)=>m.toAffine(y[w])).map(h.fromAffine)}static fromHex(d){let y=h.fromAffine(i(bt("pointHex",d)));return y.assertValidity(),y}static fromPrivateKey(d){return h.BASE.multiply(u(d))}_setWindowSize(d){this._WINDOW_SIZE=d,c.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y}=this.toAffine();if(!r.isValid(d)||!r.isValid(y))throw new Error("bad point: x or y not FE");let m=r.sqr(y),w=s(d);if(!r.eql(m,w))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(r.isOdd)return!r.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:y,py:m,pz:w}=this,{px:b,py:_,pz:E}=d,S=r.eql(r.mul(y,E),r.mul(b,w)),L=r.eql(r.mul(m,E),r.mul(_,w));return S&&L}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:d,b:y}=e,m=r.mul(y,Zu),{px:w,py:b,pz:_}=this,E=r.ZERO,S=r.ZERO,L=r.ZERO,N=r.mul(w,w),z=r.mul(b,b),H=r.mul(_,_),V=r.mul(w,b);return V=r.add(V,V),L=r.mul(w,_),L=r.add(L,L),E=r.mul(d,L),S=r.mul(m,H),S=r.add(E,S),E=r.sub(z,S),S=r.add(z,S),S=r.mul(E,S),E=r.mul(V,E),L=r.mul(m,L),H=r.mul(d,H),V=r.sub(N,H),V=r.mul(d,V),V=r.add(V,L),L=r.add(N,N),N=r.add(L,N),N=r.add(N,H),N=r.mul(N,V),S=r.add(S,N),H=r.mul(b,_),H=r.add(H,H),N=r.mul(H,V),E=r.sub(E,N),L=r.mul(H,z),L=r.add(L,L),L=r.add(L,L),new h(E,S,L)}add(d){f(d);let{px:y,py:m,pz:w}=this,{px:b,py:_,pz:E}=d,S=r.ZERO,L=r.ZERO,N=r.ZERO,z=e.a,H=r.mul(e.b,Zu),V=r.mul(y,b),Q=r.mul(m,_),ot=r.mul(w,E),Dt=r.add(y,m),C=r.add(b,_);Dt=r.mul(Dt,C),C=r.add(V,Q),Dt=r.sub(Dt,C),C=r.add(y,w);let P=r.add(b,E);return C=r.mul(C,P),P=r.add(V,ot),C=r.sub(C,P),P=r.add(m,w),S=r.add(_,E),P=r.mul(P,S),S=r.add(Q,ot),P=r.sub(P,S),N=r.mul(z,C),S=r.mul(H,ot),N=r.add(S,N),S=r.sub(Q,N),N=r.add(Q,N),L=r.mul(S,N),Q=r.add(V,V),Q=r.add(Q,V),ot=r.mul(z,ot),C=r.mul(H,C),Q=r.add(Q,ot),ot=r.sub(V,ot),ot=r.mul(z,ot),C=r.add(C,ot),V=r.mul(Q,C),L=r.add(L,V),V=r.mul(P,C),S=r.mul(Dt,S),S=r.sub(S,V),V=r.mul(Dt,Q),N=r.mul(P,N),N=r.add(N,V),new h(S,L,N)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return g.wNAFCached(this,c,d,y=>{let m=r.invertBatch(y.map(w=>w.pz));return y.map((w,b)=>w.toAffine(m[b])).map(h.fromAffine)})}multiplyUnsafe(d){let y=h.ZERO;if(d===ke)return y;if(a(d),d===te)return this;let{endo:m}=e;if(!m)return g.unsafeLadder(this,d);let{k1neg:w,k1:b,k2neg:_,k2:E}=m.splitScalar(d),S=y,L=y,N=this;for(;b>ke||E>ke;)b&te&&(S=S.add(N)),E&te&&(L=L.add(N)),N=N.double(),b>>=te,E>>=te;return w&&(S=S.negate()),_&&(L=L.negate()),L=new h(r.mul(L.px,m.beta),L.py,L.pz),S.add(L)}multiply(d){a(d);let y=d,m,w,{endo:b}=e;if(b){let{k1neg:_,k1:E,k2neg:S,k2:L}=b.splitScalar(y),{p:N,f:z}=this.wNAF(E),{p:H,f:V}=this.wNAF(L);N=g.constTimeNegate(_,N),H=g.constTimeNegate(S,H),H=new h(r.mul(H.px,b.beta),H.py,H.pz),m=N.add(H),w=z.add(V)}else{let{p:_,f:E}=this.wNAF(y);m=_,w=E}return h.normalizeZ([m,w])[0]}multiplyAndAddUnsafe(d,y,m){let w=h.BASE,b=(E,S)=>S===ke||S===te||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),_=b(this,y).add(b(d,m));return _.is0()?void 0:_}toAffine(d){let{px:y,py:m,pz:w}=this,b=this.is0();d==null&&(d=b?r.ONE:r.inv(w));let _=r.mul(y,d),E=r.mul(m,d),S=r.mul(w,d);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:_,y:E}}isTorsionFree(){let{h:d,isTorsionFree:y}=e;if(d===te)return!0;if(y)return y(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:y}=e;return d===te?this:y?y(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),n(h,this,d)}toHex(d=!0){return _e(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let l=e.nBitLength,g=xi(h,e.endo?Math.ceil(l/2):l);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:u,weierstrassEquation:s,isWithinCurveOrder:o}}function yy(t){let e=xn(t);return ve(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Qu(t){let e=yy(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(C){return ke<C&&C<r.ORDER}function a(C){return at(C,n)}function u(C){return gi(C,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:l}=dy({...e,toBytes(C,P,R){let D=P.toAffine(),A=r.toBytes(D.x),K=Le;return R?K(Uint8Array.from([P.hasEvenY()?2:3]),A):K(Uint8Array.from([4]),A,r.toBytes(D.y))},fromBytes(C){let P=C.length,R=C[0],D=C.subarray(1);if(P===i&&(R===2||R===3)){let A=Re(D);if(!o(A))throw new Error("Point is not on curve");let K=h(A),M=r.sqrt(K),q=(M&te)===te;return(R&1)===1!==q&&(M=r.neg(M)),{x:A,y:M}}else if(P===s&&R===4){let A=r.fromBytes(D.subarray(0,r.BYTES)),K=r.fromBytes(D.subarray(r.BYTES,2*r.BYTES));return{x:A,y:K}}else throw new Error(`Point of length ${P} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),g=C=>_e(We(C,e.nByteLength));function p(C){let P=n>>te;return C>P}function d(C){return p(C)?a(-C):C}let y=(C,P,R)=>Re(C.slice(P,R));class m{constructor(P,R,D){this.r=P,this.s=R,this.recovery=D,this.assertValidity()}static fromCompact(P){let R=e.nByteLength;return P=bt("compactSignature",P,R*2),new m(y(P,0,R),y(P,R,2*R))}static fromDER(P){let{r:R,s:D}=gr.toSig(bt("DER",P));return new m(R,D)}assertValidity(){if(!l(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!l(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new m(this.r,this.s,P)}recoverPublicKey(P){let{r:R,s:D,recovery:A}=this,K=L(bt("msgHash",P));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let M=A===2||A===3?R+e.n:R;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let q=A&1?"03":"02",$=c.fromHex(q+g(M)),X=u(M),it=a(-K*X),J=a(D*X),et=c.BASE.multiplyAndAddUnsafe($,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return ar(this.toDERHex())}toDERHex(){return gr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ar(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let w={isValidPrivateKey(C){try{return f(C),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let C=Ws(e.n);return ou(e.randomBytes(C),e.n)},precompute(C=8,P=c.BASE){return P._setWindowSize(C),P.multiply(BigInt(3)),P}};function b(C,P=!0){return c.fromPrivateKey(C).toRawBytes(P)}function _(C){let P=se(C),R=typeof C=="string",D=(P||R)&&C.length;return P?D===i||D===s:R?D===2*i||D===2*s:C instanceof c}function E(C,P,R=!0){if(_(C))throw new Error("first arg must be private key");if(!_(P))throw new Error("second arg must be public key");return c.fromHex(P).multiply(f(C)).toRawBytes(R)}let S=e.bits2int||function(C){let P=Re(C),R=C.length*8-e.nBitLength;return R>0?P>>BigInt(R):P},L=e.bits2int_modN||function(C){return a(S(C))},N=mn(e.nBitLength);function z(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(ke<=C&&C<N))throw new Error(`bigint expected < 2^${e.nBitLength}`);return We(C,e.nByteLength)}function H(C,P,R=V){if(["recovered","canonical"].some(mt=>mt in R))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:A}=e,{lowS:K,prehash:M,extraEntropy:q}=R;K==null&&(K=!0),C=bt("msgHash",C),M&&(C=bt("prehashed msgHash",D(C)));let $=L(C),X=f(P),it=[z(X),z($)];if(q!=null){let mt=q===!0?A(r.BYTES):q;it.push(bt("extraEntropy",mt))}let J=Le(...it),et=$;function Et(mt){let Pt=S(mt);if(!l(Pt))return;let kt=u(Pt),At=c.BASE.multiply(Pt).toAffine(),Ut=a(At.x);if(Ut===ke)return;let Ee=a(kt*a(et+Ut*X));if(Ee===ke)return;let Xe=(At.x===Ut?0:2)|Number(At.y&te),$r=Ee;return K&&p(Ee)&&($r=d(Ee),Xe^=1),new m(Ut,$r,Xe)}return{seed:J,k2sig:Et}}let V={lowS:e.lowS,prehash:!1},Q={lowS:e.lowS,prehash:!1};function ot(C,P,R=V){let{seed:D,k2sig:A}=H(C,P,R),K=e;return Hs(K.hash.outputLen,K.nByteLength,K.hmac)(D,A)}c.BASE._setWindowSize(8);function Dt(C,P,R,D=Q){let A=C;if(P=bt("msgHash",P),R=bt("publicKey",R),"strict"in D)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:M}=D,q,$;try{if(typeof A=="string"||se(A))try{q=m.fromDER(A)}catch(At){if(!(At instanceof gr.Err))throw At;q=m.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:At,s:Ut}=A;q=new m(At,Ut)}else throw new Error("PARSE");$=c.fromHex(R)}catch(At){if(At.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&q.hasHighS())return!1;M&&(P=e.hash(P));let{r:X,s:it}=q,J=L(P),et=u(it),Et=a(J*et),mt=a(X*et),Pt=c.BASE.multiplyAndAddUnsafe($,Et,mt)?.toAffine();return Pt?a(Pt.x)===X:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:ot,verify:Dt,ProjectivePoint:c,Signature:m,utils:w}}var _i=class extends Or{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,W0(e);let n=gn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Kr(this),this.iHash.update(e),this}digestInto(e){Kr(this),Us(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Eo=(t,e,r)=>new _i(t,e).update(r).digest();Eo.create=(t,e)=>new _i(t,e);function gy(t){return{hash:t,hmac:(e,...r)=>Eo(t,e,hi(...r)),randomBytes:Mr}}function Xu(t,e){let r=n=>Qu({...t,...gy(n)});return Object.freeze({...r(e),create:r})}var tc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ju=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),my=BigInt(1),So=BigInt(2),ju=(t,e)=>(t+e/So)/e;function xy(t){let e=tc,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),c=t*t*t%e,f=c*c*t%e,h=yt(f,r,e)*f%e,l=yt(h,r,e)*f%e,g=yt(l,So,e)*c%e,p=yt(g,i,e)*g%e,d=yt(p,s,e)*p%e,y=yt(d,a,e)*d%e,m=yt(y,u,e)*y%e,w=yt(m,a,e)*d%e,b=yt(w,r,e)*f%e,_=yt(b,o,e)*p%e,E=yt(_,n,e)*c%e,S=yt(E,So,e);if(!Bo.eql(Bo.sqr(S),t))throw new Error("Cannot find square root");return S}var Bo=mi(tc,void 0,void 0,{sqrt:xy}),fe=Xu({a:BigInt(0),b:BigInt(7),Fp:Bo,n:Ju,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Ju,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-my*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=ju(s*t,e),u=ju(-n*t,e),c=at(t-a*r-u*i,e),f=at(-a*n-u*s,e),h=c>o,l=f>o;if(h&&(c=e-c),l&&(f=e-f),c>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:c,k2neg:l,k2:f}}}},$u),Rv=BigInt(0);var Lv=fe.ProjectivePoint;function ec(){return fe.utils.randomPrivateKey()}function rc(t,e){let r=Ct.digest(e instanceof Uint8Array?e:e.subarray());if(jt(r))return r.then(({digest:n})=>fe.sign(n,t).toDERRawBytes()).catch(n=>{throw new O(String(n),"ERR_INVALID_INPUT")});try{return fe.sign(r.digest,t).toDERRawBytes()}catch(n){throw new O(String(n),"ERR_INVALID_INPUT")}}function nc(t,e,r){let n=Ct.digest(r instanceof Uint8Array?r:r.subarray());if(jt(n))return n.then(({digest:i})=>fe.verify(e,i,t)).catch(i=>{throw new O(String(i),"ERR_INVALID_INPUT")});try{return fe.verify(e,n.digest,t)}catch(i){throw new O(String(i),"ERR_INVALID_INPUT")}}function ic(t){return fe.ProjectivePoint.fromHex(t).toRawBytes(!0)}function sc(t){try{fe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Ao(t){try{fe.ProjectivePoint.fromHex(t)}catch(e){throw new O(String(e),"ERR_INVALID_PUBLIC_KEY")}}function oc(t){try{return fe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Cn=class{_key;constructor(e){Ao(e),this._key=e}verify(e,r){return nc(this._key,r,e)}marshal(){return ic(this._key)}get bytes(){return ue.encode({Type:ht.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}async hash(){let e=Ct.digest(this.bytes),r;return jt(e)?{bytes:r}=await e:r=e.bytes,r}},Tn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??oc(e),sc(this._key),Ao(this._publicKey)}sign(e){return rc(this._key,e)}get public(){return new Cn(this._publicKey)}marshal(){return this._key}get bytes(){return ce.encode({Type:ht.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return jt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Bt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Hr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function vy(t){return new Tn(t)}function wy(t){return new Cn(t)}async function Ey(){let t=ec();return new Tn(t)}var we={rsa:vo,ed25519:po,secp256k1:Io};function Co(t){let e=Object.keys(we).join(" / ");return new O(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function To(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return we[t];throw Co(t)}async function Sy(t,e){return To(t).generateKeyPair(e??2048)}async function By(t,e,r){if(t.toLowerCase()!=="ed25519")throw new O("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return lo(e)}function Ay(t){let e=ue.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case ht.RSA:return we.rsa.unmarshalRsaPublicKey(r);case ht.Ed25519:return we.ed25519.unmarshalEd25519PublicKey(r);case ht.Secp256k1:return we.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Co(e.Type??"unknown")}}function Iy(t,e){return e=(e??"rsa").toLowerCase(),To(e),t.bytes}async function ac(t){let e=ce.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case ht.RSA:return we.rsa.unmarshalRsaPrivateKey(r);case ht.Ed25519:return we.ed25519.unmarshalEd25519PrivateKey(r);case ht.Secp256k1:return we.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Co(e.Type??"RSA")}}function Cy(t,e){return e=(e??"rsa").toLowerCase(),To(e),t.bytes}async function Ty(t,e){try{let i=await Ru(t,e);return await ac(i)}catch{}let r=Ri.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new O("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ri.default.asn1.toDer(Ri.default.pki.privateKeyToAsn1(r));return n=gt(n.getBytes(),"ascii"),we.rsa.unmarshalRsaPrivateKey(n)}var _y=It(Is(),1),Ry=It(vt(),1);function uc(){return BigInt(`0x${Bt(dr(8),"base16")}`)}var cc=(t,e)=>{let r=gt(e.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(t.length+r.length);return n.set(t,0),n.set(r,t.length),n},fc=t=>Ct.encode(t);var hc=function(t){return Array.isArray(t)?t:[t]},Ly=async t=>{if(t.sequenceNumber==null||t.from==null||t.signature==null)return!1;let e=rn(t.from);return e.publicKey!=null?!0:t.key!=null?(await Dn(t.key)).equals(e):!1},lc=async t=>{if(t.from==null)throw new O("RPC message was missing from",Tt.ERR_MISSING_FROM);if(!await Ly(t))return{type:"unsigned",topic:t.topic??"",data:t.data??new Uint8Array(0)};let e=rn(t.from),r={type:"signed",from:rn(t.from),topic:t.topic??"",sequenceNumber:Dy(t.sequenceNumber??new Uint8Array(0)),data:t.data??new Uint8Array(0),signature:t.signature??new Uint8Array(0),key:t.key??e.publicKey??new Uint8Array(0)};if(r.key.length===0)throw new O("Signed RPC message was missing key",Tt.ERR_MISSING_KEY);return r},Rn=t=>t.type==="signed"?{from:t.from.multihash.bytes,data:t.data,sequenceNumber:Ny(t.sequenceNumber),topic:t.topic,signature:t.signature,key:t.key}:{data:t.data,topic:t.topic},Ny=t=>{let e=t.toString(16);return e.length%2!==0&&(e=`0${e}`),gt(e,"base16")},Dy=t=>BigInt(`0x${Bt(t,"base16")}`);var pc=gt("libp2p-pubsub:");async function dc(t,e,r){if(t.privateKey==null)throw new Error("Cannot sign message, no private key present");if(t.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:e.topic,data:e.data,sequenceNumber:e.sequenceNumber,from:t},i=Vt([pc,r(Rn(n)).subarray()]),s=await _n.unmarshalPrivateKey(t.privateKey);return n.signature=await s.sign(i),n.key=t.publicKey,n}async function yc(t,e){if(t.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(t.signature==null)throw new Error("Message must contain a signature to be verified");if(t.from==null)throw new Error("Message must contain a from property to be verified");let r=Vt([pc,e({...Rn(t),signature:void 0,key:void 0}).subarray()]),n=await Py(t);return _n.unmarshalPublicKey(n).verify(r,t.signature)}async function Py(t){if(t.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(t.from==null)throw new Error("Could not get the public key from the originator id");if(t.key!=null){let e=await Dn(t.key);if(e.publicKey!=null)return e.publicKey}if(t.from.publicKey!=null)return t.from.publicKey;throw new Error("Could not get the public key from the originator id")}var _o=class extends mr{log;started;topics;subscriptions;peers;globalSignaturePolicy;canRelayMessage;emitSelf;topicValidators;queue;multicodecs;components;_registrarTopologyIds;enabled;maxInboundStreams;maxOutboundStreams;constructor(e,r){super();let{multicodecs:n=[],globalSignaturePolicy:i="StrictSign",canRelayMessage:s=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:u=1,maxOutboundStreams:c=1}=r;this.log=e.logger.forComponent("libp2p:pubsub"),this.components=e,this.multicodecs=hc(n),this.enabled=r.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Tr,this.globalSignaturePolicy=i==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=s,this.emitSelf=o,this.topicValidators=new Map,this.queue=new un({concurrency:a}),this.maxInboundStreams=u,this.maxOutboundStreams=c,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;this.log("starting");let e=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await e.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let r={onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected};this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>e.register(n,r))),this.log("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let e=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(r=>{e.unregister(r)}),await Promise.all(this.multicodecs.map(async r=>{await e.unhandle(r)})),this.log("stopping");for(let r of this.peers.values())r.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,this.log("stopped")}isStarted(){return this.started}_onIncomingStream(e){let{stream:r,connection:n}=e,i=n.remotePeer;if(r.protocol==null){r.abort(new Error("Stream was not multiplexed"));return}let s=this.addPeer(i,r.protocol),o=s.attachInboundStream(r);this.processMessages(i,o,s).catch(a=>{this.log(a)})}_onPeerConnected(e,r){if(this.log("connected %p",e),r.streams.find(n=>n.direction==="outbound"&&n.protocol!=null&&this.multicodecs.includes(n.protocol))!=null){this.log("outbound pubsub streams already present on connection from %p",e);return}Promise.resolve().then(async()=>{try{let n=await r.newStream(this.multicodecs);if(n.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(e,n.protocol).attachOutboundStream(n)}catch(n){this.log.error(n)}this.send(e,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{this.log.error(n)})}_onPeerDisconnected(e,r){let n=e.toString();this.log("connection ended",n),this._removePeer(e)}addPeer(e,r){let n=this.peers.get(e);if(n!=null)return n;this.log("new peer %p",e);let i=new Vn(this.components,{id:e,protocol:r});return this.peers.set(e,i),i.addEventListener("close",()=>this._removePeer(e),{once:!0}),i}_removePeer(e){let r=this.peers.get(e);if(r!=null){r.close(),this.log("delete peer %p",e),this.peers.delete(e);for(let n of this.topics.values())n.delete(e);return r}}async processMessages(e,r,n){try{await nn(r,async i=>{for await(let s of i){let o=this.decodeRpc(s),a=[];for(let u of o.messages??[]){if(u.from==null||u.data==null||u.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",e);continue}a.push({from:u.from,data:u.data,topic:u.topic,sequenceNumber:u.sequenceNumber??void 0,signature:u.signature??void 0,key:u.key??void 0})}this.processRpc(e,n,{subscriptions:(o.subscriptions??[]).map(u=>({subscribe:!!u.subscribe,topic:u.topic??""})),messages:a}).catch(u=>{this.log(u)})}})}catch(i){this._onPeerDisconnected(n.id,i)}}async processRpc(e,r,n){if(!this.acceptFrom(e))return this.log("received message from unacceptable peer %p",e),!1;this.log("rpc from %p",e);let{subscriptions:i,messages:s}=n;return i!=null&&i.length>0&&(this.log("subscription update from %p",e),i.forEach(o=>{this.processRpcSubOpt(e,o)}),super.dispatchEvent(new he("subscription-change",{detail:{peerId:r.id,subscriptions:i.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:!!a}))}}))),s!=null&&s.length>0&&(this.log("messages from %p",e),this.queue.addAll(s.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return this.log("received message we didn't subscribe to. Dropping."),!1;try{let a=await lc(o);await this.processMessage(e,a)}catch(a){this.log.error(a)}})).catch(o=>{this.log(o)})),!0}processRpcSubOpt(e,r){let n=r.topic;if(n==null)return;let i=this.topics.get(n);i==null&&(i=new _r,this.topics.set(n,i)),r.subscribe===!0?i.add(e):i.delete(e)}async processMessage(e,r){if(!(this.components.peerId.equals(e)&&!this.emitSelf)){try{await this.validate(e,r)}catch(n){this.log("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(r.topic)&&(!this.components.peerId.equals(e)||this.emitSelf)&&super.dispatchEvent(new he("message",{detail:r})),await this.publishMessage(e,r)}}getMsgId(e){switch(this.globalSignaturePolicy){case"StrictSign":if(e.type!=="signed")throw new O('Message type should be "signed" when signature policy is StrictSign but it was not',Tt.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new O("Need seqno when signature policy is StrictSign but it was missing",Tt.ERR_MISSING_SEQNO);if(e.key==null)throw new O("Need key when signature policy is StrictSign but it was missing",Tt.ERR_MISSING_KEY);return cc(e.key,e.sequenceNumber);case"StrictNoSign":return fc(e.data);default:throw new O("Cannot get message id: unhandled signature policy",Tt.ERR_UNHANDLED_SIGNATURE_POLICY)}}acceptFrom(e){return!0}send(e,r){let{messages:n,subscriptions:i,subscribe:s}=r;this.sendRpc(e,{subscriptions:(i??[]).map(o=>({topic:o,subscribe:!!s})),messages:(n??[]).map(Rn)})}sendRpc(e,r){let n=this.peers.get(e);if(n==null){this.log.error("Cannot send RPC to %p as there are no streams to it available",e);return}if(!n.isWritable){this.log.error("Cannot send RPC to %p as there is no outbound stream to it available",e);return}n.write(this.encodeRpc(r))}async validate(e,r){switch(this.globalSignaturePolicy){case"StrictNoSign":if(r.type!=="unsigned")throw new O('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',Tt.ERR_MISSING_SIGNATURE);if(r.signature!=null)throw new O("StrictNoSigning: signature should not be present",Tt.ERR_UNEXPECTED_SIGNATURE);if(r.key!=null)throw new O("StrictNoSigning: key should not be present",Tt.ERR_UNEXPECTED_KEY);if(r.sequenceNumber!=null)throw new O("StrictNoSigning: seqno should not be present",Tt.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(r.type!=="signed")throw new O('Message type should be "signed" when signature policy is StrictSign but it was not',Tt.ERR_MISSING_SIGNATURE);if(r.signature==null)throw new O("StrictSigning: Signing required and no signature was present",Tt.ERR_MISSING_SIGNATURE);if(r.sequenceNumber==null)throw new O("StrictSigning: Signing required and no sequenceNumber was present",Tt.ERR_MISSING_SEQNO);if(!await yc(r,this.encodeMessage.bind(this)))throw new O("StrictSigning: Invalid message signature",Tt.ERR_INVALID_SIGNATURE);break;default:throw new O("Cannot validate message: unhandled signature policy",Tt.ERR_UNHANDLED_SIGNATURE_POLICY)}let i=this.topicValidators.get(r.topic);if(i!=null){let s=await i(e,r);if(s===Zr.Reject||s===Zr.Ignore)throw new O("Message validation failed",Tt.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(e){switch(this.globalSignaturePolicy){case"StrictSign":return dc(this.components.peerId,e,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...e});default:throw new O("Cannot build message: unhandled signature policy",Tt.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(e){if(!this.started)throw new O("not started yet","ERR_NOT_STARTED_YET");if(e==null)throw new O("topic is required","ERR_NOT_VALID_TOPIC");let r=this.topics.get(e.toString());return r==null?[]:Array.from(r.values())}async publish(e,r){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:e,data:r??new Uint8Array(0),sequenceNumber:uc()};this.log("publish topic: %s from: %p data: %m",e,n.from,n.data);let i=await this.buildMessage(n),s=!1;this.emitSelf&&this.subscriptions.has(e)&&(s=!0,super.dispatchEvent(new he("message",{detail:i})));let o=await this.publishMessage(this.components.peerId,i);return s&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(e){if(!this.started)throw new Error("Pubsub has not started");if(this.log("subscribe to topic: %s",e),!this.subscriptions.has(e)){this.subscriptions.add(e);for(let r of this.peers.keys())this.send(r,{subscriptions:[e],subscribe:!0})}}unsubscribe(e){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(e);let r=this.subscriptions.has(e);if(this.log("unsubscribe from %s - am subscribed %s",e,r),r){this.subscriptions.delete(e);for(let n of this.peers.keys())this.send(n,{subscriptions:[e],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};return _c(ky);})();
|
2
|
+
"use strict";var Libp2PPubsub=(()=>{var xu=Object.create;var on=Object.defineProperty;var Eu=Object.getOwnPropertyDescriptor;var vu=Object.getOwnPropertyNames;var Bu=Object.getPrototypeOf,Au=Object.prototype.hasOwnProperty;var Ns=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),it=(r,t)=>{for(var e in t)on(r,e,{get:t[e],enumerable:!0})},wo=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of vu(t))!Au.call(r,s)&&s!==e&&on(r,s,{get:()=>t[s],enumerable:!(n=Eu(t,s))||n.enumerable});return r};var Rs=(r,t,e)=>(e=r!=null?xu(Bu(r)):{},wo(t||!r||!r.__esModule?on(e,"default",{value:r,enumerable:!0}):e,r)),Su=r=>wo(on({},"__esModule",{value:!0}),r);var zo=Ns((j0,ei)=>{"use strict";var Vl=Object.prototype.hasOwnProperty,Bt="~";function Or(){}Object.create&&(Or.prototype=Object.create(null),new Or().__proto__||(Bt=!1));function Ml(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Go(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new Ml(e,n||r,s),o=Bt?Bt+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function fn(r,t){--r._eventsCount===0?r._events=new Or:delete r._events[t]}function yt(){this._events=new Or,this._eventsCount=0}yt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Vl.call(e,n)&&t.push(Bt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};yt.prototype.listeners=function(t){var e=Bt?Bt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};yt.prototype.listenerCount=function(t){var e=Bt?Bt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};yt.prototype.emit=function(t,e,n,s,i,o){var a=Bt?Bt+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,f,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,s),!0;case 5:return c.fn.call(c.context,e,n,s,i),!0;case 6:return c.fn.call(c.context,e,n,s,i,o),!0}for(u=1,f=new Array(l-1);u<l;u++)f[u-1]=arguments[u];c.fn.apply(c.context,f)}else{var p=c.length,w;for(u=0;u<p;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,s);break;default:if(!f)for(w=1,f=new Array(l-1);w<l;w++)f[w-1]=arguments[w];c[u].fn.apply(c[u].context,f)}}return!0};yt.prototype.on=function(t,e,n){return Go(this,t,e,n,!1)};yt.prototype.once=function(t,e,n){return Go(this,t,e,n,!0)};yt.prototype.removeListener=function(t,e,n,s){var i=Bt?Bt+t:t;if(!this._events[i])return this;if(!e)return fn(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&fn(this,i);else{for(var a=0,c=[],l=o.length;a<l;a++)(o[a].fn!==e||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:fn(this,i)}return this};yt.prototype.removeAllListeners=function(t){var e;return t?(e=Bt?Bt+t:t,this._events[e]&&fn(this,e)):(this._events=new Or,this._eventsCount=0),this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.addListener=yt.prototype.on;yt.prefixed=Bt;yt.EventEmitter=yt;typeof ei<"u"&&(ei.exports=yt)});var ia=Ns((Sg,sa)=>{"use strict";function na(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function jl(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return na(r,e)}catch{e.message=r.message,e.stack=r.stack;let s=function(){};return s.prototype=Object.create(Object.getPrototypeOf(r)),na(new s,e)}}sa.exports=jl});var Xa=Ns(Ar=>{"use strict";var Ah="[object ArrayBuffer]",oe=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Ah}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==s[i])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let o of e)n+=o.byteLength;let s=new Uint8Array(n),i=0;for(let o of e){let a=this.toUint8Array(o);s.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},zi="string",Sh=/^[0-9a-f]+$/i,Ih=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,kh=/^[a-zA-Z0-9-_]+$/,Vn=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=oe.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},Tt=class{static toString(t,e=!1){let n=oe.toArrayBuffer(t),s=new DataView(n),i="";for(let o=0;o<n.byteLength;o+=2){let a=s.getUint16(o,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let i=0;i<t.length;i++)s.setUint16(i*2,t.charCodeAt(i),e);return n}},Mn=class r{static isHex(t){return typeof t===zi&&Sh.test(t)}static isBase64(t){return typeof t===zi&&Ih.test(t)}static isBase64Url(t){return typeof t===zi&&kh.test(t)}static ToString(t,e="utf8"){let n=oe.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return Tt.toString(n,!0);case"utf16":case"utf16be":return Tt.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return Tt.fromString(t,!0);case"utf16":case"utf16be":return Tt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=oe.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return Vn.fromString(t);case"utf16":case"utf16be":return Tt.fromString(t);case"utf16le":case"usc2":return Tt.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return Vn.toString(t);case"utf16":case"utf16be":return Tt.toString(t);case"utf16le":case"usc2":return Tt.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=oe.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=oe.toUint8Array(t),n="",s=e.length;for(let i=0;i<s;i++){let o=e[i];o<16&&(n+="0"),n+=o.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let i=e.slice(s,s+2);n[s/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return Tt.toString(t,e)}static FromUtf16String(t,e=!1){return Tt.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};Mn.DEFAULT_UTF8_ENCODING="utf8";function Nh(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let i in s)e[i]=s[i]}return e}function Rh(...r){let t=r.map(s=>s.byteLength).reduce((s,i)=>s+i),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let i of s)e[n++]=i}),e.buffer}function _h(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}Ar.BufferSourceConverter=oe;Ar.Convert=Mn;Ar.assign=Nh;Ar.combine=Rh;Ar.isEqual=_h});var xd={};it(xd,{PubSubBaseProtocol:()=>uo});var vd=Symbol.for("@libp2p/connection");var Ad=Symbol.for("@libp2p/content-routing");var kd=Symbol.for("@libp2p/peer-discovery");var xo=Symbol.for("@libp2p/peer-id");var _d=Symbol.for("@libp2p/peer-routing");var Rr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(Rr||(Rr={}));var Ud=Symbol.for("@libp2p/transport");var Eo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Eo||(Eo={}));var A=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Ye=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:i})=>i!==e),this.#t.set(t,s))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:s})=>!s),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new Ft(t,e))}},_s=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Ft=globalThis.CustomEvent??_s;var Ps={};it(Ps,{base58btc:()=>vt,base58flickr:()=>Tu});var hp=new Uint8Array(0);function vo(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Jt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Bo(r){return new TextEncoder().encode(r)}function Ao(r){return new TextDecoder().decode(r)}function Iu(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),o=i.charCodeAt(0);if(e[o]!==255)throw new TypeError(i+" is ambiguous");e[o]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function u(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var h=0,d=0,m=0,x=g.length;m!==x&&g[m]===0;)m++,h++;for(var b=(x-m)*f+1>>>0,T=new Uint8Array(b);m!==x;){for(var E=g[m],S=0,R=b-1;(E!==0||S<d)&&R!==-1;R--,S++)E+=256*T[R]>>>0,T[R]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");d=S,m++}for(var _=b-d;_!==b&&T[_]===0;)_++;for(var q=c.repeat(h);_<b;++_)q+=r.charAt(T[_]);return q}function p(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var h=0;if(g[h]!==" "){for(var d=0,m=0;g[h]===c;)d++,h++;for(var x=(g.length-h)*l+1>>>0,b=new Uint8Array(x);g[h];){var T=e[g.charCodeAt(h)];if(T===255)return;for(var E=0,S=x-1;(T!==0||E<m)&&S!==-1;S--,E++)T+=a*b[S]>>>0,b[S]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");m=E,h++}if(g[h]!==" "){for(var R=x-m;R!==x&&b[R]===0;)R++;for(var _=new Uint8Array(d+(x-R)),q=d;R!==x;)_[q++]=b[R++];return _}}}function w(g){var h=p(g);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:p,decode:w}}var ku=Iu,Nu=ku,Io=Nu;var Ts=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Cs=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return ko(this,t)}},Ls=class{decoders;constructor(t){this.decoders=t}or(t){return ko(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ko(r,t){return new Ls({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Us=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ts(t,e,n),this.decoder=new Cs(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function We({name:r,prefix:t,encode:e,decode:n}){return new Us(r,t,e,n)}function pe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Io(e,r);return We({prefix:t,name:r,encode:n,decode:i=>Jt(s(i))})}function Ru(r,t,e,n){let s={};for(let f=0;f<t.length;++f)s[t[f]]=f;let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*e/8|0),a=0,c=0,l=0;for(let f=0;f<i;++f){let u=s[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function _u(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,i="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,i+=t[s&a>>o];if(o!==0&&(i+=t[s&a<<e-o]),n)for(;i.length*e&7;)i+="=";return i}function tt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return We({prefix:t,name:r,encode(s){return _u(s,n,e)},decode(s){return Ru(s,n,e,r)}})}var vt=pe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Tu=pe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ds={};it(Ds,{base10:()=>Cu});var Cu=pe({prefix:"9",name:"base10",alphabet:"0123456789"});var Os={};it(Os,{base16:()=>Lu,base16upper:()=>Uu});var Lu=tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Uu=tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Vs={};it(Vs,{base2:()=>Pu});var Pu=tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ms={};it(Ms,{base256emoji:()=>Hu});var No=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}"),Du=No.reduce((r,t,e)=>(r[e]=t,r),[]),Ou=No.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Vu(r){return r.reduce((t,e)=>(t+=Du[e],t),"")}function Mu(r){let t=[];for(let e of r){let n=Ou[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Hu=We({prefix:"\u{1F680}",name:"base256emoji",encode:Vu,decode:Mu});var Hs={};it(Hs,{base32:()=>Ze,base32hex:()=>$u,base32hexpad:()=>zu,base32hexpadupper:()=>ju,base32hexupper:()=>Gu,base32pad:()=>Fu,base32padupper:()=>qu,base32upper:()=>Ku,base32z:()=>Yu});var Ze=tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ku=tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Fu=tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),qu=tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),$u=tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gu=tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zu=tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ju=tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Yu=tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ks={};it(Ks,{base36:()=>Wu,base36upper:()=>Zu});var Wu=pe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Zu=pe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Fs={};it(Fs,{base64:()=>Je,base64pad:()=>Ju,base64url:()=>Xu,base64urlpad:()=>Qu});var Je=tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ju=tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Xu=tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Qu=tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qs={};it(qs,{base8:()=>tl});var tl=tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $s={};it($s,{identity:()=>el});var el=We({prefix:"\0",name:"identity",encode:r=>Ao(r),decode:r=>Bo(r)});var Np=new TextEncoder,Rp=new TextDecoder;var zs={};it(zs,{identity:()=>ge});var sl=To,Ro=128,il=127,ol=~il,al=Math.pow(2,31);function To(r,t,e){t=t||[],e=e||0;for(var n=e;r>=al;)t[e++]=r&255|Ro,r/=128;for(;r&ol;)t[e++]=r&255|Ro,r>>>=7;return t[e]=r|0,To.bytes=e-n+1,t}var cl=Gs,ul=128,_o=127;function Gs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw Gs.bytes=0,new RangeError("Could not decode varint");o=r[i++],e+=s<28?(o&_o)<<s:(o&_o)*Math.pow(2,s),s+=7}while(o>=ul);return Gs.bytes=i-n,e}var ll=Math.pow(2,7),fl=Math.pow(2,14),hl=Math.pow(2,21),dl=Math.pow(2,28),pl=Math.pow(2,35),gl=Math.pow(2,42),ml=Math.pow(2,49),yl=Math.pow(2,56),bl=Math.pow(2,63),wl=function(r){return r<ll?1:r<fl?2:r<hl?3:r<dl?4:r<pl?5:r<gl?6:r<ml?7:r<yl?8:r<bl?9:10},xl={encode:sl,decode:cl,encodingLength:wl},El=xl,_r=El;function Tr(r,t=0){return[_r.decode(r,t),_r.decode.bytes]}function Xe(r,t,e=0){return _r.encode(r,t,e),t}function Qe(r){return _r.encodingLength(r)}function qt(r,t){let e=t.byteLength,n=Qe(r),s=n+Qe(e),i=new Uint8Array(s+e);return Xe(r,i,0),Xe(e,i,n),i.set(t,s),new tr(r,e,t,i)}function Cr(r){let t=Jt(r),[e,n]=Tr(t),[s,i]=Tr(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new tr(e,s,o,t)}function Co(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&vo(r.bytes,e.bytes)}}var tr=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};var Lo=0,vl="identity",Uo=Jt;function Bl(r){return qt(Lo,Uo(r))}var ge={code:Lo,name:vl,encode:Uo,digest:Bl};var Ws={};it(Ws,{sha256:()=>ct,sha512:()=>Al});function Ys({name:r,code:t,encode:e}){return new js(r,t,e)}var js=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?qt(this.code,e):e.then(n=>qt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Do(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ct=Ys({name:"sha2-256",code:18,encode:Do("SHA-256")}),Al=Ys({name:"sha2-512",code:19,encode:Do("SHA-512")});function Oo(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Il(e,Zs(r),t??vt.encoder);default:return kl(e,Zs(r),t??Ze.encoder)}}var Vo=new WeakMap;function Zs(r){let t=Vo.get(r);if(t==null){let e=new Map;return Vo.set(r,e),e}return t}var Ce=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Lr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Nl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=qt(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Co(t.multihash,n.multihash)}toString(t){return Oo(this,t)}toJSON(){return{"/":Oo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:i,bytes:o}=e;return new r(n,s,i,o??Mo(n,s,i.bytes))}else if(e[Rl]===!0){let{version:n,multihash:s,code:i}=e,o=Cr(s);return r.create(n,i,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Lr)throw new Error(`Version 0 CID must use dag-pb (code: ${Lr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=Mo(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Lr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=Jt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=s.subarray(e.multihashSize-e.digestSize),o=new tr(e.multihashCode,e.digestSize,i,s);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,p]=Tr(t.subarray(e));return e+=p,u},s=n(),i=Lr;if(s===18?(s=0,e=0):i=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let o=e,a=n(),c=n(),l=e+c,f=l-o;return{version:s,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:l}}static parse(t,e){let[n,s]=Sl(t,e),i=r.decode(s);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Zs(i).set(n,t),i}};function Sl(r,t){switch(r[0]){case"Q":{let e=t??vt;return[vt.prefix,e.decode(`${vt.prefix}${r}`)]}case vt.prefix:{let e=t??vt;return[vt.prefix,e.decode(r)]}case Ze.prefix:{let e=t??Ze;return[Ze.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Il(r,t,e){let{prefix:n}=e;if(n!==vt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return s}function kl(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let i=e.encode(r);return t.set(n,i),i}else return s}var Lr=112,Nl=18;function Mo(r,t,e){let n=Qe(r),s=n+Qe(t),i=new Uint8Array(s+e.byteLength);return Xe(r,i,0),Xe(t,i,n),i.set(e,s),i}var Rl=Symbol.for("@ipld/js-cid/CID");var rr={...$s,...Vs,...qs,...Ds,...Os,...Hs,...Ks,...Ps,...Fs,...Ms},Zp={...Ws,...zs};function mt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var _l=Symbol.for("nodejs.util.inspect.custom"),Ho=Object.values(rr).map(r=>r.decoder).reduce((r,t)=>r.or(t),rr.identity.decoder),Ko=114,Js=36,Xs=37,Ur=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[xo]=!0;toString(){return this.string==null&&(this.string=vt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ce.createV1(Ko,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return mt(this.multihash.bytes,t);if(typeof t=="string")return $t(t).equals(this);if(t?.multihash?.bytes!=null)return mt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[_l](){return`PeerId(${this.toString()})`}},nr=class extends Ur{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},sr=class extends Ur{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},ir=class extends Ur{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function $t(r,t){if(t=t??Ho,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Cr(vt.decode(`z${r}`));return r.startsWith("12D")?new sr({multihash:e}):r.startsWith("16U")?new ir({multihash:e}):new nr({multihash:e})}return Pr(Ho.decode(r))}function Pr(r){try{let t=Cr(r);if(t.code===ge.code){if(t.digest.length===Js)return new sr({multihash:t});if(t.digest.length===Xs)return new ir({multihash:t})}if(t.code===ct.code)return new nr({multihash:t})}catch{return Tl(Ce.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Tl(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Ko)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ct.code)return new nr({multihash:r.multihash});if(t.code===ge.code){if(t.digest.length===Js)return new sr({multihash:r.multihash});if(t.digest.length===Xs)return new ir({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function cn(r,t){return r.length===Js?new sr({multihash:qt(ge.code,r),privateKey:t}):r.length===Xs?new ir({multihash:qt(ge.code,r),privateKey:t}):new nr({multihash:await ct.digest(r),publicKey:r,privateKey:t})}function Le(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),s=n.value;return n.done===!0||s==null?{done:!0,value:void 0}:{done:!1,value:t(s)}}};return e}var or=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return Le(this.map.entries(),t=>[$t(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,$t(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return Le(this.map.keys(),t=>$t(t))}values(){return this.map.values()}get size(){return this.map.size}};var ar=class r{set;constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Le(this.set.entries(),t=>{let e=$t(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=$t(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Le(this.set.values(),t=>$t(t))}intersection(t){let e=new r;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new r;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new r;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};function un(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ln=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},cr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new ln(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new ln(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Qs=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ur(r={}){return Ll(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function Ll(r,t){t=t??{};let e=t.onEnd,n=new cr,s,i,o,a=un(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((d,m)=>{i=x=>{i=null,n.push(x);try{d(r(n))}catch(b){m(b)}return s}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=un()})}},l=d=>i!=null?i(d):(n.push(d),s),f=d=>(n=new cr,i!=null?i({error:d}):(n.push({error:d}),s)),u=d=>{if(o)return s;if(t?.objectMode!==!0&&d?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:d})},p=d=>o?s:(o=!0,d!=null?f(d):l({done:!0})),w=()=>(n=new cr,p(),{done:!0}),g=d=>(p(d),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:c,return:w,throw:g,push:u,end:p,get readableLength(){return n.size},onEmpty:async d=>{let m=d?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let x,b;m!=null&&(x=new Promise((T,E)=>{b=()=>{E(new Qs)},m.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&m!=null&&m?.removeEventListener("abort",b)}}},e==null)return s;let h=s;return s={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(d){return h.throw(d),e!=null&&(e(d),e=void 0),{done:!0}},return(){return h.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(d){return h.end(d),e!=null&&(e(d),e=void 0),s},get readableLength(){return h.readableLength},onEmpty:d=>h.onEmpty(d)},s}function Ul(r){return r[Symbol.asyncIterator]!=null}function Pl(...r){let t=[];for(let e of r)Ul(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=ur({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let s of n)e.push(s)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Fo=Pl;function Dr(r,...t){if(r==null)throw new Error("Empty pipeline");if(ti(r)){let n=r;r=()=>n.source}else if($o(r)||qo(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&ti(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)ti(e[n])&&(e[n]=Ol(e[n]));return Dl(...e)}var Dl=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},qo=r=>r?.[Symbol.asyncIterator]!=null,$o=r=>r?.[Symbol.iterator]!=null,ti=r=>r==null?!1:r.sink!=null&&r.source!=null,Ol=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=ur({objectMode:!0});e.then(()=>{n.end()},o=>{n.end(o)});let s,i=r.source;if(qo(i))s=async function*(){yield*i,n.end()};else if($o(i))s=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Fo(n,s())}return r.source};var ri=Rs(zo(),1);var Vr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},ni=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},jo=r=>globalThis.DOMException===void 0?new ni(r):new DOMException(r),Yo=r=>{let t=r.reason===void 0?jo("This operation was aborted."):r.reason;return t instanceof Error?t:jo(t)};function si(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:p}=t;p.aborted&&f(Yo(p)),p.addEventListener("abort",()=>{f(Yo(p))})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new Vr;o=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(p){f(p)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?l():s instanceof Error?f(s):(u.message=s??`Promise timed out after ${e} milliseconds`,f(u))},e),(async()=>{try{l(await r)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function ii(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var Mr=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=ii(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var Hr=class extends ri.default{#t;#o;#i=0;#d;#a;#p=0;#r;#c;#e;#g;#n=0;#u;#s;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Mr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#o=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#d=t.intervalCap,this.#a=t.interval,this.#e=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#w(){return this.#o||this.#i<this.#d}get#x(){return this.#n<this.#u}#E(){this.#n--,this.#l(),this.emit("next")}#v(){this.#b(),this.#y(),this.#c=void 0}get#B(){let t=Date.now();if(this.#r===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#n:0;else return this.#c===void 0&&(this.#c=setTimeout(()=>{this.#v()},e)),!0}return!1}#l(){if(this.#e.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#B;if(this.#w&&this.#x){let e=this.#e.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#b()},this.#a),this.#p=Date.now()+this.#a)}#b(){this.#i===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#i=this.#t?this.#n:0,this.#f()}#f(){for(;this.#l(););}get concurrency(){return this.#u}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#u=t,this.#f()}async#A(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,s)=>{this.#e.enqueue(async()=>{this.#n++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=si(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Vr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#E()}},e),this.emit("add"),this.#l()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#s?(this.#s=!1,this.#f(),this):this}pause(){this.#s=!0}clear(){this.#e=new this.#g}async onEmpty(){this.#e.size!==0&&await this.#h("empty")}async onSizeLessThan(t){this.#e.size<t||await this.#h("next",()=>this.#e.size<t)}async onIdle(){this.#n===0&&this.#e.size===0||await this.#h("idle")}async#h(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#e.size}sizeBy(t){return this.#e.filter(t).length}get pending(){return this.#n}get isPaused(){return this.#s}};var ut={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function Wo(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function Zo(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Jo(r,t){let e=Wo(r).return?.();Zo(e)&&e.catch(n=>{t.error("could not cause iterator to return",n)})}function me(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Xt(r=0){return globalThis.Buffer?.alloc!=null?me(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function bt(r=0){return globalThis.Buffer?.allocUnsafe!=null?me(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var Hl=Math.pow(2,7),Kl=Math.pow(2,14),Fl=Math.pow(2,21),oi=Math.pow(2,28),ai=Math.pow(2,35),ci=Math.pow(2,42),ui=Math.pow(2,49),$=128,wt=127;function Ue(r){if(r<Hl)return 1;if(r<Kl)return 2;if(r<Fl)return 3;if(r<oi)return 4;if(r<ai)return 5;if(r<ci)return 6;if(r<ui)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ql(r,t,e=0){switch(Ue(r)){case 8:t[e++]=r&255|$,r/=128;case 7:t[e++]=r&255|$,r/=128;case 6:t[e++]=r&255|$,r/=128;case 5:t[e++]=r&255|$,r/=128;case 4:t[e++]=r&255|$,r>>>=7;case 3:t[e++]=r&255|$,r>>>=7;case 2:t[e++]=r&255|$,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function $l(r,t,e=0){switch(Ue(r)){case 8:t.set(e++,r&255|$),r/=128;case 7:t.set(e++,r&255|$),r/=128;case 6:t.set(e++,r&255|$),r/=128;case 5:t.set(e++,r&255|$),r/=128;case 4:t.set(e++,r&255|$),r>>>=7;case 3:t.set(e++,r&255|$),r>>>=7;case 2:t.set(e++,r&255|$),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Gl(r,t){let e=r[t],n=0;if(n+=e&wt,e<$||(e=r[t+1],n+=(e&wt)<<7,e<$)||(e=r[t+2],n+=(e&wt)<<14,e<$)||(e=r[t+3],n+=(e&wt)<<21,e<$)||(e=r[t+4],n+=(e&wt)*oi,e<$)||(e=r[t+5],n+=(e&wt)*ai,e<$)||(e=r[t+6],n+=(e&wt)*ci,e<$)||(e=r[t+7],n+=(e&wt)*ui,e<$))return n;throw new RangeError("Could not decode varint")}function zl(r,t){let e=r.get(t),n=0;if(n+=e&wt,e<$||(e=r.get(t+1),n+=(e&wt)<<7,e<$)||(e=r.get(t+2),n+=(e&wt)<<14,e<$)||(e=r.get(t+3),n+=(e&wt)<<21,e<$)||(e=r.get(t+4),n+=(e&wt)*oi,e<$)||(e=r.get(t+5),n+=(e&wt)*ai,e<$)||(e=r.get(t+6),n+=(e&wt)*ci,e<$)||(e=r.get(t+7),n+=(e&wt)*ui,e<$))return n;throw new RangeError("Could not decode varint")}function Xo(r,t,e=0){return t==null&&(t=bt(Ue(r))),t instanceof Uint8Array?ql(r,t,e):$l(r,t,e)}function Qo(r,t=0){return r instanceof Uint8Array?Gl(r,t):zl(r,t)}function At(r,t){if(globalThis.Buffer!=null)return me(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=bt(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return me(e)}var ra=Symbol.for("@achingbrain/uint8arraylist");function ea(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function hn(r){return!!r?.[ra]}var ye=class r{bufs;length;[ra]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(hn(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(hn(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ea(this.bufs,t);return e.buf[e.index]}set(t,e){let n=ea(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(hn(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return At(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:At(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,f=e>a&&e<=c;if(l&&f){if(t===a&&e===c){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(f){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!hn(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u<i;u++)o[u]=-1;for(let u=0;u<s;u++)o[n[u]]=u;let a=o,c=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let u=e;u<=c;u+=f){f=0;for(let p=l;p>=0;p--){let w=this.get(u+p);if(n[p]!==w){f=Math.max(1,p-a[w]);break}}if(f===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=Xt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=Xt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!mt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,i)=>s+i.byteLength,0)),n.length=e,n}};function dn(r){return r[Symbol.asyncIterator]!=null}var pn=r=>{let t=Ue(r),e=bt(t);return Xo(r,e),pn.bytes=t,e};pn.bytes=0;function gn(r,t){t=t??{};let e=t.lengthEncoder??pn;function*n(s){let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return dn(r)?async function*(){for await(let s of r)yield*n(s)}():function*(){for(let s of r)yield*n(s)}()}gn.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??pn;return new ye(e(r.byteLength),r)};var lr=Rs(ia(),1);var Yl=8,Wl=1024*1024*4,Pe;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Pe||(Pe={}));var li=r=>{let t=Qo(r);return li.bytes=Ue(t),t};li.bytes=0;function Kr(r,t){let e=new ye,n=Pe.LENGTH,s=-1,i=t?.lengthDecoder??li,o=t?.maxLengthLength??Yl,a=t?.maxDataLength??Wl;function*c(){for(;e.byteLength>0;){if(n===Pe.LENGTH)try{if(s=i(e),s<0)throw(0,lr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>a)throw(0,lr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(s),n=Pe.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>o)throw(0,lr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(n===Pe.DATA){if(e.byteLength<s)break;let l=e.sublist(0,s);e.consume(s),t?.onData!=null&&t.onData(l),yield l,n=Pe.LENGTH}}}return dn(r)?async function*(){for await(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,lr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,lr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Kr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:o}=await r.next(e);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return Kr(n,{...t??{},onLength:i=>{e=i}})};var mn=class extends Ye{id;protocol;outboundStream;inboundStream;_rawOutboundStream;_rawInboundStream;_inboundAbortController;closed;log;constructor(t,e){super(),this.log=t.logger.forComponent("libp2p-pubsub:peer-streams"),this.id=e.id,this.protocol=e.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return!!this.inboundStream}get isWritable(){return!!this.outboundStream}write(t){if(this.outboundStream==null){let e=this.id.toString();throw new Error("No writable connection to "+e)}this.outboundStream.push(t instanceof Uint8Array?new ye(t):t)}attachInboundStream(t){let e=()=>{Jo(t.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",e,{once:!0}),this._rawInboundStream=t,this.inboundStream=Dr(this._rawInboundStream,n=>Kr(n)),this.dispatchEvent(new Ft("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let e=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=ur({onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.closeWrite().catch(s=>{this.log("error closing outbound stream",s)}),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new Ft("close"))}}),Dr(this.outboundStream,n=>gn(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),e==null&&this.dispatchEvent(new Ft("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new Ft("close")))}};var W={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var oa={SHA1:20,SHA256:32,SHA512:64};var Jl={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Xl=async(r,t)=>{let e=await W.get().subtle.sign({name:"HMAC"},r,t);return new Uint8Array(e,0,e.byteLength)};async function aa(r,t){let e=Jl[r],n=await W.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:e}},!1,["sign"]);return{async digest(s){return Xl(n,s)},length:oa[r]}}var nn={};it(nn,{Ed25519PrivateKey:()=>ie,Ed25519PublicKey:()=>Ke,MAX_RSA_KEY_SIZE:()=>$e,RsaPrivateKey:()=>Ne,RsaPublicKey:()=>qe,Secp256k1PrivateKey:()=>je,Secp256k1PublicKey:()=>ze,generateEphemeralKeyPair:()=>Ya,generateKeyPair:()=>ld,generateKeyPairFromSeed:()=>fd,importKey:()=>gd,keyStretcher:()=>Ja,keysPBM:()=>vr,marshalPrivateKey:()=>pd,marshalPublicKey:()=>dd,supportedKeys:()=>de,unmarshalPrivateKey:()=>nu,unmarshalPublicKey:()=>hd});var qi={};it(qi,{Ed25519PrivateKey:()=>ie,Ed25519PublicKey:()=>Ke,generateKeyPair:()=>bh,generateKeyPairFromSeed:()=>Fi,unmarshalEd25519PrivateKey:()=>mh,unmarshalEd25519PublicKey:()=>yh});function la(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ua=la("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),fi=la("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ql={utf8:ua,"utf-8":ua,hex:rr.base16,latin1:fi,ascii:fi,binary:fi,...rr},yn=Ql;function z(r,t="utf8"){let e=yn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?me(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function hi(r,t){let e=z(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=At([new Uint8Array(t-e.length),e])}return e}function _t(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function fr(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function tf(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function di(r,...t){if(!tf(r))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(r.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${r.length}`)}function bn(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");fr(r.outputLen),fr(r.blockLen)}function hr(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function fa(r,t){di(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var wn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ha(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var pr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Lt=(r,t)=>r<<32-t|r>>>t,ef=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ef)throw new Error("Non little-endian hardware is not supported");var rf=async()=>{};async function da(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let i=Date.now()-n;i>=0&&i<t||(await rf(),n+=i)}}function pi(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function be(r){if(typeof r=="string"&&(r=pi(r)),!ha(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function xn(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];if(!ha(s))throw new Error("Uint8Array expected");t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}var dr=class{clone(){return this._cloneInto()}},nf={}.toString;function pa(r,t){if(t!==void 0&&nf.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function En(r){let t=n=>r().update(be(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function gr(r=32){if(wn&&typeof wn.getRandomValues=="function")return wn.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function sf(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(e>>s&i),a=Number(e&i),c=n?4:0,l=n?0:4;r.setUint32(t+c,o,n),r.setUint32(t+l,a,n)}var mr=class extends dr{constructor(t,e,n,s){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=pr(this.buffer)}update(t){hr(this);let{view:e,buffer:n,blockLen:s}=this;t=be(t);let i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=pr(t);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){hr(this),fa(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let u=o;u<s;u++)e[u]=0;sf(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=pr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,f[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return t.length=s,t.pos=a,t.finished=i,t.destroyed=o,s%e&&t.buffer.set(n),t}};var vn=BigInt(4294967295),gi=BigInt(32);function ga(r,t=!1){return t?{h:Number(r&vn),l:Number(r>>gi&vn)}:{h:Number(r>>gi&vn)|0,l:Number(r&vn)|0}}function of(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=ga(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var af=(r,t)=>BigInt(r>>>0)<<gi|BigInt(t>>>0),cf=(r,t,e)=>r>>>e,uf=(r,t,e)=>r<<32-e|t>>>e,lf=(r,t,e)=>r>>>e|t<<32-e,ff=(r,t,e)=>r<<32-e|t>>>e,hf=(r,t,e)=>r<<64-e|t>>>e-32,df=(r,t,e)=>r>>>e-32|t<<64-e,pf=(r,t)=>t,gf=(r,t)=>r,mf=(r,t,e)=>r<<e|t>>>32-e,yf=(r,t,e)=>t<<e|r>>>32-e,bf=(r,t,e)=>t<<e-32|r>>>64-e,wf=(r,t,e)=>r<<e-32|t>>>64-e;function xf(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var Ef=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),vf=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Bf=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Af=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,Sf=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),If=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var kf={fromBig:ga,split:of,toBig:af,shrSH:cf,shrSL:uf,rotrSH:lf,rotrSL:ff,rotrBH:hf,rotrBL:df,rotr32H:pf,rotr32L:gf,rotlSH:mf,rotlSL:yf,rotlBH:bf,rotlBL:wf,add:xf,add3L:Ef,add3H:vf,add4L:Bf,add4H:Af,add5H:If,add5L:Sf},U=kf;var[Nf,Rf]=U.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),we=new Uint32Array(80),xe=new Uint32Array(80),mi=class extends mr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:f,Fh:u,Fl:p,Gh:w,Gl:g,Hh:h,Hl:d}=this;return[t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d]}set(t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=f|0,this.Fh=u|0,this.Fl=p|0,this.Gh=w|0,this.Gl=g|0,this.Hh=h|0,this.Hl=d|0}process(t,e){for(let b=0;b<16;b++,e+=4)we[b]=t.getUint32(e),xe[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let T=we[b-15]|0,E=xe[b-15]|0,S=U.rotrSH(T,E,1)^U.rotrSH(T,E,8)^U.shrSH(T,E,7),R=U.rotrSL(T,E,1)^U.rotrSL(T,E,8)^U.shrSL(T,E,7),_=we[b-2]|0,q=xe[b-2]|0,K=U.rotrSH(_,q,19)^U.rotrBH(_,q,61)^U.shrSH(_,q,6),P=U.rotrSL(_,q,19)^U.rotrBL(_,q,61)^U.shrSL(_,q,6),nt=U.add4L(R,P,xe[b-7],xe[b-16]),rt=U.add4H(nt,S,K,we[b-7],we[b-16]);we[b]=rt|0,xe[b]=nt|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:p,Fh:w,Fl:g,Gh:h,Gl:d,Hh:m,Hl:x}=this;for(let b=0;b<80;b++){let T=U.rotrSH(u,p,14)^U.rotrSH(u,p,18)^U.rotrBH(u,p,41),E=U.rotrSL(u,p,14)^U.rotrSL(u,p,18)^U.rotrBL(u,p,41),S=u&w^~u&h,R=p&g^~p&d,_=U.add5L(x,E,R,Rf[b],xe[b]),q=U.add5H(_,m,T,S,Nf[b],we[b]),K=_|0,P=U.rotrSH(n,s,28)^U.rotrBH(n,s,34)^U.rotrBH(n,s,39),nt=U.rotrSL(n,s,28)^U.rotrBL(n,s,34)^U.rotrBL(n,s,39),rt=n&i^n&a^i&a,Rt=s&o^s&c^o&c;m=h|0,x=d|0,h=w|0,d=g|0,w=u|0,g=p|0,{h:u,l:p}=U.add(l|0,f|0,q|0,K|0),l=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let v=U.add3L(K,nt,Rt);n=U.add3H(v,q,P,rt),s=v|0}({h:n,l:s}=U.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=U.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=U.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=U.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:p}=U.add(this.Eh|0,this.El|0,u|0,p|0),{h:w,l:g}=U.add(this.Fh|0,this.Fl|0,w|0,g|0),{h,l:d}=U.add(this.Gh|0,this.Gl|0,h|0,d|0),{h:m,l:x}=U.add(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,s,i,o,a,c,l,f,u,p,w,g,h,d,m,x)}roundClean(){we.fill(0),xe.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var yr=En(()=>new mi);var An={};it(An,{bitGet:()=>Df,bitLen:()=>Pf,bitMask:()=>Fr,bitSet:()=>Of,bytesToHex:()=>te,bytesToNumberBE:()=>ee,bytesToNumberLE:()=>Ee,concatBytes:()=>re,createHmacDrbg:()=>wi,ensureBytes:()=>et,equalBytes:()=>Lf,hexToBytes:()=>De,hexToNumber:()=>bi,isBytes:()=>Ut,numberToBytesBE:()=>ve,numberToBytesLE:()=>Oe,numberToHexUnpadded:()=>wa,numberToVarBytesBE:()=>Cf,utf8ToBytes:()=>Uf,validateObject:()=>Gt});var ba=BigInt(0),Bn=BigInt(1),_f=BigInt(2);function Ut(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var Tf=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function te(r){if(!Ut(r))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=Tf[r[e]];return t}function wa(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function bi(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Qt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ma(r){if(r>=Qt._0&&r<=Qt._9)return r-Qt._0;if(r>=Qt._A&&r<=Qt._F)return r-(Qt._A-10);if(r>=Qt._a&&r<=Qt._f)return r-(Qt._a-10)}function De(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,i=0;s<e;s++,i+=2){let o=ma(r.charCodeAt(i)),a=ma(r.charCodeAt(i+1));if(o===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function ee(r){return bi(te(r))}function Ee(r){if(!Ut(r))throw new Error("Uint8Array expected");return bi(te(Uint8Array.from(r).reverse()))}function ve(r,t){return De(r.toString(16).padStart(t*2,"0"))}function Oe(r,t){return ve(r,t).reverse()}function Cf(r){return De(wa(r))}function et(r,t,e){let n;if(typeof t=="string")try{n=De(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(Ut(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(`${r} expected ${e} bytes, got ${s}`);return n}function re(...r){let t=0;for(let s=0;s<r.length;s++){let i=r[s];if(!Ut(i))throw new Error("Uint8Array expected");t+=i.length}let e=new Uint8Array(t),n=0;for(let s=0;s<r.length;s++){let i=r[s];e.set(i,n),n+=i.length}return e}function Lf(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function Uf(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Pf(r){let t;for(t=0;r>ba;r>>=Bn,t+=1);return t}function Df(r,t){return r>>BigInt(t)&Bn}var Of=(r,t,e)=>r|(e?Bn:ba)<<BigInt(t),Fr=r=>(_f<<BigInt(r-1))-Bn,yi=r=>new Uint8Array(r),ya=r=>Uint8Array.from(r);function wi(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=yi(r),s=yi(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=yi())=>{s=a(ya([0]),u),n=a(),u.length!==0&&(s=a(ya([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,p=[];for(;u<t;){n=a();let w=n.slice();p.push(w),u+=n.length}return re(...p)};return(u,p)=>{o(),c(u);let w;for(;!(w=p(l()));)c();return o(),w}}var Vf={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Ut(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Gt(r,t,e={}){let n=(s,i,o)=>{let a=Vf[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(t))n(s,i,!1);for(let[s,i]of Object.entries(e))n(s,i,!0);return r}var lt=BigInt(0),Z=BigInt(1),Ve=BigInt(2),Mf=BigInt(3),xi=BigInt(4),xa=BigInt(5),Ea=BigInt(8),Hf=BigInt(9),Kf=BigInt(16);function j(r,t){let e=r%t;return e>=lt?e:t+e}function Ff(r,t,e){if(e<=lt||t<lt)throw new Error("Expected power/modulo > 0");if(e===Z)return lt;let n=Z;for(;t>lt;)t&Z&&(n=n*r%e),r=r*r%e,t>>=Z;return n}function J(r,t,e){let n=r;for(;t-- >lt;)n*=n,n%=e;return n}function Sn(r,t){if(r===lt||t<=lt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=j(r,t),n=t,s=lt,i=Z,o=Z,a=lt;for(;e!==lt;){let l=n/e,f=n%e,u=s-o*l,p=i-a*l;n=e,e=f,s=o,i=a,o=u,a=p}if(n!==Z)throw new Error("invert: does not exist");return j(s,t)}function qf(r){let t=(r-Z)/Ve,e,n,s;for(e=r-Z,n=0;e%Ve===lt;e/=Ve,n++);for(s=Ve;s<r&&Ff(s,t,r)!==r-Z;s++);if(n===1){let o=(r+Z)/xi;return function(c,l){let f=c.pow(l,o);if(!c.eql(c.sqr(f),l))throw new Error("Cannot find square root");return f}}let i=(e+Z)/Ve;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,f=a.pow(a.mul(a.ONE,s),e),u=a.pow(c,i),p=a.pow(c,e);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let w=1;for(let h=a.sqr(p);w<l&&!a.eql(h,a.ONE);w++)h=a.sqr(h);let g=a.pow(f,Z<<BigInt(l-w-1));f=a.sqr(g),u=a.mul(u,g),p=a.mul(p,f),l=w}return u}}function $f(r){if(r%xi===Mf){let t=(r+Z)/xi;return function(n,s){let i=n.pow(s,t);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%Ea===xa){let t=(r-xa)/Ea;return function(n,s){let i=n.mul(s,Ve),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Ve),o),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return r%Kf,qf(r)}var va=(r,t)=>(j(r,t)&Z)===Z,Gf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ei(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Gf.reduce((n,s)=>(n[s]="function",n),t);return Gt(r,e)}function zf(r,t,e){if(e<lt)throw new Error("Expected power > 0");if(e===lt)return r.ONE;if(e===Z)return t;let n=r.ONE,s=t;for(;e>lt;)e&Z&&(n=r.mul(n,s)),s=r.sqr(s),e>>=Z;return n}function jf(r,t){let e=new Array(t.length),n=t.reduce((i,o,a)=>r.is0(o)?i:(e[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return t.reduceRight((i,o,a)=>r.is0(o)?i:(e[a]=r.mul(i,e[a]),r.mul(i,o)),s),e}function vi(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function In(r,t,e=!1,n={}){if(r<=lt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=vi(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=$f(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:Fr(s),ZERO:lt,ONE:Z,create:c=>j(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return lt<=c&&c<r},is0:c=>c===lt,isOdd:c=>(c&Z)===Z,neg:c=>j(-c,r),eql:(c,l)=>c===l,sqr:c=>j(c*c,r),add:(c,l)=>j(c+l,r),sub:(c,l)=>j(c-l,r),mul:(c,l)=>j(c*l,r),pow:(c,l)=>zf(a,c,l),div:(c,l)=>j(c*Sn(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Sn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>jf(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?Oe(c,i):ve(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?Ee(c):ee(c)}});return Object.freeze(a)}function Ba(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function Aa(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Bi(r){let t=Aa(r);return t+Math.ceil(t/2)}function Sa(r,t,e=!1){let n=r.length,s=Aa(t),i=Bi(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?ee(r):Ee(r),a=j(o,t-Z)+Z;return e?Oe(a,s):ve(a,s)}var Wf=BigInt(0),Ai=BigInt(1);function kn(r,t){let e=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(t/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:e,unsafeLadder(s,i){let o=r.ZERO,a=s;for(;i>Wf;)i&Ai&&(o=o.add(a)),a=a.double(),i>>=Ai;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),c=[],l=s,f=l;for(let u=0;u<o;u++){f=l,c.push(f);for(let p=1;p<a;p++)f=f.add(l),c.push(f);l=f.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=n(s),l=r.ZERO,f=r.BASE,u=BigInt(2**s-1),p=2**s,w=BigInt(s);for(let g=0;g<a;g++){let h=g*c,d=Number(o&u);o>>=w,d>c&&(d-=p,o+=Ai);let m=h,x=h+Math.abs(d)-1,b=g%2!==0,T=d<0;d===0?f=f.add(e(b,i[m])):l=l.add(e(T,i[x]))}return{p:l,f}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function qr(r){return Ei(r.Fp),Gt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...vi(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Pt=BigInt(0),Nt=BigInt(1),Nn=BigInt(2),Zf=BigInt(8),Jf={zip215:!0};function Xf(r){let t=qr(r);return Gt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Rn(r){let t=Xf(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,l=Nn<<BigInt(a*8)-Nt,f=e.create,u=t.uvRatio||((B,y)=>{try{return{isValid:!0,value:e.sqrt(B*e.inv(y))}}catch{return{isValid:!1,value:Pt}}}),p=t.adjustScalarBytes||(B=>B),w=t.domain||((B,y,k)=>{if(y.length||k)throw new Error("Contexts/pre-hash are not supported");return B}),g=B=>typeof B=="bigint"&&Pt<B,h=(B,y)=>g(B)&&g(y)&&B<y,d=B=>B===Pt||h(B,l);function m(B,y){if(h(B,y))return B;throw new Error(`Expected valid scalar < ${y}, got ${typeof B} ${B}`)}function x(B){return B===Pt?B:m(B,n)}let b=new Map;function T(B){if(!(B instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(y,k,C,L){if(this.ex=y,this.ey=k,this.ez=C,this.et=L,!d(y))throw new Error("x required");if(!d(k))throw new Error("y required");if(!d(C))throw new Error("z required");if(!d(L))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(y){if(y instanceof E)throw new Error("extended point not allowed");let{x:k,y:C}=y||{};if(!d(k)||!d(C))throw new Error("invalid affine point");return new E(k,C,Nt,f(k*C))}static normalizeZ(y){let k=e.invertBatch(y.map(C=>C.ez));return y.map((C,L)=>C.toAffine(k[L])).map(E.fromAffine)}_setWindowSize(y){this._WINDOW_SIZE=y,b.delete(this)}assertValidity(){let{a:y,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:C,ey:L,ez:O,et:V}=this,G=f(C*C),H=f(L*L),F=f(O*O),st=f(F*F),Q=f(G*y),ht=f(F*f(Q+H)),dt=f(st+f(k*f(G*H)));if(ht!==dt)throw new Error("bad point: equation left != right (1)");let at=f(C*L),gt=f(O*V);if(at!==gt)throw new Error("bad point: equation left != right (2)")}equals(y){T(y);let{ex:k,ey:C,ez:L}=this,{ex:O,ey:V,ez:G}=y,H=f(k*G),F=f(O*L),st=f(C*G),Q=f(V*L);return H===F&&st===Q}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:y}=t,{ex:k,ey:C,ez:L}=this,O=f(k*k),V=f(C*C),G=f(Nn*f(L*L)),H=f(y*O),F=k+C,st=f(f(F*F)-O-V),Q=H+V,ht=Q-G,dt=H-V,at=f(st*ht),gt=f(Q*dt),Zt=f(st*dt),Te=f(ht*Q);return new E(at,gt,Te,Zt)}add(y){T(y);let{a:k,d:C}=t,{ex:L,ey:O,ez:V,et:G}=this,{ex:H,ey:F,ez:st,et:Q}=y;if(k===BigInt(-1)){let fo=f((O-L)*(F+H)),ho=f((O+L)*(F-H)),ks=f(ho-fo);if(ks===Pt)return this.double();let po=f(V*Nn*Q),go=f(G*Nn*st),mo=go+po,yo=ho+fo,bo=go-po,mu=f(mo*ks),yu=f(yo*bo),bu=f(mo*bo),wu=f(ks*yo);return new E(mu,yu,wu,bu)}let ht=f(L*H),dt=f(O*F),at=f(G*C*Q),gt=f(V*st),Zt=f((L+O)*(H+F)-ht-dt),Te=gt-at,Nr=gt+at,lo=f(dt-k*ht),hu=f(Zt*Te),du=f(Nr*lo),pu=f(Zt*lo),gu=f(Te*Nr);return new E(hu,du,gu,pu)}subtract(y){return this.add(y.negate())}wNAF(y){return _.wNAFCached(this,b,y,E.normalizeZ)}multiply(y){let{p:k,f:C}=this.wNAF(m(y,n));return E.normalizeZ([k,C])[0]}multiplyUnsafe(y){let k=x(y);return k===Pt?R:this.equals(R)||k===Nt?this:this.equals(S)?this.wNAF(k).p:_.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return _.unsafeLadder(this,n).is0()}toAffine(y){let{ex:k,ey:C,ez:L}=this,O=this.is0();y==null&&(y=O?Zf:e.inv(L));let V=f(k*y),G=f(C*y),H=f(L*y);if(O)return{x:Pt,y:Nt};if(H!==Nt)throw new Error("invZ was invalid");return{x:V,y:G}}clearCofactor(){let{h:y}=t;return y===Nt?this:this.multiplyUnsafe(y)}static fromHex(y,k=!1){let{d:C,a:L}=t,O=e.BYTES;y=et("pointHex",y,O);let V=y.slice(),G=y[O-1];V[O-1]=G&-129;let H=Ee(V);H===Pt||(k?m(H,l):m(H,e.ORDER));let F=f(H*H),st=f(F-Nt),Q=f(C*F-L),{isValid:ht,value:dt}=u(st,Q);if(!ht)throw new Error("Point.fromHex: invalid y coordinate");let at=(dt&Nt)===Nt,gt=(G&128)!==0;if(!k&&dt===Pt&>)throw new Error("Point.fromHex: x=0 and x_0=1");return gt!==at&&(dt=f(-dt)),E.fromAffine({x:dt,y:H})}static fromPrivateKey(y){return P(y).point}toRawBytes(){let{x:y,y:k}=this.toAffine(),C=Oe(k,e.BYTES);return C[C.length-1]|=y&Nt?128:0,C}toHex(){return te(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,Nt,f(t.Gx*t.Gy)),E.ZERO=new E(Pt,Nt,Nt,Pt);let{BASE:S,ZERO:R}=E,_=kn(E,a*8);function q(B){return j(B,n)}function K(B){return q(Ee(B))}function P(B){let y=a;B=et("private key",B,y);let k=et("hashed private key",i(B),2*y),C=p(k.slice(0,y)),L=k.slice(y,2*y),O=K(C),V=S.multiply(O),G=V.toRawBytes();return{head:C,prefix:L,scalar:O,point:V,pointBytes:G}}function nt(B){return P(B).pointBytes}function rt(B=new Uint8Array,...y){let k=re(...y);return K(i(w(k,et("context",B),!!s)))}function Rt(B,y,k={}){B=et("message",B),s&&(B=s(B));let{prefix:C,scalar:L,pointBytes:O}=P(y),V=rt(k.context,C,B),G=S.multiply(V).toRawBytes(),H=rt(k.context,G,O,B),F=q(V+H*L);x(F);let st=re(G,Oe(F,e.BYTES));return et("result",st,a*2)}let v=Jf;function N(B,y,k,C=v){let{context:L,zip215:O}=C,V=e.BYTES;B=et("signature",B,2*V),y=et("message",y),s&&(y=s(y));let G=Ee(B.slice(V,2*V)),H,F,st;try{H=E.fromHex(k,O),F=E.fromHex(B.slice(0,V),O),st=S.multiplyUnsafe(G)}catch{return!1}if(!O&&H.isSmallOrder())return!1;let Q=rt(L,F.toRawBytes(),H.toRawBytes(),y);return F.add(H.multiplyUnsafe(Q)).subtract(st).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:nt,sign:Rt,verify:N,ExtendedPoint:E,utils:{getExtendedPublicKey:P,randomPrivateKey:()=>o(e.BYTES),precompute(B=8,y=E.BASE){return y._setWindowSize(B),y.multiply(BigInt(3)),y}}}}var Ii=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ia=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),xm=BigInt(0),Qf=BigInt(1),Si=BigInt(2),th=BigInt(5),ka=BigInt(10),eh=BigInt(20),rh=BigInt(40),Na=BigInt(80);function nh(r){let t=Ii,n=r*r%t*r%t,s=J(n,Si,t)*n%t,i=J(s,Qf,t)*r%t,o=J(i,th,t)*i%t,a=J(o,ka,t)*o%t,c=J(a,eh,t)*a%t,l=J(c,rh,t)*c%t,f=J(l,Na,t)*l%t,u=J(f,Na,t)*l%t,p=J(u,ka,t)*o%t;return{pow_p_5_8:J(p,Si,t)*r%t,b2:n}}function sh(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function ih(r,t){let e=Ii,n=j(t*t*t,e),s=j(n*n*t,e),i=nh(r*s).pow_p_5_8,o=j(r*n*i,e),a=j(t*o*o,e),c=o,l=j(o*Ia,e),f=a===r,u=a===j(-r,e),p=a===j(-r*Ia,e);return f&&(o=c),(u||p)&&(o=l),va(o,e)&&(o=j(-o,e)),{isValid:f||u,value:o}}var ne=In(Ii,void 0,!0),ki={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ne,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:yr,randomBytes:gr,adjustScalarBytes:sh,uvRatio:ih},br=Rn(ki);function Ra(r,t,e){if(t.length>255)throw new Error("Context is too big");return xn(pi("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var Em=Rn({...ki,domain:Ra}),vm=Rn({...ki,domain:Ra,prehash:yr});var oh=(ne.ORDER+BigInt(3))/BigInt(8),Bm=ne.pow(Si,oh),Am=ne.sqrt(ne.neg(ne.ONE)),Sm=(ne.ORDER-BigInt(5))/BigInt(8),Im=BigInt(486662);var km=Ba(ne,ne.neg(BigInt(486664)));var Nm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Rm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),_m=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Tm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Cm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var wr=32,se=64,_n=32;function _a(){let r=br.utils.randomPrivateKey(),t=br.getPublicKey(r);return{privateKey:Ua(r,t),publicKey:t}}function Ta(r){if(r.length!==_n)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=br.getPublicKey(t);return{privateKey:Ua(t,e),publicKey:e}}function Ca(r,t){let e=r.subarray(0,_n);return br.sign(t instanceof Uint8Array?t:t.subarray(),e)}function La(r,t,e){return br.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function Ua(r,t){let e=new Uint8Array(se);for(let n=0;n<_n;n++)e[n]=r[n],e[_n+n]=t[n];return e}var Ni={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Tn(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,s=r?.digest??"SHA-256",i=r?.saltLength??16,o=r?.iterations??32767,a=W.get();e*=8;async function c(u,p){let w=a.getRandomValues(new Uint8Array(i)),g=a.getRandomValues(new Uint8Array(n)),h={name:t,iv:g};typeof p=="string"&&(p=z(p));let d;if(p.length===0){d=await a.subtle.importKey("jwk",Ni,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{d=await a.subtle.importKey("jwk",Ni,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let m=await a.subtle.encrypt(h,d,u);return At([w,h.iv,new Uint8Array(m)])}async function l(u,p){let w=u.subarray(0,i),g=u.subarray(i,i+n),h=u.subarray(i+n),d={name:t,iv:g};typeof p=="string"&&(p=z(p));let m;if(p.length===0)try{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",Ni,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(d,m,h);return new Uint8Array(x)}return{encrypt:c,decrypt:l}}async function xr(r,t){let n=await Tn().encrypt(r,t);return Je.encode(n)}var vr={};it(vr,{KeyType:()=>Y,PrivateKey:()=>Vt,PublicKey:()=>Ot});var Ri=new Float32Array([-0]),Be=new Uint8Array(Ri.buffer);function Da(r,t,e){Ri[0]=r,t[e]=Be[0],t[e+1]=Be[1],t[e+2]=Be[2],t[e+3]=Be[3]}function Oa(r,t){return Be[0]=r[t],Be[1]=r[t+1],Be[2]=r[t+2],Be[3]=r[t+3],Ri[0]}var _i=new Float64Array([-0]),xt=new Uint8Array(_i.buffer);function Va(r,t,e){_i[0]=r,t[e]=xt[0],t[e+1]=xt[1],t[e+2]=xt[2],t[e+3]=xt[3],t[e+4]=xt[4],t[e+5]=xt[5],t[e+6]=xt[6],t[e+7]=xt[7]}function Ma(r,t){return xt[0]=r[t],xt[1]=r[t+1],xt[2]=r[t+2],xt[3]=r[t+3],xt[4]=r[t+4],xt[5]=r[t+5],xt[6]=r[t+6],xt[7]=r[t+7],_i[0]}var ch=BigInt(Number.MAX_SAFE_INTEGER),uh=BigInt(Number.MIN_SAFE_INTEGER),It=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Me;if(t<ch&&t>uh)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>Ha&&(s=0n,++n>Ha&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Me;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Me}},Me=new It(0,0);Me.toBigInt=function(){return 0n};Me.zzEncode=Me.zzDecode=function(){return this};Me.length=function(){return 1};var Ha=4294967296n;function Ka(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Fa(r,t,e){if(e-t<1)return"";let s,i=[],o=0,a;for(;t<e;)a=r[t++],a<128?i[o++]=a:a>191&&a<224?i[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,i)),o=0);return s!=null?(o>0&&s.push(String.fromCharCode.apply(String,i.slice(0,o))),s.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function Ti(r,t,e){let n=e,s,i;for(let o=0;o<r.length;++o)s=r.charCodeAt(o),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((i=r.charCodeAt(o+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++o,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Dt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Cn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Ci=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Dt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Dt(this,4);return Cn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Dt(this,4);return Cn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Dt(this,4);let t=Oa(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Dt(this,4);let t=Ma(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Dt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Fa(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Dt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Dt(this);while(this.buf[this.pos++]&128);return this}skipType(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}readLongVarint(){let t=new It(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 Dt(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 Dt(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")}readFixed64(){if(this.pos+8>this.len)throw Dt(this,8);let t=Cn(this.buf,this.pos+=4),e=Cn(this.buf,this.pos+=4);return new It(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Li(r){return new Ci(r instanceof Uint8Array?r:r.subarray())}function Ln(r,t){let e=Li(r);return t.decode(e)}function Ui(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return bt(o);s+o>t&&(n=bt(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var He=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Pi(){}var Oi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},lh=Ui();function fh(r){return globalThis.Buffer!=null?bt(r):lh(r)}var zr=class{len;head;tail;states;constructor(){this.len=0,this.head=new He(Pi,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new He(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Vi((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push($r,10,It.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=It.fromBigInt(t);return this._push($r,e.length(),e)}uint64Number(t){let e=It.fromNumber(t);return this._push($r,e.length(),e)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=It.fromBigInt(t).zzEncode();return this._push($r,e.length(),e)}sint64Number(t){let e=It.fromNumber(t).zzEncode();return this._push($r,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Di,1,t?1:0)}fixed32(t){return this._push(Gr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=It.fromBigInt(t);return this._push(Gr,4,e.lo)._push(Gr,4,e.hi)}fixed64Number(t){let e=It.fromNumber(t);return this._push(Gr,4,e.lo)._push(Gr,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Da,4,t)}double(t){return this._push(Va,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Di,1,0):this.uint32(e)._push(dh,e,t)}string(t){let e=Ka(t);return e!==0?this.uint32(e)._push(Ti,e,t):this._push(Di,1,0)}fork(){return this.states=new Oi(this),this.head=this.tail=new He(Pi,0,0),this.len=0,this}reset(){return this.states!=null?(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 He(Pi,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=fh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Di(r,t,e){t[e]=r&255}function hh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Vi=class extends He{next;constructor(t,e){super(hh,t,e),this.next=void 0}};function $r(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Gr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function dh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(zr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(ph,t,r),this},zr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(gh,t,r),this});function ph(r,t,e){t.set(r,e)}function gh(r,t,e){r.length<40?Ti(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(z(r),e)}function Mi(){return new zr}function Un(r,t){let e=Mi();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Er;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Er||(Er={}));function Pn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Hi(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,o){let a=t(i);o.int32(a)},n=function(i){let o=i.int32();return t(o)};return Pn("enum",Er.VARINT,e,n)}function Dn(r,t){return Pn("message",Er.LENGTH_DELIMITED,r,t)}var Y;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(Y||(Y={}));var Ki;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Ki||(Ki={}));(function(r){r.codec=()=>Hi(Ki)})(Y||(Y={}));var Ot;(function(r){let t;r.codec=()=>(t==null&&(t=Dn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Y.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=Y.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Un(e,r.codec()),r.decode=e=>Ln(e,r.codec())})(Ot||(Ot={}));var Vt;(function(r){let t;r.codec=()=>(t==null&&(t=Dn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Y.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=Y.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Un(e,r.codec()),r.decode=e=>Ln(e,r.codec())})(Vt||(Vt={}));var Ke=class{_key;constructor(t){this._key=Br(t,wr)}verify(t,e){return La(this._key,e,t)}marshal(){return this._key}get bytes(){return Ot.encode({Type:Y.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}},ie=class{_key;_publicKey;constructor(t,e){this._key=Br(t,se),this._publicKey=Br(e,wr)}sign(t){return Ca(this._key,t)}get public(){return new Ke(this._publicKey)}marshal(){return this._key}get bytes(){return Vt.encode({Type:Y.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return _t(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=ge.digest(this.public.bytes);return vt.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return xr(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function mh(r){if(r.length>se){r=Br(r,se+wr);let n=r.subarray(0,se),s=r.subarray(se,r.length);return new ie(n,s)}r=Br(r,se);let t=r.subarray(0,se),e=r.subarray(wr);return new ie(t,e)}function yh(r){return r=Br(r,wr),new Ke(r)}async function bh(){let{privateKey:r,publicKey:t}=_a();return new ie(r,t)}async function Fi(r){let{privateKey:t,publicKey:e}=Ta(r);return new ie(t,e)}function Br(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new A(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function X(r,t="utf8"){let e=yn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var $a={"P-256":256,"P-384":384,"P-521":521},wh=Object.keys($a),$i=wh.join(" / ");async function Ga(r){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${$i}`,"ERR_INVALID_CURVE");let t=await W.get().subtle.generateKey({name:"ECDH",namedCurve:r},!0,["deriveBits"]),e=async(i,o)=>{let a;o!=null?a=await W.get().subtle.importKey("jwk",Eh(r,o),{name:"ECDH",namedCurve:r},!1,["deriveBits"]):a=t.privateKey;let c=await W.get().subtle.importKey("jwk",ja(r,i),{name:"ECDH",namedCurve:r},!1,[]),l=await W.get().subtle.deriveBits({name:"ECDH",namedCurve:r,public:c},a,$a[r]);return new Uint8Array(l,0,l.byteLength)},n=await W.get().subtle.exportKey("jwk",t.publicKey);return{key:xh(n),genSharedKey:e}}var za={"P-256":32,"P-384":48,"P-521":66};function xh(r){if(r.crv==null||r.x==null||r.y==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");if(r.crv!=="P-256"&&r.crv!=="P-384"&&r.crv!=="P-521")throw new A(`Unknown curve: ${r.crv}. Must be ${$i}`,"ERR_INVALID_CURVE");let t=za[r.crv];return At([Uint8Array.from([4]),hi(r.x,t),hi(r.y,t)],1+t*2)}function ja(r,t){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${$i}`,"ERR_INVALID_CURVE");let e=za[r];if(!mt(t.subarray(0,1),Uint8Array.from([4])))throw new A("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:r,x:X(t.subarray(1,e+1),"base64url"),y:X(t.subarray(1+e),"base64url"),ext:!0}}var Eh=(r,t)=>({...ja(r,t.public),d:X(t.private,"base64url")});var Ya=Ga;async function Wa(r,t){let e=Je.decode(r);return Tn().decrypt(e,t)}var Za={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Ja(r,t,e){let n=Za[r];if(n==null){let x=Object.keys(Za).join(" / ");throw new A(`unknown cipher type '${r}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new A("missing hash type","ERR_MISSING_HASH_TYPE");let s=n.keySize,i=n.ivSize,o=20,a=z("key expansion"),c=2*(i+s+o),l=await aa(t,e),f=await l.digest(a),u=[],p=0;for(;p<c;){let x=await l.digest(At([f,a])),b=x.length;p+b>c&&(b=c-p),u.push(x),p+=b,f=await l.digest(f)}let w=c/2,g=At(u),h=g.subarray(0,w),d=g.subarray(w,c),m=x=>({iv:x.subarray(0,i),cipherKey:x.subarray(i,i+s),macKey:x.subarray(i+s)});return{k1:m(h),k2:m(d)}}var eo={};it(eo,{MAX_RSA_KEY_SIZE:()=>$e,RsaPrivateKey:()=>Ne,RsaPublicKey:()=>qe,fromJwk:()=>jh,generateKeyPair:()=>Yh,unmarshalRsaPrivateKey:()=>Qi,unmarshalRsaPublicKey:()=>zh});function zt(r){if(isNaN(r)||r<=0)throw new A("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return gr(r)}var ke={};it(ke,{exportToPem:()=>Fh,importFromPem:()=>Xi,jwkToPkcs1:()=>Vh,jwkToPkix:()=>Hh,pkcs1ToJwk:()=>Oh,pkixToJwk:()=>Mh});var On=class extends dr{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,bn(t);let n=be(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return hr(this),this.iHash.update(t),this}digestInto(t){hr(this),di(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},jr=(r,t,e)=>new On(r,t).update(e).digest();jr.create=(r,t)=>new On(r,t);function vh(r,t,e,n){bn(r);let s=pa({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(fr(i),fr(o),fr(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=be(t),l=be(e),f=new Uint8Array(o),u=jr.create(r,c),p=u._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:f,PRF:u,PRFSalt:p}}function Bh(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),s.fill(0),e}async function Gi(r,t,e,n){let{c:s,dkLen:i,asyncTick:o,DK:a,PRF:c,PRFSalt:l}=vh(r,t,e,n),f,u=new Uint8Array(4),p=pr(u),w=new Uint8Array(c.outputLen);for(let g=1,h=0;h<i;g++,h+=c.outputLen){let d=a.subarray(h,h+c.outputLen);p.setInt32(0,g,!1),(f=l._cloneInto(f)).update(u).digestInto(w),d.set(w.subarray(0,d.length)),await da(s-1,o,()=>{c._cloneInto(f).update(w).digestInto(w);for(let m=0;m<d.length;m++)d[m]^=w[m]})}return Bh(c,l,a,f,w)}var M=Rs(Xa());function Fe(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Ae(r,t,e=-1){let n=e,s=r,i=0,o=Math.pow(2,t);for(let a=1;a<8;a++){if(r<o){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let l=new Uint8Array(c);for(let f=a-1;f>=0;f--){let u=Math.pow(2,f*t);l[i-f-1]=Math.floor(s/u),s-=l[i-f-1]*u}return c}o*=Math.pow(2,t)}return new ArrayBuffer(0)}function Hn(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let i of r)s.set(i,e),e+=i.length;return s}function ji(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Fe(e,8),s=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,Fe(i,8)-n}function Qa(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let o=e-t,a=Ae(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Ae(t,8,n),i=new Uint8Array(s);if(i[0]&128){let o=s.slice(0),a=new Uint8Array(o);s=new ArrayBuffer(s.byteLength+1),i=new Uint8Array(s);for(let c=0;c<o.byteLength;c++)i[c+1]=a[c];i[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function tc(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function kt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let o=0;o<n;o++)s[o]="0";return s.join("").concat(e)}var Jy=Math.log(2);function Kn(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Yi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let i=r[s];t+=i.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let i=r[s];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function le(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Wr=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Yi(this.items)}},Yr=[new Uint8Array([1])],ec="0123456789";var Ir="",Ht=new ArrayBuffer(0),Wi=new Uint8Array(0),Zr="EndOfContent",nc="OCTET STRING",sc="BIT STRING";function fe(r){var t;return t=class extends r{constructor(...n){var s;super(...n);let i=n[0]||{};this.isHexOnly=(s=i.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=i.valueHex?M.BufferSourceConverter.toUint8Array(i.valueHex):Wi}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,s,i){let o=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!le(this,o,s,i))return-1;let a=s+i;return this.valueHexView=o.subarray(s,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ht)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:M.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var ae=class{constructor({blockLength:t=0,error:e=Ir,warnings:n=[],valueBeforeDecode:s=Wi}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=M.BufferSourceConverter.toUint8Array(s)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:M.Convert.ToHex(this.valueBeforeDecodeView)}}};ae.NAME="baseBlock";var Et=class extends ae{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Et.NAME="valueBlock";var Fn=class extends fe(ae){constructor({idBlock:t={}}={}){var e,n,s,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?M.BufferSourceConverter.toUint8Array(t.valueHex):Wi,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ht}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=Ae(this.tagNumber,7),i=new Uint8Array(s),o=s.byteLength,a=new Uint8Array(o+1);if(a[0]=e|31,!t){for(let c=0;c<o-1;c++)a[c+1]=i[c]|128;a[o]=i[o-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let i=0;i<s.length-1;i++)n[i+1]=s[i]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!le(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),f=255;for(;i[c]&128;){if(l[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let p=new Uint8Array(f);for(let w=0;w<l.length;w++)p[w]=l[w];l=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,l[c-1]=i[c]&127;let u=new Uint8Array(c);for(let p=0;p<c;p++)u[p]=l[p];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Fe(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Fn.NAME="identificationBlock";var qn=class extends ae{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!le(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let o=i[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Fe(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=Ae(this.length,8);if(s.byteLength>127)return this.error="Too big length",Ht;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let i=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let o=0;o<s.byteLength;o++)n[o+1]=i[o];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};qn.NAME="lengthBlock";var I={},pt=class extends ae{constructor({name:t=Ir,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new Fn(s),this.lenBlock=new qn(s),this.valueBlock=i?new i(s):new Et(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new Wr;e||ic(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let o=this.lenBlock.toBER(t);n.write(o),n.write(i)}return e?Ht:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():M.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return tc(e,n)}};pt.NAME="BaseBlock";function ic(r){if(r instanceof I.Constructed)for(let t of r.valueBlock.value)ic(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var $n=class extends pt{constructor({value:t=Ir,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};$n.NAME="BaseStringBlock";var Gn=class extends fe(Et){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};Gn.NAME="PrimitiveValueBlock";var oc,zn=class extends pt{constructor(t={}){super(t,Gn),this.idBlock.isConstructed=!1}};oc=zn;I.Primitive=oc;zn.NAME="PRIMITIVE";function Ch(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function Ss(r,t=0,e=r.length){let n=t,s=new pt({},Et),i=new ae;if(!le(i,r,t,e))return s.error=i.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=pt;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=I.EndOfContent;break;case 1:c=I.Boolean;break;case 2:c=I.Integer;break;case 3:c=I.BitString;break;case 4:c=I.OctetString;break;case 5:c=I.Null;break;case 6:c=I.ObjectIdentifier;break;case 10:c=I.Enumerated;break;case 12:c=I.Utf8String;break;case 13:c=I.RelativeObjectIdentifier;break;case 14:c=I.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=I.Sequence;break;case 17:c=I.Set;break;case 18:c=I.NumericString;break;case 19:c=I.PrintableString;break;case 20:c=I.TeletexString;break;case 21:c=I.VideotexString;break;case 22:c=I.IA5String;break;case 23:c=I.UTCTime;break;case 24:c=I.GeneralizedTime;break;case 25:c=I.GraphicString;break;case 26:c=I.VisibleString;break;case 27:c=I.GeneralString;break;case 28:c=I.UniversalString;break;case 29:c=I.CharacterString;break;case 30:c=I.BmpString;break;case 31:c=I.DATE;break;case 32:c=I.TimeOfDay;break;case 33:c=I.DateTime;break;case 34:c=I.Duration;break;default:{let l=s.idBlock.isConstructed?new I.Constructed:new I.Primitive;l.idBlock=s.idBlock,l.lenBlock=s.lenBlock,l.warnings=s.warnings,s=l}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?I.Constructed:I.Primitive}return s=Ch(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function kr(r){if(!r.byteLength){let t=new pt({},Et);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Ss(M.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Lh(r,t){return r?1:t}var jt=class extends Et{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!le(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;Lh(this.isIndefiniteForm,n)>0;){let o=Ss(s,i,n);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,n-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Zr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Zr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Wr;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Ht:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};jt.NAME="ConstructedValueBlock";var ac,Se=class extends pt{constructor(t={}){super(t,jt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
3
|
+
`).map(s=>` ${s}`).join(`
|
4
|
+
`));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
|
5
|
+
${t.join(`
|
6
|
+
`)}`:`${e} :`}};ac=Se;I.Constructed=ac;Se.NAME="CONSTRUCTED";var jn=class extends Et{fromBER(t,e,n){return e}toBER(t){return Ht}};jn.override="EndOfContentValueBlock";var cc,Yn=class extends pt{constructor(t={}){super(t,jn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};cc=Yn;I.EndOfContent=cc;Yn.NAME=Zr;var uc,Ie=class extends pt{constructor(t={}){super(t,Et),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};uc=Ie;I.Null=uc;Ie.NAME="NULL";var Wn=class extends fe(Et){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return le(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,ji.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Wn.NAME="BooleanValueBlock";var lc,Zn=class extends pt{constructor(t={}){super(t,Wn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};lc=Zn;I.Boolean=lc;Zn.NAME="BOOLEAN";var Jn=class extends fe(jt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=jt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Zr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==nc)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?jt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Jn.NAME="OctetStringValueBlock";var fc,ce=class r extends pt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Jn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=Ss(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Se.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};fc=ce;I.OctetString=fc;ce.NAME=nc;var Xn=class extends fe(jt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=jt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Zr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==sc)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return s}let i=M.BufferSourceConverter.toUint8Array(t);if(!le(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=Ss(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return jt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ht;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Xn.NAME="BitStringValueBlock";var hc,Sr=class extends pt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Xn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Se.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};hc=Sr;I.BitString=hc;Sr.NAME=sc;var dc;function Uh(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l=0,f=c<o?o:c,u=0;for(let p=f;p>=0;p--,u++){switch(!0){case u<a.length:l=i[o-u]+a[c-u]+e[0];break;default:l=i[o-u]+e[0]}switch(e[0]=l/10,!0){case u>=i.length:i=Hn(new Uint8Array([l%10]),i);break;default:i[o-u]=l%10}}return e[0]>0&&(i=Hn(e,i)),i}function rc(r){if(r>=Yr.length)for(let t=Yr.length;t<=r;t++){let e=new Uint8Array([0]),n=Yr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=Hn(e,n)),Yr.push(n)}return Yr[r]}function Ph(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l,f=0;for(let u=c;u>=0;u--,f++)switch(l=i[o-f]-a[c-f]-e,!0){case l<0:e=1,i[o-f]=l+10;break;default:e=0,i[o-f]=l}if(e>0)for(let u=o-c+1;u>=0;u--,f++)if(l=i[o-f]-e,l<0)e=1,i[o-f]=l+10;else{e=0,i[o-f]=l;break}return i.slice()}var Jr=class extends fe(Et){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=ji.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Qa(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let l=0;l<8;l++){if((s&1)===1)switch(n){case t:e=Ph(rc(n),e),o="-";break;default:e=Uh(e,rc(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=ec.charAt(e[c]));return a===!1&&(o+=ec.charAt(0)),o}};dc=Jr;Jr.NAME="IntegerValueBlock";Object.defineProperty(dc.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var pc,ot=class r extends pt{constructor(t={}){super(t,Jr),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Kn(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Kn();let e=BigInt(t),n=new Wr,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${M.Convert.ToHex(a)}`)+e,f=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(l.toString(16)));f[0]|=128,n.write(f)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};pc=ot;I.Integer=pc;ot.NAME="INTEGER";var gc,Qn=class extends ot{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};gc=Qn;I.Enumerated=gc;Qn.NAME="ENUMERATED";var Xr=class extends fe(Et){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!le(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Fe(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Kn();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Ae(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ht;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Xr.NAME="sidBlock";var ts=class extends Et{constructor({value:t=Ir,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Xr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ht;e.push(s)}return Yi(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new Xr;if(s>Number.MAX_SAFE_INTEGER){Kn();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};ts.NAME="ObjectIdentifierValueBlock";var mc,Mt=class extends pt{constructor(t={}){super(t,ts),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};mc=Mt;I.ObjectIdentifier=mc;Mt.NAME="OBJECT IDENTIFIER";var Qr=class extends fe(ae){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!le(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Fe(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Ae(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ht;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Qr.NAME="relativeSidBlock";var es=class extends Et{constructor({value:t=Ir,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Qr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Ht;n.push(i)}return Yi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Qr;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};es.NAME="RelativeObjectIdentifierValueBlock";var yc,rs=class extends pt{constructor(t={}){super(t,es),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};yc=rs;I.RelativeObjectIdentifier=yc;rs.NAME="RelativeObjectIdentifier";var bc,ft=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};bc=ft;I.Sequence=bc;ft.NAME="SEQUENCE";var wc,ns=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};wc=ns;I.Set=wc;ns.NAME="SET";var ss=class extends fe(Et){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Ir}toJSON(){return{...super.toJSON(),value:this.value}}};ss.NAME="StringValueBlock";var is=class extends ss{};is.NAME="SimpleStringValueBlock";var St=class extends $n{constructor({...t}={}){super(t,is)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};St.NAME="SIMPLE STRING";var os=class extends St{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};os.NAME="Utf8StringValueBlock";var xc,ue=class extends os{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};xc=ue;I.Utf8String=xc;ue.NAME="UTF8String";var as=class extends St{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};as.NAME="BmpStringValueBlock";var Ec,cs=class extends as{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Ec=cs;I.BmpString=Ec;cs.NAME="BMPString";var us=class extends St{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=Ae(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};us.NAME="UniversalStringValueBlock";var vc,ls=class extends us{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};vc=ls;I.UniversalString=vc;ls.NAME="UniversalString";var Bc,fs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Bc=fs;I.NumericString=Bc;fs.NAME="NumericString";var Ac,hs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Ac=hs;I.PrintableString=Ac;hs.NAME="PrintableString";var Sc,ds=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Sc=ds;I.TeletexString=Sc;ds.NAME="TeletexString";var Ic,ps=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Ic=ps;I.VideotexString=Ic;ps.NAME="VideotexString";var kc,gs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};kc=gs;I.IA5String=kc;gs.NAME="IA5String";var Nc,ms=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Nc=ms;I.GraphicString=Nc;ms.NAME="GraphicString";var Rc,tn=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Rc=tn;I.VisibleString=Rc;tn.NAME="VisibleString";var _c,ys=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};_c=ys;I.GeneralString=_c;ys.NAME="GeneralString";var Tc,bs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Tc=bs;I.CharacterString=Tc;bs.NAME="CharacterString";var Cc,en=class extends tn{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=kt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=kt(this.month,2),e[2]=kt(this.day,2),e[3]=kt(this.hour,2),e[4]=kt(this.minute,2),e[5]=kt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Cc=en;I.UTCTime=Cc;en.NAME="UTCTime";var Lc,ws=class extends en{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,p=n.indexOf("+"),w="";if(p===-1&&(p=n.indexOf("-"),u=-1),p!==-1){if(w=n.substring(p+1),n=n.substring(0,p),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(w.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*g,w.length===4){if(g=parseInt(w.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=u*g}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),s=n.substring(0,l)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let f=o.exec(s);if(f===null)throw new Error("Wrong input string for conversion");for(let u=1;u<f.length;u++)switch(u){case 1:this.year=parseInt(f[u],10);break;case 2:this.month=parseInt(f[u],10);break;case 3:this.day=parseInt(f[u],10);break;case 4:this.hour=parseInt(f[u],10)+a;break;case 5:this.minute=parseInt(f[u],10)+c;break;case 6:this.second=parseInt(f[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(kt(this.year,4)),e.push(kt(this.month,2)),e.push(kt(this.day,2)),e.push(kt(this.hour,2)),e.push(kt(this.minute,2)),e.push(kt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(kt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Lc=ws;I.GeneralizedTime=Lc;ws.NAME="GeneralizedTime";var Uc,xs=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Uc=xs;I.DATE=Uc;xs.NAME="DATE";var Pc,Es=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Pc=Es;I.TimeOfDay=Pc;Es.NAME="TimeOfDay";var Dc,vs=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Dc=vs;I.DateTime=Dc;vs.NAME="DateTime";var Oc,Bs=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};Oc=Bs;I.Duration=Oc;Bs.NAME="Duration";var Vc,As=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Vc=As;I.TIME=Vc;As.NAME="TIME";function Oh(r){let{result:t}=kr(r),e=t.valueBlock.value;return{n:X(Yt(e[1].toBigInt()),"base64url"),e:X(Yt(e[2].toBigInt()),"base64url"),d:X(Yt(e[3].toBigInt()),"base64url"),p:X(Yt(e[4].toBigInt()),"base64url"),q:X(Yt(e[5].toBigInt()),"base64url"),dp:X(Yt(e[6].toBigInt()),"base64url"),dq:X(Yt(e[7].toBigInt()),"base64url"),qi:X(Yt(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Vh(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ot({value:0}),ot.fromBigInt(Wt(z(r.n,"base64url"))),ot.fromBigInt(Wt(z(r.e,"base64url"))),ot.fromBigInt(Wt(z(r.d,"base64url"))),ot.fromBigInt(Wt(z(r.p,"base64url"))),ot.fromBigInt(Wt(z(r.q,"base64url"))),ot.fromBigInt(Wt(z(r.dp,"base64url"))),ot.fromBigInt(Wt(z(r.dq,"base64url"))),ot.fromBigInt(Wt(z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Mh(r){let{result:t}=kr(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:X(Yt(e[0].toBigInt()),"base64url"),e:X(Yt(e[1].toBigInt()),"base64url")}}function Hh(r){if(r.n==null||r.e==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ft({value:[new Mt({value:"1.2.840.113549.1.1.1"}),new Ie]}),new Sr({valueHex:new ft({value:[ot.fromBigInt(Wt(z(r.n,"base64url"))),ot.fromBigInt(Wt(z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Yt(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),s=0,i=0;for(;s<e;)n[s]=parseInt(t.slice(i,i+2),16),s+=1,i+=2;return n}function Wt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}var Kh=16,Zi=32,Ji=1e4;async function Fh(r,t){let e=W.get(),s=new ft({value:[new ot({value:0}),new ft({value:[new Mt({value:"1.2.840.113549.1.1.1"}),new Ie]}),new ce({valueHex:r.marshal()})]}).toBER(),i=new Uint8Array(s,0,s.byteLength),o=zt(Kh),a=await Gi(yr,t,o,{c:Ji,dkLen:Zi}),c=zt(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,i),u=new ft({value:[new ce({valueHex:o}),new ot({value:Ji}),new ot({value:Zi}),new ft({value:[new Mt({value:"1.2.840.113549.2.11"}),new Ie]})]}),p=new ft({value:[new Mt({value:"1.2.840.113549.1.5.13"}),new ft({value:[new ft({value:[new Mt({value:"1.2.840.113549.1.5.12"}),u]}),new ft({value:[new Mt({value:"2.16.840.1.101.3.4.1.42"}),new ce({valueHex:c})]})]})]}),g=new ft({value:[p,new ce({valueHex:f})]}).toBER(),h=new Uint8Array(g,0,g.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...X(h,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
7
|
+
`)}async function Xi(r,t){let e=W.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=kr(s),{iv:o,salt:a,iterations:c,keySize:l,cipherText:f}=qh(i),u=await Gi(yr,t,a,{c,dkLen:l}),p=await e.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),w=rn(await e.subtle.decrypt({name:"AES-CBC",iv:o},p,f)),{result:g}=kr(w);n=Mc(g)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=kr(s);n=Mc(i)}else throw new A("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return Qi(n)}function qh(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new A("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new A("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let i=n.valueBlock.value[1],o=rn(i.valueBlock.value[0].getValue()),a=Ji,c=Zi;if(i.valueBlock.value.length===3)a=Number(i.valueBlock.value[1].toBigInt()),c=Number(i.valueBlock.value[2].toBigInt());else if(i.valueBlock.value.length===2)throw new A("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let l=t.valueBlock.value[1].valueBlock.value[1],f=l.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new A("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let u=rn(l.valueBlock.value[1].getValue());return{cipherText:rn(r.valueBlock.value[1].getValue()),salt:o,iterations:a,keySize:c,iv:u}}function Mc(r){return rn(r.valueBlock.value[2].getValue())}function rn(r){return new Uint8Array(r,0,r.byteLength)}async function Hc(r){let t=await W.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await qc(t);return{privateKey:e[0],publicKey:e[1]}}async function to(r){let e=[await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await $h(r)],n=await qc({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Kc(r,t){let e=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await W.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Fc(r,t,e){let n=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return W.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function qc(r){if(r.privateKey==null||r.publicKey==null)throw new A("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([W.get().subtle.exportKey("jwk",r.privateKey),W.get().subtle.exportKey("jwk",r.publicKey)])}async function $h(r){return W.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Is(r){if(r.kty!=="RSA")throw new A("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new A("invalid key modulus","ERR_INVALID_KEY_MODULUS");return z(r.n,"base64url").length*8}var $e=8192,qe=class{_key;constructor(t){this._key=t}verify(t,e){return Fc(this._key,e,t)}marshal(){return ke.jwkToPkix(this._key)}get bytes(){return Ot.encode({Type:Y.RSA,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}},Ne=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return zt(16)}sign(t){return Kc(this._key,t)}get public(){if(this._publicKey==null)throw new A("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new qe(this._publicKey)}marshal(){return ke.jwkToPkcs1(this._key)}get bytes(){return Vt.encode({Type:Y.RSA,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return ke.exportToPem(this,t);if(e==="libp2p-key")return xr(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function Qi(r){let t=ke.pkcs1ToJwk(r);if(Is(t)>$e)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await to(t);return new Ne(e.privateKey,e.publicKey)}function zh(r){let t=ke.pkixToJwk(r);if(Is(t)>$e)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new qe(t)}async function jh(r){if(Is(r)>$e)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await to(r);return new Ne(t.privateKey,t.publicKey)}async function Yh(r){if(r>$e)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Hc(r);return new Ne(t.privateKey,t.publicKey)}var oo={};it(oo,{Secp256k1PrivateKey:()=>je,Secp256k1PublicKey:()=>ze,generateKeyPair:()=>ud,unmarshalSecp256k1PrivateKey:()=>ad,unmarshalSecp256k1PublicKey:()=>cd});var Wh=(r,t,e)=>r&t^~r&e,Zh=(r,t,e)=>r&t^r&e^t&e,Jh=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Re=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_e=new Uint32Array(64),ro=class extends mr{constructor(){super(64,32,8,!1),this.A=Re[0]|0,this.B=Re[1]|0,this.C=Re[2]|0,this.D=Re[3]|0,this.E=Re[4]|0,this.F=Re[5]|0,this.G=Re[6]|0,this.H=Re[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)_e[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let p=_e[u-15],w=_e[u-2],g=Lt(p,7)^Lt(p,18)^p>>>3,h=Lt(w,17)^Lt(w,19)^w>>>10;_e[u]=h+_e[u-7]+g+_e[u-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:l,H:f}=this;for(let u=0;u<64;u++){let p=Lt(a,6)^Lt(a,11)^Lt(a,25),w=f+p+Wh(a,c,l)+Jh[u]+_e[u]|0,h=(Lt(n,2)^Lt(n,13)^Lt(n,22))+Zh(n,s,i)|0;f=l,l=c,c=a,a=o+w|0,o=i,i=s,s=n,n=w+h|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,l,f)}roundClean(){_e.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var $c=En(()=>new ro);function Xh(r){let t=qr(r);Gt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Qh,hexToBytes:td}=An,Ge={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=Ge;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Qh(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=Ge,e=typeof r=="string"?td(r):r;if(!Ut(e))throw new Error("ui8a expected");let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:s,l:i}=Ge._parseInt(e.subarray(2)),{d:o,l:a}=Ge._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(r){let t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,e=l=>{let f=l.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),s=t(e(r.r)),i=n.length/2,o=s.length/2,a=e(i),c=e(o);return`30${e(o+i+4)}02${c}${s}02${a}${n}`}},he=BigInt(0),Ct=BigInt(1),Bb=BigInt(2),Gc=BigInt(3),Ab=BigInt(4);function ed(r){let t=Xh(r),{Fp:e}=t,n=t.toBytes||((g,h,d)=>{let m=h.toAffine();return re(Uint8Array.from([4]),e.toBytes(m.x),e.toBytes(m.y))}),s=t.fromBytes||(g=>{let h=g.subarray(1),d=e.fromBytes(h.subarray(0,e.BYTES)),m=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:d,y:m}});function i(g){let{a:h,b:d}=t,m=e.sqr(g),x=e.mul(m,g);return e.add(e.add(x,e.mul(g,h)),d)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function o(g){return typeof g=="bigint"&&he<g&&g<t.n}function a(g){if(!o(g))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(g){let{allowedPrivateKeyLengths:h,nByteLength:d,wrapPrivateKey:m,n:x}=t;if(h&&typeof g!="bigint"){if(Ut(g)&&(g=te(g)),typeof g!="string"||!h.includes(g.length))throw new Error("Invalid key");g=g.padStart(d*2,"0")}let b;try{b=typeof g=="bigint"?g:ee(et("private key",g,d))}catch{throw new Error(`private key must be ${d} bytes, hex or bigint, not ${typeof g}`)}return m&&(b=j(b,x)),a(b),b}let l=new Map;function f(g){if(!(g instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(h,d,m){if(this.px=h,this.py=d,this.pz=m,h==null||!e.isValid(h))throw new Error("x required");if(d==null||!e.isValid(d))throw new Error("y required");if(m==null||!e.isValid(m))throw new Error("z required")}static fromAffine(h){let{x:d,y:m}=h||{};if(!h||!e.isValid(d)||!e.isValid(m))throw new Error("invalid affine point");if(h instanceof u)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(d)&&x(m)?u.ZERO:new u(d,m,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let d=e.invertBatch(h.map(m=>m.pz));return h.map((m,x)=>m.toAffine(d[x])).map(u.fromAffine)}static fromHex(h){let d=u.fromAffine(s(et("pointHex",h)));return d.assertValidity(),d}static fromPrivateKey(h){return u.BASE.multiply(c(h))}_setWindowSize(h){this._WINDOW_SIZE=h,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:h,y:d}=this.toAffine();if(!e.isValid(h)||!e.isValid(d))throw new Error("bad point: x or y not FE");let m=e.sqr(d),x=i(h);if(!e.eql(m,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:d,py:m,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.eql(e.mul(d,E),e.mul(b,x)),R=e.eql(e.mul(m,E),e.mul(T,x));return S&&R}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:d}=t,m=e.mul(d,Gc),{px:x,py:b,pz:T}=this,E=e.ZERO,S=e.ZERO,R=e.ZERO,_=e.mul(x,x),q=e.mul(b,b),K=e.mul(T,T),P=e.mul(x,b);return P=e.add(P,P),R=e.mul(x,T),R=e.add(R,R),E=e.mul(h,R),S=e.mul(m,K),S=e.add(E,S),E=e.sub(q,S),S=e.add(q,S),S=e.mul(E,S),E=e.mul(P,E),R=e.mul(m,R),K=e.mul(h,K),P=e.sub(_,K),P=e.mul(h,P),P=e.add(P,R),R=e.add(_,_),_=e.add(R,_),_=e.add(_,K),_=e.mul(_,P),S=e.add(S,_),K=e.mul(b,T),K=e.add(K,K),_=e.mul(K,P),E=e.sub(E,_),R=e.mul(K,q),R=e.add(R,R),R=e.add(R,R),new u(E,S,R)}add(h){f(h);let{px:d,py:m,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.ZERO,R=e.ZERO,_=e.ZERO,q=t.a,K=e.mul(t.b,Gc),P=e.mul(d,b),nt=e.mul(m,T),rt=e.mul(x,E),Rt=e.add(d,m),v=e.add(b,T);Rt=e.mul(Rt,v),v=e.add(P,nt),Rt=e.sub(Rt,v),v=e.add(d,x);let N=e.add(b,E);return v=e.mul(v,N),N=e.add(P,rt),v=e.sub(v,N),N=e.add(m,x),S=e.add(T,E),N=e.mul(N,S),S=e.add(nt,rt),N=e.sub(N,S),_=e.mul(q,v),S=e.mul(K,rt),_=e.add(S,_),S=e.sub(nt,_),_=e.add(nt,_),R=e.mul(S,_),nt=e.add(P,P),nt=e.add(nt,P),rt=e.mul(q,rt),v=e.mul(K,v),nt=e.add(nt,rt),rt=e.sub(P,rt),rt=e.mul(q,rt),v=e.add(v,rt),P=e.mul(nt,v),R=e.add(R,P),P=e.mul(N,v),S=e.mul(Rt,S),S=e.sub(S,P),P=e.mul(Rt,nt),_=e.mul(N,_),_=e.add(_,P),new u(S,R,_)}subtract(h){return this.add(h.negate())}is0(){return this.equals(u.ZERO)}wNAF(h){return w.wNAFCached(this,l,h,d=>{let m=e.invertBatch(d.map(x=>x.pz));return d.map((x,b)=>x.toAffine(m[b])).map(u.fromAffine)})}multiplyUnsafe(h){let d=u.ZERO;if(h===he)return d;if(a(h),h===Ct)return this;let{endo:m}=t;if(!m)return w.unsafeLadder(this,h);let{k1neg:x,k1:b,k2neg:T,k2:E}=m.splitScalar(h),S=d,R=d,_=this;for(;b>he||E>he;)b&Ct&&(S=S.add(_)),E&Ct&&(R=R.add(_)),_=_.double(),b>>=Ct,E>>=Ct;return x&&(S=S.negate()),T&&(R=R.negate()),R=new u(e.mul(R.px,m.beta),R.py,R.pz),S.add(R)}multiply(h){a(h);let d=h,m,x,{endo:b}=t;if(b){let{k1neg:T,k1:E,k2neg:S,k2:R}=b.splitScalar(d),{p:_,f:q}=this.wNAF(E),{p:K,f:P}=this.wNAF(R);_=w.constTimeNegate(T,_),K=w.constTimeNegate(S,K),K=new u(e.mul(K.px,b.beta),K.py,K.pz),m=_.add(K),x=q.add(P)}else{let{p:T,f:E}=this.wNAF(d);m=T,x=E}return u.normalizeZ([m,x])[0]}multiplyAndAddUnsafe(h,d,m){let x=u.BASE,b=(E,S)=>S===he||S===Ct||!E.equals(x)?E.multiplyUnsafe(S):E.multiply(S),T=b(this,d).add(b(h,m));return T.is0()?void 0:T}toAffine(h){let{px:d,py:m,pz:x}=this,b=this.is0();h==null&&(h=b?e.ONE:e.inv(x));let T=e.mul(d,h),E=e.mul(m,h),S=e.mul(x,h);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(S,e.ONE))throw new Error("invZ was invalid");return{x:T,y:E}}isTorsionFree(){let{h,isTorsionFree:d}=t;if(h===Ct)return!0;if(d)return d(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:d}=t;return h===Ct?this:d?d(u,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return this.assertValidity(),n(u,this,h)}toHex(h=!0){return te(this.toRawBytes(h))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let p=t.nBitLength,w=kn(u,t.endo?Math.ceil(p/2):p);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function rd(r){let t=qr(r);return Gt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function zc(r){let t=rd(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(v){return he<v&&v<e.ORDER}function a(v){return j(v,n)}function c(v){return Sn(v,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:p}=ed({...t,toBytes(v,N,D){let B=N.toAffine(),y=e.toBytes(B.x),k=re;return D?k(Uint8Array.from([N.hasEvenY()?2:3]),y):k(Uint8Array.from([4]),y,e.toBytes(B.y))},fromBytes(v){let N=v.length,D=v[0],B=v.subarray(1);if(N===s&&(D===2||D===3)){let y=ee(B);if(!o(y))throw new Error("Point is not on curve");let k=u(y),C=e.sqrt(k),L=(C&Ct)===Ct;return(D&1)===1!==L&&(C=e.neg(C)),{x:y,y:C}}else if(N===i&&D===4){let y=e.fromBytes(B.subarray(0,e.BYTES)),k=e.fromBytes(B.subarray(e.BYTES,2*e.BYTES));return{x:y,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),w=v=>te(ve(v,t.nByteLength));function g(v){let N=n>>Ct;return v>N}function h(v){return g(v)?a(-v):v}let d=(v,N,D)=>ee(v.slice(N,D));class m{constructor(N,D,B){this.r=N,this.s=D,this.recovery=B,this.assertValidity()}static fromCompact(N){let D=t.nByteLength;return N=et("compactSignature",N,D*2),new m(d(N,0,D),d(N,D,2*D))}static fromDER(N){let{r:D,s:B}=Ge.toSig(et("DER",N));return new m(D,B)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new m(this.r,this.s,N)}recoverPublicKey(N){let{r:D,s:B,recovery:y}=this,k=R(et("msgHash",N));if(y==null||![0,1,2,3].includes(y))throw new Error("recovery id invalid");let C=y===2||y===3?D+t.n:D;if(C>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let L=y&1?"03":"02",O=l.fromHex(L+w(C)),V=c(C),G=a(-k*V),H=a(B*V),F=l.BASE.multiplyAndAddUnsafe(O,G,H);if(!F)throw new Error("point at infinify");return F.assertValidity(),F}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return De(this.toDERHex())}toDERHex(){return Ge.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return De(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}let x={isValidPrivateKey(v){try{return f(v),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let v=Bi(t.n);return Sa(t.randomBytes(v),t.n)},precompute(v=8,N=l.BASE){return N._setWindowSize(v),N.multiply(BigInt(3)),N}};function b(v,N=!0){return l.fromPrivateKey(v).toRawBytes(N)}function T(v){let N=Ut(v),D=typeof v=="string",B=(N||D)&&v.length;return N?B===s||B===i:D?B===2*s||B===2*i:v instanceof l}function E(v,N,D=!0){if(T(v))throw new Error("first arg must be private key");if(!T(N))throw new Error("second arg must be public key");return l.fromHex(N).multiply(f(v)).toRawBytes(D)}let S=t.bits2int||function(v){let N=ee(v),D=v.length*8-t.nBitLength;return D>0?N>>BigInt(D):N},R=t.bits2int_modN||function(v){return a(S(v))},_=Fr(t.nBitLength);function q(v){if(typeof v!="bigint")throw new Error("bigint expected");if(!(he<=v&&v<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return ve(v,t.nByteLength)}function K(v,N,D=P){if(["recovered","canonical"].some(Q=>Q in D))throw new Error("sign() legacy options not supported");let{hash:B,randomBytes:y}=t,{lowS:k,prehash:C,extraEntropy:L}=D;k==null&&(k=!0),v=et("msgHash",v),C&&(v=et("prehashed msgHash",B(v)));let O=R(v),V=f(N),G=[q(V),q(O)];if(L!=null){let Q=L===!0?y(e.BYTES):L;G.push(et("extraEntropy",Q))}let H=re(...G),F=O;function st(Q){let ht=S(Q);if(!p(ht))return;let dt=c(ht),at=l.BASE.multiply(ht).toAffine(),gt=a(at.x);if(gt===he)return;let Zt=a(dt*a(F+gt*V));if(Zt===he)return;let Te=(at.x===gt?0:2)|Number(at.y&Ct),Nr=Zt;return k&&g(Zt)&&(Nr=h(Zt),Te^=1),new m(gt,Nr,Te)}return{seed:H,k2sig:st}}let P={lowS:t.lowS,prehash:!1},nt={lowS:t.lowS,prehash:!1};function rt(v,N,D=P){let{seed:B,k2sig:y}=K(v,N,D),k=t;return wi(k.hash.outputLen,k.nByteLength,k.hmac)(B,y)}l.BASE._setWindowSize(8);function Rt(v,N,D,B=nt){let y=v;if(N=et("msgHash",N),D=et("publicKey",D),"strict"in B)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:C}=B,L,O;try{if(typeof y=="string"||Ut(y))try{L=m.fromDER(y)}catch(at){if(!(at instanceof Ge.Err))throw at;L=m.fromCompact(y)}else if(typeof y=="object"&&typeof y.r=="bigint"&&typeof y.s=="bigint"){let{r:at,s:gt}=y;L=new m(at,gt)}else throw new Error("PARSE");O=l.fromHex(D)}catch(at){if(at.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&L.hasHighS())return!1;C&&(N=t.hash(N));let{r:V,s:G}=L,H=R(N),F=c(G),st=a(H*F),Q=a(V*F),ht=l.BASE.multiplyAndAddUnsafe(O,st,Q)?.toAffine();return ht?a(ht.x)===V:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:E,sign:rt,verify:Rt,ProjectivePoint:l,Signature:m,utils:x}}function nd(r){return{hash:r,hmac:(t,...e)=>jr(r,t,xn(...e)),randomBytes:gr}}function jc(r,t){let e=n=>zc({...r,...nd(n)});return Object.freeze({...e(t),create:e})}var Zc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Yc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),sd=BigInt(1),no=BigInt(2),Wc=(r,t)=>(r+t/no)/t;function id(r){let t=Zc,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,f=l*l*r%t,u=J(f,e,t)*f%t,p=J(u,e,t)*f%t,w=J(p,no,t)*l%t,g=J(w,s,t)*w%t,h=J(g,i,t)*g%t,d=J(h,a,t)*h%t,m=J(d,c,t)*d%t,x=J(m,a,t)*h%t,b=J(x,e,t)*f%t,T=J(b,o,t)*g%t,E=J(T,n,t)*l%t,S=J(E,no,t);if(!so.eql(so.sqr(S),r))throw new Error("Cannot find square root");return S}var so=In(Zc,void 0,void 0,{sqrt:id}),Kt=jc({a:BigInt(0),b:BigInt(7),Fp:so,n:Yc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Yc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-sd*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Wc(i*r,t),c=Wc(-n*r,t),l=j(r-a*e-c*s,t),f=j(-a*n-c*i,t),u=l>o,p=f>o;if(u&&(l=t-l),p&&(f=t-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:p,k2:f}}}},$c),Lb=BigInt(0);var Ub=Kt.ProjectivePoint;function Jc(){return Kt.utils.randomPrivateKey()}function Xc(r,t){let e=ct.digest(t instanceof Uint8Array?t:t.subarray());if(_t(e))return e.then(({digest:n})=>Kt.sign(n,r).toDERRawBytes()).catch(n=>{throw new A(String(n),"ERR_INVALID_INPUT")});try{return Kt.sign(e.digest,r).toDERRawBytes()}catch(n){throw new A(String(n),"ERR_INVALID_INPUT")}}function Qc(r,t,e){let n=ct.digest(e instanceof Uint8Array?e:e.subarray());if(_t(n))return n.then(({digest:s})=>Kt.verify(t,s,r)).catch(s=>{throw new A(String(s),"ERR_INVALID_INPUT")});try{return Kt.verify(t,n.digest,r)}catch(s){throw new A(String(s),"ERR_INVALID_INPUT")}}function tu(r){return Kt.ProjectivePoint.fromHex(r).toRawBytes(!0)}function eu(r){try{Kt.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}function io(r){try{Kt.ProjectivePoint.fromHex(r)}catch(t){throw new A(String(t),"ERR_INVALID_PUBLIC_KEY")}}function ru(r){try{return Kt.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}var ze=class{_key;constructor(t){io(t),this._key=t}verify(t,e){return Qc(this._key,e,t)}marshal(){return tu(this._key)}get bytes(){return Ot.encode({Type:Y.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return _t(t)?{bytes:e}=await t:e=t.bytes,e}},je=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??ru(t),eu(this._key),io(this._publicKey)}sign(t){return Xc(this._key,t)}get public(){return new ze(this._publicKey)}marshal(){return this._key}get bytes(){return Vt.encode({Type:Y.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return xr(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function ad(r){return new je(r)}function cd(r){return new ze(r)}async function ud(){let r=Jc();return new je(r)}var de={rsa:eo,ed25519:qi,secp256k1:oo};function ao(r){let t=Object.keys(de).join(" / ");return new A(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function co(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return de[r];throw ao(r)}async function ld(r,t){return co(r).generateKeyPair(t??2048)}async function fd(r,t,e){if(r.toLowerCase()!=="ed25519")throw new A("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return Fi(t)}function hd(r){let t=Ot.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Y.RSA:return de.rsa.unmarshalRsaPublicKey(e);case Y.Ed25519:return de.ed25519.unmarshalEd25519PublicKey(e);case Y.Secp256k1:return de.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw ao(t.Type??"unknown")}}function dd(r,t){return t=(t??"rsa").toLowerCase(),co(t),r.bytes}async function nu(r){let t=Vt.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Y.RSA:return de.rsa.unmarshalRsaPrivateKey(e);case Y.Ed25519:return de.ed25519.unmarshalEd25519PrivateKey(e);case Y.Secp256k1:return de.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw ao(t.Type??"RSA")}}function pd(r,t){return t=(t??"rsa").toLowerCase(),co(t),r.bytes}async function gd(r,t){try{let e=await Wa(r,t);return await nu(e)}catch{}if(!r.includes("BEGIN"))throw new A("Encrypted key was not a libp2p-key or a PEM file","ERR_INVALID_IMPORT_FORMAT");return Xi(r,t)}function su(){return BigInt(`0x${X(zt(8),"base16")}`)}var iu=(r,t)=>{let e=z(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n},ou=r=>ct.encode(r);var au=function(r){return Array.isArray(r)?r:[r]},md=async r=>{if(r.sequenceNumber==null||r.from==null||r.signature==null)return!1;let t=Pr(r.from);return t.publicKey!=null?!0:r.key!=null?(await cn(r.key)).equals(t):!1},cu=async r=>{if(r.from==null)throw new A("RPC message was missing from",ut.ERR_MISSING_FROM);if(!await md(r))return{type:"unsigned",topic:r.topic??"",data:r.data??new Uint8Array(0)};let t=Pr(r.from),e={type:"signed",from:Pr(r.from),topic:r.topic??"",sequenceNumber:bd(r.sequenceNumber??new Uint8Array(0)),data:r.data??new Uint8Array(0),signature:r.signature??new Uint8Array(0),key:r.key??t.publicKey??new Uint8Array(0)};if(e.key.length===0)throw new A("Signed RPC message was missing key",ut.ERR_MISSING_KEY);return e},sn=r=>r.type==="signed"?{from:r.from.multihash.bytes,data:r.data,sequenceNumber:yd(r.sequenceNumber),topic:r.topic,signature:r.signature,key:r.key}:{data:r.data,topic:r.topic},yd=r=>{let t=r.toString(16);return t.length%2!==0&&(t=`0${t}`),z(t,"base16")},bd=r=>BigInt(`0x${X(r,"base16")}`);var uu=z("libp2p-pubsub:");async function lu(r,t,e){if(r.privateKey==null)throw new Error("Cannot sign message, no private key present");if(r.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:r},s=At([uu,e(sn(n)).subarray()]),i=await nn.unmarshalPrivateKey(r.privateKey);return n.signature=await i.sign(s),n.key=r.publicKey,n}async function fu(r,t){if(r.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(r.signature==null)throw new Error("Message must contain a signature to be verified");if(r.from==null)throw new Error("Message must contain a from property to be verified");let e=At([uu,t({...sn(r),signature:void 0,key:void 0}).subarray()]),n=await wd(r);return nn.unmarshalPublicKey(n).verify(e,r.signature)}async function wd(r){if(r.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(r.from==null)throw new Error("Could not get the public key from the originator id");if(r.key!=null){let t=await cn(r.key);if(t.publicKey!=null)return t.publicKey}if(r.from.publicKey!=null)return r.from.publicKey;throw new Error("Could not get the public key from the originator id")}var uo=class extends Ye{log;started;topics;subscriptions;peers;globalSignaturePolicy;canRelayMessage;emitSelf;topicValidators;queue;multicodecs;components;_registrarTopologyIds;enabled;maxInboundStreams;maxOutboundStreams;constructor(t,e){super();let{multicodecs:n=[],globalSignaturePolicy:s="StrictSign",canRelayMessage:i=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:c=1,maxOutboundStreams:l=1}=e;this.log=t.logger.forComponent("libp2p:pubsub"),this.components=t,this.multicodecs=au(n),this.enabled=e.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new or,this.globalSignaturePolicy=s==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=i,this.emitSelf=o,this.topicValidators=new Map,this.queue=new Hr({concurrency:a}),this.maxInboundStreams=c,this.maxOutboundStreams=l,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;this.log("starting");let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await t.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let e={onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected};this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>t.register(n,e))),this.log("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let t=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(e=>{t.unregister(e)}),await Promise.all(this.multicodecs.map(async e=>{await t.unhandle(e)})),this.log("stopping");for(let e of this.peers.values())e.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,this.log("stopped")}isStarted(){return this.started}_onIncomingStream(t){let{stream:e,connection:n}=t,s=n.remotePeer;if(e.protocol==null){e.abort(new Error("Stream was not multiplexed"));return}let i=this.addPeer(s,e.protocol),o=i.attachInboundStream(e);this.processMessages(s,o,i).catch(a=>{this.log(a)})}_onPeerConnected(t,e){if(this.log("connected %p",t),e.streams.find(n=>n.direction==="outbound"&&n.protocol!=null&&this.multicodecs.includes(n.protocol))!=null){this.log("outbound pubsub streams already present on connection from %p",t);return}Promise.resolve().then(async()=>{try{let n=await e.newStream(this.multicodecs);if(n.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(t,n.protocol).attachOutboundStream(n)}catch(n){this.log.error(n)}this.send(t,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{this.log.error(n)})}_onPeerDisconnected(t,e){let n=t.toString();this.log("connection ended",n),this._removePeer(t)}addPeer(t,e){let n=this.peers.get(t);if(n!=null)return n;this.log("new peer %p",t);let s=new mn(this.components,{id:t,protocol:e});return this.peers.set(t,s),s.addEventListener("close",()=>this._removePeer(t),{once:!0}),s}_removePeer(t){let e=this.peers.get(t);if(e!=null){e.close(),this.log("delete peer %p",t),this.peers.delete(t);for(let n of this.topics.values())n.delete(t);return e}}async processMessages(t,e,n){try{await Dr(e,async s=>{for await(let i of s){let o=this.decodeRpc(i),a=[];for(let c of o.messages??[]){if(c.from==null||c.data==null||c.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",t);continue}a.push({from:c.from,data:c.data,topic:c.topic,sequenceNumber:c.sequenceNumber??void 0,signature:c.signature??void 0,key:c.key??void 0})}this.processRpc(t,n,{subscriptions:(o.subscriptions??[]).map(c=>({subscribe:!!c.subscribe,topic:c.topic??""})),messages:a}).catch(c=>{this.log(c)})}})}catch(s){this._onPeerDisconnected(n.id,s)}}async processRpc(t,e,n){if(!this.acceptFrom(t))return this.log("received message from unacceptable peer %p",t),!1;this.log("rpc from %p",t);let{subscriptions:s,messages:i}=n;return s!=null&&s.length>0&&(this.log("subscription update from %p",t),s.forEach(o=>{this.processRpcSubOpt(t,o)}),super.dispatchEvent(new Ft("subscription-change",{detail:{peerId:e.id,subscriptions:s.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:!!a}))}}))),i!=null&&i.length>0&&(this.log("messages from %p",t),this.queue.addAll(i.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return this.log("received message we didn't subscribe to. Dropping."),!1;try{let a=await cu(o);await this.processMessage(t,a)}catch(a){this.log.error(a)}})).catch(o=>{this.log(o)})),!0}processRpcSubOpt(t,e){let n=e.topic;if(n==null)return;let s=this.topics.get(n);s==null&&(s=new ar,this.topics.set(n,s)),e.subscribe===!0?s.add(t):s.delete(t)}async processMessage(t,e){if(!(this.components.peerId.equals(t)&&!this.emitSelf)){try{await this.validate(t,e)}catch(n){this.log("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(e.topic)&&(!this.components.peerId.equals(t)||this.emitSelf)&&super.dispatchEvent(new Ft("message",{detail:e})),await this.publishMessage(t,e)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',ut.ERR_MISSING_SIGNATURE);if(t.sequenceNumber==null)throw new A("Need seqno when signature policy is StrictSign but it was missing",ut.ERR_MISSING_SEQNO);if(t.key==null)throw new A("Need key when signature policy is StrictSign but it was missing",ut.ERR_MISSING_KEY);return iu(t.key,t.sequenceNumber);case"StrictNoSign":return ou(t.data);default:throw new A("Cannot get message id: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}}acceptFrom(t){return!0}send(t,e){let{messages:n,subscriptions:s,subscribe:i}=e;this.sendRpc(t,{subscriptions:(s??[]).map(o=>({topic:o,subscribe:!!i})),messages:(n??[]).map(sn)})}sendRpc(t,e){let n=this.peers.get(t);if(n==null){this.log.error("Cannot send RPC to %p as there are no streams to it available",t);return}if(!n.isWritable){this.log.error("Cannot send RPC to %p as there is no outbound stream to it available",t);return}n.write(this.encodeRpc(e))}async validate(t,e){switch(this.globalSignaturePolicy){case"StrictNoSign":if(e.type!=="unsigned")throw new A('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',ut.ERR_MISSING_SIGNATURE);if(e.signature!=null)throw new A("StrictNoSigning: signature should not be present",ut.ERR_UNEXPECTED_SIGNATURE);if(e.key!=null)throw new A("StrictNoSigning: key should not be present",ut.ERR_UNEXPECTED_KEY);if(e.sequenceNumber!=null)throw new A("StrictNoSigning: seqno should not be present",ut.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(e.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',ut.ERR_MISSING_SIGNATURE);if(e.signature==null)throw new A("StrictSigning: Signing required and no signature was present",ut.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new A("StrictSigning: Signing required and no sequenceNumber was present",ut.ERR_MISSING_SEQNO);if(!await fu(e,this.encodeMessage.bind(this)))throw new A("StrictSigning: Invalid message signature",ut.ERR_INVALID_SIGNATURE);break;default:throw new A("Cannot validate message: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}let s=this.topicValidators.get(e.topic);if(s!=null){let i=await s(t,e);if(i===Rr.Reject||i===Rr.Ignore)throw new A("Message validation failed",ut.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return lu(this.components.peerId,t,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...t});default:throw new A("Cannot build message: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(t){if(!this.started)throw new A("not started yet","ERR_NOT_STARTED_YET");if(t==null)throw new A("topic is required","ERR_NOT_VALID_TOPIC");let e=this.topics.get(t.toString());return e==null?[]:Array.from(e.values())}async publish(t,e){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:t,data:e??new Uint8Array(0),sequenceNumber:su()};this.log("publish topic: %s from: %p data: %m",t,n.from,n.data);let s=await this.buildMessage(n),i=!1;this.emitSelf&&this.subscriptions.has(t)&&(i=!0,super.dispatchEvent(new Ft("message",{detail:s})));let o=await this.publishMessage(this.components.peerId,s);return i&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(t){if(!this.started)throw new Error("Pubsub has not started");if(this.log("subscribe to topic: %s",t),!this.subscriptions.has(t)){this.subscriptions.add(t);for(let e of this.peers.keys())this.send(e,{subscriptions:[t],subscribe:!0})}}unsubscribe(t){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(t);let e=this.subscriptions.has(t);if(this.log("unsubscribe from %s - am subscribed %s",t,e),e){this.subscriptions.delete(t);for(let n of this.peers.keys())this.send(n,{subscriptions:[t],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};return Su(xd);})();
|
16
8
|
/*! Bundled license information:
|
17
9
|
|
10
|
+
pvtsutils/build/index.js:
|
11
|
+
(*!
|
12
|
+
* MIT License
|
13
|
+
*
|
14
|
+
* Copyright (c) 2017-2022 Peculiar Ventures, LLC
|
15
|
+
*
|
16
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
17
|
+
* of this software and associated documentation files (the "Software"), to deal
|
18
|
+
* in the Software without restriction, including without limitation the rights
|
19
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
20
|
+
* copies of the Software, and to permit persons to whom the Software is
|
21
|
+
* furnished to do so, subject to the following conditions:
|
22
|
+
*
|
23
|
+
* The above copyright notice and this permission notice shall be included in all
|
24
|
+
* copies or substantial portions of the Software.
|
25
|
+
*
|
26
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
27
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
28
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
29
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
30
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
31
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
32
|
+
* SOFTWARE.
|
33
|
+
*
|
34
|
+
*)
|
35
|
+
|
18
36
|
@noble/hashes/esm/utils.js:
|
19
37
|
(*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
20
38
|
|
@@ -33,6 +51,46 @@
|
|
33
51
|
@noble/curves/esm/ed25519.js:
|
34
52
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
35
53
|
|
54
|
+
pvutils/build/utils.es.js:
|
55
|
+
(*!
|
56
|
+
Copyright (c) Peculiar Ventures, LLC
|
57
|
+
*)
|
58
|
+
|
59
|
+
asn1js/build/index.es.js:
|
60
|
+
(*!
|
61
|
+
* Copyright (c) 2014, GMO GlobalSign
|
62
|
+
* Copyright (c) 2015-2022, Peculiar Ventures
|
63
|
+
* All rights reserved.
|
64
|
+
*
|
65
|
+
* Author 2014-2019, Yury Strozhevsky
|
66
|
+
*
|
67
|
+
* Redistribution and use in source and binary forms, with or without modification,
|
68
|
+
* are permitted provided that the following conditions are met:
|
69
|
+
*
|
70
|
+
* * Redistributions of source code must retain the above copyright notice, this
|
71
|
+
* list of conditions and the following disclaimer.
|
72
|
+
*
|
73
|
+
* * Redistributions in binary form must reproduce the above copyright notice, this
|
74
|
+
* list of conditions and the following disclaimer in the documentation and/or
|
75
|
+
* other materials provided with the distribution.
|
76
|
+
*
|
77
|
+
* * Neither the name of the copyright holder nor the names of its
|
78
|
+
* contributors may be used to endorse or promote products derived from
|
79
|
+
* this software without specific prior written permission.
|
80
|
+
*
|
81
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
82
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
83
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
84
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
85
|
+
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
86
|
+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
87
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
88
|
+
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
89
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
90
|
+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
91
|
+
*
|
92
|
+
*)
|
93
|
+
|
36
94
|
@noble/curves/esm/abstract/weierstrass.js:
|
37
95
|
(*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
|
38
96
|
|