From e434449e93575ad6d255f3099d2c1cf7e389a50a Mon Sep 17 00:00:00 2001 From: ez_lcw Date: Tue, 4 Jul 2023 20:20:07 +0800 Subject: [PATCH] add network --- .parcel-cache/04bbf51d2981fd30 | Bin 0 -> 260817 bytes .parcel-cache/11bbd18dcd775dad | Bin 0 -> 931942 bytes .parcel-cache/1ba6b0788801943b | Bin 0 -> 652 bytes .parcel-cache/2872ead3c955face | Bin 0 -> 858 bytes .parcel-cache/44df4b2b10f6a074 | Bin 0 -> 148784 bytes .parcel-cache/47cb0478f3aaec0f | Bin 0 -> 2480 bytes .parcel-cache/49b3b2b6df744476.txt | 7157 ++++++++++++++++++++++++++++ .parcel-cache/data.mdb | Bin 0 -> 1048576 bytes .parcel-cache/fbccdf9e4afdd61a.txt | 7133 +++++++++++++++++++++++++++ .parcel-cache/lock.mdb | Bin 0 -> 8128 bytes client/index.html | 13 + client/index.js | 7 + dist/index.5e4f646d.js | 2 + dist/index.5e4f646d.js.map | 1 + dist/index.html | 1 + package-lock.json | 4030 +++++++++++++++- package.json | 11 +- src/main.js | 45 +- 18 files changed, 18386 insertions(+), 14 deletions(-) create mode 100644 .parcel-cache/04bbf51d2981fd30 create mode 100644 .parcel-cache/11bbd18dcd775dad create mode 100644 .parcel-cache/1ba6b0788801943b create mode 100644 .parcel-cache/2872ead3c955face create mode 100644 .parcel-cache/44df4b2b10f6a074 create mode 100644 .parcel-cache/47cb0478f3aaec0f create mode 100644 .parcel-cache/49b3b2b6df744476.txt create mode 100644 .parcel-cache/data.mdb create mode 100644 .parcel-cache/fbccdf9e4afdd61a.txt create mode 100644 .parcel-cache/lock.mdb create mode 100644 client/index.html create mode 100644 client/index.js create mode 100644 dist/index.5e4f646d.js create mode 100644 dist/index.5e4f646d.js.map create mode 100644 dist/index.html diff --git a/.parcel-cache/04bbf51d2981fd30 b/.parcel-cache/04bbf51d2981fd30 new file mode 100644 index 0000000000000000000000000000000000000000..8a62447276d04aa79eff14c2c3b5e353a0dab347 GIT binary patch literal 260817 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

K|1E=p0Sh6_)nII3b43iD?OgvwCs1<33<-g|=T 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®!a*%Wz1tXFWS#m^HqvDsq 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ΜO<GCw4Em79S~gXW^!6&c*1cKt$vXncwc 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 literal 0 HcmV?d00001 diff --git a/.parcel-cache/2872ead3c955face b/.parcel-cache/2872ead3c955face new file mode 100644 index 0000000000000000000000000000000000000000..f477bb5b8b561eacbb25aeefd5d7d41aa2087efb GIT binary patch literal 858 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�Ae3;2p7aNh;beE)swn^%EJ0B^}&p;bi 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

gPK^67V0NxLE;70DsZNw=uEA?R?&)ydTFW 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

jz+zBlGNnh%5;DEQ2cuc}Dt^0{ROrnH$ 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 z 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 literal 0 HcmV?d00001 diff --git a/client/index.html b/client/index.html new file mode 100644 index 0000000..08243f0 --- /dev/null +++ b/client/index.html @@ -0,0 +1,13 @@ + + + + openarras + + + + + +

+ + + \ No newline at end of file diff --git a/client/index.js b/client/index.js new file mode 100644 index 0000000..52603e6 --- /dev/null +++ b/client/index.js @@ -0,0 +1,7 @@ +import { io } from "socket.io-client"; + +const socket = io(); + +socket.on("update",(tank_info) => { + document.querySelector("#raw-info").innerHTML = tank_info; +}); \ No newline at end of file diff --git a/dist/index.5e4f646d.js b/dist/index.5e4f646d.js new file mode 100644 index 0000000..d150fc0 --- /dev/null +++ b/dist/index.5e4f646d.js @@ -0,0 +1,2 @@ +let t,e;function r(t,e,r,i){Object.defineProperty(t,e,{get:r,set:i,enumerable:!0,configurable:!0})}const i=Object.create(null);i.open="0",i.close="1",i.ping="2",i.pong="3",i.message="4",i.upgrade="5",i.noop="6";const n=Object.create(null);Object.keys(i).forEach(t=>{n[i[t]]=t});const s={type:"error",data:"parser error"},o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===Object.prototype.toString.call(Blob),h="function"==typeof ArrayBuffer,a=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer instanceof ArrayBuffer,u=({type:t,data:e},r,n)=>o&&e instanceof Blob?r?n(e):c(e,n):h&&(e instanceof ArrayBuffer||a(e))?r?n(e):c(new Blob([e]),n):n(i[t]+(e||"")),c=(t,e)=>{let r=new FileReader;return r.onload=function(){let t=r.result.split(",")[1];e("b"+(t||""))},r.readAsDataURL(t)};function f(t){return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}const l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p="undefined"==typeof Uint8Array?[]:new Uint8Array(256);for(let t=0;t{let e=.75*t.length,r=t.length,i,n=0,s,o,h,a;"="===t[t.length-1]&&(e--,"="===t[t.length-2]&&e--);let u=new ArrayBuffer(e),c=new Uint8Array(u);for(i=0;i>4,c[n++]=(15&o)<<4|h>>2,c[n++]=(3&h)<<6|63&a;return u},y="function"==typeof ArrayBuffer,g=(t,e)=>{if("string"!=typeof t)return{type:"message",data:b(t,e)};let r=t.charAt(0);if("b"===r)return{type:"message",data:m(t.substring(1),e)};let i=n[r];return i?t.length>1?{type:n[r],data:t.substring(1)}:{type:n[r]}:s},m=(t,e)=>{if(!y)return{base64:!0,data:t};{let r=d(t);return b(r,e)}},b=(t,e)=>"blob"===e?t instanceof Blob?t:new Blob([t]):t instanceof ArrayBuffer?t:t.buffer,w=(t,e)=>{let r=t.length,i=Array(r),n=0;t.forEach((t,s)=>{u(t,!1,t=>{i[s]=t,++n===r&&e(i.join("\x1e"))})})},v=(t,e)=>{let r=t.split("\x1e"),i=[];for(let t=0;t(t.hasOwnProperty(r)&&(e[r]=t[r]),e),{})}const _=B.setTimeout,k=B.clearTimeout;function R(t,e){e.useNativeTimers?(t.setTimeoutFn=_.bind(B),t.clearTimeoutFn=k.bind(B)):(t.setTimeoutFn=B.setTimeout.bind(B),t.clearTimeoutFn=B.clearTimeout.bind(B))}class O extends Error{constructor(t,e,r){super(t),this.description=e,this.context=r,this.type="TransportError"}}class T extends E{constructor(t){super(),this.writable=!1,R(this,t),this.opts=t,this.query=t.query,this.socket=t.socket}onError(t,e,r){return super.emitReserved("error",new O(t,e,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return("opening"===this.readyState||"open"===this.readyState)&&(this.doClose(),this.onClose()),this}send(t){"open"===this.readyState&&this.write(t)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(t){let e=g(t,this.socket.binaryType);this.onPacket(e)}onPacket(t){super.emitReserved("packet",t)}onClose(t){this.readyState="closed",super.emitReserved("close",t)}pause(t){}createUri(t,e={}){return t+"://"+this._hostname()+this._port()+this.opts.path+this._query(e)}_hostname(){let t=this.opts.hostname;return -1===t.indexOf(":")?t:"["+t+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(t){let e=function(t){let e="";for(let r in t)t.hasOwnProperty(r)&&(e.length&&(e+="&"),e+=encodeURIComponent(r)+"="+encodeURIComponent(t[r]));return e}(t);return e.length?"?"+e:""}}"use strict";const C="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),L={};let I=0,S=0,x;function U(t){let e="";do e=C[t%64]+e,t=Math.floor(t/64);while(t>0)return e}function N(){let t=U(+new Date);return t!==x?(I=0,x=t):t+"."+U(I++)}for(;S<64;S++)L[C[S]]=S;let P=!1;try{P="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(t){}const j=P;function q(t){let e=t.xdomain;try{if("undefined"!=typeof XMLHttpRequest&&(!e||j))return new XMLHttpRequest}catch(t){}if(!e)try{return new B[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch(t){}}function M(){}const F=function(){let t=new q({xdomain:!1});return null!=t.responseType}();class D extends E{constructor(t,e){super(),R(this,e),this.opts=e,this.method=e.method||"GET",this.uri=t,this.data=void 0!==e.data?e.data:null,this.create()}create(){var t;let e=A(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");e.xdomain=!!this.opts.xd;let r=this.xhr=new q(e);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders)for(let t in r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0),this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(t)&&r.setRequestHeader(t,this.opts.extraHeaders[t])}catch(t){}if("POST"===this.method)try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(t){}try{r.setRequestHeader("Accept","*/*")}catch(t){}null===(t=this.opts.cookieJar)||void 0===t||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var t;3===r.readyState&&(null===(t=this.opts.cookieJar)||void 0===t||t.parseCookies(r)),4===r.readyState&&(200===r.status||1223===r.status?this.onLoad():this.setTimeoutFn(()=>{this.onError("number"==typeof r.status?r.status:0)},0))},r.send(this.data)}catch(t){this.setTimeoutFn(()=>{this.onError(t)},0);return}"undefined"!=typeof document&&(this.index=D.requestsCount++,D.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=M,t)try{this.xhr.abort()}catch(t){}"undefined"!=typeof document&&delete D.requests[this.index],this.xhr=null}}onLoad(){let t=this.xhr.responseText;null!==t&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(D.requestsCount=0,D.requests={},"undefined"!=typeof document){if("function"==typeof attachEvent)attachEvent("onunload",$);else if("function"==typeof addEventListener){let t="onpagehide"in B?"pagehide":"unload";addEventListener(t,$,!1)}}function $(){for(let t in D.requests)D.requests.hasOwnProperty(t)&&D.requests[t].abort()}"use strict";"use strict";const V=(()=>{let t="function"==typeof Promise&&"function"==typeof Promise.resolve;return t?t=>Promise.resolve().then(t):(t,e)=>e(t,0)})(),z=B.WebSocket||B.MozWebSocket;Y=function(t){for(var e,r=t.length,i=r%3,n=[],s=0,o=r-i;s>18&63]+J[i>>12&63]+J[i>>6&63]+J[63&i]);return n.join("")}(t,s,s+16383>o?o:s+16383));return 1===i?n.push(J[(e=t[r-1])>>2]+J[e<<4&63]+"=="):2===i&&n.push(J[(e=(t[r-2]<<8)+t[r-1])>>10]+J[e>>4&63]+J[e<<2&63]+"="),n.join("")};for(var Y,H,K,W,J=[],Q=[],G="undefined"!=typeof Uint8Array?Uint8Array:Array,X="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Z=0,tt=X.length;Z>1,c=-7,f=r?n-1:0,l=r?-1:1,p=t[e+f];for(f+=l,s=p&(1<<-c)-1,p>>=-c,c+=h;c>0;s=256*s+t[e+f],f+=l,c-=8);for(o=s&(1<<-c)-1,s>>=-c,c+=i;c>0;o=256*o+t[e+f],f+=l,c-=8);if(0===s)s=1-u;else{if(s===a)return o?NaN:(p?-1:1)*(1/0);o+=Math.pow(2,i),s-=u}return(p?-1:1)*o*Math.pow(2,s-i)},K=function(t,e,r,i,n,s){var o,h,a,u=8*s-n-1,c=(1<>1,l=23===n?5960464477539062e-23:0,p=i?0:s-1,d=i?1:-1,y=e<0||0===e&&1/e<0?1:0;for(isNaN(e=Math.abs(e))||e===1/0?(h=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-o))<1&&(o--,a*=2),o+f>=1?e+=l/a:e+=l*Math.pow(2,1-f),e*a>=2&&(o++,a/=2),o+f>=c?(h=0,o=c):o+f>=1?(h=(e*a-1)*Math.pow(2,n),o+=f):(h=e*Math.pow(2,f-1)*Math.pow(2,n),o=0));n>=8;t[r+p]=255&h,p+=d,h/=256,n-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*y};const te="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function tr(t){if(t>2147483647)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,ti.prototype),e}function ti(t,e,r){if("number"==typeof t){if("string"==typeof e)throw TypeError('The "string" argument must be of type string. Received type number');return to(t)}return tn(t,e,r)}function tn(t,e,r){if("string"==typeof t)return function(t,e){if(("string"!=typeof e||""===e)&&(e="utf8"),!ti.isEncoding(e))throw TypeError("Unknown encoding: "+e);let r=0|tc(t,e),i=tr(r),n=i.write(t,e);return n!==r&&(i=i.slice(0,n)),i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tx(t,Uint8Array)){let e=new Uint8Array(t);return ta(e.buffer,e.byteOffset,e.byteLength)}return th(t)}(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(tx(t,ArrayBuffer)||t&&tx(t.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(tx(t,SharedArrayBuffer)||t&&tx(t.buffer,SharedArrayBuffer)))return ta(t,e,r);if("number"==typeof t)throw TypeError('The "value" argument must not be of type number. Received type number');let i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return ti.from(i,e,r);let n=function(t){var e;if(ti.isBuffer(t)){let e=0|tu(t.length),r=tr(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||(e=t.length)!=e?tr(0):th(t):"Buffer"===t.type&&Array.isArray(t.data)?th(t.data):void 0}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return ti.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function ts(t){if("number"!=typeof t)throw TypeError('"size" argument must be of type number');if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function to(t){return ts(t),tr(t<0?0:0|tu(t))}function th(t){let e=t.length<0?0:0|tu(t.length),r=tr(e);for(let i=0;i=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function tc(t,e){if(ti.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tx(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return tL(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tI(t).length;default:if(n)return i?-1:tL(t).length;e=(""+e).toLowerCase(),n=!0}}function tf(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(e>>>=0)))return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,e,r){let i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);let n="";for(let i=e;i2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(s=r=+r)!=s&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return -1;r=t.length-1}else if(r<0){if(!n)return -1;r=0}if("string"==typeof e&&(e=ti.from(e,i)),ti.isBuffer(e))return 0===e.length?-1:td(t,e,r,i,n);if("number"==typeof e)return(e&=255,"function"==typeof Uint8Array.prototype.indexOf)?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):td(t,[e],r,i,n);throw TypeError("val must be string, number or Buffer")}function td(t,e,r,i,n){let s,o=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return -1;o=2,h/=2,a/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(n){let i=-1;for(s=r;sh&&(r=h-a),s=r;s>=0;s--){let r=!0;for(let i=0;i239?4:e>223?3:e>191?2:1;if(n+o<=r){let r,i,h,a;switch(o){case 1:e<128&&(s=e);break;case 2:(192&(r=t[n+1]))==128&&(a=(31&e)<<6|63&r)>127&&(s=a);break;case 3:r=t[n+1],i=t[n+2],(192&r)==128&&(192&i)==128&&(a=(15&e)<<12|(63&r)<<6|63&i)>2047&&(a<55296||a>57343)&&(s=a);break;case 4:r=t[n+1],i=t[n+2],h=t[n+3],(192&r)==128&&(192&i)==128&&(192&h)==128&&(a=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&h)>65535&&a<1114112&&(s=a)}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),n+=o}return function(t){let e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);let r="",i=0;for(;ir)throw RangeError("Trying to access beyond buffer length")}function tm(t,e,r,i,n,s){if(!ti.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw RangeError("Index out of range")}function tb(t,e,r,i,n){tR(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function tw(t,e,r,i,n){tR(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s>>=8,t[r+6]=s,s>>=8,t[r+5]=s,s>>=8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function tv(t,e,r,i,n,s){if(r+i>t.length||r<0)throw RangeError("Index out of range")}function tE(t,e,r,i,n){return e=+e,r>>>=0,n||tv(t,e,r,4,34028234663852886e22,-34028234663852886e22),K(t,e,r,i,23,4),r+4}function tB(t,e,r,i,n){return e=+e,r>>>=0,n||tv(t,e,r,8,17976931348623157e292,-17976931348623157e292),K(t,e,r,i,52,8),r+8}ti.TYPED_ARRAY_SUPPORT=function(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),ti.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(ti.prototype,"parent",{enumerable:!0,get:function(){if(ti.isBuffer(this))return this.buffer}}),Object.defineProperty(ti.prototype,"offset",{enumerable:!0,get:function(){if(ti.isBuffer(this))return this.byteOffset}}),ti.poolSize=8192,ti.from=function(t,e,r){return tn(t,e,r)},Object.setPrototypeOf(ti.prototype,Uint8Array.prototype),Object.setPrototypeOf(ti,Uint8Array),ti.alloc=function(t,e,r){return(ts(t),t<=0)?tr(t):void 0!==e?"string"==typeof r?tr(t).fill(e,r):tr(t).fill(e):tr(t)},ti.allocUnsafe=function(t){return to(t)},ti.allocUnsafeSlow=function(t){return to(t)},ti.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==ti.prototype},ti.compare=function(t,e){if(tx(t,Uint8Array)&&(t=ti.from(t,t.offset,t.byteLength)),tx(e,Uint8Array)&&(e=ti.from(e,e.offset,e.byteLength)),!ti.isBuffer(t)||!ti.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,i=e.length;for(let n=0,s=Math.min(r,i);ni.length?(ti.isBuffer(e)||(e=ti.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else if(ti.isBuffer(e))e.copy(i,n);else throw TypeError('"list" argument must be an Array of Buffers');n+=e.length}return i},ti.byteLength=tc,ti.prototype._isBuffer=!0,ti.prototype.swap16=function(){let t=this.length;if(t%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e50&&(t+=" ... "),""},te&&(ti.prototype[te]=ti.prototype.inspect),ti.prototype.compare=function(t,e,r,i,n){if(tx(t,Uint8Array)&&(t=ti.from(t,t.offset,t.byteLength)),!ti.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return -1;if(e>=r)return 1;if(e>>>=0,r>>>=0,i>>>=0,n>>>=0,this===t)return 0;let s=n-i,o=r-e,h=Math.min(s,o),a=this.slice(i,n),u=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let l=this.length-e;if((void 0===r||r>l)&&(r=l),t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let p=!1;for(;;)switch(i){case"hex":return function(t,e,r,i){let n;r=Number(r)||0;let s=t.length-r;i?(i=Number(i))>s&&(i=s):i=s;let o=e.length;for(i>o/2&&(i=o/2),n=0;n>8,n.push(r%256),n.push(i);return n}(t,this.length-c),this,c,f);default:if(p)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),p=!0}},ti.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},ti.prototype.slice=function(t,e){let r=this.length;t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||tg(t,e,this.length);let i=this[t],n=1,s=0;for(;++s>>=0,e>>>=0,r||tg(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},ti.prototype.readUint8=ti.prototype.readUInt8=function(t,e){return t>>>=0,e||tg(t,1,this.length),this[t]},ti.prototype.readUint16LE=ti.prototype.readUInt16LE=function(t,e){return t>>>=0,e||tg(t,2,this.length),this[t]|this[t+1]<<8},ti.prototype.readUint16BE=ti.prototype.readUInt16BE=function(t,e){return t>>>=0,e||tg(t,2,this.length),this[t]<<8|this[t+1]},ti.prototype.readUint32LE=ti.prototype.readUInt32LE=function(t,e){return t>>>=0,e||tg(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},ti.prototype.readUint32BE=ti.prototype.readUInt32BE=function(t,e){return t>>>=0,e||tg(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},ti.prototype.readBigUInt64LE=tN(function(t){tO(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&tT(t,this.length-8);let i=e+256*this[++t]+65536*this[++t]+16777216*this[++t],n=this[++t]+256*this[++t]+65536*this[++t]+16777216*r;return BigInt(i)+(BigInt(n)<>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&tT(t,this.length-8);let i=16777216*e+65536*this[++t]+256*this[++t]+this[++t],n=16777216*this[++t]+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<>>=0,e>>>=0,r||tg(t,e,this.length);let i=this[t],n=1,s=0;for(;++s=(n*=128)&&(i-=Math.pow(2,8*e)),i},ti.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||tg(t,e,this.length);let i=e,n=1,s=this[t+--i];for(;i>0&&(n*=256);)s+=this[t+--i]*n;return s>=(n*=128)&&(s-=Math.pow(2,8*e)),s},ti.prototype.readInt8=function(t,e){return(t>>>=0,e||tg(t,1,this.length),128&this[t])?-((255-this[t]+1)*1):this[t]},ti.prototype.readInt16LE=function(t,e){t>>>=0,e||tg(t,2,this.length);let r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},ti.prototype.readInt16BE=function(t,e){t>>>=0,e||tg(t,2,this.length);let r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},ti.prototype.readInt32LE=function(t,e){return t>>>=0,e||tg(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},ti.prototype.readInt32BE=function(t,e){return t>>>=0,e||tg(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},ti.prototype.readBigInt64LE=tN(function(t){tO(t>>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&tT(t,this.length-8);let i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<>>=0,"offset");let e=this[t],r=this[t+7];(void 0===e||void 0===r)&&tT(t,this.length-8);let i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<>>=0,e||tg(t,4,this.length),H(this,t,!0,23,4)},ti.prototype.readFloatBE=function(t,e){return t>>>=0,e||tg(t,4,this.length),H(this,t,!1,23,4)},ti.prototype.readDoubleLE=function(t,e){return t>>>=0,e||tg(t,8,this.length),H(this,t,!0,52,8)},ti.prototype.readDoubleBE=function(t,e){return t>>>=0,e||tg(t,8,this.length),H(this,t,!1,52,8)},ti.prototype.writeUintLE=ti.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){let i=Math.pow(2,8*r)-1;tm(this,t,e,r,i,0)}let n=1,s=0;for(this[e]=255&t;++s>>=0,r>>>=0,!i){let i=Math.pow(2,8*r)-1;tm(this,t,e,r,i,0)}let n=r-1,s=1;for(this[e+n]=255&t;--n>=0&&(s*=256);)this[e+n]=t/s&255;return e+r},ti.prototype.writeUint8=ti.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,1,255,0),this[e]=255&t,e+1},ti.prototype.writeUint16LE=ti.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},ti.prototype.writeUint16BE=ti.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},ti.prototype.writeUint32LE=ti.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},ti.prototype.writeUint32BE=ti.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},ti.prototype.writeBigUInt64LE=tN(function(t,e=0){return tb(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),ti.prototype.writeBigUInt64BE=tN(function(t,e=0){return tw(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),ti.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){let i=Math.pow(2,8*r-1);tm(this,t,e,r,i-1,-i)}let n=0,s=1,o=0;for(this[e]=255&t;++n>0)-o&255;return e+r},ti.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e>>>=0,!i){let i=Math.pow(2,8*r-1);tm(this,t,e,r,i-1,-i)}let n=r-1,s=1,o=0;for(this[e+n]=255&t;--n>=0&&(s*=256);)t<0&&0===o&&0!==this[e+n+1]&&(o=1),this[e+n]=(t/s>>0)-o&255;return e+r},ti.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},ti.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},ti.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},ti.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},ti.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||tm(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},ti.prototype.writeBigInt64LE=tN(function(t,e=0){return tb(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),ti.prototype.writeBigInt64BE=tN(function(t,e=0){return tw(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),ti.prototype.writeFloatLE=function(t,e,r){return tE(this,t,e,!0,r)},ti.prototype.writeFloatBE=function(t,e,r){return tE(this,t,e,!1,r)},ti.prototype.writeDoubleLE=function(t,e,r){return tB(this,t,e,!0,r)},ti.prototype.writeDoubleBE=function(t,e,r){return tB(this,t,e,!1,r)},ti.prototype.copy=function(t,e,r,i){if(!ti.isBuffer(t))throw TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i=this.length)throw RangeError("Index out of range");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function tR(t,e,r,i,n,s){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${(s+1)*8}${n}`:`>= -(2${n} ** ${(s+1)*8-1}${n}) and < 2 ** ${(s+1)*8-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new tA.ERR_OUT_OF_RANGE("value",i,t)}tO(n,"offset"),(void 0===i[n]||void 0===i[n+s])&&tT(n,i.length-(s+1))}function tO(t,e){if("number"!=typeof t)throw new tA.ERR_INVALID_ARG_TYPE(e,"number",t)}function tT(t,e,r){if(Math.floor(t)!==t)throw tO(t,r),new tA.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new tA.ERR_BUFFER_OUT_OF_BOUNDS;throw new tA.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}t_("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),t_("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),t_("ERR_OUT_OF_RANGE",function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>4294967296?n=tk(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=tk(n)),n+="n"),i+=` It must be ${e}. Received ${n}`},RangeError);const tC=/[^+/0-9A-Za-z-_]/g;function tL(t,e){let r;e=e||1/0;let i=t.length,n=null,s=[];for(let o=0;o55295&&r<57344){if(!n){if(r>56319||o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return s}function tI(t){return function(t){var e,r,i=function(t){var e=t.length;if(e%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");-1===r&&(r=e);var i=r===e?0:4-r%4;return[r,i]}(t),n=i[0],s=i[1],o=new G((n+s)*3/4-s),h=0,a=s>0?n-4:n;for(r=0;r>16&255,o[h++]=e>>8&255,o[h++]=255&e;return 2===s&&(e=Q[t.charCodeAt(r)]<<2|Q[t.charCodeAt(r+1)]>>4,o[h++]=255&e),1===s&&(e=Q[t.charCodeAt(r)]<<10|Q[t.charCodeAt(r+1)]<<4|Q[t.charCodeAt(r+2)]>>2,o[h++]=e>>8&255,o[h++]=255&e),o}(function(t){if((t=(t=t.split("=")[0]).trim().replace(tC,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tS(t,e,r,i){let n;for(n=0;n=e.length)&&!(n>=t.length);++n)e[n+r]=t[n];return n}function tx(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}const tU=function(){let t="0123456789abcdef",e=Array(256);for(let r=0;r<16;++r){let i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function tN(t){return"undefined"==typeof BigInt?tP:t}function tP(){throw Error("BigInt not supported")}const tj="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase(),tq={websocket:class extends T{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;let t=this.uri(),e=this.opts.protocols,r=tj?{}:A(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=tj?new z(t,e,r):e?new z(t,e):new z(t)}catch(t){return this.emitReserved("error",t)}this.ws.binaryType=this.socket.binaryType||"arraybuffer",this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let e=0;e{try{this.ws.send(t)}catch(t){}i&&V(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){let t=this.opts.secure?"wss":"ws",e=this.query||{};return this.opts.timestampRequests&&(e[this.opts.timestampParam]=N()),this.supportsBinary||(e.b64=1),this.createUri(t,e)}check(){return!!z}},webtransport:class extends T{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{let r;let i=t.readable.getReader();this.writer=t.writable.getWriter();let n=()=>{i.read().then(({done:t,value:i})=>{t||(r||1!==i.byteLength||54!==i[0]?(this.onPacket(function(t,r,i){e||(e=new TextDecoder);let n=r||t[0]<48||t[0]>54;return g(n?t:e.decode(t),i)}(i,r,"arraybuffer")),r=!1):r=!0,n())}).catch(t=>{})};n();let s=this.query.sid?`0{"sid":"${this.query.sid}"}`:"0";this.writer.write(new TextEncoder().encode(s)).then(()=>this.onOpen())})}))}write(e){this.writable=!1;for(let r=0;r{t||(t=new TextEncoder),r(t.encode(e))})}(i,t=>{"message"===i.type&&"string"!=typeof i.data&&t[0]>=48&&t[0]<=54&&this.writer.write(Uint8Array.of(54)),this.writer.write(t).then(()=>{n&&V(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})})}}doClose(){var t;null===(t=this.transport)||void 0===t||t.close()}},polling:class extends T{constructor(t){if(super(t),this.polling=!1,"undefined"!=typeof location){let e="https:"===location.protocol,r=location.port;r||(r=e?"443":"80"),this.xd="undefined"!=typeof location&&t.hostname!==location.hostname||r!==t.port}let e=t&&t.forceBase64;this.supportsBinary=F&&!e,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(t){this.readyState="pausing";let e=()=>{this.readyState="paused",t()};if(this.polling||!this.writable){let t=0;this.polling&&(t++,this.once("pollComplete",function(){--t||e()})),this.writable||(t++,this.once("drain",function(){--t||e()}))}else e()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){v(t,this.socket.binaryType).forEach(t=>{if("opening"===this.readyState&&"open"===t.type&&this.onOpen(),"close"===t.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(t)}),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState&&this.poll())}doClose(){let t=()=>{this.write([{type:"close"}])};"open"===this.readyState?t():this.once("open",t)}write(t){this.writable=!1,w(t,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let t=this.opts.secure?"https":"http",e=this.query||{};return!1!==this.opts.timestampRequests&&(e[this.opts.timestampParam]=N()),this.supportsBinary||e.sid||(e.b64=1),this.createUri(t,e)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new D(this.uri(),t)}doWrite(t,e){let r=this.request({method:"POST",data:t});r.on("success",e),r.on("error",(t,e)=>{this.onError("xhr post error",t,e)})}doPoll(){let t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(t,e)=>{this.onError("xhr poll error",t,e)}),this.pollXhr=t}}},tM=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,tF=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function tD(t){let e=t,r=t.indexOf("["),i=t.indexOf("]");-1!=r&&-1!=i&&(t=t.substring(0,r)+t.substring(r,i).replace(/:/g,";")+t.substring(i,t.length));let n=tM.exec(t||""),s={},o=14;for(;o--;)s[tF[o]]=n[o]||"";return -1!=r&&-1!=i&&(s.source=e,s.host=s.host.substring(1,s.host.length-1).replace(/;/g,":"),s.authority=s.authority.replace("[","").replace("]","").replace(/;/g,":"),s.ipv6uri=!0),s.pathNames=function(t,e){let r=e.replace(/\/{2,9}/g,"/").split("/");return("/"==e.slice(0,1)||0===e.length)&&r.splice(0,1),"/"==e.slice(-1)&&r.splice(r.length-1,1),r}(0,s.path),s.queryKey=function(t,e){let r={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(t,e,i){e&&(r[e]=i)}),r}(0,s.query),s}class t$ extends E{constructor(t,e={}){super(),this.writeBuffer=[],t&&"object"==typeof t&&(e=t,t=null),t?(t=tD(t),e.hostname=t.host,e.secure="https"===t.protocol||"wss"===t.protocol,e.port=t.port,t.query&&(e.query=t.query)):e.host&&(e.hostname=tD(e.host).host),R(this,e),this.secure=null!=e.secure?e.secure:"undefined"!=typeof location&&"https:"===location.protocol,e.hostname&&!e.port&&(e.port=this.secure?"443":"80"),this.hostname=e.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=e.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=e.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},e),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=function(t){let e={},r=t.split("&");for(let t=0,i=r.length;t{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){let e=Object.assign({},this.opts.query);e.EIO=4,e.transport=t,this.id&&(e.sid=this.id);let r=Object.assign({},this.opts,{query:e,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new tq[t](r)}open(){let t;if(this.opts.rememberUpgrade&&t$.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else if(0===this.transports.length){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch(t){this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",t=>this.onClose("transport close",t))}probe(t){let e=this.createTransport(t),r=!1;t$.priorWebsocketSuccess=!1;let i=()=>{r||(e.send([{type:"ping",data:"probe"}]),e.once("packet",t=>{if(!r){if("pong"===t.type&&"probe"===t.data)this.upgrading=!0,this.emitReserved("upgrading",e),e&&(t$.priorWebsocketSuccess="websocket"===e.name,this.transport.pause(()=>{r||"closed"===this.readyState||(u(),this.setTransport(e),e.send([{type:"upgrade"}]),this.emitReserved("upgrade",e),e=null,this.upgrading=!1,this.flush())}));else{let t=Error("probe error");t.transport=e.name,this.emitReserved("upgradeError",t)}}}))};function n(){r||(r=!0,u(),e.close(),e=null)}let s=t=>{let r=Error("probe error: "+t);r.transport=e.name,n(),this.emitReserved("upgradeError",r)};function o(){s("transport closed")}function h(){s("socket closed")}function a(t){e&&t.name!==e.name&&n()}let u=()=>{e.removeListener("open",i),e.removeListener("error",s),e.removeListener("close",o),this.off("close",h),this.off("upgrading",a)};e.once("open",i),e.once("error",s),e.once("close",o),this.once("close",h),this.once("upgrading",a),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==t?this.setTimeoutFn(()=>{r||e.open()},200):e.open()}onOpen(){if(this.readyState="open",t$.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){let t=0,e=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){let t=this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1;if(!t)return this.writeBuffer;let e=1;for(let t=0;t=57344?r+=3:(i++,r+=4);return r}(r):Math.ceil(1.33*(r.byteLength||r.size))),t>0&&e>this.maxPayload)return this.writeBuffer.slice(0,t);e+=2}return this.writeBuffer}write(t,e,r){return this.sendPacket("message",t,e,r),this}send(t,e,r){return this.sendPacket("message",t,e,r),this}sendPacket(t,e,r,i){if("function"==typeof e&&(i=e,e=void 0),"function"==typeof r&&(i=r,r=null),"closing"===this.readyState||"closed"===this.readyState)return;(r=r||{}).compress=!1!==r.compress;let n={type:t,data:e,options:r};this.emitReserved("packetCreate",n),this.writeBuffer.push(n),i&&this.once("flush",i),this.flush()}close(){let t=()=>{this.onClose("forced close"),this.transport.close()},e=()=>{this.off("upgrade",e),this.off("upgradeError",e),t()},r=()=>{this.once("upgrade",e),this.once("upgradeError",e)};return("opening"===this.readyState||"open"===this.readyState)&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){t$.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,e){("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,e),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){let e=[],r=0,i=t.length;for(;rtG),r(tV,"PacketType",()=>W),r(tV,"Encoder",()=>tX),r(tV,"Decoder",()=>t0);const tz="function"==typeof ArrayBuffer,tY=t=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):t.buffer instanceof ArrayBuffer,tH=Object.prototype.toString,tK="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===tH.call(Blob),tW="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===tH.call(File);function tJ(t){return tz&&(t instanceof ArrayBuffer||tY(t))||tK&&t instanceof Blob||tW&&t instanceof File}const tQ=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],tG=5;!function(t){t[t.CONNECT=0]="CONNECT",t[t.DISCONNECT=1]="DISCONNECT",t[t.EVENT=2]="EVENT",t[t.ACK=3]="ACK",t[t.CONNECT_ERROR=4]="CONNECT_ERROR",t[t.BINARY_EVENT=5]="BINARY_EVENT",t[t.BINARY_ACK=6]="BINARY_ACK"}(W||(W={}));class tX{constructor(t){this.replacer=t}encode(t){return(t.type===W.EVENT||t.type===W.ACK)&&function t(e,r){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){for(let r=0,i=e.length;r=0&&e.num{delete this.acks[t];for(let e=0;e{this.io.clearTimeoutFn(n),e.apply(this,[null,...t])}}emitWithAck(t,...e){let r=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise((i,n)=>{e.push((t,e)=>r?t?n(t):i(e):i(t)),this.emit(t,...e)})}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());let r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((t,...i)=>{if(r!==this._queue[0])return;let n=null!==t;return n?r.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...i)),r.pending=!1,this._drainQueue()}),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;let e=this._queue[0];(!e.pending||t)&&(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:W.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e)}onpacket(t){let e=t.nsp===this.nsp;if(e)switch(t.type){case W.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case W.EVENT:case W.BINARY_EVENT:this.onevent(t);break;case W.ACK:case W.BINARY_ACK:this.onack(t);break;case W.DISCONNECT:this.ondisconnect();break;case W.CONNECT_ERROR:this.destroy();let r=Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r)}}onevent(t){let e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){let e=this._anyListeners.slice();for(let r of e)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(t){let e=this,r=!1;return function(...i){r||(r=!0,e.packet({type:W.ACK,id:t,data:i}))}}onack(t){let e=this.acks[t.id];"function"==typeof e&&(e.apply(this,t.data),delete this.acks[t.id])}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:W.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){let e=this._anyListeners;for(let r=0;r0&&t.jitter<=1?t.jitter:0,this.attempts=0}t5.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),r=Math.floor(e*this.jitter*t);t=(1&Math.floor(10*e))==0?t-r:t+r}return 0|Math.min(t,this.max)},t5.prototype.reset=function(){this.attempts=0},t5.prototype.setMin=function(t){this.ms=t},t5.prototype.setMax=function(t){this.max=t},t5.prototype.setJitter=function(t){this.jitter=t};class t4 extends E{constructor(t,e){var r;super(),this.nsps={},this.subs=[],t&&"object"==typeof t&&(e=t,t=void 0),(e=e||{}).path=e.path||"/socket.io",this.opts=e,R(this,e),this.reconnection(!1!==e.reconnection),this.reconnectionAttempts(e.reconnectionAttempts||1/0),this.reconnectionDelay(e.reconnectionDelay||1e3),this.reconnectionDelayMax(e.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(r=e.randomizationFactor)&&void 0!==r?r:.5),this.backoff=new t5({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==e.timeout?2e4:e.timeout),this._readyState="closed",this.uri=t;let i=e.parser||tV;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=!1!==e.autoConnect,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return void 0===t?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var e;return void 0===t?this._reconnectionDelay:(this._reconnectionDelay=t,null===(e=this.backoff)||void 0===e||e.setMin(t),this)}randomizationFactor(t){var e;return void 0===t?this._randomizationFactor:(this._randomizationFactor=t,null===(e=this.backoff)||void 0===e||e.setJitter(t),this)}reconnectionDelayMax(t){var e;return void 0===t?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,null===(e=this.backoff)||void 0===e||e.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new t$(this.uri,this.opts);let e=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;let i=t2(e,"open",function(){r.onopen(),t&&t()}),n=e=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",e),t?t(e):this.maybeReconnectOnOpen()},s=t2(e,"error",n);if(!1!==this._timeout){let t=this._timeout,r=this.setTimeoutFn(()=>{i(),n(Error("timeout")),e.close()},t);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}return this.subs.push(i),this.subs.push(s),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");let t=this.engine;this.subs.push(t2(t,"ping",this.onping.bind(this)),t2(t,"data",this.ondata.bind(this)),t2(t,"error",this.onerror.bind(this)),t2(t,"close",this.onclose.bind(this)),t2(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(t){this.onclose("parse error",t)}}ondecoded(t){V(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,e){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new t8(this,t,e),this.nsps[t]=r),r}_destroy(t){let e=Object.keys(this.nsps);for(let t of e){let e=this.nsps[t];if(e.active)return}this._close()}_packet(t){let e=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,e){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,e),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let e=this.backoff.duration();this._reconnecting=!0;let r=this.setTimeoutFn(()=>{!t.skipReconnect&&(this.emitReserved("reconnect_attempt",t.backoff.attempts),t.skipReconnect||t.open(e=>{e?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",e)):t.onreconnect()}))},e);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){let t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const t3={};function t7(t,e){let r;"object"==typeof t&&(e=t,t=void 0),e=e||{};let i=function(t,e="",r){let i=t;r=r||"undefined"!=typeof location&&location,null==t&&(t=r.protocol+"//"+r.host),"string"==typeof t&&("/"===t.charAt(0)&&(t="/"===t.charAt(1)?r.protocol+t:r.host+t),/^(https?|wss?):\/\//.test(t)||(t=void 0!==r?r.protocol+"//"+t:"https://"+t),i=tD(t)),!i.port&&(/^(http|ws)$/.test(i.protocol)?i.port="80":/^(http|ws)s$/.test(i.protocol)&&(i.port="443")),i.path=i.path||"/";let n=-1!==i.host.indexOf(":"),s=n?"["+i.host+"]":i.host;return i.id=i.protocol+"://"+s+":"+i.port+e,i.href=i.protocol+"://"+s+(r&&r.port===i.port?"":":"+i.port),i}(t,e.path||"/socket.io"),n=i.source,s=i.id,o=i.path,h=t3[s]&&o in t3[s].nsps,a=e.forceNew||e["force new connection"]||!1===e.multiplex||h;return a?r=new t4(n,e):(t3[s]||(t3[s]=new t4(n,e)),r=t3[s]),i.query&&!e.query&&(e.query=i.queryKey),r.socket(i.path,e)}Object.assign(t7,{Manager:t4,Socket:t8,io:t7,connect:t7});const t9=t7();t9.on("update",t=>{document.querySelector("#raw-info").innerHTML=t}); +//# sourceMappingURL=index.5e4f646d.js.map diff --git a/dist/index.5e4f646d.js.map b/dist/index.5e4f646d.js.map new file mode 100644 index 0000000..3afda64 --- /dev/null +++ b/dist/index.5e4f646d.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["","client/index.js","node_modules/socket.io-client/build/esm/index.js","node_modules/socket.io-client/build/esm/url.js","node_modules/engine.io-client/build/esm/index.js","node_modules/engine.io-client/build/esm/socket.js","node_modules/engine.io-client/build/esm/transports/index.js","node_modules/engine.io-client/build/esm/transports/polling.js","node_modules/engine.io-client/build/esm/transport.js","node_modules/engine.io-parser/build/esm/index.js","node_modules/engine.io-parser/build/esm/encodePacket.browser.js","node_modules/engine.io-parser/build/esm/commons.js","node_modules/engine.io-parser/build/esm/decodePacket.browser.js","node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","node_modules/@socket.io/component-emitter/index.mjs","node_modules/engine.io-client/build/esm/util.js","node_modules/engine.io-client/build/esm/globalThis.browser.js","node_modules/engine.io-client/build/esm/contrib/parseqs.js","node_modules/engine.io-client/build/esm/contrib/yeast.js","node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","node_modules/engine.io-client/build/esm/contrib/has-cors.js","node_modules/engine.io-client/build/esm/transports/websocket.js","node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","node_modules/buffer/index.js","node_modules/base64-js/index.js","node_modules/ieee754/index.js","node_modules/engine.io-client/build/esm/transports/webtransport.js","node_modules/engine.io-client/build/esm/contrib/parseuri.js","node_modules/socket.io-client/build/esm/manager.js","node_modules/socket.io-client/build/esm/socket.js","node_modules/socket.io-parser/build/esm/index.js","node_modules/socket.io-parser/build/esm/binary.js","node_modules/socket.io-parser/build/esm/is-binary.js","node_modules/socket.io-client/build/esm/on.js","node_modules/socket.io-client/build/esm/contrib/backo2.js"],"sourcesContent":["function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nconst $b417fd17fc84e4e3$export$c169aefb7330cccb = Object.create(null); // no Map = no polyfill\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"open\"] = \"0\";\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"close\"] = \"1\";\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"ping\"] = \"2\";\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"pong\"] = \"3\";\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"message\"] = \"4\";\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"upgrade\"] = \"5\";\n$b417fd17fc84e4e3$export$c169aefb7330cccb[\"noop\"] = \"6\";\nconst $b417fd17fc84e4e3$export$47791e8004edd485 = Object.create(null);\nObject.keys($b417fd17fc84e4e3$export$c169aefb7330cccb).forEach((key)=>{\n $b417fd17fc84e4e3$export$47791e8004edd485[$b417fd17fc84e4e3$export$c169aefb7330cccb[key]] = key;\n});\nconst $b417fd17fc84e4e3$export$c718b5840781f8a7 = {\n type: \"error\",\n data: \"parser error\"\n};\n\n\nconst $8a3662315a48cdbd$var$withNativeBlob = typeof Blob === \"function\" || typeof Blob !== \"undefined\" && Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\";\nconst $8a3662315a48cdbd$var$withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst $8a3662315a48cdbd$var$isView = (obj)=>{\n return typeof ArrayBuffer.isView === \"function\" ? ArrayBuffer.isView(obj) : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst $8a3662315a48cdbd$export$57852049361a8e62 = ({ type: type, data: data }, supportsBinary, callback)=>{\n if ($8a3662315a48cdbd$var$withNativeBlob && data instanceof Blob) {\n if (supportsBinary) return callback(data);\n else return $8a3662315a48cdbd$var$encodeBlobAsBase64(data, callback);\n } else if ($8a3662315a48cdbd$var$withNativeArrayBuffer && (data instanceof ArrayBuffer || $8a3662315a48cdbd$var$isView(data))) {\n if (supportsBinary) return callback(data);\n else return $8a3662315a48cdbd$var$encodeBlobAsBase64(new Blob([\n data\n ]), callback);\n }\n // plain string\n return callback((0, $b417fd17fc84e4e3$export$c169aefb7330cccb)[type] + (data || \"\"));\n};\nconst $8a3662315a48cdbd$var$encodeBlobAsBase64 = (data, callback)=>{\n const fileReader = new FileReader();\n fileReader.onload = function() {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction $8a3662315a48cdbd$var$toArray(data) {\n if (data instanceof Uint8Array) return data;\n else if (data instanceof ArrayBuffer) return new Uint8Array(data);\n else return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n}\nlet $8a3662315a48cdbd$var$TEXT_ENCODER;\nfunction $8a3662315a48cdbd$export$ec0c9b9013ee0ef5(packet, callback) {\n if ($8a3662315a48cdbd$var$withNativeBlob && packet.data instanceof Blob) return packet.data.arrayBuffer().then($8a3662315a48cdbd$var$toArray).then(callback);\n else if ($8a3662315a48cdbd$var$withNativeArrayBuffer && (packet.data instanceof ArrayBuffer || $8a3662315a48cdbd$var$isView(packet.data))) return callback($8a3662315a48cdbd$var$toArray(packet.data));\n $8a3662315a48cdbd$export$57852049361a8e62(packet, false, (encoded)=>{\n if (!$8a3662315a48cdbd$var$TEXT_ENCODER) $8a3662315a48cdbd$var$TEXT_ENCODER = new TextEncoder();\n callback($8a3662315a48cdbd$var$TEXT_ENCODER.encode(encoded));\n });\n}\n\n\n\n// imported from https://github.com/socketio/base64-arraybuffer\nconst $7f4e842ae29bcbc5$var$chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n// Use a lookup table to find the index.\nconst $7f4e842ae29bcbc5$var$lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor(let i = 0; i < $7f4e842ae29bcbc5$var$chars.length; i++)$7f4e842ae29bcbc5$var$lookup[$7f4e842ae29bcbc5$var$chars.charCodeAt(i)] = i;\nconst $7f4e842ae29bcbc5$export$c564cdbbe6da493 = (arraybuffer)=>{\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = \"\";\n for(i = 0; i < len; i += 3){\n base64 += $7f4e842ae29bcbc5$var$chars[bytes[i] >> 2];\n base64 += $7f4e842ae29bcbc5$var$chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];\n base64 += $7f4e842ae29bcbc5$var$chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];\n base64 += $7f4e842ae29bcbc5$var$chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) base64 = base64.substring(0, base64.length - 1) + \"=\";\n else if (len % 3 === 1) base64 = base64.substring(0, base64.length - 2) + \"==\";\n return base64;\n};\nconst $7f4e842ae29bcbc5$export$2f872c0f2117be69 = (base64)=>{\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") bufferLength--;\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for(i = 0; i < len; i += 4){\n encoded1 = $7f4e842ae29bcbc5$var$lookup[base64.charCodeAt(i)];\n encoded2 = $7f4e842ae29bcbc5$var$lookup[base64.charCodeAt(i + 1)];\n encoded3 = $7f4e842ae29bcbc5$var$lookup[base64.charCodeAt(i + 2)];\n encoded4 = $7f4e842ae29bcbc5$var$lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return arraybuffer;\n};\n\n\nconst $a9bf3da28855a34f$var$withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst $a9bf3da28855a34f$export$4647901878f33f31 = (encodedPacket, binaryType)=>{\n if (typeof encodedPacket !== \"string\") return {\n type: \"message\",\n data: $a9bf3da28855a34f$var$mapBinary(encodedPacket, binaryType)\n };\n const type = encodedPacket.charAt(0);\n if (type === \"b\") return {\n type: \"message\",\n data: $a9bf3da28855a34f$var$decodeBase64Packet(encodedPacket.substring(1), binaryType)\n };\n const packetType = (0, $b417fd17fc84e4e3$export$47791e8004edd485)[type];\n if (!packetType) return 0, $b417fd17fc84e4e3$export$c718b5840781f8a7;\n return encodedPacket.length > 1 ? {\n type: (0, $b417fd17fc84e4e3$export$47791e8004edd485)[type],\n data: encodedPacket.substring(1)\n } : {\n type: (0, $b417fd17fc84e4e3$export$47791e8004edd485)[type]\n };\n};\nconst $a9bf3da28855a34f$var$decodeBase64Packet = (data, binaryType)=>{\n if ($a9bf3da28855a34f$var$withNativeArrayBuffer) {\n const decoded = (0, $7f4e842ae29bcbc5$export$2f872c0f2117be69)(data);\n return $a9bf3da28855a34f$var$mapBinary(decoded, binaryType);\n } else return {\n base64: true,\n data: data\n }; // fallback for old browsers\n};\nconst $a9bf3da28855a34f$var$mapBinary = (data, binaryType)=>{\n switch(binaryType){\n case \"blob\":\n if (data instanceof Blob) // from WebSocket + binaryType \"blob\"\n return data;\n else // from HTTP long-polling or WebTransport\n return new Blob([\n data\n ]);\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n else // from WebTransport (Uint8Array)\n return data.buffer;\n }\n};\n\n\nconst $0736208648dc8bae$var$SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst $0736208648dc8bae$export$144d64fe58dad441 = (packets, callback)=>{\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i)=>{\n // force base64 encoding for binary packets\n (0, $8a3662315a48cdbd$export$57852049361a8e62)(packet, false, (encodedPacket)=>{\n encodedPackets[i] = encodedPacket;\n if (++count === length) callback(encodedPackets.join($0736208648dc8bae$var$SEPARATOR));\n });\n });\n};\nconst $0736208648dc8bae$export$d10cc2e7f7566a2d = (encodedPayload, binaryType)=>{\n const encodedPackets = encodedPayload.split($0736208648dc8bae$var$SEPARATOR);\n const packets = [];\n for(let i = 0; i < encodedPackets.length; i++){\n const decodedPacket = (0, $a9bf3da28855a34f$export$4647901878f33f31)(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") break;\n }\n return packets;\n};\nlet $0736208648dc8bae$var$TEXT_DECODER;\nfunction $0736208648dc8bae$export$8f3ac8fec01ebd92(data, isBinary, binaryType) {\n if (!$0736208648dc8bae$var$TEXT_DECODER) // lazily created for compatibility with old browser platforms\n $0736208648dc8bae$var$TEXT_DECODER = new TextDecoder();\n // 48 === \"0\".charCodeAt(0) (OPEN packet type)\n // 54 === \"6\".charCodeAt(0) (NOOP packet type)\n const isPlainBinary = isBinary || data[0] < 48 || data[0] > 54;\n return (0, $a9bf3da28855a34f$export$4647901878f33f31)(isPlainBinary ? data : $0736208648dc8bae$var$TEXT_DECODER.decode(data), binaryType);\n}\nconst $0736208648dc8bae$export$a51d6b395ff4c65a = 4;\n\n\n/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */ function $8ff0082eecb39b62$export$4293555f241ae35a(obj) {\n if (obj) return $8ff0082eecb39b62$var$mixin(obj);\n}\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */ function $8ff0082eecb39b62$var$mixin(obj) {\n for(var key in $8ff0082eecb39b62$export$4293555f241ae35a.prototype)obj[key] = $8ff0082eecb39b62$export$4293555f241ae35a.prototype[key];\n return obj;\n}\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */ $8ff0082eecb39b62$export$4293555f241ae35a.prototype.on = $8ff0082eecb39b62$export$4293555f241ae35a.prototype.addEventListener = function(event, fn) {\n this._callbacks = this._callbacks || {};\n (this._callbacks[\"$\" + event] = this._callbacks[\"$\" + event] || []).push(fn);\n return this;\n};\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */ $8ff0082eecb39b62$export$4293555f241ae35a.prototype.once = function(event, fn) {\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */ $8ff0082eecb39b62$export$4293555f241ae35a.prototype.off = $8ff0082eecb39b62$export$4293555f241ae35a.prototype.removeListener = $8ff0082eecb39b62$export$4293555f241ae35a.prototype.removeAllListeners = $8ff0082eecb39b62$export$4293555f241ae35a.prototype.removeEventListener = function(event, fn) {\n this._callbacks = this._callbacks || {};\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n // specific event\n var callbacks = this._callbacks[\"$\" + event];\n if (!callbacks) return this;\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks[\"$\" + event];\n return this;\n }\n // remove specific handler\n var cb;\n for(var i = 0; i < callbacks.length; i++){\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) delete this._callbacks[\"$\" + event];\n return this;\n};\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */ $8ff0082eecb39b62$export$4293555f241ae35a.prototype.emit = function(event) {\n this._callbacks = this._callbacks || {};\n var args = new Array(arguments.length - 1), callbacks = this._callbacks[\"$\" + event];\n for(var i = 1; i < arguments.length; i++)args[i - 1] = arguments[i];\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for(var i = 0, len = callbacks.length; i < len; ++i)callbacks[i].apply(this, args);\n }\n return this;\n};\n// alias used for reserved events (protected method)\n$8ff0082eecb39b62$export$4293555f241ae35a.prototype.emitReserved = $8ff0082eecb39b62$export$4293555f241ae35a.prototype.emit;\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */ $8ff0082eecb39b62$export$4293555f241ae35a.prototype.listeners = function(event) {\n this._callbacks = this._callbacks || {};\n return this._callbacks[\"$\" + event] || [];\n};\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */ $8ff0082eecb39b62$export$4293555f241ae35a.prototype.hasListeners = function(event) {\n return !!this.listeners(event).length;\n};\n\n\nconst $26bf9c4279db2ef0$export$394f9358f6231289 = (()=>{\n if (typeof self !== \"undefined\") return self;\n else if (typeof window !== \"undefined\") return window;\n else return Function(\"return this\")();\n})();\n\n\nfunction $4028d5a20a4526d1$export$357523c63a2253b9(obj, ...attr) {\n return attr.reduce((acc, k)=>{\n if (obj.hasOwnProperty(k)) acc[k] = obj[k];\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst $4028d5a20a4526d1$var$NATIVE_SET_TIMEOUT = (0, $26bf9c4279db2ef0$export$394f9358f6231289).setTimeout;\nconst $4028d5a20a4526d1$var$NATIVE_CLEAR_TIMEOUT = (0, $26bf9c4279db2ef0$export$394f9358f6231289).clearTimeout;\nfunction $4028d5a20a4526d1$export$2f67576668b97183(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = $4028d5a20a4526d1$var$NATIVE_SET_TIMEOUT.bind((0, $26bf9c4279db2ef0$export$394f9358f6231289));\n obj.clearTimeoutFn = $4028d5a20a4526d1$var$NATIVE_CLEAR_TIMEOUT.bind((0, $26bf9c4279db2ef0$export$394f9358f6231289));\n } else {\n obj.setTimeoutFn = (0, $26bf9c4279db2ef0$export$394f9358f6231289).setTimeout.bind((0, $26bf9c4279db2ef0$export$394f9358f6231289));\n obj.clearTimeoutFn = (0, $26bf9c4279db2ef0$export$394f9358f6231289).clearTimeout.bind((0, $26bf9c4279db2ef0$export$394f9358f6231289));\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst $4028d5a20a4526d1$var$BASE64_OVERHEAD = 1.33;\nfunction $4028d5a20a4526d1$export$a48f0734ac7c2329(obj) {\n if (typeof obj === \"string\") return $4028d5a20a4526d1$var$utf8Length(obj);\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * $4028d5a20a4526d1$var$BASE64_OVERHEAD);\n}\nfunction $4028d5a20a4526d1$var$utf8Length(str) {\n let c = 0, length = 0;\n for(let i = 0, l = str.length; i < l; i++){\n c = str.charCodeAt(i);\n if (c < 0x80) length += 1;\n else if (c < 0x800) length += 2;\n else if (c < 0xd800 || c >= 0xe000) length += 3;\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n\n\n// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */ function $19744bce3c183d10$export$c564cdbbe6da493(obj) {\n let str = \"\";\n for(let i in obj)if (obj.hasOwnProperty(i)) {\n if (str.length) str += \"&\";\n str += encodeURIComponent(i) + \"=\" + encodeURIComponent(obj[i]);\n }\n return str;\n}\nfunction $19744bce3c183d10$export$2f872c0f2117be69(qs) {\n let qry = {};\n let pairs = qs.split(\"&\");\n for(let i = 0, l = pairs.length; i < l; i++){\n let pair = pairs[i].split(\"=\");\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n\n\nclass $4a78f487f5bb98d8$var$TransportError extends Error {\n constructor(reason, description, context){\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nclass $4a78f487f5bb98d8$export$86495b081fef8e52 extends (0, $8ff0082eecb39b62$export$4293555f241ae35a) {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */ constructor(opts){\n super();\n this.writable = false;\n (0, $4028d5a20a4526d1$export$2f67576668b97183)(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */ onError(reason, description, context) {\n super.emitReserved(\"error\", new $4a78f487f5bb98d8$var$TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */ open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */ close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */ send(packets) {\n if (this.readyState === \"open\") this.write(packets);\n }\n /**\n * Called upon open\n *\n * @protected\n */ onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */ onData(data) {\n const packet = (0, $a9bf3da28855a34f$export$4647901878f33f31)(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */ onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */ onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */ pause(onPause) {}\n createUri(schema, query = {}) {\n return schema + \"://\" + this._hostname() + this._port() + this.opts.path + this._query(query);\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port && (this.opts.secure && Number(this.opts.port !== 443) || !this.opts.secure && Number(this.opts.port) !== 80)) return \":\" + this.opts.port;\n else return \"\";\n }\n _query(query) {\n const encodedQuery = (0, $19744bce3c183d10$export$c564cdbbe6da493)(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n\n\n// imported from https://github.com/unshiftio/yeast\n\"use strict\";\nconst $a3bbf5b17719daf1$var$alphabet = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_\".split(\"\"), $a3bbf5b17719daf1$var$length = 64, $a3bbf5b17719daf1$var$map = {};\nlet $a3bbf5b17719daf1$var$seed = 0, $a3bbf5b17719daf1$var$i = 0, $a3bbf5b17719daf1$var$prev;\nfunction $a3bbf5b17719daf1$export$c564cdbbe6da493(num) {\n let encoded = \"\";\n do {\n encoded = $a3bbf5b17719daf1$var$alphabet[num % $a3bbf5b17719daf1$var$length] + encoded;\n num = Math.floor(num / $a3bbf5b17719daf1$var$length);\n }while (num > 0);\n return encoded;\n}\nfunction $a3bbf5b17719daf1$export$2f872c0f2117be69(str) {\n let decoded = 0;\n for($a3bbf5b17719daf1$var$i = 0; $a3bbf5b17719daf1$var$i < str.length; $a3bbf5b17719daf1$var$i++)decoded = decoded * $a3bbf5b17719daf1$var$length + $a3bbf5b17719daf1$var$map[str.charAt($a3bbf5b17719daf1$var$i)];\n return decoded;\n}\nfunction $a3bbf5b17719daf1$export$5bb64b92cb4135a() {\n const now = $a3bbf5b17719daf1$export$c564cdbbe6da493(+new Date());\n if (now !== $a3bbf5b17719daf1$var$prev) return $a3bbf5b17719daf1$var$seed = 0, $a3bbf5b17719daf1$var$prev = now;\n return now + \".\" + $a3bbf5b17719daf1$export$c564cdbbe6da493($a3bbf5b17719daf1$var$seed++);\n}\n//\n// Map each character to its index.\n//\nfor(; $a3bbf5b17719daf1$var$i < $a3bbf5b17719daf1$var$length; $a3bbf5b17719daf1$var$i++)$a3bbf5b17719daf1$var$map[$a3bbf5b17719daf1$var$alphabet[$a3bbf5b17719daf1$var$i]] = $a3bbf5b17719daf1$var$i;\n\n\n\n// browser shim for xmlhttprequest module\n// imported from https://github.com/component/has-cors\nlet $ef3f42a25dd224af$var$value = false;\ntry {\n $ef3f42a25dd224af$var$value = typeof XMLHttpRequest !== \"undefined\" && \"withCredentials\" in new XMLHttpRequest();\n} catch (err) {\n// if XMLHttp support is disabled in IE then it will throw\n// when trying to create\n}\nconst $ef3f42a25dd224af$export$5235bbd4a1ef06e = $ef3f42a25dd224af$var$value;\n\n\n\nfunction $fb8e645f3bad3d56$export$a2d42eb087c10497(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || (0, $ef3f42a25dd224af$export$5235bbd4a1ef06e))) return new XMLHttpRequest();\n } catch (e) {}\n if (!xdomain) try {\n return new (0, $26bf9c4279db2ef0$export$394f9358f6231289)[[\n \"Active\"\n ].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n } catch (e) {}\n}\nfunction $fb8e645f3bad3d56$export$19413efcf2fac759() {}\n\n\n\n\n\nfunction $56534be56e5aa809$var$empty() {}\nconst $56534be56e5aa809$var$hasXHR2 = function() {\n const xhr = new (0, $fb8e645f3bad3d56$export$a2d42eb087c10497)({\n xdomain: false\n });\n return null != xhr.responseType;\n}();\nclass $56534be56e5aa809$export$265ee5eefd4c309b extends (0, $4a78f487f5bb98d8$export$86495b081fef8e52) {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */ constructor(opts){\n super(opts);\n this.polling = false;\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) port = isSSL ? \"443\" : \"80\";\n this.xd = typeof location !== \"undefined\" && opts.hostname !== location.hostname || port !== opts.port;\n }\n /**\n * XHR supports binary\n */ const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = $56534be56e5aa809$var$hasXHR2 && !forceBase64;\n if (this.opts.withCredentials) this.cookieJar = (0, $fb8e645f3bad3d56$export$19413efcf2fac759)();\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */ doOpen() {\n this.poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */ pause(onPause) {\n this.readyState = \"pausing\";\n const pause = ()=>{\n this.readyState = \"paused\";\n onPause();\n };\n if (this.polling || !this.writable) {\n let total = 0;\n if (this.polling) {\n total++;\n this.once(\"pollComplete\", function() {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function() {\n --total || pause();\n });\n }\n } else pause();\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */ poll() {\n this.polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */ onData(data) {\n const callback = (packet)=>{\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") this.onOpen();\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({\n description: \"transport closed by the server\"\n });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n (0, $0736208648dc8bae$export$d10cc2e7f7566a2d)(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) this.poll();\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */ doClose() {\n const close = ()=>{\n this.write([\n {\n type: \"close\"\n }\n ]);\n };\n if (\"open\" === this.readyState) close();\n else // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */ write(packets) {\n this.writable = false;\n (0, $0736208648dc8bae$export$144d64fe58dad441)(packets, (data)=>{\n this.doWrite(data, ()=>{\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */ uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) query[this.opts.timestampParam] = (0, $a3bbf5b17719daf1$export$5bb64b92cb4135a)();\n if (!this.supportsBinary && !query.sid) query.b64 = 1;\n return this.createUri(schema, query);\n }\n /**\n * Creates a request.\n *\n * @param {String} method\n * @private\n */ request(opts = {}) {\n Object.assign(opts, {\n xd: this.xd,\n cookieJar: this.cookieJar\n }, this.opts);\n return new $56534be56e5aa809$export$7fa6c5b6f8193917(this.uri(), opts);\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */ doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context)=>{\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */ doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context)=>{\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nclass $56534be56e5aa809$export$7fa6c5b6f8193917 extends (0, $8ff0082eecb39b62$export$4293555f241ae35a) {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */ constructor(uri, opts){\n super();\n (0, $4028d5a20a4526d1$export$2f67576668b97183)(this, opts);\n this.opts = opts;\n this.method = opts.method || \"GET\";\n this.uri = uri;\n this.data = undefined !== opts.data ? opts.data : null;\n this.create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */ create() {\n var _a;\n const opts = (0, $4028d5a20a4526d1$export$357523c63a2253b9)(this.opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this.opts.xd;\n const xhr = this.xhr = new (0, $fb8e645f3bad3d56$export$a2d42eb087c10497)(opts);\n try {\n xhr.open(this.method, this.uri, true);\n try {\n if (this.opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for(let i in this.opts.extraHeaders)if (this.opts.extraHeaders.hasOwnProperty(i)) xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\n }\n } catch (e) {}\n if (\"POST\" === this.method) try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n } catch (e) {}\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n } catch (e) {}\n (_a = this.opts.cookieJar) === null || _a === void 0 || _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) xhr.withCredentials = this.opts.withCredentials;\n if (this.opts.requestTimeout) xhr.timeout = this.opts.requestTimeout;\n xhr.onreadystatechange = ()=>{\n var _a;\n if (xhr.readyState === 3) (_a = this.opts.cookieJar) === null || _a === void 0 || _a.parseCookies(xhr);\n if (4 !== xhr.readyState) return;\n if (200 === xhr.status || 1223 === xhr.status) this.onLoad();\n else // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(()=>{\n this.onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n };\n xhr.send(this.data);\n } catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(()=>{\n this.onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this.index = $56534be56e5aa809$export$7fa6c5b6f8193917.requestsCount++;\n $56534be56e5aa809$export$7fa6c5b6f8193917.requests[this.index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */ onError(err) {\n this.emitReserved(\"error\", err, this.xhr);\n this.cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */ cleanup(fromError) {\n if (\"undefined\" === typeof this.xhr || null === this.xhr) return;\n this.xhr.onreadystatechange = $56534be56e5aa809$var$empty;\n if (fromError) try {\n this.xhr.abort();\n } catch (e) {}\n if (typeof document !== \"undefined\") delete $56534be56e5aa809$export$7fa6c5b6f8193917.requests[this.index];\n this.xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */ onLoad() {\n const data = this.xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this.cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */ abort() {\n this.cleanup();\n }\n}\n$56534be56e5aa809$export$7fa6c5b6f8193917.requestsCount = 0;\n$56534be56e5aa809$export$7fa6c5b6f8193917.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */ if (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") // @ts-ignore\n attachEvent(\"onunload\", $56534be56e5aa809$var$unloadHandler);\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in (0, $26bf9c4279db2ef0$export$394f9358f6231289) ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, $56534be56e5aa809$var$unloadHandler, false);\n }\n}\nfunction $56534be56e5aa809$var$unloadHandler() {\n for(let i in $56534be56e5aa809$export$7fa6c5b6f8193917.requests)if ($56534be56e5aa809$export$7fa6c5b6f8193917.requests.hasOwnProperty(i)) $56534be56e5aa809$export$7fa6c5b6f8193917.requests[i].abort();\n}\n\n\n\n\n\n\nconst $93862213c34af1ff$export$bdd553fddd433dcb = (()=>{\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) return (cb)=>Promise.resolve().then(cb);\n else return (cb, setTimeoutFn)=>setTimeoutFn(cb, 0);\n})();\nconst $93862213c34af1ff$export$3909fb301d3dc8c9 = (0, $26bf9c4279db2ef0$export$394f9358f6231289).WebSocket || (0, $26bf9c4279db2ef0$export$394f9358f6231289).MozWebSocket;\nconst $93862213c34af1ff$export$3407ba5dfb7a683d = true;\nconst $93862213c34af1ff$export$790dcbc41e2d75d5 = \"arraybuffer\";\n\n\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */ /* eslint-disable no-proto */ var $51861dfc7ca9d588$export$a143d493d941bafc;\nvar $51861dfc7ca9d588$export$e4cf37d7f6fb9e0a;\nvar $51861dfc7ca9d588$export$f99ded8fe4b79145;\nvar $51861dfc7ca9d588$export$599f31c3813fae4d;\n\"use strict\";\nvar $eeb0961446aae8e3$export$a48f0734ac7c2329;\nvar $eeb0961446aae8e3$export$d622b2ad8d90c771;\nvar $eeb0961446aae8e3$export$6100ba28696e12de;\n\"use strict\";\n$eeb0961446aae8e3$export$a48f0734ac7c2329 = $eeb0961446aae8e3$var$byteLength;\n$eeb0961446aae8e3$export$d622b2ad8d90c771 = $eeb0961446aae8e3$var$toByteArray;\n$eeb0961446aae8e3$export$6100ba28696e12de = $eeb0961446aae8e3$var$fromByteArray;\nvar $eeb0961446aae8e3$var$lookup = [];\nvar $eeb0961446aae8e3$var$revLookup = [];\nvar $eeb0961446aae8e3$var$Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\nvar $eeb0961446aae8e3$var$code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor(var $eeb0961446aae8e3$var$i = 0, $eeb0961446aae8e3$var$len = $eeb0961446aae8e3$var$code.length; $eeb0961446aae8e3$var$i < $eeb0961446aae8e3$var$len; ++$eeb0961446aae8e3$var$i){\n $eeb0961446aae8e3$var$lookup[$eeb0961446aae8e3$var$i] = $eeb0961446aae8e3$var$code[$eeb0961446aae8e3$var$i];\n $eeb0961446aae8e3$var$revLookup[$eeb0961446aae8e3$var$code.charCodeAt($eeb0961446aae8e3$var$i)] = $eeb0961446aae8e3$var$i;\n}\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n$eeb0961446aae8e3$var$revLookup[\"-\".charCodeAt(0)] = 62;\n$eeb0961446aae8e3$var$revLookup[\"_\".charCodeAt(0)] = 63;\nfunction $eeb0961446aae8e3$var$getLens(b64) {\n var len = b64.length;\n if (len % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [\n validLen,\n placeHoldersLen\n ];\n}\n// base64 is 4/3 + up to two characters of the original data\nfunction $eeb0961446aae8e3$var$byteLength(b64) {\n var lens = $eeb0961446aae8e3$var$getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction $eeb0961446aae8e3$var$_byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction $eeb0961446aae8e3$var$toByteArray(b64) {\n var tmp;\n var lens = $eeb0961446aae8e3$var$getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new $eeb0961446aae8e3$var$Arr($eeb0961446aae8e3$var$_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n for(i = 0; i < len; i += 4){\n tmp = $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i)] << 18 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 1)] << 12 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 2)] << 6 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 2) {\n tmp = $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i)] << 2 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 1) {\n tmp = $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i)] << 10 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 1)] << 4 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n return arr;\n}\nfunction $eeb0961446aae8e3$var$tripletToBase64(num) {\n return $eeb0961446aae8e3$var$lookup[num >> 18 & 0x3F] + $eeb0961446aae8e3$var$lookup[num >> 12 & 0x3F] + $eeb0961446aae8e3$var$lookup[num >> 6 & 0x3F] + $eeb0961446aae8e3$var$lookup[num & 0x3F];\n}\nfunction $eeb0961446aae8e3$var$encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for(var i = start; i < end; i += 3){\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push($eeb0961446aae8e3$var$tripletToBase64(tmp));\n }\n return output.join(\"\");\n}\nfunction $eeb0961446aae8e3$var$fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n ;\n var parts = [];\n var maxChunkLength = 16383 // must be multiple of 3\n ;\n // go through the array every three bytes, we'll deal with trailing stuff later\n for(var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength)parts.push($eeb0961446aae8e3$var$encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push($eeb0961446aae8e3$var$lookup[tmp >> 2] + $eeb0961446aae8e3$var$lookup[tmp << 4 & 0x3F] + \"==\");\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push($eeb0961446aae8e3$var$lookup[tmp >> 10] + $eeb0961446aae8e3$var$lookup[tmp >> 4 & 0x3F] + $eeb0961446aae8e3$var$lookup[tmp << 2 & 0x3F] + \"=\");\n }\n return parts.join(\"\");\n}\n\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ var $7221566bd4d49f44$export$aafa59e2e03f2942;\nvar $7221566bd4d49f44$export$68d8715fc104d294;\n$7221566bd4d49f44$export$aafa59e2e03f2942 = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for(; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);\n if (e === 0) e = 1 - eBias;\n else if (e === eMax) return m ? NaN : (s ? -1 : 1) * Infinity;\n else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n$7221566bd4d49f44$export$68d8715fc104d294 = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) value += rt / c;\n else value += rt * Math.pow(2, 1 - eBias);\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);\n buffer[offset + i - d] |= s * 128;\n};\n\n\nconst $51861dfc7ca9d588$var$customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" // eslint-disable-line dot-notation\n ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") // eslint-disable-line dot-notation\n : null;\n$51861dfc7ca9d588$export$a143d493d941bafc = $51861dfc7ca9d588$var$Buffer;\n$51861dfc7ca9d588$export$e4cf37d7f6fb9e0a = $51861dfc7ca9d588$var$SlowBuffer;\n$51861dfc7ca9d588$export$f99ded8fe4b79145 = 50;\nconst $51861dfc7ca9d588$var$K_MAX_LENGTH = 0x7fffffff;\n$51861dfc7ca9d588$export$599f31c3813fae4d = $51861dfc7ca9d588$var$K_MAX_LENGTH;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */ $51861dfc7ca9d588$var$Buffer.TYPED_ARRAY_SUPPORT = $51861dfc7ca9d588$var$typedArraySupport();\nif (!$51861dfc7ca9d588$var$Buffer.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");\nfunction $51861dfc7ca9d588$var$typedArraySupport() {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1);\n const proto = {\n foo: function() {\n return 42;\n }\n };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n}\nObject.defineProperty($51861dfc7ca9d588$var$Buffer.prototype, \"parent\", {\n enumerable: true,\n get: function() {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n});\nObject.defineProperty($51861dfc7ca9d588$var$Buffer.prototype, \"offset\", {\n enumerable: true,\n get: function() {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n});\nfunction $51861dfc7ca9d588$var$createBuffer(length) {\n if (length > $51861dfc7ca9d588$var$K_MAX_LENGTH) throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"');\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, $51861dfc7ca9d588$var$Buffer.prototype);\n return buf;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */ function $51861dfc7ca9d588$var$Buffer(arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") throw new TypeError('The \"string\" argument must be of type string. Received type number');\n return $51861dfc7ca9d588$var$allocUnsafe(arg);\n }\n return $51861dfc7ca9d588$var$from(arg, encodingOrOffset, length);\n}\n$51861dfc7ca9d588$var$Buffer.poolSize = 8192 // not used by this implementation\n;\nfunction $51861dfc7ca9d588$var$from(value, encodingOrOffset, length) {\n if (typeof value === \"string\") return $51861dfc7ca9d588$var$fromString(value, encodingOrOffset);\n if (ArrayBuffer.isView(value)) return $51861dfc7ca9d588$var$fromArrayView(value);\n if (value == null) throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n if ($51861dfc7ca9d588$var$isInstance(value, ArrayBuffer) || value && $51861dfc7ca9d588$var$isInstance(value.buffer, ArrayBuffer)) return $51861dfc7ca9d588$var$fromArrayBuffer(value, encodingOrOffset, length);\n if (typeof SharedArrayBuffer !== \"undefined\" && ($51861dfc7ca9d588$var$isInstance(value, SharedArrayBuffer) || value && $51861dfc7ca9d588$var$isInstance(value.buffer, SharedArrayBuffer))) return $51861dfc7ca9d588$var$fromArrayBuffer(value, encodingOrOffset, length);\n if (typeof value === \"number\") throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) return $51861dfc7ca9d588$var$Buffer.from(valueOf, encodingOrOffset, length);\n const b = $51861dfc7ca9d588$var$fromObject(value);\n if (b) return b;\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") return $51861dfc7ca9d588$var$Buffer.from(value[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/ $51861dfc7ca9d588$var$Buffer.from = function(value, encodingOrOffset, length) {\n return $51861dfc7ca9d588$var$from(value, encodingOrOffset, length);\n};\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf($51861dfc7ca9d588$var$Buffer.prototype, Uint8Array.prototype);\nObject.setPrototypeOf($51861dfc7ca9d588$var$Buffer, Uint8Array);\nfunction $51861dfc7ca9d588$var$assertSize(size) {\n if (typeof size !== \"number\") throw new TypeError('\"size\" argument must be of type number');\n else if (size < 0) throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"');\n}\nfunction $51861dfc7ca9d588$var$alloc(size, fill, encoding) {\n $51861dfc7ca9d588$var$assertSize(size);\n if (size <= 0) return $51861dfc7ca9d588$var$createBuffer(size);\n if (fill !== undefined) // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === \"string\" ? $51861dfc7ca9d588$var$createBuffer(size).fill(fill, encoding) : $51861dfc7ca9d588$var$createBuffer(size).fill(fill);\n return $51861dfc7ca9d588$var$createBuffer(size);\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/ $51861dfc7ca9d588$var$Buffer.alloc = function(size, fill, encoding) {\n return $51861dfc7ca9d588$var$alloc(size, fill, encoding);\n};\nfunction $51861dfc7ca9d588$var$allocUnsafe(size) {\n $51861dfc7ca9d588$var$assertSize(size);\n return $51861dfc7ca9d588$var$createBuffer(size < 0 ? 0 : $51861dfc7ca9d588$var$checked(size) | 0);\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */ $51861dfc7ca9d588$var$Buffer.allocUnsafe = function(size) {\n return $51861dfc7ca9d588$var$allocUnsafe(size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */ $51861dfc7ca9d588$var$Buffer.allocUnsafeSlow = function(size) {\n return $51861dfc7ca9d588$var$allocUnsafe(size);\n};\nfunction $51861dfc7ca9d588$var$fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") encoding = \"utf8\";\n if (!$51861dfc7ca9d588$var$Buffer.isEncoding(encoding)) throw new TypeError(\"Unknown encoding: \" + encoding);\n const length = $51861dfc7ca9d588$var$byteLength(string, encoding) | 0;\n let buf = $51861dfc7ca9d588$var$createBuffer(length);\n const actual = buf.write(string, encoding);\n if (actual !== length) // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n return buf;\n}\nfunction $51861dfc7ca9d588$var$fromArrayLike(array) {\n const length = array.length < 0 ? 0 : $51861dfc7ca9d588$var$checked(array.length) | 0;\n const buf = $51861dfc7ca9d588$var$createBuffer(length);\n for(let i = 0; i < length; i += 1)buf[i] = array[i] & 255;\n return buf;\n}\nfunction $51861dfc7ca9d588$var$fromArrayView(arrayView) {\n if ($51861dfc7ca9d588$var$isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return $51861dfc7ca9d588$var$fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return $51861dfc7ca9d588$var$fromArrayLike(arrayView);\n}\nfunction $51861dfc7ca9d588$var$fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) throw new RangeError('\"offset\" is outside of buffer bounds');\n if (array.byteLength < byteOffset + (length || 0)) throw new RangeError('\"length\" is outside of buffer bounds');\n let buf;\n if (byteOffset === undefined && length === undefined) buf = new Uint8Array(array);\n else if (length === undefined) buf = new Uint8Array(array, byteOffset);\n else buf = new Uint8Array(array, byteOffset, length);\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, $51861dfc7ca9d588$var$Buffer.prototype);\n return buf;\n}\nfunction $51861dfc7ca9d588$var$fromObject(obj) {\n if ($51861dfc7ca9d588$var$Buffer.isBuffer(obj)) {\n const len = $51861dfc7ca9d588$var$checked(obj.length) | 0;\n const buf = $51861dfc7ca9d588$var$createBuffer(len);\n if (buf.length === 0) return buf;\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n if (obj.length !== undefined) {\n if (typeof obj.length !== \"number\" || $51861dfc7ca9d588$var$numberIsNaN(obj.length)) return $51861dfc7ca9d588$var$createBuffer(0);\n return $51861dfc7ca9d588$var$fromArrayLike(obj);\n }\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) return $51861dfc7ca9d588$var$fromArrayLike(obj.data);\n}\nfunction $51861dfc7ca9d588$var$checked(length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= $51861dfc7ca9d588$var$K_MAX_LENGTH) throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + $51861dfc7ca9d588$var$K_MAX_LENGTH.toString(16) + \" bytes\");\n return length | 0;\n}\nfunction $51861dfc7ca9d588$var$SlowBuffer(length) {\n if (+length != length) length = 0;\n return $51861dfc7ca9d588$var$Buffer.alloc(+length);\n}\n$51861dfc7ca9d588$var$Buffer.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== $51861dfc7ca9d588$var$Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n ;\n};\n$51861dfc7ca9d588$var$Buffer.compare = function compare(a, b) {\n if ($51861dfc7ca9d588$var$isInstance(a, Uint8Array)) a = $51861dfc7ca9d588$var$Buffer.from(a, a.offset, a.byteLength);\n if ($51861dfc7ca9d588$var$isInstance(b, Uint8Array)) b = $51861dfc7ca9d588$var$Buffer.from(b, b.offset, b.byteLength);\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(a) || !$51861dfc7ca9d588$var$Buffer.isBuffer(b)) throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n if (a === b) return 0;\n let x = a.length;\n let y = b.length;\n for(let i = 0, len = Math.min(x, y); i < len; ++i)if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n$51861dfc7ca9d588$var$Buffer.isEncoding = function isEncoding(encoding) {\n switch(String(encoding).toLowerCase()){\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n default:\n return false;\n }\n};\n$51861dfc7ca9d588$var$Buffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (list.length === 0) return $51861dfc7ca9d588$var$Buffer.alloc(0);\n let i;\n if (length === undefined) {\n length = 0;\n for(i = 0; i < list.length; ++i)length += list[i].length;\n }\n const buffer = $51861dfc7ca9d588$var$Buffer.allocUnsafe(length);\n let pos = 0;\n for(i = 0; i < list.length; ++i){\n let buf = list[i];\n if ($51861dfc7ca9d588$var$isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(buf)) buf = $51861dfc7ca9d588$var$Buffer.from(buf);\n buf.copy(buffer, pos);\n } else Uint8Array.prototype.set.call(buffer, buf, pos);\n } else if (!$51861dfc7ca9d588$var$Buffer.isBuffer(buf)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n else buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer;\n};\nfunction $51861dfc7ca9d588$var$byteLength(string, encoding) {\n if ($51861dfc7ca9d588$var$Buffer.isBuffer(string)) return string.length;\n if (ArrayBuffer.isView(string) || $51861dfc7ca9d588$var$isInstance(string, ArrayBuffer)) return string.byteLength;\n if (typeof string !== \"string\") throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string);\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n // Use a for loop to avoid recursion\n let loweredCase = false;\n for(;;)switch(encoding){\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n case \"utf8\":\n case \"utf-8\":\n return $51861dfc7ca9d588$var$utf8ToBytes(string).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n case \"hex\":\n return len >>> 1;\n case \"base64\":\n return $51861dfc7ca9d588$var$base64ToBytes(string).length;\n default:\n if (loweredCase) return mustMatch ? -1 : $51861dfc7ca9d588$var$utf8ToBytes(string).length // assume utf8\n ;\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n}\n$51861dfc7ca9d588$var$Buffer.byteLength = $51861dfc7ca9d588$var$byteLength;\nfunction $51861dfc7ca9d588$var$slowToString(encoding, start, end) {\n let loweredCase = false;\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) start = 0;\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) return \"\";\n if (end === undefined || end > this.length) end = this.length;\n if (end <= 0) return \"\";\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n if (end <= start) return \"\";\n if (!encoding) encoding = \"utf8\";\n while(true)switch(encoding){\n case \"hex\":\n return $51861dfc7ca9d588$var$hexSlice(this, start, end);\n case \"utf8\":\n case \"utf-8\":\n return $51861dfc7ca9d588$var$utf8Slice(this, start, end);\n case \"ascii\":\n return $51861dfc7ca9d588$var$asciiSlice(this, start, end);\n case \"latin1\":\n case \"binary\":\n return $51861dfc7ca9d588$var$latin1Slice(this, start, end);\n case \"base64\":\n return $51861dfc7ca9d588$var$base64Slice(this, start, end);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return $51861dfc7ca9d588$var$utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n}\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\n$51861dfc7ca9d588$var$Buffer.prototype._isBuffer = true;\nfunction $51861dfc7ca9d588$var$swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.swap16 = function swap16() {\n const len = this.length;\n if (len % 2 !== 0) throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for(let i = 0; i < len; i += 2)$51861dfc7ca9d588$var$swap(this, i, i + 1);\n return this;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.swap32 = function swap32() {\n const len = this.length;\n if (len % 4 !== 0) throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for(let i = 0; i < len; i += 4){\n $51861dfc7ca9d588$var$swap(this, i, i + 3);\n $51861dfc7ca9d588$var$swap(this, i + 1, i + 2);\n }\n return this;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.swap64 = function swap64() {\n const len = this.length;\n if (len % 8 !== 0) throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for(let i = 0; i < len; i += 8){\n $51861dfc7ca9d588$var$swap(this, i, i + 7);\n $51861dfc7ca9d588$var$swap(this, i + 1, i + 6);\n $51861dfc7ca9d588$var$swap(this, i + 2, i + 5);\n $51861dfc7ca9d588$var$swap(this, i + 3, i + 4);\n }\n return this;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.toString = function toString() {\n const length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return $51861dfc7ca9d588$var$utf8Slice(this, 0, length);\n return $51861dfc7ca9d588$var$slowToString.apply(this, arguments);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.toLocaleString = $51861dfc7ca9d588$var$Buffer.prototype.toString;\n$51861dfc7ca9d588$var$Buffer.prototype.equals = function equals(b) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return $51861dfc7ca9d588$var$Buffer.compare(this, b) === 0;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.inspect = function inspect() {\n let str = \"\";\n const max = $51861dfc7ca9d588$export$f99ded8fe4b79145;\n str = this.toString(\"hex\", 0, max).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max) str += \" ... \";\n return \"\";\n};\nif ($51861dfc7ca9d588$var$customInspectSymbol) $51861dfc7ca9d588$var$Buffer.prototype[$51861dfc7ca9d588$var$customInspectSymbol] = $51861dfc7ca9d588$var$Buffer.prototype.inspect;\n$51861dfc7ca9d588$var$Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if ($51861dfc7ca9d588$var$isInstance(target, Uint8Array)) target = $51861dfc7ca9d588$var$Buffer.from(target, target.offset, target.byteLength);\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(target)) throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target);\n if (start === undefined) start = 0;\n if (end === undefined) end = target ? target.length : 0;\n if (thisStart === undefined) thisStart = 0;\n if (thisEnd === undefined) thisEnd = this.length;\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) throw new RangeError(\"out of range index\");\n if (thisStart >= thisEnd && start >= end) return 0;\n if (thisStart >= thisEnd) return -1;\n if (start >= end) return 1;\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n for(let i = 0; i < len; ++i)if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction $51861dfc7ca9d588$var$bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n // Normalize byteOffset\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff;\n else if (byteOffset < -2147483648) byteOffset = -2147483648;\n byteOffset = +byteOffset // Coerce to Number.\n ;\n if ($51861dfc7ca9d588$var$numberIsNaN(byteOffset)) // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;\n else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n // Normalize val\n if (typeof val === \"string\") val = $51861dfc7ca9d588$var$Buffer.from(val, encoding);\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if ($51861dfc7ca9d588$var$Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) return -1;\n return $51861dfc7ca9d588$var$arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 0xFF // Search for a byte value [0-255]\n ;\n if (typeof Uint8Array.prototype.indexOf === \"function\") {\n if (dir) return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n else return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n return $51861dfc7ca9d588$var$arrayIndexOf(buffer, [\n val\n ], byteOffset, encoding, dir);\n }\n throw new TypeError(\"val must be string, number or Buffer\");\n}\nfunction $51861dfc7ca9d588$var$arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) return -1;\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i) {\n if (indexSize === 1) return buf[i];\n else return buf.readUInt16BE(i * indexSize);\n }\n let i;\n if (dir) {\n let foundIndex = -1;\n for(i = byteOffset; i < arrLength; i++)if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for(i = byteOffset; i >= 0; i--){\n let found = true;\n for(let j = 0; j < valLength; j++)if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n if (found) return i;\n }\n }\n return -1;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return $51861dfc7ca9d588$var$bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return $51861dfc7ca9d588$var$bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\nfunction $51861dfc7ca9d588$var$hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n if (!length) length = remaining;\n else {\n length = Number(length);\n if (length > remaining) length = remaining;\n }\n const strLen = string.length;\n if (length > strLen / 2) length = strLen / 2;\n let i;\n for(i = 0; i < length; ++i){\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if ($51861dfc7ca9d588$var$numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\nfunction $51861dfc7ca9d588$var$utf8Write(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\nfunction $51861dfc7ca9d588$var$asciiWrite(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$asciiToBytes(string), buf, offset, length);\n}\nfunction $51861dfc7ca9d588$var$base64Write(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$base64ToBytes(string), buf, offset, length);\n}\nfunction $51861dfc7ca9d588$var$ucs2Write(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n$51861dfc7ca9d588$var$Buffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = \"utf8\";\n } else {\n encoding = length;\n length = undefined;\n }\n } else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) throw new RangeError(\"Attempt to write outside buffer bounds\");\n if (!encoding) encoding = \"utf8\";\n let loweredCase = false;\n for(;;)switch(encoding){\n case \"hex\":\n return $51861dfc7ca9d588$var$hexWrite(this, string, offset, length);\n case \"utf8\":\n case \"utf-8\":\n return $51861dfc7ca9d588$var$utf8Write(this, string, offset, length);\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return $51861dfc7ca9d588$var$asciiWrite(this, string, offset, length);\n case \"base64\":\n // Warning: maxLength not taken into account in base64Write\n return $51861dfc7ca9d588$var$base64Write(this, string, offset, length);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return $51861dfc7ca9d588$var$ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n};\n$51861dfc7ca9d588$var$Buffer.prototype.toJSON = function toJSON() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nfunction $51861dfc7ca9d588$var$base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) return $eeb0961446aae8e3$export$6100ba28696e12de(buf);\n else return $eeb0961446aae8e3$export$6100ba28696e12de(buf.slice(start, end));\n}\nfunction $51861dfc7ca9d588$var$utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n const res = [];\n let i = start;\n while(i < end){\n const firstByte = buf[i];\n let codePoint = null;\n let bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint;\n switch(bytesPerSequence){\n case 1:\n if (firstByte < 0x80) codePoint = firstByte;\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n if (tempCodePoint > 0x7F) codePoint = tempCodePoint;\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) codePoint = tempCodePoint;\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) codePoint = tempCodePoint;\n }\n }\n }\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return $51861dfc7ca9d588$var$decodeCodePointsArray(res);\n}\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst $51861dfc7ca9d588$var$MAX_ARGUMENTS_LENGTH = 0x1000;\nfunction $51861dfc7ca9d588$var$decodeCodePointsArray(codePoints) {\n const len = codePoints.length;\n if (len <= $51861dfc7ca9d588$var$MAX_ARGUMENTS_LENGTH) return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n ;\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = \"\";\n let i = 0;\n while(i < len)res += String.fromCharCode.apply(String, codePoints.slice(i, i += $51861dfc7ca9d588$var$MAX_ARGUMENTS_LENGTH));\n return res;\n}\nfunction $51861dfc7ca9d588$var$asciiSlice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n for(let i = start; i < end; ++i)ret += String.fromCharCode(buf[i] & 0x7F);\n return ret;\n}\nfunction $51861dfc7ca9d588$var$latin1Slice(buf, start, end) {\n let ret = \"\";\n end = Math.min(buf.length, end);\n for(let i = start; i < end; ++i)ret += String.fromCharCode(buf[i]);\n return ret;\n}\nfunction $51861dfc7ca9d588$var$hexSlice(buf, start, end) {\n const len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n let out = \"\";\n for(let i = start; i < end; ++i)out += $51861dfc7ca9d588$var$hexSliceLookupTable[buf[i]];\n return out;\n}\nfunction $51861dfc7ca9d588$var$utf16leSlice(buf, start, end) {\n const bytes = buf.slice(start, end);\n let res = \"\";\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for(let i = 0; i < bytes.length - 1; i += 2)res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n return res;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.slice = function slice(start, end) {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) start = len;\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) end = len;\n if (end < start) end = start;\n const newBuf = this.subarray(start, end);\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, $51861dfc7ca9d588$var$Buffer.prototype);\n return newBuf;\n};\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */ function $51861dfc7ca9d588$var$checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n}\n$51861dfc7ca9d588$var$Buffer.prototype.readUintLE = $51861dfc7ca9d588$var$Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while(++i < byteLength && (mul *= 0x100))val += this[offset + i] * mul;\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUintBE = $51861dfc7ca9d588$var$Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n let val = this[offset + --byteLength];\n let mul = 1;\n while(byteLength > 0 && (mul *= 0x100))val += this[offset + --byteLength] * mul;\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint8 = $51861dfc7ca9d588$var$Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 1, this.length);\n return this[offset];\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint16LE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint16BE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint32LE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint32BE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readBigUInt64LE = $51861dfc7ca9d588$var$defineBigIntMethod(function readBigUInt64LE(offset) {\n offset = offset >>> 0;\n $51861dfc7ca9d588$var$validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) $51861dfc7ca9d588$var$boundsError(offset, this.length - 8);\n const lo = first + this[++offset] * 256 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n const hi = this[++offset] + this[++offset] * 256 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n});\n$51861dfc7ca9d588$var$Buffer.prototype.readBigUInt64BE = $51861dfc7ca9d588$var$defineBigIntMethod(function readBigUInt64BE(offset) {\n offset = offset >>> 0;\n $51861dfc7ca9d588$var$validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) $51861dfc7ca9d588$var$boundsError(offset, this.length - 8);\n const hi = first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 256 + this[++offset];\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 256 + last;\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n});\n$51861dfc7ca9d588$var$Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while(++i < byteLength && (mul *= 0x100))val += this[offset + i] * mul;\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n while(i > 0 && (mul *= 0x100))val += this[offset + --i] * mul;\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n const val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readBigInt64LE = $51861dfc7ca9d588$var$defineBigIntMethod(function readBigInt64LE(offset) {\n offset = offset >>> 0;\n $51861dfc7ca9d588$var$validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) $51861dfc7ca9d588$var$boundsError(offset, this.length - 8);\n const val = this[offset + 4] + this[offset + 5] * 256 + this[offset + 6] * 2 ** 16 + (last << 24 // Overflow\n );\n return (BigInt(val) << BigInt(32)) + BigInt(first + this[++offset] * 256 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24);\n});\n$51861dfc7ca9d588$var$Buffer.prototype.readBigInt64BE = $51861dfc7ca9d588$var$defineBigIntMethod(function readBigInt64BE(offset) {\n offset = offset >>> 0;\n $51861dfc7ca9d588$var$validateNumber(offset, \"offset\");\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) $51861dfc7ca9d588$var$boundsError(offset, this.length - 8);\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 + this[++offset] * 256 + this[++offset];\n return (BigInt(val) << BigInt(32)) + BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 256 + last);\n});\n$51861dfc7ca9d588$var$Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return $7221566bd4d49f44$export$aafa59e2e03f2942(this, offset, true, 23, 4);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return $7221566bd4d49f44$export$aafa59e2e03f2942(this, offset, false, 23, 4);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 8, this.length);\n return $7221566bd4d49f44$export$aafa59e2e03f2942(this, offset, true, 52, 8);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 8, this.length);\n return $7221566bd4d49f44$export$aafa59e2e03f2942(this, offset, false, 52, 8);\n};\nfunction $51861dfc7ca9d588$var$checkInt(buf, value, offset, ext, max, min) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeUintLE = $51861dfc7ca9d588$var$Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n let mul = 1;\n let i = 0;\n this[offset] = value & 0xFF;\n while(++i < byteLength && (mul *= 0x100))this[offset + i] = value / mul & 0xFF;\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUintBE = $51861dfc7ca9d588$var$Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 0xFF;\n while(--i >= 0 && (mul *= 0x100))this[offset + i] = value / mul & 0xFF;\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint8 = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value & 0xff;\n return offset + 1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint16LE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint16BE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint32LE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n return offset + 4;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint32BE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n};\nfunction $51861dfc7ca9d588$var$wrtBigUInt64LE(buf, value, offset, min, max) {\n $51861dfc7ca9d588$var$checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n}\nfunction $51861dfc7ca9d588$var$wrtBigUInt64BE(buf, value, offset, min, max) {\n $51861dfc7ca9d588$var$checkIntBI(value, min, max, buf, offset, 7);\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeBigUInt64LE = $51861dfc7ca9d588$var$defineBigIntMethod(function writeBigUInt64LE(value, offset = 0) {\n return $51861dfc7ca9d588$var$wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n});\n$51861dfc7ca9d588$var$Buffer.prototype.writeBigUInt64BE = $51861dfc7ca9d588$var$defineBigIntMethod(function writeBigUInt64BE(value, offset = 0) {\n return $51861dfc7ca9d588$var$wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n});\n$51861dfc7ca9d588$var$Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 0xFF;\n while(++i < byteLength && (mul *= 0x100)){\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) sub = 1;\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 0xFF;\n while(--i >= 0 && (mul *= 0x100)){\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) sub = 1;\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 1, 0x7f, -128);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0x7fff, -32768);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0x7fff, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);\n if (value < 0) value = 0xffffffff + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeBigInt64LE = $51861dfc7ca9d588$var$defineBigIntMethod(function writeBigInt64LE(value, offset = 0) {\n return $51861dfc7ca9d588$var$wrtBigUInt64LE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n});\n$51861dfc7ca9d588$var$Buffer.prototype.writeBigInt64BE = $51861dfc7ca9d588$var$defineBigIntMethod(function writeBigInt64BE(value, offset = 0) {\n return $51861dfc7ca9d588$var$wrtBigUInt64BE(this, value, offset, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n});\nfunction $51861dfc7ca9d588$var$checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n}\nfunction $51861dfc7ca9d588$var$writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -340282346638528860000000000000000000000);\n $7221566bd4d49f44$export$68d8715fc104d294(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeFloat(this, value, offset, true, noAssert);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeFloat(this, value, offset, false, noAssert);\n};\nfunction $51861dfc7ca9d588$var$writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);\n $7221566bd4d49f44$export$68d8715fc104d294(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeDouble(this, value, offset, true, noAssert);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeDouble(this, value, offset, false, noAssert);\n};\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n$51861dfc7ca9d588$var$Buffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n // Fatal error conditions\n if (targetStart < 0) throw new RangeError(\"targetStart out of bounds\");\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\");\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) end = target.length - targetStart + start;\n const len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n else Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n return len;\n};\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\n$51861dfc7ca9d588$var$Buffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== undefined && typeof encoding !== \"string\") throw new TypeError(\"encoding must be a string\");\n if (typeof encoding === \"string\" && !$51861dfc7ca9d588$var$Buffer.isEncoding(encoding)) throw new TypeError(\"Unknown encoding: \" + encoding);\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n } else if (typeof val === \"number\") val = val & 255;\n else if (typeof val === \"boolean\") val = Number(val);\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) throw new RangeError(\"Out of range index\");\n if (end <= start) return this;\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n let i;\n if (typeof val === \"number\") for(i = start; i < end; ++i)this[i] = val;\n else {\n const bytes = $51861dfc7ca9d588$var$Buffer.isBuffer(val) ? val : $51861dfc7ca9d588$var$Buffer.from(val, encoding);\n const len = bytes.length;\n if (len === 0) throw new TypeError('The value \"' + val + '\" is invalid for argument \"value\"');\n for(i = 0; i < end - start; ++i)this[i + start] = bytes[i % len];\n }\n return this;\n};\n// CUSTOM ERRORS\n// =============\n// Simplified versions from Node, changed for Buffer-only usage\nconst $51861dfc7ca9d588$var$errors = {};\nfunction $51861dfc7ca9d588$var$E(sym, getMessage, Base) {\n $51861dfc7ca9d588$var$errors[sym] = class NodeError extends Base {\n constructor(){\n super();\n Object.defineProperty(this, \"message\", {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`;\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n ;\n // Reset the name to the actual name.\n delete this.name;\n }\n get code() {\n return sym;\n }\n set code(value) {\n Object.defineProperty(this, \"code\", {\n configurable: true,\n enumerable: true,\n value: value,\n writable: true\n });\n }\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n}\n$51861dfc7ca9d588$var$E(\"ERR_BUFFER_OUT_OF_BOUNDS\", function(name) {\n if (name) return `${name} is outside of buffer bounds`;\n return \"Attempt to access memory outside buffer bounds\";\n}, RangeError);\n$51861dfc7ca9d588$var$E(\"ERR_INVALID_ARG_TYPE\", function(name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n}, TypeError);\n$51861dfc7ca9d588$var$E(\"ERR_OUT_OF_RANGE\", function(str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) received = $51861dfc7ca9d588$var$addNumericalSeparator(String(input));\n else if (typeof input === \"bigint\") {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) received = $51861dfc7ca9d588$var$addNumericalSeparator(received);\n received += \"n\";\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n}, RangeError);\nfunction $51861dfc7ca9d588$var$addNumericalSeparator(val) {\n let res = \"\";\n let i = val.length;\n const start = val[0] === \"-\" ? 1 : 0;\n for(; i >= start + 4; i -= 3)res = `_${val.slice(i - 3, i)}${res}`;\n return `${val.slice(0, i)}${res}`;\n}\n// CHECK FUNCTIONS\n// ===============\nfunction $51861dfc7ca9d588$var$checkBounds(buf, offset, byteLength) {\n $51861dfc7ca9d588$var$validateNumber(offset, \"offset\");\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) $51861dfc7ca9d588$var$boundsError(offset, buf.length - (byteLength + 1));\n}\nfunction $51861dfc7ca9d588$var$checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === \"bigint\" ? \"n\" : \"\";\n let range;\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n else range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` + `${(byteLength + 1) * 8 - 1}${n}`;\n } else range = `>= ${min}${n} and <= ${max}${n}`;\n throw new $51861dfc7ca9d588$var$errors.ERR_OUT_OF_RANGE(\"value\", range, value);\n }\n $51861dfc7ca9d588$var$checkBounds(buf, offset, byteLength);\n}\nfunction $51861dfc7ca9d588$var$validateNumber(value, name) {\n if (typeof value !== \"number\") throw new $51861dfc7ca9d588$var$errors.ERR_INVALID_ARG_TYPE(name, \"number\", value);\n}\nfunction $51861dfc7ca9d588$var$boundsError(value, length, type) {\n if (Math.floor(value) !== value) {\n $51861dfc7ca9d588$var$validateNumber(value, type);\n throw new $51861dfc7ca9d588$var$errors.ERR_OUT_OF_RANGE(type || \"offset\", \"an integer\", value);\n }\n if (length < 0) throw new $51861dfc7ca9d588$var$errors.ERR_BUFFER_OUT_OF_BOUNDS();\n throw new $51861dfc7ca9d588$var$errors.ERR_OUT_OF_RANGE(type || \"offset\", `>= ${type ? 1 : 0} and <= ${length}`, value);\n}\n// HELPER FUNCTIONS\n// ================\nconst $51861dfc7ca9d588$var$INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\nfunction $51861dfc7ca9d588$var$base64clean(str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split(\"=\")[0];\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace($51861dfc7ca9d588$var$INVALID_BASE64_RE, \"\");\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return \"\";\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while(str.length % 4 !== 0)str = str + \"=\";\n return str;\n}\nfunction $51861dfc7ca9d588$var$utf8ToBytes(string, units) {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes = [];\n for(let i = 0; i < length; ++i){\n codePoint = string.charCodeAt(i);\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n }\n // valid lead\n leadSurrogate = codePoint;\n continue;\n }\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n }\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) // valid bmp char, but last char was a lead\n {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n leadSurrogate = null;\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else throw new Error(\"Invalid code point\");\n }\n return bytes;\n}\nfunction $51861dfc7ca9d588$var$asciiToBytes(str) {\n const byteArray = [];\n for(let i = 0; i < str.length; ++i)// Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n return byteArray;\n}\nfunction $51861dfc7ca9d588$var$utf16leToBytes(str, units) {\n let c, hi, lo;\n const byteArray = [];\n for(let i = 0; i < str.length; ++i){\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n}\nfunction $51861dfc7ca9d588$var$base64ToBytes(str) {\n return $eeb0961446aae8e3$export$d622b2ad8d90c771($51861dfc7ca9d588$var$base64clean(str));\n}\nfunction $51861dfc7ca9d588$var$blitBuffer(src, dst, offset, length) {\n let i;\n for(i = 0; i < length; ++i){\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction $51861dfc7ca9d588$var$isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n}\nfunction $51861dfc7ca9d588$var$numberIsNaN(obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n ;\n}\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst $51861dfc7ca9d588$var$hexSliceLookupTable = function() {\n const alphabet = \"0123456789abcdef\";\n const table = new Array(256);\n for(let i = 0; i < 16; ++i){\n const i16 = i * 16;\n for(let j = 0; j < 16; ++j)table[i16 + j] = alphabet[i] + alphabet[j];\n }\n return table;\n}();\n// Return not function with Error if BigInt not supported\nfunction $51861dfc7ca9d588$var$defineBigIntMethod(fn) {\n return typeof BigInt === \"undefined\" ? $51861dfc7ca9d588$var$BufferBigIntNotDefined : fn;\n}\nfunction $51861dfc7ca9d588$var$BufferBigIntNotDefined() {\n throw new Error(\"BigInt not supported\");\n}\n\n\nvar $9ab7b46a38551fa4$require$Buffer = $51861dfc7ca9d588$export$a143d493d941bafc;\n// detect ReactNative environment\nconst $9ab7b46a38551fa4$var$isReactNative = typeof navigator !== \"undefined\" && typeof navigator.product === \"string\" && navigator.product.toLowerCase() === \"reactnative\";\nclass $9ab7b46a38551fa4$export$911baa0677ac404c extends (0, $4a78f487f5bb98d8$export$86495b081fef8e52) {\n /**\n * WebSocket transport constructor.\n *\n * @param {Object} opts - connection options\n * @protected\n */ constructor(opts){\n super(opts);\n this.supportsBinary = !opts.forceBase64;\n }\n get name() {\n return \"websocket\";\n }\n doOpen() {\n if (!this.check()) // let probe timeout\n return;\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = $9ab7b46a38551fa4$var$isReactNative ? {} : (0, $4028d5a20a4526d1$export$357523c63a2253b9)(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) opts.headers = this.opts.extraHeaders;\n try {\n this.ws = (0, $93862213c34af1ff$export$3407ba5dfb7a683d) && !$9ab7b46a38551fa4$var$isReactNative ? protocols ? new (0, $93862213c34af1ff$export$3909fb301d3dc8c9)(uri, protocols) : new (0, $93862213c34af1ff$export$3909fb301d3dc8c9)(uri) : new (0, $93862213c34af1ff$export$3909fb301d3dc8c9)(uri, protocols, opts);\n } catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType || (0, $93862213c34af1ff$export$790dcbc41e2d75d5);\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */ addEventListeners() {\n this.ws.onopen = ()=>{\n if (this.opts.autoUnref) this.ws._socket.unref();\n this.onOpen();\n };\n this.ws.onclose = (closeEvent)=>this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent\n });\n this.ws.onmessage = (ev)=>this.onData(ev.data);\n this.ws.onerror = (e)=>this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for(let i = 0; i < packets.length; i++){\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n (0, $8a3662315a48cdbd$export$57852049361a8e62)(packet, this.supportsBinary, (data)=>{\n // always create a new object (GH-437)\n const opts = {};\n if (!(0, $93862213c34af1ff$export$3407ba5dfb7a683d)) {\n if (packet.options) opts.compress = packet.options.compress;\n if (this.opts.perMessageDeflate) {\n const len = // @ts-ignore\n \"string\" === typeof data ? $9ab7b46a38551fa4$require$Buffer.byteLength(data) : data.length;\n if (len < this.opts.perMessageDeflate.threshold) opts.compress = false;\n }\n }\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (0, $93862213c34af1ff$export$3407ba5dfb7a683d) // TypeError is thrown when passing the second argument on Safari\n this.ws.send(data);\n else this.ws.send(data, opts);\n } catch (e) {}\n if (lastPacket) // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n (0, $93862213c34af1ff$export$bdd553fddd433dcb)(()=>{\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */ uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) query[this.opts.timestampParam] = (0, $a3bbf5b17719daf1$export$5bb64b92cb4135a)();\n // communicate binary support capabilities\n if (!this.supportsBinary) query.b64 = 1;\n return this.createUri(schema, query);\n }\n /**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @private\n */ check() {\n return !!(0, $93862213c34af1ff$export$3909fb301d3dc8c9);\n }\n}\n\n\n\n\n\nfunction $cea1ad415a07b478$var$shouldIncludeBinaryHeader(packet, encoded) {\n // 48 === \"0\".charCodeAt(0) (OPEN packet type)\n // 54 === \"6\".charCodeAt(0) (NOOP packet type)\n return packet.type === \"message\" && typeof packet.data !== \"string\" && encoded[0] >= 48 && encoded[0] <= 54;\n}\nclass $cea1ad415a07b478$export$961c930859384407 extends (0, $4a78f487f5bb98d8$export$86495b081fef8e52) {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n // @ts-ignore\n if (typeof WebTransport !== \"function\") return;\n // @ts-ignore\n this.transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n this.transport.closed.then(()=>{\n this.onClose();\n }).catch((err)=>{\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this.transport.ready.then(()=>{\n this.transport.createBidirectionalStream().then((stream)=>{\n const reader = stream.readable.getReader();\n this.writer = stream.writable.getWriter();\n let binaryFlag;\n const read = ()=>{\n reader.read().then(({ done: done, value: value })=>{\n if (done) return;\n if (!binaryFlag && value.byteLength === 1 && value[0] === 54) binaryFlag = true;\n else {\n // TODO expose binarytype\n this.onPacket((0, $0736208648dc8bae$export$8f3ac8fec01ebd92)(value, binaryFlag, \"arraybuffer\"));\n binaryFlag = false;\n }\n read();\n }).catch((err)=>{});\n };\n read();\n const handshake = this.query.sid ? `0{\"sid\":\"${this.query.sid}\"}` : \"0\";\n this.writer.write(new TextEncoder().encode(handshake)).then(()=>this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for(let i = 0; i < packets.length; i++){\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n (0, $8a3662315a48cdbd$export$ec0c9b9013ee0ef5)(packet, (data)=>{\n if ($cea1ad415a07b478$var$shouldIncludeBinaryHeader(packet, data)) this.writer.write(Uint8Array.of(54));\n this.writer.write(data).then(()=>{\n if (lastPacket) (0, $93862213c34af1ff$export$bdd553fddd433dcb)(()=>{\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n });\n });\n }\n }\n doClose() {\n var _a;\n (_a = this.transport) === null || _a === void 0 || _a.close();\n }\n}\n\n\nconst $c1f726e793763466$export$46dec00755c1153b = {\n websocket: (0, $9ab7b46a38551fa4$export$911baa0677ac404c),\n webtransport: (0, $cea1ad415a07b478$export$961c930859384407),\n polling: (0, $56534be56e5aa809$export$265ee5eefd4c309b)\n};\n\n\n\n\n// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan (MIT license)\n * @api private\n */ const $f603c1892ffe9e8b$var$re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst $f603c1892ffe9e8b$var$parts = [\n \"source\",\n \"protocol\",\n \"authority\",\n \"userInfo\",\n \"user\",\n \"password\",\n \"host\",\n \"port\",\n \"relative\",\n \"path\",\n \"directory\",\n \"file\",\n \"query\",\n \"anchor\"\n];\nfunction $f603c1892ffe9e8b$export$98e6a39c04603d36(str) {\n const src = str, b = str.indexOf(\"[\"), e = str.indexOf(\"]\");\n if (b != -1 && e != -1) str = str.substring(0, b) + str.substring(b, e).replace(/:/g, \";\") + str.substring(e, str.length);\n let m = $f603c1892ffe9e8b$var$re.exec(str || \"\"), uri = {}, i = 14;\n while(i--)uri[$f603c1892ffe9e8b$var$parts[i]] = m[i] || \"\";\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, \":\");\n uri.authority = uri.authority.replace(\"[\", \"\").replace(\"]\", \"\").replace(/;/g, \":\");\n uri.ipv6uri = true;\n }\n uri.pathNames = $f603c1892ffe9e8b$var$pathNames(uri, uri[\"path\"]);\n uri.queryKey = $f603c1892ffe9e8b$var$queryKey(uri, uri[\"query\"]);\n return uri;\n}\nfunction $f603c1892ffe9e8b$var$pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == \"/\" || path.length === 0) names.splice(0, 1);\n if (path.slice(-1) == \"/\") names.splice(names.length - 1, 1);\n return names;\n}\nfunction $f603c1892ffe9e8b$var$queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function($0, $1, $2) {\n if ($1) data[$1] = $2;\n });\n return data;\n}\n\n\n\n\nclass $787375aed2c43820$export$4798917dbf149b79 extends (0, $8ff0082eecb39b62$export$4293555f241ae35a) {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */ constructor(uri, opts = {}){\n super();\n this.writeBuffer = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n uri = (0, $f603c1892ffe9e8b$export$98e6a39c04603d36)(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === \"https\" || uri.protocol === \"wss\";\n opts.port = uri.port;\n if (uri.query) opts.query = uri.query;\n } else if (opts.host) opts.hostname = (0, $f603c1892ffe9e8b$export$98e6a39c04603d36)(opts.host).host;\n (0, $4028d5a20a4526d1$export$2f67576668b97183)(this, opts);\n this.secure = null != opts.secure ? opts.secure : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n this.hostname = opts.hostname || (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port = opts.port || (typeof location !== \"undefined\" && location.port ? location.port : this.secure ? \"443\" : \"80\");\n this.transports = opts.transports || [\n \"polling\",\n \"websocket\",\n \"webtransport\"\n ];\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024\n },\n transportOptions: {},\n closeOnBeforeunload: false\n }, opts);\n this.opts.path = this.opts.path.replace(/\\/$/, \"\") + (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") this.opts.query = (0, $19744bce3c183d10$export$2f872c0f2117be69)(this.opts.query);\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n // set on heartbeat\n this.pingTimeoutTimer = null;\n if (typeof addEventListener === \"function\") {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this.beforeunloadEventListener = ()=>{\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this.offlineEventListener = ()=>{\n this.onClose(\"transport close\", {\n description: \"network connection lost\"\n });\n };\n addEventListener(\"offline\", this.offlineEventListener, false);\n }\n }\n this.open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */ createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = (0, $0736208648dc8bae$export$a51d6b395ff4c65a);\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id) query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query: query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port\n }, this.opts.transportOptions[name]);\n return new (0, $c1f726e793763466$export$46dec00755c1153b)[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */ open() {\n let transport;\n if (this.opts.rememberUpgrade && $787375aed2c43820$export$4798917dbf149b79.priorWebsocketSuccess && this.transports.indexOf(\"websocket\") !== -1) transport = \"websocket\";\n else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(()=>{\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n } else transport = this.transports[0];\n this.readyState = \"opening\";\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n } catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */ setTransport(transport) {\n if (this.transport) this.transport.removeAllListeners();\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport.on(\"drain\", this.onDrain.bind(this)).on(\"packet\", this.onPacket.bind(this)).on(\"error\", this.onError.bind(this)).on(\"close\", (reason)=>this.onClose(\"transport close\", reason));\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */ probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n $787375aed2c43820$export$4798917dbf149b79.priorWebsocketSuccess = false;\n const onTransportOpen = ()=>{\n if (failed) return;\n transport.send([\n {\n type: \"ping\",\n data: \"probe\"\n }\n ]);\n transport.once(\"packet\", (msg)=>{\n if (failed) return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport) return;\n $787375aed2c43820$export$4798917dbf149b79.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(()=>{\n if (failed) return;\n if (\"closed\" === this.readyState) return;\n cleanup();\n this.setTransport(transport);\n transport.send([\n {\n type: \"upgrade\"\n }\n ]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n } else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed) return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err)=>{\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) freezeTransport();\n }\n // Remove all listeners on the transport and on self\n const cleanup = ()=>{\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this.upgrades.indexOf(\"webtransport\") !== -1 && name !== \"webtransport\") // favor WebTransport\n this.setTimeoutFn(()=>{\n if (!failed) transport.open();\n }, 200);\n else transport.open();\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */ onOpen() {\n this.readyState = \"open\";\n $787375aed2c43820$export$4798917dbf149b79.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if (\"open\" === this.readyState && this.opts.upgrade) {\n let i = 0;\n const l = this.upgrades.length;\n for(; i < l; i++)this.probe(this.upgrades[i]);\n }\n }\n /**\n * Handles a packet.\n *\n * @private\n */ onPacket(packet) {\n if (\"opening\" === this.readyState || \"open\" === this.readyState || \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch(packet.type){\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this.resetPingTimeout();\n this.sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this.onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */ onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState) return;\n this.resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */ resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer);\n this.pingTimeoutTimer = this.setTimeoutFn(()=>{\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout);\n if (this.opts.autoUnref) this.pingTimeoutTimer.unref();\n }\n /**\n * Called on `drain` event\n *\n * @private\n */ onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n if (0 === this.writeBuffer.length) this.emitReserved(\"drain\");\n else this.flush();\n }\n /**\n * Flush write buffers.\n *\n * @private\n */ flush() {\n if (\"closed\" !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length) {\n const packets = this.getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */ getWritablePackets() {\n const shouldCheckPayloadSize = this.maxPayload && this.transport.name === \"polling\" && this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) return this.writeBuffer;\n let payloadSize = 1; // first packet type\n for(let i = 0; i < this.writeBuffer.length; i++){\n const data = this.writeBuffer[i].data;\n if (data) payloadSize += (0, $4028d5a20a4526d1$export$a48f0734ac7c2329)(data);\n if (i > 0 && payloadSize > this.maxPayload) return this.writeBuffer.slice(0, i);\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} callback function.\n * @return {Socket} for chaining.\n */ write(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n send(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */ sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) return;\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn) this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */ close() {\n const close = ()=>{\n this.onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = ()=>{\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = ()=>{\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) this.once(\"drain\", ()=>{\n if (this.upgrading) waitForUpgrade();\n else close();\n });\n else if (this.upgrading) waitForUpgrade();\n else close();\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */ onError(err) {\n $787375aed2c43820$export$4798917dbf149b79.priorWebsocketSuccess = false;\n this.emitReserved(\"error\", err);\n this.onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */ onClose(reason, description) {\n if (\"opening\" === this.readyState || \"open\" === this.readyState || \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this.pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (typeof removeEventListener === \"function\") {\n removeEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n removeEventListener(\"offline\", this.offlineEventListener, false);\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n }\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */ filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n let i = 0;\n const j = upgrades.length;\n for(; i < j; i++)if (~this.transports.indexOf(upgrades[i])) filteredUpgrades.push(upgrades[i]);\n return filteredUpgrades;\n }\n}\n$787375aed2c43820$export$4798917dbf149b79.protocol = (0, $0736208648dc8bae$export$a51d6b395ff4c65a);\n\n\n\n\n\n\n\nconst $16df97babd1aadf1$export$a51d6b395ff4c65a = (0, $787375aed2c43820$export$4798917dbf149b79).protocol;\n\n\nfunction $efe27346e00da8a8$export$128fa18b7194ef(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || typeof location !== \"undefined\" && location;\n if (null == uri) uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) uri = loc.protocol + uri;\n else uri = loc.host + uri;\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) uri = loc.protocol + \"//\" + uri;\n else uri = \"https://\" + uri;\n }\n // parse\n obj = (0, $f603c1892ffe9e8b$export$98e6a39c04603d36)(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) obj.port = \"80\";\n else if (/^(http|ws)s$/.test(obj.protocol)) obj.port = \"443\";\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href = obj.protocol + \"://\" + host + (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n\n\n\nvar $1e4e6e6cc3958162$exports = {};\n\n$parcel$export($1e4e6e6cc3958162$exports, \"protocol\", () => $1e4e6e6cc3958162$export$a51d6b395ff4c65a);\n$parcel$export($1e4e6e6cc3958162$exports, \"PacketType\", () => $1e4e6e6cc3958162$export$84d4095e16c6fc19);\n$parcel$export($1e4e6e6cc3958162$exports, \"Encoder\", () => $1e4e6e6cc3958162$export$a50aceb0e02a00aa);\n$parcel$export($1e4e6e6cc3958162$exports, \"Decoder\", () => $1e4e6e6cc3958162$export$f9de6ca0bc043724);\n\nconst $ab192732c3780e48$var$withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst $ab192732c3780e48$var$isView = (obj)=>{\n return typeof ArrayBuffer.isView === \"function\" ? ArrayBuffer.isView(obj) : obj.buffer instanceof ArrayBuffer;\n};\nconst $ab192732c3780e48$var$toString = Object.prototype.toString;\nconst $ab192732c3780e48$var$withNativeBlob = typeof Blob === \"function\" || typeof Blob !== \"undefined\" && $ab192732c3780e48$var$toString.call(Blob) === \"[object BlobConstructor]\";\nconst $ab192732c3780e48$var$withNativeFile = typeof File === \"function\" || typeof File !== \"undefined\" && $ab192732c3780e48$var$toString.call(File) === \"[object FileConstructor]\";\nfunction $ab192732c3780e48$export$37488ff1135b1696(obj) {\n return $ab192732c3780e48$var$withNativeArrayBuffer && (obj instanceof ArrayBuffer || $ab192732c3780e48$var$isView(obj)) || $ab192732c3780e48$var$withNativeBlob && obj instanceof Blob || $ab192732c3780e48$var$withNativeFile && obj instanceof File;\n}\nfunction $ab192732c3780e48$export$5234c529abdb5610(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") return false;\n if (Array.isArray(obj)) {\n for(let i = 0, l = obj.length; i < l; i++){\n if ($ab192732c3780e48$export$5234c529abdb5610(obj[i])) return true;\n }\n return false;\n }\n if ($ab192732c3780e48$export$37488ff1135b1696(obj)) return true;\n if (obj.toJSON && typeof obj.toJSON === \"function\" && arguments.length === 1) return $ab192732c3780e48$export$5234c529abdb5610(obj.toJSON(), true);\n for(const key in obj){\n if (Object.prototype.hasOwnProperty.call(obj, key) && $ab192732c3780e48$export$5234c529abdb5610(obj[key])) return true;\n }\n return false;\n}\n\n\nfunction $67dd224d5a131c9e$export$ac2edb9eb7af56f6(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = $67dd224d5a131c9e$var$_deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return {\n packet: pack,\n buffers: buffers\n };\n}\nfunction $67dd224d5a131c9e$var$_deconstructPacket(data, buffers) {\n if (!data) return data;\n if ((0, $ab192732c3780e48$export$37488ff1135b1696)(data)) {\n const placeholder = {\n _placeholder: true,\n num: buffers.length\n };\n buffers.push(data);\n return placeholder;\n } else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for(let i = 0; i < data.length; i++)newData[i] = $67dd224d5a131c9e$var$_deconstructPacket(data[i], buffers);\n return newData;\n } else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for(const key in data)if (Object.prototype.hasOwnProperty.call(data, key)) newData[key] = $67dd224d5a131c9e$var$_deconstructPacket(data[key], buffers);\n return newData;\n }\n return data;\n}\nfunction $67dd224d5a131c9e$export$a00da3b1ec037a04(packet, buffers) {\n packet.data = $67dd224d5a131c9e$var$_reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction $67dd224d5a131c9e$var$_reconstructPacket(data, buffers) {\n if (!data) return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" && data.num >= 0 && data.num < buffers.length;\n if (isIndexValid) return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n else throw new Error(\"illegal attachments\");\n } else if (Array.isArray(data)) for(let i = 0; i < data.length; i++)data[i] = $67dd224d5a131c9e$var$_reconstructPacket(data[i], buffers);\n else if (typeof data === \"object\") {\n for(const key in data)if (Object.prototype.hasOwnProperty.call(data, key)) data[key] = $67dd224d5a131c9e$var$_reconstructPacket(data[key], buffers);\n }\n return data;\n}\n\n\n\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */ const $1e4e6e6cc3958162$var$RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\"\n];\nconst $1e4e6e6cc3958162$export$a51d6b395ff4c65a = 5;\nvar $1e4e6e6cc3958162$export$84d4095e16c6fc19;\n(function(PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})($1e4e6e6cc3958162$export$84d4095e16c6fc19 || ($1e4e6e6cc3958162$export$84d4095e16c6fc19 = {}));\nclass $1e4e6e6cc3958162$export$a50aceb0e02a00aa {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */ constructor(replacer){\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */ encode(obj) {\n if (obj.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.EVENT || obj.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.ACK) {\n if ((0, $ab192732c3780e48$export$5234c529abdb5610)(obj)) return this.encodeAsBinary({\n type: obj.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.EVENT ? $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_EVENT : $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id\n });\n }\n return [\n this.encodeAsString(obj)\n ];\n }\n /**\n * Encode packet as string.\n */ encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_EVENT || obj.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_ACK) str += obj.attachments + \"-\";\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) str += obj.nsp + \",\";\n // immediately followed by the id\n if (null != obj.id) str += obj.id;\n // json data\n if (null != obj.data) str += JSON.stringify(obj.data, this.replacer);\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */ encodeAsBinary(obj) {\n const deconstruction = (0, $67dd224d5a131c9e$export$ac2edb9eb7af56f6)(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction $1e4e6e6cc3958162$var$isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\nclass $1e4e6e6cc3958162$export$f9de6ca0bc043724 extends (0, $8ff0082eecb39b62$export$4293555f241ae35a) {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */ constructor(reviver){\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */ add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) throw new Error(\"got plaintext data when reconstructing a packet\");\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_EVENT;\n if (isBinaryEvent || packet.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_ACK) {\n packet.type = isBinaryEvent ? $1e4e6e6cc3958162$export$84d4095e16c6fc19.EVENT : $1e4e6e6cc3958162$export$84d4095e16c6fc19.ACK;\n // binary packet's json\n this.reconstructor = new $1e4e6e6cc3958162$var$BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) super.emitReserved(\"decoded\", packet);\n } else // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n } else if ((0, $ab192732c3780e48$export$37488ff1135b1696)(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) throw new Error(\"got binary data when not reconstructing a packet\");\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n } else throw new Error(\"Unknown type: \" + obj);\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */ decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0))\n };\n if ($1e4e6e6cc3958162$export$84d4095e16c6fc19[p.type] === undefined) throw new Error(\"unknown packet type \" + p.type);\n // look up attachments if type binary\n if (p.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_EVENT || p.type === $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_ACK) {\n const start = i + 1;\n while(str.charAt(++i) !== \"-\" && i != str.length);\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") throw new Error(\"Illegal attachments\");\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while(++i){\n const c = str.charAt(i);\n if (\",\" === c) break;\n if (i === str.length) break;\n }\n p.nsp = str.substring(start, i);\n } else p.nsp = \"/\";\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while(++i){\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length) break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if ($1e4e6e6cc3958162$export$f9de6ca0bc043724.isPayloadValid(p.type, payload)) p.data = payload;\n else throw new Error(\"invalid payload\");\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n } catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch(type){\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.CONNECT:\n return $1e4e6e6cc3958162$var$isObject(payload);\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.DISCONNECT:\n return payload === undefined;\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.CONNECT_ERROR:\n return typeof payload === \"string\" || $1e4e6e6cc3958162$var$isObject(payload);\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.EVENT:\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_EVENT:\n return Array.isArray(payload) && (typeof payload[0] === \"number\" || typeof payload[0] === \"string\" && $1e4e6e6cc3958162$var$RESERVED_EVENTS.indexOf(payload[0]) === -1);\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.ACK:\n case $1e4e6e6cc3958162$export$84d4095e16c6fc19.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */ destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */ class $1e4e6e6cc3958162$var$BinaryReconstructor {\n constructor(packet){\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */ takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = (0, $67dd224d5a131c9e$export$a00da3b1ec037a04)(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */ finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n\n\nfunction $05fb321879039179$export$af631764ddc44097(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n\n\n\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */ const $fcab49da21a6222a$var$RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1\n});\nclass $fcab49da21a6222a$export$4798917dbf149b79 extends (0, $8ff0082eecb39b62$export$4293555f241ae35a) {\n /**\n * `Socket` constructor.\n */ constructor(io, nsp, opts){\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */ this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */ this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */ this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */ this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */ this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */ this._queueSeq = 0;\n this.ids = 0;\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) this.auth = opts.auth;\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect) this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */ get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */ subEvents() {\n if (this.subs) return;\n const io = this.io;\n this.subs = [\n (0, $05fb321879039179$export$af631764ddc44097)(io, \"open\", this.onopen.bind(this)),\n (0, $05fb321879039179$export$af631764ddc44097)(io, \"packet\", this.onpacket.bind(this)),\n (0, $05fb321879039179$export$af631764ddc44097)(io, \"error\", this.onerror.bind(this)),\n (0, $05fb321879039179$export$af631764ddc44097)(io, \"close\", this.onclose.bind(this))\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */ get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */ connect() {\n if (this.connected) return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"]) this.io.open(); // ensure open\n if (\"open\" === this.io._readyState) this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */ open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */ send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */ emit(ev, ...args) {\n if ($fcab49da21a6222a$var$RESERVED_EVENTS.hasOwnProperty(ev)) throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).EVENT,\n data: args\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = this.io.engine && this.io.engine.transport && this.io.engine.transport.writable;\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\n if (discardPacket) ;\n else if (this.connected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n } else this.sendBuffer.push(packet);\n this.flags = {};\n return this;\n }\n /**\n * @private\n */ _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(()=>{\n delete this.acks[id];\n for(let i = 0; i < this.sendBuffer.length; i++)if (this.sendBuffer[i].id === id) this.sendBuffer.splice(i, 1);\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n this.acks[id] = (...args)=>{\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, [\n null,\n ...args\n ]);\n };\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */ emitWithAck(ev, ...args) {\n // the timeout flag is optional\n const withErr = this.flags.timeout !== undefined || this._opts.ackTimeout !== undefined;\n return new Promise((resolve, reject)=>{\n args.push((arg1, arg2)=>{\n if (withErr) return arg1 ? reject(arg1) : resolve(arg2);\n else return resolve(arg1);\n });\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */ _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") ack = args.pop();\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args: args,\n flags: Object.assign({\n fromQueue: true\n }, this.flags)\n };\n args.push((err, ...responseArgs)=>{\n if (packet !== this._queue[0]) // the packet has already been acknowledged\n return;\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) ack(err);\n }\n } else {\n this._queue.shift();\n if (ack) ack(null, ...responseArgs);\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */ _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) return;\n const packet = this._queue[0];\n if (packet.pending && !force) return;\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */ packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */ onopen() {\n if (typeof this.auth == \"function\") this.auth((data)=>{\n this._sendConnectPacket(data);\n });\n else this._sendConnectPacket(this.auth);\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */ _sendConnectPacket(data) {\n this.packet({\n type: (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).CONNECT,\n data: this._pid ? Object.assign({\n pid: this._pid,\n offset: this._lastOffset\n }, data) : data\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */ onerror(err) {\n if (!this.connected) this.emitReserved(\"connect_error\", err);\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */ onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */ onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace) return;\n switch(packet.type){\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).CONNECT:\n if (packet.data && packet.data.sid) this.onconnect(packet.data.sid, packet.data.pid);\n else this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n break;\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).EVENT:\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).BINARY_EVENT:\n this.onevent(packet);\n break;\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).ACK:\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).BINARY_ACK:\n this.onack(packet);\n break;\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).DISCONNECT:\n this.ondisconnect();\n break;\n case (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */ onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) args.push(this.ack(packet.id));\n if (this.connected) this.emitEvent(args);\n else this.receiveBuffer.push(Object.freeze(args));\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners)listener.apply(this, args);\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") this._lastOffset = args[args.length - 1];\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */ ack(id) {\n const self = this;\n let sent = false;\n return function(...args) {\n // prevent double callbacks\n if (sent) return;\n sent = true;\n self.packet({\n type: (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).ACK,\n id: id,\n data: args\n });\n };\n }\n /**\n * Called upon a server acknowlegement.\n *\n * @param packet\n * @private\n */ onack(packet) {\n const ack = this.acks[packet.id];\n if (\"function\" === typeof ack) {\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n }\n }\n /**\n * Called upon server connect.\n *\n * @private\n */ onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */ emitBuffered() {\n this.receiveBuffer.forEach((args)=>this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet)=>{\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */ ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */ destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy)=>subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */ disconnect() {\n if (this.connected) this.packet({\n type: (0, $1e4e6e6cc3958162$export$84d4095e16c6fc19).DISCONNECT\n });\n // remove socket from pool\n this.destroy();\n if (this.connected) // fire events\n this.onclose(\"io client disconnect\");\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */ close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */ compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */ get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */ timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */ onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */ prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */ offAny(listener) {\n if (!this._anyListeners) return this;\n if (listener) {\n const listeners = this._anyListeners;\n for(let i = 0; i < listeners.length; i++)if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n } else this._anyListeners = [];\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */ listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */ onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */ prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */ offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) return this;\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for(let i = 0; i < listeners.length; i++)if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n } else this._anyOutgoingListeners = [];\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */ listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */ notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners)listener.apply(this, packet.data);\n }\n }\n}\n\n\n\n\n/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */ function $3f0f0eae169725b6$export$2d38012449449c89(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */ $3f0f0eae169725b6$export$2d38012449449c89.prototype.duration = function() {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */ $3f0f0eae169725b6$export$2d38012449449c89.prototype.reset = function() {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */ $3f0f0eae169725b6$export$2d38012449449c89.prototype.setMin = function(min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */ $3f0f0eae169725b6$export$2d38012449449c89.prototype.setMax = function(max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */ $3f0f0eae169725b6$export$2d38012449449c89.prototype.setJitter = function(jitter) {\n this.jitter = jitter;\n};\n\n\n\nclass $b78f1c3cb524f77d$export$d0d38e7dec7a1a61 extends (0, $8ff0082eecb39b62$export$4293555f241ae35a) {\n constructor(uri, opts){\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n (0, $4028d5a20a4526d1$export$2f67576668b97183)(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new (0, $3f0f0eae169725b6$export$2d38012449449c89)({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor()\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || $1e4e6e6cc3958162$exports;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect) this.open();\n }\n reconnection(v) {\n if (!arguments.length) return this._reconnection;\n this._reconnection = !!v;\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined) return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined) return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 || _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined) return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 || _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined) return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 || _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length) return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */ maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting && this._reconnection && this.backoff.attempts === 0) // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */ open(fn) {\n if (~this._readyState.indexOf(\"open\")) return this;\n this.engine = new (0, $787375aed2c43820$export$4798917dbf149b79)(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = (0, $05fb321879039179$export$af631764ddc44097)(socket, \"open\", function() {\n self.onopen();\n fn && fn();\n });\n const onError = (err)=>{\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) fn(err);\n else // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n };\n // emit `error`\n const errorSub = (0, $05fb321879039179$export$af631764ddc44097)(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(()=>{\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) timer.unref();\n this.subs.push(()=>{\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */ connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */ onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push((0, $05fb321879039179$export$af631764ddc44097)(socket, \"ping\", this.onping.bind(this)), (0, $05fb321879039179$export$af631764ddc44097)(socket, \"data\", this.ondata.bind(this)), (0, $05fb321879039179$export$af631764ddc44097)(socket, \"error\", this.onerror.bind(this)), (0, $05fb321879039179$export$af631764ddc44097)(socket, \"close\", this.onclose.bind(this)), (0, $05fb321879039179$export$af631764ddc44097)(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */ onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */ ondata(data) {\n try {\n this.decoder.add(data);\n } catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */ ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n (0, $93862213c34af1ff$export$bdd553fddd433dcb)(()=>{\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */ onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */ socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new (0, $fcab49da21a6222a$export$4798917dbf149b79)(this, nsp, opts);\n this.nsps[nsp] = socket;\n } else if (this._autoConnect && !socket.active) socket.connect();\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */ _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps){\n const socket = this.nsps[nsp];\n if (socket.active) return;\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */ _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for(let i = 0; i < encodedPackets.length; i++)this.engine.write(encodedPackets[i], packet.options);\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */ cleanup() {\n this.subs.forEach((subDestroy)=>subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */ _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n if (this.engine) this.engine.close();\n }\n /**\n * Alias for close()\n *\n * @private\n */ disconnect() {\n return this._close();\n }\n /**\n * Called upon engine close.\n *\n * @private\n */ onclose(reason, description) {\n this.cleanup();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) this.reconnect();\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */ reconnect() {\n if (this._reconnecting || this.skipReconnect) return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n } else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(()=>{\n if (self.skipReconnect) return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect) return;\n self.open((err)=>{\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n } else self.onreconnect();\n });\n }, delay);\n if (this.opts.autoUnref) timer.unref();\n this.subs.push(()=>{\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */ onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n\n\n\n\n/**\n * Managers cache.\n */ const $523eaa49d3f99bf8$var$cache = {};\nfunction $523eaa49d3f99bf8$export$841407ceb083bd74(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = (0, $efe27346e00da8a8$export$128fa18b7194ef)(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = $523eaa49d3f99bf8$var$cache[id] && path in $523eaa49d3f99bf8$var$cache[id][\"nsps\"];\n const newConnection = opts.forceNew || opts[\"force new connection\"] || false === opts.multiplex || sameNamespace;\n let io;\n if (newConnection) io = new (0, $b78f1c3cb524f77d$export$d0d38e7dec7a1a61)(source, opts);\n else {\n if (!$523eaa49d3f99bf8$var$cache[id]) $523eaa49d3f99bf8$var$cache[id] = new (0, $b78f1c3cb524f77d$export$d0d38e7dec7a1a61)(source, opts);\n io = $523eaa49d3f99bf8$var$cache[id];\n }\n if (parsed.query && !opts.query) opts.query = parsed.queryKey;\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign($523eaa49d3f99bf8$export$841407ceb083bd74, {\n Manager: $b78f1c3cb524f77d$export$d0d38e7dec7a1a61,\n Socket: $fcab49da21a6222a$export$4798917dbf149b79,\n io: $523eaa49d3f99bf8$export$841407ceb083bd74,\n connect: $523eaa49d3f99bf8$export$841407ceb083bd74\n});\n\n\nconst $ee25ea9450f64e46$var$socket = (0, $523eaa49d3f99bf8$export$841407ceb083bd74)();\n$ee25ea9450f64e46$var$socket.on(\"update\", (tank_info)=>{\n document.querySelector(\"#raw-info\").innerHTML = tank_info;\n});\n\n\n//# sourceMappingURL=index.5e4f646d.js.map\n","import { io } from \"socket.io-client\";\r\n\r\nconst socket = io();\r\n\r\nsocket.on(\"update\",(tank_info) => {\r\n document.querySelector(\"#raw-info\").innerHTML = tank_info;\r\n});","import { url } from \"./url.js\";\nimport { Manager } from \"./manager.js\";\nimport { Socket } from \"./socket.js\";\n/**\n * Managers cache.\n */\nconst cache = {};\nfunction lookup(uri, opts) {\n if (typeof uri === \"object\") {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n const parsed = url(uri, opts.path || \"/socket.io\");\n const source = parsed.source;\n const id = parsed.id;\n const path = parsed.path;\n const sameNamespace = cache[id] && path in cache[id][\"nsps\"];\n const newConnection = opts.forceNew ||\n opts[\"force new connection\"] ||\n false === opts.multiplex ||\n sameNamespace;\n let io;\n if (newConnection) {\n io = new Manager(source, opts);\n }\n else {\n if (!cache[id]) {\n cache[id] = new Manager(source, opts);\n }\n io = cache[id];\n }\n if (parsed.query && !opts.query) {\n opts.query = parsed.queryKey;\n }\n return io.socket(parsed.path, opts);\n}\n// so that \"lookup\" can be used both as a function (e.g. `io(...)`) and as a\n// namespace (e.g. `io.connect(...)`), for backward compatibility\nObject.assign(lookup, {\n Manager,\n Socket,\n io: lookup,\n connect: lookup,\n});\n/**\n * Protocol version.\n *\n * @public\n */\nexport { protocol } from \"socket.io-parser\";\n/**\n * Expose constructors for standalone build.\n *\n * @public\n */\nexport { Manager, Socket, lookup as io, lookup as connect, lookup as default, };\n","import { parse } from \"engine.io-client\";\n/**\n * URL parser.\n *\n * @param uri - url\n * @param path - the request path of the connection\n * @param loc - An object meant to mimic window.location.\n * Defaults to window.location.\n * @public\n */\nexport function url(uri, path = \"\", loc) {\n let obj = uri;\n // default to window.location\n loc = loc || (typeof location !== \"undefined\" && location);\n if (null == uri)\n uri = loc.protocol + \"//\" + loc.host;\n // relative path support\n if (typeof uri === \"string\") {\n if (\"/\" === uri.charAt(0)) {\n if (\"/\" === uri.charAt(1)) {\n uri = loc.protocol + uri;\n }\n else {\n uri = loc.host + uri;\n }\n }\n if (!/^(https?|wss?):\\/\\//.test(uri)) {\n if (\"undefined\" !== typeof loc) {\n uri = loc.protocol + \"//\" + uri;\n }\n else {\n uri = \"https://\" + uri;\n }\n }\n // parse\n obj = parse(uri);\n }\n // make sure we treat `localhost:80` and `localhost` equally\n if (!obj.port) {\n if (/^(http|ws)$/.test(obj.protocol)) {\n obj.port = \"80\";\n }\n else if (/^(http|ws)s$/.test(obj.protocol)) {\n obj.port = \"443\";\n }\n }\n obj.path = obj.path || \"/\";\n const ipv6 = obj.host.indexOf(\":\") !== -1;\n const host = ipv6 ? \"[\" + obj.host + \"]\" : obj.host;\n // define unique id\n obj.id = obj.protocol + \"://\" + host + \":\" + obj.port + path;\n // define href\n obj.href =\n obj.protocol +\n \"://\" +\n host +\n (loc && loc.port === obj.port ? \"\" : \":\" + obj.port);\n return obj;\n}\n","import { Socket } from \"./socket.js\";\nexport { Socket };\nexport const protocol = Socket.protocol;\nexport { Transport } from \"./transport.js\";\nexport { transports } from \"./transports/index.js\";\nexport { installTimerFunctions } from \"./util.js\";\nexport { parse } from \"./contrib/parseuri.js\";\nexport { nextTick } from \"./transports/websocket-constructor.js\";\n","import { transports } from \"./transports/index.js\";\nimport { installTimerFunctions, byteLength } from \"./util.js\";\nimport { decode } from \"./contrib/parseqs.js\";\nimport { parse } from \"./contrib/parseuri.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { protocol } from \"engine.io-parser\";\nexport class Socket extends Emitter {\n /**\n * Socket constructor.\n *\n * @param {String|Object} uri - uri or options\n * @param {Object} opts - options\n */\n constructor(uri, opts = {}) {\n super();\n this.writeBuffer = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = null;\n }\n if (uri) {\n uri = parse(uri);\n opts.hostname = uri.host;\n opts.secure = uri.protocol === \"https\" || uri.protocol === \"wss\";\n opts.port = uri.port;\n if (uri.query)\n opts.query = uri.query;\n }\n else if (opts.host) {\n opts.hostname = parse(opts.host).host;\n }\n installTimerFunctions(this, opts);\n this.secure =\n null != opts.secure\n ? opts.secure\n : typeof location !== \"undefined\" && \"https:\" === location.protocol;\n if (opts.hostname && !opts.port) {\n // if no port is specified manually, use the protocol default\n opts.port = this.secure ? \"443\" : \"80\";\n }\n this.hostname =\n opts.hostname ||\n (typeof location !== \"undefined\" ? location.hostname : \"localhost\");\n this.port =\n opts.port ||\n (typeof location !== \"undefined\" && location.port\n ? location.port\n : this.secure\n ? \"443\"\n : \"80\");\n this.transports = opts.transports || [\n \"polling\",\n \"websocket\",\n \"webtransport\",\n ];\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n this.opts = Object.assign({\n path: \"/engine.io\",\n agent: false,\n withCredentials: false,\n upgrade: true,\n timestampParam: \"t\",\n rememberUpgrade: false,\n addTrailingSlash: true,\n rejectUnauthorized: true,\n perMessageDeflate: {\n threshold: 1024,\n },\n transportOptions: {},\n closeOnBeforeunload: false,\n }, opts);\n this.opts.path =\n this.opts.path.replace(/\\/$/, \"\") +\n (this.opts.addTrailingSlash ? \"/\" : \"\");\n if (typeof this.opts.query === \"string\") {\n this.opts.query = decode(this.opts.query);\n }\n // set on handshake\n this.id = null;\n this.upgrades = null;\n this.pingInterval = null;\n this.pingTimeout = null;\n // set on heartbeat\n this.pingTimeoutTimer = null;\n if (typeof addEventListener === \"function\") {\n if (this.opts.closeOnBeforeunload) {\n // Firefox closes the connection when the \"beforeunload\" event is emitted but not Chrome. This event listener\n // ensures every browser behaves the same (no \"disconnect\" event at the Socket.IO level when the page is\n // closed/reloaded)\n this.beforeunloadEventListener = () => {\n if (this.transport) {\n // silently close the transport\n this.transport.removeAllListeners();\n this.transport.close();\n }\n };\n addEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n }\n if (this.hostname !== \"localhost\") {\n this.offlineEventListener = () => {\n this.onClose(\"transport close\", {\n description: \"network connection lost\",\n });\n };\n addEventListener(\"offline\", this.offlineEventListener, false);\n }\n }\n this.open();\n }\n /**\n * Creates transport of the given type.\n *\n * @param {String} name - transport name\n * @return {Transport}\n * @private\n */\n createTransport(name) {\n const query = Object.assign({}, this.opts.query);\n // append engine.io protocol identifier\n query.EIO = protocol;\n // transport name\n query.transport = name;\n // session id if we already have one\n if (this.id)\n query.sid = this.id;\n const opts = Object.assign({}, this.opts, {\n query,\n socket: this,\n hostname: this.hostname,\n secure: this.secure,\n port: this.port,\n }, this.opts.transportOptions[name]);\n return new transports[name](opts);\n }\n /**\n * Initializes transport to use and starts probe.\n *\n * @private\n */\n open() {\n let transport;\n if (this.opts.rememberUpgrade &&\n Socket.priorWebsocketSuccess &&\n this.transports.indexOf(\"websocket\") !== -1) {\n transport = \"websocket\";\n }\n else if (0 === this.transports.length) {\n // Emit error on next tick so it can be listened to\n this.setTimeoutFn(() => {\n this.emitReserved(\"error\", \"No transports available\");\n }, 0);\n return;\n }\n else {\n transport = this.transports[0];\n }\n this.readyState = \"opening\";\n // Retry with the next transport if the transport is disabled (jsonp: false)\n try {\n transport = this.createTransport(transport);\n }\n catch (e) {\n this.transports.shift();\n this.open();\n return;\n }\n transport.open();\n this.setTransport(transport);\n }\n /**\n * Sets the current transport. Disables the existing one (if any).\n *\n * @private\n */\n setTransport(transport) {\n if (this.transport) {\n this.transport.removeAllListeners();\n }\n // set up transport\n this.transport = transport;\n // set up transport listeners\n transport\n .on(\"drain\", this.onDrain.bind(this))\n .on(\"packet\", this.onPacket.bind(this))\n .on(\"error\", this.onError.bind(this))\n .on(\"close\", (reason) => this.onClose(\"transport close\", reason));\n }\n /**\n * Probes a transport.\n *\n * @param {String} name - transport name\n * @private\n */\n probe(name) {\n let transport = this.createTransport(name);\n let failed = false;\n Socket.priorWebsocketSuccess = false;\n const onTransportOpen = () => {\n if (failed)\n return;\n transport.send([{ type: \"ping\", data: \"probe\" }]);\n transport.once(\"packet\", (msg) => {\n if (failed)\n return;\n if (\"pong\" === msg.type && \"probe\" === msg.data) {\n this.upgrading = true;\n this.emitReserved(\"upgrading\", transport);\n if (!transport)\n return;\n Socket.priorWebsocketSuccess = \"websocket\" === transport.name;\n this.transport.pause(() => {\n if (failed)\n return;\n if (\"closed\" === this.readyState)\n return;\n cleanup();\n this.setTransport(transport);\n transport.send([{ type: \"upgrade\" }]);\n this.emitReserved(\"upgrade\", transport);\n transport = null;\n this.upgrading = false;\n this.flush();\n });\n }\n else {\n const err = new Error(\"probe error\");\n // @ts-ignore\n err.transport = transport.name;\n this.emitReserved(\"upgradeError\", err);\n }\n });\n };\n function freezeTransport() {\n if (failed)\n return;\n // Any callback called by transport should be ignored since now\n failed = true;\n cleanup();\n transport.close();\n transport = null;\n }\n // Handle any error that happens while probing\n const onerror = (err) => {\n const error = new Error(\"probe error: \" + err);\n // @ts-ignore\n error.transport = transport.name;\n freezeTransport();\n this.emitReserved(\"upgradeError\", error);\n };\n function onTransportClose() {\n onerror(\"transport closed\");\n }\n // When the socket is closed while we're probing\n function onclose() {\n onerror(\"socket closed\");\n }\n // When the socket is upgraded while we're probing\n function onupgrade(to) {\n if (transport && to.name !== transport.name) {\n freezeTransport();\n }\n }\n // Remove all listeners on the transport and on self\n const cleanup = () => {\n transport.removeListener(\"open\", onTransportOpen);\n transport.removeListener(\"error\", onerror);\n transport.removeListener(\"close\", onTransportClose);\n this.off(\"close\", onclose);\n this.off(\"upgrading\", onupgrade);\n };\n transport.once(\"open\", onTransportOpen);\n transport.once(\"error\", onerror);\n transport.once(\"close\", onTransportClose);\n this.once(\"close\", onclose);\n this.once(\"upgrading\", onupgrade);\n if (this.upgrades.indexOf(\"webtransport\") !== -1 &&\n name !== \"webtransport\") {\n // favor WebTransport\n this.setTimeoutFn(() => {\n if (!failed) {\n transport.open();\n }\n }, 200);\n }\n else {\n transport.open();\n }\n }\n /**\n * Called when connection is deemed open.\n *\n * @private\n */\n onOpen() {\n this.readyState = \"open\";\n Socket.priorWebsocketSuccess = \"websocket\" === this.transport.name;\n this.emitReserved(\"open\");\n this.flush();\n // we check for `readyState` in case an `open`\n // listener already closed the socket\n if (\"open\" === this.readyState && this.opts.upgrade) {\n let i = 0;\n const l = this.upgrades.length;\n for (; i < l; i++) {\n this.probe(this.upgrades[i]);\n }\n }\n }\n /**\n * Handles a packet.\n *\n * @private\n */\n onPacket(packet) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n this.emitReserved(\"packet\", packet);\n // Socket is live - any packet counts\n this.emitReserved(\"heartbeat\");\n switch (packet.type) {\n case \"open\":\n this.onHandshake(JSON.parse(packet.data));\n break;\n case \"ping\":\n this.resetPingTimeout();\n this.sendPacket(\"pong\");\n this.emitReserved(\"ping\");\n this.emitReserved(\"pong\");\n break;\n case \"error\":\n const err = new Error(\"server error\");\n // @ts-ignore\n err.code = packet.data;\n this.onError(err);\n break;\n case \"message\":\n this.emitReserved(\"data\", packet.data);\n this.emitReserved(\"message\", packet.data);\n break;\n }\n }\n else {\n }\n }\n /**\n * Called upon handshake completion.\n *\n * @param {Object} data - handshake obj\n * @private\n */\n onHandshake(data) {\n this.emitReserved(\"handshake\", data);\n this.id = data.sid;\n this.transport.query.sid = data.sid;\n this.upgrades = this.filterUpgrades(data.upgrades);\n this.pingInterval = data.pingInterval;\n this.pingTimeout = data.pingTimeout;\n this.maxPayload = data.maxPayload;\n this.onOpen();\n // In case open handler closes socket\n if (\"closed\" === this.readyState)\n return;\n this.resetPingTimeout();\n }\n /**\n * Sets and resets ping timeout timer based on server pings.\n *\n * @private\n */\n resetPingTimeout() {\n this.clearTimeoutFn(this.pingTimeoutTimer);\n this.pingTimeoutTimer = this.setTimeoutFn(() => {\n this.onClose(\"ping timeout\");\n }, this.pingInterval + this.pingTimeout);\n if (this.opts.autoUnref) {\n this.pingTimeoutTimer.unref();\n }\n }\n /**\n * Called on `drain` event\n *\n * @private\n */\n onDrain() {\n this.writeBuffer.splice(0, this.prevBufferLen);\n // setting prevBufferLen = 0 is very important\n // for example, when upgrading, upgrade packet is sent over,\n // and a nonzero prevBufferLen could cause problems on `drain`\n this.prevBufferLen = 0;\n if (0 === this.writeBuffer.length) {\n this.emitReserved(\"drain\");\n }\n else {\n this.flush();\n }\n }\n /**\n * Flush write buffers.\n *\n * @private\n */\n flush() {\n if (\"closed\" !== this.readyState &&\n this.transport.writable &&\n !this.upgrading &&\n this.writeBuffer.length) {\n const packets = this.getWritablePackets();\n this.transport.send(packets);\n // keep track of current length of writeBuffer\n // splice writeBuffer and callbackBuffer on `drain`\n this.prevBufferLen = packets.length;\n this.emitReserved(\"flush\");\n }\n }\n /**\n * Ensure the encoded size of the writeBuffer is below the maxPayload value sent by the server (only for HTTP\n * long-polling)\n *\n * @private\n */\n getWritablePackets() {\n const shouldCheckPayloadSize = this.maxPayload &&\n this.transport.name === \"polling\" &&\n this.writeBuffer.length > 1;\n if (!shouldCheckPayloadSize) {\n return this.writeBuffer;\n }\n let payloadSize = 1; // first packet type\n for (let i = 0; i < this.writeBuffer.length; i++) {\n const data = this.writeBuffer[i].data;\n if (data) {\n payloadSize += byteLength(data);\n }\n if (i > 0 && payloadSize > this.maxPayload) {\n return this.writeBuffer.slice(0, i);\n }\n payloadSize += 2; // separator + packet type\n }\n return this.writeBuffer;\n }\n /**\n * Sends a message.\n *\n * @param {String} msg - message.\n * @param {Object} options.\n * @param {Function} callback function.\n * @return {Socket} for chaining.\n */\n write(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n send(msg, options, fn) {\n this.sendPacket(\"message\", msg, options, fn);\n return this;\n }\n /**\n * Sends a packet.\n *\n * @param {String} type: packet type.\n * @param {String} data.\n * @param {Object} options.\n * @param {Function} fn - callback function.\n * @private\n */\n sendPacket(type, data, options, fn) {\n if (\"function\" === typeof data) {\n fn = data;\n data = undefined;\n }\n if (\"function\" === typeof options) {\n fn = options;\n options = null;\n }\n if (\"closing\" === this.readyState || \"closed\" === this.readyState) {\n return;\n }\n options = options || {};\n options.compress = false !== options.compress;\n const packet = {\n type: type,\n data: data,\n options: options,\n };\n this.emitReserved(\"packetCreate\", packet);\n this.writeBuffer.push(packet);\n if (fn)\n this.once(\"flush\", fn);\n this.flush();\n }\n /**\n * Closes the connection.\n */\n close() {\n const close = () => {\n this.onClose(\"forced close\");\n this.transport.close();\n };\n const cleanupAndClose = () => {\n this.off(\"upgrade\", cleanupAndClose);\n this.off(\"upgradeError\", cleanupAndClose);\n close();\n };\n const waitForUpgrade = () => {\n // wait for upgrade to finish since we can't send packets while pausing a transport\n this.once(\"upgrade\", cleanupAndClose);\n this.once(\"upgradeError\", cleanupAndClose);\n };\n if (\"opening\" === this.readyState || \"open\" === this.readyState) {\n this.readyState = \"closing\";\n if (this.writeBuffer.length) {\n this.once(\"drain\", () => {\n if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n });\n }\n else if (this.upgrading) {\n waitForUpgrade();\n }\n else {\n close();\n }\n }\n return this;\n }\n /**\n * Called upon transport error\n *\n * @private\n */\n onError(err) {\n Socket.priorWebsocketSuccess = false;\n this.emitReserved(\"error\", err);\n this.onClose(\"transport error\", err);\n }\n /**\n * Called upon transport close.\n *\n * @private\n */\n onClose(reason, description) {\n if (\"opening\" === this.readyState ||\n \"open\" === this.readyState ||\n \"closing\" === this.readyState) {\n // clear timers\n this.clearTimeoutFn(this.pingTimeoutTimer);\n // stop event from firing again for transport\n this.transport.removeAllListeners(\"close\");\n // ensure transport won't stay open\n this.transport.close();\n // ignore further transport communication\n this.transport.removeAllListeners();\n if (typeof removeEventListener === \"function\") {\n removeEventListener(\"beforeunload\", this.beforeunloadEventListener, false);\n removeEventListener(\"offline\", this.offlineEventListener, false);\n }\n // set ready state\n this.readyState = \"closed\";\n // clear session id\n this.id = null;\n // emit close event\n this.emitReserved(\"close\", reason, description);\n // clean buffers after, so users can still\n // grab the buffers on `close` event\n this.writeBuffer = [];\n this.prevBufferLen = 0;\n }\n }\n /**\n * Filters upgrades, returning only those matching client transports.\n *\n * @param {Array} upgrades - server upgrades\n * @private\n */\n filterUpgrades(upgrades) {\n const filteredUpgrades = [];\n let i = 0;\n const j = upgrades.length;\n for (; i < j; i++) {\n if (~this.transports.indexOf(upgrades[i]))\n filteredUpgrades.push(upgrades[i]);\n }\n return filteredUpgrades;\n }\n}\nSocket.protocol = protocol;\n","import { Polling } from \"./polling.js\";\nimport { WS } from \"./websocket.js\";\nimport { WT } from \"./webtransport.js\";\nexport const transports = {\n websocket: WS,\n webtransport: WT,\n polling: Polling,\n};\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { encodePayload, decodePayload } from \"engine.io-parser\";\nimport { createCookieJar, XHR as XMLHttpRequest, } from \"./xmlhttprequest.js\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions, pick } from \"../util.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nfunction empty() { }\nconst hasXHR2 = (function () {\n const xhr = new XMLHttpRequest({\n xdomain: false,\n });\n return null != xhr.responseType;\n})();\nexport class Polling extends Transport {\n /**\n * XHR Polling constructor.\n *\n * @param {Object} opts\n * @package\n */\n constructor(opts) {\n super(opts);\n this.polling = false;\n if (typeof location !== \"undefined\") {\n const isSSL = \"https:\" === location.protocol;\n let port = location.port;\n // some user agents have empty `location.port`\n if (!port) {\n port = isSSL ? \"443\" : \"80\";\n }\n this.xd =\n (typeof location !== \"undefined\" &&\n opts.hostname !== location.hostname) ||\n port !== opts.port;\n }\n /**\n * XHR supports binary\n */\n const forceBase64 = opts && opts.forceBase64;\n this.supportsBinary = hasXHR2 && !forceBase64;\n if (this.opts.withCredentials) {\n this.cookieJar = createCookieJar();\n }\n }\n get name() {\n return \"polling\";\n }\n /**\n * Opens the socket (triggers polling). We write a PING message to determine\n * when the transport is open.\n *\n * @protected\n */\n doOpen() {\n this.poll();\n }\n /**\n * Pauses polling.\n *\n * @param {Function} onPause - callback upon buffers are flushed and transport is paused\n * @package\n */\n pause(onPause) {\n this.readyState = \"pausing\";\n const pause = () => {\n this.readyState = \"paused\";\n onPause();\n };\n if (this.polling || !this.writable) {\n let total = 0;\n if (this.polling) {\n total++;\n this.once(\"pollComplete\", function () {\n --total || pause();\n });\n }\n if (!this.writable) {\n total++;\n this.once(\"drain\", function () {\n --total || pause();\n });\n }\n }\n else {\n pause();\n }\n }\n /**\n * Starts polling cycle.\n *\n * @private\n */\n poll() {\n this.polling = true;\n this.doPoll();\n this.emitReserved(\"poll\");\n }\n /**\n * Overloads onData to detect payloads.\n *\n * @protected\n */\n onData(data) {\n const callback = (packet) => {\n // if its the first message we consider the transport open\n if (\"opening\" === this.readyState && packet.type === \"open\") {\n this.onOpen();\n }\n // if its a close packet, we close the ongoing requests\n if (\"close\" === packet.type) {\n this.onClose({ description: \"transport closed by the server\" });\n return false;\n }\n // otherwise bypass onData and handle the message\n this.onPacket(packet);\n };\n // decode payload\n decodePayload(data, this.socket.binaryType).forEach(callback);\n // if an event did not trigger closing\n if (\"closed\" !== this.readyState) {\n // if we got data we're not polling\n this.polling = false;\n this.emitReserved(\"pollComplete\");\n if (\"open\" === this.readyState) {\n this.poll();\n }\n else {\n }\n }\n }\n /**\n * For polling, send a close packet.\n *\n * @protected\n */\n doClose() {\n const close = () => {\n this.write([{ type: \"close\" }]);\n };\n if (\"open\" === this.readyState) {\n close();\n }\n else {\n // in case we're trying to close while\n // handshaking is in progress (GH-164)\n this.once(\"open\", close);\n }\n }\n /**\n * Writes a packets payload.\n *\n * @param {Array} packets - data packets\n * @protected\n */\n write(packets) {\n this.writable = false;\n encodePayload(packets, (data) => {\n this.doWrite(data, () => {\n this.writable = true;\n this.emitReserved(\"drain\");\n });\n });\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"https\" : \"http\";\n const query = this.query || {};\n // cache busting is forced\n if (false !== this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n if (!this.supportsBinary && !query.sid) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Creates a request.\n *\n * @param {String} method\n * @private\n */\n request(opts = {}) {\n Object.assign(opts, { xd: this.xd, cookieJar: this.cookieJar }, this.opts);\n return new Request(this.uri(), opts);\n }\n /**\n * Sends data.\n *\n * @param {String} data to send.\n * @param {Function} called upon flush.\n * @private\n */\n doWrite(data, fn) {\n const req = this.request({\n method: \"POST\",\n data: data,\n });\n req.on(\"success\", fn);\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr post error\", xhrStatus, context);\n });\n }\n /**\n * Starts a poll cycle.\n *\n * @private\n */\n doPoll() {\n const req = this.request();\n req.on(\"data\", this.onData.bind(this));\n req.on(\"error\", (xhrStatus, context) => {\n this.onError(\"xhr poll error\", xhrStatus, context);\n });\n this.pollXhr = req;\n }\n}\nexport class Request extends Emitter {\n /**\n * Request constructor\n *\n * @param {Object} options\n * @package\n */\n constructor(uri, opts) {\n super();\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.method = opts.method || \"GET\";\n this.uri = uri;\n this.data = undefined !== opts.data ? opts.data : null;\n this.create();\n }\n /**\n * Creates the XHR object and sends the request.\n *\n * @private\n */\n create() {\n var _a;\n const opts = pick(this.opts, \"agent\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"autoUnref\");\n opts.xdomain = !!this.opts.xd;\n const xhr = (this.xhr = new XMLHttpRequest(opts));\n try {\n xhr.open(this.method, this.uri, true);\n try {\n if (this.opts.extraHeaders) {\n xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);\n for (let i in this.opts.extraHeaders) {\n if (this.opts.extraHeaders.hasOwnProperty(i)) {\n xhr.setRequestHeader(i, this.opts.extraHeaders[i]);\n }\n }\n }\n }\n catch (e) { }\n if (\"POST\" === this.method) {\n try {\n xhr.setRequestHeader(\"Content-type\", \"text/plain;charset=UTF-8\");\n }\n catch (e) { }\n }\n try {\n xhr.setRequestHeader(\"Accept\", \"*/*\");\n }\n catch (e) { }\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);\n // ie6 check\n if (\"withCredentials\" in xhr) {\n xhr.withCredentials = this.opts.withCredentials;\n }\n if (this.opts.requestTimeout) {\n xhr.timeout = this.opts.requestTimeout;\n }\n xhr.onreadystatechange = () => {\n var _a;\n if (xhr.readyState === 3) {\n (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.parseCookies(xhr);\n }\n if (4 !== xhr.readyState)\n return;\n if (200 === xhr.status || 1223 === xhr.status) {\n this.onLoad();\n }\n else {\n // make sure the `error` event handler that's user-set\n // does not throw in the same tick and gets caught here\n this.setTimeoutFn(() => {\n this.onError(typeof xhr.status === \"number\" ? xhr.status : 0);\n }, 0);\n }\n };\n xhr.send(this.data);\n }\n catch (e) {\n // Need to defer since .create() is called directly from the constructor\n // and thus the 'error' event can only be only bound *after* this exception\n // occurs. Therefore, also, we cannot throw here at all.\n this.setTimeoutFn(() => {\n this.onError(e);\n }, 0);\n return;\n }\n if (typeof document !== \"undefined\") {\n this.index = Request.requestsCount++;\n Request.requests[this.index] = this;\n }\n }\n /**\n * Called upon error.\n *\n * @private\n */\n onError(err) {\n this.emitReserved(\"error\", err, this.xhr);\n this.cleanup(true);\n }\n /**\n * Cleans up house.\n *\n * @private\n */\n cleanup(fromError) {\n if (\"undefined\" === typeof this.xhr || null === this.xhr) {\n return;\n }\n this.xhr.onreadystatechange = empty;\n if (fromError) {\n try {\n this.xhr.abort();\n }\n catch (e) { }\n }\n if (typeof document !== \"undefined\") {\n delete Request.requests[this.index];\n }\n this.xhr = null;\n }\n /**\n * Called upon load.\n *\n * @private\n */\n onLoad() {\n const data = this.xhr.responseText;\n if (data !== null) {\n this.emitReserved(\"data\", data);\n this.emitReserved(\"success\");\n this.cleanup();\n }\n }\n /**\n * Aborts the request.\n *\n * @package\n */\n abort() {\n this.cleanup();\n }\n}\nRequest.requestsCount = 0;\nRequest.requests = {};\n/**\n * Aborts pending requests when unloading the window. This is needed to prevent\n * memory leaks (e.g. when using IE) and to ensure that no spurious error is\n * emitted.\n */\nif (typeof document !== \"undefined\") {\n // @ts-ignore\n if (typeof attachEvent === \"function\") {\n // @ts-ignore\n attachEvent(\"onunload\", unloadHandler);\n }\n else if (typeof addEventListener === \"function\") {\n const terminationEvent = \"onpagehide\" in globalThis ? \"pagehide\" : \"unload\";\n addEventListener(terminationEvent, unloadHandler, false);\n }\n}\nfunction unloadHandler() {\n for (let i in Request.requests) {\n if (Request.requests.hasOwnProperty(i)) {\n Request.requests[i].abort();\n }\n }\n}\n","import { decodePacket } from \"engine.io-parser\";\nimport { Emitter } from \"@socket.io/component-emitter\";\nimport { installTimerFunctions } from \"./util.js\";\nimport { encode } from \"./contrib/parseqs.js\";\nclass TransportError extends Error {\n constructor(reason, description, context) {\n super(reason);\n this.description = description;\n this.context = context;\n this.type = \"TransportError\";\n }\n}\nexport class Transport extends Emitter {\n /**\n * Transport abstract constructor.\n *\n * @param {Object} opts - options\n * @protected\n */\n constructor(opts) {\n super();\n this.writable = false;\n installTimerFunctions(this, opts);\n this.opts = opts;\n this.query = opts.query;\n this.socket = opts.socket;\n }\n /**\n * Emits an error.\n *\n * @param {String} reason\n * @param description\n * @param context - the error context\n * @return {Transport} for chaining\n * @protected\n */\n onError(reason, description, context) {\n super.emitReserved(\"error\", new TransportError(reason, description, context));\n return this;\n }\n /**\n * Opens the transport.\n */\n open() {\n this.readyState = \"opening\";\n this.doOpen();\n return this;\n }\n /**\n * Closes the transport.\n */\n close() {\n if (this.readyState === \"opening\" || this.readyState === \"open\") {\n this.doClose();\n this.onClose();\n }\n return this;\n }\n /**\n * Sends multiple packets.\n *\n * @param {Array} packets\n */\n send(packets) {\n if (this.readyState === \"open\") {\n this.write(packets);\n }\n else {\n // this might happen if the transport was silently closed in the beforeunload event handler\n }\n }\n /**\n * Called upon open\n *\n * @protected\n */\n onOpen() {\n this.readyState = \"open\";\n this.writable = true;\n super.emitReserved(\"open\");\n }\n /**\n * Called with data.\n *\n * @param {String} data\n * @protected\n */\n onData(data) {\n const packet = decodePacket(data, this.socket.binaryType);\n this.onPacket(packet);\n }\n /**\n * Called with a decoded packet.\n *\n * @protected\n */\n onPacket(packet) {\n super.emitReserved(\"packet\", packet);\n }\n /**\n * Called upon close.\n *\n * @protected\n */\n onClose(details) {\n this.readyState = \"closed\";\n super.emitReserved(\"close\", details);\n }\n /**\n * Pauses the transport, in order not to lose packets during an upgrade.\n *\n * @param onPause\n */\n pause(onPause) { }\n createUri(schema, query = {}) {\n return (schema +\n \"://\" +\n this._hostname() +\n this._port() +\n this.opts.path +\n this._query(query));\n }\n _hostname() {\n const hostname = this.opts.hostname;\n return hostname.indexOf(\":\") === -1 ? hostname : \"[\" + hostname + \"]\";\n }\n _port() {\n if (this.opts.port &&\n ((this.opts.secure && Number(this.opts.port !== 443)) ||\n (!this.opts.secure && Number(this.opts.port) !== 80))) {\n return \":\" + this.opts.port;\n }\n else {\n return \"\";\n }\n }\n _query(query) {\n const encodedQuery = encode(query);\n return encodedQuery.length ? \"?\" + encodedQuery : \"\";\n }\n}\n","import { encodePacket, encodePacketToBinary } from \"./encodePacket.js\";\nimport { decodePacket } from \"./decodePacket.js\";\nconst SEPARATOR = String.fromCharCode(30); // see https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text\nconst encodePayload = (packets, callback) => {\n // some packets may be added to the array while encoding, so the initial length must be saved\n const length = packets.length;\n const encodedPackets = new Array(length);\n let count = 0;\n packets.forEach((packet, i) => {\n // force base64 encoding for binary packets\n encodePacket(packet, false, encodedPacket => {\n encodedPackets[i] = encodedPacket;\n if (++count === length) {\n callback(encodedPackets.join(SEPARATOR));\n }\n });\n });\n};\nconst decodePayload = (encodedPayload, binaryType) => {\n const encodedPackets = encodedPayload.split(SEPARATOR);\n const packets = [];\n for (let i = 0; i < encodedPackets.length; i++) {\n const decodedPacket = decodePacket(encodedPackets[i], binaryType);\n packets.push(decodedPacket);\n if (decodedPacket.type === \"error\") {\n break;\n }\n }\n return packets;\n};\nlet TEXT_DECODER;\nexport function decodePacketFromBinary(data, isBinary, binaryType) {\n if (!TEXT_DECODER) {\n // lazily created for compatibility with old browser platforms\n TEXT_DECODER = new TextDecoder();\n }\n // 48 === \"0\".charCodeAt(0) (OPEN packet type)\n // 54 === \"6\".charCodeAt(0) (NOOP packet type)\n const isPlainBinary = isBinary || data[0] < 48 || data[0] > 54;\n return decodePacket(isPlainBinary ? data : TEXT_DECODER.decode(data), binaryType);\n}\nexport const protocol = 4;\nexport { encodePacket, encodePacketToBinary, encodePayload, decodePacket, decodePayload };\n","import { PACKET_TYPES } from \"./commons.js\";\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n Object.prototype.toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\n// ArrayBuffer.isView method is not defined in IE10\nconst isView = obj => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj && obj.buffer instanceof ArrayBuffer;\n};\nconst encodePacket = ({ type, data }, supportsBinary, callback) => {\n if (withNativeBlob && data instanceof Blob) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(data, callback);\n }\n }\n else if (withNativeArrayBuffer &&\n (data instanceof ArrayBuffer || isView(data))) {\n if (supportsBinary) {\n return callback(data);\n }\n else {\n return encodeBlobAsBase64(new Blob([data]), callback);\n }\n }\n // plain string\n return callback(PACKET_TYPES[type] + (data || \"\"));\n};\nconst encodeBlobAsBase64 = (data, callback) => {\n const fileReader = new FileReader();\n fileReader.onload = function () {\n const content = fileReader.result.split(\",\")[1];\n callback(\"b\" + (content || \"\"));\n };\n return fileReader.readAsDataURL(data);\n};\nfunction toArray(data) {\n if (data instanceof Uint8Array) {\n return data;\n }\n else if (data instanceof ArrayBuffer) {\n return new Uint8Array(data);\n }\n else {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n }\n}\nlet TEXT_ENCODER;\nexport function encodePacketToBinary(packet, callback) {\n if (withNativeBlob && packet.data instanceof Blob) {\n return packet.data\n .arrayBuffer()\n .then(toArray)\n .then(callback);\n }\n else if (withNativeArrayBuffer &&\n (packet.data instanceof ArrayBuffer || isView(packet.data))) {\n return callback(toArray(packet.data));\n }\n encodePacket(packet, false, encoded => {\n if (!TEXT_ENCODER) {\n TEXT_ENCODER = new TextEncoder();\n }\n callback(TEXT_ENCODER.encode(encoded));\n });\n}\nexport { encodePacket };\n","const PACKET_TYPES = Object.create(null); // no Map = no polyfill\nPACKET_TYPES[\"open\"] = \"0\";\nPACKET_TYPES[\"close\"] = \"1\";\nPACKET_TYPES[\"ping\"] = \"2\";\nPACKET_TYPES[\"pong\"] = \"3\";\nPACKET_TYPES[\"message\"] = \"4\";\nPACKET_TYPES[\"upgrade\"] = \"5\";\nPACKET_TYPES[\"noop\"] = \"6\";\nconst PACKET_TYPES_REVERSE = Object.create(null);\nObject.keys(PACKET_TYPES).forEach(key => {\n PACKET_TYPES_REVERSE[PACKET_TYPES[key]] = key;\n});\nconst ERROR_PACKET = { type: \"error\", data: \"parser error\" };\nexport { PACKET_TYPES, PACKET_TYPES_REVERSE, ERROR_PACKET };\n","import { ERROR_PACKET, PACKET_TYPES_REVERSE } from \"./commons.js\";\nimport { decode } from \"./contrib/base64-arraybuffer.js\";\nconst withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nexport const decodePacket = (encodedPacket, binaryType) => {\n if (typeof encodedPacket !== \"string\") {\n return {\n type: \"message\",\n data: mapBinary(encodedPacket, binaryType)\n };\n }\n const type = encodedPacket.charAt(0);\n if (type === \"b\") {\n return {\n type: \"message\",\n data: decodeBase64Packet(encodedPacket.substring(1), binaryType)\n };\n }\n const packetType = PACKET_TYPES_REVERSE[type];\n if (!packetType) {\n return ERROR_PACKET;\n }\n return encodedPacket.length > 1\n ? {\n type: PACKET_TYPES_REVERSE[type],\n data: encodedPacket.substring(1)\n }\n : {\n type: PACKET_TYPES_REVERSE[type]\n };\n};\nconst decodeBase64Packet = (data, binaryType) => {\n if (withNativeArrayBuffer) {\n const decoded = decode(data);\n return mapBinary(decoded, binaryType);\n }\n else {\n return { base64: true, data }; // fallback for old browsers\n }\n};\nconst mapBinary = (data, binaryType) => {\n switch (binaryType) {\n case \"blob\":\n if (data instanceof Blob) {\n // from WebSocket + binaryType \"blob\"\n return data;\n }\n else {\n // from HTTP long-polling or WebTransport\n return new Blob([data]);\n }\n case \"arraybuffer\":\n default:\n if (data instanceof ArrayBuffer) {\n // from HTTP long-polling (base64) or WebSocket + binaryType \"arraybuffer\"\n return data;\n }\n else {\n // from WebTransport (Uint8Array)\n return data.buffer;\n }\n }\n};\n","// imported from https://github.com/socketio/base64-arraybuffer\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nexport const encode = (arraybuffer) => {\n let bytes = new Uint8Array(arraybuffer), i, len = bytes.length, base64 = '';\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nexport const decode = (base64) => {\n let bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n const arraybuffer = new ArrayBuffer(bufferLength), bytes = new Uint8Array(arraybuffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return arraybuffer;\n};\n","/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nexport function Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","import { globalThisShim as globalThis } from \"./globalThis.js\";\nexport function pick(obj, ...attr) {\n return attr.reduce((acc, k) => {\n if (obj.hasOwnProperty(k)) {\n acc[k] = obj[k];\n }\n return acc;\n }, {});\n}\n// Keep a reference to the real timeout functions so they can be used when overridden\nconst NATIVE_SET_TIMEOUT = globalThis.setTimeout;\nconst NATIVE_CLEAR_TIMEOUT = globalThis.clearTimeout;\nexport function installTimerFunctions(obj, opts) {\n if (opts.useNativeTimers) {\n obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis);\n obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis);\n }\n else {\n obj.setTimeoutFn = globalThis.setTimeout.bind(globalThis);\n obj.clearTimeoutFn = globalThis.clearTimeout.bind(globalThis);\n }\n}\n// base64 encoded buffers are about 33% bigger (https://en.wikipedia.org/wiki/Base64)\nconst BASE64_OVERHEAD = 1.33;\n// we could also have used `new Blob([obj]).size`, but it isn't supported in IE9\nexport function byteLength(obj) {\n if (typeof obj === \"string\") {\n return utf8Length(obj);\n }\n // arraybuffer or blob\n return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);\n}\nfunction utf8Length(str) {\n let c = 0, length = 0;\n for (let i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n","export const globalThisShim = (() => {\n if (typeof self !== \"undefined\") {\n return self;\n }\n else if (typeof window !== \"undefined\") {\n return window;\n }\n else {\n return Function(\"return this\")();\n }\n})();\n","// imported from https://github.com/galkn/querystring\n/**\n * Compiles a querystring\n * Returns string representation of the object\n *\n * @param {Object}\n * @api private\n */\nexport function encode(obj) {\n let str = '';\n for (let i in obj) {\n if (obj.hasOwnProperty(i)) {\n if (str.length)\n str += '&';\n str += encodeURIComponent(i) + '=' + encodeURIComponent(obj[i]);\n }\n }\n return str;\n}\n/**\n * Parses a simple querystring into an object\n *\n * @param {String} qs\n * @api private\n */\nexport function decode(qs) {\n let qry = {};\n let pairs = qs.split('&');\n for (let i = 0, l = pairs.length; i < l; i++) {\n let pair = pairs[i].split('=');\n qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\n }\n return qry;\n}\n","// imported from https://github.com/unshiftio/yeast\n'use strict';\nconst alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''), length = 64, map = {};\nlet seed = 0, i = 0, prev;\n/**\n * Return a string representing the specified number.\n *\n * @param {Number} num The number to convert.\n * @returns {String} The string representation of the number.\n * @api public\n */\nexport function encode(num) {\n let encoded = '';\n do {\n encoded = alphabet[num % length] + encoded;\n num = Math.floor(num / length);\n } while (num > 0);\n return encoded;\n}\n/**\n * Return the integer value specified by the given string.\n *\n * @param {String} str The string to convert.\n * @returns {Number} The integer value represented by the string.\n * @api public\n */\nexport function decode(str) {\n let decoded = 0;\n for (i = 0; i < str.length; i++) {\n decoded = decoded * length + map[str.charAt(i)];\n }\n return decoded;\n}\n/**\n * Yeast: A tiny growing id generator.\n *\n * @returns {String} A unique id.\n * @api public\n */\nexport function yeast() {\n const now = encode(+new Date());\n if (now !== prev)\n return seed = 0, prev = now;\n return now + '.' + encode(seed++);\n}\n//\n// Map each character to its index.\n//\nfor (; i < length; i++)\n map[alphabet[i]] = i;\n","// browser shim for xmlhttprequest module\nimport { hasCORS } from \"../contrib/has-cors.js\";\nimport { globalThisShim as globalThis } from \"../globalThis.js\";\nexport function XHR(opts) {\n const xdomain = opts.xdomain;\n // XMLHttpRequest can be disabled on IE\n try {\n if (\"undefined\" !== typeof XMLHttpRequest && (!xdomain || hasCORS)) {\n return new XMLHttpRequest();\n }\n }\n catch (e) { }\n if (!xdomain) {\n try {\n return new globalThis[[\"Active\"].concat(\"Object\").join(\"X\")](\"Microsoft.XMLHTTP\");\n }\n catch (e) { }\n }\n}\nexport function createCookieJar() { }\n","// imported from https://github.com/component/has-cors\nlet value = false;\ntry {\n value = typeof XMLHttpRequest !== 'undefined' &&\n 'withCredentials' in new XMLHttpRequest();\n}\ncatch (err) {\n // if XMLHttp support is disabled in IE then it will throw\n // when trying to create\n}\nexport const hasCORS = value;\n","import { Transport } from \"../transport.js\";\nimport { yeast } from \"../contrib/yeast.js\";\nimport { pick } from \"../util.js\";\nimport { defaultBinaryType, nextTick, usingBrowserWebSocket, WebSocket, } from \"./websocket-constructor.js\";\nimport { encodePacket } from \"engine.io-parser\";\n// detect ReactNative environment\nconst isReactNative = typeof navigator !== \"undefined\" &&\n typeof navigator.product === \"string\" &&\n navigator.product.toLowerCase() === \"reactnative\";\nexport class WS extends Transport {\n /**\n * WebSocket transport constructor.\n *\n * @param {Object} opts - connection options\n * @protected\n */\n constructor(opts) {\n super(opts);\n this.supportsBinary = !opts.forceBase64;\n }\n get name() {\n return \"websocket\";\n }\n doOpen() {\n if (!this.check()) {\n // let probe timeout\n return;\n }\n const uri = this.uri();\n const protocols = this.opts.protocols;\n // React Native only supports the 'headers' option, and will print a warning if anything else is passed\n const opts = isReactNative\n ? {}\n : pick(this.opts, \"agent\", \"perMessageDeflate\", \"pfx\", \"key\", \"passphrase\", \"cert\", \"ca\", \"ciphers\", \"rejectUnauthorized\", \"localAddress\", \"protocolVersion\", \"origin\", \"maxPayload\", \"family\", \"checkServerIdentity\");\n if (this.opts.extraHeaders) {\n opts.headers = this.opts.extraHeaders;\n }\n try {\n this.ws =\n usingBrowserWebSocket && !isReactNative\n ? protocols\n ? new WebSocket(uri, protocols)\n : new WebSocket(uri)\n : new WebSocket(uri, protocols, opts);\n }\n catch (err) {\n return this.emitReserved(\"error\", err);\n }\n this.ws.binaryType = this.socket.binaryType || defaultBinaryType;\n this.addEventListeners();\n }\n /**\n * Adds event listeners to the socket\n *\n * @private\n */\n addEventListeners() {\n this.ws.onopen = () => {\n if (this.opts.autoUnref) {\n this.ws._socket.unref();\n }\n this.onOpen();\n };\n this.ws.onclose = (closeEvent) => this.onClose({\n description: \"websocket connection closed\",\n context: closeEvent,\n });\n this.ws.onmessage = (ev) => this.onData(ev.data);\n this.ws.onerror = (e) => this.onError(\"websocket error\", e);\n }\n write(packets) {\n this.writable = false;\n // encodePacket efficient as it uses WS framing\n // no need for encodePayload\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacket(packet, this.supportsBinary, (data) => {\n // always create a new object (GH-437)\n const opts = {};\n if (!usingBrowserWebSocket) {\n if (packet.options) {\n opts.compress = packet.options.compress;\n }\n if (this.opts.perMessageDeflate) {\n const len = \n // @ts-ignore\n \"string\" === typeof data ? Buffer.byteLength(data) : data.length;\n if (len < this.opts.perMessageDeflate.threshold) {\n opts.compress = false;\n }\n }\n }\n // Sometimes the websocket has already been closed but the browser didn't\n // have a chance of informing us about it yet, in that case send will\n // throw an error\n try {\n if (usingBrowserWebSocket) {\n // TypeError is thrown when passing the second argument on Safari\n this.ws.send(data);\n }\n else {\n this.ws.send(data, opts);\n }\n }\n catch (e) {\n }\n if (lastPacket) {\n // fake drain\n // defer to next tick to allow Socket to clear writeBuffer\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n }\n }\n doClose() {\n if (typeof this.ws !== \"undefined\") {\n this.ws.close();\n this.ws = null;\n }\n }\n /**\n * Generates uri for connection.\n *\n * @private\n */\n uri() {\n const schema = this.opts.secure ? \"wss\" : \"ws\";\n const query = this.query || {};\n // append timestamp to URI\n if (this.opts.timestampRequests) {\n query[this.opts.timestampParam] = yeast();\n }\n // communicate binary support capabilities\n if (!this.supportsBinary) {\n query.b64 = 1;\n }\n return this.createUri(schema, query);\n }\n /**\n * Feature detection for WebSocket.\n *\n * @return {Boolean} whether this transport is available.\n * @private\n */\n check() {\n return !!WebSocket;\n }\n}\n","import { globalThisShim as globalThis } from \"../globalThis.js\";\nexport const nextTick = (() => {\n const isPromiseAvailable = typeof Promise === \"function\" && typeof Promise.resolve === \"function\";\n if (isPromiseAvailable) {\n return (cb) => Promise.resolve().then(cb);\n }\n else {\n return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);\n }\n})();\nexport const WebSocket = globalThis.WebSocket || globalThis.MozWebSocket;\nexport const usingBrowserWebSocket = true;\nexport const defaultBinaryType = \"arraybuffer\";\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import { Transport } from \"../transport.js\";\nimport { nextTick } from \"./websocket-constructor.js\";\nimport { encodePacketToBinary, decodePacketFromBinary, } from \"engine.io-parser\";\nfunction shouldIncludeBinaryHeader(packet, encoded) {\n // 48 === \"0\".charCodeAt(0) (OPEN packet type)\n // 54 === \"6\".charCodeAt(0) (NOOP packet type)\n return (packet.type === \"message\" &&\n typeof packet.data !== \"string\" &&\n encoded[0] >= 48 &&\n encoded[0] <= 54);\n}\nexport class WT extends Transport {\n get name() {\n return \"webtransport\";\n }\n doOpen() {\n // @ts-ignore\n if (typeof WebTransport !== \"function\") {\n return;\n }\n // @ts-ignore\n this.transport = new WebTransport(this.createUri(\"https\"), this.opts.transportOptions[this.name]);\n this.transport.closed\n .then(() => {\n this.onClose();\n })\n .catch((err) => {\n this.onError(\"webtransport error\", err);\n });\n // note: we could have used async/await, but that would require some additional polyfills\n this.transport.ready.then(() => {\n this.transport.createBidirectionalStream().then((stream) => {\n const reader = stream.readable.getReader();\n this.writer = stream.writable.getWriter();\n let binaryFlag;\n const read = () => {\n reader\n .read()\n .then(({ done, value }) => {\n if (done) {\n return;\n }\n if (!binaryFlag && value.byteLength === 1 && value[0] === 54) {\n binaryFlag = true;\n }\n else {\n // TODO expose binarytype\n this.onPacket(decodePacketFromBinary(value, binaryFlag, \"arraybuffer\"));\n binaryFlag = false;\n }\n read();\n })\n .catch((err) => {\n });\n };\n read();\n const handshake = this.query.sid ? `0{\"sid\":\"${this.query.sid}\"}` : \"0\";\n this.writer\n .write(new TextEncoder().encode(handshake))\n .then(() => this.onOpen());\n });\n });\n }\n write(packets) {\n this.writable = false;\n for (let i = 0; i < packets.length; i++) {\n const packet = packets[i];\n const lastPacket = i === packets.length - 1;\n encodePacketToBinary(packet, (data) => {\n if (shouldIncludeBinaryHeader(packet, data)) {\n this.writer.write(Uint8Array.of(54));\n }\n this.writer.write(data).then(() => {\n if (lastPacket) {\n nextTick(() => {\n this.writable = true;\n this.emitReserved(\"drain\");\n }, this.setTimeoutFn);\n }\n });\n });\n }\n }\n doClose() {\n var _a;\n (_a = this.transport) === null || _a === void 0 ? void 0 : _a.close();\n }\n}\n","// imported from https://github.com/galkn/parseuri\n/**\n * Parses a URI\n *\n * Note: we could also have used the built-in URL object, but it isn't supported on all platforms.\n *\n * See:\n * - https://developer.mozilla.org/en-US/docs/Web/API/URL\n * - https://caniuse.com/url\n * - https://www.rfc-editor.org/rfc/rfc3986#appendix-B\n *\n * History of the parse() method:\n * - first commit: https://github.com/socketio/socket.io-client/commit/4ee1d5d94b3906a9c052b459f1a818b15f38f91c\n * - export into its own module: https://github.com/socketio/engine.io-client/commit/de2c561e4564efeb78f1bdb1ba39ef81b2822cb3\n * - reimport: https://github.com/socketio/engine.io-client/commit/df32277c3f6d622eec5ed09f493cae3f3391d242\n *\n * @author Steven Levithan (MIT license)\n * @api private\n */\nconst re = /^(?:(?![^:@\\/?#]+:[^:@\\/]*@)(http|https|ws|wss):\\/\\/)?((?:(([^:@\\/?#]*)(?::([^:@\\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/;\nconst parts = [\n 'source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'\n];\nexport function parse(str) {\n const src = str, b = str.indexOf('['), e = str.indexOf(']');\n if (b != -1 && e != -1) {\n str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ';') + str.substring(e, str.length);\n }\n let m = re.exec(str || ''), uri = {}, i = 14;\n while (i--) {\n uri[parts[i]] = m[i] || '';\n }\n if (b != -1 && e != -1) {\n uri.source = src;\n uri.host = uri.host.substring(1, uri.host.length - 1).replace(/;/g, ':');\n uri.authority = uri.authority.replace('[', '').replace(']', '').replace(/;/g, ':');\n uri.ipv6uri = true;\n }\n uri.pathNames = pathNames(uri, uri['path']);\n uri.queryKey = queryKey(uri, uri['query']);\n return uri;\n}\nfunction pathNames(obj, path) {\n const regx = /\\/{2,9}/g, names = path.replace(regx, \"/\").split(\"/\");\n if (path.slice(0, 1) == '/' || path.length === 0) {\n names.splice(0, 1);\n }\n if (path.slice(-1) == '/') {\n names.splice(names.length - 1, 1);\n }\n return names;\n}\nfunction queryKey(uri, query) {\n const data = {};\n query.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function ($0, $1, $2) {\n if ($1) {\n data[$1] = $2;\n }\n });\n return data;\n}\n","import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n if (this.engine)\n this.engine.close();\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called upon engine close.\n *\n * @private\n */\n onclose(reason, description) {\n this.cleanup();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n","import { PacketType } from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\n/**\n * Internal events.\n * These events can't be emitted by the user.\n */\nconst RESERVED_EVENTS = Object.freeze({\n connect: 1,\n connect_error: 1,\n disconnect: 1,\n disconnecting: 1,\n // EventEmitter reserved events: https://nodejs.org/api/events.html#events_event_newlistener\n newListener: 1,\n removeListener: 1,\n});\n/**\n * A Socket is the fundamental class for interacting with the server.\n *\n * A Socket belongs to a certain Namespace (by default /) and uses an underlying {@link Manager} to communicate.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(\"connected\");\n * });\n *\n * // send an event to the server\n * socket.emit(\"foo\", \"bar\");\n *\n * socket.on(\"foobar\", () => {\n * // an event was received from the server\n * });\n *\n * // upon disconnection\n * socket.on(\"disconnect\", (reason) => {\n * console.log(`disconnected due to ${reason}`);\n * });\n */\nexport class Socket extends Emitter {\n /**\n * `Socket` constructor.\n */\n constructor(io, nsp, opts) {\n super();\n /**\n * Whether the socket is currently connected to the server.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.connected); // true\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.connected); // false\n * });\n */\n this.connected = false;\n /**\n * Whether the connection state was recovered after a temporary disconnection. In that case, any missed packets will\n * be transmitted by the server.\n */\n this.recovered = false;\n /**\n * Buffer for packets received before the CONNECT packet\n */\n this.receiveBuffer = [];\n /**\n * Buffer for packets that will be sent once the socket is connected\n */\n this.sendBuffer = [];\n /**\n * The queue of packets to be sent with retry in case of failure.\n *\n * Packets are sent one by one, each waiting for the server acknowledgement, in order to guarantee the delivery order.\n * @private\n */\n this._queue = [];\n /**\n * A sequence to generate the ID of the {@link QueuedPacket}.\n * @private\n */\n this._queueSeq = 0;\n this.ids = 0;\n this.acks = {};\n this.flags = {};\n this.io = io;\n this.nsp = nsp;\n if (opts && opts.auth) {\n this.auth = opts.auth;\n }\n this._opts = Object.assign({}, opts);\n if (this.io._autoConnect)\n this.open();\n }\n /**\n * Whether the socket is currently disconnected\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"connect\", () => {\n * console.log(socket.disconnected); // false\n * });\n *\n * socket.on(\"disconnect\", () => {\n * console.log(socket.disconnected); // true\n * });\n */\n get disconnected() {\n return !this.connected;\n }\n /**\n * Subscribe to open, close and packet events\n *\n * @private\n */\n subEvents() {\n if (this.subs)\n return;\n const io = this.io;\n this.subs = [\n on(io, \"open\", this.onopen.bind(this)),\n on(io, \"packet\", this.onpacket.bind(this)),\n on(io, \"error\", this.onerror.bind(this)),\n on(io, \"close\", this.onclose.bind(this)),\n ];\n }\n /**\n * Whether the Socket will try to reconnect when its Manager connects or reconnects.\n *\n * @example\n * const socket = io();\n *\n * console.log(socket.active); // true\n *\n * socket.on(\"disconnect\", (reason) => {\n * if (reason === \"io server disconnect\") {\n * // the disconnection was initiated by the server, you need to manually reconnect\n * console.log(socket.active); // false\n * }\n * // else the socket will automatically try to reconnect\n * console.log(socket.active); // true\n * });\n */\n get active() {\n return !!this.subs;\n }\n /**\n * \"Opens\" the socket.\n *\n * @example\n * const socket = io({\n * autoConnect: false\n * });\n *\n * socket.connect();\n */\n connect() {\n if (this.connected)\n return this;\n this.subEvents();\n if (!this.io[\"_reconnecting\"])\n this.io.open(); // ensure open\n if (\"open\" === this.io._readyState)\n this.onopen();\n return this;\n }\n /**\n * Alias for {@link connect()}.\n */\n open() {\n return this.connect();\n }\n /**\n * Sends a `message` event.\n *\n * This method mimics the WebSocket.send() method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/send\n *\n * @example\n * socket.send(\"hello\");\n *\n * // this is equivalent to\n * socket.emit(\"message\", \"hello\");\n *\n * @return self\n */\n send(...args) {\n args.unshift(\"message\");\n this.emit.apply(this, args);\n return this;\n }\n /**\n * Override `emit`.\n * If the event is in `events`, it's emitted normally.\n *\n * @example\n * socket.emit(\"hello\", \"world\");\n *\n * // all serializable datastructures are supported (no need to call JSON.stringify)\n * socket.emit(\"hello\", 1, \"2\", { 3: [\"4\"], 5: Uint8Array.from([6]) });\n *\n * // with an acknowledgement from the server\n * socket.emit(\"hello\", \"world\", (val) => {\n * // ...\n * });\n *\n * @return self\n */\n emit(ev, ...args) {\n if (RESERVED_EVENTS.hasOwnProperty(ev)) {\n throw new Error('\"' + ev.toString() + '\" is a reserved event name');\n }\n args.unshift(ev);\n if (this._opts.retries && !this.flags.fromQueue && !this.flags.volatile) {\n this._addToQueue(args);\n return this;\n }\n const packet = {\n type: PacketType.EVENT,\n data: args,\n };\n packet.options = {};\n packet.options.compress = this.flags.compress !== false;\n // event ack callback\n if (\"function\" === typeof args[args.length - 1]) {\n const id = this.ids++;\n const ack = args.pop();\n this._registerAckCallback(id, ack);\n packet.id = id;\n }\n const isTransportWritable = this.io.engine &&\n this.io.engine.transport &&\n this.io.engine.transport.writable;\n const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);\n if (discardPacket) {\n }\n else if (this.connected) {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n }\n else {\n this.sendBuffer.push(packet);\n }\n this.flags = {};\n return this;\n }\n /**\n * @private\n */\n _registerAckCallback(id, ack) {\n var _a;\n const timeout = (_a = this.flags.timeout) !== null && _a !== void 0 ? _a : this._opts.ackTimeout;\n if (timeout === undefined) {\n this.acks[id] = ack;\n return;\n }\n // @ts-ignore\n const timer = this.io.setTimeoutFn(() => {\n delete this.acks[id];\n for (let i = 0; i < this.sendBuffer.length; i++) {\n if (this.sendBuffer[i].id === id) {\n this.sendBuffer.splice(i, 1);\n }\n }\n ack.call(this, new Error(\"operation has timed out\"));\n }, timeout);\n this.acks[id] = (...args) => {\n // @ts-ignore\n this.io.clearTimeoutFn(timer);\n ack.apply(this, [null, ...args]);\n };\n }\n /**\n * Emits an event and waits for an acknowledgement\n *\n * @example\n * // without timeout\n * const response = await socket.emitWithAck(\"hello\", \"world\");\n *\n * // with a specific timeout\n * try {\n * const response = await socket.timeout(1000).emitWithAck(\"hello\", \"world\");\n * } catch (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n *\n * @return a Promise that will be fulfilled when the server acknowledges the event\n */\n emitWithAck(ev, ...args) {\n // the timeout flag is optional\n const withErr = this.flags.timeout !== undefined || this._opts.ackTimeout !== undefined;\n return new Promise((resolve, reject) => {\n args.push((arg1, arg2) => {\n if (withErr) {\n return arg1 ? reject(arg1) : resolve(arg2);\n }\n else {\n return resolve(arg1);\n }\n });\n this.emit(ev, ...args);\n });\n }\n /**\n * Add the packet to the queue.\n * @param args\n * @private\n */\n _addToQueue(args) {\n let ack;\n if (typeof args[args.length - 1] === \"function\") {\n ack = args.pop();\n }\n const packet = {\n id: this._queueSeq++,\n tryCount: 0,\n pending: false,\n args,\n flags: Object.assign({ fromQueue: true }, this.flags),\n };\n args.push((err, ...responseArgs) => {\n if (packet !== this._queue[0]) {\n // the packet has already been acknowledged\n return;\n }\n const hasError = err !== null;\n if (hasError) {\n if (packet.tryCount > this._opts.retries) {\n this._queue.shift();\n if (ack) {\n ack(err);\n }\n }\n }\n else {\n this._queue.shift();\n if (ack) {\n ack(null, ...responseArgs);\n }\n }\n packet.pending = false;\n return this._drainQueue();\n });\n this._queue.push(packet);\n this._drainQueue();\n }\n /**\n * Send the first packet of the queue, and wait for an acknowledgement from the server.\n * @param force - whether to resend a packet that has not been acknowledged yet\n *\n * @private\n */\n _drainQueue(force = false) {\n if (!this.connected || this._queue.length === 0) {\n return;\n }\n const packet = this._queue[0];\n if (packet.pending && !force) {\n return;\n }\n packet.pending = true;\n packet.tryCount++;\n this.flags = packet.flags;\n this.emit.apply(this, packet.args);\n }\n /**\n * Sends a packet.\n *\n * @param packet\n * @private\n */\n packet(packet) {\n packet.nsp = this.nsp;\n this.io._packet(packet);\n }\n /**\n * Called upon engine `open`.\n *\n * @private\n */\n onopen() {\n if (typeof this.auth == \"function\") {\n this.auth((data) => {\n this._sendConnectPacket(data);\n });\n }\n else {\n this._sendConnectPacket(this.auth);\n }\n }\n /**\n * Sends a CONNECT packet to initiate the Socket.IO session.\n *\n * @param data\n * @private\n */\n _sendConnectPacket(data) {\n this.packet({\n type: PacketType.CONNECT,\n data: this._pid\n ? Object.assign({ pid: this._pid, offset: this._lastOffset }, data)\n : data,\n });\n }\n /**\n * Called upon engine or manager `error`.\n *\n * @param err\n * @private\n */\n onerror(err) {\n if (!this.connected) {\n this.emitReserved(\"connect_error\", err);\n }\n }\n /**\n * Called upon engine `close`.\n *\n * @param reason\n * @param description\n * @private\n */\n onclose(reason, description) {\n this.connected = false;\n delete this.id;\n this.emitReserved(\"disconnect\", reason, description);\n }\n /**\n * Called with socket packet.\n *\n * @param packet\n * @private\n */\n onpacket(packet) {\n const sameNamespace = packet.nsp === this.nsp;\n if (!sameNamespace)\n return;\n switch (packet.type) {\n case PacketType.CONNECT:\n if (packet.data && packet.data.sid) {\n this.onconnect(packet.data.sid, packet.data.pid);\n }\n else {\n this.emitReserved(\"connect_error\", new Error(\"It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)\"));\n }\n break;\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n this.onevent(packet);\n break;\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n this.onack(packet);\n break;\n case PacketType.DISCONNECT:\n this.ondisconnect();\n break;\n case PacketType.CONNECT_ERROR:\n this.destroy();\n const err = new Error(packet.data.message);\n // @ts-ignore\n err.data = packet.data.data;\n this.emitReserved(\"connect_error\", err);\n break;\n }\n }\n /**\n * Called upon a server event.\n *\n * @param packet\n * @private\n */\n onevent(packet) {\n const args = packet.data || [];\n if (null != packet.id) {\n args.push(this.ack(packet.id));\n }\n if (this.connected) {\n this.emitEvent(args);\n }\n else {\n this.receiveBuffer.push(Object.freeze(args));\n }\n }\n emitEvent(args) {\n if (this._anyListeners && this._anyListeners.length) {\n const listeners = this._anyListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, args);\n }\n }\n super.emit.apply(this, args);\n if (this._pid && args.length && typeof args[args.length - 1] === \"string\") {\n this._lastOffset = args[args.length - 1];\n }\n }\n /**\n * Produces an ack callback to emit with an event.\n *\n * @private\n */\n ack(id) {\n const self = this;\n let sent = false;\n return function (...args) {\n // prevent double callbacks\n if (sent)\n return;\n sent = true;\n self.packet({\n type: PacketType.ACK,\n id: id,\n data: args,\n });\n };\n }\n /**\n * Called upon a server acknowlegement.\n *\n * @param packet\n * @private\n */\n onack(packet) {\n const ack = this.acks[packet.id];\n if (\"function\" === typeof ack) {\n ack.apply(this, packet.data);\n delete this.acks[packet.id];\n }\n else {\n }\n }\n /**\n * Called upon server connect.\n *\n * @private\n */\n onconnect(id, pid) {\n this.id = id;\n this.recovered = pid && this._pid === pid;\n this._pid = pid; // defined only if connection state recovery is enabled\n this.connected = true;\n this.emitBuffered();\n this.emitReserved(\"connect\");\n this._drainQueue(true);\n }\n /**\n * Emit buffered events (received and emitted).\n *\n * @private\n */\n emitBuffered() {\n this.receiveBuffer.forEach((args) => this.emitEvent(args));\n this.receiveBuffer = [];\n this.sendBuffer.forEach((packet) => {\n this.notifyOutgoingListeners(packet);\n this.packet(packet);\n });\n this.sendBuffer = [];\n }\n /**\n * Called upon server disconnect.\n *\n * @private\n */\n ondisconnect() {\n this.destroy();\n this.onclose(\"io server disconnect\");\n }\n /**\n * Called upon forced client/server side disconnections,\n * this method ensures the manager stops tracking us and\n * that reconnections don't get triggered for this.\n *\n * @private\n */\n destroy() {\n if (this.subs) {\n // clean subscriptions to avoid reconnections\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs = undefined;\n }\n this.io[\"_destroy\"](this);\n }\n /**\n * Disconnects the socket manually. In that case, the socket will not try to reconnect.\n *\n * If this is the last active Socket instance of the {@link Manager}, the low-level connection will be closed.\n *\n * @example\n * const socket = io();\n *\n * socket.on(\"disconnect\", (reason) => {\n * // console.log(reason); prints \"io client disconnect\"\n * });\n *\n * socket.disconnect();\n *\n * @return self\n */\n disconnect() {\n if (this.connected) {\n this.packet({ type: PacketType.DISCONNECT });\n }\n // remove socket from pool\n this.destroy();\n if (this.connected) {\n // fire events\n this.onclose(\"io client disconnect\");\n }\n return this;\n }\n /**\n * Alias for {@link disconnect()}.\n *\n * @return self\n */\n close() {\n return this.disconnect();\n }\n /**\n * Sets the compress flag.\n *\n * @example\n * socket.compress(false).emit(\"hello\");\n *\n * @param compress - if `true`, compresses the sending data\n * @return self\n */\n compress(compress) {\n this.flags.compress = compress;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the event message will be dropped when this socket is not\n * ready to send messages.\n *\n * @example\n * socket.volatile.emit(\"hello\"); // the server may or may not receive it\n *\n * @returns self\n */\n get volatile() {\n this.flags.volatile = true;\n return this;\n }\n /**\n * Sets a modifier for a subsequent event emission that the callback will be called with an error when the\n * given number of milliseconds have elapsed without an acknowledgement from the server:\n *\n * @example\n * socket.timeout(5000).emit(\"my-event\", (err) => {\n * if (err) {\n * // the server did not acknowledge the event in the given delay\n * }\n * });\n *\n * @returns self\n */\n timeout(timeout) {\n this.flags.timeout = timeout;\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * @example\n * socket.onAny((event, ...args) => {\n * console.log(`got ${event}`);\n * });\n *\n * @param listener\n */\n onAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * @example\n * socket.prependAny((event, ...args) => {\n * console.log(`got event ${event}`);\n * });\n *\n * @param listener\n */\n prependAny(listener) {\n this._anyListeners = this._anyListeners || [];\n this._anyListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`got event ${event}`);\n * }\n *\n * socket.onAny(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAny(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAny();\n *\n * @param listener\n */\n offAny(listener) {\n if (!this._anyListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAny() {\n return this._anyListeners || [];\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.onAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n onAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.push(listener);\n return this;\n }\n /**\n * Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the\n * callback. The listener is added to the beginning of the listeners array.\n *\n * Note: acknowledgements sent to the server are not included.\n *\n * @example\n * socket.prependAnyOutgoing((event, ...args) => {\n * console.log(`sent event ${event}`);\n * });\n *\n * @param listener\n */\n prependAnyOutgoing(listener) {\n this._anyOutgoingListeners = this._anyOutgoingListeners || [];\n this._anyOutgoingListeners.unshift(listener);\n return this;\n }\n /**\n * Removes the listener that will be fired when any event is emitted.\n *\n * @example\n * const catchAllListener = (event, ...args) => {\n * console.log(`sent event ${event}`);\n * }\n *\n * socket.onAnyOutgoing(catchAllListener);\n *\n * // remove a specific listener\n * socket.offAnyOutgoing(catchAllListener);\n *\n * // or remove all listeners\n * socket.offAnyOutgoing();\n *\n * @param [listener] - the catch-all listener (optional)\n */\n offAnyOutgoing(listener) {\n if (!this._anyOutgoingListeners) {\n return this;\n }\n if (listener) {\n const listeners = this._anyOutgoingListeners;\n for (let i = 0; i < listeners.length; i++) {\n if (listener === listeners[i]) {\n listeners.splice(i, 1);\n return this;\n }\n }\n }\n else {\n this._anyOutgoingListeners = [];\n }\n return this;\n }\n /**\n * Returns an array of listeners that are listening for any event that is specified. This array can be manipulated,\n * e.g. to remove listeners.\n */\n listenersAnyOutgoing() {\n return this._anyOutgoingListeners || [];\n }\n /**\n * Notify the listeners for each packet sent\n *\n * @param packet\n *\n * @private\n */\n notifyOutgoingListeners(packet) {\n if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {\n const listeners = this._anyOutgoingListeners.slice();\n for (const listener of listeners) {\n listener.apply(this, packet.data);\n }\n }\n }\n}\n","import { Emitter } from \"@socket.io/component-emitter\";\nimport { deconstructPacket, reconstructPacket } from \"./binary.js\";\nimport { isBinary, hasBinary } from \"./is-binary.js\";\n/**\n * These strings must not be used as event names, as they have a special meaning.\n */\nconst RESERVED_EVENTS = [\n \"connect\",\n \"connect_error\",\n \"disconnect\",\n \"disconnecting\",\n \"newListener\",\n \"removeListener\", // used by the Node.js EventEmitter\n];\n/**\n * Protocol version.\n *\n * @public\n */\nexport const protocol = 5;\nexport var PacketType;\n(function (PacketType) {\n PacketType[PacketType[\"CONNECT\"] = 0] = \"CONNECT\";\n PacketType[PacketType[\"DISCONNECT\"] = 1] = \"DISCONNECT\";\n PacketType[PacketType[\"EVENT\"] = 2] = \"EVENT\";\n PacketType[PacketType[\"ACK\"] = 3] = \"ACK\";\n PacketType[PacketType[\"CONNECT_ERROR\"] = 4] = \"CONNECT_ERROR\";\n PacketType[PacketType[\"BINARY_EVENT\"] = 5] = \"BINARY_EVENT\";\n PacketType[PacketType[\"BINARY_ACK\"] = 6] = \"BINARY_ACK\";\n})(PacketType || (PacketType = {}));\n/**\n * A socket.io Encoder instance\n */\nexport class Encoder {\n /**\n * Encoder constructor\n *\n * @param {function} replacer - custom replacer to pass down to JSON.parse\n */\n constructor(replacer) {\n this.replacer = replacer;\n }\n /**\n * Encode a packet as a single string if non-binary, or as a\n * buffer sequence, depending on packet type.\n *\n * @param {Object} obj - packet object\n */\n encode(obj) {\n if (obj.type === PacketType.EVENT || obj.type === PacketType.ACK) {\n if (hasBinary(obj)) {\n return this.encodeAsBinary({\n type: obj.type === PacketType.EVENT\n ? PacketType.BINARY_EVENT\n : PacketType.BINARY_ACK,\n nsp: obj.nsp,\n data: obj.data,\n id: obj.id,\n });\n }\n }\n return [this.encodeAsString(obj)];\n }\n /**\n * Encode packet as string.\n */\n encodeAsString(obj) {\n // first is type\n let str = \"\" + obj.type;\n // attachments if we have them\n if (obj.type === PacketType.BINARY_EVENT ||\n obj.type === PacketType.BINARY_ACK) {\n str += obj.attachments + \"-\";\n }\n // if we have a namespace other than `/`\n // we append it followed by a comma `,`\n if (obj.nsp && \"/\" !== obj.nsp) {\n str += obj.nsp + \",\";\n }\n // immediately followed by the id\n if (null != obj.id) {\n str += obj.id;\n }\n // json data\n if (null != obj.data) {\n str += JSON.stringify(obj.data, this.replacer);\n }\n return str;\n }\n /**\n * Encode packet as 'buffer sequence' by removing blobs, and\n * deconstructing packet into object with placeholders and\n * a list of buffers.\n */\n encodeAsBinary(obj) {\n const deconstruction = deconstructPacket(obj);\n const pack = this.encodeAsString(deconstruction.packet);\n const buffers = deconstruction.buffers;\n buffers.unshift(pack); // add packet info to beginning of data list\n return buffers; // write all the buffers\n }\n}\n// see https://stackoverflow.com/questions/8511281/check-if-a-value-is-an-object-in-javascript\nfunction isObject(value) {\n return Object.prototype.toString.call(value) === \"[object Object]\";\n}\n/**\n * A socket.io Decoder instance\n *\n * @return {Object} decoder\n */\nexport class Decoder extends Emitter {\n /**\n * Decoder constructor\n *\n * @param {function} reviver - custom reviver to pass down to JSON.stringify\n */\n constructor(reviver) {\n super();\n this.reviver = reviver;\n }\n /**\n * Decodes an encoded packet string into packet JSON.\n *\n * @param {String} obj - encoded packet\n */\n add(obj) {\n let packet;\n if (typeof obj === \"string\") {\n if (this.reconstructor) {\n throw new Error(\"got plaintext data when reconstructing a packet\");\n }\n packet = this.decodeString(obj);\n const isBinaryEvent = packet.type === PacketType.BINARY_EVENT;\n if (isBinaryEvent || packet.type === PacketType.BINARY_ACK) {\n packet.type = isBinaryEvent ? PacketType.EVENT : PacketType.ACK;\n // binary packet's json\n this.reconstructor = new BinaryReconstructor(packet);\n // no attachments, labeled binary but no binary data to follow\n if (packet.attachments === 0) {\n super.emitReserved(\"decoded\", packet);\n }\n }\n else {\n // non-binary full packet\n super.emitReserved(\"decoded\", packet);\n }\n }\n else if (isBinary(obj) || obj.base64) {\n // raw binary data\n if (!this.reconstructor) {\n throw new Error(\"got binary data when not reconstructing a packet\");\n }\n else {\n packet = this.reconstructor.takeBinaryData(obj);\n if (packet) {\n // received final buffer\n this.reconstructor = null;\n super.emitReserved(\"decoded\", packet);\n }\n }\n }\n else {\n throw new Error(\"Unknown type: \" + obj);\n }\n }\n /**\n * Decode a packet String (JSON data)\n *\n * @param {String} str\n * @return {Object} packet\n */\n decodeString(str) {\n let i = 0;\n // look up type\n const p = {\n type: Number(str.charAt(0)),\n };\n if (PacketType[p.type] === undefined) {\n throw new Error(\"unknown packet type \" + p.type);\n }\n // look up attachments if type binary\n if (p.type === PacketType.BINARY_EVENT ||\n p.type === PacketType.BINARY_ACK) {\n const start = i + 1;\n while (str.charAt(++i) !== \"-\" && i != str.length) { }\n const buf = str.substring(start, i);\n if (buf != Number(buf) || str.charAt(i) !== \"-\") {\n throw new Error(\"Illegal attachments\");\n }\n p.attachments = Number(buf);\n }\n // look up namespace (if any)\n if (\"/\" === str.charAt(i + 1)) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (\",\" === c)\n break;\n if (i === str.length)\n break;\n }\n p.nsp = str.substring(start, i);\n }\n else {\n p.nsp = \"/\";\n }\n // look up id\n const next = str.charAt(i + 1);\n if (\"\" !== next && Number(next) == next) {\n const start = i + 1;\n while (++i) {\n const c = str.charAt(i);\n if (null == c || Number(c) != c) {\n --i;\n break;\n }\n if (i === str.length)\n break;\n }\n p.id = Number(str.substring(start, i + 1));\n }\n // look up json data\n if (str.charAt(++i)) {\n const payload = this.tryParse(str.substr(i));\n if (Decoder.isPayloadValid(p.type, payload)) {\n p.data = payload;\n }\n else {\n throw new Error(\"invalid payload\");\n }\n }\n return p;\n }\n tryParse(str) {\n try {\n return JSON.parse(str, this.reviver);\n }\n catch (e) {\n return false;\n }\n }\n static isPayloadValid(type, payload) {\n switch (type) {\n case PacketType.CONNECT:\n return isObject(payload);\n case PacketType.DISCONNECT:\n return payload === undefined;\n case PacketType.CONNECT_ERROR:\n return typeof payload === \"string\" || isObject(payload);\n case PacketType.EVENT:\n case PacketType.BINARY_EVENT:\n return (Array.isArray(payload) &&\n (typeof payload[0] === \"number\" ||\n (typeof payload[0] === \"string\" &&\n RESERVED_EVENTS.indexOf(payload[0]) === -1)));\n case PacketType.ACK:\n case PacketType.BINARY_ACK:\n return Array.isArray(payload);\n }\n }\n /**\n * Deallocates a parser's resources\n */\n destroy() {\n if (this.reconstructor) {\n this.reconstructor.finishedReconstruction();\n this.reconstructor = null;\n }\n }\n}\n/**\n * A manager of a binary event's 'buffer sequence'. Should\n * be constructed whenever a packet of type BINARY_EVENT is\n * decoded.\n *\n * @param {Object} packet\n * @return {BinaryReconstructor} initialized reconstructor\n */\nclass BinaryReconstructor {\n constructor(packet) {\n this.packet = packet;\n this.buffers = [];\n this.reconPack = packet;\n }\n /**\n * Method to be called when binary data received from connection\n * after a BINARY_EVENT packet.\n *\n * @param {Buffer | ArrayBuffer} binData - the raw binary data received\n * @return {null | Object} returns null if more binary data is expected or\n * a reconstructed packet object if all buffers have been received.\n */\n takeBinaryData(binData) {\n this.buffers.push(binData);\n if (this.buffers.length === this.reconPack.attachments) {\n // done with buffer list\n const packet = reconstructPacket(this.reconPack, this.buffers);\n this.finishedReconstruction();\n return packet;\n }\n return null;\n }\n /**\n * Cleans up binary packet reconstruction variables.\n */\n finishedReconstruction() {\n this.reconPack = null;\n this.buffers = [];\n }\n}\n","import { isBinary } from \"./is-binary.js\";\n/**\n * Replaces every Buffer | ArrayBuffer | Blob | File in packet with a numbered placeholder.\n *\n * @param {Object} packet - socket.io event packet\n * @return {Object} with deconstructed packet and list of buffers\n * @public\n */\nexport function deconstructPacket(packet) {\n const buffers = [];\n const packetData = packet.data;\n const pack = packet;\n pack.data = _deconstructPacket(packetData, buffers);\n pack.attachments = buffers.length; // number of binary 'attachments'\n return { packet: pack, buffers: buffers };\n}\nfunction _deconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (isBinary(data)) {\n const placeholder = { _placeholder: true, num: buffers.length };\n buffers.push(data);\n return placeholder;\n }\n else if (Array.isArray(data)) {\n const newData = new Array(data.length);\n for (let i = 0; i < data.length; i++) {\n newData[i] = _deconstructPacket(data[i], buffers);\n }\n return newData;\n }\n else if (typeof data === \"object\" && !(data instanceof Date)) {\n const newData = {};\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n newData[key] = _deconstructPacket(data[key], buffers);\n }\n }\n return newData;\n }\n return data;\n}\n/**\n * Reconstructs a binary packet from its placeholder packet and buffers\n *\n * @param {Object} packet - event packet with placeholders\n * @param {Array} buffers - binary buffers to put in placeholder positions\n * @return {Object} reconstructed packet\n * @public\n */\nexport function reconstructPacket(packet, buffers) {\n packet.data = _reconstructPacket(packet.data, buffers);\n delete packet.attachments; // no longer useful\n return packet;\n}\nfunction _reconstructPacket(data, buffers) {\n if (!data)\n return data;\n if (data && data._placeholder === true) {\n const isIndexValid = typeof data.num === \"number\" &&\n data.num >= 0 &&\n data.num < buffers.length;\n if (isIndexValid) {\n return buffers[data.num]; // appropriate buffer (should be natural order anyway)\n }\n else {\n throw new Error(\"illegal attachments\");\n }\n }\n else if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = _reconstructPacket(data[i], buffers);\n }\n }\n else if (typeof data === \"object\") {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n data[key] = _reconstructPacket(data[key], buffers);\n }\n }\n }\n return data;\n}\n","const withNativeArrayBuffer = typeof ArrayBuffer === \"function\";\nconst isView = (obj) => {\n return typeof ArrayBuffer.isView === \"function\"\n ? ArrayBuffer.isView(obj)\n : obj.buffer instanceof ArrayBuffer;\n};\nconst toString = Object.prototype.toString;\nconst withNativeBlob = typeof Blob === \"function\" ||\n (typeof Blob !== \"undefined\" &&\n toString.call(Blob) === \"[object BlobConstructor]\");\nconst withNativeFile = typeof File === \"function\" ||\n (typeof File !== \"undefined\" &&\n toString.call(File) === \"[object FileConstructor]\");\n/**\n * Returns true if obj is a Buffer, an ArrayBuffer, a Blob or a File.\n *\n * @private\n */\nexport function isBinary(obj) {\n return ((withNativeArrayBuffer && (obj instanceof ArrayBuffer || isView(obj))) ||\n (withNativeBlob && obj instanceof Blob) ||\n (withNativeFile && obj instanceof File));\n}\nexport function hasBinary(obj, toJSON) {\n if (!obj || typeof obj !== \"object\") {\n return false;\n }\n if (Array.isArray(obj)) {\n for (let i = 0, l = obj.length; i < l; i++) {\n if (hasBinary(obj[i])) {\n return true;\n }\n }\n return false;\n }\n if (isBinary(obj)) {\n return true;\n }\n if (obj.toJSON &&\n typeof obj.toJSON === \"function\" &&\n arguments.length === 1) {\n return hasBinary(obj.toJSON(), true);\n }\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key) && hasBinary(obj[key])) {\n return true;\n }\n }\n return false;\n}\n","export function on(obj, ev, fn) {\n obj.on(ev, fn);\n return function subDestroy() {\n obj.off(ev, fn);\n };\n}\n","/**\n * Initialize backoff timer with `opts`.\n *\n * - `min` initial timeout in milliseconds [100]\n * - `max` max timeout [10000]\n * - `jitter` [0]\n * - `factor` [2]\n *\n * @param {Object} opts\n * @api public\n */\nexport function Backoff(opts) {\n opts = opts || {};\n this.ms = opts.min || 100;\n this.max = opts.max || 10000;\n this.factor = opts.factor || 2;\n this.jitter = opts.jitter > 0 && opts.jitter <= 1 ? opts.jitter : 0;\n this.attempts = 0;\n}\n/**\n * Return the backoff duration.\n *\n * @return {Number}\n * @api public\n */\nBackoff.prototype.duration = function () {\n var ms = this.ms * Math.pow(this.factor, this.attempts++);\n if (this.jitter) {\n var rand = Math.random();\n var deviation = Math.floor(rand * this.jitter * ms);\n ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation;\n }\n return Math.min(ms, this.max) | 0;\n};\n/**\n * Reset the number of attempts.\n *\n * @api public\n */\nBackoff.prototype.reset = function () {\n this.attempts = 0;\n};\n/**\n * Set the minimum duration\n *\n * @api public\n */\nBackoff.prototype.setMin = function (min) {\n this.ms = min;\n};\n/**\n * Set the maximum duration\n *\n * @api public\n */\nBackoff.prototype.setMax = function (max) {\n this.max = max;\n};\n/**\n * Set the jitter\n *\n * @api public\n */\nBackoff.prototype.setJitter = function (jitter) {\n this.jitter = jitter;\n};\n"],"names":["$8a3662315a48cdbd$var$TEXT_ENCODER","$0736208648dc8bae$var$TEXT_DECODER","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$b417fd17fc84e4e3$export$c169aefb7330cccb","create","$b417fd17fc84e4e3$export$47791e8004edd485","keys","forEach","key","$b417fd17fc84e4e3$export$c718b5840781f8a7","type","data","$8a3662315a48cdbd$var$withNativeBlob","Blob","prototype","toString","call","$8a3662315a48cdbd$var$withNativeArrayBuffer","ArrayBuffer","$8a3662315a48cdbd$var$isView","obj","isView","buffer","$8a3662315a48cdbd$export$57852049361a8e62","supportsBinary","callback","$8a3662315a48cdbd$var$encodeBlobAsBase64","fileReader","FileReader","onload","content","result","split","readAsDataURL","$8a3662315a48cdbd$var$toArray","Uint8Array","byteOffset","byteLength","$7f4e842ae29bcbc5$var$chars","$7f4e842ae29bcbc5$var$lookup","i","length","charCodeAt","$7f4e842ae29bcbc5$export$2f872c0f2117be69","base64","bufferLength","len","p","encoded1","encoded2","encoded3","encoded4","arraybuffer","bytes","$a9bf3da28855a34f$var$withNativeArrayBuffer","$a9bf3da28855a34f$export$4647901878f33f31","encodedPacket","binaryType","$a9bf3da28855a34f$var$mapBinary","charAt","$a9bf3da28855a34f$var$decodeBase64Packet","substring","packetType","decoded","$0736208648dc8bae$export$144d64fe58dad441","packets","encodedPackets","Array","count","packet","join","String","$0736208648dc8bae$export$d10cc2e7f7566a2d","encodedPayload","decodedPacket","push","$8ff0082eecb39b62$export$4293555f241ae35a","$8ff0082eecb39b62$var$mixin","on","addEventListener","event","fn","_callbacks","once","off","apply","arguments","removeListener","removeAllListeners","removeEventListener","cb","callbacks","splice","emit","args","slice","emitReserved","listeners","hasListeners","$26bf9c4279db2ef0$export$394f9358f6231289","self","window","Function","$4028d5a20a4526d1$export$357523c63a2253b9","attr","reduce","acc","k","hasOwnProperty","$4028d5a20a4526d1$var$NATIVE_SET_TIMEOUT","setTimeout","$4028d5a20a4526d1$var$NATIVE_CLEAR_TIMEOUT","clearTimeout","$4028d5a20a4526d1$export$2f67576668b97183","opts","useNativeTimers","setTimeoutFn","bind","clearTimeoutFn","$4a78f487f5bb98d8$var$TransportError","Error","constructor","reason","description","context","$4a78f487f5bb98d8$export$86495b081fef8e52","writable","query","socket","onError","open","readyState","doOpen","close","doClose","onClose","send","write","onOpen","onData","onPacket","details","pause","onPause","createUri","schema","_hostname","_port","path","_query","hostname","indexOf","port","secure","Number","encodedQuery","str","encodeURIComponent","$a3bbf5b17719daf1$var$alphabet","$a3bbf5b17719daf1$var$map","$a3bbf5b17719daf1$var$seed","$a3bbf5b17719daf1$var$i","$a3bbf5b17719daf1$var$prev","$a3bbf5b17719daf1$export$c564cdbbe6da493","num","encoded","Math","floor","$a3bbf5b17719daf1$export$5bb64b92cb4135a","now","Date","$ef3f42a25dd224af$var$value","XMLHttpRequest","err","$ef3f42a25dd224af$export$5235bbd4a1ef06e","$fb8e645f3bad3d56$export$a2d42eb087c10497","xdomain","concat","$56534be56e5aa809$var$empty","$56534be56e5aa809$var$hasXHR2","xhr","responseType","$56534be56e5aa809$export$7fa6c5b6f8193917","uri","method","undefined","_a","xd","extraHeaders","setDisableHeaderCheck","setRequestHeader","cookieJar","addCookies","withCredentials","requestTimeout","timeout","onreadystatechange","parseCookies","status","onLoad","document","index","requestsCount","requests","cleanup","fromError","abort","responseText","attachEvent","$56534be56e5aa809$var$unloadHandler","terminationEvent","$93862213c34af1ff$export$bdd553fddd433dcb","isPromiseAvailable","Promise","resolve","then","$93862213c34af1ff$export$3909fb301d3dc8c9","WebSocket","MozWebSocket","$eeb0961446aae8e3$export$6100ba28696e12de","uint8","tmp","extraBytes","parts","len2","$eeb0961446aae8e3$var$encodeChunk","start","end","output","$eeb0961446aae8e3$var$lookup","$7221566bd4d49f44$export$aafa59e2e03f2942","$7221566bd4d49f44$export$68d8715fc104d294","$1e4e6e6cc3958162$export$84d4095e16c6fc19","$eeb0961446aae8e3$var$revLookup","$eeb0961446aae8e3$var$Arr","$eeb0961446aae8e3$var$code","$eeb0961446aae8e3$var$i","$eeb0961446aae8e3$var$len","offset","isLE","mLen","nBytes","m","eLen","eMax","eBias","nBits","d","NaN","Infinity","pow","value","c","rt","isNaN","abs","log","LN2","$51861dfc7ca9d588$var$customInspectSymbol","Symbol","$51861dfc7ca9d588$var$createBuffer","RangeError","buf","setPrototypeOf","$51861dfc7ca9d588$var$Buffer","arg","encodingOrOffset","TypeError","$51861dfc7ca9d588$var$allocUnsafe","$51861dfc7ca9d588$var$from","$51861dfc7ca9d588$var$fromString","string","encoding","isEncoding","$51861dfc7ca9d588$var$byteLength","actual","$51861dfc7ca9d588$var$fromArrayView","arrayView","$51861dfc7ca9d588$var$isInstance","copy","$51861dfc7ca9d588$var$fromArrayBuffer","$51861dfc7ca9d588$var$fromArrayLike","SharedArrayBuffer","valueOf","from","b","$51861dfc7ca9d588$var$fromObject","isBuffer","$51861dfc7ca9d588$var$checked","isArray","toPrimitive","$51861dfc7ca9d588$var$assertSize","size","array","mustMatch","loweredCase","$51861dfc7ca9d588$var$utf8ToBytes","$51861dfc7ca9d588$var$base64ToBytes","toLowerCase","$51861dfc7ca9d588$var$slowToString","$51861dfc7ca9d588$var$hexSlice","out","$51861dfc7ca9d588$var$hexSliceLookupTable","$51861dfc7ca9d588$var$utf8Slice","$51861dfc7ca9d588$var$asciiSlice","ret","min","fromCharCode","$51861dfc7ca9d588$var$latin1Slice","$51861dfc7ca9d588$var$utf16leSlice","res","$51861dfc7ca9d588$var$swap","$51861dfc7ca9d588$var$bidirectionalIndexOf","val","dir","$51861dfc7ca9d588$var$arrayIndexOf","lastIndexOf","arr","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","j","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","$51861dfc7ca9d588$var$decodeCodePointsArray","codePoints","$51861dfc7ca9d588$var$checkOffset","ext","$51861dfc7ca9d588$var$checkInt","max","$51861dfc7ca9d588$var$wrtBigUInt64LE","$51861dfc7ca9d588$var$checkIntBI","lo","BigInt","hi","$51861dfc7ca9d588$var$wrtBigUInt64BE","$51861dfc7ca9d588$var$checkIEEE754","$51861dfc7ca9d588$var$writeFloat","littleEndian","noAssert","$51861dfc7ca9d588$var$writeDouble","TYPED_ARRAY_SUPPORT","$51861dfc7ca9d588$var$typedArraySupport","proto","foo","console","error","poolSize","alloc","fill","allocUnsafe","allocUnsafeSlow","_isBuffer","compare","a","x","y","list","pos","swap16","swap32","swap64","toLocaleString","equals","inspect","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","remaining","$51861dfc7ca9d588$var$hexWrite","strLen","parsed","parseInt","substr","$51861dfc7ca9d588$var$blitBuffer","$51861dfc7ca9d588$var$asciiToBytes","byteArray","$51861dfc7ca9d588$var$utf16leToBytes","units","toJSON","_arr","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","$51861dfc7ca9d588$var$defineBigIntMethod","$51861dfc7ca9d588$var$validateNumber","first","last","$51861dfc7ca9d588$var$boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","maxBytes","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","code","$51861dfc7ca9d588$var$errors","$51861dfc7ca9d588$var$E","sym","getMessage","Base","name","stack","message","$51861dfc7ca9d588$var$addNumericalSeparator","range","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","$51861dfc7ca9d588$var$INVALID_BASE64_RE","leadSurrogate","$eeb0961446aae8e3$export$d622b2ad8d90c771","b64","lens","$eeb0961446aae8e3$var$getLens","validLen","placeHoldersLen","curByte","$51861dfc7ca9d588$var$base64clean","src","dst","alphabet","table","i16","$51861dfc7ca9d588$var$BufferBigIntNotDefined","$9ab7b46a38551fa4$var$isReactNative","navigator","product","$c1f726e793763466$export$46dec00755c1153b","websocket","forceBase64","check","protocols","headers","ws","addEventListeners","onopen","autoUnref","_socket","unref","onclose","closeEvent","onmessage","ev","onerror","lastPacket","timestampRequests","timestampParam","webtransport","WebTransport","transport","transportOptions","closed","catch","ready","createBidirectionalStream","stream","binaryFlag","reader","readable","getReader","writer","getWriter","done","isBinary","TextDecoder","isPlainBinary","decode","handshake","sid","TextEncoder","encode","arrayBuffer","of","polling","location","isSSL","protocol","poll","total","doPoll","doWrite","request","assign","req","xhrStatus","pollXhr","$f603c1892ffe9e8b$var$re","$f603c1892ffe9e8b$var$parts","$f603c1892ffe9e8b$export$98e6a39c04603d36","exec","source","host","authority","ipv6uri","pathNames","$f603c1892ffe9e8b$var$pathNames","names","queryKey","$f603c1892ffe9e8b$var$queryKey","$0","$1","$2","$787375aed2c43820$export$4798917dbf149b79","writeBuffer","transports","prevBufferLen","agent","upgrade","rememberUpgrade","addTrailingSlash","rejectUnauthorized","perMessageDeflate","threshold","closeOnBeforeunload","qs","qry","pairs","l","pair","decodeURIComponent","id","upgrades","pingInterval","pingTimeout","pingTimeoutTimer","beforeunloadEventListener","offlineEventListener","createTransport","EIO","priorWebsocketSuccess","shift","setTransport","onDrain","probe","failed","onTransportOpen","upgrading","flush","freezeTransport","onTransportClose","onupgrade","to","onHandshake","JSON","parse","resetPingTimeout","sendPacket","filterUpgrades","maxPayload","getWritablePackets","shouldCheckPayloadSize","payloadSize","$4028d5a20a4526d1$var$utf8Length","ceil","options","compress","cleanupAndClose","waitForUpgrade","filteredUpgrades","$1e4e6e6cc3958162$exports","$1e4e6e6cc3958162$export$a51d6b395ff4c65a","$1e4e6e6cc3958162$export$a50aceb0e02a00aa","$1e4e6e6cc3958162$export$f9de6ca0bc043724","$ab192732c3780e48$var$withNativeArrayBuffer","$ab192732c3780e48$var$isView","$ab192732c3780e48$var$toString","$ab192732c3780e48$var$withNativeBlob","$ab192732c3780e48$var$withNativeFile","File","$ab192732c3780e48$export$37488ff1135b1696","$1e4e6e6cc3958162$var$RESERVED_EVENTS","PacketType","replacer","EVENT","ACK","$ab192732c3780e48$export$5234c529abdb5610","encodeAsBinary","BINARY_EVENT","BINARY_ACK","nsp","encodeAsString","attachments","stringify","deconstruction","buffers","packetData","pack","$67dd224d5a131c9e$var$_deconstructPacket","placeholder","_placeholder","newData","unshift","$1e4e6e6cc3958162$var$isObject","reviver","add","reconstructor","decodeString","isBinaryEvent","$1e4e6e6cc3958162$var$BinaryReconstructor","takeBinaryData","next","payload","tryParse","isPayloadValid","CONNECT","DISCONNECT","CONNECT_ERROR","destroy","finishedReconstruction","reconPack","binData","$67dd224d5a131c9e$var$_reconstructPacket","isIndexValid","$05fb321879039179$export$af631764ddc44097","$fcab49da21a6222a$var$RESERVED_EVENTS","freeze","connect","connect_error","disconnect","disconnecting","newListener","$fcab49da21a6222a$export$4798917dbf149b79","io","connected","recovered","receiveBuffer","sendBuffer","_queue","_queueSeq","ids","acks","flags","auth","_opts","_autoConnect","disconnected","subEvents","subs","onpacket","active","_readyState","retries","fromQueue","volatile","_addToQueue","ack","pop","_registerAckCallback","isTransportWritable","engine","discardPacket","notifyOutgoingListeners","ackTimeout","timer","emitWithAck","withErr","reject","arg1","arg2","tryCount","pending","responseArgs","hasError","_drainQueue","force","_packet","_sendConnectPacket","_pid","pid","_lastOffset","sameNamespace","onconnect","onevent","onack","ondisconnect","emitEvent","_anyListeners","listener","sent","emitBuffered","subDestroy","onAny","prependAny","offAny","listenersAny","onAnyOutgoing","_anyOutgoingListeners","prependAnyOutgoing","offAnyOutgoing","listenersAnyOutgoing","$3f0f0eae169725b6$export$2d38012449449c89","ms","factor","jitter","attempts","duration","rand","random","deviation","reset","setMin","setMax","setJitter","$b78f1c3cb524f77d$export$d0d38e7dec7a1a61","nsps","reconnection","reconnectionAttempts","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","_parser","parser","encoder","Encoder","decoder","Decoder","autoConnect","_reconnection","_reconnectionAttempts","_reconnectionDelay","_randomizationFactor","_reconnectionDelayMax","_timeout","maybeReconnectOnOpen","_reconnecting","reconnect","skipReconnect","openSubDestroy","errorSub","onping","ondata","ondecoded","_destroy","_close","delay","onreconnect","attempt","$523eaa49d3f99bf8$var$cache","$523eaa49d3f99bf8$export$841407ceb083bd74","loc","test","ipv6","href","newConnection","forceNew","multiplex","Manager","Socket","$ee25ea9450f64e46$var$socket","tank_info","querySelector","innerHTML"],"version":3,"file":"index.5e4f646d.js.map"} \ No newline at end of file diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..d861e45 --- /dev/null +++ b/dist/index.html @@ -0,0 +1 @@ +openarras

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c03308b..65a0cfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,2004 @@ "name": "openarras", "version": "0.1.0", "license": "Apache-2.0", + "dependencies": { + "express": "^4.18.2", + "socket.io": "^4.7.1", + "socket.io-client": "^4.7.1" + }, "devDependencies": { - "mocha": "^10.2.0" + "buffer": "^6.0.3", + "mocha": "^10.2.0", + "parcel": "^2.9.3" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@lezer/common": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", + "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==", + "dev": true + }, + "node_modules/@lezer/lr": { + "version": "0.15.8", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", + "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "dev": true, + "dependencies": { + "@lezer/common": "^0.15.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.7.11.tgz", + "integrity": "sha512-r6+vYq2vKzE+vgj/rNVRMwAevq0+ZR9IeMFIqcSga+wMtMdXQ27KqQ7uS99/yXASg29bos7yHP3yk4x6Iio0lw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.7.11.tgz", + "integrity": "sha512-jhj1aB4K8ycRL1HOQT5OtzlqOq70jxUQEWRN9Gqh3TIDN30dxXtiHi6EWF516tzw6v2+3QqhDMJh8O6DtTGG8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.7.11.tgz", + "integrity": "sha512-dHfLFVSrw/v5X5lkwp0Vl7+NFpEeEYKfMG2DpdFJnnG1RgHQZngZxCaBagFoaJGykRpd2DYF1AeuXBFrAUAXfw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.7.11.tgz", + "integrity": "sha512-7xGEfPPbmVJWcY2Nzqo11B9Nfxs+BAsiiaY/OcT4aaTDdykKeCjvKMQJA3KXCtZ1AtiC9ljyGLi+BfUwdulY5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.7.11.tgz", + "integrity": "sha512-vUKI3JrREMQsXX8q0Eq5zX2FlYCKWMmLiCyyJNfZK0Uyf14RBg9VtB3ObQ41b4swYh2EWaltasWVe93Y8+KDng==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.7.11.tgz", + "integrity": "sha512-BJwkHlSUgtB+Ei52Ai32M1AOMerSlzyIGA/KC4dAGL+GGwVMdwG8HGCOA2TxP3KjhbgDPMYkv7bt/NmOmRIFng==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "dev": true, + "dependencies": { + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", + "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", + "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", + "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", + "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", + "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", + "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@parcel/bundler-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.9.3.tgz", + "integrity": "sha512-JjJK8dq39/UO/MWI/4SCbB1t/qgpQRFnFDetAAAezQ8oN++b24u1fkMDa/xqQGjbuPmGeTds5zxGgYs7id7PYg==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/graph": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/cache": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.9.3.tgz", + "integrity": "sha512-Bj/H2uAJJSXtysG7E/x4EgTrE2hXmm7td/bc97K8M9N7+vQjxf7xb0ebgqe84ePVMkj4MVQSMEJkEucXVx4b0Q==", + "dev": true, + "dependencies": { + "@parcel/fs": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/utils": "2.9.3", + "lmdb": "2.7.11" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/codeframe": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.9.3.tgz", + "integrity": "sha512-z7yTyD6h3dvduaFoHpNqur74/2yDWL++33rjQjIjCaXREBN6dKHoMGMizzo/i4vbiI1p9dDox2FIDEHCMQxqdA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/compressor-raw": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.9.3.tgz", + "integrity": "sha512-jz3t4/ICMsHEqgiTmv5i1DJva2k5QRpZlBELVxfY+QElJTVe8edKJ0TiKcBxh2hx7sm4aUigGmp7JiqqHRRYmA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/config-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.9.3.tgz", + "integrity": "sha512-tqN5tF7QnVABDZAu76co5E6N8mA9n8bxiWdK4xYyINYFIEHgX172oRTqXTnhEMjlMrdmASxvnGlbaPBaVnrCTw==", + "dev": true, + "dependencies": { + "@parcel/bundler-default": "2.9.3", + "@parcel/compressor-raw": "2.9.3", + "@parcel/namer-default": "2.9.3", + "@parcel/optimizer-css": "2.9.3", + "@parcel/optimizer-htmlnano": "2.9.3", + "@parcel/optimizer-image": "2.9.3", + "@parcel/optimizer-svgo": "2.9.3", + "@parcel/optimizer-swc": "2.9.3", + "@parcel/packager-css": "2.9.3", + "@parcel/packager-html": "2.9.3", + "@parcel/packager-js": "2.9.3", + "@parcel/packager-raw": "2.9.3", + "@parcel/packager-svg": "2.9.3", + "@parcel/reporter-dev-server": "2.9.3", + "@parcel/resolver-default": "2.9.3", + "@parcel/runtime-browser-hmr": "2.9.3", + "@parcel/runtime-js": "2.9.3", + "@parcel/runtime-react-refresh": "2.9.3", + "@parcel/runtime-service-worker": "2.9.3", + "@parcel/transformer-babel": "2.9.3", + "@parcel/transformer-css": "2.9.3", + "@parcel/transformer-html": "2.9.3", + "@parcel/transformer-image": "2.9.3", + "@parcel/transformer-js": "2.9.3", + "@parcel/transformer-json": "2.9.3", + "@parcel/transformer-postcss": "2.9.3", + "@parcel/transformer-posthtml": "2.9.3", + "@parcel/transformer-raw": "2.9.3", + "@parcel/transformer-react-refresh-wrap": "2.9.3", + "@parcel/transformer-svg": "2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/core": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.9.3.tgz", + "integrity": "sha512-4KlM1Zr/jpsqWuMXr2zmGsaOUs1zMMFh9vfCNKRZkptf+uk8I3sugHbNdo+F5B+4e2yMuOEb1zgAmvJLeuH6ww==", + "dev": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/graph": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/package-manager": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/profiler": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/diagnostic": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.9.3.tgz", + "integrity": "sha512-6jxBdyB3D7gP4iE66ghUGntWt2v64E6EbD4AetZk+hNJpgudOOPsKTovcMi/i7I4V0qD7WXSF4tvkZUoac0jwA==", + "dev": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/events": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.9.3.tgz", + "integrity": "sha512-K0Scx+Bx9f9p1vuShMzNwIgiaZUkxEnexaKYHYemJrM7pMAqxIuIqhnvwurRCsZOVLUJPDDNJ626cWTc5vIq+A==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/fs": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.9.3.tgz", + "integrity": "sha512-/PrRKgCRw22G7rNPSpgN3Q+i2nIkZWuvIOAdMG4KWXC4XLp8C9jarNaWd5QEQ75amjhQSl3oUzABzkdCtkKrgg==", + "dev": true, + "dependencies": { + "@parcel/fs-search": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/fs-search": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.9.3.tgz", + "integrity": "sha512-nsNz3bsOpwS+jphcd+XjZL3F3PDq9lik0O8HPm5f6LYkqKWT+u/kgQzA8OkAHCR3q96LGiHxUywHPEBc27vI4Q==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/graph": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.9.3.tgz", + "integrity": "sha512-3LmRJmF8+OprAr6zJT3X2s8WAhLKkrhi6RsFlMWHifGU5ED1PFcJWFbOwJvSjcAhMQJP0fErcFIK1Ludv3Vm3g==", + "dev": true, + "dependencies": { + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/hash": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.9.3.tgz", + "integrity": "sha512-qlH5B85XLzVAeijgKPjm1gQu35LoRYX/8igsjnN8vOlbc3O8BYAUIutU58fbHbtE8MJPbxQQUw7tkTjeoujcQQ==", + "dev": true, + "dependencies": { + "xxhash-wasm": "^0.4.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/logger": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.9.3.tgz", + "integrity": "sha512-5FNBszcV6ilGFcijEOvoNVG6IUJGsnMiaEnGQs7Fvc1dktTjEddnoQbIYhcSZL63wEmzBZOgkT5yDMajJ/41jw==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/markdown-ansi": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.9.3.tgz", + "integrity": "sha512-/Q4X8F2aN8UNjAJrQ5NfK2OmZf6shry9DqetUSEndQ0fHonk78WKt6LT0zSKEBEW/bB/bXk6mNMsCup6L8ibjQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/namer-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.9.3.tgz", + "integrity": "sha512-1ynFEcap48/Ngzwwn318eLYpLUwijuuZoXQPCsEQ21OOIOtfhFQJaPwXTsw6kRitshKq76P2aafE0BioGSqxcA==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/node-resolver-core": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.0.3.tgz", + "integrity": "sha512-AjxNcZVHHJoNT/A99PKIdFtwvoze8PAiC3yz8E/dRggrDIOboUEodeQYV5Aq++aK76uz/iOP0tST2T8A5rhb1A==", + "dev": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/diagnostic": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.9.3.tgz", + "integrity": "sha512-RK1QwcSdWDNUsFvuLy0hgnYKtPQebzCb0vPPzqs6LhL+vqUu9utOyRycGaQffHCkHVQP6zGlN+KFssd7YtFGhA==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.9.3.tgz", + "integrity": "sha512-9g/KBck3c6DokmJfvJ5zpHFBiCSolaGrcsTGx8C3YPdCTVTI9P1TDCwUxvAr4LjpcIRSa82wlLCI+nF6sSgxKA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.9.3.tgz", + "integrity": "sha512-530YzthE7kmecnNhPbkAK+26yQNt69pfJrgE0Ev0BZaM1Wu2+33nki7o8qvkTkikhPrurEJLGIXt1qKmbKvCbA==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/optimizer-svgo": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.9.3.tgz", + "integrity": "sha512-ytQS0wY5JJhWU4mL0wfhYDUuHcfuw+Gy2+JcnTm1t1AZXHlOTbU6EzRWNqBShsgXjvdrQQXizAe3B6GFFlFJVQ==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@parcel/optimizer-swc": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.9.3.tgz", + "integrity": "sha512-GQINNeqtdpL1ombq/Cpwi6IBk02wKJ/JJbYbyfHtk8lxlq13soenpwOlzJ5T9D2fdG+FUhai9NxpN5Ss4lNoAg==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "@swc/core": "^1.3.36", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/package-manager": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.9.3.tgz", + "integrity": "sha512-NH6omcNTEupDmW4Lm1e4NUYBjdqkURxgZ4CNESESInHJe6tblVhNB8Rpr1ar7zDar7cly9ILr8P6N3Ei7bTEjg==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/node-resolver-core": "3.0.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/packager-css": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.9.3.tgz", + "integrity": "sha512-mePiWiYZOULY6e1RdAIJyRoYqXqGci0srOaVZYaP7mnrzvJgA63kaZFFsDiEWghunQpMUuUjM2x/vQVHzxmhKQ==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-html": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.9.3.tgz", + "integrity": "sha512-0Ex+O0EaZf9APNERRNGgGto02hFJ6f5RQEvRWBK55WAV1rXeU+kpjC0c0qZvnUaUtXfpWMsEBkevJCwDkUMeMg==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.9.3.tgz", + "integrity": "sha512-V5xwkoE3zQ3R+WqAWhA1KGQ791FvJeW6KonOlMI1q76Djjgox68hhObqcLu66AmYNhR2R/wUpkP18hP2z8dSFw==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-raw": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.9.3.tgz", + "integrity": "sha512-oPQTNoYanQ2DdJyL61uPYK2py83rKOT8YVh2QWAx0zsSli6Kiy64U3+xOCYWgDVCrHw9+9NpQMuAdSiFg4cq8g==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/packager-svg": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.9.3.tgz", + "integrity": "sha512-p/Ya6UO9DAkaCUFxfFGyeHZDp9YPAlpdnh1OChuwqSFOXFjjeXuoK4KLT+ZRalVBo2Jo8xF70oKMZw4MVvaL7Q==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "posthtml": "^0.16.4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/plugin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.9.3.tgz", + "integrity": "sha512-qN85Gqr2GMuxX1dT1mnuO9hOcvlEv1lrYrCxn7CJN2nUhbwcfG+LEvcrCzCOJ6XtIHm+ZBV9h9p7FfoPLvpw+g==", + "dev": true, + "dependencies": { + "@parcel/types": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/profiler": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.9.3.tgz", + "integrity": "sha512-pyHc9lw8VZDfgZoeZWZU9J0CVEv1Zw9O5+e0DJPDPHuXJYr72ZAOhbljtU3owWKAeW+++Q2AZWkbUGEOjI/e6g==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3", + "chrome-trace-event": "^1.0.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-cli": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.9.3.tgz", + "integrity": "sha512-pZiEvQpuXFuQBafMHxkDmwH8CnnK9sWHwa3bSbsnt385aUahtE8dpY0LKt+K1zfB6degKoczN6aWVj9WycQuZQ==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-dev-server": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.9.3.tgz", + "integrity": "sha512-s6eboxdLEtRSvG52xi9IiNbcPKC0XMVmvTckieue2EqGDbDcaHQoHmmwkk0rNq0/Z/UxelGcQXoIYC/0xq3ykQ==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/reporter-tracer": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.9.3.tgz", + "integrity": "sha512-9cXpKWk0m6d6d+4+TlAdOe8XIPaFEIKGWMWG+5SFAQE08u3olet4PSvd49F4+ZZo5ftRE7YI3j6xNbXvJT8KGw==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "chrome-trace-event": "^1.0.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/resolver-default": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.9.3.tgz", + "integrity": "sha512-8ESJk1COKvDzkmOnppNXoDamNMlYVIvrKc2RuFPmp8nKVj47R6NwMgvwxEaatyPzvkmyTpq5RvG9I3HFc+r4Cw==", + "dev": true, + "dependencies": { + "@parcel/node-resolver-core": "3.0.3", + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.9.3.tgz", + "integrity": "sha512-EgiDIDrVAWpz7bOzWXqVinQkaFjLwT34wsonpXAbuI7f7r00d52vNAQC9AMu+pTijA3gyKoJ+Q4NWPMZf7ACDA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.9.3.tgz", + "integrity": "sha512-EvIy+qXcKnB5qxHhe96zmJpSAViNVXHfQI5RSdZ2a7CPwORwhTI+zPNT9sb7xb/WwFw/WuTTgzT40b41DceU6Q==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.9.3.tgz", + "integrity": "sha512-XBgryZQIyCmi6JwEfMUCmINB3l1TpTp9a2iFxmYNpzHlqj4Ve0saKaqWOVRLvC945ZovWIBzcSW2IYqWKGtbAA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/runtime-service-worker": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.9.3.tgz", + "integrity": "sha512-qLJLqv1mMdWL7gyh8aKBFFAuEiJkhUUgLKpdn6eSfH/R7kTtb76WnOwqUrhvEI9bZFUM/8Pa1bzJnPpqSOM+Sw==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", + "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": "^12.18.3 || >=14" + } + }, + "node_modules/@parcel/transformer-babel": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.9.3.tgz", + "integrity": "sha512-pURtEsnsp3h6tOBDuzh9wRvVtw4PgIlqwAArIWdrG7iwqOUYv9D8ME4+ePWEu7MQWAp58hv9pTJtqWv4T+Sq8A==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-css": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.9.3.tgz", + "integrity": "sha512-duWMdbEBBPjg3fQdXF16iWIdThetDZvCs2TpUD7xOlXH6kR0V5BJy8ONFT15u1RCqIV9hSNGaS3v3I9YRNY5zQ==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-html": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.9.3.tgz", + "integrity": "sha512-0NU4omcHzFXA1seqftAXA2KNZaMByoKaNdXnLgBgtCGDiYvOcL+6xGHgY6pw9LvOh5um10KI5TxSIMILoI7VtA==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2", + "srcset": "4" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-image": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.9.3.tgz", + "integrity": "sha512-7CEe35RaPadQzLIuxzTtIxnItvOoy46hcbXtOdDt6lmVa4omuOygZYRIya2lsGIP4JHvAaALMb5nt99a1uTwJg==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/transformer-js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.9.3.tgz", + "integrity": "sha512-Z2MVVg5FYcPOfxlUwxqb5l9yjTMEqE3KI3zq2MBRUme6AV07KxLmCDF23b6glzZlHWQUE8MXzYCTAkOPCcPz+Q==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.9.3", + "@parcel/workers": "2.9.3", + "@swc/helpers": "^0.5.0", + "browserslist": "^4.6.6", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.9.3.tgz", + "integrity": "sha512-yNL27dbOLhkkrjaQjiQ7Im9VOxmkfuuSNSmS0rA3gEjVcm07SLKRzWkAaPnyx44Lb6bzyOTWwVrb9aMmxgADpA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "json5": "^2.2.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-postcss": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.9.3.tgz", + "integrity": "sha512-HoDvPqKzhpmvMmHqQhDnt8F1vH61m6plpGiYaYnYv2Om4HHi5ZIq9bO+9QLBnTKfaZ7ndYSefTKOxTYElg7wyw==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-posthtml": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.9.3.tgz", + "integrity": "sha512-2fQGgrzRmaqbWf3y2/T6xhqrNjzqMMKksqJzvc8TMfK6f2kg3Ddjv158eaSW2JdkV39aY7tvAOn5f1uzo74BMA==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.9.3.tgz", + "integrity": "sha512-oqdPzMC9QzWRbY9J6TZEqltknjno+dY24QWqf8ondmdF2+W+/2mRDu59hhCzQrqUHgTq4FewowRZmSfpzHxwaQ==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.9.3.tgz", + "integrity": "sha512-cb9NyU6oJlDblFIlzqIE8AkvRQVGl2IwJNKwD4PdE7Y6sq2okGEPG4hOw3k/Y9JVjM4/2pUORqvjSRhWwd9oVQ==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.9.3", + "@parcel/utils": "2.9.3", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-svg": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.9.3.tgz", + "integrity": "sha512-ypmE+dzB09IMCdEAkOsSxq1dEIm2A3h67nAFz4qbfHbwNgXBUuy/jB3ZMwXN/cO0f7SBh/Ap8Jhq6vmGqB5tWw==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/plugin": "2.9.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^7.5.2" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.9.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/types": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.9.3.tgz", + "integrity": "sha512-NSNY8sYtRhvF1SqhnIGgGvJocyWt1K8Tnw5cVepm0g38ywtX6mwkBvMkmeehXkII4mSUn+frD9wGsydTunezvA==", + "dev": true, + "dependencies": { + "@parcel/cache": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/package-manager": "2.9.3", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.9.3", + "utility-types": "^3.10.0" + } + }, + "node_modules/@parcel/utils": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.9.3.tgz", + "integrity": "sha512-cesanjtj/oLehW8Waq9JFPmAImhoiHX03ihc3JTWkrvJYSbD7wYKCDgPAM3JiRAqvh1LZ6P699uITrYWNoRLUg==", + "dev": true, + "dependencies": { + "@parcel/codeframe": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/hash": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/markdown-ansi": "2.9.3", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.2.0.tgz", + "integrity": "sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.2.0", + "@parcel/watcher-darwin-arm64": "2.2.0", + "@parcel/watcher-darwin-x64": "2.2.0", + "@parcel/watcher-linux-arm-glibc": "2.2.0", + "@parcel/watcher-linux-arm64-glibc": "2.2.0", + "@parcel/watcher-linux-arm64-musl": "2.2.0", + "@parcel/watcher-linux-x64-glibc": "2.2.0", + "@parcel/watcher-linux-x64-musl": "2.2.0", + "@parcel/watcher-win32-arm64": "2.2.0", + "@parcel/watcher-win32-x64": "2.2.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz", + "integrity": "sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.2.0.tgz", + "integrity": "sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.2.0.tgz", + "integrity": "sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.2.0.tgz", + "integrity": "sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.2.0.tgz", + "integrity": "sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.2.0.tgz", + "integrity": "sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.2.0.tgz", + "integrity": "sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.2.0.tgz", + "integrity": "sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.2.0.tgz", + "integrity": "sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.2.0.tgz", + "integrity": "sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/workers": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.9.3.tgz", + "integrity": "sha512-zRrDuZJzTevrrwElYosFztgldhqW6G9q5zOeQXfVQFkkEJCNfg36ixeiofKRU8uu2x+j+T6216mhMNB6HiuY+w==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/profiler": "2.9.3", + "@parcel/types": "2.9.3", + "@parcel/utils": "2.9.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.9.3" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "node_modules/@swc/core": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.67.tgz", + "integrity": "sha512-9DROjzfAEt0xt0CDkOYsWpkUPyne8fl5ggWGon049678BOM7p0R0dmaalZGAsKatG5vYP1IWSKWsKhJIubDCsQ==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.67", + "@swc/core-darwin-x64": "1.3.67", + "@swc/core-linux-arm-gnueabihf": "1.3.67", + "@swc/core-linux-arm64-gnu": "1.3.67", + "@swc/core-linux-arm64-musl": "1.3.67", + "@swc/core-linux-x64-gnu": "1.3.67", + "@swc/core-linux-x64-musl": "1.3.67", + "@swc/core-win32-arm64-msvc": "1.3.67", + "@swc/core-win32-ia32-msvc": "1.3.67", + "@swc/core-win32-x64-msvc": "1.3.67" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.67.tgz", + "integrity": "sha512-zCT2mCkOBVNf5uJDcQ3A9KDoO1OEaGdfjsRTZTo7sejDd9AXLfJg+xgyCBBrK2jNS/uWcT21IvSv3LqKp4K8pA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.67.tgz", + "integrity": "sha512-hXTVsfTatPEec5gFVyjGj3NccKZsYj/OXyHn6XA+l3Q76lZzGm2ISHdku//XNwXu8OmJ0HhS7LPsC4XXwxXQhg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.67.tgz", + "integrity": "sha512-l8AKL0RkDL5FRTeWMmjoz9zvAc37amxC+0rheaNwE+gZya7ObyNjnIYz5FwN+3y+z6JFU7LS2x/5f6iwruv6pg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.67.tgz", + "integrity": "sha512-S8zOB1AXEpb7kmtgMaFNeLAj01VOky4B0RNZ+uJWigdrDiFT67FeZzNHUNmNSOU0QM79G+Lie/xD/beqEw0vDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.67.tgz", + "integrity": "sha512-Fex8J8ASrt13pmOr2xWh41tEeKWwXYGk3sV8L/aGHiYtIJEUi2f+RtMx3jp7LIdOD8pQptor7i5WBlfR9jhp8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.67.tgz", + "integrity": "sha512-9bz9/bMphrv5vDg0os/d8ve0QgFpDzJgZgHUaHiGwcmfnlgdOSAaYJLIvWdcGTjZuQeV4L0m+iru357D9TXEzA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.67.tgz", + "integrity": "sha512-ED0H6oLvQmhgo9zs8usmEA/lcZPGTu7K9og9K871b7HhHX0h/R+Xg2pb5KD7S/GyUHpfuopxjVROm+h6X1jMUA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.67.tgz", + "integrity": "sha512-J1yFDLgPFeRtA8t5E159OXX+ww1gbkFg70yr4OP7EsOkOD1uMkuTf9yK/woHfsaVJlUYjJHzw7MkUIEgQBucqQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.67.tgz", + "integrity": "sha512-bK11/KtasewqHxzkjKUBXRE9MSAidbZCxrgJUd49bItG2N/DHxkwMYu8Xkh5VDHdTYWv/2idYtf/VM9Yi+53qw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.67", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.67.tgz", + "integrity": "sha512-GxzUU3+NA3cPcYxCxtfSQIS2ySD7Z8IZmKTVaWA9GOUQbKLyCE8H5js31u39+0op/1gNgxOgYFDoj2lUyvLCqw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.3.tgz", + "integrity": "sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==" + }, + "node_modules/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, "node_modules/ansi-colors": { @@ -64,12 +2060,54 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -79,6 +2117,48 @@ "node": ">=8" } }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -106,6 +2186,91 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "node_modules/browserslist": { + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/camelcase": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", @@ -118,6 +2283,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/caniuse-lite": { + "version": "1.0.30001512", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001512.tgz", + "integrity": "sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -173,6 +2358,15 @@ "fsevents": "~2.3.2" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -184,6 +2378,15 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -202,17 +2405,234 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -228,8 +2648,7 @@ "node_modules/debug/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/decamelize": { "version": "4.0.0", @@ -243,6 +2662,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -252,12 +2700,171 @@ "node": ">=0.3.1" } }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.449", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.449.tgz", + "integrity": "sha512-TxLRpRUj/107ATefeP8VIUWNOv90xJxZZbCW/eIbSZQiuiFANCx2b7u+GbVc9X4gU+xnbvypNMYVM/WArE1DNQ==", + "dev": true + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.1.tgz", + "integrity": "sha512-mGqhI+D7YxS9KJMppR6Iuo37Ed3abhU8NdfgSvJSDUafQutrN+sPTncJYTyM9+tkhSmWodKtVYGPPHyXJEwEQA==", + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.1.0", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.1.tgz", + "integrity": "sha512-hE5wKXH8Ru4L19MbM1GgYV/2Qo54JSMh1rlJbfpa40bEWkCKNo3ol2eOtGmowcr+ysgbI7+SGL+by42Q3pt/Ng==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.1.0", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz", + "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -267,6 +2874,11 @@ "node": ">=6" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -279,6 +2891,76 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -291,6 +2973,36 @@ "node": ">=8" } }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -316,6 +3028,22 @@ "flat": "cli.js" } }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -336,6 +3064,11 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -345,6 +3078,29 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -399,6 +3155,32 @@ "node": "*" } }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -408,6 +3190,28 @@ "node": ">=8" } }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -417,6 +3221,134 @@ "he": "bin/he" } }, + "node_modules/htmlnano": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.4.tgz", + "integrity": "sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==", + "dev": true, + "dependencies": { + "cosmiconfig": "^8.0.0", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^6.0.0", + "postcss": "^8.3.11", + "purgecss": "^5.0.0", + "relateurl": "^0.2.7", + "srcset": "4.0.0", + "svgo": "^3.0.2", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -430,7 +3362,20 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "node_modules/is-binary-path": { @@ -475,6 +3420,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -505,6 +3456,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -517,6 +3474,256 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.21.4.tgz", + "integrity": "sha512-/MhQpBRQgs5j35eC1ZMqOOQqDZyNCUKZRoMp3ftprEOb4vVkjfe1VoknD9BKskCT+bbqBf3Yt9XglJLXXZ+pfA==", + "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.21.4", + "lightningcss-darwin-x64": "1.21.4", + "lightningcss-linux-arm-gnueabihf": "1.21.4", + "lightningcss-linux-arm64-gnu": "1.21.4", + "lightningcss-linux-arm64-musl": "1.21.4", + "lightningcss-linux-x64-gnu": "1.21.4", + "lightningcss-linux-x64-musl": "1.21.4", + "lightningcss-win32-x64-msvc": "1.21.4" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.21.4.tgz", + "integrity": "sha512-xqiS2QamPoecdTARl29JwjgrWYTlpQifKuIv40mEgpRaufC1oIPygVQ9P16tIYtZ1vyLBoWclAsbfsNFQnMv2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.21.4.tgz", + "integrity": "sha512-R6TfDHzl+kuZdrCfQWKhGf5b4K6XtVDfwQkMzncSimykchFwPzLe1QGKH3Cr45glBD265+2Hwmo4V6DYCiVcPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.21.4.tgz", + "integrity": "sha512-fUYdxqr/Zmk2lbRKRP6HqUFxVPp12A+mU5v8DVgiwnbTmJn5vRvNUUPKEA+trCvyZ+pbSM4ikOS1OsPz8zeKyg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.21.4.tgz", + "integrity": "sha512-rQmbEQzXoQK3/O8YuJyri3RreATpQ9mscODpYHLwG3behk021u4OCNyVL7m2GL4fL+6SZuwCccjiHp1e0WeM6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.21.4.tgz", + "integrity": "sha512-qfGAOBXUatU1rSpGep3FvsgHqRY5vsjEPXylYuDVhdc/VoWFshTEC8W1pfgHBwGvl9S8HmHGHFPZATuidUHxKw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.21.4.tgz", + "integrity": "sha512-W5MJoozn3NE/9LEqbWQYGy1ZQoAordG0h/pSyv44+8eeDY1ufZK5LAw0+iFGYRcblcFDF69DElvLDEi59piCTg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.21.4.tgz", + "integrity": "sha512-R/fT1c8g8xrrCeU1fSErUb31OBMR38KcEDmrwCmxzsSntJ7o9YkZdbVx1FWRqBy8A8tNHm3MyQqZzU/owTJszw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.21.4", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.21.4.tgz", + "integrity": "sha512-2G3X2GTLNwz4mLG60J8ala9FcN9hKy9aAaCImou69UeowjFCt0OMWlzNuwcZARDId0BVZRQn4vNFvRGqCPwMxA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lmdb": { + "version": "2.7.11", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.7.11.tgz", + "integrity": "sha512-x9bD4hVp7PFLUoELL8RglbNXhAMt5CYhkmss+CEau9KlNoilsTzNi9QDsPZb3KMpOGZXG6jmXhW3bBxE2XVztw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "msgpackr": "1.8.5", + "node-addon-api": "^4.3.0", + "node-gyp-build-optional-packages": "5.0.6", + "ordered-binary": "^1.4.0", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "2.7.11", + "@lmdb/lmdb-darwin-x64": "2.7.11", + "@lmdb/lmdb-linux-arm": "2.7.11", + "@lmdb/lmdb-linux-arm64": "2.7.11", + "@lmdb/lmdb-linux-x64": "2.7.11", + "@lmdb/lmdb-win32-x64": "2.7.11" + } + }, + "node_modules/lmdb/node_modules/msgpackr": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.8.5.tgz", + "integrity": "sha512-mpPs3qqTug6ahbblkThoUY2DQdNXcm4IapwOS3Vm/87vmpzLVelvp9h3It1y9l1VPpiFLV11vfOXnmeEwiIXwg==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.1" + } + }, + "node_modules/lmdb/node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -548,6 +3755,90 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -603,8 +3894,50 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/msgpackr": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.5.tgz", + "integrity": "sha512-/IJ3cFSN6Ci3eG2wLhbFEL6GT63yEaoN/R5My2QkV6zro+OJaVRLPlwvxY7EtHYSmDlQpk8stvOQTL2qJFkDRg==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", + "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.0.7" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" + } + }, + "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", + "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } }, "node_modules/nanoid": { "version": "3.3.3", @@ -618,6 +3951,37 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", + "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==", + "dev": true + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.6.tgz", + "integrity": "sha512-2ZJErHG4du9G3/8IWl/l9Bp5BBFy63rno5GVmjQijvTuUZKsl6g8RB4KH/x3NLcV5ZBb4GsXmAuTYr6dRml3Gw==", + "dev": true, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-releases": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", + "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", + "dev": true + }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -627,6 +3991,51 @@ "node": ">=0.10.0" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -636,6 +4045,12 @@ "wrappy": "1" } }, + "node_modules/ordered-binary": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.4.1.tgz", + "integrity": "sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg==", + "dev": true + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -666,6 +4081,76 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parcel": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.9.3.tgz", + "integrity": "sha512-2GTVocFkwblV/TIg9AmT7TI2fO4xdWkyN8aFUEVtiVNWt96GTR3FgQyHFValfCbcj1k9Xf962Ws2hYXYUr9k1Q==", + "dev": true, + "dependencies": { + "@parcel/config-default": "2.9.3", + "@parcel/core": "2.9.3", + "@parcel/diagnostic": "2.9.3", + "@parcel/events": "2.9.3", + "@parcel/fs": "2.9.3", + "@parcel/logger": "2.9.3", + "@parcel/package-manager": "2.9.3", + "@parcel/reporter-cli": "2.9.3", + "@parcel/reporter-dev-server": "2.9.3", + "@parcel/reporter-tracer": "2.9.3", + "@parcel/utils": "2.9.3", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0" + }, + "bin": { + "parcel": "lib/bin.js" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -684,6 +4169,26 @@ "node": ">=0.10.0" } }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -696,6 +4201,87 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dev": true, + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "dev": true, + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dev": true, + "dependencies": { + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -705,6 +4291,43 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -717,6 +4340,12 @@ "node": ">=8.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -726,11 +4355,19 @@ "node": ">=0.10.0" } }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -746,6 +4383,62 @@ } ] }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/serialize-javascript": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", @@ -755,6 +4448,136 @@ "randombytes": "^2.1.0" } }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/socket.io": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.1.tgz", + "integrity": "sha512-W+utHys2w//dhFjy7iQQu9sGd3eokCjGbl2r59tyLqNiJJBdIebn3GAKEXBr3osqHTObJi2die/25bCx2zsaaw==", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.5.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-client": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.1.tgz", + "integrity": "sha512-Qk3Xj8ekbnzKu3faejo4wk2MzXA029XppiXtTF/PkbTg+fcwaTw1PlDrTrrrU4mKoYC4dvlApOnSeyLCKwek2w==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -808,6 +4631,50 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/svgo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", + "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "dev": true + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -820,6 +4687,113 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true + }, "node_modules/workerpool": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", @@ -849,6 +4823,40 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==", + "dev": true + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -858,6 +4866,12 @@ "node": ">=10" } }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", diff --git a/package.json b/package.json index aa3200f..629e6e0 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "openarras", "version": "0.1.0", "description": "", - "main": "src/index.js", + "source": "client/index.html", "scripts": { "test": "mocha tests/" }, @@ -14,6 +14,13 @@ "license": "Apache-2.0", "type": "module", "devDependencies": { - "mocha": "^10.2.0" + "buffer": "^6.0.3", + "mocha": "^10.2.0", + "parcel": "^2.9.3" + }, + "dependencies": { + "express": "^4.18.2", + "socket.io": "^4.7.1", + "socket.io-client": "^4.7.1" } } diff --git a/src/main.js b/src/main.js index cb18c29..571f17e 100644 --- a/src/main.js +++ b/src/main.js @@ -1,16 +1,53 @@ import { Vec2 } from '../src/2d.js'; import { Motion, CollisionBox } from '../src/components.js'; import { EntityRegistry } from '../src/ecs.js'; +import {Server} from 'socket.io'; +import Express from 'express'; +import http_server from 'http'; +import path from 'path'; + +const app = Express(); +const http = new http_server.Server(app); +const io = new Server(http); + +io.on("connection", (socket) => { + +}); function main() { + app.use('/', Express.static(path.join('.','./dist'))); + + const server_port = parseInt(process.env.PORT) | 3000; + http.listen(server_port, () => { + console.log(`Server started on port ${server_port}.`); + }); + + process.on('SIGINT', () => { + console.log('\nShutting server...'); + users.forEach(u => { + u.socket.disconnect(); + console.log(`Disconnected user ${u.name}.`); + }); + http.close(() => { + console.log('Closed.'); + process.exit(0); + }); + }); + let registry = new EntityRegistry(); let tank = registry.create(); registry.assign(tank, new Motion(new Vec2(0, 0), new Vec2(1, 1))); registry.assign(tank, new CollisionBox(1)); - registry.forEach([Motion], (id, motion) => { - motion.position.addTo(motion.velocity); - }); - console.log(`motion: ${JSON.stringify(registry.get(tank, Motion))}`); + + setInterval(() => { + registry.forEach([Motion], (id, motion) => { + motion.position.addTo(motion.velocity); + }); + }, 1000/60); + + setInterval(() => { + io.emit("update",JSON.stringify(registry.get(tank, Motion))) + }, 50); } main(); \ No newline at end of file