9remote 0.1.22 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/server.cjs +17 -17
  2. package/package.json +1 -1
package/dist/server.cjs CHANGED
@@ -1,30 +1,30 @@
1
1
  const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- var fu=Object.create;var hs=Object.defineProperty;var mu=Object.getOwnPropertyDescriptor;var hu=Object.getOwnPropertyNames;var xu=Object.getPrototypeOf,vu=Object.prototype.hasOwnProperty;var Ve=(s,e)=>()=>(s&&(e=s(s=0)),e);var x=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Ge=(s,e)=>{for(var t in e)hs(s,t,{get:e[t],enumerable:!0})},$a=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of hu(e))!vu.call(s,n)&&n!==t&&hs(s,n,{get:()=>e[n],enumerable:!(i=mu(e,n))||i.enumerable});return s};var R=(s,e,t)=>(t=s!=null?fu(xu(s)):{},$a(e||!s||!s.__esModule?hs(t,"default",{value:s,enumerable:!0}):t,s)),gu=s=>$a(hs({},"__esModule",{value:!0}),s);var Ya=x(($v,ji)=>{"use strict";ji.exports=Ka;ji.exports.preferredCharsets=Ka;var bu=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function yu(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=wu(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function wu(s,e){var t=bu.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{charset:i,q:n,i:e}}function _u(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Su(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Su(s,e,t){var i=0;if(e.charset.toLowerCase()===s.toLowerCase())i|=1;else if(e.charset!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Ka(s,e){var t=yu(s===void 0?"*":s||"");if(!e)return t.filter(Ga).sort(Va).map(Eu);var i=e.map(function(a,r){return _u(a,t,r)});return i.filter(Ga).sort(Va).map(function(a){return e[i.indexOf(a)]})}function Va(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Eu(s){return s.charset}function Ga(s){return s.q>0}});var er=x((Vv,Di)=>{"use strict";Di.exports=Za;Di.exports.preferredEncodings=Za;var Cu=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function ku(s){for(var e=s.split(","),t=!1,i=1,n=0,a=0;n<e.length;n++){var r=Tu(e[n].trim(),n);r&&(e[a++]=r,t=t||Qa("identity",r),i=Math.min(i,r.q||1))}return t||(e[a++]={encoding:"identity",q:i,i:n}),e.length=a,e}function Tu(s,e){var t=Cu.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{encoding:i,q:n,i:e}}function Ou(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Qa(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Qa(s,e,t){var i=0;if(e.encoding.toLowerCase()===s.toLowerCase())i|=1;else if(e.encoding!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Za(s,e){var t=ku(s||"");if(!e)return t.filter(Ja).sort(Xa).map(Ru);var i=e.map(function(a,r){return Ou(a,t,r)});return i.filter(Ja).sort(Xa).map(function(a){return e[i.indexOf(a)]})}function Xa(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Ru(s){return s.encoding}function Ja(s){return s.q>0}});var ar=x((Gv,Ni)=>{"use strict";Ni.exports=nr;Ni.exports.preferredLanguages=nr;var Au=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function Pu(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=ir(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function ir(s,e){var t=Au.exec(s);if(!t)return null;var i=t[1],n=t[2],a=i;n&&(a+="-"+n);var r=1;if(t[3])for(var c=t[3].split(";"),o=0;o<c.length;o++){var l=c[o].split("=");l[0]==="q"&&(r=parseFloat(l[1]))}return{prefix:i,suffix:n,q:r,i:e,full:a}}function ju(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Du(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Du(s,e,t){var i=ir(s);if(!i)return null;var n=0;if(e.full.toLowerCase()===i.full.toLowerCase())n|=4;else if(e.prefix.toLowerCase()===i.full.toLowerCase())n|=2;else if(e.full.toLowerCase()===i.prefix.toLowerCase())n|=1;else if(e.full!=="*")return null;return{i:t,o:e.i,q:e.q,s:n}}function nr(s,e){var t=Pu(s===void 0?"*":s||"");if(!e)return t.filter(sr).sort(tr).map(Nu);var i=e.map(function(a,r){return ju(a,t,r)});return i.filter(sr).sort(tr).map(function(a){return e[i.indexOf(a)]})}function tr(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Nu(s){return s.full}function sr(s){return s.q>0}});var ur=x((Kv,Ii)=>{"use strict";Ii.exports=lr;Ii.exports.preferredMediaTypes=lr;var Iu=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function Bu(s){for(var e=Uu(s),t=0,i=0;t<e.length;t++){var n=cr(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function cr(s,e){var t=Iu.exec(s);if(!t)return null;var i=Object.create(null),n=1,a=t[2],r=t[1];if(t[3])for(var c=Hu(t[3]).map(Fu),o=0;o<c.length;o++){var l=c[o],p=l[0].toLowerCase(),u=l[1],d=u&&u[0]==='"'&&u[u.length-1]==='"'?u.substr(1,u.length-2):u;if(p==="q"){n=parseFloat(d);break}i[p]=d}return{type:r,subtype:a,params:i,q:n,i:e}}function Lu(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Mu(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Mu(s,e,t){var i=cr(s),n=0;if(!i)return null;if(e.type.toLowerCase()==i.type.toLowerCase())n|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==i.subtype.toLowerCase())n|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(r){return e.params[r]=="*"||(e.params[r]||"").toLowerCase()==(i.params[r]||"").toLowerCase()}))n|=1;else return null;return{i:t,o:e.i,q:e.q,s:n}}function lr(s,e){var t=Bu(s===void 0?"*/*":s||"");if(!e)return t.filter(or).sort(rr).map(qu);var i=e.map(function(a,r){return Lu(a,t,r)});return i.filter(or).sort(rr).map(function(a){return e[i.indexOf(a)]})}function rr(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function qu(s){return s.type+"/"+s.subtype}function or(s){return s.q>0}function pr(s){for(var e=0,t=0;(t=s.indexOf('"',t))!==-1;)e++,t++;return e}function Fu(s){var e=s.indexOf("="),t,i;return e===-1?t=s:(t=s.substr(0,e),i=s.substr(e+1)),[t,i]}function Uu(s){for(var e=s.split(","),t=1,i=0;t<e.length;t++)pr(e[i])%2==0?e[++i]=e[t]:e[i]+=","+e[t];return e.length=i+1,e}function Hu(s){for(var e=s.split(";"),t=1,i=0;t<e.length;t++)pr(e[i])%2==0?e[++i]=e[t]:e[i]+=";"+e[t];e.length=i+1;for(var t=0;t<e.length;t++)e[t]=e[t].trim();return e}});var dr=x((Yv,Bi)=>{"use strict";var zu=Ya(),Wu=er(),$u=ar(),Vu=ur();Bi.exports=S;Bi.exports.Negotiator=S;function S(s){if(!(this instanceof S))return new S(s);this.request=s}S.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]};S.prototype.charsets=function(e){return zu(this.request.headers["accept-charset"],e)};S.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]};S.prototype.encodings=function(e){return Wu(this.request.headers["accept-encoding"],e)};S.prototype.language=function(e){var t=this.languages(e);return t&&t[0]};S.prototype.languages=function(e){return $u(this.request.headers["accept-language"],e)};S.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]};S.prototype.mediaTypes=function(e){return Vu(this.request.headers.accept,e)};S.prototype.preferredCharset=S.prototype.charset;S.prototype.preferredCharsets=S.prototype.charsets;S.prototype.preferredEncoding=S.prototype.encoding;S.prototype.preferredEncodings=S.prototype.encodings;S.prototype.preferredLanguage=S.prototype.language;S.prototype.preferredLanguages=S.prototype.languages;S.prototype.preferredMediaType=S.prototype.mediaType;S.prototype.preferredMediaTypes=S.prototype.mediaTypes});var fr=x((Xv,Gu)=>{Gu.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var hr=x((Jv,mr)=>{mr.exports=fr()});var gr=x(G=>{"use strict";var xs=hr(),Ku=require("path").extname,xr=/^\s*([^;\s]*)(?:;|\s|$)/,Yu=/^text\//i;G.charset=vr;G.charsets={lookup:vr};G.contentType=Xu;G.extension=Ju;G.extensions=Object.create(null);G.lookup=Qu;G.types=Object.create(null);Zu(G.extensions,G.types);function vr(s){if(!s||typeof s!="string")return!1;var e=xr.exec(s),t=e&&xs[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&Yu.test(e[1])?"UTF-8":!1}function Xu(s){if(!s||typeof s!="string")return!1;var e=s.indexOf("/")===-1?G.lookup(s):s;if(!e)return!1;if(e.indexOf("charset")===-1){var t=G.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function Ju(s){if(!s||typeof s!="string")return!1;var e=xr.exec(s),t=e&&G.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function Qu(s){if(!s||typeof s!="string")return!1;var e=Ku("x."+s).toLowerCase().substr(1);return e&&G.types[e]||!1}function Zu(s,e){var t=["nginx","apache",void 0,"iana"];Object.keys(xs).forEach(function(n){var a=xs[n],r=a.extensions;if(!(!r||!r.length)){s[n]=r;for(var c=0;c<r.length;c++){var o=r[c];if(e[o]){var l=t.indexOf(xs[e[o]].source),p=t.indexOf(a.source);if(e[o]!=="application/octet-stream"&&(l>p||l===p&&e[o].substr(0,12)==="application/"))continue}e[o]=n}}})}});var vs=x((Zv,br)=>{"use strict";var ed=dr(),td=gr();br.exports=Q;function Q(s){if(!(this instanceof Q))return new Q(s);this.headers=s.headers,this.negotiator=new ed(s)}Q.prototype.type=Q.prototype.types=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var i=e.map(sd),n=this.negotiator.mediaTypes(i.filter(id)),a=n[0];return a?e[i.indexOf(a)]:!1};Q.prototype.encoding=Q.prototype.encodings=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};Q.prototype.charset=Q.prototype.charsets=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};Q.prototype.lang=Q.prototype.langs=Q.prototype.language=Q.prototype.languages=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function sd(s){return s.indexOf("/")===-1?td.lookup(s):s}function id(s){return typeof s=="string"}});var Mi=x((yr,wr)=>{var zt=require("crypto"),Li=function(){};Li.prototype.getRandomBytes=function(s){var e=4096,t=this;if(s=s||12,s>e)return zt.randomBytes(s);var i=parseInt(e/s),n=parseInt(i*.85);if(!n||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==i&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>n)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,zt.randomBytes(e,function(r,c){t.bytesBuffer=c,t.bytesBufferIndex=0,t.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return zt.randomBytes(s);var a=this.bytesBuffer.slice(s*this.bytesBufferIndex,s*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};Li.prototype.generateId=function(){var s=Buffer.alloc(15);return s.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,s.writeInt32BE(this.sequenceNumber,11),zt.randomBytes?this.getRandomBytes(12).copy(s):[0,4,8].forEach(function(e){s.writeInt32BE(Math.random()*Math.pow(2,32)|0,e)}),s.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()};yr=wr.exports=new Li});var gs=x(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.ERROR_PACKET=Ne.PACKET_TYPES_REVERSE=Ne.PACKET_TYPES=void 0;var xe=Object.create(null);Ne.PACKET_TYPES=xe;xe.open="0";xe.close="1";xe.ping="2";xe.pong="3";xe.message="4";xe.upgrade="5";xe.noop="6";var _r=Object.create(null);Ne.PACKET_TYPES_REVERSE=_r;Object.keys(xe).forEach(s=>{_r[xe[s]]=s});var nd={type:"error",data:"parser error"};Ne.ERROR_PACKET=nd});var Er=x(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.encodePacket=void 0;ct.encodePacketToBinary=od;var ad=gs(),rd=({type:s,data:e},t,i)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?i(t?e:"b"+Sr(e,!0).toString("base64")):i(ad.PACKET_TYPES[s]+(e||""));ct.encodePacket=rd;var Sr=(s,e)=>Buffer.isBuffer(s)||s instanceof Uint8Array&&!e?s:s instanceof ArrayBuffer?Buffer.from(s):Buffer.from(s.buffer,s.byteOffset,s.byteLength),qi;function od(s,e){if(s.data instanceof ArrayBuffer||ArrayBuffer.isView(s.data))return e(Sr(s.data,!1));(0,ct.encodePacket)(s,!0,t=>{qi||(qi=new TextEncoder),e(qi.encode(t))})}});var kr=x(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.decodePacket=void 0;var bs=gs(),cd=(s,e)=>{if(typeof s!="string")return{type:"message",data:Cr(s,e)};let t=s.charAt(0);if(t==="b"){let i=Buffer.from(s.substring(1),"base64");return{type:"message",data:Cr(i,e)}}return bs.PACKET_TYPES_REVERSE[t]?s.length>1?{type:bs.PACKET_TYPES_REVERSE[t],data:s.substring(1)}:{type:bs.PACKET_TYPES_REVERSE[t]}:bs.ERROR_PACKET};ys.decodePacket=cd;var Cr=(s,e)=>e==="arraybuffer"?s instanceof ArrayBuffer?s:Buffer.isBuffer(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s.buffer:Buffer.isBuffer(s)?s:Buffer.from(s)});var Wt=x(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.decodePayload=K.decodePacket=K.encodePayload=K.encodePacket=K.protocol=void 0;K.createPacketEncoderStream=ud;K.createPacketDecoderStream=dd;var Ui=Er();Object.defineProperty(K,"encodePacket",{enumerable:!0,get:function(){return Ui.encodePacket}});var Hi=kr();Object.defineProperty(K,"decodePacket",{enumerable:!0,get:function(){return Hi.decodePacket}});var Tr=gs(),Or="",ld=(s,e)=>{let t=s.length,i=new Array(t),n=0;s.forEach((a,r)=>{(0,Ui.encodePacket)(a,!1,c=>{i[r]=c,++n===t&&e(i.join(Or))})})};K.encodePayload=ld;var pd=(s,e)=>{let t=s.split(Or),i=[];for(let n=0;n<t.length;n++){let a=(0,Hi.decodePacket)(t[n],e);if(i.push(a),a.type==="error")break}return i};K.decodePayload=pd;function ud(){return new TransformStream({transform(s,e){(0,Ui.encodePacketToBinary)(s,t=>{let i=t.length,n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);let a=new DataView(n.buffer);a.setUint8(0,126),a.setUint16(1,i)}else{n=new Uint8Array(9);let a=new DataView(n.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(i))}s.data&&typeof s.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}var Fi;function ws(s){return s.reduce((e,t)=>e+t.length,0)}function _s(s,e){if(s[0].length===e)return s.shift();let t=new Uint8Array(e),i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function dd(s,e){Fi||(Fi=new TextDecoder);let t=[],i=0,n=-1,a=!1;return new TransformStream({transform(r,c){for(t.push(r);;){if(i===0){if(ws(t)<1)break;let o=_s(t,1);a=(o[0]&128)===128,n=o[0]&127,n<126?i=3:n===126?i=1:i=2}else if(i===1){if(ws(t)<2)break;let o=_s(t,2);n=new DataView(o.buffer,o.byteOffset,o.length).getUint16(0),i=3}else if(i===2){if(ws(t)<8)break;let o=_s(t,8),l=new DataView(o.buffer,o.byteOffset,o.length),p=l.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(Tr.ERROR_PACKET);break}n=p*Math.pow(2,32)+l.getUint32(4),i=3}else{if(ws(t)<n)break;let o=_s(t,n);c.enqueue((0,Hi.decodePacket)(a?o:Fi.decode(o),e)),i=0}if(n===0||n>s){c.enqueue(Tr.ERROR_PACKET);break}}}})}K.protocol=4});var jr=x((ng,Pr)=>{var Ie=String.fromCharCode;function Rr(s){for(var e=[],t=0,i=s.length,n,a;t<i;)n=s.charCodeAt(t++),n>=55296&&n<=56319&&t<i?(a=s.charCodeAt(t++),(a&64512)==56320?e.push(((n&1023)<<10)+(a&1023)+65536):(e.push(n),t--)):e.push(n);return e}function fd(s){for(var e=s.length,t=-1,i,n="";++t<e;)i=s[t],i>65535&&(i-=65536,n+=Ie(i>>>10&1023|55296),i=56320|i&1023),n+=Ie(i);return n}function Ar(s,e){if(s>=55296&&s<=57343){if(e)throw Error("Lone surrogate U+"+s.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function zi(s,e){return Ie(s>>e&63|128)}function md(s,e){if((s&4294967168)==0)return Ie(s);var t="";return(s&4294965248)==0?t=Ie(s>>6&31|192):(s&4294901760)==0?(Ar(s,e)||(s=65533),t=Ie(s>>12&15|224),t+=zi(s,6)):(s&4292870144)==0&&(t=Ie(s>>18&7|240),t+=zi(s,12),t+=zi(s,6)),t+=Ie(s&63|128),t}function hd(s,e){e=e||{};for(var t=e.strict!==!1,i=Rr(s),n=i.length,a=-1,r,c="";++a<n;)r=i[a],c+=md(r,t);return c}function lt(){if(Be>=Es)throw Error("Invalid byte index");var s=Ss[Be]&255;if(Be++,(s&192)==128)return s&63;throw Error("Invalid continuation byte")}function xd(s){var e,t,i,n,a;if(Be>Es)throw Error("Invalid byte index");if(Be==Es)return!1;if(e=Ss[Be]&255,Be++,(e&128)==0)return e;if((e&224)==192){if(t=lt(),a=(e&31)<<6|t,a>=128)return a;throw Error("Invalid continuation byte")}if((e&240)==224){if(t=lt(),i=lt(),a=(e&15)<<12|t<<6|i,a>=2048)return Ar(a,s)?a:65533;throw Error("Invalid continuation byte")}if((e&248)==240&&(t=lt(),i=lt(),n=lt(),a=(e&7)<<18|t<<12|i<<6|n,a>=65536&&a<=1114111))return a;throw Error("Invalid UTF-8 detected")}var Ss,Es,Be;function vd(s,e){e=e||{};var t=e.strict!==!1;Ss=Rr(s),Es=Ss.length,Be=0;for(var i=[],n;(n=xd(t))!==!1;)i.push(n);return fd(i)}Pr.exports={version:"2.1.2",encode:hd,decode:vd}});var Fr=x(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.packets=N.protocol=void 0;N.encodePacket=Wi;N.encodeBase64Packet=Ir;N.decodePacket=$i;N.decodeBase64Packet=Br;N.encodePayload=wd;N.decodePayload=Sd;N.encodePayloadAsBinary=Mr;N.decodePayloadAsBinary=qr;var Nr=jr();N.protocol=3;var gd=s=>{for(let e of s)if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return!0;return!1};N.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var pt=Object.keys(N.packets),le={type:"error",data:"parser error"},bd=Buffer.concat([]);function Wi(s,e,t,i){if(typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t=null),Buffer.isBuffer(s.data))return Dr(s,e,i);if(s.data&&(s.data.buffer||s.data)instanceof ArrayBuffer)return Dr({type:s.type,data:Vi(s.data)},e,i);var n=N.packets[s.type];return s.data!==void 0&&(n+=t?Nr.encode(String(s.data),{strict:!1}):String(s.data)),i(""+n)}function Dr(s,e,t){if(!e)return Ir(s,t);var i=s.data,n=Buffer.allocUnsafe(1);return n[0]=N.packets[s.type],t(Buffer.concat([n,i]))}function Ir(s,e){var t=Buffer.isBuffer(s.data)?s.data:Vi(s.data),i="b"+N.packets[s.type];return i+=t.toString("base64"),e(i)}function $i(s,e,t){if(s===void 0)return le;let i;if(typeof s=="string")return i=s.charAt(0),i==="b"?Br(s.slice(1),e):t&&(s=yd(s),s===!1)||Number(i)!=i||!pt[i]?le:s.length>1?{type:pt[i],data:s.slice(1)}:{type:pt[i]};if(e==="arraybuffer"){var n=new Uint8Array(s);return i=n[0],{type:pt[i],data:n.buffer.slice(1)}}return s instanceof ArrayBuffer&&(s=Vi(s)),i=s[0],{type:pt[i],data:s.slice(1)}}function yd(s){try{s=Nr.decode(s,{strict:!1})}catch{return!1}return s}function Br(s,e){var t=pt[s.charAt(0)],i=Buffer.from(s.slice(1),"base64");if(e==="arraybuffer"){for(var n=new Uint8Array(i.length),a=0;a<n.length;a++)n[a]=i[a];i=n.buffer}return{type:t,data:i}}function wd(s,e,t){if(typeof e=="function"&&(t=e,e=null),e&&gd(s))return Mr(s,t);if(!s.length)return t("0:");function i(n,a){Wi(n,e,!1,function(r){a(null,_d(r))})}Lr(s,i,function(n,a){return t(a.join(""))})}function _d(s){return s.length+":"+s}function Lr(s,e,t){let i=new Array(s.length),n=0;for(let a=0;a<s.length;a++)e(s[a],(r,c)=>{i[a]=c,++n===s.length&&t(null,i)})}function Sd(s,e,t){if(typeof s!="string")return qr(s,e,t);if(typeof e=="function"&&(t=e,e=null),s==="")return t(le,0,1);for(var i="",n,a,r,c=0,o=s.length;c<o;c++){var l=s.charAt(c);if(l!==":"){i+=l;continue}if(i===""||i!=(n=Number(i))||(a=s.slice(c+1,c+1+n),i!=a.length))return t(le,0,1);if(a.length){if(r=$i(a,e,!1),le.type===r.type&&le.data===r.data)return t(le,0,1);var p=t(r,c+n,o);if(p===!1)return}c+=n,i=""}if(i!=="")return t(le,0,1)}function Ed(s){for(var e="",t=0,i=s.length;t<i;t++)e+=String.fromCharCode(s[t]);return e}function Cd(s){for(var e=Buffer.allocUnsafe(s.length),t=0,i=s.length;t<i;t++)e.writeUInt8(s.charCodeAt(t),t);return e}function Vi(s){var e=s.byteLength||s.length,t=s.byteOffset||0;return Buffer.from(s.buffer||s,t,e)}function Mr(s,e){if(!s.length)return e(bd);Lr(s,kd,function(t,i){return e(Buffer.concat(i))})}function kd(s,e){function t(i){var n=""+i.length,a;if(typeof i=="string"){a=Buffer.allocUnsafe(n.length+2),a[0]=0;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);return a[a.length-1]=255,e(null,Buffer.concat([a,Cd(i)]))}a=Buffer.allocUnsafe(n.length+2),a[0]=1;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);a[a.length-1]=255,e(null,Buffer.concat([a,i]))}Wi(s,!0,!0,t)}function qr(s,e,t){typeof e=="function"&&(t=e,e=null);for(var i=s,n=[],a;i.length>0;){var r="",c=i[0]===0;for(a=1;i[a]!==255;a++){if(r.length>310)return t(le,0,1);r+=""+i[a]}i=i.slice(r.length+1);var o=parseInt(r,10),l=i.slice(1,o+1);c&&(l=Ed(l)),n.push(l),i=i.slice(o+1)}var p=n.length;for(a=0;a<p;a++){var u=n[a];t($i(u,e,!0),a,p)}}});var Hr=x((rg,Ur)=>{var ut=1e3,dt=ut*60,ft=dt*60,Ke=ft*24,Td=Ke*7,Od=Ke*365.25;Ur.exports=function(s,e){e=e||{};var t=typeof s;if(t==="string"&&s.length>0)return Rd(s);if(t==="number"&&isFinite(s))return e.long?Pd(s):Ad(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))};function Rd(s){if(s=String(s),!(s.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*Od;case"weeks":case"week":case"w":return t*Td;case"days":case"day":case"d":return t*Ke;case"hours":case"hour":case"hrs":case"hr":case"h":return t*ft;case"minutes":case"minute":case"mins":case"min":case"m":return t*dt;case"seconds":case"second":case"secs":case"sec":case"s":return t*ut;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Ad(s){var e=Math.abs(s);return e>=Ke?Math.round(s/Ke)+"d":e>=ft?Math.round(s/ft)+"h":e>=dt?Math.round(s/dt)+"m":e>=ut?Math.round(s/ut)+"s":s+"ms"}function Pd(s){var e=Math.abs(s);return e>=Ke?Cs(s,e,Ke,"day"):e>=ft?Cs(s,e,ft,"hour"):e>=dt?Cs(s,e,dt,"minute"):e>=ut?Cs(s,e,ut,"second"):s+" ms"}function Cs(s,e,t,i){var n=e>=t*1.5;return Math.round(s/t)+" "+i+(n?"s":"")}});var Gi=x((og,zr)=>{function jd(s){t.debug=t,t.default=t,t.coerce=o,t.disable=r,t.enable=n,t.enabled=c,t.humanize=Hr(),t.destroy=l,Object.keys(s).forEach(p=>{t[p]=s[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let u=0;for(let d=0;d<p.length;d++)u=(u<<5)-u+p.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(p){let u,d=null,h,m;function f(...v){if(!f.enabled)return;let y=f,g=Number(new Date),q=g-(u||g);y.diff=q,y.prev=u,y.curr=g,u=g,v[0]=t.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let D=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(V,me)=>{if(V==="%%")return"%";D++;let we=t.formatters[me];if(typeof we=="function"){let he=v[D];V=we.call(y,he),v.splice(D,1),D--}return V}),t.formatArgs.call(y,v),(y.log||t.log).apply(y,v)}return f.namespace=p,f.useColors=t.useColors(),f.color=t.selectColor(p),f.extend=i,f.destroy=t.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,m=t.enabled(p)),m),set:v=>{d=v}}),typeof t.init=="function"&&t.init(f),f}function i(p,u){let d=t(this.namespace+(typeof u>"u"?":":u)+p);return d.log=this.log,d}function n(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let u=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function a(p,u){let d=0,h=0,m=-1,f=0;for(;d<p.length;)if(h<u.length&&(u[h]===p[d]||u[h]==="*"))u[h]==="*"?(m=h,f=d,h++):(d++,h++);else if(m!==-1)h=m+1,f++,d=f;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function r(){let p=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),p}function c(p){for(let u of t.skips)if(a(p,u))return!1;for(let u of t.names)if(a(p,u))return!0;return!1}function o(p){return p instanceof Error?p.stack||p.message:p}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}zr.exports=jd});var Wr=x((Y,ks)=>{Y.formatArgs=Nd;Y.save=Id;Y.load=Bd;Y.useColors=Dd;Y.storage=Ld();Y.destroy=(()=>{let s=!1;return()=>{s||(s=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Y.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Dd(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Nd(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+ks.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;s.splice(1,0,e,"color: inherit");let t=0,i=0;s[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),s.splice(i,0,e)}Y.log=console.debug||console.log||(()=>{});function Id(s){try{s?Y.storage.setItem("debug",s):Y.storage.removeItem("debug")}catch{}}function Bd(){let s;try{s=Y.storage.getItem("debug")||Y.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=process.env.DEBUG),s}function Ld(){try{return localStorage}catch{}}ks.exports=Gi()(Y);var{formatters:Md}=ks.exports;Md.j=function(s){try{return JSON.stringify(s)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Vr=x((cg,$r)=>{"use strict";$r.exports=(s,e=process.argv)=>{let t=s.startsWith("-")?"":s.length===1?"-":"--",i=e.indexOf(t+s),n=e.indexOf("--");return i!==-1&&(n===-1||i<n)}});var Yr=x((lg,Kr)=>{"use strict";var qd=require("os"),Gr=require("tty"),ie=Vr(),{env:I}=process,Le;ie("no-color")||ie("no-colors")||ie("color=false")||ie("color=never")?Le=0:(ie("color")||ie("colors")||ie("color=true")||ie("color=always"))&&(Le=1);"FORCE_COLOR"in I&&(I.FORCE_COLOR==="true"?Le=1:I.FORCE_COLOR==="false"?Le=0:Le=I.FORCE_COLOR.length===0?1:Math.min(parseInt(I.FORCE_COLOR,10),3));function Ki(s){return s===0?!1:{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3}}function Yi(s,e){if(Le===0)return 0;if(ie("color=16m")||ie("color=full")||ie("color=truecolor"))return 3;if(ie("color=256"))return 2;if(s&&!e&&Le===void 0)return 0;let t=Le||0;if(I.TERM==="dumb")return t;if(process.platform==="win32"){let i=qd.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in I)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in I)||I.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in I)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(I.TEAMCITY_VERSION)?1:0;if(I.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in I){let i=parseInt((I.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(I.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(I.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(I.TERM)||"COLORTERM"in I?1:t}function Fd(s){let e=Yi(s,s&&s.isTTY);return Ki(e)}Kr.exports={supportsColor:Fd,stdout:Ki(Yi(!0,Gr.isatty(1))),stderr:Ki(Yi(!0,Gr.isatty(2)))}});var Jr=x((B,Os)=>{var Ud=require("tty"),Ts=require("util");B.init=Kd;B.log=$d;B.formatArgs=zd;B.save=Vd;B.load=Gd;B.useColors=Hd;B.destroy=Ts.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");B.colors=[6,2,3,4,5,1];try{let s=Yr();s&&(s.stderr||s).level>=2&&(B.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}B.inspectOpts=Object.keys(process.env).filter(s=>/^debug_/i.test(s)).reduce((s,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,a)=>a.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),s[t]=i,s},{});function Hd(){return"colors"in B.inspectOpts?!!B.inspectOpts.colors:Ud.isatty(process.stderr.fd)}function zd(s){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${n};1m${e} \x1B[0m`;s[0]=a+s[0].split(`
2
+ var fu=Object.create;var xs=Object.defineProperty;var mu=Object.getOwnPropertyDescriptor;var hu=Object.getOwnPropertyNames;var xu=Object.getPrototypeOf,vu=Object.prototype.hasOwnProperty;var Ve=(s,e)=>()=>(s&&(e=s(s=0)),e);var x=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Ge=(s,e)=>{for(var t in e)xs(s,t,{get:e[t],enumerable:!0})},Ka=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of hu(e))!vu.call(s,n)&&n!==t&&xs(s,n,{get:()=>e[n],enumerable:!(i=mu(e,n))||i.enumerable});return s};var R=(s,e,t)=>(t=s!=null?fu(xu(s)):{},Ka(e||!s||!s.__esModule?xs(t,"default",{value:s,enumerable:!0}):t,s)),gu=s=>Ka(xs({},"__esModule",{value:!0}),s);var Qa=x(($v,Ni)=>{"use strict";Ni.exports=Ja;Ni.exports.preferredCharsets=Ja;var bu=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function yu(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=wu(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function wu(s,e){var t=bu.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{charset:i,q:n,i:e}}function _u(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Su(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Su(s,e,t){var i=0;if(e.charset.toLowerCase()===s.toLowerCase())i|=1;else if(e.charset!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Ja(s,e){var t=yu(s===void 0?"*":s||"");if(!e)return t.filter(Xa).sort(Ya).map(Eu);var i=e.map(function(a,r){return _u(a,t,r)});return i.filter(Xa).sort(Ya).map(function(a){return e[i.indexOf(a)]})}function Ya(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Eu(s){return s.charset}function Xa(s){return s.q>0}});var ir=x((Vv,Ii)=>{"use strict";Ii.exports=sr;Ii.exports.preferredEncodings=sr;var Cu=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function ku(s){for(var e=s.split(","),t=!1,i=1,n=0,a=0;n<e.length;n++){var r=Tu(e[n].trim(),n);r&&(e[a++]=r,t=t||tr("identity",r),i=Math.min(i,r.q||1))}return t||(e[a++]={encoding:"identity",q:i,i:n}),e.length=a,e}function Tu(s,e){var t=Cu.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if(c[0]==="q"){n=parseFloat(c[1]);break}}return{encoding:i,q:n,i:e}}function Ou(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=tr(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function tr(s,e,t){var i=0;if(e.encoding.toLowerCase()===s.toLowerCase())i|=1;else if(e.encoding!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function sr(s,e){var t=ku(s||"");if(!e)return t.filter(er).sort(Za).map(Ru);var i=e.map(function(a,r){return Ou(a,t,r)});return i.filter(er).sort(Za).map(function(a){return e[i.indexOf(a)]})}function Za(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Ru(s){return s.encoding}function er(s){return s.q>0}});var cr=x((Gv,Bi)=>{"use strict";Bi.exports=or;Bi.exports.preferredLanguages=or;var Au=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function Pu(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=rr(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function rr(s,e){var t=Au.exec(s);if(!t)return null;var i=t[1],n=t[2],a=i;n&&(a+="-"+n);var r=1;if(t[3])for(var c=t[3].split(";"),o=0;o<c.length;o++){var l=c[o].split("=");l[0]==="q"&&(r=parseFloat(l[1]))}return{prefix:i,suffix:n,q:r,i:e,full:a}}function ju(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Du(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Du(s,e,t){var i=rr(s);if(!i)return null;var n=0;if(e.full.toLowerCase()===i.full.toLowerCase())n|=4;else if(e.prefix.toLowerCase()===i.full.toLowerCase())n|=2;else if(e.full.toLowerCase()===i.prefix.toLowerCase())n|=1;else if(e.full!=="*")return null;return{i:t,o:e.i,q:e.q,s:n}}function or(s,e){var t=Pu(s===void 0?"*":s||"");if(!e)return t.filter(ar).sort(nr).map(Nu);var i=e.map(function(a,r){return ju(a,t,r)});return i.filter(ar).sort(nr).map(function(a){return e[i.indexOf(a)]})}function nr(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Nu(s){return s.full}function ar(s){return s.q>0}});var mr=x((Kv,Li)=>{"use strict";Li.exports=dr;Li.exports.preferredMediaTypes=dr;var Iu=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function Bu(s){for(var e=Uu(s),t=0,i=0;t<e.length;t++){var n=ur(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function ur(s,e){var t=Iu.exec(s);if(!t)return null;var i=Object.create(null),n=1,a=t[2],r=t[1];if(t[3])for(var c=Hu(t[3]).map(Fu),o=0;o<c.length;o++){var l=c[o],p=l[0].toLowerCase(),u=l[1],d=u&&u[0]==='"'&&u[u.length-1]==='"'?u.substr(1,u.length-2):u;if(p==="q"){n=parseFloat(d);break}i[p]=d}return{type:r,subtype:a,params:i,q:n,i:e}}function Lu(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Mu(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Mu(s,e,t){var i=ur(s),n=0;if(!i)return null;if(e.type.toLowerCase()==i.type.toLowerCase())n|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==i.subtype.toLowerCase())n|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(r){return e.params[r]=="*"||(e.params[r]||"").toLowerCase()==(i.params[r]||"").toLowerCase()}))n|=1;else return null;return{i:t,o:e.i,q:e.q,s:n}}function dr(s,e){var t=Bu(s===void 0?"*/*":s||"");if(!e)return t.filter(pr).sort(lr).map(qu);var i=e.map(function(a,r){return Lu(a,t,r)});return i.filter(pr).sort(lr).map(function(a){return e[i.indexOf(a)]})}function lr(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function qu(s){return s.type+"/"+s.subtype}function pr(s){return s.q>0}function fr(s){for(var e=0,t=0;(t=s.indexOf('"',t))!==-1;)e++,t++;return e}function Fu(s){var e=s.indexOf("="),t,i;return e===-1?t=s:(t=s.substr(0,e),i=s.substr(e+1)),[t,i]}function Uu(s){for(var e=s.split(","),t=1,i=0;t<e.length;t++)fr(e[i])%2==0?e[++i]=e[t]:e[i]+=","+e[t];return e.length=i+1,e}function Hu(s){for(var e=s.split(";"),t=1,i=0;t<e.length;t++)fr(e[i])%2==0?e[++i]=e[t]:e[i]+=";"+e[t];e.length=i+1;for(var t=0;t<e.length;t++)e[t]=e[t].trim();return e}});var hr=x((Yv,Mi)=>{"use strict";var zu=Qa(),Wu=ir(),$u=cr(),Vu=mr();Mi.exports=S;Mi.exports.Negotiator=S;function S(s){if(!(this instanceof S))return new S(s);this.request=s}S.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]};S.prototype.charsets=function(e){return zu(this.request.headers["accept-charset"],e)};S.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]};S.prototype.encodings=function(e){return Wu(this.request.headers["accept-encoding"],e)};S.prototype.language=function(e){var t=this.languages(e);return t&&t[0]};S.prototype.languages=function(e){return $u(this.request.headers["accept-language"],e)};S.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]};S.prototype.mediaTypes=function(e){return Vu(this.request.headers.accept,e)};S.prototype.preferredCharset=S.prototype.charset;S.prototype.preferredCharsets=S.prototype.charsets;S.prototype.preferredEncoding=S.prototype.encoding;S.prototype.preferredEncodings=S.prototype.encodings;S.prototype.preferredLanguage=S.prototype.language;S.prototype.preferredLanguages=S.prototype.languages;S.prototype.preferredMediaType=S.prototype.mediaType;S.prototype.preferredMediaTypes=S.prototype.mediaTypes});var xr=x((Xv,Gu)=>{Gu.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var gr=x((Jv,vr)=>{vr.exports=xr()});var wr=x(K=>{"use strict";var vs=gr(),Ku=require("path").extname,br=/^\s*([^;\s]*)(?:;|\s|$)/,Yu=/^text\//i;K.charset=yr;K.charsets={lookup:yr};K.contentType=Xu;K.extension=Ju;K.extensions=Object.create(null);K.lookup=Qu;K.types=Object.create(null);Zu(K.extensions,K.types);function yr(s){if(!s||typeof s!="string")return!1;var e=br.exec(s),t=e&&vs[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&Yu.test(e[1])?"UTF-8":!1}function Xu(s){if(!s||typeof s!="string")return!1;var e=s.indexOf("/")===-1?K.lookup(s):s;if(!e)return!1;if(e.indexOf("charset")===-1){var t=K.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function Ju(s){if(!s||typeof s!="string")return!1;var e=br.exec(s),t=e&&K.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function Qu(s){if(!s||typeof s!="string")return!1;var e=Ku("x."+s).toLowerCase().substr(1);return e&&K.types[e]||!1}function Zu(s,e){var t=["nginx","apache",void 0,"iana"];Object.keys(vs).forEach(function(n){var a=vs[n],r=a.extensions;if(!(!r||!r.length)){s[n]=r;for(var c=0;c<r.length;c++){var o=r[c];if(e[o]){var l=t.indexOf(vs[e[o]].source),p=t.indexOf(a.source);if(e[o]!=="application/octet-stream"&&(l>p||l===p&&e[o].substr(0,12)==="application/"))continue}e[o]=n}}})}});var gs=x((Zv,_r)=>{"use strict";var ed=hr(),td=wr();_r.exports=Z;function Z(s){if(!(this instanceof Z))return new Z(s);this.headers=s.headers,this.negotiator=new ed(s)}Z.prototype.type=Z.prototype.types=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var i=e.map(sd),n=this.negotiator.mediaTypes(i.filter(id)),a=n[0];return a?e[i.indexOf(a)]:!1};Z.prototype.encoding=Z.prototype.encodings=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};Z.prototype.charset=Z.prototype.charsets=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};Z.prototype.lang=Z.prototype.langs=Z.prototype.language=Z.prototype.languages=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function sd(s){return s.indexOf("/")===-1?td.lookup(s):s}function id(s){return typeof s=="string"}});var Fi=x((Sr,Er)=>{var zt=require("crypto"),qi=function(){};qi.prototype.getRandomBytes=function(s){var e=4096,t=this;if(s=s||12,s>e)return zt.randomBytes(s);var i=parseInt(e/s),n=parseInt(i*.85);if(!n||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==i&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>n)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,zt.randomBytes(e,function(r,c){t.bytesBuffer=c,t.bytesBufferIndex=0,t.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return zt.randomBytes(s);var a=this.bytesBuffer.slice(s*this.bytesBufferIndex,s*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};qi.prototype.generateId=function(){var s=Buffer.alloc(15);return s.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,s.writeInt32BE(this.sequenceNumber,11),zt.randomBytes?this.getRandomBytes(12).copy(s):[0,4,8].forEach(function(e){s.writeInt32BE(Math.random()*Math.pow(2,32)|0,e)}),s.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()};Sr=Er.exports=new qi});var bs=x(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.ERROR_PACKET=Ne.PACKET_TYPES_REVERSE=Ne.PACKET_TYPES=void 0;var xe=Object.create(null);Ne.PACKET_TYPES=xe;xe.open="0";xe.close="1";xe.ping="2";xe.pong="3";xe.message="4";xe.upgrade="5";xe.noop="6";var Cr=Object.create(null);Ne.PACKET_TYPES_REVERSE=Cr;Object.keys(xe).forEach(s=>{Cr[xe[s]]=s});var nd={type:"error",data:"parser error"};Ne.ERROR_PACKET=nd});var Tr=x(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.encodePacket=void 0;ct.encodePacketToBinary=od;var ad=bs(),rd=({type:s,data:e},t,i)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?i(t?e:"b"+kr(e,!0).toString("base64")):i(ad.PACKET_TYPES[s]+(e||""));ct.encodePacket=rd;var kr=(s,e)=>Buffer.isBuffer(s)||s instanceof Uint8Array&&!e?s:s instanceof ArrayBuffer?Buffer.from(s):Buffer.from(s.buffer,s.byteOffset,s.byteLength),Ui;function od(s,e){if(s.data instanceof ArrayBuffer||ArrayBuffer.isView(s.data))return e(kr(s.data,!1));(0,ct.encodePacket)(s,!0,t=>{Ui||(Ui=new TextEncoder),e(Ui.encode(t))})}});var Rr=x(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.decodePacket=void 0;var ys=bs(),cd=(s,e)=>{if(typeof s!="string")return{type:"message",data:Or(s,e)};let t=s.charAt(0);if(t==="b"){let i=Buffer.from(s.substring(1),"base64");return{type:"message",data:Or(i,e)}}return ys.PACKET_TYPES_REVERSE[t]?s.length>1?{type:ys.PACKET_TYPES_REVERSE[t],data:s.substring(1)}:{type:ys.PACKET_TYPES_REVERSE[t]}:ys.ERROR_PACKET};ws.decodePacket=cd;var Or=(s,e)=>e==="arraybuffer"?s instanceof ArrayBuffer?s:Buffer.isBuffer(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s.buffer:Buffer.isBuffer(s)?s:Buffer.from(s)});var Wt=x(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.decodePayload=Y.decodePacket=Y.encodePayload=Y.encodePacket=Y.protocol=void 0;Y.createPacketEncoderStream=ud;Y.createPacketDecoderStream=dd;var zi=Tr();Object.defineProperty(Y,"encodePacket",{enumerable:!0,get:function(){return zi.encodePacket}});var Wi=Rr();Object.defineProperty(Y,"decodePacket",{enumerable:!0,get:function(){return Wi.decodePacket}});var Ar=bs(),Pr="",ld=(s,e)=>{let t=s.length,i=new Array(t),n=0;s.forEach((a,r)=>{(0,zi.encodePacket)(a,!1,c=>{i[r]=c,++n===t&&e(i.join(Pr))})})};Y.encodePayload=ld;var pd=(s,e)=>{let t=s.split(Pr),i=[];for(let n=0;n<t.length;n++){let a=(0,Wi.decodePacket)(t[n],e);if(i.push(a),a.type==="error")break}return i};Y.decodePayload=pd;function ud(){return new TransformStream({transform(s,e){(0,zi.encodePacketToBinary)(s,t=>{let i=t.length,n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);let a=new DataView(n.buffer);a.setUint8(0,126),a.setUint16(1,i)}else{n=new Uint8Array(9);let a=new DataView(n.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(i))}s.data&&typeof s.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}var Hi;function _s(s){return s.reduce((e,t)=>e+t.length,0)}function Ss(s,e){if(s[0].length===e)return s.shift();let t=new Uint8Array(e),i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function dd(s,e){Hi||(Hi=new TextDecoder);let t=[],i=0,n=-1,a=!1;return new TransformStream({transform(r,c){for(t.push(r);;){if(i===0){if(_s(t)<1)break;let o=Ss(t,1);a=(o[0]&128)===128,n=o[0]&127,n<126?i=3:n===126?i=1:i=2}else if(i===1){if(_s(t)<2)break;let o=Ss(t,2);n=new DataView(o.buffer,o.byteOffset,o.length).getUint16(0),i=3}else if(i===2){if(_s(t)<8)break;let o=Ss(t,8),l=new DataView(o.buffer,o.byteOffset,o.length),p=l.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(Ar.ERROR_PACKET);break}n=p*Math.pow(2,32)+l.getUint32(4),i=3}else{if(_s(t)<n)break;let o=Ss(t,n);c.enqueue((0,Wi.decodePacket)(a?o:Hi.decode(o),e)),i=0}if(n===0||n>s){c.enqueue(Ar.ERROR_PACKET);break}}}})}Y.protocol=4});var Ir=x((ng,Nr)=>{var Ie=String.fromCharCode;function jr(s){for(var e=[],t=0,i=s.length,n,a;t<i;)n=s.charCodeAt(t++),n>=55296&&n<=56319&&t<i?(a=s.charCodeAt(t++),(a&64512)==56320?e.push(((n&1023)<<10)+(a&1023)+65536):(e.push(n),t--)):e.push(n);return e}function fd(s){for(var e=s.length,t=-1,i,n="";++t<e;)i=s[t],i>65535&&(i-=65536,n+=Ie(i>>>10&1023|55296),i=56320|i&1023),n+=Ie(i);return n}function Dr(s,e){if(s>=55296&&s<=57343){if(e)throw Error("Lone surrogate U+"+s.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function $i(s,e){return Ie(s>>e&63|128)}function md(s,e){if((s&4294967168)==0)return Ie(s);var t="";return(s&4294965248)==0?t=Ie(s>>6&31|192):(s&4294901760)==0?(Dr(s,e)||(s=65533),t=Ie(s>>12&15|224),t+=$i(s,6)):(s&4292870144)==0&&(t=Ie(s>>18&7|240),t+=$i(s,12),t+=$i(s,6)),t+=Ie(s&63|128),t}function hd(s,e){e=e||{};for(var t=e.strict!==!1,i=jr(s),n=i.length,a=-1,r,c="";++a<n;)r=i[a],c+=md(r,t);return c}function lt(){if(Be>=Cs)throw Error("Invalid byte index");var s=Es[Be]&255;if(Be++,(s&192)==128)return s&63;throw Error("Invalid continuation byte")}function xd(s){var e,t,i,n,a;if(Be>Cs)throw Error("Invalid byte index");if(Be==Cs)return!1;if(e=Es[Be]&255,Be++,(e&128)==0)return e;if((e&224)==192){if(t=lt(),a=(e&31)<<6|t,a>=128)return a;throw Error("Invalid continuation byte")}if((e&240)==224){if(t=lt(),i=lt(),a=(e&15)<<12|t<<6|i,a>=2048)return Dr(a,s)?a:65533;throw Error("Invalid continuation byte")}if((e&248)==240&&(t=lt(),i=lt(),n=lt(),a=(e&7)<<18|t<<12|i<<6|n,a>=65536&&a<=1114111))return a;throw Error("Invalid UTF-8 detected")}var Es,Cs,Be;function vd(s,e){e=e||{};var t=e.strict!==!1;Es=jr(s),Cs=Es.length,Be=0;for(var i=[],n;(n=xd(t))!==!1;)i.push(n);return fd(i)}Nr.exports={version:"2.1.2",encode:hd,decode:vd}});var zr=x(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.packets=N.protocol=void 0;N.encodePacket=Vi;N.encodeBase64Packet=Mr;N.decodePacket=Gi;N.decodeBase64Packet=qr;N.encodePayload=wd;N.decodePayload=Sd;N.encodePayloadAsBinary=Ur;N.decodePayloadAsBinary=Hr;var Lr=Ir();N.protocol=3;var gd=s=>{for(let e of s)if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return!0;return!1};N.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var pt=Object.keys(N.packets),le={type:"error",data:"parser error"},bd=Buffer.concat([]);function Vi(s,e,t,i){if(typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t=null),Buffer.isBuffer(s.data))return Br(s,e,i);if(s.data&&(s.data.buffer||s.data)instanceof ArrayBuffer)return Br({type:s.type,data:Ki(s.data)},e,i);var n=N.packets[s.type];return s.data!==void 0&&(n+=t?Lr.encode(String(s.data),{strict:!1}):String(s.data)),i(""+n)}function Br(s,e,t){if(!e)return Mr(s,t);var i=s.data,n=Buffer.allocUnsafe(1);return n[0]=N.packets[s.type],t(Buffer.concat([n,i]))}function Mr(s,e){var t=Buffer.isBuffer(s.data)?s.data:Ki(s.data),i="b"+N.packets[s.type];return i+=t.toString("base64"),e(i)}function Gi(s,e,t){if(s===void 0)return le;let i;if(typeof s=="string")return i=s.charAt(0),i==="b"?qr(s.slice(1),e):t&&(s=yd(s),s===!1)||Number(i)!=i||!pt[i]?le:s.length>1?{type:pt[i],data:s.slice(1)}:{type:pt[i]};if(e==="arraybuffer"){var n=new Uint8Array(s);return i=n[0],{type:pt[i],data:n.buffer.slice(1)}}return s instanceof ArrayBuffer&&(s=Ki(s)),i=s[0],{type:pt[i],data:s.slice(1)}}function yd(s){try{s=Lr.decode(s,{strict:!1})}catch{return!1}return s}function qr(s,e){var t=pt[s.charAt(0)],i=Buffer.from(s.slice(1),"base64");if(e==="arraybuffer"){for(var n=new Uint8Array(i.length),a=0;a<n.length;a++)n[a]=i[a];i=n.buffer}return{type:t,data:i}}function wd(s,e,t){if(typeof e=="function"&&(t=e,e=null),e&&gd(s))return Ur(s,t);if(!s.length)return t("0:");function i(n,a){Vi(n,e,!1,function(r){a(null,_d(r))})}Fr(s,i,function(n,a){return t(a.join(""))})}function _d(s){return s.length+":"+s}function Fr(s,e,t){let i=new Array(s.length),n=0;for(let a=0;a<s.length;a++)e(s[a],(r,c)=>{i[a]=c,++n===s.length&&t(null,i)})}function Sd(s,e,t){if(typeof s!="string")return Hr(s,e,t);if(typeof e=="function"&&(t=e,e=null),s==="")return t(le,0,1);for(var i="",n,a,r,c=0,o=s.length;c<o;c++){var l=s.charAt(c);if(l!==":"){i+=l;continue}if(i===""||i!=(n=Number(i))||(a=s.slice(c+1,c+1+n),i!=a.length))return t(le,0,1);if(a.length){if(r=Gi(a,e,!1),le.type===r.type&&le.data===r.data)return t(le,0,1);var p=t(r,c+n,o);if(p===!1)return}c+=n,i=""}if(i!=="")return t(le,0,1)}function Ed(s){for(var e="",t=0,i=s.length;t<i;t++)e+=String.fromCharCode(s[t]);return e}function Cd(s){for(var e=Buffer.allocUnsafe(s.length),t=0,i=s.length;t<i;t++)e.writeUInt8(s.charCodeAt(t),t);return e}function Ki(s){var e=s.byteLength||s.length,t=s.byteOffset||0;return Buffer.from(s.buffer||s,t,e)}function Ur(s,e){if(!s.length)return e(bd);Fr(s,kd,function(t,i){return e(Buffer.concat(i))})}function kd(s,e){function t(i){var n=""+i.length,a;if(typeof i=="string"){a=Buffer.allocUnsafe(n.length+2),a[0]=0;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);return a[a.length-1]=255,e(null,Buffer.concat([a,Cd(i)]))}a=Buffer.allocUnsafe(n.length+2),a[0]=1;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);a[a.length-1]=255,e(null,Buffer.concat([a,i]))}Vi(s,!0,!0,t)}function Hr(s,e,t){typeof e=="function"&&(t=e,e=null);for(var i=s,n=[],a;i.length>0;){var r="",c=i[0]===0;for(a=1;i[a]!==255;a++){if(r.length>310)return t(le,0,1);r+=""+i[a]}i=i.slice(r.length+1);var o=parseInt(r,10),l=i.slice(1,o+1);c&&(l=Ed(l)),n.push(l),i=i.slice(o+1)}var p=n.length;for(a=0;a<p;a++){var u=n[a];t(Gi(u,e,!0),a,p)}}});var $r=x((rg,Wr)=>{var ut=1e3,dt=ut*60,ft=dt*60,Ke=ft*24,Td=Ke*7,Od=Ke*365.25;Wr.exports=function(s,e){e=e||{};var t=typeof s;if(t==="string"&&s.length>0)return Rd(s);if(t==="number"&&isFinite(s))return e.long?Pd(s):Ad(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))};function Rd(s){if(s=String(s),!(s.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*Od;case"weeks":case"week":case"w":return t*Td;case"days":case"day":case"d":return t*Ke;case"hours":case"hour":case"hrs":case"hr":case"h":return t*ft;case"minutes":case"minute":case"mins":case"min":case"m":return t*dt;case"seconds":case"second":case"secs":case"sec":case"s":return t*ut;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Ad(s){var e=Math.abs(s);return e>=Ke?Math.round(s/Ke)+"d":e>=ft?Math.round(s/ft)+"h":e>=dt?Math.round(s/dt)+"m":e>=ut?Math.round(s/ut)+"s":s+"ms"}function Pd(s){var e=Math.abs(s);return e>=Ke?ks(s,e,Ke,"day"):e>=ft?ks(s,e,ft,"hour"):e>=dt?ks(s,e,dt,"minute"):e>=ut?ks(s,e,ut,"second"):s+" ms"}function ks(s,e,t,i){var n=e>=t*1.5;return Math.round(s/t)+" "+i+(n?"s":"")}});var Yi=x((og,Vr)=>{function jd(s){t.debug=t,t.default=t,t.coerce=o,t.disable=r,t.enable=n,t.enabled=c,t.humanize=$r(),t.destroy=l,Object.keys(s).forEach(p=>{t[p]=s[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let u=0;for(let d=0;d<p.length;d++)u=(u<<5)-u+p.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(p){let u,d=null,h,m;function f(...v){if(!f.enabled)return;let y=f,g=Number(new Date),q=g-(u||g);y.diff=q,y.prev=u,y.curr=g,u=g,v[0]=t.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let D=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(G,me)=>{if(G==="%%")return"%";D++;let we=t.formatters[me];if(typeof we=="function"){let he=v[D];G=we.call(y,he),v.splice(D,1),D--}return G}),t.formatArgs.call(y,v),(y.log||t.log).apply(y,v)}return f.namespace=p,f.useColors=t.useColors(),f.color=t.selectColor(p),f.extend=i,f.destroy=t.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,m=t.enabled(p)),m),set:v=>{d=v}}),typeof t.init=="function"&&t.init(f),f}function i(p,u){let d=t(this.namespace+(typeof u>"u"?":":u)+p);return d.log=this.log,d}function n(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let u=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function a(p,u){let d=0,h=0,m=-1,f=0;for(;d<p.length;)if(h<u.length&&(u[h]===p[d]||u[h]==="*"))u[h]==="*"?(m=h,f=d,h++):(d++,h++);else if(m!==-1)h=m+1,f++,d=f;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function r(){let p=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),p}function c(p){for(let u of t.skips)if(a(p,u))return!1;for(let u of t.names)if(a(p,u))return!0;return!1}function o(p){return p instanceof Error?p.stack||p.message:p}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Vr.exports=jd});var Gr=x((X,Ts)=>{X.formatArgs=Nd;X.save=Id;X.load=Bd;X.useColors=Dd;X.storage=Ld();X.destroy=(()=>{let s=!1;return()=>{s||(s=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();X.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Dd(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Nd(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+Ts.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;s.splice(1,0,e,"color: inherit");let t=0,i=0;s[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),s.splice(i,0,e)}X.log=console.debug||console.log||(()=>{});function Id(s){try{s?X.storage.setItem("debug",s):X.storage.removeItem("debug")}catch{}}function Bd(){let s;try{s=X.storage.getItem("debug")||X.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=process.env.DEBUG),s}function Ld(){try{return localStorage}catch{}}Ts.exports=Yi()(X);var{formatters:Md}=Ts.exports;Md.j=function(s){try{return JSON.stringify(s)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Yr=x((cg,Kr)=>{"use strict";Kr.exports=(s,e=process.argv)=>{let t=s.startsWith("-")?"":s.length===1?"-":"--",i=e.indexOf(t+s),n=e.indexOf("--");return i!==-1&&(n===-1||i<n)}});var Qr=x((lg,Jr)=>{"use strict";var qd=require("os"),Xr=require("tty"),ie=Yr(),{env:I}=process,Le;ie("no-color")||ie("no-colors")||ie("color=false")||ie("color=never")?Le=0:(ie("color")||ie("colors")||ie("color=true")||ie("color=always"))&&(Le=1);"FORCE_COLOR"in I&&(I.FORCE_COLOR==="true"?Le=1:I.FORCE_COLOR==="false"?Le=0:Le=I.FORCE_COLOR.length===0?1:Math.min(parseInt(I.FORCE_COLOR,10),3));function Xi(s){return s===0?!1:{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3}}function Ji(s,e){if(Le===0)return 0;if(ie("color=16m")||ie("color=full")||ie("color=truecolor"))return 3;if(ie("color=256"))return 2;if(s&&!e&&Le===void 0)return 0;let t=Le||0;if(I.TERM==="dumb")return t;if(process.platform==="win32"){let i=qd.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in I)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in I)||I.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in I)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(I.TEAMCITY_VERSION)?1:0;if(I.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in I){let i=parseInt((I.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(I.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(I.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(I.TERM)||"COLORTERM"in I?1:t}function Fd(s){let e=Ji(s,s&&s.isTTY);return Xi(e)}Jr.exports={supportsColor:Fd,stdout:Xi(Ji(!0,Xr.isatty(1))),stderr:Xi(Ji(!0,Xr.isatty(2)))}});var eo=x((B,Rs)=>{var Ud=require("tty"),Os=require("util");B.init=Kd;B.log=$d;B.formatArgs=zd;B.save=Vd;B.load=Gd;B.useColors=Hd;B.destroy=Os.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");B.colors=[6,2,3,4,5,1];try{let s=Qr();s&&(s.stderr||s).level>=2&&(B.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}B.inspectOpts=Object.keys(process.env).filter(s=>/^debug_/i.test(s)).reduce((s,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,a)=>a.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),s[t]=i,s},{});function Hd(){return"colors"in B.inspectOpts?!!B.inspectOpts.colors:Ud.isatty(process.stderr.fd)}function zd(s){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${n};1m${e} \x1B[0m`;s[0]=a+s[0].split(`
3
3
  `).join(`
4
- `+a),s.push(n+"m+"+Os.exports.humanize(this.diff)+"\x1B[0m")}else s[0]=Wd()+e+" "+s[0]}function Wd(){return B.inspectOpts.hideDate?"":new Date().toISOString()+" "}function $d(...s){return process.stderr.write(Ts.formatWithOptions(B.inspectOpts,...s)+`
5
- `)}function Vd(s){s?process.env.DEBUG=s:delete process.env.DEBUG}function Gd(){return process.env.DEBUG}function Kd(s){s.inspectOpts={};let e=Object.keys(B.inspectOpts);for(let t=0;t<e.length;t++)s.inspectOpts[e[t]]=B.inspectOpts[e[t]]}Os.exports=Gi()(B);var{formatters:Xr}=Os.exports;Xr.o=function(s){return this.inspectOpts.colors=this.useColors,Ts.inspect(s,this.inspectOpts).split(`
6
- `).map(e=>e.trim()).join(" ")};Xr.O=function(s){return this.inspectOpts.colors=this.useColors,Ts.inspect(s,this.inspectOpts)}});var j=x((pg,Xi)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xi.exports=Wr():Xi.exports=Jr()});var Ye=x(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});As.Transport=void 0;var Yd=require("events"),Xd=Wt(),Jd=Fr(),Qd=j(),Qr=(0,Qd.default)("engine:transport");function Zd(){}var Rs=class extends Yd.EventEmitter{get readyState(){return this._readyState}set readyState(e){Qr("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=e._query.EIO==="4"?4:3,this.parser=this.protocol===4?Xd:Jd,this.supportsBinary=!(e._query&&e._query.b64)}discard(){this.discarded=!0}onRequest(e){}close(e){this.readyState==="closed"||this.readyState==="closing"||(this.readyState="closing",this.doClose(e||Zd))}onError(e,t){if(this.listeners("error").length){let i=new Error(e);i.type="TransportError",i.description=t,this.emit("error",i)}else Qr("ignored transport error %s (%s)",e,t)}onPacket(e){this.emit("packet",e)}onData(e){this.onPacket(this.parser.decodePacket(e))}onClose(){this.readyState="closed",this.emit("close")}};As.Transport=Rs;Rs.upgradesTo=[]});var Qi=x(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.Polling=void 0;var ef=Ye(),Zr=require("zlib"),tf=vs(),sf=j(),Z=(0,sf.default)("engine:polling"),nf={gzip:Zr.createGzip,deflate:Zr.createDeflate},Ji=class extends ef.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.method==="GET"?this.onPollRequest(e,t):e.method==="POST"?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req){Z("request overlap"),this.onError("overlap from client"),t.writeHead(400),t.end();return}Z("setting request"),this.req=e,this.res=t;let i=()=>{this.onError("poll connection closed prematurely")},n=()=>{e.removeListener("close",i),this.req=this.res=null};e.cleanup=n,e.on("close",i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(Z("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeHead(400),t.end();return}let i=e.headers["content-type"]==="application/octet-stream";if(i&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let n=i?Buffer.concat([]):"",a=()=>{e.removeListener("data",c),e.removeListener("end",o),e.removeListener("close",r),this.dataReq=this.dataRes=n=null},r=()=>{a(),this.onError("data request connection closed prematurely")},c=l=>{let p;i?(n=Buffer.concat([n,l]),p=n.length):(n+=l,p=Buffer.byteLength(n)),p>this.maxHttpBufferSize&&(t.writeHead(413).end(),a())},o=()=>{this.onData(n);let l={"Content-Type":"text/html","Content-Length":"2"};t.writeHead(200,this.headers(e,l)),t.end("ok"),a()};e.on("close",r),i||e.setEncoding("utf8"),e.on("data",c),e.on("end",o)}onData(e){Z('received "%s"',e);let t=i=>{if(i.type==="close")return Z("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(Z("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){Z('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{r["Content-Length"]=typeof p=="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,r)),this.res.end(p),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=tf(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeHead(500),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){Z("compressing");let n=[],a=0;nf[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){Z("closing");let t;this.dataReq&&(Z("aborting ongoing data request"),this.dataReq.destroy());let i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(Z("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(Z("transport discarded - closing right away"),i()):(Z("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t={}){let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Ps.Polling=Ji});var eo=x(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.JSONP=void 0;var af=Qi(),rf=require("querystring"),of=/\\\\n/g,cf=/(\\)?\\n/g,Zi=class extends af.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){e=rf.parse(e).d,typeof e=="string"&&(e=e.replace(cf,function(t,i){return i?t:`
7
- `}),super.onData(e.replace(of,"\\n")))}doWrite(e,t,i){let n=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+n+this.foot,super.doWrite(e,t,i)}};js.JSONP=Zi});var so=x(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.WebSocket=void 0;var lf=Ye(),pf=j(),to=(0,pf.default)("engine:ws"),en=class extends lf.Transport{constructor(e){super(e),this._doSend=t=>{this.socket.send(t,this._onSent)},this._doSendLast=t=>{this.socket.send(t,this._onSentLast)},this._onSent=t=>{t&&this.onError("write error",t.stack)},this._onSentLast=t=>{t?this.onError("write error",t.stack):(this.emit("drain"),this.writable=!0,this.emit("ready"))},this.socket=e.websocket,this.socket.on("message",(t,i)=>{let n=i?t:t.toString();to('received "%s"',n),super.onData(n)}),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length;this._canSendPreEncodedFrame(i)?this.socket._sender.sendFrame(i.options.wsPreEncodedFrame,n?this._onSentLast:this._onSent):this.parser.encodePacket(i,this.supportsBinary,n?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(e){var t,i,n;return!this.perMessageDeflate&&typeof((i=(t=this.socket)===null||t===void 0?void 0:t._sender)===null||i===void 0?void 0:i.sendFrame)=="function"&&((n=e.options)===null||n===void 0?void 0:n.wsPreEncodedFrame)!==void 0}doClose(e){to("closing"),this.socket.close(),e&&e()}};Ds.WebSocket=en});var sn=x(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.WebTransport=void 0;var uf=Ye(),df=j(),ff=Wt(),mt=(0,df.default)("engine:webtransport"),tn=class extends uf.Transport{constructor(e,t,i){super({_query:{EIO:"4"}}),this.session=e;let n=(0,ff.createPacketEncoderStream)();n.readable.pipeTo(t.writable).catch(()=>{mt("the stream was closed")}),this.writer=n.writable.getWriter(),(async()=>{try{for(;;){let{value:a,done:r}=await i.read();if(r){mt("session is closed");break}mt("received chunk: %o",a),this.onPacket(a)}}catch(a){mt("error while reading: %s",a.message)}})(),e.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){let i=e[t];await this.writer.write(i)}}catch(t){mt("error while writing: %s",t.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(e){mt("closing WebTransport session"),this.session.close(),e&&e()}};Ns.WebTransport=tn});var an=x(nn=>{"use strict";Object.defineProperty(nn,"__esModule",{value:!0});var mf=Qi(),hf=eo(),xf=so(),vf=sn();nn.default={polling:io,websocket:xf.WebSocket,webtransport:vf.WebTransport};function io(s){return typeof s._query.j=="string"?new hf.JSONP(s):new mf.Polling(s)}io.upgradesTo=["websocket","webtransport"]});var on=x(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.Socket=void 0;var gf=require("events"),bf=j(),_e=require("timers"),A=(0,bf.default)("engine:socket"),rn=class extends gf.EventEmitter{get readyState(){return this._readyState}set readyState(e){A("readyState updated from %s to %s",this._readyState,e),this._readyState=e}constructor(e,t,i,n,a){super(),this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=e,this.server=t,this.request=n,this.protocol=a,n&&(n.websocket&&n.websocket._socket?this.remoteAddress=n.websocket._socket.remoteAddress:this.remoteAddress=n.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(i),this.onOpen()}onOpen(){this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket&&this.sendPacket("message",this.server.opts.initialPacket),this.emit("open"),this.protocol===3?this.resetPingTimeout():this.schedulePing()}onPacket(e){if(this.readyState!=="open")return A("packet received with closed socket");switch(A(`received packet ${e.type}`),this.emit("packet",e),e.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}A("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}A("got pong"),(0,_e.clearTimeout)(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",e.data),this.emit("message",e.data);break}}onError(e){A("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,_e.setTimeout)(()=>{A("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,_e.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,_e.setTimeout)(()=>{this.readyState!=="closed"&&this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(e){let t=this.onError.bind(this),i=()=>this.flush(),n=this.onPacket.bind(this),a=this.onDrain.bind(this),r=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("ready",i),this.transport.on("packet",n),this.transport.on("drain",a),this.transport.once("close",r),this.cleanupFn.push(function(){e.removeListener("error",t),e.removeListener("ready",i),e.removeListener("packet",n),e.removeListener("drain",a),e.removeListener("close",r)})}onDrain(){if(this.sentCallbackFn.length>0){A("executing batch send callback");let e=this.sentCallbackFn.shift();if(e)for(let t=0;t<e.length;t++)e[t](this.transport)}}_maybeUpgrade(e){A('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;let t=(0,_e.setTimeout)(()=>{A("client did not complete upgrade - closing transport"),r(),e.readyState==="open"&&e.close()},this.server.opts.upgradeTimeout),i,n=p=>{p.type==="ping"&&p.data==="probe"?(A("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(i),i=setInterval(a,100)):p.type==="upgrade"&&this.readyState!=="closed"?(A("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),this.readyState==="closing"&&e.close(()=>{this.onClose("forced close")})):(r(),e.close())},a=()=>{this.transport.name==="polling"&&this.transport.writable&&(A("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(i),(0,_e.clearTimeout)(t),e.removeListener("packet",n),e.removeListener("close",o),e.removeListener("error",c),this.removeListener("close",l)},c=p=>{A("client did not complete upgrade - %s",p),r(),e.close(),e=null},o=()=>{c("transport closed")},l=()=>{c("socket closed")};e.on("packet",n),e.once("close",o),e.once("error",c),this.once("close",l)}clearTransport(){let e,t=this.cleanupFn.length;for(let i=0;i<t;i++)e=this.cleanupFn.shift(),e();this.transport.on("error",function(){A("error triggered by discarded transport")}),this.transport.close(),(0,_e.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){this.readyState!=="closed"&&(this.readyState="closed",(0,_e.clearTimeout)(this.pingIntervalTimer),(0,_e.clearTimeout)(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}send(e,t,i){return this.sendPacket("message",e,t,i),this}write(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i={},n){if(typeof i=="function"&&(n=i,i={}),this.readyState!=="closing"&&this.readyState!=="closed"){A('sending packet "%s" (%s)',e,t),i.compress=i.compress!==!1;let a={type:e,options:i};t&&(a.data=t),this.emit("packetCreate",a),this.writeBuffer.push(a),typeof n=="function"&&this.packetsFn.push(n),this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){A("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let e=this.writeBuffer;this.writeBuffer=[],this.packetsFn.length?(this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[]):this.sentCallbackFn.push(null),this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let e=[],t=this.server.upgrades(this.transport.name);for(let i=0;i<t.length;++i){let n=t[i];this.server.opts.transports.indexOf(n)!==-1&&e.push(n)}return e}close(e){if(e&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(e);if(this.readyState==="open"){if(this.readyState="closing",this.writeBuffer.length){A("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{A("all packets have been sent, closing the transport"),this.closeTransport(e)});return}A("the buffer is empty, closing the transport right away"),this.closeTransport(e)}}closeTransport(e){A("closing the transport (discard? %s)",!!e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}};Is.Socket=rn});var ro=x(cn=>{"use strict";cn.parse=kf;cn.serialize=Tf;var yf=Object.prototype.toString,wf=Object.prototype.hasOwnProperty,_f=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Sf=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Ef=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Cf=/^[\u0020-\u003A\u003D-\u007E]*$/;function kf(s,e){if(typeof s!="string")throw new TypeError("argument str must be a string");var t={},i=s.length;if(i<2)return t;var n=e&&e.decode||Of,a=0,r=0,c=0;do{if(r=s.indexOf("=",a),r===-1)break;if(c=s.indexOf(";",a),c===-1)c=i;else if(r>c){a=s.lastIndexOf(";",r-1)+1;continue}var o=no(s,a,r),l=ao(s,r,o),p=s.slice(o,l);if(!wf.call(t,p)){var u=no(s,r+1,c),d=ao(s,c,u);s.charCodeAt(u)===34&&s.charCodeAt(d-1)===34&&(u++,d--);var h=s.slice(u,d);t[p]=Af(h,n)}a=c+1}while(a<i);return t}function no(s,e,t){do{var i=s.charCodeAt(e);if(i!==32&&i!==9)return e}while(++e<t);return t}function ao(s,e,t){for(;e>t;){var i=s.charCodeAt(--e);if(i!==32&&i!==9)return e+1}return t}function Tf(s,e,t){var i=t&&t.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!_f.test(s))throw new TypeError("argument name is invalid");var n=i(e);if(!Sf.test(n))throw new TypeError("argument val is invalid");var a=s+"="+n;if(!t)return a;if(t.maxAge!=null){var r=Math.floor(t.maxAge);if(!isFinite(r))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+r}if(t.domain){if(!Ef.test(t.domain))throw new TypeError("option domain is invalid");a+="; Domain="+t.domain}if(t.path){if(!Cf.test(t.path))throw new TypeError("option path is invalid");a+="; Path="+t.path}if(t.expires){var c=t.expires;if(!Rf(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(t.httpOnly&&(a+="; HttpOnly"),t.secure&&(a+="; Secure"),t.partitioned&&(a+="; Partitioned"),t.priority){var o=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(o){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var l=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function Of(s){return s.indexOf("%")!==-1?decodeURIComponent(s):s}function Rf(s){return yf.call(s)==="[object Date]"}function Af(s,e){try{return e(s)}catch{return s}}});var Se=x((bg,lo)=>{"use strict";var oo=["nodebuffer","arraybuffer","fragments"],co=typeof Blob<"u";co&&oo.push("blob");lo.exports={BINARY_TYPES:oo,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:co,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var $t=x((yg,Bs)=>{"use strict";var{EMPTY_BUFFER:Pf}=Se(),ln=Buffer[Symbol.species];function jf(s,e){if(s.length===0)return Pf;if(s.length===1)return s[0];let t=Buffer.allocUnsafe(e),i=0;for(let n=0;n<s.length;n++){let a=s[n];t.set(a,i),i+=a.length}return i<e?new ln(t.buffer,t.byteOffset,i):t}function po(s,e,t,i,n){for(let a=0;a<n;a++)t[i+a]=s[a]^e[a&3]}function uo(s,e){for(let t=0;t<s.length;t++)s[t]^=e[t&3]}function Df(s){return s.length===s.buffer.byteLength?s.buffer:s.buffer.slice(s.byteOffset,s.byteOffset+s.length)}function pn(s){if(pn.readOnly=!0,Buffer.isBuffer(s))return s;let e;return s instanceof ArrayBuffer?e=new ln(s):ArrayBuffer.isView(s)?e=new ln(s.buffer,s.byteOffset,s.byteLength):(e=Buffer.from(s),pn.readOnly=!1),e}Bs.exports={concat:jf,mask:po,toArrayBuffer:Df,toBuffer:pn,unmask:uo};if(!process.env.WS_NO_BUFFER_UTIL)try{let s=require("bufferutil");Bs.exports.mask=function(e,t,i,n,a){a<48?po(e,t,i,n,a):s.mask(e,t,i,n,a)},Bs.exports.unmask=function(e,t){e.length<32?uo(e,t):s.unmask(e,t)}}catch{}});var ho=x((wg,mo)=>{"use strict";var fo=Symbol("kDone"),un=Symbol("kRun"),dn=class{constructor(e){this[fo]=()=>{this.pending--,this[un]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[un]()}[un](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[fo])}}};mo.exports=dn});var Gt=x((_g,bo)=>{"use strict";var Vt=require("zlib"),xo=$t(),Nf=ho(),{kStatusCode:vo}=Se(),If=Buffer[Symbol.species],Bf=Buffer.from([0,0,255,255]),Ms=Symbol("permessage-deflate"),Ee=Symbol("total-length"),ht=Symbol("callback"),Me=Symbol("buffers"),xt=Symbol("error"),Ls,fn=class{constructor(e,t,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Ls){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Ls=new Nf(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[ht];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,i=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(i.server_no_context_takeover=!0),t.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(i.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?i.client_max_window_bits=t.clientMaxWindowBits:(i.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(i=>{let n=t[i];if(n.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(n=n[0],i==="client_max_window_bits"){if(n!==!0){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else if(i==="server_max_window_bits"){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else throw new Error(`Unknown parameter "${i}"`);t[i]=n})}),e}decompress(e,t,i){Ls.add(n=>{this._decompress(e,t,(a,r)=>{n(),i(a,r)})})}compress(e,t,i){Ls.add(n=>{this._compress(e,t,(a,r)=>{n(),i(a,r)})})}_decompress(e,t,i){let n=this._isServer?"client":"server";if(!this._inflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Vt.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=Vt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:r}),this._inflate[Ms]=this,this._inflate[Ee]=0,this._inflate[Me]=[],this._inflate.on("error",Mf),this._inflate.on("data",go)}this._inflate[ht]=i,this._inflate.write(e),t&&this._inflate.write(Bf),this._inflate.flush(()=>{let a=this._inflate[xt];if(a){this._inflate.close(),this._inflate=null,i(a);return}let r=xo.concat(this._inflate[Me],this._inflate[Ee]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Ee]=0,this._inflate[Me]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),i(null,r)})}_compress(e,t,i){let n=this._isServer?"server":"client";if(!this._deflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Vt.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=Vt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:r}),this._deflate[Ee]=0,this._deflate[Me]=[],this._deflate.on("data",Lf)}this._deflate[ht]=i,this._deflate.write(e),this._deflate.flush(Vt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=xo.concat(this._deflate[Me],this._deflate[Ee]);t&&(a=new If(a.buffer,a.byteOffset,a.length-4)),this._deflate[ht]=null,this._deflate[Ee]=0,this._deflate[Me]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};bo.exports=fn;function Lf(s){this[Me].push(s),this[Ee]+=s.length}function go(s){if(this[Ee]+=s.length,this[Ms]._maxPayload<1||this[Ee]<=this[Ms]._maxPayload){this[Me].push(s);return}this[xt]=new RangeError("Max payload size exceeded"),this[xt].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[xt][vo]=1009,this.removeListener("data",go),this.reset()}function Mf(s){if(this[Ms]._inflate=null,this[xt]){this[ht](this[xt]);return}s[vo]=1007,this[ht](s)}});var vt=x((Sg,qs)=>{"use strict";var{isUtf8:yo}=require("buffer"),{hasBlob:qf}=Se(),Ff=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Uf(s){return s>=1e3&&s<=1014&&s!==1004&&s!==1005&&s!==1006||s>=3e3&&s<=4999}function mn(s){let e=s.length,t=0;for(;t<e;)if((s[t]&128)===0)t++;else if((s[t]&224)===192){if(t+1===e||(s[t+1]&192)!==128||(s[t]&254)===192)return!1;t+=2}else if((s[t]&240)===224){if(t+2>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||s[t]===224&&(s[t+1]&224)===128||s[t]===237&&(s[t+1]&224)===160)return!1;t+=3}else if((s[t]&248)===240){if(t+3>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||(s[t+3]&192)!==128||s[t]===240&&(s[t+1]&240)===128||s[t]===244&&s[t+1]>143||s[t]>244)return!1;t+=4}else return!1;return!0}function Hf(s){return qf&&typeof s=="object"&&typeof s.arrayBuffer=="function"&&typeof s.type=="string"&&typeof s.stream=="function"&&(s[Symbol.toStringTag]==="Blob"||s[Symbol.toStringTag]==="File")}qs.exports={isBlob:Hf,isValidStatusCode:Uf,isValidUTF8:mn,tokenChars:Ff};if(yo)qs.exports.isValidUTF8=function(s){return s.length<24?mn(s):yo(s)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let s=require("utf-8-validate");qs.exports.isValidUTF8=function(e){return e.length<32?mn(e):s(e)}}catch{}});var bn=x((Eg,To)=>{"use strict";var{Writable:zf}=require("stream"),wo=Gt(),{BINARY_TYPES:Wf,EMPTY_BUFFER:_o,kStatusCode:$f,kWebSocket:Vf}=Se(),{concat:hn,toArrayBuffer:Gf,unmask:Kf}=$t(),{isValidStatusCode:Yf,isValidUTF8:So}=vt(),Fs=Buffer[Symbol.species],ne=0,Eo=1,Co=2,ko=3,xn=4,vn=5,Us=6,gn=class extends zf{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Wf[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Vf]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=ne}_write(e,t,i){if(this._opcode===8&&this._state==ne)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Fs(i.buffer,i.byteOffset+e,i.length-e),new Fs(i.buffer,i.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let i=this._buffers[0],n=t.length-e;e>=i.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(i.buffer,i.byteOffset,e),n),this._buffers[0]=new Fs(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case ne:this.getInfo(e);break;case Eo:this.getPayloadLength16(e);break;case Co:this.getPayloadLength64(e);break;case ko:this.getMask();break;case xn:this.getData(e);break;case vn:case Us:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let i=(t[0]&64)===64;if(i&&!this._extensions[wo.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=Eo:this._payloadLength===127?this._state=Co:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),i=t.readUInt32BE(0);if(i>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=i*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=ko:this._state=xn}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=xn}getData(e){let t=_o;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Kf(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=vn,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[wo.extensionName].decompress(e,this._fin,(n,a)=>{if(n)return t(n);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(r);return}this._fragments.push(a)}this.dataMessage(t),this._state===ne&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=ne;return}let t=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=hn(i,t):this._binaryType==="arraybuffer"?n=Gf(hn(i,t)):this._binaryType==="blob"?n=new Blob(i):n=i,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=ne):(this._state=Us,setImmediate(()=>{this.emit("message",n,!0),this._state=ne,this.startLoop(e)}))}else{let n=hn(i,t);if(!this._skipUTF8Validation&&!So(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(a);return}this._state===vn||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=ne):(this._state=Us,setImmediate(()=>{this.emit("message",n,!1),this._state=ne,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,_o),this.end();else{let i=e.readUInt16BE(0);if(!Yf(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(a);return}let n=new Fs(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!So(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._loop=!1,this.emit("conclude",i,n),this.end()}this._state=ne;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=ne):(this._state=Us,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=ne,this.startLoop(t)}))}createError(e,t,i,n,a){this._loop=!1,this._errored=!0;let r=new e(i?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(r,this.createError),r.code=a,r[$f]=n,r}};To.exports=gn});var _n=x((kg,Ao)=>{"use strict";var{Duplex:Cg}=require("stream"),{randomFillSync:Xf}=require("crypto"),Oo=Gt(),{EMPTY_BUFFER:Jf,kWebSocket:Qf,NOOP:Zf}=Se(),{isBlob:gt,isValidStatusCode:em}=vt(),{mask:Ro,toBuffer:Xe}=$t(),ae=Symbol("kByteLength"),tm=Buffer.alloc(4),Hs=8*1024,Je,bt=Hs,pe=0,sm=1,im=2,yn=class s{constructor(e,t,i){this._extensions=t||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=pe,this.onerror=Zf,this[Qf]=void 0}static frame(e,t){let i,n=!1,a=2,r=!1;t.mask&&(i=t.maskBuffer||tm,t.generateMask?t.generateMask(i):(bt===Hs&&(Je===void 0&&(Je=Buffer.alloc(Hs)),Xf(Je,0,Hs),bt=0),i[0]=Je[bt++],i[1]=Je[bt++],i[2]=Je[bt++],i[3]=Je[bt++]),r=(i[0]|i[1]|i[2]|i[3])===0,a=6);let c;typeof e=="string"?(!t.mask||r)&&t[ae]!==void 0?c=t[ae]:(e=Buffer.from(e),c=e.length):(c=e.length,n=t.mask&&t.readOnly&&!r);let o=c;c>=65536?(a+=8,o=127):c>125&&(a+=2,o=126);let l=Buffer.allocUnsafe(n?c+a:a);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=o,o===126?l.writeUInt16BE(c,2):o===127&&(l[2]=l[3]=0,l.writeUIntBE(c,4,6)),t.mask?(l[1]|=128,l[a-4]=i[0],l[a-3]=i[1],l[a-2]=i[2],l[a-1]=i[3],r?[l,e]:n?(Ro(e,i,l,a,c),[l]):(Ro(e,i,e,0,c),[l,e])):[l,e]}close(e,t,i,n){let a;if(e===void 0)a=Jf;else{if(typeof e!="number"||!em(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");a=Buffer.allocUnsafe(2+c),a.writeUInt16BE(e,0),typeof t=="string"?a.write(t,2):a.set(t,2)}}let r={[ae]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==pe?this.enqueue([this.dispatch,a,!1,r,n]):this.sendFrame(s.frame(a,r),n)}ping(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):gt(e)?(n=e.size,a=!1):(e=Xe(e),n=e.length,a=Xe.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[ae]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};gt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==pe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}pong(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):gt(e)?(n=e.size,a=!1):(e=Xe(e),n=e.length,a=Xe.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[ae]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};gt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==pe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}send(e,t,i){let n=this._extensions[Oo.extensionName],a=t.binary?2:1,r=t.compress,c,o;typeof e=="string"?(c=Buffer.byteLength(e),o=!1):gt(e)?(c=e.size,o=!1):(e=Xe(e),c=e.length,o=Xe.readOnly),this._firstFragment?(this._firstFragment=!1,r&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(r=c>=n._threshold),this._compress=r):(r=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[ae]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:o,rsv1:r};gt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,this._compress,l,i]):this.getBlobData(e,this._compress,l,i):this._state!==pe?this.enqueue([this.dispatch,e,this._compress,l,i]):this.dispatch(e,this._compress,l,i)}getBlobData(e,t,i,n){this._bufferedBytes+=i[ae],this._state=im,e.arrayBuffer().then(a=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(wn,this,c,n);return}this._bufferedBytes-=i[ae];let r=Xe(a);t?this.dispatch(r,t,i,n):(this._state=pe,this.sendFrame(s.frame(r,i),n),this.dequeue())}).catch(a=>{process.nextTick(nm,this,a,n)})}dispatch(e,t,i,n){if(!t){this.sendFrame(s.frame(e,i),n);return}let a=this._extensions[Oo.extensionName];this._bufferedBytes+=i[ae],this._state=sm,a.compress(e,i.fin,(r,c)=>{if(this._socket.destroyed){let o=new Error("The socket was closed while data was being compressed");wn(this,o,n);return}this._bufferedBytes-=i[ae],this._state=pe,i.readOnly=!1,this.sendFrame(s.frame(c,i),n),this.dequeue()})}dequeue(){for(;this._state===pe&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][ae],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][ae],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Ao.exports=yn;function wn(s,e,t){typeof t=="function"&&t(e);for(let i=0;i<s._queue.length;i++){let n=s._queue[i],a=n[n.length-1];typeof a=="function"&&a(e)}}function nm(s,e,t){wn(s,e,t),s.onerror(e)}});var qo=x((Tg,Mo)=>{"use strict";var{kForOnEventAttribute:Kt,kListener:Sn}=Se(),Po=Symbol("kCode"),jo=Symbol("kData"),Do=Symbol("kError"),No=Symbol("kMessage"),Io=Symbol("kReason"),yt=Symbol("kTarget"),Bo=Symbol("kType"),Lo=Symbol("kWasClean"),Ce=class{constructor(e){this[yt]=null,this[Bo]=e}get target(){return this[yt]}get type(){return this[Bo]}};Object.defineProperty(Ce.prototype,"target",{enumerable:!0});Object.defineProperty(Ce.prototype,"type",{enumerable:!0});var Qe=class extends Ce{constructor(e,t={}){super(e),this[Po]=t.code===void 0?0:t.code,this[Io]=t.reason===void 0?"":t.reason,this[Lo]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Po]}get reason(){return this[Io]}get wasClean(){return this[Lo]}};Object.defineProperty(Qe.prototype,"code",{enumerable:!0});Object.defineProperty(Qe.prototype,"reason",{enumerable:!0});Object.defineProperty(Qe.prototype,"wasClean",{enumerable:!0});var wt=class extends Ce{constructor(e,t={}){super(e),this[Do]=t.error===void 0?null:t.error,this[No]=t.message===void 0?"":t.message}get error(){return this[Do]}get message(){return this[No]}};Object.defineProperty(wt.prototype,"error",{enumerable:!0});Object.defineProperty(wt.prototype,"message",{enumerable:!0});var Yt=class extends Ce{constructor(e,t={}){super(e),this[jo]=t.data===void 0?null:t.data}get data(){return this[jo]}};Object.defineProperty(Yt.prototype,"data",{enumerable:!0});var am={addEventListener(s,e,t={}){for(let n of this.listeners(s))if(!t[Kt]&&n[Sn]===e&&!n[Kt])return;let i;if(s==="message")i=function(a,r){let c=new Yt("message",{data:r?a:a.toString()});c[yt]=this,zs(e,this,c)};else if(s==="close")i=function(a,r){let c=new Qe("close",{code:a,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[yt]=this,zs(e,this,c)};else if(s==="error")i=function(a){let r=new wt("error",{error:a,message:a.message});r[yt]=this,zs(e,this,r)};else if(s==="open")i=function(){let a=new Ce("open");a[yt]=this,zs(e,this,a)};else return;i[Kt]=!!t[Kt],i[Sn]=e,t.once?this.once(s,i):this.on(s,i)},removeEventListener(s,e){for(let t of this.listeners(s))if(t[Sn]===e&&!t[Kt]){this.removeListener(s,t);break}}};Mo.exports={CloseEvent:Qe,ErrorEvent:wt,Event:Ce,EventTarget:am,MessageEvent:Yt};function zs(s,e,t){typeof s=="object"&&s.handleEvent?s.handleEvent.call(s,t):s.call(e,t)}});var En=x((Og,Fo)=>{"use strict";var{tokenChars:Xt}=vt();function ve(s,e,t){s[e]===void 0?s[e]=[t]:s[e].push(t)}function rm(s){let e=Object.create(null),t=Object.create(null),i=!1,n=!1,a=!1,r,c,o=-1,l=-1,p=-1,u=0;for(;u<s.length;u++)if(l=s.charCodeAt(u),r===void 0)if(p===-1&&Xt[l]===1)o===-1&&(o=u);else if(u!==0&&(l===32||l===9))p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);l===44?(ve(e,h,t),t=Object.create(null)):r=h,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(c===void 0)if(p===-1&&Xt[l]===1)o===-1&&(o=u);else if(l===32||l===9)p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u),ve(t,s.slice(o,p),!0),l===44&&(ve(e,r,t),t=Object.create(null),r=void 0),o=p=-1}else if(l===61&&o!==-1&&p===-1)c=s.slice(o,u),o=p=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(Xt[l]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);o===-1?o=u:i||(i=!0),n=!1}else if(a)if(Xt[l]===1)o===-1&&(o=u);else if(l===34&&o!==-1)a=!1,p=u;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(l===34&&s.charCodeAt(u-1)===61)a=!0;else if(p===-1&&Xt[l]===1)o===-1&&(o=u);else if(o!==-1&&(l===32||l===9))p===-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);i&&(h=h.replace(/\\/g,""),i=!1),ve(t,c,h),l===44&&(ve(e,r,t),t=Object.create(null),r=void 0),c=void 0,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(o===-1||a||l===32||l===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=u);let d=s.slice(o,p);return r===void 0?ve(e,d,t):(c===void 0?ve(t,d,!0):i?ve(t,c,d.replace(/\\/g,"")):ve(t,c,d),ve(e,r,t)),e}function om(s){return Object.keys(s).map(e=>{let t=s[e];return Array.isArray(t)||(t=[t]),t.map(i=>[e].concat(Object.keys(i).map(n=>{let a=i[n];return Array.isArray(a)||(a=[a]),a.map(r=>r===!0?n:`${n}=${r}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Fo.exports={format:om,parse:rm}});var Gs=x((Pg,Qo)=>{"use strict";var cm=require("events"),lm=require("https"),pm=require("http"),zo=require("net"),um=require("tls"),{randomBytes:dm,createHash:fm}=require("crypto"),{Duplex:Rg,Readable:Ag}=require("stream"),{URL:Cn}=require("url"),qe=Gt(),mm=bn(),hm=_n(),{isBlob:xm}=vt(),{BINARY_TYPES:Uo,EMPTY_BUFFER:Ws,GUID:vm,kForOnEventAttribute:kn,kListener:gm,kStatusCode:bm,kWebSocket:L,NOOP:Wo}=Se(),{EventTarget:{addEventListener:ym,removeEventListener:wm}}=qo(),{format:_m,parse:Sm}=En(),{toBuffer:Em}=$t(),Cm=30*1e3,$o=Symbol("kAborted"),Tn=[8,13],ke=["CONNECTING","OPEN","CLOSING","CLOSED"],km=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,k=class s extends cm{constructor(e,t,i){super(),this._binaryType=Uo[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Ws,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=s.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(i=t,t=[]):t=[t]),Vo(this,e,t,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Uo.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,i){let n=new mm({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new hm(e,this._extensions,i.generateMask);this._receiver=n,this._sender=a,this._socket=e,n[L]=this,a[L]=this,e[L]=this,n.on("conclude",Rm),n.on("drain",Am),n.on("error",Pm),n.on("message",jm),n.on("ping",Dm),n.on("pong",Nm),a.onerror=Im,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Yo),e.on("data",Vs),e.on("end",Xo),e.on("error",Jo),this._readyState=s.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[qe.extensionName]&&this._extensions[qe.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){ee(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===s.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=s.CLOSING,this._sender.close(e,t,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Ko(this)}}pause(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){On(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Ws,t,i)}pong(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){On(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Ws,t,i)}resume(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(i=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){On(this,e,i);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[qe.extensionName]||(n.compress=!1),this._sender.send(e||Ws,n,i)}terminate(){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){ee(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=s.CLOSING,this._socket.destroy())}}};Object.defineProperty(k,"CONNECTING",{enumerable:!0,value:ke.indexOf("CONNECTING")});Object.defineProperty(k.prototype,"CONNECTING",{enumerable:!0,value:ke.indexOf("CONNECTING")});Object.defineProperty(k,"OPEN",{enumerable:!0,value:ke.indexOf("OPEN")});Object.defineProperty(k.prototype,"OPEN",{enumerable:!0,value:ke.indexOf("OPEN")});Object.defineProperty(k,"CLOSING",{enumerable:!0,value:ke.indexOf("CLOSING")});Object.defineProperty(k.prototype,"CLOSING",{enumerable:!0,value:ke.indexOf("CLOSING")});Object.defineProperty(k,"CLOSED",{enumerable:!0,value:ke.indexOf("CLOSED")});Object.defineProperty(k.prototype,"CLOSED",{enumerable:!0,value:ke.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(s=>{Object.defineProperty(k.prototype,s,{enumerable:!0})});["open","error","close","message"].forEach(s=>{Object.defineProperty(k.prototype,`on${s}`,{enumerable:!0,get(){for(let e of this.listeners(s))if(e[kn])return e[gm];return null},set(e){for(let t of this.listeners(s))if(t[kn]){this.removeListener(s,t);break}typeof e=="function"&&this.addEventListener(s,e,{[kn]:!0})}})});k.prototype.addEventListener=ym;k.prototype.removeEventListener=wm;Qo.exports=k;function Vo(s,e,t,i){let n={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:Tn[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(s._autoPong=n.autoPong,!Tn.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${Tn.join(", ")})`);let a;if(e instanceof Cn)a=e;else try{a=new Cn(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),s._url=a.href;let r=a.protocol==="wss:",c=a.protocol==="ws+unix:",o;if(a.protocol!=="ws:"&&!r&&!c?o=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!a.pathname?o="The URL's pathname is empty":a.hash&&(o="The URL contains a fragment identifier"),o){let f=new SyntaxError(o);if(s._redirects===0)throw f;$s(s,f);return}let l=r?443:80,p=dm(16).toString("base64"),u=r?lm.request:pm.request,d=new Set,h;if(n.createConnection=n.createConnection||(r?Om:Tm),n.defaultPort=n.defaultPort||l,n.port=a.port||l,n.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},n.path=a.pathname+a.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(h=new qe(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=_m({[qe.extensionName]:h.offer()})),t.length){for(let f of t){if(typeof f!="string"||!km.test(f)||d.has(f))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(f)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(a.username||a.password)&&(n.auth=`${a.username}:${a.password}`),c){let f=n.path.split(":");n.socketPath=f[0],n.path=f[1]}let m;if(n.followRedirects){if(s._redirects===0){s._originalIpc=c,s._originalSecure=r,s._originalHostOrSocketPath=c?n.socketPath:a.host;let f=i&&i.headers;if(i={...i,headers:{}},f)for(let[v,y]of Object.entries(f))i.headers[v.toLowerCase()]=y}else if(s.listenerCount("redirect")===0){let f=c?s._originalIpc?n.socketPath===s._originalHostOrSocketPath:!1:s._originalIpc?!1:a.host===s._originalHostOrSocketPath;(!f||s._originalSecure&&!r)&&(delete n.headers.authorization,delete n.headers.cookie,f||delete n.headers.host,n.auth=void 0)}n.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=s._req=u(n),s._redirects&&s.emit("redirect",s.url,m)}else m=s._req=u(n);n.timeout&&m.on("timeout",()=>{ee(s,m,"Opening handshake has timed out")}),m.on("error",f=>{m===null||m[$o]||(m=s._req=null,$s(s,f))}),m.on("response",f=>{let v=f.headers.location,y=f.statusCode;if(v&&n.followRedirects&&y>=300&&y<400){if(++s._redirects>n.maxRedirects){ee(s,m,"Maximum redirects exceeded");return}m.abort();let g;try{g=new Cn(v,e)}catch{let D=new SyntaxError(`Invalid URL: ${v}`);$s(s,D);return}Vo(s,g,t,i)}else s.emit("unexpected-response",m,f)||ee(s,m,`Unexpected server response: ${f.statusCode}`)}),m.on("upgrade",(f,v,y)=>{if(s.emit("upgrade",f),s.readyState!==k.CONNECTING)return;m=s._req=null;let g=f.headers.upgrade;if(g===void 0||g.toLowerCase()!=="websocket"){ee(s,v,"Invalid Upgrade header");return}let q=fm("sha1").update(p+vm).digest("base64");if(f.headers["sec-websocket-accept"]!==q){ee(s,v,"Invalid Sec-WebSocket-Accept header");return}let D=f.headers["sec-websocket-protocol"],fe;if(D!==void 0?d.size?d.has(D)||(fe="Server sent an invalid subprotocol"):fe="Server sent a subprotocol but none was requested":d.size&&(fe="Server sent no subprotocol"),fe){ee(s,v,fe);return}D&&(s._protocol=D);let V=f.headers["sec-websocket-extensions"];if(V!==void 0){if(!h){ee(s,v,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let me;try{me=Sm(V)}catch{ee(s,v,"Invalid Sec-WebSocket-Extensions header");return}let we=Object.keys(me);if(we.length!==1||we[0]!==qe.extensionName){ee(s,v,"Server indicated an extension that was not requested");return}try{h.accept(me[qe.extensionName])}catch{ee(s,v,"Invalid Sec-WebSocket-Extensions header");return}s._extensions[qe.extensionName]=h}s.setSocket(v,y,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,s):m.end()}function $s(s,e){s._readyState=k.CLOSING,s._errorEmitted=!0,s.emit("error",e),s.emitClose()}function Tm(s){return s.path=s.socketPath,zo.connect(s)}function Om(s){return s.path=void 0,!s.servername&&s.servername!==""&&(s.servername=zo.isIP(s.host)?"":s.host),um.connect(s)}function ee(s,e,t){s._readyState=k.CLOSING;let i=new Error(t);Error.captureStackTrace(i,ee),e.setHeader?(e[$o]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick($s,s,i)):(e.destroy(i),e.once("error",s.emit.bind(s,"error")),e.once("close",s.emitClose.bind(s)))}function On(s,e,t){if(e){let i=xm(e)?e.size:Em(e).length;s._socket?s._sender._bufferedBytes+=i:s._bufferedAmount+=i}if(t){let i=new Error(`WebSocket is not open: readyState ${s.readyState} (${ke[s.readyState]})`);process.nextTick(t,i)}}function Rm(s,e){let t=this[L];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=s,t._socket[L]!==void 0&&(t._socket.removeListener("data",Vs),process.nextTick(Go,t._socket),s===1005?t.close():t.close(s,e))}function Am(){let s=this[L];s.isPaused||s._socket.resume()}function Pm(s){let e=this[L];e._socket[L]!==void 0&&(e._socket.removeListener("data",Vs),process.nextTick(Go,e._socket),e.close(s[bm])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s))}function Ho(){this[L].emitClose()}function jm(s,e){this[L].emit("message",s,e)}function Dm(s){let e=this[L];e._autoPong&&e.pong(s,!this._isServer,Wo),e.emit("ping",s)}function Nm(s){this[L].emit("pong",s)}function Go(s){s.resume()}function Im(s){let e=this[L];e.readyState!==k.CLOSED&&(e.readyState===k.OPEN&&(e._readyState=k.CLOSING,Ko(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s)))}function Ko(s){s._closeTimer=setTimeout(s._socket.destroy.bind(s._socket),Cm)}function Yo(){let s=this[L];this.removeListener("close",Yo),this.removeListener("data",Vs),this.removeListener("end",Xo),s._readyState=k.CLOSING;let e;!this._readableState.endEmitted&&!s._closeFrameReceived&&!s._receiver._writableState.errorEmitted&&(e=s._socket.read())!==null&&s._receiver.write(e),s._receiver.end(),this[L]=void 0,clearTimeout(s._closeTimer),s._receiver._writableState.finished||s._receiver._writableState.errorEmitted?s.emitClose():(s._receiver.on("error",Ho),s._receiver.on("finish",Ho))}function Vs(s){this[L]._receiver.write(s)||this.pause()}function Xo(){let s=this[L];s._readyState=k.CLOSING,s._receiver.end(),this.end()}function Jo(){let s=this[L];this.removeListener("error",Jo),this.on("error",Wo),s&&(s._readyState=k.CLOSING,this.destroy())}});var sc=x((Dg,tc)=>{"use strict";var jg=Gs(),{Duplex:Bm}=require("stream");function Zo(s){s.emit("close")}function Lm(){!this.destroyed&&this._writableState.finished&&this.destroy()}function ec(s){this.removeListener("error",ec),this.destroy(),this.listenerCount("error")===0&&this.emit("error",s)}function Mm(s,e){let t=!0,i=new Bm({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return s.on("message",function(a,r){let c=!r&&i._readableState.objectMode?a.toString():a;i.push(c)||s.pause()}),s.once("error",function(a){i.destroyed||(t=!1,i.destroy(a))}),s.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(n,a){if(s.readyState===s.CLOSED){a(n),process.nextTick(Zo,i);return}let r=!1;s.once("error",function(o){r=!0,a(o)}),s.once("close",function(){r||a(n),process.nextTick(Zo,i)}),t&&s.terminate()},i._final=function(n){if(s.readyState===s.CONNECTING){s.once("open",function(){i._final(n)});return}s._socket!==null&&(s._socket._writableState.finished?(n(),i._readableState.endEmitted&&i.destroy()):(s._socket.once("finish",function(){n()}),s.close()))},i._read=function(){s.isPaused&&s.resume()},i._write=function(n,a,r){if(s.readyState===s.CONNECTING){s.once("open",function(){i._write(n,a,r)});return}s.send(n,r)},i.on("end",Lm),i.on("error",ec),i}tc.exports=Mm});var nc=x((Ng,ic)=>{"use strict";var{tokenChars:qm}=vt();function Fm(s){let e=new Set,t=-1,i=-1,n=0;for(n;n<s.length;n++){let r=s.charCodeAt(n);if(i===-1&&qm[r]===1)t===-1&&(t=n);else if(n!==0&&(r===32||r===9))i===-1&&t!==-1&&(i=n);else if(r===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);i===-1&&(i=n);let c=s.slice(t,i);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=i=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let a=s.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return e.add(a),e}ic.exports={parse:Fm}});var uc=x((Bg,pc)=>{"use strict";var Um=require("events"),Ks=require("http"),{Duplex:Ig}=require("stream"),{createHash:Hm}=require("crypto"),ac=En(),Ze=Gt(),zm=nc(),Wm=Gs(),{GUID:$m,kWebSocket:Vm}=Se(),Gm=/^[+/0-9A-Za-z]{22}==$/,rc=0,oc=1,lc=2,Rn=class extends Um{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Wm,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Ks.createServer((i,n)=>{let a=Ks.STATUS_CODES[426];n.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),n.end(a)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=Km(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,a,r)=>{this.handleUpgrade(n,a,r,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=rc}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===lc){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Jt,this);return}if(e&&this.once("close",e),this._state!==oc)if(this._state=oc,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Jt,this):process.nextTick(Jt,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Jt(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,i,n){t.on("error",cc);let a=e.headers["sec-websocket-key"],r=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){et(this,e,t,405,"Invalid HTTP method");return}if(r===void 0||r.toLowerCase()!=="websocket"){et(this,e,t,400,"Invalid Upgrade header");return}if(a===void 0||!Gm.test(a)){et(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){et(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Qt(t,400);return}let o=e.headers["sec-websocket-protocol"],l=new Set;if(o!==void 0)try{l=zm.parse(o)}catch{et(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&p!==void 0){let d=new Ze(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=ac.parse(p);h[Ze.extensionName]&&(d.accept(h[Ze.extensionName]),u[Ze.extensionName]=d)}catch{et(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(h,m,f,v)=>{if(!h)return Qt(t,m||401,f,v);this.completeUpgrade(u,a,l,e,t,i,n)});return}if(!this.options.verifyClient(d))return Qt(t,401)}this.completeUpgrade(u,a,l,e,t,i,n)}completeUpgrade(e,t,i,n,a,r,c){if(!a.readable||!a.writable)return a.destroy();if(a[Vm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>rc)return Qt(a,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Hm("sha1").update(t+$m).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let u=this.options.handleProtocols?this.options.handleProtocols(i,n):i.values().next().value;u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),p._protocol=u)}if(e[Ze.extensionName]){let u=e[Ze.extensionName].params,d=ac.format({[Ze.extensionName]:[u]});l.push(`Sec-WebSocket-Extensions: ${d}`),p._extensions=e}this.emit("headers",l,n),a.write(l.concat(`\r
4
+ `+a),s.push(n+"m+"+Rs.exports.humanize(this.diff)+"\x1B[0m")}else s[0]=Wd()+e+" "+s[0]}function Wd(){return B.inspectOpts.hideDate?"":new Date().toISOString()+" "}function $d(...s){return process.stderr.write(Os.formatWithOptions(B.inspectOpts,...s)+`
5
+ `)}function Vd(s){s?process.env.DEBUG=s:delete process.env.DEBUG}function Gd(){return process.env.DEBUG}function Kd(s){s.inspectOpts={};let e=Object.keys(B.inspectOpts);for(let t=0;t<e.length;t++)s.inspectOpts[e[t]]=B.inspectOpts[e[t]]}Rs.exports=Yi()(B);var{formatters:Zr}=Rs.exports;Zr.o=function(s){return this.inspectOpts.colors=this.useColors,Os.inspect(s,this.inspectOpts).split(`
6
+ `).map(e=>e.trim()).join(" ")};Zr.O=function(s){return this.inspectOpts.colors=this.useColors,Os.inspect(s,this.inspectOpts)}});var j=x((pg,Qi)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Qi.exports=Gr():Qi.exports=eo()});var Ye=x(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.Transport=void 0;var Yd=require("events"),Xd=Wt(),Jd=zr(),Qd=j(),to=(0,Qd.default)("engine:transport");function Zd(){}var As=class extends Yd.EventEmitter{get readyState(){return this._readyState}set readyState(e){to("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=e._query.EIO==="4"?4:3,this.parser=this.protocol===4?Xd:Jd,this.supportsBinary=!(e._query&&e._query.b64)}discard(){this.discarded=!0}onRequest(e){}close(e){this.readyState==="closed"||this.readyState==="closing"||(this.readyState="closing",this.doClose(e||Zd))}onError(e,t){if(this.listeners("error").length){let i=new Error(e);i.type="TransportError",i.description=t,this.emit("error",i)}else to("ignored transport error %s (%s)",e,t)}onPacket(e){this.emit("packet",e)}onData(e){this.onPacket(this.parser.decodePacket(e))}onClose(){this.readyState="closed",this.emit("close")}};Ps.Transport=As;As.upgradesTo=[]});var en=x(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.Polling=void 0;var ef=Ye(),so=require("zlib"),tf=gs(),sf=j(),ee=(0,sf.default)("engine:polling"),nf={gzip:so.createGzip,deflate:so.createDeflate},Zi=class extends ef.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.method==="GET"?this.onPollRequest(e,t):e.method==="POST"?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req){ee("request overlap"),this.onError("overlap from client"),t.writeHead(400),t.end();return}ee("setting request"),this.req=e,this.res=t;let i=()=>{this.onError("poll connection closed prematurely")},n=()=>{e.removeListener("close",i),this.req=this.res=null};e.cleanup=n,e.on("close",i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(ee("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeHead(400),t.end();return}let i=e.headers["content-type"]==="application/octet-stream";if(i&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let n=i?Buffer.concat([]):"",a=()=>{e.removeListener("data",c),e.removeListener("end",o),e.removeListener("close",r),this.dataReq=this.dataRes=n=null},r=()=>{a(),this.onError("data request connection closed prematurely")},c=l=>{let p;i?(n=Buffer.concat([n,l]),p=n.length):(n+=l,p=Buffer.byteLength(n)),p>this.maxHttpBufferSize&&(t.writeHead(413).end(),a())},o=()=>{this.onData(n);let l={"Content-Type":"text/html","Content-Length":"2"};t.writeHead(200,this.headers(e,l)),t.end("ok"),a()};e.on("close",r),i||e.setEncoding("utf8"),e.on("data",c),e.on("end",o)}onData(e){ee('received "%s"',e);let t=i=>{if(i.type==="close")return ee("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(ee("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){ee('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{r["Content-Length"]=typeof p=="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,r)),this.res.end(p),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=tf(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeHead(500),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){ee("compressing");let n=[],a=0;nf[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){ee("closing");let t;this.dataReq&&(ee("aborting ongoing data request"),this.dataReq.destroy());let i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(ee("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(ee("transport discarded - closing right away"),i()):(ee("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t={}){let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};js.Polling=Zi});var io=x(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.JSONP=void 0;var af=en(),rf=require("querystring"),of=/\\\\n/g,cf=/(\\)?\\n/g,tn=class extends af.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){e=rf.parse(e).d,typeof e=="string"&&(e=e.replace(cf,function(t,i){return i?t:`
7
+ `}),super.onData(e.replace(of,"\\n")))}doWrite(e,t,i){let n=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+n+this.foot,super.doWrite(e,t,i)}};Ds.JSONP=tn});var ao=x(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.WebSocket=void 0;var lf=Ye(),pf=j(),no=(0,pf.default)("engine:ws"),sn=class extends lf.Transport{constructor(e){super(e),this._doSend=t=>{this.socket.send(t,this._onSent)},this._doSendLast=t=>{this.socket.send(t,this._onSentLast)},this._onSent=t=>{t&&this.onError("write error",t.stack)},this._onSentLast=t=>{t?this.onError("write error",t.stack):(this.emit("drain"),this.writable=!0,this.emit("ready"))},this.socket=e.websocket,this.socket.on("message",(t,i)=>{let n=i?t:t.toString();no('received "%s"',n),super.onData(n)}),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length;this._canSendPreEncodedFrame(i)?this.socket._sender.sendFrame(i.options.wsPreEncodedFrame,n?this._onSentLast:this._onSent):this.parser.encodePacket(i,this.supportsBinary,n?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(e){var t,i,n;return!this.perMessageDeflate&&typeof((i=(t=this.socket)===null||t===void 0?void 0:t._sender)===null||i===void 0?void 0:i.sendFrame)=="function"&&((n=e.options)===null||n===void 0?void 0:n.wsPreEncodedFrame)!==void 0}doClose(e){no("closing"),this.socket.close(),e&&e()}};Ns.WebSocket=sn});var an=x(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.WebTransport=void 0;var uf=Ye(),df=j(),ff=Wt(),mt=(0,df.default)("engine:webtransport"),nn=class extends uf.Transport{constructor(e,t,i){super({_query:{EIO:"4"}}),this.session=e;let n=(0,ff.createPacketEncoderStream)();n.readable.pipeTo(t.writable).catch(()=>{mt("the stream was closed")}),this.writer=n.writable.getWriter(),(async()=>{try{for(;;){let{value:a,done:r}=await i.read();if(r){mt("session is closed");break}mt("received chunk: %o",a),this.onPacket(a)}}catch(a){mt("error while reading: %s",a.message)}})(),e.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){let i=e[t];await this.writer.write(i)}}catch(t){mt("error while writing: %s",t.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(e){mt("closing WebTransport session"),this.session.close(),e&&e()}};Is.WebTransport=nn});var on=x(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});var mf=en(),hf=io(),xf=ao(),vf=an();rn.default={polling:ro,websocket:xf.WebSocket,webtransport:vf.WebTransport};function ro(s){return typeof s._query.j=="string"?new hf.JSONP(s):new mf.Polling(s)}ro.upgradesTo=["websocket","webtransport"]});var ln=x(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.Socket=void 0;var gf=require("events"),bf=j(),_e=require("timers"),A=(0,bf.default)("engine:socket"),cn=class extends gf.EventEmitter{get readyState(){return this._readyState}set readyState(e){A("readyState updated from %s to %s",this._readyState,e),this._readyState=e}constructor(e,t,i,n,a){super(),this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=e,this.server=t,this.request=n,this.protocol=a,n&&(n.websocket&&n.websocket._socket?this.remoteAddress=n.websocket._socket.remoteAddress:this.remoteAddress=n.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(i),this.onOpen()}onOpen(){this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket&&this.sendPacket("message",this.server.opts.initialPacket),this.emit("open"),this.protocol===3?this.resetPingTimeout():this.schedulePing()}onPacket(e){if(this.readyState!=="open")return A("packet received with closed socket");switch(A(`received packet ${e.type}`),this.emit("packet",e),e.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}A("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}A("got pong"),(0,_e.clearTimeout)(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",e.data),this.emit("message",e.data);break}}onError(e){A("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,_e.setTimeout)(()=>{A("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,_e.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,_e.setTimeout)(()=>{this.readyState!=="closed"&&this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(e){let t=this.onError.bind(this),i=()=>this.flush(),n=this.onPacket.bind(this),a=this.onDrain.bind(this),r=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("ready",i),this.transport.on("packet",n),this.transport.on("drain",a),this.transport.once("close",r),this.cleanupFn.push(function(){e.removeListener("error",t),e.removeListener("ready",i),e.removeListener("packet",n),e.removeListener("drain",a),e.removeListener("close",r)})}onDrain(){if(this.sentCallbackFn.length>0){A("executing batch send callback");let e=this.sentCallbackFn.shift();if(e)for(let t=0;t<e.length;t++)e[t](this.transport)}}_maybeUpgrade(e){A('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;let t=(0,_e.setTimeout)(()=>{A("client did not complete upgrade - closing transport"),r(),e.readyState==="open"&&e.close()},this.server.opts.upgradeTimeout),i,n=p=>{p.type==="ping"&&p.data==="probe"?(A("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(i),i=setInterval(a,100)):p.type==="upgrade"&&this.readyState!=="closed"?(A("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),this.readyState==="closing"&&e.close(()=>{this.onClose("forced close")})):(r(),e.close())},a=()=>{this.transport.name==="polling"&&this.transport.writable&&(A("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(i),(0,_e.clearTimeout)(t),e.removeListener("packet",n),e.removeListener("close",o),e.removeListener("error",c),this.removeListener("close",l)},c=p=>{A("client did not complete upgrade - %s",p),r(),e.close(),e=null},o=()=>{c("transport closed")},l=()=>{c("socket closed")};e.on("packet",n),e.once("close",o),e.once("error",c),this.once("close",l)}clearTransport(){let e,t=this.cleanupFn.length;for(let i=0;i<t;i++)e=this.cleanupFn.shift(),e();this.transport.on("error",function(){A("error triggered by discarded transport")}),this.transport.close(),(0,_e.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){this.readyState!=="closed"&&(this.readyState="closed",(0,_e.clearTimeout)(this.pingIntervalTimer),(0,_e.clearTimeout)(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}send(e,t,i){return this.sendPacket("message",e,t,i),this}write(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i={},n){if(typeof i=="function"&&(n=i,i={}),this.readyState!=="closing"&&this.readyState!=="closed"){A('sending packet "%s" (%s)',e,t),i.compress=i.compress!==!1;let a={type:e,options:i};t&&(a.data=t),this.emit("packetCreate",a),this.writeBuffer.push(a),typeof n=="function"&&this.packetsFn.push(n),this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){A("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let e=this.writeBuffer;this.writeBuffer=[],this.packetsFn.length?(this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[]):this.sentCallbackFn.push(null),this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let e=[],t=this.server.upgrades(this.transport.name);for(let i=0;i<t.length;++i){let n=t[i];this.server.opts.transports.indexOf(n)!==-1&&e.push(n)}return e}close(e){if(e&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(e);if(this.readyState==="open"){if(this.readyState="closing",this.writeBuffer.length){A("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{A("all packets have been sent, closing the transport"),this.closeTransport(e)});return}A("the buffer is empty, closing the transport right away"),this.closeTransport(e)}}closeTransport(e){A("closing the transport (discard? %s)",!!e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}};Bs.Socket=cn});var lo=x(pn=>{"use strict";pn.parse=kf;pn.serialize=Tf;var yf=Object.prototype.toString,wf=Object.prototype.hasOwnProperty,_f=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Sf=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,Ef=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Cf=/^[\u0020-\u003A\u003D-\u007E]*$/;function kf(s,e){if(typeof s!="string")throw new TypeError("argument str must be a string");var t={},i=s.length;if(i<2)return t;var n=e&&e.decode||Of,a=0,r=0,c=0;do{if(r=s.indexOf("=",a),r===-1)break;if(c=s.indexOf(";",a),c===-1)c=i;else if(r>c){a=s.lastIndexOf(";",r-1)+1;continue}var o=oo(s,a,r),l=co(s,r,o),p=s.slice(o,l);if(!wf.call(t,p)){var u=oo(s,r+1,c),d=co(s,c,u);s.charCodeAt(u)===34&&s.charCodeAt(d-1)===34&&(u++,d--);var h=s.slice(u,d);t[p]=Af(h,n)}a=c+1}while(a<i);return t}function oo(s,e,t){do{var i=s.charCodeAt(e);if(i!==32&&i!==9)return e}while(++e<t);return t}function co(s,e,t){for(;e>t;){var i=s.charCodeAt(--e);if(i!==32&&i!==9)return e+1}return t}function Tf(s,e,t){var i=t&&t.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!_f.test(s))throw new TypeError("argument name is invalid");var n=i(e);if(!Sf.test(n))throw new TypeError("argument val is invalid");var a=s+"="+n;if(!t)return a;if(t.maxAge!=null){var r=Math.floor(t.maxAge);if(!isFinite(r))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+r}if(t.domain){if(!Ef.test(t.domain))throw new TypeError("option domain is invalid");a+="; Domain="+t.domain}if(t.path){if(!Cf.test(t.path))throw new TypeError("option path is invalid");a+="; Path="+t.path}if(t.expires){var c=t.expires;if(!Rf(c)||isNaN(c.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+c.toUTCString()}if(t.httpOnly&&(a+="; HttpOnly"),t.secure&&(a+="; Secure"),t.partitioned&&(a+="; Partitioned"),t.priority){var o=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(o){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var l=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function Of(s){return s.indexOf("%")!==-1?decodeURIComponent(s):s}function Rf(s){return yf.call(s)==="[object Date]"}function Af(s,e){try{return e(s)}catch{return s}}});var Se=x((bg,fo)=>{"use strict";var po=["nodebuffer","arraybuffer","fragments"],uo=typeof Blob<"u";uo&&po.push("blob");fo.exports={BINARY_TYPES:po,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:uo,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var $t=x((yg,Ls)=>{"use strict";var{EMPTY_BUFFER:Pf}=Se(),un=Buffer[Symbol.species];function jf(s,e){if(s.length===0)return Pf;if(s.length===1)return s[0];let t=Buffer.allocUnsafe(e),i=0;for(let n=0;n<s.length;n++){let a=s[n];t.set(a,i),i+=a.length}return i<e?new un(t.buffer,t.byteOffset,i):t}function mo(s,e,t,i,n){for(let a=0;a<n;a++)t[i+a]=s[a]^e[a&3]}function ho(s,e){for(let t=0;t<s.length;t++)s[t]^=e[t&3]}function Df(s){return s.length===s.buffer.byteLength?s.buffer:s.buffer.slice(s.byteOffset,s.byteOffset+s.length)}function dn(s){if(dn.readOnly=!0,Buffer.isBuffer(s))return s;let e;return s instanceof ArrayBuffer?e=new un(s):ArrayBuffer.isView(s)?e=new un(s.buffer,s.byteOffset,s.byteLength):(e=Buffer.from(s),dn.readOnly=!1),e}Ls.exports={concat:jf,mask:mo,toArrayBuffer:Df,toBuffer:dn,unmask:ho};if(!process.env.WS_NO_BUFFER_UTIL)try{let s=require("bufferutil");Ls.exports.mask=function(e,t,i,n,a){a<48?mo(e,t,i,n,a):s.mask(e,t,i,n,a)},Ls.exports.unmask=function(e,t){e.length<32?ho(e,t):s.unmask(e,t)}}catch{}});var go=x((wg,vo)=>{"use strict";var xo=Symbol("kDone"),fn=Symbol("kRun"),mn=class{constructor(e){this[xo]=()=>{this.pending--,this[fn]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[fn]()}[fn](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[xo])}}};vo.exports=mn});var Gt=x((_g,_o)=>{"use strict";var Vt=require("zlib"),bo=$t(),Nf=go(),{kStatusCode:yo}=Se(),If=Buffer[Symbol.species],Bf=Buffer.from([0,0,255,255]),qs=Symbol("permessage-deflate"),Ee=Symbol("total-length"),ht=Symbol("callback"),Me=Symbol("buffers"),xt=Symbol("error"),Ms,hn=class{constructor(e,t,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Ms){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Ms=new Nf(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[ht];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,i=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(i.server_no_context_takeover=!0),t.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(i.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?i.client_max_window_bits=t.clientMaxWindowBits:(i.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(i=>{let n=t[i];if(n.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(n=n[0],i==="client_max_window_bits"){if(n!==!0){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else if(i==="server_max_window_bits"){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else throw new Error(`Unknown parameter "${i}"`);t[i]=n})}),e}decompress(e,t,i){Ms.add(n=>{this._decompress(e,t,(a,r)=>{n(),i(a,r)})})}compress(e,t,i){Ms.add(n=>{this._compress(e,t,(a,r)=>{n(),i(a,r)})})}_decompress(e,t,i){let n=this._isServer?"client":"server";if(!this._inflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Vt.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=Vt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:r}),this._inflate[qs]=this,this._inflate[Ee]=0,this._inflate[Me]=[],this._inflate.on("error",Mf),this._inflate.on("data",wo)}this._inflate[ht]=i,this._inflate.write(e),t&&this._inflate.write(Bf),this._inflate.flush(()=>{let a=this._inflate[xt];if(a){this._inflate.close(),this._inflate=null,i(a);return}let r=bo.concat(this._inflate[Me],this._inflate[Ee]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Ee]=0,this._inflate[Me]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),i(null,r)})}_compress(e,t,i){let n=this._isServer?"server":"client";if(!this._deflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Vt.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=Vt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:r}),this._deflate[Ee]=0,this._deflate[Me]=[],this._deflate.on("data",Lf)}this._deflate[ht]=i,this._deflate.write(e),this._deflate.flush(Vt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=bo.concat(this._deflate[Me],this._deflate[Ee]);t&&(a=new If(a.buffer,a.byteOffset,a.length-4)),this._deflate[ht]=null,this._deflate[Ee]=0,this._deflate[Me]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};_o.exports=hn;function Lf(s){this[Me].push(s),this[Ee]+=s.length}function wo(s){if(this[Ee]+=s.length,this[qs]._maxPayload<1||this[Ee]<=this[qs]._maxPayload){this[Me].push(s);return}this[xt]=new RangeError("Max payload size exceeded"),this[xt].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[xt][yo]=1009,this.removeListener("data",wo),this.reset()}function Mf(s){if(this[qs]._inflate=null,this[xt]){this[ht](this[xt]);return}s[yo]=1007,this[ht](s)}});var vt=x((Sg,Fs)=>{"use strict";var{isUtf8:So}=require("buffer"),{hasBlob:qf}=Se(),Ff=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Uf(s){return s>=1e3&&s<=1014&&s!==1004&&s!==1005&&s!==1006||s>=3e3&&s<=4999}function xn(s){let e=s.length,t=0;for(;t<e;)if((s[t]&128)===0)t++;else if((s[t]&224)===192){if(t+1===e||(s[t+1]&192)!==128||(s[t]&254)===192)return!1;t+=2}else if((s[t]&240)===224){if(t+2>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||s[t]===224&&(s[t+1]&224)===128||s[t]===237&&(s[t+1]&224)===160)return!1;t+=3}else if((s[t]&248)===240){if(t+3>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||(s[t+3]&192)!==128||s[t]===240&&(s[t+1]&240)===128||s[t]===244&&s[t+1]>143||s[t]>244)return!1;t+=4}else return!1;return!0}function Hf(s){return qf&&typeof s=="object"&&typeof s.arrayBuffer=="function"&&typeof s.type=="string"&&typeof s.stream=="function"&&(s[Symbol.toStringTag]==="Blob"||s[Symbol.toStringTag]==="File")}Fs.exports={isBlob:Hf,isValidStatusCode:Uf,isValidUTF8:xn,tokenChars:Ff};if(So)Fs.exports.isValidUTF8=function(s){return s.length<24?xn(s):So(s)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let s=require("utf-8-validate");Fs.exports.isValidUTF8=function(e){return e.length<32?xn(e):s(e)}}catch{}});var wn=x((Eg,Ao)=>{"use strict";var{Writable:zf}=require("stream"),Eo=Gt(),{BINARY_TYPES:Wf,EMPTY_BUFFER:Co,kStatusCode:$f,kWebSocket:Vf}=Se(),{concat:vn,toArrayBuffer:Gf,unmask:Kf}=$t(),{isValidStatusCode:Yf,isValidUTF8:ko}=vt(),Us=Buffer[Symbol.species],ne=0,To=1,Oo=2,Ro=3,gn=4,bn=5,Hs=6,yn=class extends zf{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Wf[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Vf]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=ne}_write(e,t,i){if(this._opcode===8&&this._state==ne)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Us(i.buffer,i.byteOffset+e,i.length-e),new Us(i.buffer,i.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let i=this._buffers[0],n=t.length-e;e>=i.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(i.buffer,i.byteOffset,e),n),this._buffers[0]=new Us(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case ne:this.getInfo(e);break;case To:this.getPayloadLength16(e);break;case Oo:this.getPayloadLength64(e);break;case Ro:this.getMask();break;case gn:this.getData(e);break;case bn:case Hs:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let i=(t[0]&64)===64;if(i&&!this._extensions[Eo.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=To:this._payloadLength===127?this._state=Oo:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),i=t.readUInt32BE(0);if(i>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=i*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=Ro:this._state=gn}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=gn}getData(e){let t=Co;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Kf(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=bn,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[Eo.extensionName].decompress(e,this._fin,(n,a)=>{if(n)return t(n);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(r);return}this._fragments.push(a)}this.dataMessage(t),this._state===ne&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=ne;return}let t=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=vn(i,t):this._binaryType==="arraybuffer"?n=Gf(vn(i,t)):this._binaryType==="blob"?n=new Blob(i):n=i,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=ne):(this._state=Hs,setImmediate(()=>{this.emit("message",n,!0),this._state=ne,this.startLoop(e)}))}else{let n=vn(i,t);if(!this._skipUTF8Validation&&!ko(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(a);return}this._state===bn||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=ne):(this._state=Hs,setImmediate(()=>{this.emit("message",n,!1),this._state=ne,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Co),this.end();else{let i=e.readUInt16BE(0);if(!Yf(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(a);return}let n=new Us(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!ko(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._loop=!1,this.emit("conclude",i,n),this.end()}this._state=ne;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=ne):(this._state=Hs,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=ne,this.startLoop(t)}))}createError(e,t,i,n,a){this._loop=!1,this._errored=!0;let r=new e(i?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(r,this.createError),r.code=a,r[$f]=n,r}};Ao.exports=yn});var En=x((kg,Do)=>{"use strict";var{Duplex:Cg}=require("stream"),{randomFillSync:Xf}=require("crypto"),Po=Gt(),{EMPTY_BUFFER:Jf,kWebSocket:Qf,NOOP:Zf}=Se(),{isBlob:gt,isValidStatusCode:em}=vt(),{mask:jo,toBuffer:Xe}=$t(),ae=Symbol("kByteLength"),tm=Buffer.alloc(4),zs=8*1024,Je,bt=zs,pe=0,sm=1,im=2,_n=class s{constructor(e,t,i){this._extensions=t||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=pe,this.onerror=Zf,this[Qf]=void 0}static frame(e,t){let i,n=!1,a=2,r=!1;t.mask&&(i=t.maskBuffer||tm,t.generateMask?t.generateMask(i):(bt===zs&&(Je===void 0&&(Je=Buffer.alloc(zs)),Xf(Je,0,zs),bt=0),i[0]=Je[bt++],i[1]=Je[bt++],i[2]=Je[bt++],i[3]=Je[bt++]),r=(i[0]|i[1]|i[2]|i[3])===0,a=6);let c;typeof e=="string"?(!t.mask||r)&&t[ae]!==void 0?c=t[ae]:(e=Buffer.from(e),c=e.length):(c=e.length,n=t.mask&&t.readOnly&&!r);let o=c;c>=65536?(a+=8,o=127):c>125&&(a+=2,o=126);let l=Buffer.allocUnsafe(n?c+a:a);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=o,o===126?l.writeUInt16BE(c,2):o===127&&(l[2]=l[3]=0,l.writeUIntBE(c,4,6)),t.mask?(l[1]|=128,l[a-4]=i[0],l[a-3]=i[1],l[a-2]=i[2],l[a-1]=i[3],r?[l,e]:n?(jo(e,i,l,a,c),[l]):(jo(e,i,e,0,c),[l,e])):[l,e]}close(e,t,i,n){let a;if(e===void 0)a=Jf;else{if(typeof e!="number"||!em(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");a=Buffer.allocUnsafe(2+c),a.writeUInt16BE(e,0),typeof t=="string"?a.write(t,2):a.set(t,2)}}let r={[ae]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==pe?this.enqueue([this.dispatch,a,!1,r,n]):this.sendFrame(s.frame(a,r),n)}ping(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):gt(e)?(n=e.size,a=!1):(e=Xe(e),n=e.length,a=Xe.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[ae]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};gt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==pe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}pong(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):gt(e)?(n=e.size,a=!1):(e=Xe(e),n=e.length,a=Xe.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[ae]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};gt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==pe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}send(e,t,i){let n=this._extensions[Po.extensionName],a=t.binary?2:1,r=t.compress,c,o;typeof e=="string"?(c=Buffer.byteLength(e),o=!1):gt(e)?(c=e.size,o=!1):(e=Xe(e),c=e.length,o=Xe.readOnly),this._firstFragment?(this._firstFragment=!1,r&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(r=c>=n._threshold),this._compress=r):(r=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[ae]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:o,rsv1:r};gt(e)?this._state!==pe?this.enqueue([this.getBlobData,e,this._compress,l,i]):this.getBlobData(e,this._compress,l,i):this._state!==pe?this.enqueue([this.dispatch,e,this._compress,l,i]):this.dispatch(e,this._compress,l,i)}getBlobData(e,t,i,n){this._bufferedBytes+=i[ae],this._state=im,e.arrayBuffer().then(a=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(Sn,this,c,n);return}this._bufferedBytes-=i[ae];let r=Xe(a);t?this.dispatch(r,t,i,n):(this._state=pe,this.sendFrame(s.frame(r,i),n),this.dequeue())}).catch(a=>{process.nextTick(nm,this,a,n)})}dispatch(e,t,i,n){if(!t){this.sendFrame(s.frame(e,i),n);return}let a=this._extensions[Po.extensionName];this._bufferedBytes+=i[ae],this._state=sm,a.compress(e,i.fin,(r,c)=>{if(this._socket.destroyed){let o=new Error("The socket was closed while data was being compressed");Sn(this,o,n);return}this._bufferedBytes-=i[ae],this._state=pe,i.readOnly=!1,this.sendFrame(s.frame(c,i),n),this.dequeue()})}dequeue(){for(;this._state===pe&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][ae],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][ae],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Do.exports=_n;function Sn(s,e,t){typeof t=="function"&&t(e);for(let i=0;i<s._queue.length;i++){let n=s._queue[i],a=n[n.length-1];typeof a=="function"&&a(e)}}function nm(s,e,t){Sn(s,e,t),s.onerror(e)}});var Ho=x((Tg,Uo)=>{"use strict";var{kForOnEventAttribute:Kt,kListener:Cn}=Se(),No=Symbol("kCode"),Io=Symbol("kData"),Bo=Symbol("kError"),Lo=Symbol("kMessage"),Mo=Symbol("kReason"),yt=Symbol("kTarget"),qo=Symbol("kType"),Fo=Symbol("kWasClean"),Ce=class{constructor(e){this[yt]=null,this[qo]=e}get target(){return this[yt]}get type(){return this[qo]}};Object.defineProperty(Ce.prototype,"target",{enumerable:!0});Object.defineProperty(Ce.prototype,"type",{enumerable:!0});var Qe=class extends Ce{constructor(e,t={}){super(e),this[No]=t.code===void 0?0:t.code,this[Mo]=t.reason===void 0?"":t.reason,this[Fo]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[No]}get reason(){return this[Mo]}get wasClean(){return this[Fo]}};Object.defineProperty(Qe.prototype,"code",{enumerable:!0});Object.defineProperty(Qe.prototype,"reason",{enumerable:!0});Object.defineProperty(Qe.prototype,"wasClean",{enumerable:!0});var wt=class extends Ce{constructor(e,t={}){super(e),this[Bo]=t.error===void 0?null:t.error,this[Lo]=t.message===void 0?"":t.message}get error(){return this[Bo]}get message(){return this[Lo]}};Object.defineProperty(wt.prototype,"error",{enumerable:!0});Object.defineProperty(wt.prototype,"message",{enumerable:!0});var Yt=class extends Ce{constructor(e,t={}){super(e),this[Io]=t.data===void 0?null:t.data}get data(){return this[Io]}};Object.defineProperty(Yt.prototype,"data",{enumerable:!0});var am={addEventListener(s,e,t={}){for(let n of this.listeners(s))if(!t[Kt]&&n[Cn]===e&&!n[Kt])return;let i;if(s==="message")i=function(a,r){let c=new Yt("message",{data:r?a:a.toString()});c[yt]=this,Ws(e,this,c)};else if(s==="close")i=function(a,r){let c=new Qe("close",{code:a,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[yt]=this,Ws(e,this,c)};else if(s==="error")i=function(a){let r=new wt("error",{error:a,message:a.message});r[yt]=this,Ws(e,this,r)};else if(s==="open")i=function(){let a=new Ce("open");a[yt]=this,Ws(e,this,a)};else return;i[Kt]=!!t[Kt],i[Cn]=e,t.once?this.once(s,i):this.on(s,i)},removeEventListener(s,e){for(let t of this.listeners(s))if(t[Cn]===e&&!t[Kt]){this.removeListener(s,t);break}}};Uo.exports={CloseEvent:Qe,ErrorEvent:wt,Event:Ce,EventTarget:am,MessageEvent:Yt};function Ws(s,e,t){typeof s=="object"&&s.handleEvent?s.handleEvent.call(s,t):s.call(e,t)}});var kn=x((Og,zo)=>{"use strict";var{tokenChars:Xt}=vt();function ve(s,e,t){s[e]===void 0?s[e]=[t]:s[e].push(t)}function rm(s){let e=Object.create(null),t=Object.create(null),i=!1,n=!1,a=!1,r,c,o=-1,l=-1,p=-1,u=0;for(;u<s.length;u++)if(l=s.charCodeAt(u),r===void 0)if(p===-1&&Xt[l]===1)o===-1&&(o=u);else if(u!==0&&(l===32||l===9))p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);l===44?(ve(e,h,t),t=Object.create(null)):r=h,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(c===void 0)if(p===-1&&Xt[l]===1)o===-1&&(o=u);else if(l===32||l===9)p===-1&&o!==-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u),ve(t,s.slice(o,p),!0),l===44&&(ve(e,r,t),t=Object.create(null),r=void 0),o=p=-1}else if(l===61&&o!==-1&&p===-1)c=s.slice(o,u),o=p=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(Xt[l]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);o===-1?o=u:i||(i=!0),n=!1}else if(a)if(Xt[l]===1)o===-1&&(o=u);else if(l===34&&o!==-1)a=!1,p=u;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(l===34&&s.charCodeAt(u-1)===61)a=!0;else if(p===-1&&Xt[l]===1)o===-1&&(o=u);else if(o!==-1&&(l===32||l===9))p===-1&&(p=u);else if(l===59||l===44){if(o===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(o,p);i&&(h=h.replace(/\\/g,""),i=!1),ve(t,c,h),l===44&&(ve(e,r,t),t=Object.create(null),r=void 0),c=void 0,o=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(o===-1||a||l===32||l===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=u);let d=s.slice(o,p);return r===void 0?ve(e,d,t):(c===void 0?ve(t,d,!0):i?ve(t,c,d.replace(/\\/g,"")):ve(t,c,d),ve(e,r,t)),e}function om(s){return Object.keys(s).map(e=>{let t=s[e];return Array.isArray(t)||(t=[t]),t.map(i=>[e].concat(Object.keys(i).map(n=>{let a=i[n];return Array.isArray(a)||(a=[a]),a.map(r=>r===!0?n:`${n}=${r}`).join("; ")})).join("; ")).join(", ")}).join(", ")}zo.exports={format:om,parse:rm}});var Ks=x((Pg,tc)=>{"use strict";var cm=require("events"),lm=require("https"),pm=require("http"),Vo=require("net"),um=require("tls"),{randomBytes:dm,createHash:fm}=require("crypto"),{Duplex:Rg,Readable:Ag}=require("stream"),{URL:Tn}=require("url"),qe=Gt(),mm=wn(),hm=En(),{isBlob:xm}=vt(),{BINARY_TYPES:Wo,EMPTY_BUFFER:$s,GUID:vm,kForOnEventAttribute:On,kListener:gm,kStatusCode:bm,kWebSocket:L,NOOP:Go}=Se(),{EventTarget:{addEventListener:ym,removeEventListener:wm}}=Ho(),{format:_m,parse:Sm}=kn(),{toBuffer:Em}=$t(),Cm=30*1e3,Ko=Symbol("kAborted"),Rn=[8,13],ke=["CONNECTING","OPEN","CLOSING","CLOSED"],km=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,k=class s extends cm{constructor(e,t,i){super(),this._binaryType=Wo[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=$s,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=s.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(i=t,t=[]):t=[t]),Yo(this,e,t,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Wo.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,i){let n=new mm({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new hm(e,this._extensions,i.generateMask);this._receiver=n,this._sender=a,this._socket=e,n[L]=this,a[L]=this,e[L]=this,n.on("conclude",Rm),n.on("drain",Am),n.on("error",Pm),n.on("message",jm),n.on("ping",Dm),n.on("pong",Nm),a.onerror=Im,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Qo),e.on("data",Gs),e.on("end",Zo),e.on("error",ec),this._readyState=s.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[qe.extensionName]&&this._extensions[qe.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){te(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===s.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=s.CLOSING,this._sender.close(e,t,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Jo(this)}}pause(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){An(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||$s,t,i)}pong(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){An(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||$s,t,i)}resume(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(i=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){An(this,e,i);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[qe.extensionName]||(n.compress=!1),this._sender.send(e||$s,n,i)}terminate(){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){te(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=s.CLOSING,this._socket.destroy())}}};Object.defineProperty(k,"CONNECTING",{enumerable:!0,value:ke.indexOf("CONNECTING")});Object.defineProperty(k.prototype,"CONNECTING",{enumerable:!0,value:ke.indexOf("CONNECTING")});Object.defineProperty(k,"OPEN",{enumerable:!0,value:ke.indexOf("OPEN")});Object.defineProperty(k.prototype,"OPEN",{enumerable:!0,value:ke.indexOf("OPEN")});Object.defineProperty(k,"CLOSING",{enumerable:!0,value:ke.indexOf("CLOSING")});Object.defineProperty(k.prototype,"CLOSING",{enumerable:!0,value:ke.indexOf("CLOSING")});Object.defineProperty(k,"CLOSED",{enumerable:!0,value:ke.indexOf("CLOSED")});Object.defineProperty(k.prototype,"CLOSED",{enumerable:!0,value:ke.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(s=>{Object.defineProperty(k.prototype,s,{enumerable:!0})});["open","error","close","message"].forEach(s=>{Object.defineProperty(k.prototype,`on${s}`,{enumerable:!0,get(){for(let e of this.listeners(s))if(e[On])return e[gm];return null},set(e){for(let t of this.listeners(s))if(t[On]){this.removeListener(s,t);break}typeof e=="function"&&this.addEventListener(s,e,{[On]:!0})}})});k.prototype.addEventListener=ym;k.prototype.removeEventListener=wm;tc.exports=k;function Yo(s,e,t,i){let n={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:Rn[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(s._autoPong=n.autoPong,!Rn.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${Rn.join(", ")})`);let a;if(e instanceof Tn)a=e;else try{a=new Tn(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),s._url=a.href;let r=a.protocol==="wss:",c=a.protocol==="ws+unix:",o;if(a.protocol!=="ws:"&&!r&&!c?o=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!a.pathname?o="The URL's pathname is empty":a.hash&&(o="The URL contains a fragment identifier"),o){let f=new SyntaxError(o);if(s._redirects===0)throw f;Vs(s,f);return}let l=r?443:80,p=dm(16).toString("base64"),u=r?lm.request:pm.request,d=new Set,h;if(n.createConnection=n.createConnection||(r?Om:Tm),n.defaultPort=n.defaultPort||l,n.port=a.port||l,n.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},n.path=a.pathname+a.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(h=new qe(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=_m({[qe.extensionName]:h.offer()})),t.length){for(let f of t){if(typeof f!="string"||!km.test(f)||d.has(f))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(f)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(a.username||a.password)&&(n.auth=`${a.username}:${a.password}`),c){let f=n.path.split(":");n.socketPath=f[0],n.path=f[1]}let m;if(n.followRedirects){if(s._redirects===0){s._originalIpc=c,s._originalSecure=r,s._originalHostOrSocketPath=c?n.socketPath:a.host;let f=i&&i.headers;if(i={...i,headers:{}},f)for(let[v,y]of Object.entries(f))i.headers[v.toLowerCase()]=y}else if(s.listenerCount("redirect")===0){let f=c?s._originalIpc?n.socketPath===s._originalHostOrSocketPath:!1:s._originalIpc?!1:a.host===s._originalHostOrSocketPath;(!f||s._originalSecure&&!r)&&(delete n.headers.authorization,delete n.headers.cookie,f||delete n.headers.host,n.auth=void 0)}n.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=s._req=u(n),s._redirects&&s.emit("redirect",s.url,m)}else m=s._req=u(n);n.timeout&&m.on("timeout",()=>{te(s,m,"Opening handshake has timed out")}),m.on("error",f=>{m===null||m[Ko]||(m=s._req=null,Vs(s,f))}),m.on("response",f=>{let v=f.headers.location,y=f.statusCode;if(v&&n.followRedirects&&y>=300&&y<400){if(++s._redirects>n.maxRedirects){te(s,m,"Maximum redirects exceeded");return}m.abort();let g;try{g=new Tn(v,e)}catch{let D=new SyntaxError(`Invalid URL: ${v}`);Vs(s,D);return}Yo(s,g,t,i)}else s.emit("unexpected-response",m,f)||te(s,m,`Unexpected server response: ${f.statusCode}`)}),m.on("upgrade",(f,v,y)=>{if(s.emit("upgrade",f),s.readyState!==k.CONNECTING)return;m=s._req=null;let g=f.headers.upgrade;if(g===void 0||g.toLowerCase()!=="websocket"){te(s,v,"Invalid Upgrade header");return}let q=fm("sha1").update(p+vm).digest("base64");if(f.headers["sec-websocket-accept"]!==q){te(s,v,"Invalid Sec-WebSocket-Accept header");return}let D=f.headers["sec-websocket-protocol"],fe;if(D!==void 0?d.size?d.has(D)||(fe="Server sent an invalid subprotocol"):fe="Server sent a subprotocol but none was requested":d.size&&(fe="Server sent no subprotocol"),fe){te(s,v,fe);return}D&&(s._protocol=D);let G=f.headers["sec-websocket-extensions"];if(G!==void 0){if(!h){te(s,v,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let me;try{me=Sm(G)}catch{te(s,v,"Invalid Sec-WebSocket-Extensions header");return}let we=Object.keys(me);if(we.length!==1||we[0]!==qe.extensionName){te(s,v,"Server indicated an extension that was not requested");return}try{h.accept(me[qe.extensionName])}catch{te(s,v,"Invalid Sec-WebSocket-Extensions header");return}s._extensions[qe.extensionName]=h}s.setSocket(v,y,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,s):m.end()}function Vs(s,e){s._readyState=k.CLOSING,s._errorEmitted=!0,s.emit("error",e),s.emitClose()}function Tm(s){return s.path=s.socketPath,Vo.connect(s)}function Om(s){return s.path=void 0,!s.servername&&s.servername!==""&&(s.servername=Vo.isIP(s.host)?"":s.host),um.connect(s)}function te(s,e,t){s._readyState=k.CLOSING;let i=new Error(t);Error.captureStackTrace(i,te),e.setHeader?(e[Ko]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Vs,s,i)):(e.destroy(i),e.once("error",s.emit.bind(s,"error")),e.once("close",s.emitClose.bind(s)))}function An(s,e,t){if(e){let i=xm(e)?e.size:Em(e).length;s._socket?s._sender._bufferedBytes+=i:s._bufferedAmount+=i}if(t){let i=new Error(`WebSocket is not open: readyState ${s.readyState} (${ke[s.readyState]})`);process.nextTick(t,i)}}function Rm(s,e){let t=this[L];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=s,t._socket[L]!==void 0&&(t._socket.removeListener("data",Gs),process.nextTick(Xo,t._socket),s===1005?t.close():t.close(s,e))}function Am(){let s=this[L];s.isPaused||s._socket.resume()}function Pm(s){let e=this[L];e._socket[L]!==void 0&&(e._socket.removeListener("data",Gs),process.nextTick(Xo,e._socket),e.close(s[bm])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s))}function $o(){this[L].emitClose()}function jm(s,e){this[L].emit("message",s,e)}function Dm(s){let e=this[L];e._autoPong&&e.pong(s,!this._isServer,Go),e.emit("ping",s)}function Nm(s){this[L].emit("pong",s)}function Xo(s){s.resume()}function Im(s){let e=this[L];e.readyState!==k.CLOSED&&(e.readyState===k.OPEN&&(e._readyState=k.CLOSING,Jo(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s)))}function Jo(s){s._closeTimer=setTimeout(s._socket.destroy.bind(s._socket),Cm)}function Qo(){let s=this[L];this.removeListener("close",Qo),this.removeListener("data",Gs),this.removeListener("end",Zo),s._readyState=k.CLOSING;let e;!this._readableState.endEmitted&&!s._closeFrameReceived&&!s._receiver._writableState.errorEmitted&&(e=s._socket.read())!==null&&s._receiver.write(e),s._receiver.end(),this[L]=void 0,clearTimeout(s._closeTimer),s._receiver._writableState.finished||s._receiver._writableState.errorEmitted?s.emitClose():(s._receiver.on("error",$o),s._receiver.on("finish",$o))}function Gs(s){this[L]._receiver.write(s)||this.pause()}function Zo(){let s=this[L];s._readyState=k.CLOSING,s._receiver.end(),this.end()}function ec(){let s=this[L];this.removeListener("error",ec),this.on("error",Go),s&&(s._readyState=k.CLOSING,this.destroy())}});var ac=x((Dg,nc)=>{"use strict";var jg=Ks(),{Duplex:Bm}=require("stream");function sc(s){s.emit("close")}function Lm(){!this.destroyed&&this._writableState.finished&&this.destroy()}function ic(s){this.removeListener("error",ic),this.destroy(),this.listenerCount("error")===0&&this.emit("error",s)}function Mm(s,e){let t=!0,i=new Bm({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return s.on("message",function(a,r){let c=!r&&i._readableState.objectMode?a.toString():a;i.push(c)||s.pause()}),s.once("error",function(a){i.destroyed||(t=!1,i.destroy(a))}),s.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(n,a){if(s.readyState===s.CLOSED){a(n),process.nextTick(sc,i);return}let r=!1;s.once("error",function(o){r=!0,a(o)}),s.once("close",function(){r||a(n),process.nextTick(sc,i)}),t&&s.terminate()},i._final=function(n){if(s.readyState===s.CONNECTING){s.once("open",function(){i._final(n)});return}s._socket!==null&&(s._socket._writableState.finished?(n(),i._readableState.endEmitted&&i.destroy()):(s._socket.once("finish",function(){n()}),s.close()))},i._read=function(){s.isPaused&&s.resume()},i._write=function(n,a,r){if(s.readyState===s.CONNECTING){s.once("open",function(){i._write(n,a,r)});return}s.send(n,r)},i.on("end",Lm),i.on("error",ic),i}nc.exports=Mm});var oc=x((Ng,rc)=>{"use strict";var{tokenChars:qm}=vt();function Fm(s){let e=new Set,t=-1,i=-1,n=0;for(n;n<s.length;n++){let r=s.charCodeAt(n);if(i===-1&&qm[r]===1)t===-1&&(t=n);else if(n!==0&&(r===32||r===9))i===-1&&t!==-1&&(i=n);else if(r===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);i===-1&&(i=n);let c=s.slice(t,i);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=i=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let a=s.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return e.add(a),e}rc.exports={parse:Fm}});var mc=x((Bg,fc)=>{"use strict";var Um=require("events"),Ys=require("http"),{Duplex:Ig}=require("stream"),{createHash:Hm}=require("crypto"),cc=kn(),Ze=Gt(),zm=oc(),Wm=Ks(),{GUID:$m,kWebSocket:Vm}=Se(),Gm=/^[+/0-9A-Za-z]{22}==$/,lc=0,pc=1,dc=2,Pn=class extends Um{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Wm,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Ys.createServer((i,n)=>{let a=Ys.STATUS_CODES[426];n.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),n.end(a)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=Km(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,a,r)=>{this.handleUpgrade(n,a,r,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=lc}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===dc){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Jt,this);return}if(e&&this.once("close",e),this._state!==pc)if(this._state=pc,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Jt,this):process.nextTick(Jt,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Jt(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,i,n){t.on("error",uc);let a=e.headers["sec-websocket-key"],r=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){et(this,e,t,405,"Invalid HTTP method");return}if(r===void 0||r.toLowerCase()!=="websocket"){et(this,e,t,400,"Invalid Upgrade header");return}if(a===void 0||!Gm.test(a)){et(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){et(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Qt(t,400);return}let o=e.headers["sec-websocket-protocol"],l=new Set;if(o!==void 0)try{l=zm.parse(o)}catch{et(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&p!==void 0){let d=new Ze(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=cc.parse(p);h[Ze.extensionName]&&(d.accept(h[Ze.extensionName]),u[Ze.extensionName]=d)}catch{et(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(h,m,f,v)=>{if(!h)return Qt(t,m||401,f,v);this.completeUpgrade(u,a,l,e,t,i,n)});return}if(!this.options.verifyClient(d))return Qt(t,401)}this.completeUpgrade(u,a,l,e,t,i,n)}completeUpgrade(e,t,i,n,a,r,c){if(!a.readable||!a.writable)return a.destroy();if(a[Vm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>lc)return Qt(a,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Hm("sha1").update(t+$m).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let u=this.options.handleProtocols?this.options.handleProtocols(i,n):i.values().next().value;u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),p._protocol=u)}if(e[Ze.extensionName]){let u=e[Ze.extensionName].params,d=cc.format({[Ze.extensionName]:[u]});l.push(`Sec-WebSocket-Extensions: ${d}`),p._extensions=e}this.emit("headers",l,n),a.write(l.concat(`\r
8
8
  `).join(`\r
9
- `)),a.removeListener("error",cc),p.setSocket(a,r,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Jt,this)})),c(p,n)}};pc.exports=Rn;function Km(s,e){for(let t of Object.keys(e))s.on(t,e[t]);return function(){for(let i of Object.keys(e))s.removeListener(i,e[i])}}function Jt(s){s._state=lc,s.emit("close")}function cc(){this.destroy()}function Qt(s,e,t,i){t=t||Ks.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...i},s.once("finish",s.destroy),s.end(`HTTP/1.1 ${e} ${Ks.STATUS_CODES[e]}\r
9
+ `)),a.removeListener("error",uc),p.setSocket(a,r,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Jt,this)})),c(p,n)}};fc.exports=Pn;function Km(s,e){for(let t of Object.keys(e))s.on(t,e[t]);return function(){for(let i of Object.keys(e))s.removeListener(i,e[i])}}function Jt(s){s._state=dc,s.emit("close")}function uc(){this.destroy()}function Qt(s,e,t,i){t=t||Ys.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...i},s.once("finish",s.destroy),s.end(`HTTP/1.1 ${e} ${Ys.STATUS_CODES[e]}\r
10
10
  `+Object.keys(i).map(n=>`${n}: ${i[n]}`).join(`\r
11
11
  `)+`\r
12
12
  \r
13
- `+t)}function et(s,e,t,i,n,a){if(s.listenerCount("wsClientError")){let r=new Error(n);Error.captureStackTrace(r,et),s.emit("wsClientError",r,t,e)}else Qt(t,i,n,a)}});var An=x((Lg,dc)=>{"use strict";var Te=Gs();Te.createWebSocketStream=sc();Te.Server=uc();Te.Receiver=bn();Te.Sender=_n();Te.WebSocket=Te;Te.WebSocketServer=Te.Server;dc.exports=Te});var hc=x((Mg,mc)=>{"use strict";var fc=Object.getOwnPropertySymbols,Ym=Object.prototype.hasOwnProperty,Xm=Object.prototype.propertyIsEnumerable;function Jm(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function Qm(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;var i=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}mc.exports=Qm()?Object.assign:function(s,e){for(var t,i=Jm(s),n,a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var r in t)Ym.call(t,r)&&(i[r]=t[r]);if(fc){n=fc(t);for(var c=0;c<n.length;c++)Xm.call(t,n[c])&&(i[n[c]]=t[n[c]])}}return i}});var gc=x((qg,Pn)=>{"use strict";Pn.exports=eh;Pn.exports.append=vc;var Zm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function vc(s,e){if(typeof s!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var t=Array.isArray(e)?e:xc(String(e)),i=0;i<t.length;i++)if(!Zm.test(t[i]))throw new TypeError("field argument contains an invalid header name");if(s==="*")return s;var n=s,a=xc(s.toLowerCase());if(t.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var r=0;r<t.length;r++){var c=t[r].toLowerCase();a.indexOf(c)===-1&&(a.push(c),n=n?n+", "+t[r]:t[r])}return n}function xc(s){for(var e=0,t=[],i=0,n=0,a=s.length;n<a;n++)switch(s.charCodeAt(n)){case 32:i===e&&(i=e=n+1);break;case 44:t.push(s.substring(i,e)),i=e=n+1;break;default:e=n+1;break}return t.push(s.substring(i,e)),t}function eh(s,e){if(!s||!s.getHeader||!s.setHeader)throw new TypeError("res argument is required");var t=s.getHeader("Vary")||"",i=Array.isArray(t)?t.join(", "):String(t);(t=vc(i,e))&&s.setHeader("Vary",t)}});var jn=x((Fg,bc)=>{(function(){"use strict";var s=hc(),e=gc(),t={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function i(m){return typeof m=="string"||m instanceof String}function n(m,f){if(Array.isArray(f)){for(var v=0;v<f.length;++v)if(n(m,f[v]))return!0;return!1}else return i(f)?m===f:f instanceof RegExp?f.test(m):!!f}function a(m,f){var v=f.headers.origin,y=[],g;return!m.origin||m.origin==="*"?y.push([{key:"Access-Control-Allow-Origin",value:"*"}]):i(m.origin)?(y.push([{key:"Access-Control-Allow-Origin",value:m.origin}]),y.push([{key:"Vary",value:"Origin"}])):(g=n(v,m.origin),y.push([{key:"Access-Control-Allow-Origin",value:g?v:!1}]),y.push([{key:"Vary",value:"Origin"}])),y}function r(m){var f=m.methods;return f.join&&(f=m.methods.join(",")),{key:"Access-Control-Allow-Methods",value:f}}function c(m){return m.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function o(m,f){var v=m.allowedHeaders||m.headers,y=[];return v?v.join&&(v=v.join(",")):(v=f.headers["access-control-request-headers"],y.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),v&&v.length&&y.push([{key:"Access-Control-Allow-Headers",value:v}]),y}function l(m){var f=m.exposedHeaders;if(f)f.join&&(f=f.join(","));else return null;return f&&f.length?{key:"Access-Control-Expose-Headers",value:f}:null}function p(m){var f=(typeof m.maxAge=="number"||m.maxAge)&&m.maxAge.toString();return f&&f.length?{key:"Access-Control-Max-Age",value:f}:null}function u(m,f){for(var v=0,y=m.length;v<y;v++){var g=m[v];g&&(Array.isArray(g)?u(g,f):g.key==="Vary"&&g.value?e(f,g.value):g.value&&f.setHeader(g.key,g.value))}}function d(m,f,v,y){var g=[],q=f.method&&f.method.toUpperCase&&f.method.toUpperCase();q==="OPTIONS"?(g.push(a(m,f)),g.push(c(m)),g.push(r(m)),g.push(o(m,f)),g.push(p(m)),g.push(l(m)),u(g,v),m.preflightContinue?y():(v.statusCode=m.optionsSuccessStatus,v.setHeader("Content-Length","0"),v.end())):(g.push(a(m,f)),g.push(c(m)),g.push(l(m)),u(g,v),y())}function h(m){var f=null;return typeof m=="function"?f=m:f=function(v,y){y(null,m)},function(y,g,q){f(y,function(D,fe){if(D)q(D);else{var V=s({},t,fe),me=null;V.origin&&typeof V.origin=="function"?me=V.origin:V.origin&&(me=function(we,he){he(null,V.origin)}),me?me(y.headers.origin,function(we,he){we||!he?q(we):(V.origin=he,d(V,y,g,q))}):q()}})}}bc.exports=h})()});var Nn=x(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Server=Et.BaseServer=void 0;var yc=Mi(),Ys=an(),th=require("events"),wc=on(),sh=j(),ih=ro(),nh=An(),_c=sn(),ah=Wt(),w=(0,sh.default)("engine"),_t=Symbol("responseHeaders");function rh(s){try{let e=JSON.parse(s);if(typeof e.sid=="string")return e.sid}catch{}}var St=class extends th.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:nh.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},e),e.cookie&&(this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:e.cookie.path!==!1,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(jn()(this.opts.cors)),e.perMessageDeflate&&(this.opts.perMessageDeflate=Object.assign({threshold:1024},e.perMessageDeflate)),this.init()}_computePath(e){let t=(e.path||"/engine.io").replace(/\/$/,"");return e.addTrailingSlash!==!1&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades?Ys.default[e].upgradesTo||[]:[]}verify(e,t,i){let n=e._query.transport;if(!~this.opts.transports.indexOf(n)||n==="webtransport")return w('unknown transport "%s"',n),i(C.errors.UNKNOWN_TRANSPORT,{transport:n});if(oh(e.headers.origin)){let c=e.headers.origin;return e.headers.origin=null,w("origin header invalid"),i(C.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:c})}let r=e._query.sid;if(r){if(!this.clients.hasOwnProperty(r))return w('unknown sid "%s"',r),i(C.errors.UNKNOWN_SID,{sid:r});let c=this.clients[r].transport.name;if(!t&&c!==n)return w("bad request: unexpected transport without upgrade"),i(C.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:n,previousTransport:c})}else return e.method!=="GET"?i(C.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):n==="websocket"&&!t?(w("invalid transport upgrade"),i(C.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})):this.opts.allowRequest?this.opts.allowRequest(e,(c,o)=>{if(!o)return i(C.errors.FORBIDDEN,{message:c});i()}):i();i()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return w("no middleware to apply, skipping"),i();let n=a=>{w("applying middleware n\xB0%d",a+1),this.middlewares[a](e,t,r=>{if(r)return i(r);a+1<this.middlewares.length?n(a+1):i()})};n(0)}close(){w("closing all open clients");for(let e in this.clients)this.clients.hasOwnProperty(e)&&this.clients[e].close(!0);return this.cleanup(),this}generateId(e){return yc.generateId()}async handshake(e,t,i){let n=t._query.EIO==="4"?4:3;if(n===3&&!this.opts.allowEIO3){w("unsupported protocol version"),this.emit("connection_error",{req:t,code:C.errors.UNSUPPORTED_PROTOCOL_VERSION,message:C.errorMessages[C.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:n}}),i(C.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(t)}catch(o){w("error while generating an id"),this.emit("connection_error",{req:t,code:C.errors.BAD_REQUEST,message:C.errorMessages[C.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:o}}),i(C.errors.BAD_REQUEST);return}w('handshaking client "%s"',a);try{var r=this.createTransport(e,t);e==="polling"?(r.maxHttpBufferSize=this.opts.maxHttpBufferSize,r.httpCompression=this.opts.httpCompression):e==="websocket"&&(r.perMessageDeflate=this.opts.perMessageDeflate)}catch(o){w('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:C.errors.BAD_REQUEST,message:C.errorMessages[C.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:o}}),i(C.errors.BAD_REQUEST);return}let c=new wc.Socket(a,this,r,t,n);return r.on("headers",(o,l)=>{!l._query.sid&&(this.opts.cookie&&(o["Set-Cookie"]=[(0,ih.serialize)(this.opts.cookie.name,a,this.opts.cookie)]),this.emit("initial_headers",o,l)),this.emit("headers",o,l)}),r.onRequest(t),this.clients[a]=c,this.clientsCount++,c.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",c),r}async onWebTransportSession(e){let t=setTimeout(()=>{w("the client failed to establish a bidirectional stream in the given period"),e.close()},this.opts.upgradeTimeout),n=await e.incomingBidirectionalStreams.getReader().read();if(n.done){w("session is closed");return}let a=n.value,r=(0,ah.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),c=a.readable.pipeThrough(r).getReader(),{value:o,done:l}=await c.read();if(l){w("stream is closed");return}if(clearTimeout(t),o.type!=="open")return w("invalid WebTransport handshake"),e.close();if(o.data===void 0){let d=new _c.WebTransport(e,a,c),h=yc.generateId();w('handshaking client "%s" (WebTransport)',h);let m=new wc.Socket(h,this,d,null,4);this.clients[h]=m,this.clientsCount++,m.once("close",()=>{delete this.clients[h],this.clientsCount--}),this.emit("connection",m);return}let p=rh(o.data);if(!p)return w("invalid WebTransport handshake"),e.close();let u=this.clients[p];if(!u)w("upgrade attempt for closed client"),e.close();else if(u.upgrading)w("transport has already been trying to upgrade"),e.close();else if(u.upgraded)w("transport had already been upgraded"),e.close();else{w("upgrading existing transport");let d=new _c.WebTransport(e,a,c);u._maybeUpgrade(d)}}};Et.BaseServer=St;St.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};St.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var Dn=class{constructor(e,t){this.req=e,this.socket=t,e[_t]={}}setHeader(e,t){this.req[_t][e]=t}getHeader(e){return this.req[_t][e]}removeHeader(e){delete this.req[_t][e]}write(){}writeHead(){}end(){this.socket.destroy()}},C=class s extends St{init(){~this.opts.transports.indexOf("websocket")&&(this.ws&&this.ws.close(),this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),typeof this.ws.on=="function"&&this.ws.on("headers",(e,t)=>{let i=t[_t]||{};delete t[_t],!t._query.sid&&this.emit("initial_headers",i,t),this.emit("headers",i,t),w("writing headers: %j",i),Object.keys(i).forEach(a=>{e.push(`${a}: ${i[a]}`)})}))}cleanup(){this.ws&&(w("closing webSocketServer"),this.ws.close())}prepare(e){if(!e._query){let t=new URL(e.url,"https://socket.io");e._query=Object.fromEntries(t.searchParams.entries())}}createTransport(e,t){return new Ys.default[e](t)}handleRequest(e,t){w('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:e,code:n,message:s.errorMessages[n],context:a}),Sc(t,n,a);return}if(e._query.sid)w("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{let r=(c,o)=>Sc(t,c,o);this.handshake(e._query.transport,e,r)}};this._applyMiddlewares(e,t,n=>{n?i(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,i)})}handleUpgrade(e,t,i){this.prepare(e);let n=new Dn(e,t),a=(r,c)=>{if(r!==void 0){this.emit("connection_error",{req:e,code:r,message:s.errorMessages[r],context:c}),Ec(t,r,c);return}let o=Buffer.from(i);i=null,n.writeHead(),this.ws.handleUpgrade(e,t,o,l=>{this.onWebSocket(e,t,l)})};this._applyMiddlewares(e,n,r=>{r?a(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,a)})}onWebSocket(e,t,i){if(i.on("error",a),Ys.default[e._query.transport]!==void 0&&!Ys.default[e._query.transport].prototype.handlesUpgrades){w("transport doesnt handle upgraded requests"),i.close();return}let n=e._query.sid;if(e.websocket=i,n){let r=this.clients[n];if(!r)w("upgrade attempt for closed client"),i.close();else if(r.upgrading)w("transport has already been trying to upgrade"),i.close();else if(r.upgraded)w("transport had already been upgraded"),i.close();else{w("upgrading existing transport"),i.removeListener("error",a);let c=this.createTransport(e._query.transport,e);c.perMessageDeflate=this.opts.perMessageDeflate,r._maybeUpgrade(c)}}else{let r=(c,o)=>Ec(t,c,o);this.handshake(e._query.transport,e,r)}function a(){w("websocket error before upgrade")}}attach(e,t={}){let i=this._computePath(t),n=t.destroyUpgradeTimeout||1e3;function a(c){return i===c.url.slice(0,i.length)}let r=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("close",this.close.bind(this)),e.on("listening",this.init.bind(this)),e.on("request",(c,o)=>{if(a(c))w('intercepting request for path "%s"',i),this.handleRequest(c,o);else{let l=0,p=r.length;for(;l<p;l++)r[l].call(e,c,o)}}),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",(c,o,l)=>{a(c)?this.handleUpgrade(c,o,l):t.destroyUpgrade!==!1&&setTimeout(function(){if(o.writable&&o.bytesWritten<=0)return o.on("error",p=>{w("error while destroying upgrade: %s",p.message)}),o.end()},n)})}};Et.Server=C;function Sc(s,e,t){let i=e===C.errors.FORBIDDEN?403:400,n=t&&t.message?t.message:C.errorMessages[e];s.writeHead(i,{"Content-Type":"application/json"}),s.end(JSON.stringify({code:e,message:n}))}function Ec(s,e,t={}){if(s.on("error",()=>{w("ignoring error from closed connection")}),s.writable){let i=t.message||C.errorMessages[e],n=Buffer.byteLength(i);s.write(`HTTP/1.1 400 Bad Request\r
13
+ `+t)}function et(s,e,t,i,n,a){if(s.listenerCount("wsClientError")){let r=new Error(n);Error.captureStackTrace(r,et),s.emit("wsClientError",r,t,e)}else Qt(t,i,n,a)}});var jn=x((Lg,hc)=>{"use strict";var Te=Ks();Te.createWebSocketStream=ac();Te.Server=mc();Te.Receiver=wn();Te.Sender=En();Te.WebSocket=Te;Te.WebSocketServer=Te.Server;hc.exports=Te});var gc=x((Mg,vc)=>{"use strict";var xc=Object.getOwnPropertySymbols,Ym=Object.prototype.hasOwnProperty,Xm=Object.prototype.propertyIsEnumerable;function Jm(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function Qm(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;var i=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}vc.exports=Qm()?Object.assign:function(s,e){for(var t,i=Jm(s),n,a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var r in t)Ym.call(t,r)&&(i[r]=t[r]);if(xc){n=xc(t);for(var c=0;c<n.length;c++)Xm.call(t,n[c])&&(i[n[c]]=t[n[c]])}}return i}});var wc=x((qg,Dn)=>{"use strict";Dn.exports=eh;Dn.exports.append=yc;var Zm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function yc(s,e){if(typeof s!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var t=Array.isArray(e)?e:bc(String(e)),i=0;i<t.length;i++)if(!Zm.test(t[i]))throw new TypeError("field argument contains an invalid header name");if(s==="*")return s;var n=s,a=bc(s.toLowerCase());if(t.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var r=0;r<t.length;r++){var c=t[r].toLowerCase();a.indexOf(c)===-1&&(a.push(c),n=n?n+", "+t[r]:t[r])}return n}function bc(s){for(var e=0,t=[],i=0,n=0,a=s.length;n<a;n++)switch(s.charCodeAt(n)){case 32:i===e&&(i=e=n+1);break;case 44:t.push(s.substring(i,e)),i=e=n+1;break;default:e=n+1;break}return t.push(s.substring(i,e)),t}function eh(s,e){if(!s||!s.getHeader||!s.setHeader)throw new TypeError("res argument is required");var t=s.getHeader("Vary")||"",i=Array.isArray(t)?t.join(", "):String(t);(t=yc(i,e))&&s.setHeader("Vary",t)}});var Nn=x((Fg,_c)=>{(function(){"use strict";var s=gc(),e=wc(),t={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function i(m){return typeof m=="string"||m instanceof String}function n(m,f){if(Array.isArray(f)){for(var v=0;v<f.length;++v)if(n(m,f[v]))return!0;return!1}else return i(f)?m===f:f instanceof RegExp?f.test(m):!!f}function a(m,f){var v=f.headers.origin,y=[],g;return!m.origin||m.origin==="*"?y.push([{key:"Access-Control-Allow-Origin",value:"*"}]):i(m.origin)?(y.push([{key:"Access-Control-Allow-Origin",value:m.origin}]),y.push([{key:"Vary",value:"Origin"}])):(g=n(v,m.origin),y.push([{key:"Access-Control-Allow-Origin",value:g?v:!1}]),y.push([{key:"Vary",value:"Origin"}])),y}function r(m){var f=m.methods;return f.join&&(f=m.methods.join(",")),{key:"Access-Control-Allow-Methods",value:f}}function c(m){return m.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function o(m,f){var v=m.allowedHeaders||m.headers,y=[];return v?v.join&&(v=v.join(",")):(v=f.headers["access-control-request-headers"],y.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),v&&v.length&&y.push([{key:"Access-Control-Allow-Headers",value:v}]),y}function l(m){var f=m.exposedHeaders;if(f)f.join&&(f=f.join(","));else return null;return f&&f.length?{key:"Access-Control-Expose-Headers",value:f}:null}function p(m){var f=(typeof m.maxAge=="number"||m.maxAge)&&m.maxAge.toString();return f&&f.length?{key:"Access-Control-Max-Age",value:f}:null}function u(m,f){for(var v=0,y=m.length;v<y;v++){var g=m[v];g&&(Array.isArray(g)?u(g,f):g.key==="Vary"&&g.value?e(f,g.value):g.value&&f.setHeader(g.key,g.value))}}function d(m,f,v,y){var g=[],q=f.method&&f.method.toUpperCase&&f.method.toUpperCase();q==="OPTIONS"?(g.push(a(m,f)),g.push(c(m)),g.push(r(m)),g.push(o(m,f)),g.push(p(m)),g.push(l(m)),u(g,v),m.preflightContinue?y():(v.statusCode=m.optionsSuccessStatus,v.setHeader("Content-Length","0"),v.end())):(g.push(a(m,f)),g.push(c(m)),g.push(l(m)),u(g,v),y())}function h(m){var f=null;return typeof m=="function"?f=m:f=function(v,y){y(null,m)},function(y,g,q){f(y,function(D,fe){if(D)q(D);else{var G=s({},t,fe),me=null;G.origin&&typeof G.origin=="function"?me=G.origin:G.origin&&(me=function(we,he){he(null,G.origin)}),me?me(y.headers.origin,function(we,he){we||!he?q(we):(G.origin=he,d(G,y,g,q))}):q()}})}}_c.exports=h})()});var Bn=x(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Server=Et.BaseServer=void 0;var Sc=Fi(),Xs=on(),th=require("events"),Ec=ln(),sh=j(),ih=lo(),nh=jn(),Cc=an(),ah=Wt(),w=(0,sh.default)("engine"),_t=Symbol("responseHeaders");function rh(s){try{let e=JSON.parse(s);if(typeof e.sid=="string")return e.sid}catch{}}var St=class extends th.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:nh.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},e),e.cookie&&(this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:e.cookie.path!==!1,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(Nn()(this.opts.cors)),e.perMessageDeflate&&(this.opts.perMessageDeflate=Object.assign({threshold:1024},e.perMessageDeflate)),this.init()}_computePath(e){let t=(e.path||"/engine.io").replace(/\/$/,"");return e.addTrailingSlash!==!1&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades?Xs.default[e].upgradesTo||[]:[]}verify(e,t,i){let n=e._query.transport;if(!~this.opts.transports.indexOf(n)||n==="webtransport")return w('unknown transport "%s"',n),i(C.errors.UNKNOWN_TRANSPORT,{transport:n});if(oh(e.headers.origin)){let c=e.headers.origin;return e.headers.origin=null,w("origin header invalid"),i(C.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:c})}let r=e._query.sid;if(r){if(!this.clients.hasOwnProperty(r))return w('unknown sid "%s"',r),i(C.errors.UNKNOWN_SID,{sid:r});let c=this.clients[r].transport.name;if(!t&&c!==n)return w("bad request: unexpected transport without upgrade"),i(C.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:n,previousTransport:c})}else return e.method!=="GET"?i(C.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):n==="websocket"&&!t?(w("invalid transport upgrade"),i(C.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})):this.opts.allowRequest?this.opts.allowRequest(e,(c,o)=>{if(!o)return i(C.errors.FORBIDDEN,{message:c});i()}):i();i()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return w("no middleware to apply, skipping"),i();let n=a=>{w("applying middleware n\xB0%d",a+1),this.middlewares[a](e,t,r=>{if(r)return i(r);a+1<this.middlewares.length?n(a+1):i()})};n(0)}close(){w("closing all open clients");for(let e in this.clients)this.clients.hasOwnProperty(e)&&this.clients[e].close(!0);return this.cleanup(),this}generateId(e){return Sc.generateId()}async handshake(e,t,i){let n=t._query.EIO==="4"?4:3;if(n===3&&!this.opts.allowEIO3){w("unsupported protocol version"),this.emit("connection_error",{req:t,code:C.errors.UNSUPPORTED_PROTOCOL_VERSION,message:C.errorMessages[C.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:n}}),i(C.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(t)}catch(o){w("error while generating an id"),this.emit("connection_error",{req:t,code:C.errors.BAD_REQUEST,message:C.errorMessages[C.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:o}}),i(C.errors.BAD_REQUEST);return}w('handshaking client "%s"',a);try{var r=this.createTransport(e,t);e==="polling"?(r.maxHttpBufferSize=this.opts.maxHttpBufferSize,r.httpCompression=this.opts.httpCompression):e==="websocket"&&(r.perMessageDeflate=this.opts.perMessageDeflate)}catch(o){w('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:C.errors.BAD_REQUEST,message:C.errorMessages[C.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:o}}),i(C.errors.BAD_REQUEST);return}let c=new Ec.Socket(a,this,r,t,n);return r.on("headers",(o,l)=>{!l._query.sid&&(this.opts.cookie&&(o["Set-Cookie"]=[(0,ih.serialize)(this.opts.cookie.name,a,this.opts.cookie)]),this.emit("initial_headers",o,l)),this.emit("headers",o,l)}),r.onRequest(t),this.clients[a]=c,this.clientsCount++,c.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",c),r}async onWebTransportSession(e){let t=setTimeout(()=>{w("the client failed to establish a bidirectional stream in the given period"),e.close()},this.opts.upgradeTimeout),n=await e.incomingBidirectionalStreams.getReader().read();if(n.done){w("session is closed");return}let a=n.value,r=(0,ah.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),c=a.readable.pipeThrough(r).getReader(),{value:o,done:l}=await c.read();if(l){w("stream is closed");return}if(clearTimeout(t),o.type!=="open")return w("invalid WebTransport handshake"),e.close();if(o.data===void 0){let d=new Cc.WebTransport(e,a,c),h=Sc.generateId();w('handshaking client "%s" (WebTransport)',h);let m=new Ec.Socket(h,this,d,null,4);this.clients[h]=m,this.clientsCount++,m.once("close",()=>{delete this.clients[h],this.clientsCount--}),this.emit("connection",m);return}let p=rh(o.data);if(!p)return w("invalid WebTransport handshake"),e.close();let u=this.clients[p];if(!u)w("upgrade attempt for closed client"),e.close();else if(u.upgrading)w("transport has already been trying to upgrade"),e.close();else if(u.upgraded)w("transport had already been upgraded"),e.close();else{w("upgrading existing transport");let d=new Cc.WebTransport(e,a,c);u._maybeUpgrade(d)}}};Et.BaseServer=St;St.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};St.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var In=class{constructor(e,t){this.req=e,this.socket=t,e[_t]={}}setHeader(e,t){this.req[_t][e]=t}getHeader(e){return this.req[_t][e]}removeHeader(e){delete this.req[_t][e]}write(){}writeHead(){}end(){this.socket.destroy()}},C=class s extends St{init(){~this.opts.transports.indexOf("websocket")&&(this.ws&&this.ws.close(),this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),typeof this.ws.on=="function"&&this.ws.on("headers",(e,t)=>{let i=t[_t]||{};delete t[_t],!t._query.sid&&this.emit("initial_headers",i,t),this.emit("headers",i,t),w("writing headers: %j",i),Object.keys(i).forEach(a=>{e.push(`${a}: ${i[a]}`)})}))}cleanup(){this.ws&&(w("closing webSocketServer"),this.ws.close())}prepare(e){if(!e._query){let t=new URL(e.url,"https://socket.io");e._query=Object.fromEntries(t.searchParams.entries())}}createTransport(e,t){return new Xs.default[e](t)}handleRequest(e,t){w('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:e,code:n,message:s.errorMessages[n],context:a}),kc(t,n,a);return}if(e._query.sid)w("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{let r=(c,o)=>kc(t,c,o);this.handshake(e._query.transport,e,r)}};this._applyMiddlewares(e,t,n=>{n?i(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,i)})}handleUpgrade(e,t,i){this.prepare(e);let n=new In(e,t),a=(r,c)=>{if(r!==void 0){this.emit("connection_error",{req:e,code:r,message:s.errorMessages[r],context:c}),Tc(t,r,c);return}let o=Buffer.from(i);i=null,n.writeHead(),this.ws.handleUpgrade(e,t,o,l=>{this.onWebSocket(e,t,l)})};this._applyMiddlewares(e,n,r=>{r?a(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,a)})}onWebSocket(e,t,i){if(i.on("error",a),Xs.default[e._query.transport]!==void 0&&!Xs.default[e._query.transport].prototype.handlesUpgrades){w("transport doesnt handle upgraded requests"),i.close();return}let n=e._query.sid;if(e.websocket=i,n){let r=this.clients[n];if(!r)w("upgrade attempt for closed client"),i.close();else if(r.upgrading)w("transport has already been trying to upgrade"),i.close();else if(r.upgraded)w("transport had already been upgraded"),i.close();else{w("upgrading existing transport"),i.removeListener("error",a);let c=this.createTransport(e._query.transport,e);c.perMessageDeflate=this.opts.perMessageDeflate,r._maybeUpgrade(c)}}else{let r=(c,o)=>Tc(t,c,o);this.handshake(e._query.transport,e,r)}function a(){w("websocket error before upgrade")}}attach(e,t={}){let i=this._computePath(t),n=t.destroyUpgradeTimeout||1e3;function a(c){return i===c.url.slice(0,i.length)}let r=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("close",this.close.bind(this)),e.on("listening",this.init.bind(this)),e.on("request",(c,o)=>{if(a(c))w('intercepting request for path "%s"',i),this.handleRequest(c,o);else{let l=0,p=r.length;for(;l<p;l++)r[l].call(e,c,o)}}),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",(c,o,l)=>{a(c)?this.handleUpgrade(c,o,l):t.destroyUpgrade!==!1&&setTimeout(function(){if(o.writable&&o.bytesWritten<=0)return o.on("error",p=>{w("error while destroying upgrade: %s",p.message)}),o.end()},n)})}};Et.Server=C;function kc(s,e,t){let i=e===C.errors.FORBIDDEN?403:400,n=t&&t.message?t.message:C.errorMessages[e];s.writeHead(i,{"Content-Type":"application/json"}),s.end(JSON.stringify({code:e,message:n}))}function Tc(s,e,t={}){if(s.on("error",()=>{w("ignoring error from closed connection")}),s.writable){let i=t.message||C.errorMessages[e],n=Buffer.byteLength(i);s.write(`HTTP/1.1 400 Bad Request\r
14
14
  Connection: close\r
15
15
  Content-type: text/html\r
16
16
  Content-Length: `+n+`\r
17
17
  \r
18
- `+i)}s.destroy()}var Zt=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];function oh(s){if(s+="",s.length<1)return!1;if(!Zt[s.charCodeAt(0)])return w('invalid header, index 0, char "%s"',s.charCodeAt(0)),!0;if(s.length<2)return!1;if(!Zt[s.charCodeAt(1)])return w('invalid header, index 1, char "%s"',s.charCodeAt(1)),!0;if(s.length<3)return!1;if(!Zt[s.charCodeAt(2)])return w('invalid header, index 2, char "%s"',s.charCodeAt(2)),!0;if(s.length<4)return!1;if(!Zt[s.charCodeAt(3)])return w('invalid header, index 3, char "%s"',s.charCodeAt(3)),!0;for(let e=4;e<s.length;++e)if(!Zt[s.charCodeAt(e)])return w('invalid header, index "%i", char "%s"',e,s.charCodeAt(e)),!0;return!1}});var kc=x(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});Xs.Polling=void 0;var ch=Ye(),Cc=require("zlib"),lh=vs(),ph=j(),re=(0,ph.default)("engine:polling"),uh={gzip:Cc.createGzip,deflate:Cc.createDeflate},In=class extends ch.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.getMethod()==="get"?this.onPollRequest(e,t):e.getMethod()==="post"?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req){re("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}re("setting request"),this.req=e,this.res=t;let i=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},n=()=>{this.req=this.res=null};e.cleanup=n,t.onAborted(i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(re("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}let i=Number(e.headers["content-length"]);if(!i){this.onError("content-length header required"),t.writeStatus("411 Length Required").end();return}if(i>this.maxHttpBufferSize){this.onError("payload too large"),t.writeStatus("413 Payload Too Large").end();return}if(e.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let a,r=0,c={"Content-Type":"text/html"};this.headers(e,c);for(let l in c)t.writeHeader(l,String(c[l]));let o=l=>{this.onData(l.toString()),this.onDataRequestCleanup(),t.cork(()=>{t.end("ok")})};t.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),t.onData((l,p)=>{let u=r+l.byteLength;if(u>i){this.onError("content-length mismatch"),t.close();return}if(!a){if(p){o(Buffer.from(l));return}a=Buffer.allocUnsafe(i)}if(Buffer.from(l).copy(a,r),p){if(u!=i){this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}o(a);return}r=u})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){re('received "%s"',e);let t=i=>{if(i.type==="close")return re("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(re("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){re('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{this.headers(this.req,r),this.res.cork(()=>{Object.keys(r).forEach(u=>{this.res.writeHeader(u,String(r[u]))}),this.res.end(p)}),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=lh(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){re("compressing");let n=[],a=0;uh[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){re("closing");let t,i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(re("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(re("transport discarded - closing right away"),i()):(re("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t){t=t||{};let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Xs.Polling=In});var Oc=x(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.WebSocket=void 0;var dh=Ye(),fh=j(),Tc=(0,fh.default)("engine:ws"),Bn=class extends dh.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length,a=r=>{let c=typeof r!="string",o=this.perMessageDeflate&&Buffer.byteLength(r)>this.perMessageDeflate.threshold;Tc('writing "%s"',r),this.socket.send(r,c,o),n&&(this.emit("drain"),this.writable=!0,this.emit("ready"))};i.options&&typeof i.options.wsPreEncoded=="string"?a(i.options.wsPreEncoded):this.parser.encodePacket(i,this.supportsBinary,a)}}doClose(e){Tc("closing"),e&&e(),this.socket.end()}};Js.WebSocket=Bn});var Rc=x(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});var mh=kc(),hh=Oc();Ln.default={polling:mh.Polling,websocket:hh.WebSocket}});var Ac=x(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.uServer=void 0;var xh=j(),tt=Nn(),vh=Rc(),Fe=(0,xh.default)("engine:uws"),Mn=class extends tt.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();let i=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(i.entries()),e.headers={},e.forEach((n,a)=>{e.headers[n]=a}),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted(()=>{Fe("response has been aborted")})}createTransport(e,t){return new vh.default[e](t)}attach(e,t={}){let i=this._computePath(t);e.any(i,this.handleRequest.bind(this)).ws(i,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:n=>{let a=n.getUserData().transport;a.socket=n,a.writable=!0,a.emit("ready")},message:(n,a,r)=>{n.getUserData().transport.onData(r?a:Buffer.from(a).toString())},close:(n,a,r)=>{n.getUserData().transport.onClose(a,r)}})}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return i();e.res=new qn(t),super._applyMiddlewares(e,e.res,n=>{e.res.writeHead(),i(n)})}handleRequest(e,t){Fe('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:t,code:n,message:tt.Server.errorMessages[n],context:a}),this.abortRequest(t.res,n,a);return}if(t._query.sid)Fe("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{let r=(c,o)=>this.abortRequest(e,c,o);this.handshake(t._query.transport,t,r)}};this._applyMiddlewares(t,e,n=>{n?i(tt.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,i)})}handleUpgrade(e,t,i){Fe("on upgrade"),this.prepare(t,e),t.res=e;let n=async(a,r)=>{if(a!==void 0){this.emit("connection_error",{req:t,code:a,message:tt.Server.errorMessages[a],context:r}),this.abortRequest(e,a,r);return}let c=t._query.sid,o;if(c){let l=this.clients[c];if(l){if(l.upgrading)return Fe("transport has already been trying to upgrade"),e.close();if(l.upgraded)return Fe("transport had already been upgraded"),e.close();Fe("upgrading existing transport"),o=this.createTransport(t._query.transport,t),l._maybeUpgrade(o)}else return Fe("upgrade attempt for closed client"),e.close()}else if(o=await this.handshake(t._query.transport,t,(l,p)=>this.abortRequest(e,l,p)),!o)return;t.res.writeStatus("101 Switching Protocols"),e.upgrade({transport:o},t.getHeader("sec-websocket-key"),t.getHeader("sec-websocket-protocol"),t.getHeader("sec-websocket-extensions"),i)};this._applyMiddlewares(t,e,a=>{a?n(tt.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,n)})}abortRequest(e,t,i){let n=t===tt.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=i&&i.message?i.message:tt.Server.errorMessages[t];e.writeStatus(n),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:a}))}};Qs.uServer=Mn;var qn=class{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(e===200?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach(i=>{this.writeHeader(e,i)}):this.writeHeader(e,t)}removeHeader(){}getHeader(){}writeStatus(e){if(!this.isAborted)return this.res.writeStatus(e),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(e,t){this.isAborted||e!=="Content-Length"&&(this.statusWritten?this.res.writeHeader(e,t):this.headers.push([e,t]))}writeBufferedHeaders(){this.headers.forEach(([e,t])=>{this.res.writeHeader(e,t)})}end(e){this.isAborted||this.res.cork(()=>{this.statusWritten||this.writeBufferedHeaders(),this.res.end(e)})}onData(e){this.isAborted||this.res.onData(e)}onAborted(e){this.isAborted||this.res.onAborted(()=>{this.isAborted=!0,e()})}cork(e){this.isAborted||this.res.cork(e)}}});var Nc=x(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.protocol=M.Transport=M.Socket=M.uServer=M.parser=M.transports=M.Server=void 0;M.listen=Sh;M.attach=Dc;var gh=require("http"),Pc=Nn();Object.defineProperty(M,"Server",{enumerable:!0,get:function(){return Pc.Server}});var bh=an();M.transports=bh.default;var jc=Wt();M.parser=jc;var yh=Ac();Object.defineProperty(M,"uServer",{enumerable:!0,get:function(){return yh.uServer}});var wh=on();Object.defineProperty(M,"Socket",{enumerable:!0,get:function(){return wh.Socket}});var _h=Ye();Object.defineProperty(M,"Transport",{enumerable:!0,get:function(){return _h.Transport}});M.protocol=jc.protocol;function Sh(s,e,t){typeof e=="function"&&(t=e,e={});let i=(0,gh.createServer)(function(a,r){r.writeHead(501),r.end("Not Implemented")}),n=Dc(i,e);return n.httpServer=i,i.listen(s,t),n}function Dc(s,e){let t=new Pc.Server(e);return t.attach(s,e),t}});var Bc=x(Ic=>{Ic.Emitter=z;function z(s){if(s)return Eh(s)}function Eh(s){for(var e in z.prototype)s[e]=z.prototype[e];return s}z.prototype.on=z.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};z.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};z.prototype.off=z.prototype.removeListener=z.prototype.removeAllListeners=z.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var i,n=0;n<t.length;n++)if(i=t[n],i===e||i.fn===e){t.splice(n,1);break}return t.length===0&&delete this._callbacks["$"+s],this};z.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){t=t.slice(0);for(var i=0,n=t.length;i<n;++i)t[i].apply(this,e)}return this};z.prototype.emitReserved=z.prototype.emit;z.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]};z.prototype.hasListeners=function(s){return!!this.listeners(s).length}});var Fn=x(ei=>{"use strict";Object.defineProperty(ei,"__esModule",{value:!0});ei.isBinary=Mc;ei.hasBinary=Zs;var Ch=typeof ArrayBuffer=="function",kh=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,Lc=Object.prototype.toString,Th=typeof Blob=="function"||typeof Blob<"u"&&Lc.call(Blob)==="[object BlobConstructor]",Oh=typeof File=="function"||typeof File<"u"&&Lc.call(File)==="[object FileConstructor]";function Mc(s){return Ch&&(s instanceof ArrayBuffer||kh(s))||Th&&s instanceof Blob||Oh&&s instanceof File}function Zs(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(Zs(s[t]))return!0;return!1}if(Mc(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return Zs(s.toJSON(),!0);for(let t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&Zs(s[t]))return!0;return!1}});var qc=x(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.deconstructPacket=Ah;ti.reconstructPacket=Ph;var Rh=Fn();function Ah(s){let e=[],t=s.data,i=s;return i.data=Un(t,e),i.attachments=e.length,{packet:i,buffers:e}}function Un(s,e){if(!s)return s;if((0,Rh.isBinary)(s)){let t={_placeholder:!0,num:e.length};return e.push(s),t}else if(Array.isArray(s)){let t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=Un(s[i],e);return t}else if(typeof s=="object"&&!(s instanceof Date)){let t={};for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=Un(s[i],e));return t}return s}function Ph(s,e){return s.data=Hn(s.data,e),delete s.attachments,s}function Hn(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}else if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=Hn(s[t],e);else if(typeof s=="object")for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=Hn(s[t],e));return s}});var es=x(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.Decoder=ue.Encoder=ue.PacketType=ue.protocol=void 0;ue.isPacketValid=Mh;var jh=Bc(),Fc=qc(),Uc=Fn(),Dh=j(),zn=(0,Dh.default)("socket.io-parser"),Hc=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];ue.protocol=5;var E;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(E||(ue.PacketType=E={}));var Wn=class{constructor(e){this.replacer=e}encode(e){return zn("encoding packet %j",e),(e.type===E.EVENT||e.type===E.ACK)&&(0,Uc.hasBinary)(e)?this.encodeAsBinary({type:e.type===E.EVENT?E.BINARY_EVENT:E.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===E.BINARY_EVENT||e.type===E.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),zn("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,Fc.deconstructPacket)(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}};ue.Encoder=Wn;var $n=class s extends jh.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let i=t.type===E.BINARY_EVENT;i||t.type===E.BINARY_ACK?(t.type=i?E.EVENT:E.ACK,this.reconstructor=new Vn(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Uc.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,i={type:Number(e.charAt(0))};if(E[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===E.BINARY_EVENT||i.type===E.BINARY_ACK){let a=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let r=e.substring(a,t);if(r!=Number(r)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(r)}if(e.charAt(t+1)==="/"){let a=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););i.nsp=e.substring(a,t)}else i.nsp="/";let n=e.charAt(t+1);if(n!==""&&Number(n)==n){let a=t+1;for(;++t;){let r=e.charAt(t);if(r==null||Number(r)!=r){--t;break}if(t===e.length)break}i.id=Number(e.substring(a,t+1))}if(e.charAt(++t)){let a=this.tryParse(e.substr(t));if(s.isPayloadValid(i.type,a))i.data=a;else throw new Error("invalid payload")}return zn("decoded %s as %j",e,i),i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case E.CONNECT:return si(t);case E.DISCONNECT:return t===void 0;case E.CONNECT_ERROR:return typeof t=="string"||si(t);case E.EVENT:case E.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Hc.indexOf(t[0])===-1);case E.ACK:case E.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};ue.Decoder=$n;var Vn=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,Fc.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function Nh(s){return typeof s=="string"}var Ih=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s};function Bh(s){return s===void 0||Ih(s)}function si(s){return Object.prototype.toString.call(s)==="[object Object]"}function Lh(s,e){switch(s){case E.CONNECT:return e===void 0||si(e);case E.DISCONNECT:return e===void 0;case E.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Hc.indexOf(e[0])===-1);case E.ACK:return Array.isArray(e);case E.CONNECT_ERROR:return typeof e=="string"||si(e);default:return!1}}function Mh(s){return Nh(s.nsp)&&Bh(s.id)&&Lh(s.type,s.data)}});var zc=x(Ct=>{"use strict";var qh=Ct&&Ct.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ct,"__esModule",{value:!0});Ct.Client=void 0;var ii=es(),Fh=qh(j()),de=(0,Fh.default)("socket.io:client"),Gn=class{constructor(e,t){this.sockets=new Map,this.nsps=new Map,this.server=e,this.conn=t,this.encoder=e.encoder,this.decoder=new e._parser.Decoder,this.id=t.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout(()=>{this.nsps.size===0?(de("no namespace joined yet, close the client"),this.close()):de("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return de("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,i=>{i?this.doConnect(e,t):(de("creation of namespace %s was denied",e),this._packet({type:ii.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))})}doConnect(e,t){let i=this.server.of(e);i._add(this,t,n=>{this.sockets.set(n.id,n),this.nsps.set(i.name,n),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)})}_disconnect(){for(let e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){let t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else de("ignoring remove for %s",e.id)}close(){this.conn.readyState==="open"&&(de("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if(this.conn.readyState!=="open"){de("ignoring packet write %j",e);return}let i=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(i,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable){de("volatile packet is discarded since the transport is not currently writable");return}let i=Array.isArray(e)?e:[e];for(let n of i)this.conn.write(n,t)}ondata(e){try{this.decoder.add(e)}catch(t){de("invalid packet format"),this.onerror(t)}}ondecoded(e){let{namespace:t,authPayload:i}=this._parseNamespace(e),n=this.nsps.get(t);!n&&e.type===ii.PacketType.CONNECT?this.connect(t,i):n&&e.type!==ii.PacketType.CONNECT&&e.type!==ii.PacketType.CONNECT_ERROR?process.nextTick(function(){n._onpacket(e)}):(de("invalid state (packet type: %s)",e.type),this.close())}_parseNamespace(e){if(this.conn.protocol!==3)return{namespace:e.nsp,authPayload:e.data};let t=new URL(e.nsp,"https://socket.io");return{namespace:t.pathname,authPayload:Object.fromEntries(t.searchParams.entries())}}onerror(e){for(let t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){de("client close with reason %s",e),this.destroy();for(let i of this.sockets.values())i._onclose(e,t);this.sockets.clear(),this.decoder.destroy()}destroy(){this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)}};Ct.Client=Gn});var ai=x(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.StrictEventEmitter=void 0;var Uh=require("events"),Kn=class extends Uh.EventEmitter{on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}emitReserved(e,...t){return super.emit(e,...t)}emitUntyped(e,...t){return super.emit(e,...t)}listeners(e){return super.listeners(e)}};ni.StrictEventEmitter=Kn});var Yn=x(ri=>{"use strict";Object.defineProperty(ri,"__esModule",{value:!0});ri.RESERVED_EVENTS=void 0;ri.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Xn=x(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.RemoteSocket=kt.BroadcastOperator=void 0;var Hh=Yn(),zh=es(),oi=class s{constructor(e,t=new Set,i=new Set,n={}){this.adapter=e,this.rooms=t,this.exceptRooms=i,this.flags=n}to(e){let t=new Set(this.rooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){let t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,this.rooms,t,this.flags)}compress(e){let t=Object.assign({},this.flags,{compress:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){let e=Object.assign({},this.flags,{volatile:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}get local(){let e=Object.assign({},this.flags,{local:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){let t=Object.assign({},this.flags,{timeout:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(Hh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:zh.PacketType.EVENT,data:i};if(!(typeof i[i.length-1]=="function"))return this.adapter.broadcast(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let r=i.pop(),c=!1,o=[],l=setTimeout(()=>{c=!0,r.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:o])},this.flags.timeout),p=-1,u=0,d=0,h=()=>{!c&&p===u&&o.length===d&&(clearTimeout(l),r.apply(this,[null,this.flags.expectSingleResponse?o[0]:o]))};return this.adapter.broadcastWithAck(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},m=>{d+=m,u++,h()},m=>{o.push(m),h()}),this.adapter.serverCount().then(m=>{p=m,h()}),!0}emitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.emit(e,...t)})}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then(e=>e.map(t=>t.server?t:new ci(this.adapter,t)))}socketsJoin(e){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}socketsLeave(e){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}disconnectSockets(e=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},e)}};kt.BroadcastOperator=oi;var ci=class{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new oi(e,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(e){return this.operator.timeout(e)}emit(e,...t){return this.operator.emit(e,...t)}join(e){return this.operator.socketsJoin(e)}leave(e){return this.operator.socketsLeave(e)}disconnect(e=!1){return this.operator.disconnectSockets(e),this}};kt.RemoteSocket=ci});var Qn=x(Tt=>{"use strict";var Vc=Tt&&Tt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Socket=void 0;var oe=es(),Wh=Vc(j()),$h=ai(),Wc=Vc(Mi()),Vh=Xn(),Gh=Yn(),F=(0,Wh.default)("socket.io:socket"),Kh=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function $c(){}var Jn=class extends $h.StrictEventEmitter{constructor(e,t,i,n){super(),this.nsp=e,this.client=t,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=e.server,this.adapter=e.adapter,n?(this.id=n.sid,this.pid=n.pid,n.rooms.forEach(a=>this.join(a)),this.data=n.data,n.missedPackets.forEach(a=>{this.packet({type:oe.PacketType.EVENT,data:a})}),this.recovered=!0):(t.conn.protocol===3?this.id=e.name!=="/"?e.name+"#"+t.id:t.id:this.id=Wc.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=Wc.default.generateId())),this.handshake=this.buildHandshake(i),this.on("error",$c)}buildHandshake(e){var t,i,n,a;return{headers:((t=this.request)===null||t===void 0?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(!((i=this.request)===null||i===void 0)&&i.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(n=this.request)===null||n===void 0?void 0:n.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:e}}emit(e,...t){if(Gh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:oe.PacketType.EVENT,data:i};if(typeof i[i.length-1]=="function"){let r=this.nsp._ids++;F("emitting packet with ack id %d",r),this.registerAckCallback(r,i.pop()),n.id=r}let a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(n,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(n),this.packet(n,a)),!0}emitWithAck(e,...t){let i=this.flags.timeout!==void 0;return new Promise((n,a)=>{t.push((r,c)=>i?r?a(r):n(c):n(r)),this.emit(e,...t)})}registerAckCallback(e,t){let i=this.flags.timeout;if(i===void 0){this.acks.set(e,t);return}let n=setTimeout(()=>{F("event with ack id %d has timed out after %d ms",e,i),this.acks.delete(e),t.call(this,new Error("operation has timed out"))},i);this.acks.set(e,(...a)=>{clearTimeout(n),t.apply(this,[null,...a])})}to(e){return this.newBroadcastOperator().to(e)}in(e){return this.newBroadcastOperator().in(e)}except(e){return this.newBroadcastOperator().except(e)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}packet(e,t={}){e.nsp=this.nsp.name,t.compress=t.compress!==!1,this.client._packet(e,t)}join(e){return F("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return F("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){F("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3?this.packet({type:oe.PacketType.CONNECT}):this.packet({type:oe.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(F("got packet %j",e),e.type){case oe.PacketType.EVENT:this.onevent(e);break;case oe.PacketType.BINARY_EVENT:this.onevent(e);break;case oe.PacketType.ACK:this.onack(e);break;case oe.PacketType.BINARY_ACK:this.onack(e);break;case oe.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(e){let t=e.data||[];if(F("emitting event %j",t),e.id!=null&&(F("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){let i=this._anyListeners.slice();for(let n of i)n.apply(this,t)}this.dispatch(t)}ack(e){let t=this,i=!1;return function(){if(i)return;let n=Array.prototype.slice.call(arguments);F("sending ack %j",n),t.packet({id:e,type:oe.PacketType.ACK,data:n}),i=!0}}onack(e){let t=this.acks.get(e.id);typeof t=="function"?(F("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):F("bad ack %s",e.id)}ondisconnect(){F("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;F("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&Kh.has(e)&&(F("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data})),this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",e,t)}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=$c}_error(e){this.packet({type:oe.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:oe.PacketType.DISCONNECT}),this._onclose("server namespace disconnect")),this):this}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(e){return this.flags.timeout=e,this}dispatch(e){F("dispatching an event %j",e),this.run(e,t=>{process.nextTick(()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):F("ignore packet received after disconnection")})})}use(e){return this.fns.push(e),this}run(e,t){if(!this.fns.length)return t();let i=this.fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let i of t)i.apply(this,e.data)}}newBroadcastOperator(){let e=Object.assign({},this.flags);return this.flags={},new Vh.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}};Tt.Socket=Jn});var ea=x(Oe=>{"use strict";var Yh=Oe&&Oe.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.Namespace=Oe.RESERVED_EVENTS=void 0;var Gc=Qn(),Xh=ai(),Jh=Yh(j()),te=Xn(),Ot=(0,Jh.default)("socket.io:namespace");Oe.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var Zn=class extends Xh.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this),Promise.resolve(this.adapter.init()).catch(e=>{Ot("error while initializing adapter: %s",e)})}use(e){return this._fns.push(e),this}run(e,t){if(!this._fns.length)return t();let i=this._fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}to(e){return new te.BroadcastOperator(this.adapter).to(e)}in(e){return new te.BroadcastOperator(this.adapter).in(e)}except(e){return new te.BroadcastOperator(this.adapter).except(e)}async _add(e,t,i){var n;Ot("adding socket to nsp %s",this.name);let a=await this._createSocket(e,t);if(this._preConnectSockets.set(a.id,a),!((n=this.server.opts.connectionStateRecovery)===null||n===void 0)&&n.skipMiddlewares&&a.recovered&&e.conn.readyState==="open")return this._doConnect(a,i);this.run(a,r=>{process.nextTick(()=>{if(e.conn.readyState!=="open"){Ot("next called after client was closed - ignoring socket"),a._cleanup();return}if(r)return Ot("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),e.conn.protocol===3?a._error(r.data||r.message):a._error({message:r.message,data:r.data});this._doConnect(a,i)})})}async _createSocket(e,t){let i=t.pid,n=t.offset;if(this.server.opts.connectionStateRecovery&&typeof i=="string"&&typeof n=="string"){let a;try{a=await this.adapter.restoreSession(i,n)}catch(r){Ot("error while restoring session: %s",r)}if(a)return Ot("connection state recovered for sid %s",a.sid),new Gc.Socket(this,e,t,a)}return new Gc.Socket(this,e,t)}_doConnect(e,t){this._preConnectSockets.delete(e.id),this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.delete(e.id)||this._preConnectSockets.delete(e.id)}emit(e,...t){return new te.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...t){if(Oe.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return t.unshift(e),this.adapter.serverSideEmit(t),!0}serverSideEmitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.serverSideEmit(e,...t)})}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new te.BroadcastOperator(this.adapter).allSockets()}compress(e){return new te.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new te.BroadcastOperator(this.adapter).volatile}get local(){return new te.BroadcastOperator(this.adapter).local}timeout(e){return new te.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new te.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new te.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new te.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new te.BroadcastOperator(this.adapter).disconnectSockets(e)}};Oe.Namespace=Zn});var Qc=x(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.encode=ta;ts.decode=Qh;ts.yeast=Zh;var Xc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),li=64,Jc={},Kc=0,Ue=0,Yc;function ta(s){let e="";do e=Xc[s%li]+e,s=Math.floor(s/li);while(s>0);return e}function Qh(s){let e=0;for(Ue=0;Ue<s.length;Ue++)e=e*li+Jc[s.charAt(Ue)];return e}function Zh(){let s=ta(+new Date);return s!==Yc?(Kc=0,Yc=s):s+"."+ta(Kc++)}for(;Ue<li;Ue++)Jc[Xc[Ue]]=Ue});var na=x(Rt=>{"use strict";var sa;Object.defineProperty(Rt,"__esModule",{value:!0});Rt.SessionAwareAdapter=Rt.Adapter=void 0;var ex=require("events"),tx=Qc(),pi=An(),sx=typeof((sa=pi?.Sender)===null||sa===void 0?void 0:sa.frame)=="function",ui=class extends ex.EventEmitter{constructor(e){super(),this.nsp=e,this.rooms=new Map,this.sids=new Map,this.encoder=e.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(e,t){this.sids.has(e)||this.sids.set(e,new Set);for(let i of t)this.sids.get(e).add(i),this.rooms.has(i)||(this.rooms.set(i,new Set),this.emit("create-room",i)),this.rooms.get(i).has(e)||(this.rooms.get(i).add(e),this.emit("join-room",i,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){let i=this.rooms.get(e);i!=null&&(i.delete(t)&&this.emit("leave-room",e,t),i.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){let i=t.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let a=this._encode(e,n);this.apply(t,r=>{typeof r.notifyOutgoingListeners=="function"&&r.notifyOutgoingListeners(e),r.client.writeToEngine(a,n)})}broadcastWithAck(e,t,i,n){let a=t.flags||{},r={preEncoded:!0,volatile:a.volatile,compress:a.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let c=this._encode(e,r),o=0;this.apply(t,l=>{o++,l.acks.set(e.id,n),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(c,r)}),i(o)}_encode(e,t){let i=this.encoder.encode(e);if(sx&&i.length===1&&typeof i[0]=="string"){let n=Buffer.from("4"+i[0]);t.wsPreEncodedFrame=pi.Sender.frame(n,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return i}sockets(e){let t=new Set;return this.apply({rooms:e},i=>{t.add(i.id)}),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let t=[];return this.apply(e,i=>{t.push(i)}),Promise.resolve(t)}addSockets(e,t){this.apply(e,i=>{i.join(t)})}delSockets(e,t){this.apply(e,i=>{t.forEach(n=>i.leave(n))})}disconnectSockets(e,t){this.apply(e,i=>{i.disconnect(t)})}apply(e,t){let i=e.rooms,n=this.computeExceptSids(e.except);if(i.size){let a=new Set;for(let r of i)if(this.rooms.has(r))for(let c of this.rooms.get(r)){if(a.has(c)||n.has(c))continue;let o=this.nsp.sockets.get(c);o&&(t(o),a.add(c))}}else for(let[a]of this.sids){if(n.has(a))continue;let r=this.nsp.sockets.get(a);r&&t(r)}}computeExceptSids(e){let t=new Set;if(e&&e.size>0)for(let i of e)this.rooms.has(i)&&this.rooms.get(i).forEach(n=>t.add(n));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}};Rt.Adapter=ui;var ia=class extends ui{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let i=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((n,a)=>{n.disconnectedAt<i&&this.sessions.delete(a)});for(let n=this.packets.length-1;n>=0;n--)if(this.packets[n].emittedAt<i){this.packets.splice(0,n+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){let i=this.sessions.get(e);if(!i)return null;if(i.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let a=this.packets.findIndex(c=>c.id===t);if(a===-1)return null;let r=[];for(let c=a+1;c<this.packets.length;c++){let o=this.packets[c];ix(i.rooms,o.opts)&&r.push(o.data)}return Promise.resolve(Object.assign(Object.assign({},i),{missedPackets:r}))}broadcast(e,t){var i;let n=e.type===2,a=e.id===void 0,r=((i=t.flags)===null||i===void 0?void 0:i.volatile)===void 0;if(n&&a&&r){let c=(0,tx.yeast)();e.data.push(c),this.packets.push({id:c,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}};Rt.SessionAwareAdapter=ia;function ix(s,e){let t=e.rooms.size===0||s.some(n=>e.rooms.has(n)),i=s.every(n=>!e.except.has(n));return t&&i}});var Zc=x(ge=>{"use strict";var nx=ge&&ge.__rest||function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};Object.defineProperty(ge,"__esModule",{value:!0});ge.ClusterAdapterWithHeartbeat=ge.ClusterAdapter=ge.MessageType=void 0;var ax=na(),rx=j(),ox=require("crypto"),O=(0,rx.debug)("socket.io-adapter"),cx="emitter",di=5e3;function Pt(){return(0,ox.randomBytes)(8).toString("hex")}var b;(function(s){s[s.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",s[s.HEARTBEAT=2]="HEARTBEAT",s[s.BROADCAST=3]="BROADCAST",s[s.SOCKETS_JOIN=4]="SOCKETS_JOIN",s[s.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",s[s.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",s[s.FETCH_SOCKETS=7]="FETCH_SOCKETS",s[s.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",s[s.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",s[s.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",s[s.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",s[s.BROADCAST_ACK=12]="BROADCAST_ACK",s[s.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(b||(ge.MessageType=b={}));function st(s){return{rooms:[...s.rooms],except:[...s.except],flags:s.flags}}function At(s){return{rooms:new Set(s.rooms),except:new Set(s.except),flags:s.flags}}var fi=class extends ax.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=Pt()}onMessage(e,t){if(e.uid===this.uid)return O("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return O("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(O("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case b.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,At(e.data.opts),n=>{O("[%s] waiting for %d client acknowledgements",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:n}})},n=>{O("[%s] received acknowledgement with value %j",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:n}})});else{let n=e.data.packet,a=At(e.data.opts);this.addOffsetIfNecessary(n,a,t),super.broadcast(n,a)}break}case b.SOCKETS_JOIN:super.addSockets(At(e.data.opts),e.data.rooms);break;case b.SOCKETS_LEAVE:super.delSockets(At(e.data.opts),e.data.rooms);break;case b.DISCONNECT_SOCKETS:super.disconnectSockets(At(e.data.opts),e.data.close);break;case b.FETCH_SOCKETS:{O("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(At(e.data.opts)).then(i=>{this.publishResponse(e.uid,{type:b.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:i.map(n=>{let a=n.handshake,{sessionStore:r}=a,c=nx(a,["sessionStore"]);return{id:n.id,handshake:c,rooms:[...n.rooms],data:n.data}})}})});break}case b.SERVER_SIDE_EMIT:{let i=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(i);return}let a=!1,r=c=>{a||(a=!0,O("[%s] calling acknowledgement with %j",this.uid,c),this.publishResponse(e.uid,{type:b.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:c}}))};this.nsp._onServerSideEmit([...i,r]);break}case b.BROADCAST_CLIENT_COUNT:case b.BROADCAST_ACK:case b.FETCH_SOCKETS_RESPONSE:case b.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:O("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var t,i;let n=e.data.requestId;switch(O("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case b.BROADCAST_CLIENT_COUNT:{(t=this.ackRequests.get(n))===null||t===void 0||t.clientCountCallback(e.data.clientCount);break}case b.BROADCAST_ACK:{(i=this.ackRequests.get(n))===null||i===void 0||i.ack(e.data.packet);break}case b.FETCH_SOCKETS_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,e.data.sockets.forEach(r=>a.responses.push(r)),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(n));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,a.responses.push(e.data.packet),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(n));break}default:O("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,t){var i;if(!((i=t.flags)===null||i===void 0?void 0:i.local))try{let a=await this.publishAndReturnOffset({type:b.BROADCAST,data:{packet:e,opts:st(t)}});this.addOffsetIfNecessary(e,t,a)}catch(a){return O("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(e,t)}addOffsetIfNecessary(e,t,i){var n;if(!this.nsp.server.opts.connectionStateRecovery)return;let a=e.type===2,r=e.id===void 0,c=((n=t.flags)===null||n===void 0?void 0:n.volatile)===void 0;a&&r&&c&&e.data.push(i)}broadcastWithAck(e,t,i,n){var a;if(!((a=t?.flags)===null||a===void 0?void 0:a.local)){let c=Pt();this.ackRequests.set(c,{clientCountCallback:i,ack:n}),this.publish({type:b.BROADCAST,data:{packet:e,requestId:c,opts:st(t)}}),setTimeout(()=>{this.ackRequests.delete(c)},t.flags.timeout)}super.broadcastWithAck(e,t,i,n)}async addSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_JOIN,data:{opts:st(e),rooms:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(e,t)}async delSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_LEAVE,data:{opts:st(e),rooms:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(e,t)}async disconnectSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.DISCONNECT_SOCKETS,data:{opts:st(e),close:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(e,t)}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets(e),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=Pt();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.requests.get(r);u&&(o(new Error(`timeout reached: only ${u.current} responses received out of ${u.expected}`)),this.requests.delete(r))},e.flags.timeout||di),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,current:0,expected:a,responses:i};this.requests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:st(e),requestId:r}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=await this.serverCount()-1;if(O('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=Pt(),r=setTimeout(()=>{let o=this.requests.get(a);o&&(i(new Error(`timeout reached: only ${o.current} responses received out of ${o.expected}`),o.responses),this.requests.delete(a))},di),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,current:0,expected:n,responses:[]};this.requests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}publish(e){O("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(t=>{O("[%s] error while publishing message: %s",this.uid,t)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,t){t.uid=this.uid,t.nsp=this.nsp.name,O("[%s] sending response %s to %s",this.uid,t.type,e),this.doPublishResponse(e,t).catch(i=>{O("[%s] error while publishing response: %s",this.uid,i)})}};ge.ClusterAdapter=fi;var aa=class extends fi{constructor(e,t){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},t),this.cleanupTimer=setInterval(()=>{let i=Date.now();this.nodesMap.forEach((n,a)=>{i-n>this._opts.heartbeatTimeout&&(O("[%s] node %s seems down",this.uid,a),this.removeNode(a))})},1e3)}init(){this.publish({type:b.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:b.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:b.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,t){if(e.uid===this.uid)return O("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==cx&&this.nodesMap.set(e.uid,Date.now()),e.type){case b.INITIAL_HEARTBEAT:this.publish({type:b.HEARTBEAT});break;case b.HEARTBEAT:break;case b.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,t)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=this.nodesMap.size;if(O('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=Pt(),r=setTimeout(()=>{let o=this.customRequests.get(a);o&&(i(new Error(`timeout reached: missing ${o.missingUids.size} responses`),o.responses),this.customRequests.delete(a))},di),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=Pt();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.customRequests.get(r);u&&(o(new Error(`timeout reached: missing ${u.missingUids.size} responses`)),this.customRequests.delete(r))},e.flags.timeout||di),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:i};this.customRequests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:st(e),requestId:r}})})}onResponse(e){let t=e.data.requestId;switch(O("[%s] received response %s to request %s",this.uid,e.type,t),e.type){case b.FETCH_SOCKETS_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;e.data.sockets.forEach(n=>i.responses.push(n)),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(i.responses),this.customRequests.delete(t));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;i.responses.push(e.data.packet),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(null,i.responses),this.customRequests.delete(t));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((t,i)=>{t.missingUids.delete(e),t.missingUids.size===0&&(clearTimeout(t.timeout),t.type===b.FETCH_SOCKETS?t.resolve(t.responses):t.type===b.SERVER_SIDE_EMIT&&t.resolve(null,t.responses),this.customRequests.delete(i))}),this.nodesMap.delete(e)}};ge.ClusterAdapterWithHeartbeat=aa});var mi=x(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.MessageType=ce.ClusterAdapterWithHeartbeat=ce.ClusterAdapter=ce.SessionAwareAdapter=ce.Adapter=void 0;var el=na();Object.defineProperty(ce,"Adapter",{enumerable:!0,get:function(){return el.Adapter}});Object.defineProperty(ce,"SessionAwareAdapter",{enumerable:!0,get:function(){return el.SessionAwareAdapter}});var ra=Zc();Object.defineProperty(ce,"ClusterAdapter",{enumerable:!0,get:function(){return ra.ClusterAdapter}});Object.defineProperty(ce,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return ra.ClusterAdapterWithHeartbeat}});Object.defineProperty(ce,"MessageType",{enumerable:!0,get:function(){return ra.MessageType}})});var il=x(jt=>{"use strict";var lx=jt&&jt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(jt,"__esModule",{value:!0});jt.ParentNamespace=void 0;var tl=ea(),px=mi(),ux=lx(j()),sl=(0,ux.default)("socket.io:parent-namespace"),hi=class s extends tl.Namespace{constructor(e){super(e,"/_"+s.count++),this.children=new Set}_initAdapter(){this.adapter=new oa(this)}emit(e,...t){return this.children.forEach(i=>{i.emit(e,...t)}),!0}createChild(e){sl("creating child namespace %s",e);let t=new tl.Namespace(this.server,e);if(this._fns.forEach(i=>t.use(i)),this.listeners("connect").forEach(i=>t.on("connect",i)),this.listeners("connection").forEach(i=>t.on("connection",i)),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){let i=t._remove;t._remove=n=>{i.call(t,n),t.sockets.size===0&&(sl("closing child namespace %s",e),t.adapter.close(),this.server._nsps.delete(t.name),this.children.delete(t))}}return this.server._nsps.set(e,t),this.server.sockets.emitReserved("new_namespace",t),t}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};jt.ParentNamespace=hi;hi.count=0;var oa=class extends px.Adapter{broadcast(e,t){this.nsp.children.forEach(i=>{i.adapter.broadcast(e,t)})}}});var ll=x(nt=>{"use strict";var dx=nt&&nt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(nt,"__esModule",{value:!0});nt.patchAdapter=mx;nt.restoreAdapter=hx;nt.serveFile=vx;var it=mi(),nl=require("fs"),fx=dx(j()),xi=(0,fx.default)("socket.io:adapter-uws"),ca="",{addAll:rl,del:ol,broadcast:cl}=it.Adapter.prototype;function mx(s){it.Adapter.prototype.addAll=function(e,t){let i=!this.sids.has(e);rl.call(this,e,t);let n=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(n){if(n.conn.transport.name==="websocket"){al(this.nsp.name,n,i,t);return}i&&n.conn.on("upgrade",()=>{let a=this.sids.get(e);a&&al(this.nsp.name,n,i,a)})}},it.Adapter.prototype.del=function(e,t){ol.call(this,e,t);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i&&i.conn.transport.name==="websocket"){let n=i.conn.id,a=i.conn.transport.socket,r=`${this.nsp.name}${ca}${t}`;xi("unsubscribe connection %s from topic %s",n,r),a.unsubscribe(r)}},it.Adapter.prototype.broadcast=function(e,t){if(!(t.rooms.size<=1&&t.except.size===0)){cl.call(this,e,t);return}let n=t.flags||{},a={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name;let r=this.encoder.encode(e),c=t.rooms.size===0?this.nsp.name:`${this.nsp.name}${ca}${t.rooms.keys().next().value}`;xi("fast publish to %s",c),r.forEach(o=>{let l=typeof o!="string";s.publish(c,l?o:"4"+o,l)}),this.apply(t,o=>{o.conn.transport.name!=="websocket"&&o.client.writeToEngine(r,a)})}}function al(s,e,t,i){let n=e.conn.id,a=e.conn.transport.socket;t&&(xi("subscribe connection %s to topic %s",n,s),a.subscribe(s)),i.forEach(r=>{let c=`${s}${ca}${r}`;xi("subscribe connection %s to topic %s",n,c),a.subscribe(c)})}function hx(){it.Adapter.prototype.addAll=rl,it.Adapter.prototype.del=ol,it.Adapter.prototype.broadcast=cl}var xx=s=>{let{buffer:e,byteOffset:t,byteLength:i}=s;return e.slice(t,t+i)};function vx(s,e){let{size:t}=(0,nl.statSync)(e),i=(0,nl.createReadStream)(e),n=()=>!i.destroyed&&i.destroy(),a=c=>{throw n(),c},r=c=>{let o=xx(c);s.cork(()=>{let l=s.getWriteOffset(),[p,u]=s.tryEnd(o,t);!u&&!p&&(i.pause(),s.onWritable(d=>{let[h,m]=s.tryEnd(o.slice(d-l),t);return!m&&h&&i.resume(),h}))})};s.onAborted(n),i.on("data",r).on("error",a).on("end",n)}});var pl=x((lb,gx)=>{gx.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var gl=x((U,ss)=>{"use strict";var bx=U&&U.__createBinding||(Object.create?(function(s,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,i,n)}):(function(s,e,t,i){i===void 0&&(i=t),s[i]=e[t]})),yx=U&&U.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),wx=U&&U.__importStar||function(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var t in s)t!=="default"&&Object.prototype.hasOwnProperty.call(s,t)&&bx(e,s,t);return yx(e,s),e},ua=U&&U.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(U,"__esModule",{value:!0});U.Namespace=U.Socket=U.Server=void 0;var _x=ua(require("http")),Sx=require("fs"),la=require("zlib"),Ex=vs(),vi=require("stream"),ul=require("path"),dl=Nc(),Cx=zc(),fl=require("events"),da=ea();Object.defineProperty(U,"Namespace",{enumerable:!0,get:function(){return da.Namespace}});var kx=il(),ml=mi(),Tx=wx(es()),Ox=ua(j()),vl=Qn();Object.defineProperty(U,"Socket",{enumerable:!0,get:function(){return vl.Socket}});var Rx=ai(),pa=ll(),Ax=ua(jn()),W=(0,Ox.default)("socket.io:server"),hl=pl().version,xl=/\.map/,Dt=class s extends Rx.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(t.serveClient!==!1),this._parser=t.parser||Tx,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||ml.SessionAwareAdapter)):this.adapter(t.adapter||ml.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,Ax.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,i){if(this.parentNsps.size===0)return i(!1);let n=this.parentNsps.keys(),a=()=>{let r=n.next();if(r.done)return i(!1);r.value(e,t,(c,o)=>{if(c||!o)return a();if(this._nsps.has(e))return W("dynamic namespace %s already exists",e),i(this._nsps.get(e));let l=this.parentNsps.get(r.value).createChild(e);W("dynamic namespace %s was created",e),i(l)})};a()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let t of this._nsps.values())t._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if(typeof e=="function"){let i="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(i)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){W("creating http server and binding to %d",e);let i=e;e=_x.default.createServer((n,a)=>{a.writeHead(404),a.end()}),e.listen(i)}return Object.assign(t,this.opts),t.path=t.path||this._path,this.initEngine(e,t),this}attachApp(e,t={}){Object.assign(t,this.opts),t.path=t.path||this._path,W("creating uWebSockets.js-based engine with opts %j",t);let i=new dl.uServer(t);i.attach(e,t),this.bind(i),this._serveClient&&e.get(`${this._path}/*`,(n,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}let r=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),c=xl.test(r),o=c?"map":"source",l='"'+hl+'"',p="W/"+l,u=a.getHeader("if-none-match");if(u&&(l===u||p===u)){W("serve client %s 304",o),n.writeStatus("304 Not Modified"),n.end();return}W("serve client %s",o),n.writeHeader("cache-control","public, max-age=0"),n.writeHeader("content-type","application/"+(c?"json":"javascript")+"; charset=utf-8"),n.writeHeader("etag",l);let d=ul.join(__dirname,"../client-dist/",r);(0,pa.serveFile)(n,d)}),(0,pa.patchAdapter)(e)}initEngine(e,t){W("creating engine.io instance with opts %j",t),this.eio=(0,dl.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){W("attaching client serving req handler");let t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(i,n)=>{if(this.clientPathRegex.test(i.url))this._corsMiddleware?this._corsMiddleware(i,n,()=>{this.serve(i,n)}):this.serve(i,n);else for(let a=0;a<t.length;a++)t[a].call(e,i,n)})}serve(e,t){let i=e.url.replace(this._path,"").replace(/\?.*$/,""),n=xl.test(i),a=n?"map":"source",r='"'+hl+'"',c="W/"+r,o=e.headers["if-none-match"];if(o&&(r===o||c===o)){W("serve client %s 304",a),t.writeHead(304),t.end();return}W("serve client %s",a),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(n?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",r),s.sendFile(i,e,t)}static sendFile(e,t,i){let n=(0,Sx.createReadStream)(ul.join(__dirname,"../client-dist/",e)),a=Ex(t).encodings(["br","gzip","deflate"]),r=c=>{c&&i.end()};switch(a){case"br":i.writeHead(200,{"content-encoding":"br"}),(0,vi.pipeline)(n,(0,la.createBrotliCompress)(),i,r);break;case"gzip":i.writeHead(200,{"content-encoding":"gzip"}),(0,vi.pipeline)(n,(0,la.createGzip)(),i,r);break;case"deflate":i.writeHead(200,{"content-encoding":"deflate"}),(0,vi.pipeline)(n,(0,la.createDeflate)(),i,r);break;default:i.writeHead(200),(0,vi.pipeline)(n,i,r)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){W("incoming connection with id %s",e.id);let t=new Cx.Client(this,e);return e.protocol===3&&t.connect("/"),this}of(e,t){if(typeof e=="function"||e instanceof RegExp){let n=new kx.ParentNamespace(this);return W("initializing parent namespace %s",n.name),typeof e=="function"?this.parentNsps.set(e,n):(this.parentNsps.set((a,r,c)=>c(null,e.test(a)),n),this.parentNamespacesFromRegExp.set(e,n)),t&&n.on("connect",t),n}String(e)[0]!=="/"&&(e="/"+e);let i=this._nsps.get(e);if(!i){for(let[n,a]of this.parentNamespacesFromRegExp)if(n.test(e))return W("attaching namespace %s to parent namespace %s",e,n),a.createChild(e);W("initializing namespace %s",e),i=new da.Namespace(this,e),this._nsps.set(e,i),e!=="/"&&this.sockets.emitReserved("new_namespace",i)}return t&&i.on("connect",t),i}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async t=>{t.sockets.forEach(i=>{i._onclose("server shutting down")}),await t.adapter.close()})),this.engine.close(),(0,pa.restoreAdapter)(),this.httpServer)return new Promise(t=>{this.httpServer.close(i=>{e&&e(i),i&&W("server was not running"),t()})});e&&e()}use(e){return this.sockets.use(e),this}to(e){return this.sockets.to(e)}in(e){return this.sockets.in(e)}except(e){return this.sockets.except(e)}send(...e){return this.sockets.emit("message",...e),this}write(...e){return this.sockets.emit("message",...e),this}serverSideEmit(e,...t){return this.sockets.serverSideEmit(e,...t)}serverSideEmitWithAck(e,...t){return this.sockets.serverSideEmitWithAck(e,...t)}allSockets(){return this.sockets.allSockets()}compress(e){return this.sockets.compress(e)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(e){return this.sockets.timeout(e)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(e){return this.sockets.socketsJoin(e)}socketsLeave(e){return this.sockets.socketsLeave(e)}disconnectSockets(e=!1){return this.sockets.disconnectSockets(e)}};U.Server=Dt;var Px=Object.keys(fl.EventEmitter.prototype).filter(function(s){return typeof fl.EventEmitter.prototype[s]=="function"});Px.forEach(function(s){Dt.prototype[s]=function(){return this.sockets[s].apply(this.sockets,arguments)}});ss.exports=(s,e)=>new Dt(s,e);ss.exports.Server=Dt;ss.exports.Namespace=da.Namespace;ss.exports.Socket=vl.Socket});var _l={};Ge(_l,{TileManager:()=>fa});var gi,Nt,bi,wl,jx,Dx,fa,Sl=Ve(()=>{gi=R(require("sharp"),1),Nt=R(require("fs"),1),bi=R(require("path"),1),wl=require("url"),jx=(0,wl.fileURLToPath)(__importMetaUrl),Dx=bi.default.dirname(jx),fa=class{constructor(e){this.robot=e,this.tileSize=100,this.lastTileChecksums=new Map,this.screenWidth=0,this.screenHeight=0,this.tilesPerRow=0,this.tilesPerColumn=0,this.totalTiles=0,this.frameCount=0,this.tempDir=bi.default.join(Dx,"../../temp"),this.compressionQuality=1,this.changeThreshold=1,this.scaleFactor=.99,this.scaledWidth=0,this.scaledHeight=0,this.isProcessing=!1,this.sharedScreenCache=null,this.lastCaptureTime=0,this.CACHE_TTL=100,this.dpiScale=1,this.captureWidth=0,this.captureHeight=0,Nt.default.existsSync(this.tempDir)||Nt.default.mkdirSync(this.tempDir,{recursive:!0}),this.initializeScreenDimensions()}initializeScreenDimensions(){try{let{width:e,height:t}=this.robot.getScreenSize();this.screenWidth=e,this.screenHeight=t,this.detectDpiScale(),this.scaledWidth=Math.floor(e*this.scaleFactor),this.scaledHeight=Math.floor(t*this.scaleFactor),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn;let i=100;if(this.totalTiles>i){let n=Math.ceil(Math.sqrt(this.scaledWidth*this.scaledHeight/i));this.tileSize=Math.max(n,120),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}console.log(`\u{1F5A5}\uFE0F TileManager: ${e}x${t} (DPI ${this.dpiScale}x) -> ${this.totalTiles} tiles`)}catch(e){console.error("Screen dimensions error:",e),this.screenWidth=1920,this.screenHeight=1080,this.dpiScale=1,this.captureWidth=1920,this.captureHeight=1080,this.scaledWidth=1728,this.scaledHeight=972,this.tileSize=120,this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}}detectDpiScale(){if(process.platform==="darwin"){let e=this.robot.screen.capture(0,0,1,1);this.dpiScale=e.byteWidth/e.bytesPerPixel}else{let e=Math.min(this.screenWidth*2,4096),t=Math.min(this.screenHeight*2,4096),i=this.robot.screen.capture(0,0,e,t),n=i.byteWidth/i.bytesPerPixel;n>this.screenWidth?this.dpiScale=n/this.screenWidth:this.dpiScale=1}this.captureWidth=Math.floor(this.screenWidth*this.dpiScale),this.captureHeight=Math.floor(this.screenHeight*this.dpiScale)}async captureFullScreen(){let e=this.robot.screen.capture(0,0,this.captureWidth,this.captureHeight),t=Buffer.from(e.image);for(let o=0;o<t.length;o+=4){let l=t[o],p=t[o+2];t[o]=p,t[o+2]=l}let i=e.byteWidth/e.bytesPerPixel,n=e.height,a=t,r=i,c=n;if(this.dpiScale>1||this.scaleFactor<1){let o=Math.floor(this.screenWidth*this.scaleFactor),l=Math.floor(this.screenHeight*this.scaleFactor);a=await(0,gi.default)(t,{raw:{width:i,height:n,channels:e.bytesPerPixel}}).resize(o,l,{kernel:gi.default.kernel.nearest,fit:"fill"}).raw().toBuffer(),r=o,c=l}return{buffer:a,width:r,height:c,channels:e.bytesPerPixel}}async getSharedScreenCapture(){let e=Date.now();return this.sharedScreenCache&&e-this.lastCaptureTime<this.CACHE_TTL?this.sharedScreenCache:(this.sharedScreenCache=await this.captureFullScreen(),this.lastCaptureTime=e,this.sharedScreenCache)}clearScreenCache(){}async detectChangedTiles(){if(this.isProcessing)return[];this.isProcessing=!0;try{let e=await this.getSharedScreenCapture(),t=[],i=[];this.frameCount++;let n=[];for(let r=0;r<this.totalTiles;r++)n[r]=this.extractTile(e,r);if(this.lastTileChecksums.size===0){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);return t.push(...c),t}for(let r=0;r<this.totalTiles;r++){let c=this.calculateTileChecksum(n[r].buffer),o=this.lastTileChecksums.get(r);c!==o&&(i.push(r),this.lastTileChecksums.set(r,c))}if(i.length/this.totalTiles>this.changeThreshold){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);t.push(...c.map(o=>({...o,fullRefresh:!0})))}else if(i.length>0){let r=i.map(o=>this.processTileAsync(e,o,n[o])),c=await Promise.all(r);t.push(...c)}return t}finally{this.isProcessing=!1}}async processTileAsync(e,t,i=null){let n=i||this.extractTile(e,t),a=this.calculateTileChecksum(n.buffer);this.lastTileChecksums.set(t,a);let r=await this.compressTileImage(n.buffer,n.width,n.height),{row:c,col:o}=this.getTilePosition(t);return{type:"tile-update",tileIndex:t,x:o*this.tileSize,y:c*this.tileSize,width:n.width,height:n.height,imageBase64:r,size:Math.round(r.length*.75/1024),timestamp:Date.now(),frameCount:this.frameCount}}calculateTileChecksum(e){let t=0;for(let i=0;i<e.length;i+=64)t+=e[i]||0,t^=e[i+1]||0,t+=(e[i+2]||0)<<1,t^=(e[i+3]||0)<<2;return t>>>0}getTilePosition(e){return{row:Math.floor(e/this.tilesPerRow),col:e%this.tilesPerRow}}extractTile(e,t){let{row:i,col:n}=this.getTilePosition(t),a=n*this.tileSize,r=i*this.tileSize,c=Math.min(a+this.tileSize,e.width),o=Math.min(r+this.tileSize,e.height),l=c-a,p=o-r,u=e.channels,d=l*u,h=Buffer.alloc(l*p*u);for(let m=0;m<p;m++){let f=((r+m)*e.width+a)*u,v=m*d;e.buffer.copy(h,v,f,f+d)}return{buffer:h,width:l,height:p,channels:u,tileIndex:t,x:a,y:r}}async compressTileImage(e,t,i){return`data:image/webp;base64,${(await(0,gi.default)(e,{raw:{width:t,height:i,channels:4}}).webp({quality:85,effort:2,smartSubsample:!0}).toBuffer()).toString("base64")}`}async getScreenDimensions(){try{let e=await this.captureFullScreen();this.scaledWidth=e.width,this.scaledHeight=e.height,this.tilesPerRow=Math.ceil(e.width/this.tileSize),this.tilesPerColumn=Math.ceil(e.height/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}catch(e){console.error("Error getting dimensions:",e)}return{width:this.scaledWidth,height:this.scaledHeight,tileWidth:this.tileSize,tileHeight:this.tileSize,tileCount:this.totalTiles,scaleFactor:this.scaleFactor,originalWidth:this.screenWidth,originalHeight:this.screenHeight}}async compareClientTileHashes(e){if(this.isProcessing)return{tiles:[],currentHashes:[],changedIndices:[]};this.isProcessing=!0;try{let t=await this.getSharedScreenCapture(),i=[],n=[];this.frameCount++;let a=[],r=new Map;for(let o=0;o<this.totalTiles;o++){a[o]=this.extractTile(t,o);let l=this.calculateTileChecksum(a[o].buffer);r.set(o,l),this.lastTileChecksums.set(o,l)}if(!e||e.length===0){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);return i.push(...l),{tiles:i,currentHashes:Array.from(r.values())}}for(let o=0;o<this.totalTiles;o++)e[o]!==r.get(o)&&n.push(o);if(n.length/this.totalTiles>this.changeThreshold){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);i.push(...l.map(p=>({...p,fullRefresh:!0})))}else if(n.length>0){let o=n.map(p=>this.processTileAsync(t,p,a[p])),l=await Promise.all(o);i.push(...l)}return{tiles:i,currentHashes:Array.from(r.values()),changedIndices:n}}finally{this.isProcessing=!1}}reset(){this.lastTileChecksums.clear(),this.frameCount=0}cleanup(){try{Nt.default.existsSync(this.tempDir)&&Nt.default.readdirSync(this.tempDir).forEach(t=>Nt.default.unlinkSync(bi.default.join(this.tempDir,t)))}catch(e){console.warn("Cleanup error:",e)}}}});var X,is=Ve(()=>{X={robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},resourceManagement:{inactiveTimeout:12e4,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50},streaming:{autoStreamingInterval:100,chunkSize:32,chunkDelay:5,updateDelayAfterAction:200}}});var El={};Ge(El,{ResourceManager:()=>ma});var ma,Cl=Ve(()=>{is();ma=class{constructor(){this.activeClients=new Map,this.activeTimers=new Map,this.chunkTimers=new Map,this.memoryCheckInterval=null}startResourceMonitoring(){this.memoryCheckInterval=setInterval(()=>{let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024);t>X.resourceManagement.memoryWarningThreshold&&(console.warn(`\u26A0\uFE0F High memory: ${t}MB`),this.cleanupInactiveClients())},X.resourceManagement.memoryCheckInterval)}stopResourceMonitoring(){this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null)}addClient(e,t){this.activeClients.set(e,{...t,lastActivity:Date.now()})}getClient(e){return this.activeClients.get(e)}updateClientActivity(e){let t=this.activeClients.get(e);t&&(t.lastActivity=Date.now())}cleanupInactiveClients(){let e=Date.now(),t=X.resourceManagement.inactiveTimeout;for(let[i,n]of this.activeClients.entries())e-n.lastActivity>t&&(console.log(`\u{1F9F9} Cleaning inactive client: ${i}`),this.cleanupClientResources(i,n),this.activeClients.delete(i))}cleanupClientResources(e,t){try{t?.screenInterval&&(clearInterval(t.screenInterval),t.screenInterval=null);let i=this.activeTimers.get(e);i&&(i.forEach(a=>clearTimeout(a)),this.activeTimers.delete(e));let n=this.chunkTimers.get(e);n&&(n.forEach(a=>clearTimeout(a)),this.chunkTimers.delete(e)),t?.tileManager&&(t.tileManager.cleanup(),t.tileManager.reset())}catch(i){console.error(`Error cleaning up ${e}:`,i.message)}}removeClient(e){let t=this.activeClients.get(e);t&&(this.cleanupClientResources(e,t),this.activeClients.delete(e))}getChunkTimers(e){return this.chunkTimers.has(e)||this.chunkTimers.set(e,new Set),this.chunkTimers.get(e)}cleanupAll(){this.stopResourceMonitoring();for(let[e,t]of this.activeClients.entries())this.cleanupClientResources(e,t);this.activeClients.clear(),this.activeTimers.clear(),this.chunkTimers.clear()}}});var kl={};Ge(kl,{ScreenUpdateHelper:()=>ha});var ha,Tl=Ve(()=>{is();ha=class{constructor(e){this.resourceManager=e}async sendTilesInChunks(e,t,i,n=!1){if(!t||t.length===0)return;let a=X.streaming.chunkSize,r=[];for(let o=0;o<t.length;o+=a)r.push(t.slice(o,o+a));let c=this.resourceManager.getChunkTimers(e.id);for(let o=0;o<r.length;o++){let l=r[o],p=o===r.length-1,u=setTimeout(()=>{c.delete(u),e.connected&&e.emit("tiles-data",{tiles:l,timestamp:i,forceRefresh:!1,userAction:n,chunkInfo:{chunkIndex:o,totalChunks:r.length,isLastChunk:p}})},o*X.streaming.chunkDelay);c.add(u)}}}});var Ol={};Ge(Ol,{MouseHandler:()=>xa});var xa,Rl=Ve(()=>{is();xa=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastMouseMove=0}setupMouseHandlers(e,t){let i=this.robot;e.on("mouse-move",t(n=>{let a=Date.now();if(!(a-this.lastMouseMove<X.throttling.mouseThrottle)){this.lastMouseMove=a;try{i.moveMouse(n.x,n.y),this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Mouse move error:",r.message)}}})),e.on("mouse-click",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseClick(n.button||"left",n.double||!1),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse click error:",a.message)}})),e.on("mouse-press",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("down",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse press error:",a.message)}})),e.on("mouse-release",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("up",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse release error:",a.message)}})),e.on("scroll",t(async n=>{try{let{direction:a,amount:r=60,horizontal:c=!1}=n;if(!this.resourceManager.getClient(e.id))return;let l=0,p=0;c||a==="left"||a==="right"?l=a==="right"?r:-r:p=a==="down"?-r:r,i.scrollMouse(l,p),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Scroll error:",a.message)}})),e.on("mouse-drag-select",t(n=>{try{let{startX:a,startY:r,endX:c,endY:o}=n,l=i.getScreenSize(),p=Math.round(a/100*l.width),u=Math.round(r/100*l.height),d=Math.round(c/100*l.width),h=Math.round(o/100*l.height),m=Math.max(0,Math.min(l.width-1,p)),f=Math.max(0,Math.min(l.height-1,u)),v=Math.max(0,Math.min(l.width-1,d)),y=Math.max(0,Math.min(l.height-1,h));i.moveMouse(m,f),i.mouseToggle("down","left"),i.dragMouse(v,y),i.mouseToggle("up","left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Drag selection error:",a.message)}}))}}});var Al={};Ge(Al,{KeyboardHandler:()=>va});var va,Pl=Ve(()=>{is();va=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastKeyPress=0,this.lastTypeText=0}setupKeyboardHandlers(e,t){let i=this.robot;e.on("key-press",t(n=>{let a=Date.now();if(!(a-this.lastKeyPress<X.throttling.keyThrottle)){this.lastKeyPress=a;try{if(!n.key||typeof n.key!="string")return;let r=n.key;if(r.length===1){i.keyTap(r,n.modifier||[]);for(let c of n.modifier||[])i.keyToggle(c,"up")}else switch(r.toLowerCase()){case"enter":case"return":i.keyTap("enter");break;case"space":i.keyTap(" ");break;case"backspace":i.keyTap("backspace");break;case"tab":i.keyTap("tab");break;case"escape":i.keyTap("escape");break;default:i.keyTap(r,n.modifier||[])}this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Key press error:",r.message)}}})),e.on("type-text",t(n=>{let a=Date.now();if(!(a-this.lastTypeText<X.throttling.typeTextThrottle)){this.lastTypeText=a;try{if(!n.text||typeof n.text!="string")return;let r=n.text;r.length>X.throttling.maxTextLength&&(r=r.substring(0,X.throttling.maxTextLength));let c=r.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");setTimeout(()=>{try{i.typeString(c),this.resourceManager.updateClientActivity(e.id);let o=this.resourceManager.getClient(e.id);o?.tileManager&&o.tileManager.clearScreenCache()}catch(o){console.error("Robot typeString error:",o.message)}},10)}catch(r){console.error("Type text error:",r.message)}}}))}}});var jl={};Ge(jl,{ScreenHandler:()=>ga});var ga,Dl=Ve(()=>{ga=class{constructor(e,t){this.resourceManager=e,this.screenUpdateHelper=t}setupScreenHandlers(e,t){e.on("request-screen",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.detectChangedTiles();n.length>0&&e.emit("tiles-data",{tiles:n,timestamp:Date.now()}),this.resourceManager.updateClientActivity(e.id)}catch(n){console.error("Tile capture error:",n),e.emit("screen-error",{error:n.message})}})),e.on("request-screen-with-hashes",t(async i=>{let n=this.resourceManager.getClient(e.id);if(n)try{let a=i.tileHashes||[],r=await n.tileManager.compareClientTileHashes(a);r?.tiles?.length>0?e.emit("tiles-data",{tiles:r.tiles,timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:r.changedIndices}):e.emit("tiles-data",{tiles:[],timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:[]}),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Tile capture with hashes error:",a),e.emit("screen-error",{error:a.message})}})),e.on("start-streaming",t(()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u{1F680} Remote streaming started"),i.screenInterval=setInterval(async()=>{try{let n=await i.tileManager.detectChangedTiles();if(n.length>0){let a=Date.now();await this.screenUpdateHelper.sendTilesInChunks(e,n,a,!1)}}catch(n){console.error("Auto streaming error:",n)}},400))})),e.on("stop-streaming",()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u23F9\uFE0F Remote streaming stopped"))}),e.on("get-screen-dimensions",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.getScreenDimensions();e.emit("screen-dimensions",n)}catch(n){console.error("Get dimensions error:",n),e.emit("screen-error",{error:n.message})}}))}}});var _p=x((Ib,Oa)=>{"use strict";var cv=Object.prototype.hasOwnProperty,$="~";function cs(){}Object.create&&(cs.prototype=Object.create(null),new cs().__proto__||($=!1));function lv(s,e,t){this.fn=s,this.context=e,this.once=t||!1}function wp(s,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var a=new lv(t,i||s,n),r=$?$+e:e;return s._events[r]?s._events[r].fn?s._events[r]=[s._events[r],a]:s._events[r].push(a):(s._events[r]=a,s._eventsCount++),s}function Oi(s,e){--s._eventsCount===0?s._events=new cs:delete s._events[e]}function H(){this._events=new cs,this._eventsCount=0}H.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)cv.call(t,i)&&e.push($?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};H.prototype.listeners=function(e){var t=$?$+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,a=i.length,r=new Array(a);n<a;n++)r[n]=i[n].fn;return r};H.prototype.listenerCount=function(e){var t=$?$+e:e,i=this._events[t];return i?i.fn?1:i.length:0};H.prototype.emit=function(e,t,i,n,a,r){var c=$?$+e:e;if(!this._events[c])return!1;var o=this._events[c],l=arguments.length,p,u;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),l){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,t),!0;case 3:return o.fn.call(o.context,t,i),!0;case 4:return o.fn.call(o.context,t,i,n),!0;case 5:return o.fn.call(o.context,t,i,n,a),!0;case 6:return o.fn.call(o.context,t,i,n,a,r),!0}for(u=1,p=new Array(l-1);u<l;u++)p[u-1]=arguments[u];o.fn.apply(o.context,p)}else{var d=o.length,h;for(u=0;u<d;u++)switch(o[u].once&&this.removeListener(e,o[u].fn,void 0,!0),l){case 1:o[u].fn.call(o[u].context);break;case 2:o[u].fn.call(o[u].context,t);break;case 3:o[u].fn.call(o[u].context,t,i);break;case 4:o[u].fn.call(o[u].context,t,i,n);break;default:if(!p)for(h=1,p=new Array(l-1);h<l;h++)p[h-1]=arguments[h];o[u].fn.apply(o[u].context,p)}}return!0};H.prototype.on=function(e,t,i){return wp(this,e,t,i,!1)};H.prototype.once=function(e,t,i){return wp(this,e,t,i,!0)};H.prototype.removeListener=function(e,t,i,n){var a=$?$+e:e;if(!this._events[a])return this;if(!t)return Oi(this,a),this;var r=this._events[a];if(r.fn)r.fn===t&&(!n||r.once)&&(!i||r.context===i)&&Oi(this,a);else{for(var c=0,o=[],l=r.length;c<l;c++)(r[c].fn!==t||n&&!r[c].once||i&&r[c].context!==i)&&o.push(r[c]);o.length?this._events[a]=o.length===1?o[0]:o:Oi(this,a)}return this};H.prototype.removeAllListeners=function(e){var t;return e?(t=$?$+e:e,this._events[t]&&Oi(this,t)):(this._events=new cs,this._eventsCount=0),this};H.prototype.off=H.prototype.removeListener;H.prototype.addListener=H.prototype.on;H.prefixed=$;H.EventEmitter=H;typeof Oa<"u"&&(Oa.exports=H)});var Ep=x((Bb,Sp)=>{"use strict";Sp.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var Ri=x(kp=>{var De=kp,pv=require("url"),Cp=require("util")._extend,uv=Ep(),dv=/(^|,)\s*upgrade\s*($|,)/i,Ra=/^https|wss/;De.isSSL=Ra;De.setupOutgoing=function(s,e,t,i){s.port=e[i||"target"].port||(Ra.test(e[i||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(c){s[c]=e[i||"target"][c]}),s.method=e.method||t.method,s.headers=Cp({},t.headers),e.headers&&Cp(s.headers,e.headers),e.auth&&(s.auth=e.auth),e.ca&&(s.ca=e.ca),Ra.test(e[i||"target"].protocol)&&(s.rejectUnauthorized=typeof e.secure>"u"?!0:e.secure),s.agent=e.agent||!1,s.localAddress=e.localAddress,s.agent||(s.headers=s.headers||{},(typeof s.headers.connection!="string"||!dv.test(s.headers.connection))&&(s.headers.connection="close"));var n=e[i||"target"],a=n&&e.prependPath!==!1&&n.path||"",r=e.toProxy?t.url:pv.parse(t.url).path||"";return r=e.ignorePath?"":r,s.path=De.urlJoin(a,r),e.changeOrigin&&(s.headers.host=uv(s.port,e[i||"target"].protocol)&&!fv(s.host)?s.host+":"+s.port:s.host),s};De.setupSocket=function(s){return s.setTimeout(0),s.setNoDelay(!0),s.setKeepAlive(!0,0),s};De.getPort=function(s){var e=s.headers.host?s.headers.host.match(/:(\d+)/):"";return e?e[1]:De.hasEncryptedConnection(s)?"443":"80"};De.hasEncryptedConnection=function(s){return!!(s.connection.encrypted||s.connection.pair)};De.urlJoin=function(){var s=Array.prototype.slice.call(arguments),e=s.length-1,t=s[e],i=t.split("?"),n;return s[e]=i.shift(),n=[s.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],n.push.apply(n,i),n.join("?")};De.rewriteCookieProperty=function s(e,t,i){return Array.isArray(e)?e.map(function(n){return s(n,t,i)}):e.replace(new RegExp("(;\\s*"+i+"=)([^;]+)","i"),function(n,a,r){var c;if(r in t)c=t[r];else if("*"in t)c=t["*"];else return n;return c?a+c:""})};function fv(s){return!!~s.indexOf(":")}});var Ap=x((Mb,Rp)=>{var Tp=require("url"),Op=Ri(),mv=/^201|30(1|2|7|8)$/;Rp.exports={removeChunked:function(e,t,i){e.httpVersion==="1.0"&&delete i.headers["transfer-encoding"]},setConnection:function(e,t,i){e.httpVersion==="1.0"?i.headers.connection=e.headers.connection||"close":e.httpVersion!=="2.0"&&!i.headers.connection&&(i.headers.connection=e.headers.connection||"keep-alive")},setRedirectHostRewrite:function(e,t,i,n){if((n.hostRewrite||n.autoRewrite||n.protocolRewrite)&&i.headers.location&&mv.test(i.statusCode)){var a=Tp.parse(n.target),r=Tp.parse(i.headers.location);if(a.host!=r.host)return;n.hostRewrite?r.host=n.hostRewrite:n.autoRewrite&&(r.host=e.headers.host),n.protocolRewrite&&(r.protocol=n.protocolRewrite),i.headers.location=r.format()}},writeHeaders:function(e,t,i,n){var a=n.cookieDomainRewrite,r=n.cookiePathRewrite,c=n.preserveHeaderKeyCase,o,l=function(d,h){h!=null&&(a&&d.toLowerCase()==="set-cookie"&&(h=Op.rewriteCookieProperty(h,a,"domain")),r&&d.toLowerCase()==="set-cookie"&&(h=Op.rewriteCookieProperty(h,r,"path")),t.setHeader(String(d).trim(),h))};if(typeof a=="string"&&(a={"*":a}),typeof r=="string"&&(r={"*":r}),c&&i.rawHeaders!=null){o={};for(var p=0;p<i.rawHeaders.length;p+=2){var u=i.rawHeaders[p];o[u.toLowerCase()]=u}}Object.keys(i.headers).forEach(function(d){var h=i.headers[d];c&&o&&(d=o[d]||d),l(d,h)})},writeStatusCode:function(e,t,i){i.statusMessage?(t.statusCode=i.statusCode,t.statusMessage=i.statusMessage):t.statusCode=i.statusCode}}});var jp=x((qb,Pp)=>{var ls;Pp.exports=function(){if(!ls){try{ls=j()("follow-redirects")}catch{}typeof ls!="function"&&(ls=function(){})}ls.apply(null,arguments)}});var Lp=x((Fb,Ua)=>{var us=require("url"),ps=us.URL,hv=require("http"),xv=require("https"),Na=require("stream").Writable,Ia=require("assert"),Dp=jp();(function(){var e=typeof process<"u",t=typeof window<"u"&&typeof document<"u",i=rt(Error.captureStackTrace);!e&&(t||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var Ba=!1;try{Ia(new ps(""))}catch(s){Ba=s.code==="ERR_INVALID_URL"}var vv=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],La=["abort","aborted","connect","error","socket","timeout"],Ma=Object.create(null);La.forEach(function(s){Ma[s]=function(e,t,i){this._redirectable.emit(s,e,t,i)}});var Pa=ds("ERR_INVALID_URL","Invalid URL",TypeError),ja=ds("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),gv=ds("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",ja),bv=ds("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),yv=ds("ERR_STREAM_WRITE_AFTER_END","write after end"),wv=Na.prototype.destroy||Ip;function J(s,e){Na.call(this),this._sanitizeOptions(s),this._options=s,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){try{t._processResponse(i)}catch(n){t.emit("error",n instanceof ja?n:new ja({cause:n}))}},this._performRequest()}J.prototype=Object.create(Na.prototype);J.prototype.abort=function(){Fa(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};J.prototype.destroy=function(s){return Fa(this._currentRequest,s),wv.call(this,s),this};J.prototype.write=function(s,e,t){if(this._ending)throw new yv;if(!at(s)&&!Ev(s))throw new TypeError("data should be a string, Buffer or Uint8Array");if(rt(e)&&(t=e,e=null),s.length===0){t&&t();return}this._requestBodyLength+s.length<=this._options.maxBodyLength?(this._requestBodyLength+=s.length,this._requestBodyBuffers.push({data:s,encoding:e}),this._currentRequest.write(s,e,t)):(this.emit("error",new bv),this.abort())};J.prototype.end=function(s,e,t){if(rt(s)?(t=s,s=e=null):rt(e)&&(t=e,e=null),!s)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(s,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};J.prototype.setHeader=function(s,e){this._options.headers[s]=e,this._currentRequest.setHeader(s,e)};J.prototype.removeHeader=function(s){delete this._options.headers[s],this._currentRequest.removeHeader(s)};J.prototype.setTimeout=function(s,e){var t=this;function i(r){r.setTimeout(s),r.removeListener("timeout",r.destroy),r.addListener("timeout",r.destroy)}function n(r){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),a()},s),i(r)}function a(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",a),t.removeListener("error",a),t.removeListener("response",a),t.removeListener("close",a),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",n)}return e&&this.on("timeout",e),this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(s){J.prototype[s]=function(e,t){return this._currentRequest[s](e,t)}});["aborted","connection","socket"].forEach(function(s){Object.defineProperty(J.prototype,s,{get:function(){return this._currentRequest[s]}})});J.prototype._sanitizeOptions=function(s){if(s.headers||(s.headers={}),s.host&&(s.hostname||(s.hostname=s.host),delete s.host),!s.pathname&&s.path){var e=s.path.indexOf("?");e<0?s.pathname=s.path:(s.pathname=s.path.substring(0,e),s.search=s.path.substring(e))}};J.prototype._performRequest=function(){var s=this._options.protocol,e=this._options.nativeProtocols[s];if(!e)throw new TypeError("Unsupported protocol "+s);if(this._options.agents){var t=s.slice(0,-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);i._redirectable=this;for(var n of La)i.on(n,Ma[n]);if(this._currentUrl=/^\//.test(this._options.path)?us.format(this._options):this._options.path,this._isRedirect){var a=0,r=this,c=this._requestBodyBuffers;(function o(l){if(i===r._currentRequest)if(l)r.emit("error",l);else if(a<c.length){var p=c[a++];i.finished||i.write(p.data,p.encoding,o)}else r._ended&&i.end()})()}};J.prototype._processResponse=function(s){var e=s.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:s.headers,statusCode:e});var t=s.headers.location;if(!t||this._options.followRedirects===!1||e<300||e>=400){s.responseUrl=this._currentUrl,s.redirects=this._redirects,this.emit("response",s),this._requestBodyBuffers=[];return}if(Fa(this._currentRequest),s.destroy(),++this._redirectCount>this._options.maxRedirects)throw new gv;var i,n=this._options.beforeRedirect;n&&(i=Object.assign({Host:s.req.getHeader("host")},this._options.headers));var a=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],Aa(/^content-/i,this._options.headers));var r=Aa(/^host$/i,this._options.headers),c=qa(this._currentUrl),o=r||c.host,l=/^\w+:/.test(t)?this._currentUrl:us.format(Object.assign(c,{host:o})),p=_v(t,l);if(Dp("redirecting to",p.href),this._isRedirect=!0,Da(p,this._options),(p.protocol!==c.protocol&&p.protocol!=="https:"||p.host!==o&&!Sv(p.host,o))&&Aa(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),rt(n)){var u={headers:s.headers,statusCode:e},d={url:l,method:a,headers:i};n(this._options,u,d),this._sanitizeOptions(this._options)}this._performRequest()};function Np(s){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(s).forEach(function(i){var n=i+":",a=t[n]=s[i],r=e[i]=Object.create(a);function c(l,p,u){return Cv(l)?l=Da(l):at(l)?l=Da(qa(l)):(u=p,p=Bp(l),l={protocol:n}),rt(p)&&(u=p,p=null),p=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,p),p.nativeProtocols=t,!at(p.host)&&!at(p.hostname)&&(p.hostname="::1"),Ia.equal(p.protocol,n,"protocol mismatch"),Dp("options",p),new J(p,u)}function o(l,p,u){var d=r.request(l,p,u);return d.end(),d}Object.defineProperties(r,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),e}function Ip(){}function qa(s){var e;if(Ba)e=new ps(s);else if(e=Bp(us.parse(s)),!at(e.protocol))throw new Pa({input:s});return e}function _v(s,e){return Ba?new ps(s,e):qa(us.resolve(e,s))}function Bp(s){if(/^\[/.test(s.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(s.hostname))throw new Pa({input:s.href||s});if(/^\[/.test(s.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(s.host))throw new Pa({input:s.href||s});return s}function Da(s,e){var t=e||{};for(var i of vv)t[i]=s[i];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function Aa(s,e){var t;for(var i in e)s.test(i)&&(t=e[i],delete e[i]);return t===null||typeof t>"u"?void 0:String(t).trim()}function ds(s,e,t){function i(n){rt(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,n||{}),this.code=s,this.message=this.cause?e+": "+this.cause.message:e}return i.prototype=new(t||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+s+"]",enumerable:!1}}),i}function Fa(s,e){for(var t of La)s.removeListener(t,Ma[t]);s.on("error",Ip),s.destroy(e)}function Sv(s,e){Ia(at(s)&&at(e));var t=s.length-e.length-1;return t>0&&s[t]==="."&&s.endsWith(e)}function at(s){return typeof s=="string"||s instanceof String}function rt(s){return typeof s=="function"}function Ev(s){return typeof s=="object"&&"length"in s}function Cv(s){return ps&&s instanceof ps}Ua.exports=Np({http:hv,https:xv});Ua.exports.wrap=Np});var qp=x((Ub,Mp)=>{var kv=require("http"),Tv=require("https"),fs=Ap(),Ai=Ri(),Ov=Lp();fs=Object.keys(fs).map(function(s){return fs[s]});var Rv={http:kv,https:Tv};Mp.exports={deleteLength:function(e,t,i){(e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&(e.headers["content-length"]="0",delete e.headers["transfer-encoding"])},timeout:function(e,t,i){i.timeout&&e.socket.setTimeout(i.timeout)},XHeaders:function(e,t,i){if(i.xfwd){var n=e.isSpdy||Ai.hasEncryptedConnection(e),a={for:e.connection.remoteAddress||e.socket.remoteAddress,port:Ai.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(r){e.headers["x-forwarded-"+r]=(e.headers["x-forwarded-"+r]||"")+(e.headers["x-forwarded-"+r]?",":"")+a[r]}),e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers.host||""}},stream:function(e,t,i,n,a,r){a.emit("start",e,t,i.target||i.forward);var c=i.followRedirects?Ov:Rv,o=c.http,l=c.https;if(i.forward){var p=(i.forward.protocol==="https:"?l:o).request(Ai.setupOutgoing(i.ssl||{},i,e,"forward")),u=m(p,i.forward);if(e.on("error",u),p.on("error",u),(i.buffer||e).pipe(p),!i.target)return t.end()}var d=(i.target.protocol==="https:"?l:o).request(Ai.setupOutgoing(i.ssl||{},i,e));d.on("socket",function(f){a&&!d.getHeader("expect")&&a.emit("proxyReq",d,e,t,i)}),i.proxyTimeout&&d.setTimeout(i.proxyTimeout,function(){d.abort()}),e.on("aborted",function(){d.abort()});var h=m(d,i.target);e.on("error",h),d.on("error",h);function m(f,v){return function(g){if(e.socket.destroyed&&g.code==="ECONNRESET")return a.emit("econnreset",g,e,t,v),f.abort();r?r(g,e,t,v):a.emit("error",g,e,t,v)}}(i.buffer||e).pipe(d),d.on("response",function(f){if(a&&a.emit("proxyRes",f,e,t),!t.headersSent&&!i.selfHandleResponse)for(var v=0;v<fs.length&&!fs[v](e,t,f,i);v++);t.finished?a&&a.emit("end",e,t,f):(f.on("end",function(){a&&a.emit("end",e,t,f)}),i.selfHandleResponse||f.pipe(t))})}}});var Up=x((Hb,Fp)=>{var Av=require("http"),Pv=require("https"),Ut=Ri();Fp.exports={checkMethodAndHeader:function(e,t){if(e.method!=="GET"||!e.headers.upgrade||e.headers.upgrade.toLowerCase()!=="websocket")return t.destroy(),!0},XHeaders:function(e,t,i){if(i.xfwd){var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:Ut.getPort(e),proto:Ut.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(a){e.headers["x-forwarded-"+a]=(e.headers["x-forwarded-"+a]||"")+(e.headers["x-forwarded-"+a]?",":"")+n[a]})}},stream:function(e,t,i,n,a,r){var c=function(p,u){return Object.keys(u).reduce(function(d,h){var m=u[h];if(!Array.isArray(m))return d.push(h+": "+m),d;for(var f=0;f<m.length;f++)d.push(h+": "+m[f]);return d},[p]).join(`\r
18
+ `+i)}s.destroy()}var Zt=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];function oh(s){if(s+="",s.length<1)return!1;if(!Zt[s.charCodeAt(0)])return w('invalid header, index 0, char "%s"',s.charCodeAt(0)),!0;if(s.length<2)return!1;if(!Zt[s.charCodeAt(1)])return w('invalid header, index 1, char "%s"',s.charCodeAt(1)),!0;if(s.length<3)return!1;if(!Zt[s.charCodeAt(2)])return w('invalid header, index 2, char "%s"',s.charCodeAt(2)),!0;if(s.length<4)return!1;if(!Zt[s.charCodeAt(3)])return w('invalid header, index 3, char "%s"',s.charCodeAt(3)),!0;for(let e=4;e<s.length;++e)if(!Zt[s.charCodeAt(e)])return w('invalid header, index "%i", char "%s"',e,s.charCodeAt(e)),!0;return!1}});var Rc=x(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});Js.Polling=void 0;var ch=Ye(),Oc=require("zlib"),lh=gs(),ph=j(),re=(0,ph.default)("engine:polling"),uh={gzip:Oc.createGzip,deflate:Oc.createDeflate},Ln=class extends ch.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.getMethod()==="get"?this.onPollRequest(e,t):e.getMethod()==="post"?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req){re("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}re("setting request"),this.req=e,this.res=t;let i=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},n=()=>{this.req=this.res=null};e.cleanup=n,t.onAborted(i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(re("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}let i=Number(e.headers["content-length"]);if(!i){this.onError("content-length header required"),t.writeStatus("411 Length Required").end();return}if(i>this.maxHttpBufferSize){this.onError("payload too large"),t.writeStatus("413 Payload Too Large").end();return}if(e.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let a,r=0,c={"Content-Type":"text/html"};this.headers(e,c);for(let l in c)t.writeHeader(l,String(c[l]));let o=l=>{this.onData(l.toString()),this.onDataRequestCleanup(),t.cork(()=>{t.end("ok")})};t.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),t.onData((l,p)=>{let u=r+l.byteLength;if(u>i){this.onError("content-length mismatch"),t.close();return}if(!a){if(p){o(Buffer.from(l));return}a=Buffer.allocUnsafe(i)}if(Buffer.from(l).copy(a,r),p){if(u!=i){this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}o(a);return}r=u})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){re('received "%s"',e);let t=i=>{if(i.type==="close")return re("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(re("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){re('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},c=p=>{this.headers(this.req,r),this.res.cork(()=>{Object.keys(r).forEach(u=>{this.res.writeHeader(u,String(r[u]))}),this.res.end(p)}),i()};if(!this.httpCompression||!t.compress){c(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){c(e);return}let l=lh(this.req).encodings(["gzip","deflate"]);if(!l){c(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),i(p);return}r["Content-Encoding"]=l,c(u)})}compress(e,t,i){re("compressing");let n=[],a=0;uh[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){re("closing");let t,i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(re("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(re("transport discarded - closing right away"),i()):(re("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t){t=t||{};let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Js.Polling=Ln});var Pc=x(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});Qs.WebSocket=void 0;var dh=Ye(),fh=j(),Ac=(0,fh.default)("engine:ws"),Mn=class extends dh.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length,a=r=>{let c=typeof r!="string",o=this.perMessageDeflate&&Buffer.byteLength(r)>this.perMessageDeflate.threshold;Ac('writing "%s"',r),this.socket.send(r,c,o),n&&(this.emit("drain"),this.writable=!0,this.emit("ready"))};i.options&&typeof i.options.wsPreEncoded=="string"?a(i.options.wsPreEncoded):this.parser.encodePacket(i,this.supportsBinary,a)}}doClose(e){Ac("closing"),e&&e(),this.socket.end()}};Qs.WebSocket=Mn});var jc=x(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});var mh=Rc(),hh=Pc();qn.default={polling:mh.Polling,websocket:hh.WebSocket}});var Dc=x(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});Zs.uServer=void 0;var xh=j(),tt=Bn(),vh=jc(),Fe=(0,xh.default)("engine:uws"),Fn=class extends tt.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();let i=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(i.entries()),e.headers={},e.forEach((n,a)=>{e.headers[n]=a}),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted(()=>{Fe("response has been aborted")})}createTransport(e,t){return new vh.default[e](t)}attach(e,t={}){let i=this._computePath(t);e.any(i,this.handleRequest.bind(this)).ws(i,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:n=>{let a=n.getUserData().transport;a.socket=n,a.writable=!0,a.emit("ready")},message:(n,a,r)=>{n.getUserData().transport.onData(r?a:Buffer.from(a).toString())},close:(n,a,r)=>{n.getUserData().transport.onClose(a,r)}})}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return i();e.res=new Un(t),super._applyMiddlewares(e,e.res,n=>{e.res.writeHead(),i(n)})}handleRequest(e,t){Fe('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:t,code:n,message:tt.Server.errorMessages[n],context:a}),this.abortRequest(t.res,n,a);return}if(t._query.sid)Fe("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{let r=(c,o)=>this.abortRequest(e,c,o);this.handshake(t._query.transport,t,r)}};this._applyMiddlewares(t,e,n=>{n?i(tt.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,i)})}handleUpgrade(e,t,i){Fe("on upgrade"),this.prepare(t,e),t.res=e;let n=async(a,r)=>{if(a!==void 0){this.emit("connection_error",{req:t,code:a,message:tt.Server.errorMessages[a],context:r}),this.abortRequest(e,a,r);return}let c=t._query.sid,o;if(c){let l=this.clients[c];if(l){if(l.upgrading)return Fe("transport has already been trying to upgrade"),e.close();if(l.upgraded)return Fe("transport had already been upgraded"),e.close();Fe("upgrading existing transport"),o=this.createTransport(t._query.transport,t),l._maybeUpgrade(o)}else return Fe("upgrade attempt for closed client"),e.close()}else if(o=await this.handshake(t._query.transport,t,(l,p)=>this.abortRequest(e,l,p)),!o)return;t.res.writeStatus("101 Switching Protocols"),e.upgrade({transport:o},t.getHeader("sec-websocket-key"),t.getHeader("sec-websocket-protocol"),t.getHeader("sec-websocket-extensions"),i)};this._applyMiddlewares(t,e,a=>{a?n(tt.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,n)})}abortRequest(e,t,i){let n=t===tt.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=i&&i.message?i.message:tt.Server.errorMessages[t];e.writeStatus(n),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:a}))}};Zs.uServer=Fn;var Un=class{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(e===200?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach(i=>{this.writeHeader(e,i)}):this.writeHeader(e,t)}removeHeader(){}getHeader(){}writeStatus(e){if(!this.isAborted)return this.res.writeStatus(e),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(e,t){this.isAborted||e!=="Content-Length"&&(this.statusWritten?this.res.writeHeader(e,t):this.headers.push([e,t]))}writeBufferedHeaders(){this.headers.forEach(([e,t])=>{this.res.writeHeader(e,t)})}end(e){this.isAborted||this.res.cork(()=>{this.statusWritten||this.writeBufferedHeaders(),this.res.end(e)})}onData(e){this.isAborted||this.res.onData(e)}onAborted(e){this.isAborted||this.res.onAborted(()=>{this.isAborted=!0,e()})}cork(e){this.isAborted||this.res.cork(e)}}});var Lc=x(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.protocol=M.Transport=M.Socket=M.uServer=M.parser=M.transports=M.Server=void 0;M.listen=Sh;M.attach=Bc;var gh=require("http"),Nc=Bn();Object.defineProperty(M,"Server",{enumerable:!0,get:function(){return Nc.Server}});var bh=on();M.transports=bh.default;var Ic=Wt();M.parser=Ic;var yh=Dc();Object.defineProperty(M,"uServer",{enumerable:!0,get:function(){return yh.uServer}});var wh=ln();Object.defineProperty(M,"Socket",{enumerable:!0,get:function(){return wh.Socket}});var _h=Ye();Object.defineProperty(M,"Transport",{enumerable:!0,get:function(){return _h.Transport}});M.protocol=Ic.protocol;function Sh(s,e,t){typeof e=="function"&&(t=e,e={});let i=(0,gh.createServer)(function(a,r){r.writeHead(501),r.end("Not Implemented")}),n=Bc(i,e);return n.httpServer=i,i.listen(s,t),n}function Bc(s,e){let t=new Nc.Server(e);return t.attach(s,e),t}});var qc=x(Mc=>{Mc.Emitter=z;function z(s){if(s)return Eh(s)}function Eh(s){for(var e in z.prototype)s[e]=z.prototype[e];return s}z.prototype.on=z.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};z.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};z.prototype.off=z.prototype.removeListener=z.prototype.removeAllListeners=z.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var i,n=0;n<t.length;n++)if(i=t[n],i===e||i.fn===e){t.splice(n,1);break}return t.length===0&&delete this._callbacks["$"+s],this};z.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){t=t.slice(0);for(var i=0,n=t.length;i<n;++i)t[i].apply(this,e)}return this};z.prototype.emitReserved=z.prototype.emit;z.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]};z.prototype.hasListeners=function(s){return!!this.listeners(s).length}});var Hn=x(ti=>{"use strict";Object.defineProperty(ti,"__esModule",{value:!0});ti.isBinary=Uc;ti.hasBinary=ei;var Ch=typeof ArrayBuffer=="function",kh=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,Fc=Object.prototype.toString,Th=typeof Blob=="function"||typeof Blob<"u"&&Fc.call(Blob)==="[object BlobConstructor]",Oh=typeof File=="function"||typeof File<"u"&&Fc.call(File)==="[object FileConstructor]";function Uc(s){return Ch&&(s instanceof ArrayBuffer||kh(s))||Th&&s instanceof Blob||Oh&&s instanceof File}function ei(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(ei(s[t]))return!0;return!1}if(Uc(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return ei(s.toJSON(),!0);for(let t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&ei(s[t]))return!0;return!1}});var Hc=x(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.deconstructPacket=Ah;si.reconstructPacket=Ph;var Rh=Hn();function Ah(s){let e=[],t=s.data,i=s;return i.data=zn(t,e),i.attachments=e.length,{packet:i,buffers:e}}function zn(s,e){if(!s)return s;if((0,Rh.isBinary)(s)){let t={_placeholder:!0,num:e.length};return e.push(s),t}else if(Array.isArray(s)){let t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=zn(s[i],e);return t}else if(typeof s=="object"&&!(s instanceof Date)){let t={};for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=zn(s[i],e));return t}return s}function Ph(s,e){return s.data=Wn(s.data,e),delete s.attachments,s}function Wn(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}else if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=Wn(s[t],e);else if(typeof s=="object")for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=Wn(s[t],e));return s}});var es=x(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.Decoder=ue.Encoder=ue.PacketType=ue.protocol=void 0;ue.isPacketValid=Mh;var jh=qc(),zc=Hc(),Wc=Hn(),Dh=j(),$n=(0,Dh.default)("socket.io-parser"),$c=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];ue.protocol=5;var E;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(E||(ue.PacketType=E={}));var Vn=class{constructor(e){this.replacer=e}encode(e){return $n("encoding packet %j",e),(e.type===E.EVENT||e.type===E.ACK)&&(0,Wc.hasBinary)(e)?this.encodeAsBinary({type:e.type===E.EVENT?E.BINARY_EVENT:E.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===E.BINARY_EVENT||e.type===E.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),$n("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,zc.deconstructPacket)(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}};ue.Encoder=Vn;var Gn=class s extends jh.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let i=t.type===E.BINARY_EVENT;i||t.type===E.BINARY_ACK?(t.type=i?E.EVENT:E.ACK,this.reconstructor=new Kn(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Wc.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,i={type:Number(e.charAt(0))};if(E[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===E.BINARY_EVENT||i.type===E.BINARY_ACK){let a=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let r=e.substring(a,t);if(r!=Number(r)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(r)}if(e.charAt(t+1)==="/"){let a=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););i.nsp=e.substring(a,t)}else i.nsp="/";let n=e.charAt(t+1);if(n!==""&&Number(n)==n){let a=t+1;for(;++t;){let r=e.charAt(t);if(r==null||Number(r)!=r){--t;break}if(t===e.length)break}i.id=Number(e.substring(a,t+1))}if(e.charAt(++t)){let a=this.tryParse(e.substr(t));if(s.isPayloadValid(i.type,a))i.data=a;else throw new Error("invalid payload")}return $n("decoded %s as %j",e,i),i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case E.CONNECT:return ii(t);case E.DISCONNECT:return t===void 0;case E.CONNECT_ERROR:return typeof t=="string"||ii(t);case E.EVENT:case E.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&$c.indexOf(t[0])===-1);case E.ACK:case E.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};ue.Decoder=Gn;var Kn=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,zc.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function Nh(s){return typeof s=="string"}var Ih=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s};function Bh(s){return s===void 0||Ih(s)}function ii(s){return Object.prototype.toString.call(s)==="[object Object]"}function Lh(s,e){switch(s){case E.CONNECT:return e===void 0||ii(e);case E.DISCONNECT:return e===void 0;case E.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&$c.indexOf(e[0])===-1);case E.ACK:return Array.isArray(e);case E.CONNECT_ERROR:return typeof e=="string"||ii(e);default:return!1}}function Mh(s){return Nh(s.nsp)&&Bh(s.id)&&Lh(s.type,s.data)}});var Vc=x(Ct=>{"use strict";var qh=Ct&&Ct.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ct,"__esModule",{value:!0});Ct.Client=void 0;var ni=es(),Fh=qh(j()),de=(0,Fh.default)("socket.io:client"),Yn=class{constructor(e,t){this.sockets=new Map,this.nsps=new Map,this.server=e,this.conn=t,this.encoder=e.encoder,this.decoder=new e._parser.Decoder,this.id=t.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout(()=>{this.nsps.size===0?(de("no namespace joined yet, close the client"),this.close()):de("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return de("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,i=>{i?this.doConnect(e,t):(de("creation of namespace %s was denied",e),this._packet({type:ni.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))})}doConnect(e,t){let i=this.server.of(e);i._add(this,t,n=>{this.sockets.set(n.id,n),this.nsps.set(i.name,n),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)})}_disconnect(){for(let e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){let t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else de("ignoring remove for %s",e.id)}close(){this.conn.readyState==="open"&&(de("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if(this.conn.readyState!=="open"){de("ignoring packet write %j",e);return}let i=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(i,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable){de("volatile packet is discarded since the transport is not currently writable");return}let i=Array.isArray(e)?e:[e];for(let n of i)this.conn.write(n,t)}ondata(e){try{this.decoder.add(e)}catch(t){de("invalid packet format"),this.onerror(t)}}ondecoded(e){let{namespace:t,authPayload:i}=this._parseNamespace(e),n=this.nsps.get(t);!n&&e.type===ni.PacketType.CONNECT?this.connect(t,i):n&&e.type!==ni.PacketType.CONNECT&&e.type!==ni.PacketType.CONNECT_ERROR?process.nextTick(function(){n._onpacket(e)}):(de("invalid state (packet type: %s)",e.type),this.close())}_parseNamespace(e){if(this.conn.protocol!==3)return{namespace:e.nsp,authPayload:e.data};let t=new URL(e.nsp,"https://socket.io");return{namespace:t.pathname,authPayload:Object.fromEntries(t.searchParams.entries())}}onerror(e){for(let t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){de("client close with reason %s",e),this.destroy();for(let i of this.sockets.values())i._onclose(e,t);this.sockets.clear(),this.decoder.destroy()}destroy(){this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)}};Ct.Client=Yn});var ri=x(ai=>{"use strict";Object.defineProperty(ai,"__esModule",{value:!0});ai.StrictEventEmitter=void 0;var Uh=require("events"),Xn=class extends Uh.EventEmitter{on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}emitReserved(e,...t){return super.emit(e,...t)}emitUntyped(e,...t){return super.emit(e,...t)}listeners(e){return super.listeners(e)}};ai.StrictEventEmitter=Xn});var Jn=x(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.RESERVED_EVENTS=void 0;oi.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Qn=x(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.RemoteSocket=kt.BroadcastOperator=void 0;var Hh=Jn(),zh=es(),ci=class s{constructor(e,t=new Set,i=new Set,n={}){this.adapter=e,this.rooms=t,this.exceptRooms=i,this.flags=n}to(e){let t=new Set(this.rooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){let t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,this.rooms,t,this.flags)}compress(e){let t=Object.assign({},this.flags,{compress:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){let e=Object.assign({},this.flags,{volatile:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}get local(){let e=Object.assign({},this.flags,{local:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){let t=Object.assign({},this.flags,{timeout:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(Hh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:zh.PacketType.EVENT,data:i};if(!(typeof i[i.length-1]=="function"))return this.adapter.broadcast(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let r=i.pop(),c=!1,o=[],l=setTimeout(()=>{c=!0,r.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:o])},this.flags.timeout),p=-1,u=0,d=0,h=()=>{!c&&p===u&&o.length===d&&(clearTimeout(l),r.apply(this,[null,this.flags.expectSingleResponse?o[0]:o]))};return this.adapter.broadcastWithAck(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},m=>{d+=m,u++,h()},m=>{o.push(m),h()}),this.adapter.serverCount().then(m=>{p=m,h()}),!0}emitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.emit(e,...t)})}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then(e=>e.map(t=>t.server?t:new li(this.adapter,t)))}socketsJoin(e){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}socketsLeave(e){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}disconnectSockets(e=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},e)}};kt.BroadcastOperator=ci;var li=class{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new ci(e,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(e){return this.operator.timeout(e)}emit(e,...t){return this.operator.emit(e,...t)}join(e){return this.operator.socketsJoin(e)}leave(e){return this.operator.socketsLeave(e)}disconnect(e=!1){return this.operator.disconnectSockets(e),this}};kt.RemoteSocket=li});var ea=x(Tt=>{"use strict";var Yc=Tt&&Tt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.Socket=void 0;var oe=es(),Wh=Yc(j()),$h=ri(),Gc=Yc(Fi()),Vh=Qn(),Gh=Jn(),F=(0,Wh.default)("socket.io:socket"),Kh=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function Kc(){}var Zn=class extends $h.StrictEventEmitter{constructor(e,t,i,n){super(),this.nsp=e,this.client=t,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=e.server,this.adapter=e.adapter,n?(this.id=n.sid,this.pid=n.pid,n.rooms.forEach(a=>this.join(a)),this.data=n.data,n.missedPackets.forEach(a=>{this.packet({type:oe.PacketType.EVENT,data:a})}),this.recovered=!0):(t.conn.protocol===3?this.id=e.name!=="/"?e.name+"#"+t.id:t.id:this.id=Gc.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=Gc.default.generateId())),this.handshake=this.buildHandshake(i),this.on("error",Kc)}buildHandshake(e){var t,i,n,a;return{headers:((t=this.request)===null||t===void 0?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(!((i=this.request)===null||i===void 0)&&i.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(n=this.request)===null||n===void 0?void 0:n.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:e}}emit(e,...t){if(Gh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:oe.PacketType.EVENT,data:i};if(typeof i[i.length-1]=="function"){let r=this.nsp._ids++;F("emitting packet with ack id %d",r),this.registerAckCallback(r,i.pop()),n.id=r}let a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(n,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(n),this.packet(n,a)),!0}emitWithAck(e,...t){let i=this.flags.timeout!==void 0;return new Promise((n,a)=>{t.push((r,c)=>i?r?a(r):n(c):n(r)),this.emit(e,...t)})}registerAckCallback(e,t){let i=this.flags.timeout;if(i===void 0){this.acks.set(e,t);return}let n=setTimeout(()=>{F("event with ack id %d has timed out after %d ms",e,i),this.acks.delete(e),t.call(this,new Error("operation has timed out"))},i);this.acks.set(e,(...a)=>{clearTimeout(n),t.apply(this,[null,...a])})}to(e){return this.newBroadcastOperator().to(e)}in(e){return this.newBroadcastOperator().in(e)}except(e){return this.newBroadcastOperator().except(e)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}packet(e,t={}){e.nsp=this.nsp.name,t.compress=t.compress!==!1,this.client._packet(e,t)}join(e){return F("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return F("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){F("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3?this.packet({type:oe.PacketType.CONNECT}):this.packet({type:oe.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(F("got packet %j",e),e.type){case oe.PacketType.EVENT:this.onevent(e);break;case oe.PacketType.BINARY_EVENT:this.onevent(e);break;case oe.PacketType.ACK:this.onack(e);break;case oe.PacketType.BINARY_ACK:this.onack(e);break;case oe.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(e){let t=e.data||[];if(F("emitting event %j",t),e.id!=null&&(F("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){let i=this._anyListeners.slice();for(let n of i)n.apply(this,t)}this.dispatch(t)}ack(e){let t=this,i=!1;return function(){if(i)return;let n=Array.prototype.slice.call(arguments);F("sending ack %j",n),t.packet({id:e,type:oe.PacketType.ACK,data:n}),i=!0}}onack(e){let t=this.acks.get(e.id);typeof t=="function"?(F("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):F("bad ack %s",e.id)}ondisconnect(){F("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;F("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&Kh.has(e)&&(F("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data})),this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",e,t)}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=Kc}_error(e){this.packet({type:oe.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:oe.PacketType.DISCONNECT}),this._onclose("server namespace disconnect")),this):this}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(e){return this.flags.timeout=e,this}dispatch(e){F("dispatching an event %j",e),this.run(e,t=>{process.nextTick(()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):F("ignore packet received after disconnection")})})}use(e){return this.fns.push(e),this}run(e,t){if(!this.fns.length)return t();let i=this.fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let i of t)i.apply(this,e.data)}}newBroadcastOperator(){let e=Object.assign({},this.flags);return this.flags={},new Vh.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}};Tt.Socket=Zn});var sa=x(Oe=>{"use strict";var Yh=Oe&&Oe.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.Namespace=Oe.RESERVED_EVENTS=void 0;var Xc=ea(),Xh=ri(),Jh=Yh(j()),se=Qn(),Ot=(0,Jh.default)("socket.io:namespace");Oe.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var ta=class extends Xh.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this),Promise.resolve(this.adapter.init()).catch(e=>{Ot("error while initializing adapter: %s",e)})}use(e){return this._fns.push(e),this}run(e,t){if(!this._fns.length)return t();let i=this._fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}to(e){return new se.BroadcastOperator(this.adapter).to(e)}in(e){return new se.BroadcastOperator(this.adapter).in(e)}except(e){return new se.BroadcastOperator(this.adapter).except(e)}async _add(e,t,i){var n;Ot("adding socket to nsp %s",this.name);let a=await this._createSocket(e,t);if(this._preConnectSockets.set(a.id,a),!((n=this.server.opts.connectionStateRecovery)===null||n===void 0)&&n.skipMiddlewares&&a.recovered&&e.conn.readyState==="open")return this._doConnect(a,i);this.run(a,r=>{process.nextTick(()=>{if(e.conn.readyState!=="open"){Ot("next called after client was closed - ignoring socket"),a._cleanup();return}if(r)return Ot("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),e.conn.protocol===3?a._error(r.data||r.message):a._error({message:r.message,data:r.data});this._doConnect(a,i)})})}async _createSocket(e,t){let i=t.pid,n=t.offset;if(this.server.opts.connectionStateRecovery&&typeof i=="string"&&typeof n=="string"){let a;try{a=await this.adapter.restoreSession(i,n)}catch(r){Ot("error while restoring session: %s",r)}if(a)return Ot("connection state recovered for sid %s",a.sid),new Xc.Socket(this,e,t,a)}return new Xc.Socket(this,e,t)}_doConnect(e,t){this._preConnectSockets.delete(e.id),this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.delete(e.id)||this._preConnectSockets.delete(e.id)}emit(e,...t){return new se.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...t){if(Oe.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return t.unshift(e),this.adapter.serverSideEmit(t),!0}serverSideEmitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.serverSideEmit(e,...t)})}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new se.BroadcastOperator(this.adapter).allSockets()}compress(e){return new se.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new se.BroadcastOperator(this.adapter).volatile}get local(){return new se.BroadcastOperator(this.adapter).local}timeout(e){return new se.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new se.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new se.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new se.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new se.BroadcastOperator(this.adapter).disconnectSockets(e)}};Oe.Namespace=ta});var tl=x(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});ts.encode=ia;ts.decode=Qh;ts.yeast=Zh;var Zc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),pi=64,el={},Jc=0,Ue=0,Qc;function ia(s){let e="";do e=Zc[s%pi]+e,s=Math.floor(s/pi);while(s>0);return e}function Qh(s){let e=0;for(Ue=0;Ue<s.length;Ue++)e=e*pi+el[s.charAt(Ue)];return e}function Zh(){let s=ia(+new Date);return s!==Qc?(Jc=0,Qc=s):s+"."+ia(Jc++)}for(;Ue<pi;Ue++)el[Zc[Ue]]=Ue});var ra=x(Rt=>{"use strict";var na;Object.defineProperty(Rt,"__esModule",{value:!0});Rt.SessionAwareAdapter=Rt.Adapter=void 0;var ex=require("events"),tx=tl(),ui=jn(),sx=typeof((na=ui?.Sender)===null||na===void 0?void 0:na.frame)=="function",di=class extends ex.EventEmitter{constructor(e){super(),this.nsp=e,this.rooms=new Map,this.sids=new Map,this.encoder=e.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(e,t){this.sids.has(e)||this.sids.set(e,new Set);for(let i of t)this.sids.get(e).add(i),this.rooms.has(i)||(this.rooms.set(i,new Set),this.emit("create-room",i)),this.rooms.get(i).has(e)||(this.rooms.get(i).add(e),this.emit("join-room",i,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){let i=this.rooms.get(e);i!=null&&(i.delete(t)&&this.emit("leave-room",e,t),i.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){let i=t.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let a=this._encode(e,n);this.apply(t,r=>{typeof r.notifyOutgoingListeners=="function"&&r.notifyOutgoingListeners(e),r.client.writeToEngine(a,n)})}broadcastWithAck(e,t,i,n){let a=t.flags||{},r={preEncoded:!0,volatile:a.volatile,compress:a.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let c=this._encode(e,r),o=0;this.apply(t,l=>{o++,l.acks.set(e.id,n),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(c,r)}),i(o)}_encode(e,t){let i=this.encoder.encode(e);if(sx&&i.length===1&&typeof i[0]=="string"){let n=Buffer.from("4"+i[0]);t.wsPreEncodedFrame=ui.Sender.frame(n,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return i}sockets(e){let t=new Set;return this.apply({rooms:e},i=>{t.add(i.id)}),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let t=[];return this.apply(e,i=>{t.push(i)}),Promise.resolve(t)}addSockets(e,t){this.apply(e,i=>{i.join(t)})}delSockets(e,t){this.apply(e,i=>{t.forEach(n=>i.leave(n))})}disconnectSockets(e,t){this.apply(e,i=>{i.disconnect(t)})}apply(e,t){let i=e.rooms,n=this.computeExceptSids(e.except);if(i.size){let a=new Set;for(let r of i)if(this.rooms.has(r))for(let c of this.rooms.get(r)){if(a.has(c)||n.has(c))continue;let o=this.nsp.sockets.get(c);o&&(t(o),a.add(c))}}else for(let[a]of this.sids){if(n.has(a))continue;let r=this.nsp.sockets.get(a);r&&t(r)}}computeExceptSids(e){let t=new Set;if(e&&e.size>0)for(let i of e)this.rooms.has(i)&&this.rooms.get(i).forEach(n=>t.add(n));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}};Rt.Adapter=di;var aa=class extends di{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let i=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((n,a)=>{n.disconnectedAt<i&&this.sessions.delete(a)});for(let n=this.packets.length-1;n>=0;n--)if(this.packets[n].emittedAt<i){this.packets.splice(0,n+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){let i=this.sessions.get(e);if(!i)return null;if(i.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let a=this.packets.findIndex(c=>c.id===t);if(a===-1)return null;let r=[];for(let c=a+1;c<this.packets.length;c++){let o=this.packets[c];ix(i.rooms,o.opts)&&r.push(o.data)}return Promise.resolve(Object.assign(Object.assign({},i),{missedPackets:r}))}broadcast(e,t){var i;let n=e.type===2,a=e.id===void 0,r=((i=t.flags)===null||i===void 0?void 0:i.volatile)===void 0;if(n&&a&&r){let c=(0,tx.yeast)();e.data.push(c),this.packets.push({id:c,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}};Rt.SessionAwareAdapter=aa;function ix(s,e){let t=e.rooms.size===0||s.some(n=>e.rooms.has(n)),i=s.every(n=>!e.except.has(n));return t&&i}});var sl=x(ge=>{"use strict";var nx=ge&&ge.__rest||function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};Object.defineProperty(ge,"__esModule",{value:!0});ge.ClusterAdapterWithHeartbeat=ge.ClusterAdapter=ge.MessageType=void 0;var ax=ra(),rx=j(),ox=require("crypto"),O=(0,rx.debug)("socket.io-adapter"),cx="emitter",fi=5e3;function Pt(){return(0,ox.randomBytes)(8).toString("hex")}var b;(function(s){s[s.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",s[s.HEARTBEAT=2]="HEARTBEAT",s[s.BROADCAST=3]="BROADCAST",s[s.SOCKETS_JOIN=4]="SOCKETS_JOIN",s[s.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",s[s.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",s[s.FETCH_SOCKETS=7]="FETCH_SOCKETS",s[s.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",s[s.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",s[s.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",s[s.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",s[s.BROADCAST_ACK=12]="BROADCAST_ACK",s[s.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(b||(ge.MessageType=b={}));function st(s){return{rooms:[...s.rooms],except:[...s.except],flags:s.flags}}function At(s){return{rooms:new Set(s.rooms),except:new Set(s.except),flags:s.flags}}var mi=class extends ax.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=Pt()}onMessage(e,t){if(e.uid===this.uid)return O("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return O("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(O("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case b.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,At(e.data.opts),n=>{O("[%s] waiting for %d client acknowledgements",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:n}})},n=>{O("[%s] received acknowledgement with value %j",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:n}})});else{let n=e.data.packet,a=At(e.data.opts);this.addOffsetIfNecessary(n,a,t),super.broadcast(n,a)}break}case b.SOCKETS_JOIN:super.addSockets(At(e.data.opts),e.data.rooms);break;case b.SOCKETS_LEAVE:super.delSockets(At(e.data.opts),e.data.rooms);break;case b.DISCONNECT_SOCKETS:super.disconnectSockets(At(e.data.opts),e.data.close);break;case b.FETCH_SOCKETS:{O("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(At(e.data.opts)).then(i=>{this.publishResponse(e.uid,{type:b.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:i.map(n=>{let a=n.handshake,{sessionStore:r}=a,c=nx(a,["sessionStore"]);return{id:n.id,handshake:c,rooms:[...n.rooms],data:n.data}})}})});break}case b.SERVER_SIDE_EMIT:{let i=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(i);return}let a=!1,r=c=>{a||(a=!0,O("[%s] calling acknowledgement with %j",this.uid,c),this.publishResponse(e.uid,{type:b.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:c}}))};this.nsp._onServerSideEmit([...i,r]);break}case b.BROADCAST_CLIENT_COUNT:case b.BROADCAST_ACK:case b.FETCH_SOCKETS_RESPONSE:case b.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:O("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var t,i;let n=e.data.requestId;switch(O("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case b.BROADCAST_CLIENT_COUNT:{(t=this.ackRequests.get(n))===null||t===void 0||t.clientCountCallback(e.data.clientCount);break}case b.BROADCAST_ACK:{(i=this.ackRequests.get(n))===null||i===void 0||i.ack(e.data.packet);break}case b.FETCH_SOCKETS_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,e.data.sockets.forEach(r=>a.responses.push(r)),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(n));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,a.responses.push(e.data.packet),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(n));break}default:O("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,t){var i;if(!((i=t.flags)===null||i===void 0?void 0:i.local))try{let a=await this.publishAndReturnOffset({type:b.BROADCAST,data:{packet:e,opts:st(t)}});this.addOffsetIfNecessary(e,t,a)}catch(a){return O("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(e,t)}addOffsetIfNecessary(e,t,i){var n;if(!this.nsp.server.opts.connectionStateRecovery)return;let a=e.type===2,r=e.id===void 0,c=((n=t.flags)===null||n===void 0?void 0:n.volatile)===void 0;a&&r&&c&&e.data.push(i)}broadcastWithAck(e,t,i,n){var a;if(!((a=t?.flags)===null||a===void 0?void 0:a.local)){let c=Pt();this.ackRequests.set(c,{clientCountCallback:i,ack:n}),this.publish({type:b.BROADCAST,data:{packet:e,requestId:c,opts:st(t)}}),setTimeout(()=>{this.ackRequests.delete(c)},t.flags.timeout)}super.broadcastWithAck(e,t,i,n)}async addSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_JOIN,data:{opts:st(e),rooms:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(e,t)}async delSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_LEAVE,data:{opts:st(e),rooms:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(e,t)}async disconnectSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.DISCONNECT_SOCKETS,data:{opts:st(e),close:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(e,t)}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets(e),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=Pt();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.requests.get(r);u&&(o(new Error(`timeout reached: only ${u.current} responses received out of ${u.expected}`)),this.requests.delete(r))},e.flags.timeout||fi),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,current:0,expected:a,responses:i};this.requests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:st(e),requestId:r}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=await this.serverCount()-1;if(O('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=Pt(),r=setTimeout(()=>{let o=this.requests.get(a);o&&(i(new Error(`timeout reached: only ${o.current} responses received out of ${o.expected}`),o.responses),this.requests.delete(a))},fi),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,current:0,expected:n,responses:[]};this.requests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}publish(e){O("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(t=>{O("[%s] error while publishing message: %s",this.uid,t)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,t){t.uid=this.uid,t.nsp=this.nsp.name,O("[%s] sending response %s to %s",this.uid,t.type,e),this.doPublishResponse(e,t).catch(i=>{O("[%s] error while publishing response: %s",this.uid,i)})}};ge.ClusterAdapter=mi;var oa=class extends mi{constructor(e,t){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},t),this.cleanupTimer=setInterval(()=>{let i=Date.now();this.nodesMap.forEach((n,a)=>{i-n>this._opts.heartbeatTimeout&&(O("[%s] node %s seems down",this.uid,a),this.removeNode(a))})},1e3)}init(){this.publish({type:b.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:b.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:b.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,t){if(e.uid===this.uid)return O("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==cx&&this.nodesMap.set(e.uid,Date.now()),e.type){case b.INITIAL_HEARTBEAT:this.publish({type:b.HEARTBEAT});break;case b.HEARTBEAT:break;case b.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,t)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=this.nodesMap.size;if(O('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=Pt(),r=setTimeout(()=>{let o=this.customRequests.get(a);o&&(i(new Error(`timeout reached: missing ${o.missingUids.size} responses`),o.responses),this.customRequests.delete(a))},fi),c={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,c),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=Pt();return new Promise((c,o)=>{let l=setTimeout(()=>{let u=this.customRequests.get(r);u&&(o(new Error(`timeout reached: missing ${u.missingUids.size} responses`)),this.customRequests.delete(r))},e.flags.timeout||fi),p={type:b.FETCH_SOCKETS,resolve:c,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:i};this.customRequests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:st(e),requestId:r}})})}onResponse(e){let t=e.data.requestId;switch(O("[%s] received response %s to request %s",this.uid,e.type,t),e.type){case b.FETCH_SOCKETS_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;e.data.sockets.forEach(n=>i.responses.push(n)),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(i.responses),this.customRequests.delete(t));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;i.responses.push(e.data.packet),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(null,i.responses),this.customRequests.delete(t));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((t,i)=>{t.missingUids.delete(e),t.missingUids.size===0&&(clearTimeout(t.timeout),t.type===b.FETCH_SOCKETS?t.resolve(t.responses):t.type===b.SERVER_SIDE_EMIT&&t.resolve(null,t.responses),this.customRequests.delete(i))}),this.nodesMap.delete(e)}};ge.ClusterAdapterWithHeartbeat=oa});var hi=x(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.MessageType=ce.ClusterAdapterWithHeartbeat=ce.ClusterAdapter=ce.SessionAwareAdapter=ce.Adapter=void 0;var il=ra();Object.defineProperty(ce,"Adapter",{enumerable:!0,get:function(){return il.Adapter}});Object.defineProperty(ce,"SessionAwareAdapter",{enumerable:!0,get:function(){return il.SessionAwareAdapter}});var ca=sl();Object.defineProperty(ce,"ClusterAdapter",{enumerable:!0,get:function(){return ca.ClusterAdapter}});Object.defineProperty(ce,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return ca.ClusterAdapterWithHeartbeat}});Object.defineProperty(ce,"MessageType",{enumerable:!0,get:function(){return ca.MessageType}})});var rl=x(jt=>{"use strict";var lx=jt&&jt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(jt,"__esModule",{value:!0});jt.ParentNamespace=void 0;var nl=sa(),px=hi(),ux=lx(j()),al=(0,ux.default)("socket.io:parent-namespace"),xi=class s extends nl.Namespace{constructor(e){super(e,"/_"+s.count++),this.children=new Set}_initAdapter(){this.adapter=new la(this)}emit(e,...t){return this.children.forEach(i=>{i.emit(e,...t)}),!0}createChild(e){al("creating child namespace %s",e);let t=new nl.Namespace(this.server,e);if(this._fns.forEach(i=>t.use(i)),this.listeners("connect").forEach(i=>t.on("connect",i)),this.listeners("connection").forEach(i=>t.on("connection",i)),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){let i=t._remove;t._remove=n=>{i.call(t,n),t.sockets.size===0&&(al("closing child namespace %s",e),t.adapter.close(),this.server._nsps.delete(t.name),this.children.delete(t))}}return this.server._nsps.set(e,t),this.server.sockets.emitReserved("new_namespace",t),t}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};jt.ParentNamespace=xi;xi.count=0;var la=class extends px.Adapter{broadcast(e,t){this.nsp.children.forEach(i=>{i.adapter.broadcast(e,t)})}}});var dl=x(nt=>{"use strict";var dx=nt&&nt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(nt,"__esModule",{value:!0});nt.patchAdapter=mx;nt.restoreAdapter=hx;nt.serveFile=vx;var it=hi(),ol=require("fs"),fx=dx(j()),vi=(0,fx.default)("socket.io:adapter-uws"),pa="",{addAll:ll,del:pl,broadcast:ul}=it.Adapter.prototype;function mx(s){it.Adapter.prototype.addAll=function(e,t){let i=!this.sids.has(e);ll.call(this,e,t);let n=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(n){if(n.conn.transport.name==="websocket"){cl(this.nsp.name,n,i,t);return}i&&n.conn.on("upgrade",()=>{let a=this.sids.get(e);a&&cl(this.nsp.name,n,i,a)})}},it.Adapter.prototype.del=function(e,t){pl.call(this,e,t);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i&&i.conn.transport.name==="websocket"){let n=i.conn.id,a=i.conn.transport.socket,r=`${this.nsp.name}${pa}${t}`;vi("unsubscribe connection %s from topic %s",n,r),a.unsubscribe(r)}},it.Adapter.prototype.broadcast=function(e,t){if(!(t.rooms.size<=1&&t.except.size===0)){ul.call(this,e,t);return}let n=t.flags||{},a={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name;let r=this.encoder.encode(e),c=t.rooms.size===0?this.nsp.name:`${this.nsp.name}${pa}${t.rooms.keys().next().value}`;vi("fast publish to %s",c),r.forEach(o=>{let l=typeof o!="string";s.publish(c,l?o:"4"+o,l)}),this.apply(t,o=>{o.conn.transport.name!=="websocket"&&o.client.writeToEngine(r,a)})}}function cl(s,e,t,i){let n=e.conn.id,a=e.conn.transport.socket;t&&(vi("subscribe connection %s to topic %s",n,s),a.subscribe(s)),i.forEach(r=>{let c=`${s}${pa}${r}`;vi("subscribe connection %s to topic %s",n,c),a.subscribe(c)})}function hx(){it.Adapter.prototype.addAll=ll,it.Adapter.prototype.del=pl,it.Adapter.prototype.broadcast=ul}var xx=s=>{let{buffer:e,byteOffset:t,byteLength:i}=s;return e.slice(t,t+i)};function vx(s,e){let{size:t}=(0,ol.statSync)(e),i=(0,ol.createReadStream)(e),n=()=>!i.destroyed&&i.destroy(),a=c=>{throw n(),c},r=c=>{let o=xx(c);s.cork(()=>{let l=s.getWriteOffset(),[p,u]=s.tryEnd(o,t);!u&&!p&&(i.pause(),s.onWritable(d=>{let[h,m]=s.tryEnd(o.slice(d-l),t);return!m&&h&&i.resume(),h}))})};s.onAborted(n),i.on("data",r).on("error",a).on("end",n)}});var fl=x((lb,gx)=>{gx.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var wl=x((U,ss)=>{"use strict";var bx=U&&U.__createBinding||(Object.create?(function(s,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,i,n)}):(function(s,e,t,i){i===void 0&&(i=t),s[i]=e[t]})),yx=U&&U.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),wx=U&&U.__importStar||function(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var t in s)t!=="default"&&Object.prototype.hasOwnProperty.call(s,t)&&bx(e,s,t);return yx(e,s),e},fa=U&&U.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(U,"__esModule",{value:!0});U.Namespace=U.Socket=U.Server=void 0;var _x=fa(require("http")),Sx=require("fs"),ua=require("zlib"),Ex=gs(),gi=require("stream"),ml=require("path"),hl=Lc(),Cx=Vc(),xl=require("events"),ma=sa();Object.defineProperty(U,"Namespace",{enumerable:!0,get:function(){return ma.Namespace}});var kx=rl(),vl=hi(),Tx=wx(es()),Ox=fa(j()),yl=ea();Object.defineProperty(U,"Socket",{enumerable:!0,get:function(){return yl.Socket}});var Rx=ri(),da=dl(),Ax=fa(Nn()),W=(0,Ox.default)("socket.io:server"),gl=fl().version,bl=/\.map/,Dt=class s extends Rx.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(t.serveClient!==!1),this._parser=t.parser||Tx,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||vl.SessionAwareAdapter)):this.adapter(t.adapter||vl.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,Ax.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,i){if(this.parentNsps.size===0)return i(!1);let n=this.parentNsps.keys(),a=()=>{let r=n.next();if(r.done)return i(!1);r.value(e,t,(c,o)=>{if(c||!o)return a();if(this._nsps.has(e))return W("dynamic namespace %s already exists",e),i(this._nsps.get(e));let l=this.parentNsps.get(r.value).createChild(e);W("dynamic namespace %s was created",e),i(l)})};a()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let t of this._nsps.values())t._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if(typeof e=="function"){let i="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(i)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){W("creating http server and binding to %d",e);let i=e;e=_x.default.createServer((n,a)=>{a.writeHead(404),a.end()}),e.listen(i)}return Object.assign(t,this.opts),t.path=t.path||this._path,this.initEngine(e,t),this}attachApp(e,t={}){Object.assign(t,this.opts),t.path=t.path||this._path,W("creating uWebSockets.js-based engine with opts %j",t);let i=new hl.uServer(t);i.attach(e,t),this.bind(i),this._serveClient&&e.get(`${this._path}/*`,(n,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}let r=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),c=bl.test(r),o=c?"map":"source",l='"'+gl+'"',p="W/"+l,u=a.getHeader("if-none-match");if(u&&(l===u||p===u)){W("serve client %s 304",o),n.writeStatus("304 Not Modified"),n.end();return}W("serve client %s",o),n.writeHeader("cache-control","public, max-age=0"),n.writeHeader("content-type","application/"+(c?"json":"javascript")+"; charset=utf-8"),n.writeHeader("etag",l);let d=ml.join(__dirname,"../client-dist/",r);(0,da.serveFile)(n,d)}),(0,da.patchAdapter)(e)}initEngine(e,t){W("creating engine.io instance with opts %j",t),this.eio=(0,hl.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){W("attaching client serving req handler");let t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(i,n)=>{if(this.clientPathRegex.test(i.url))this._corsMiddleware?this._corsMiddleware(i,n,()=>{this.serve(i,n)}):this.serve(i,n);else for(let a=0;a<t.length;a++)t[a].call(e,i,n)})}serve(e,t){let i=e.url.replace(this._path,"").replace(/\?.*$/,""),n=bl.test(i),a=n?"map":"source",r='"'+gl+'"',c="W/"+r,o=e.headers["if-none-match"];if(o&&(r===o||c===o)){W("serve client %s 304",a),t.writeHead(304),t.end();return}W("serve client %s",a),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(n?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",r),s.sendFile(i,e,t)}static sendFile(e,t,i){let n=(0,Sx.createReadStream)(ml.join(__dirname,"../client-dist/",e)),a=Ex(t).encodings(["br","gzip","deflate"]),r=c=>{c&&i.end()};switch(a){case"br":i.writeHead(200,{"content-encoding":"br"}),(0,gi.pipeline)(n,(0,ua.createBrotliCompress)(),i,r);break;case"gzip":i.writeHead(200,{"content-encoding":"gzip"}),(0,gi.pipeline)(n,(0,ua.createGzip)(),i,r);break;case"deflate":i.writeHead(200,{"content-encoding":"deflate"}),(0,gi.pipeline)(n,(0,ua.createDeflate)(),i,r);break;default:i.writeHead(200),(0,gi.pipeline)(n,i,r)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){W("incoming connection with id %s",e.id);let t=new Cx.Client(this,e);return e.protocol===3&&t.connect("/"),this}of(e,t){if(typeof e=="function"||e instanceof RegExp){let n=new kx.ParentNamespace(this);return W("initializing parent namespace %s",n.name),typeof e=="function"?this.parentNsps.set(e,n):(this.parentNsps.set((a,r,c)=>c(null,e.test(a)),n),this.parentNamespacesFromRegExp.set(e,n)),t&&n.on("connect",t),n}String(e)[0]!=="/"&&(e="/"+e);let i=this._nsps.get(e);if(!i){for(let[n,a]of this.parentNamespacesFromRegExp)if(n.test(e))return W("attaching namespace %s to parent namespace %s",e,n),a.createChild(e);W("initializing namespace %s",e),i=new ma.Namespace(this,e),this._nsps.set(e,i),e!=="/"&&this.sockets.emitReserved("new_namespace",i)}return t&&i.on("connect",t),i}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async t=>{t.sockets.forEach(i=>{i._onclose("server shutting down")}),await t.adapter.close()})),this.engine.close(),(0,da.restoreAdapter)(),this.httpServer)return new Promise(t=>{this.httpServer.close(i=>{e&&e(i),i&&W("server was not running"),t()})});e&&e()}use(e){return this.sockets.use(e),this}to(e){return this.sockets.to(e)}in(e){return this.sockets.in(e)}except(e){return this.sockets.except(e)}send(...e){return this.sockets.emit("message",...e),this}write(...e){return this.sockets.emit("message",...e),this}serverSideEmit(e,...t){return this.sockets.serverSideEmit(e,...t)}serverSideEmitWithAck(e,...t){return this.sockets.serverSideEmitWithAck(e,...t)}allSockets(){return this.sockets.allSockets()}compress(e){return this.sockets.compress(e)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(e){return this.sockets.timeout(e)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(e){return this.sockets.socketsJoin(e)}socketsLeave(e){return this.sockets.socketsLeave(e)}disconnectSockets(e=!1){return this.sockets.disconnectSockets(e)}};U.Server=Dt;var Px=Object.keys(xl.EventEmitter.prototype).filter(function(s){return typeof xl.EventEmitter.prototype[s]=="function"});Px.forEach(function(s){Dt.prototype[s]=function(){return this.sockets[s].apply(this.sockets,arguments)}});ss.exports=(s,e)=>new Dt(s,e);ss.exports.Server=Dt;ss.exports.Namespace=ma.Namespace;ss.exports.Socket=yl.Socket});var Cl={};Ge(Cl,{TileManager:()=>ha});var bi,Nt,yi,El,jx,Dx,ha,kl=Ve(()=>{bi=R(require("sharp"),1),Nt=R(require("fs"),1),yi=R(require("path"),1),El=require("url"),jx=(0,El.fileURLToPath)(__importMetaUrl),Dx=yi.default.dirname(jx),ha=class{constructor(e){this.robot=e,this.tileSize=100,this.lastTileChecksums=new Map,this.screenWidth=0,this.screenHeight=0,this.tilesPerRow=0,this.tilesPerColumn=0,this.totalTiles=0,this.frameCount=0,this.tempDir=yi.default.join(Dx,"../../temp"),this.compressionQuality=1,this.changeThreshold=1,this.scaleFactor=.99,this.scaledWidth=0,this.scaledHeight=0,this.isProcessing=!1,this.sharedScreenCache=null,this.lastCaptureTime=0,this.CACHE_TTL=100,this.dpiScale=1,this.captureWidth=0,this.captureHeight=0,Nt.default.existsSync(this.tempDir)||Nt.default.mkdirSync(this.tempDir,{recursive:!0}),this.initializeScreenDimensions()}initializeScreenDimensions(){try{let{width:e,height:t}=this.robot.getScreenSize();this.screenWidth=e,this.screenHeight=t,this.detectDpiScale(),this.scaledWidth=Math.floor(e*this.scaleFactor),this.scaledHeight=Math.floor(t*this.scaleFactor),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn;let i=100;if(this.totalTiles>i){let n=Math.ceil(Math.sqrt(this.scaledWidth*this.scaledHeight/i));this.tileSize=Math.max(n,120),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}console.log(`\u{1F5A5}\uFE0F TileManager: ${e}x${t} (DPI ${this.dpiScale}x) -> ${this.totalTiles} tiles`)}catch(e){console.error("Screen dimensions error:",e),this.screenWidth=1920,this.screenHeight=1080,this.dpiScale=1,this.captureWidth=1920,this.captureHeight=1080,this.scaledWidth=1728,this.scaledHeight=972,this.tileSize=120,this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}}detectDpiScale(){if(process.platform==="darwin"){let e=this.robot.screen.capture(0,0,1,1);this.dpiScale=e.byteWidth/e.bytesPerPixel}else{let e=Math.min(this.screenWidth*2,4096),t=Math.min(this.screenHeight*2,4096),i=this.robot.screen.capture(0,0,e,t),n=i.byteWidth/i.bytesPerPixel;n>this.screenWidth?this.dpiScale=n/this.screenWidth:this.dpiScale=1}this.captureWidth=Math.floor(this.screenWidth*this.dpiScale),this.captureHeight=Math.floor(this.screenHeight*this.dpiScale)}async captureFullScreen(){let e=this.robot.screen.capture(0,0,this.captureWidth,this.captureHeight),t=Buffer.from(e.image);for(let o=0;o<t.length;o+=4){let l=t[o],p=t[o+2];t[o]=p,t[o+2]=l}let i=e.byteWidth/e.bytesPerPixel,n=e.height,a=t,r=i,c=n;if(this.dpiScale>1||this.scaleFactor<1){let o=Math.floor(this.screenWidth*this.scaleFactor),l=Math.floor(this.screenHeight*this.scaleFactor);a=await(0,bi.default)(t,{raw:{width:i,height:n,channels:e.bytesPerPixel}}).resize(o,l,{kernel:bi.default.kernel.nearest,fit:"fill"}).raw().toBuffer(),r=o,c=l}return{buffer:a,width:r,height:c,channels:e.bytesPerPixel}}async getSharedScreenCapture(){let e=Date.now();return this.sharedScreenCache&&e-this.lastCaptureTime<this.CACHE_TTL?this.sharedScreenCache:(this.sharedScreenCache=await this.captureFullScreen(),this.lastCaptureTime=e,this.sharedScreenCache)}clearScreenCache(){}async detectChangedTiles(){if(this.isProcessing)return[];this.isProcessing=!0;try{let e=await this.getSharedScreenCapture(),t=[],i=[];this.frameCount++;let n=[];for(let r=0;r<this.totalTiles;r++)n[r]=this.extractTile(e,r);if(this.lastTileChecksums.size===0){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);return t.push(...c),t}for(let r=0;r<this.totalTiles;r++){let c=this.calculateTileChecksum(n[r].buffer),o=this.lastTileChecksums.get(r);c!==o&&(i.push(r),this.lastTileChecksums.set(r,c))}if(i.length/this.totalTiles>this.changeThreshold){let r=n.map((o,l)=>this.processTileAsync(e,l,o)),c=await Promise.all(r);t.push(...c.map(o=>({...o,fullRefresh:!0})))}else if(i.length>0){let r=i.map(o=>this.processTileAsync(e,o,n[o])),c=await Promise.all(r);t.push(...c)}return t}finally{this.isProcessing=!1}}async processTileAsync(e,t,i=null){let n=i||this.extractTile(e,t),a=this.calculateTileChecksum(n.buffer);this.lastTileChecksums.set(t,a);let r=await this.compressTileImage(n.buffer,n.width,n.height),{row:c,col:o}=this.getTilePosition(t);return{type:"tile-update",tileIndex:t,x:o*this.tileSize,y:c*this.tileSize,width:n.width,height:n.height,imageBase64:r,size:Math.round(r.length*.75/1024),timestamp:Date.now(),frameCount:this.frameCount}}calculateTileChecksum(e){let t=0;for(let i=0;i<e.length;i+=64)t+=e[i]||0,t^=e[i+1]||0,t+=(e[i+2]||0)<<1,t^=(e[i+3]||0)<<2;return t>>>0}getTilePosition(e){return{row:Math.floor(e/this.tilesPerRow),col:e%this.tilesPerRow}}extractTile(e,t){let{row:i,col:n}=this.getTilePosition(t),a=n*this.tileSize,r=i*this.tileSize,c=Math.min(a+this.tileSize,e.width),o=Math.min(r+this.tileSize,e.height),l=c-a,p=o-r,u=e.channels,d=l*u,h=Buffer.alloc(l*p*u);for(let m=0;m<p;m++){let f=((r+m)*e.width+a)*u,v=m*d;e.buffer.copy(h,v,f,f+d)}return{buffer:h,width:l,height:p,channels:u,tileIndex:t,x:a,y:r}}async compressTileImage(e,t,i){return`data:image/webp;base64,${(await(0,bi.default)(e,{raw:{width:t,height:i,channels:4}}).webp({quality:85,effort:2,smartSubsample:!0}).toBuffer()).toString("base64")}`}async getScreenDimensions(){try{let e=await this.captureFullScreen();this.scaledWidth=e.width,this.scaledHeight=e.height,this.tilesPerRow=Math.ceil(e.width/this.tileSize),this.tilesPerColumn=Math.ceil(e.height/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}catch(e){console.error("Error getting dimensions:",e)}return{width:this.scaledWidth,height:this.scaledHeight,tileWidth:this.tileSize,tileHeight:this.tileSize,tileCount:this.totalTiles,scaleFactor:this.scaleFactor,originalWidth:this.screenWidth,originalHeight:this.screenHeight}}async compareClientTileHashes(e){if(this.isProcessing)return{tiles:[],currentHashes:[],changedIndices:[]};this.isProcessing=!0;try{let t=await this.getSharedScreenCapture(),i=[],n=[];this.frameCount++;let a=[],r=new Map;for(let o=0;o<this.totalTiles;o++){a[o]=this.extractTile(t,o);let l=this.calculateTileChecksum(a[o].buffer);r.set(o,l),this.lastTileChecksums.set(o,l)}if(!e||e.length===0){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);return i.push(...l),{tiles:i,currentHashes:Array.from(r.values())}}for(let o=0;o<this.totalTiles;o++)e[o]!==r.get(o)&&n.push(o);if(n.length/this.totalTiles>this.changeThreshold){let o=a.map((p,u)=>this.processTileAsync(t,u,p)),l=await Promise.all(o);i.push(...l.map(p=>({...p,fullRefresh:!0})))}else if(n.length>0){let o=n.map(p=>this.processTileAsync(t,p,a[p])),l=await Promise.all(o);i.push(...l)}return{tiles:i,currentHashes:Array.from(r.values()),changedIndices:n}}finally{this.isProcessing=!1}}reset(){this.lastTileChecksums.clear(),this.frameCount=0}cleanup(){try{Nt.default.existsSync(this.tempDir)&&Nt.default.readdirSync(this.tempDir).forEach(t=>Nt.default.unlinkSync(yi.default.join(this.tempDir,t)))}catch(e){console.warn("Cleanup error:",e)}}}});var J,is=Ve(()=>{J={robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},resourceManagement:{inactiveTimeout:12e4,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50},streaming:{autoStreamingInterval:100,chunkSize:32,chunkDelay:5,updateDelayAfterAction:200}}});var Tl={};Ge(Tl,{ResourceManager:()=>xa});var xa,Ol=Ve(()=>{is();xa=class{constructor(){this.activeClients=new Map,this.activeTimers=new Map,this.chunkTimers=new Map,this.memoryCheckInterval=null}startResourceMonitoring(){this.memoryCheckInterval=setInterval(()=>{let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024);t>J.resourceManagement.memoryWarningThreshold&&(console.warn(`\u26A0\uFE0F High memory: ${t}MB`),this.cleanupInactiveClients())},J.resourceManagement.memoryCheckInterval)}stopResourceMonitoring(){this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null)}addClient(e,t){this.activeClients.set(e,{...t,lastActivity:Date.now()})}getClient(e){return this.activeClients.get(e)}updateClientActivity(e){let t=this.activeClients.get(e);t&&(t.lastActivity=Date.now())}cleanupInactiveClients(){let e=Date.now(),t=J.resourceManagement.inactiveTimeout;for(let[i,n]of this.activeClients.entries())e-n.lastActivity>t&&(console.log(`\u{1F9F9} Cleaning inactive client: ${i}`),this.cleanupClientResources(i,n),this.activeClients.delete(i))}cleanupClientResources(e,t){try{t?.screenInterval&&(clearInterval(t.screenInterval),t.screenInterval=null);let i=this.activeTimers.get(e);i&&(i.forEach(a=>clearTimeout(a)),this.activeTimers.delete(e));let n=this.chunkTimers.get(e);n&&(n.forEach(a=>clearTimeout(a)),this.chunkTimers.delete(e)),t?.tileManager&&(t.tileManager.cleanup(),t.tileManager.reset())}catch(i){console.error(`Error cleaning up ${e}:`,i.message)}}removeClient(e){let t=this.activeClients.get(e);t&&(this.cleanupClientResources(e,t),this.activeClients.delete(e))}getChunkTimers(e){return this.chunkTimers.has(e)||this.chunkTimers.set(e,new Set),this.chunkTimers.get(e)}cleanupAll(){this.stopResourceMonitoring();for(let[e,t]of this.activeClients.entries())this.cleanupClientResources(e,t);this.activeClients.clear(),this.activeTimers.clear(),this.chunkTimers.clear()}}});var Rl={};Ge(Rl,{ScreenUpdateHelper:()=>va});var va,Al=Ve(()=>{is();va=class{constructor(e){this.resourceManager=e}async sendTilesInChunks(e,t,i,n=!1){if(!t||t.length===0)return;let a=J.streaming.chunkSize,r=[];for(let o=0;o<t.length;o+=a)r.push(t.slice(o,o+a));let c=this.resourceManager.getChunkTimers(e.id);for(let o=0;o<r.length;o++){let l=r[o],p=o===r.length-1,u=setTimeout(()=>{c.delete(u),e.connected&&e.emit("tiles-data",{tiles:l,timestamp:i,forceRefresh:!1,userAction:n,chunkInfo:{chunkIndex:o,totalChunks:r.length,isLastChunk:p}})},o*J.streaming.chunkDelay);c.add(u)}}}});var Pl={};Ge(Pl,{MouseHandler:()=>ga});var ga,jl=Ve(()=>{is();ga=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastMouseMove=0}setupMouseHandlers(e,t){let i=this.robot;e.on("mouse-move",t(n=>{let a=Date.now();if(!(a-this.lastMouseMove<J.throttling.mouseThrottle)){this.lastMouseMove=a;try{i.moveMouse(n.x,n.y),this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Mouse move error:",r.message)}}})),e.on("mouse-click",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseClick(n.button||"left",n.double||!1),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse click error:",a.message)}})),e.on("mouse-press",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("down",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse press error:",a.message)}})),e.on("mouse-release",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),c=Math.round(n.x/100*r.width),o=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,c)),p=Math.max(0,Math.min(r.height-1,o));i.moveMouse(l,p),i.mouseToggle("up",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse release error:",a.message)}})),e.on("scroll",t(async n=>{try{let{direction:a,amount:r=60,horizontal:c=!1}=n;if(!this.resourceManager.getClient(e.id))return;let l=0,p=0;c||a==="left"||a==="right"?l=a==="right"?r:-r:p=a==="down"?-r:r,i.scrollMouse(l,p),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Scroll error:",a.message)}})),e.on("mouse-drag-select",t(n=>{try{let{startX:a,startY:r,endX:c,endY:o}=n,l=i.getScreenSize(),p=Math.round(a/100*l.width),u=Math.round(r/100*l.height),d=Math.round(c/100*l.width),h=Math.round(o/100*l.height),m=Math.max(0,Math.min(l.width-1,p)),f=Math.max(0,Math.min(l.height-1,u)),v=Math.max(0,Math.min(l.width-1,d)),y=Math.max(0,Math.min(l.height-1,h));i.moveMouse(m,f),i.mouseToggle("down","left"),i.dragMouse(v,y),i.mouseToggle("up","left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Drag selection error:",a.message)}}))}}});var Dl={};Ge(Dl,{KeyboardHandler:()=>ba});var ba,Nl=Ve(()=>{is();ba=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastKeyPress=0,this.lastTypeText=0}setupKeyboardHandlers(e,t){let i=this.robot;e.on("key-press",t(n=>{let a=Date.now();if(!(a-this.lastKeyPress<J.throttling.keyThrottle)){this.lastKeyPress=a;try{if(!n.key||typeof n.key!="string")return;let r=n.key;if(r.length===1){i.keyTap(r,n.modifier||[]);for(let c of n.modifier||[])i.keyToggle(c,"up")}else switch(r.toLowerCase()){case"enter":case"return":i.keyTap("enter");break;case"space":i.keyTap(" ");break;case"backspace":i.keyTap("backspace");break;case"tab":i.keyTap("tab");break;case"escape":i.keyTap("escape");break;default:i.keyTap(r,n.modifier||[])}this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Key press error:",r.message)}}})),e.on("type-text",t(n=>{let a=Date.now();if(!(a-this.lastTypeText<J.throttling.typeTextThrottle)){this.lastTypeText=a;try{if(!n.text||typeof n.text!="string")return;let r=n.text;r.length>J.throttling.maxTextLength&&(r=r.substring(0,J.throttling.maxTextLength));let c=r.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");setTimeout(()=>{try{i.typeString(c),this.resourceManager.updateClientActivity(e.id);let o=this.resourceManager.getClient(e.id);o?.tileManager&&o.tileManager.clearScreenCache()}catch(o){console.error("Robot typeString error:",o.message)}},10)}catch(r){console.error("Type text error:",r.message)}}}))}}});var Il={};Ge(Il,{ScreenHandler:()=>ya});var ya,Bl=Ve(()=>{ya=class{constructor(e,t){this.resourceManager=e,this.screenUpdateHelper=t}setupScreenHandlers(e,t){e.on("request-screen",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.detectChangedTiles();n.length>0&&e.emit("tiles-data",{tiles:n,timestamp:Date.now()}),this.resourceManager.updateClientActivity(e.id)}catch(n){console.error("Tile capture error:",n),e.emit("screen-error",{error:n.message})}})),e.on("request-screen-with-hashes",t(async i=>{let n=this.resourceManager.getClient(e.id);if(n)try{let a=i.tileHashes||[],r=await n.tileManager.compareClientTileHashes(a);r?.tiles?.length>0?e.emit("tiles-data",{tiles:r.tiles,timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:r.changedIndices}):e.emit("tiles-data",{tiles:[],timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:[]}),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Tile capture with hashes error:",a),e.emit("screen-error",{error:a.message})}})),e.on("start-streaming",t(()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u{1F680} Remote streaming started"),i.screenInterval=setInterval(async()=>{try{let n=await i.tileManager.detectChangedTiles();if(n.length>0){let a=Date.now();await this.screenUpdateHelper.sendTilesInChunks(e,n,a,!1)}}catch(n){console.error("Auto streaming error:",n)}},400))})),e.on("stop-streaming",()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u23F9\uFE0F Remote streaming stopped"))}),e.on("get-screen-dimensions",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.getScreenDimensions();e.emit("screen-dimensions",n)}catch(n){console.error("Get dimensions error:",n),e.emit("screen-error",{error:n.message})}}))}}});var _p=x((Ib,Pa)=>{"use strict";var cv=Object.prototype.hasOwnProperty,V="~";function ls(){}Object.create&&(ls.prototype=Object.create(null),new ls().__proto__||(V=!1));function lv(s,e,t){this.fn=s,this.context=e,this.once=t||!1}function wp(s,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var a=new lv(t,i||s,n),r=V?V+e:e;return s._events[r]?s._events[r].fn?s._events[r]=[s._events[r],a]:s._events[r].push(a):(s._events[r]=a,s._eventsCount++),s}function Ai(s,e){--s._eventsCount===0?s._events=new ls:delete s._events[e]}function H(){this._events=new ls,this._eventsCount=0}H.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)cv.call(t,i)&&e.push(V?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};H.prototype.listeners=function(e){var t=V?V+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,a=i.length,r=new Array(a);n<a;n++)r[n]=i[n].fn;return r};H.prototype.listenerCount=function(e){var t=V?V+e:e,i=this._events[t];return i?i.fn?1:i.length:0};H.prototype.emit=function(e,t,i,n,a,r){var c=V?V+e:e;if(!this._events[c])return!1;var o=this._events[c],l=arguments.length,p,u;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),l){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,t),!0;case 3:return o.fn.call(o.context,t,i),!0;case 4:return o.fn.call(o.context,t,i,n),!0;case 5:return o.fn.call(o.context,t,i,n,a),!0;case 6:return o.fn.call(o.context,t,i,n,a,r),!0}for(u=1,p=new Array(l-1);u<l;u++)p[u-1]=arguments[u];o.fn.apply(o.context,p)}else{var d=o.length,h;for(u=0;u<d;u++)switch(o[u].once&&this.removeListener(e,o[u].fn,void 0,!0),l){case 1:o[u].fn.call(o[u].context);break;case 2:o[u].fn.call(o[u].context,t);break;case 3:o[u].fn.call(o[u].context,t,i);break;case 4:o[u].fn.call(o[u].context,t,i,n);break;default:if(!p)for(h=1,p=new Array(l-1);h<l;h++)p[h-1]=arguments[h];o[u].fn.apply(o[u].context,p)}}return!0};H.prototype.on=function(e,t,i){return wp(this,e,t,i,!1)};H.prototype.once=function(e,t,i){return wp(this,e,t,i,!0)};H.prototype.removeListener=function(e,t,i,n){var a=V?V+e:e;if(!this._events[a])return this;if(!t)return Ai(this,a),this;var r=this._events[a];if(r.fn)r.fn===t&&(!n||r.once)&&(!i||r.context===i)&&Ai(this,a);else{for(var c=0,o=[],l=r.length;c<l;c++)(r[c].fn!==t||n&&!r[c].once||i&&r[c].context!==i)&&o.push(r[c]);o.length?this._events[a]=o.length===1?o[0]:o:Ai(this,a)}return this};H.prototype.removeAllListeners=function(e){var t;return e?(t=V?V+e:e,this._events[t]&&Ai(this,t)):(this._events=new ls,this._eventsCount=0),this};H.prototype.off=H.prototype.removeListener;H.prototype.addListener=H.prototype.on;H.prefixed=V;H.EventEmitter=H;typeof Pa<"u"&&(Pa.exports=H)});var Ep=x((Bb,Sp)=>{"use strict";Sp.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var Pi=x(kp=>{var De=kp,pv=require("url"),Cp=require("util")._extend,uv=Ep(),dv=/(^|,)\s*upgrade\s*($|,)/i,ja=/^https|wss/;De.isSSL=ja;De.setupOutgoing=function(s,e,t,i){s.port=e[i||"target"].port||(ja.test(e[i||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(c){s[c]=e[i||"target"][c]}),s.method=e.method||t.method,s.headers=Cp({},t.headers),e.headers&&Cp(s.headers,e.headers),e.auth&&(s.auth=e.auth),e.ca&&(s.ca=e.ca),ja.test(e[i||"target"].protocol)&&(s.rejectUnauthorized=typeof e.secure>"u"?!0:e.secure),s.agent=e.agent||!1,s.localAddress=e.localAddress,s.agent||(s.headers=s.headers||{},(typeof s.headers.connection!="string"||!dv.test(s.headers.connection))&&(s.headers.connection="close"));var n=e[i||"target"],a=n&&e.prependPath!==!1&&n.path||"",r=e.toProxy?t.url:pv.parse(t.url).path||"";return r=e.ignorePath?"":r,s.path=De.urlJoin(a,r),e.changeOrigin&&(s.headers.host=uv(s.port,e[i||"target"].protocol)&&!fv(s.host)?s.host+":"+s.port:s.host),s};De.setupSocket=function(s){return s.setTimeout(0),s.setNoDelay(!0),s.setKeepAlive(!0,0),s};De.getPort=function(s){var e=s.headers.host?s.headers.host.match(/:(\d+)/):"";return e?e[1]:De.hasEncryptedConnection(s)?"443":"80"};De.hasEncryptedConnection=function(s){return!!(s.connection.encrypted||s.connection.pair)};De.urlJoin=function(){var s=Array.prototype.slice.call(arguments),e=s.length-1,t=s[e],i=t.split("?"),n;return s[e]=i.shift(),n=[s.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],n.push.apply(n,i),n.join("?")};De.rewriteCookieProperty=function s(e,t,i){return Array.isArray(e)?e.map(function(n){return s(n,t,i)}):e.replace(new RegExp("(;\\s*"+i+"=)([^;]+)","i"),function(n,a,r){var c;if(r in t)c=t[r];else if("*"in t)c=t["*"];else return n;return c?a+c:""})};function fv(s){return!!~s.indexOf(":")}});var Ap=x((Mb,Rp)=>{var Tp=require("url"),Op=Pi(),mv=/^201|30(1|2|7|8)$/;Rp.exports={removeChunked:function(e,t,i){e.httpVersion==="1.0"&&delete i.headers["transfer-encoding"]},setConnection:function(e,t,i){e.httpVersion==="1.0"?i.headers.connection=e.headers.connection||"close":e.httpVersion!=="2.0"&&!i.headers.connection&&(i.headers.connection=e.headers.connection||"keep-alive")},setRedirectHostRewrite:function(e,t,i,n){if((n.hostRewrite||n.autoRewrite||n.protocolRewrite)&&i.headers.location&&mv.test(i.statusCode)){var a=Tp.parse(n.target),r=Tp.parse(i.headers.location);if(a.host!=r.host)return;n.hostRewrite?r.host=n.hostRewrite:n.autoRewrite&&(r.host=e.headers.host),n.protocolRewrite&&(r.protocol=n.protocolRewrite),i.headers.location=r.format()}},writeHeaders:function(e,t,i,n){var a=n.cookieDomainRewrite,r=n.cookiePathRewrite,c=n.preserveHeaderKeyCase,o,l=function(d,h){h!=null&&(a&&d.toLowerCase()==="set-cookie"&&(h=Op.rewriteCookieProperty(h,a,"domain")),r&&d.toLowerCase()==="set-cookie"&&(h=Op.rewriteCookieProperty(h,r,"path")),t.setHeader(String(d).trim(),h))};if(typeof a=="string"&&(a={"*":a}),typeof r=="string"&&(r={"*":r}),c&&i.rawHeaders!=null){o={};for(var p=0;p<i.rawHeaders.length;p+=2){var u=i.rawHeaders[p];o[u.toLowerCase()]=u}}Object.keys(i.headers).forEach(function(d){var h=i.headers[d];c&&o&&(d=o[d]||d),l(d,h)})},writeStatusCode:function(e,t,i){i.statusMessage?(t.statusCode=i.statusCode,t.statusMessage=i.statusMessage):t.statusCode=i.statusCode}}});var jp=x((qb,Pp)=>{var ps;Pp.exports=function(){if(!ps){try{ps=j()("follow-redirects")}catch{}typeof ps!="function"&&(ps=function(){})}ps.apply(null,arguments)}});var Lp=x((Fb,Wa)=>{var ds=require("url"),us=ds.URL,hv=require("http"),xv=require("https"),La=require("stream").Writable,Ma=require("assert"),Dp=jp();(function(){var e=typeof process<"u",t=typeof window<"u"&&typeof document<"u",i=rt(Error.captureStackTrace);!e&&(t||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var qa=!1;try{Ma(new us(""))}catch(s){qa=s.code==="ERR_INVALID_URL"}var vv=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],Fa=["abort","aborted","connect","error","socket","timeout"],Ua=Object.create(null);Fa.forEach(function(s){Ua[s]=function(e,t,i){this._redirectable.emit(s,e,t,i)}});var Na=fs("ERR_INVALID_URL","Invalid URL",TypeError),Ia=fs("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),gv=fs("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",Ia),bv=fs("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),yv=fs("ERR_STREAM_WRITE_AFTER_END","write after end"),wv=La.prototype.destroy||Ip;function Q(s,e){La.call(this),this._sanitizeOptions(s),this._options=s,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){try{t._processResponse(i)}catch(n){t.emit("error",n instanceof Ia?n:new Ia({cause:n}))}},this._performRequest()}Q.prototype=Object.create(La.prototype);Q.prototype.abort=function(){za(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Q.prototype.destroy=function(s){return za(this._currentRequest,s),wv.call(this,s),this};Q.prototype.write=function(s,e,t){if(this._ending)throw new yv;if(!at(s)&&!Ev(s))throw new TypeError("data should be a string, Buffer or Uint8Array");if(rt(e)&&(t=e,e=null),s.length===0){t&&t();return}this._requestBodyLength+s.length<=this._options.maxBodyLength?(this._requestBodyLength+=s.length,this._requestBodyBuffers.push({data:s,encoding:e}),this._currentRequest.write(s,e,t)):(this.emit("error",new bv),this.abort())};Q.prototype.end=function(s,e,t){if(rt(s)?(t=s,s=e=null):rt(e)&&(t=e,e=null),!s)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(s,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};Q.prototype.setHeader=function(s,e){this._options.headers[s]=e,this._currentRequest.setHeader(s,e)};Q.prototype.removeHeader=function(s){delete this._options.headers[s],this._currentRequest.removeHeader(s)};Q.prototype.setTimeout=function(s,e){var t=this;function i(r){r.setTimeout(s),r.removeListener("timeout",r.destroy),r.addListener("timeout",r.destroy)}function n(r){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),a()},s),i(r)}function a(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",a),t.removeListener("error",a),t.removeListener("response",a),t.removeListener("close",a),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",n)}return e&&this.on("timeout",e),this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(s){Q.prototype[s]=function(e,t){return this._currentRequest[s](e,t)}});["aborted","connection","socket"].forEach(function(s){Object.defineProperty(Q.prototype,s,{get:function(){return this._currentRequest[s]}})});Q.prototype._sanitizeOptions=function(s){if(s.headers||(s.headers={}),s.host&&(s.hostname||(s.hostname=s.host),delete s.host),!s.pathname&&s.path){var e=s.path.indexOf("?");e<0?s.pathname=s.path:(s.pathname=s.path.substring(0,e),s.search=s.path.substring(e))}};Q.prototype._performRequest=function(){var s=this._options.protocol,e=this._options.nativeProtocols[s];if(!e)throw new TypeError("Unsupported protocol "+s);if(this._options.agents){var t=s.slice(0,-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);i._redirectable=this;for(var n of Fa)i.on(n,Ua[n]);if(this._currentUrl=/^\//.test(this._options.path)?ds.format(this._options):this._options.path,this._isRedirect){var a=0,r=this,c=this._requestBodyBuffers;(function o(l){if(i===r._currentRequest)if(l)r.emit("error",l);else if(a<c.length){var p=c[a++];i.finished||i.write(p.data,p.encoding,o)}else r._ended&&i.end()})()}};Q.prototype._processResponse=function(s){var e=s.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:s.headers,statusCode:e});var t=s.headers.location;if(!t||this._options.followRedirects===!1||e<300||e>=400){s.responseUrl=this._currentUrl,s.redirects=this._redirects,this.emit("response",s),this._requestBodyBuffers=[];return}if(za(this._currentRequest),s.destroy(),++this._redirectCount>this._options.maxRedirects)throw new gv;var i,n=this._options.beforeRedirect;n&&(i=Object.assign({Host:s.req.getHeader("host")},this._options.headers));var a=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],Da(/^content-/i,this._options.headers));var r=Da(/^host$/i,this._options.headers),c=Ha(this._currentUrl),o=r||c.host,l=/^\w+:/.test(t)?this._currentUrl:ds.format(Object.assign(c,{host:o})),p=_v(t,l);if(Dp("redirecting to",p.href),this._isRedirect=!0,Ba(p,this._options),(p.protocol!==c.protocol&&p.protocol!=="https:"||p.host!==o&&!Sv(p.host,o))&&Da(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),rt(n)){var u={headers:s.headers,statusCode:e},d={url:l,method:a,headers:i};n(this._options,u,d),this._sanitizeOptions(this._options)}this._performRequest()};function Np(s){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(s).forEach(function(i){var n=i+":",a=t[n]=s[i],r=e[i]=Object.create(a);function c(l,p,u){return Cv(l)?l=Ba(l):at(l)?l=Ba(Ha(l)):(u=p,p=Bp(l),l={protocol:n}),rt(p)&&(u=p,p=null),p=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,p),p.nativeProtocols=t,!at(p.host)&&!at(p.hostname)&&(p.hostname="::1"),Ma.equal(p.protocol,n,"protocol mismatch"),Dp("options",p),new Q(p,u)}function o(l,p,u){var d=r.request(l,p,u);return d.end(),d}Object.defineProperties(r,{request:{value:c,configurable:!0,enumerable:!0,writable:!0},get:{value:o,configurable:!0,enumerable:!0,writable:!0}})}),e}function Ip(){}function Ha(s){var e;if(qa)e=new us(s);else if(e=Bp(ds.parse(s)),!at(e.protocol))throw new Na({input:s});return e}function _v(s,e){return qa?new us(s,e):Ha(ds.resolve(e,s))}function Bp(s){if(/^\[/.test(s.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(s.hostname))throw new Na({input:s.href||s});if(/^\[/.test(s.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(s.host))throw new Na({input:s.href||s});return s}function Ba(s,e){var t=e||{};for(var i of vv)t[i]=s[i];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function Da(s,e){var t;for(var i in e)s.test(i)&&(t=e[i],delete e[i]);return t===null||typeof t>"u"?void 0:String(t).trim()}function fs(s,e,t){function i(n){rt(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,n||{}),this.code=s,this.message=this.cause?e+": "+this.cause.message:e}return i.prototype=new(t||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+s+"]",enumerable:!1}}),i}function za(s,e){for(var t of Fa)s.removeListener(t,Ua[t]);s.on("error",Ip),s.destroy(e)}function Sv(s,e){Ma(at(s)&&at(e));var t=s.length-e.length-1;return t>0&&s[t]==="."&&s.endsWith(e)}function at(s){return typeof s=="string"||s instanceof String}function rt(s){return typeof s=="function"}function Ev(s){return typeof s=="object"&&"length"in s}function Cv(s){return us&&s instanceof us}Wa.exports=Np({http:hv,https:xv});Wa.exports.wrap=Np});var qp=x((Ub,Mp)=>{var kv=require("http"),Tv=require("https"),ms=Ap(),ji=Pi(),Ov=Lp();ms=Object.keys(ms).map(function(s){return ms[s]});var Rv={http:kv,https:Tv};Mp.exports={deleteLength:function(e,t,i){(e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&(e.headers["content-length"]="0",delete e.headers["transfer-encoding"])},timeout:function(e,t,i){i.timeout&&e.socket.setTimeout(i.timeout)},XHeaders:function(e,t,i){if(i.xfwd){var n=e.isSpdy||ji.hasEncryptedConnection(e),a={for:e.connection.remoteAddress||e.socket.remoteAddress,port:ji.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(r){e.headers["x-forwarded-"+r]=(e.headers["x-forwarded-"+r]||"")+(e.headers["x-forwarded-"+r]?",":"")+a[r]}),e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers.host||""}},stream:function(e,t,i,n,a,r){a.emit("start",e,t,i.target||i.forward);var c=i.followRedirects?Ov:Rv,o=c.http,l=c.https;if(i.forward){var p=(i.forward.protocol==="https:"?l:o).request(ji.setupOutgoing(i.ssl||{},i,e,"forward")),u=m(p,i.forward);if(e.on("error",u),p.on("error",u),(i.buffer||e).pipe(p),!i.target)return t.end()}var d=(i.target.protocol==="https:"?l:o).request(ji.setupOutgoing(i.ssl||{},i,e));d.on("socket",function(f){a&&!d.getHeader("expect")&&a.emit("proxyReq",d,e,t,i)}),i.proxyTimeout&&d.setTimeout(i.proxyTimeout,function(){d.abort()}),e.on("aborted",function(){d.abort()});var h=m(d,i.target);e.on("error",h),d.on("error",h);function m(f,v){return function(g){if(e.socket.destroyed&&g.code==="ECONNRESET")return a.emit("econnreset",g,e,t,v),f.abort();r?r(g,e,t,v):a.emit("error",g,e,t,v)}}(i.buffer||e).pipe(d),d.on("response",function(f){if(a&&a.emit("proxyRes",f,e,t),!t.headersSent&&!i.selfHandleResponse)for(var v=0;v<ms.length&&!ms[v](e,t,f,i);v++);t.finished?a&&a.emit("end",e,t,f):(f.on("end",function(){a&&a.emit("end",e,t,f)}),i.selfHandleResponse||f.pipe(t))})}}});var Up=x((Hb,Fp)=>{var Av=require("http"),Pv=require("https"),Ut=Pi();Fp.exports={checkMethodAndHeader:function(e,t){if(e.method!=="GET"||!e.headers.upgrade||e.headers.upgrade.toLowerCase()!=="websocket")return t.destroy(),!0},XHeaders:function(e,t,i){if(i.xfwd){var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:Ut.getPort(e),proto:Ut.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(a){e.headers["x-forwarded-"+a]=(e.headers["x-forwarded-"+a]||"")+(e.headers["x-forwarded-"+a]?",":"")+n[a]})}},stream:function(e,t,i,n,a,r){var c=function(p,u){return Object.keys(u).reduce(function(d,h){var m=u[h];if(!Array.isArray(m))return d.push(h+": "+m),d;for(var f=0;f<m.length;f++)d.push(h+": "+m[f]);return d},[p]).join(`\r
19
19
  `)+`\r
20
20
  \r
21
- `};Ut.setupSocket(t),n&&n.length&&t.unshift(n);var o=(Ut.isSSL.test(i.target.protocol)?Pv:Av).request(Ut.setupOutgoing(i.ssl||{},i,e));return a&&a.emit("proxyReqWs",o,e,t,i,n),o.on("error",l),o.on("response",function(p){p.upgrade||(t.write(c("HTTP/"+p.httpVersion+" "+p.statusCode+" "+p.statusMessage,p.headers)),p.pipe(t))}),o.on("upgrade",function(p,u,d){u.on("error",l),u.on("end",function(){a.emit("close",p,u,d)}),t.on("error",function(){u.end()}),Ut.setupSocket(u),d&&d.length&&u.unshift(d),t.write(c("HTTP/1.1 101 Switching Protocols",p.headers)),u.pipe(t).pipe(u),a.emit("open",u),a.emit("proxySocket",u)}),o.end();function l(p){r?r(p,e,t):a.emit("error",p,e,t),t.end()}}}});var Kp=x((zb,Gp)=>{var $p=Gp.exports,Hp=require("util")._extend,jv=require("url").parse,Vp=_p(),Dv=require("http"),Nv=require("https"),zp=qp(),Wp=Up();$p.Server=ot;function Ha(s){return function(e){return function(t,i){var n=s==="ws"?this.wsPasses:this.webPasses,a=[].slice.call(arguments),r=a.length-1,c,o;typeof a[r]=="function"&&(o=a[r],r--);var l=e;if(!(a[r]instanceof Buffer)&&a[r]!==i&&(l=Hp({},e),Hp(l,a[r]),r--),a[r]instanceof Buffer&&(c=a[r]),["target","forward"].forEach(function(u){typeof l[u]=="string"&&(l[u]=jv(l[u]))}),!l.target&&!l.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var p=0;p<n.length&&!n[p](t,i,l,c,this,o);p++);}}}$p.createRightProxy=Ha;function ot(s){Vp.call(this),s=s||{},s.prependPath=s.prependPath!==!1,this.web=this.proxyRequest=Ha("web")(s),this.ws=this.proxyWebsocketRequest=Ha("ws")(s),this.options=s,this.webPasses=Object.keys(zp).map(function(e){return zp[e]}),this.wsPasses=Object.keys(Wp).map(function(e){return Wp[e]}),this.on("error",this.onError,this)}require("util").inherits(ot,Vp);ot.prototype.onError=function(s){if(this.listeners("error").length===1)throw s};ot.prototype.listen=function(s,e){var t=this,i=function(n,a){t.web(n,a)};return this._server=this.options.ssl?Nv.createServer(this.options.ssl,i):Dv.createServer(i),this.options.ws&&this._server.on("upgrade",function(n,a,r){t.ws(n,a,r)}),this._server.listen(s,e),this};ot.prototype.close=function(s){var e=this;this._server&&this._server.close(t);function t(){e._server=null,s&&s.apply(null,arguments)}};ot.prototype.before=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n,0,t)};ot.prototype.after=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n++,0,t)}});var Xp=x((Wb,Yp)=>{var ms=Kp().Server;function za(s){return new ms(s)}ms.createProxyServer=za;ms.createServer=za;ms.createProxy=za;Yp.exports=ms});var Qp=x(($b,Jp)=>{Jp.exports=Xp()});var zv={};Ge(zv,{startServer:()=>uu});module.exports=gu(zv);var cu=require("http"),lu=require("url"),pu=require("child_process");var bl=R(gl(),1),{Server:yl,Namespace:pb,Socket:ub}=bl.default;var Ea=R(require("node-pty"),1),Mt=R(require("os"),1),T=R(require("fs"),1),ye=R(require("path"),1);var He=null;function Nx(){return process.env.CODESPACES==="true"||process.env.GITPOD_WORKSPACE_ID||process.platform==="linux"&&!process.env.DISPLAY}async function Nl(){if(He!==null)return He;if(Nx())return He=!1,console.log("\u2139\uFE0F Remote desktop not available (headless environment)"),He;try{let s=await import("@hurdlegroup/robotjs");(s.default||s).getScreenSize(),He=!0}catch{He=!1,console.log("\u2139\uFE0F Remote desktop not available (no display or robotjs not installed)")}return He}function Il(){return He===!0}async function Bl(s){let e=null,t=null,i=null,n=null,a=null,r=null,c=null,o=async()=>{if(e)return!0;try{let f=await import("@hurdlegroup/robotjs");e=f.default||f;let{TileManager:v}=await Promise.resolve().then(()=>(Sl(),_l)),{ResourceManager:y}=await Promise.resolve().then(()=>(Cl(),El)),{ScreenUpdateHelper:g}=await Promise.resolve().then(()=>(Tl(),kl)),{MouseHandler:q}=await Promise.resolve().then(()=>(Rl(),Ol)),{KeyboardHandler:D}=await Promise.resolve().then(()=>(Pl(),Al)),{ScreenHandler:fe}=await Promise.resolve().then(()=>(Dl(),jl));return t=v,i=y,n=g,a=q,r=D,c=fe,e.setMouseDelay(2),e.setKeyboardDelay(2),!0}catch(f){return console.error("\u274C Failed to load remote modules:",f.message),!1}},l=s.of("/remote"),p=null,u=null,d=null,h=null,m=null;l.on("connection",async f=>{let v=f.handshake.auth?.apiKey;if(!v){console.log("\u274C Remote connection rejected: no apiKey"),f.disconnect();return}if(console.log("\u{1F5A5}\uFE0F Remote client connected:",f.id),!await o()){f.emit("error",{message:"Remote desktop not available"}),f.disconnect();return}p||(p=new i,u=new n(p),d=new a(e,p),h=new r(e,p),m=new c(p,u),p.startResourceMonitoring()),f.isAuthenticated=!0;let g=new t(e);p.addClient(f.id,{tileManager:g,screenInterval:null,authenticated:!0,apiKey:v});let q=D=>D;d.setupMouseHandlers(f,q),h.setupKeyboardHandlers(f,q),m.setupScreenHandlers(f,q),f.on("disconnect",()=>{console.log("\u{1F5A5}\uFE0F Remote client disconnected:",f.id),p.removeClient(f.id)})})}var ya=R(require("net"),1),se=R(require("fs"),1),$e=R(require("path"),1),ql=R(require("os"),1),Fl=require("child_process"),Ul=require("url"),Hl=$e.default.dirname((0,Ul.fileURLToPath)(__importMetaUrl)),We=$e.default.join(ql.default.homedir(),".9remote"),wi=process.platform==="win32"?"\\\\.\\pipe\\9remote-pty":$e.default.join(We,"pty-daemon.sock"),yi=$e.default.join(We,"ptyDaemon.cjs"),Ll=$e.default.join(Hl,"ptyDaemon.js"),Ml=$e.default.join(Hl,"ptyDaemon.cjs"),be=null,It=!1,ze=!1,ba="",Ix=0,Bt=new Map,_i=new Map;function Bx(){return++Ix}function Si(s,e){_i.has(s)||_i.set(s,[]),_i.get(s).push(e)}function ns(s,e){let t=_i.get(s);if(t)for(let i of t)try{i(e)}catch(n){console.error(`[DaemonClient] Error in ${s} handler:`,n)}}function wa(s){if(!be||!It)return!1;try{return be.write(JSON.stringify(s)+`
22
- `),!0}catch(e){return console.error("[DaemonClient] Send error:",e),!1}}function as(s,e=5e3){return new Promise((t,i)=>{let n=Bx();s.requestId=n;let a=setTimeout(()=>{Bt.delete(n),i(new Error("Request timeout"))},e);Bt.set(n,{resolve:t,reject:i,timer:a}),wa(s)||(clearTimeout(a),Bt.delete(n),i(new Error("Not connected to daemon")))})}function Lx(s){let{type:e,requestId:t,...i}=s;if(t&&Bt.has(t)){let{resolve:n,timer:a}=Bt.get(t);clearTimeout(a),Bt.delete(t),n({type:e,...i});return}switch(e){case"output":ns("output",{sessionId:i.sessionId,data:Buffer.from(i.data,"base64")});break;case"sessionClosed":ns("sessionClosed",i.sessionId);break;case"sessionRenamed":ns("sessionRenamed",{sessionId:i.sessionId,name:i.name});break;case"pong":break;default:console.log("[DaemonClient] Unknown message:",e)}}function zl(){return new Promise(s=>{let e=ya.default.connect(wi),t=setTimeout(()=>{e.destroy(),s(!1)},1e3);e.on("connect",()=>{clearTimeout(t),e.destroy(),s(!0)}),e.on("error",()=>{if(clearTimeout(t),process.platform!=="win32"&&se.default.existsSync(wi))try{se.default.unlinkSync(wi)}catch{}s(!1)})})}function Mx(){if(se.default.existsSync(We)||se.default.mkdirSync(We,{recursive:!0}),se.default.existsSync(yi))return yi;let s=null;if(se.default.existsSync(Ll)?s=Ll:se.default.existsSync(Ml)&&(s=Ml),!s)return console.error("[DaemonClient] \u274C Daemon script not found"),null;try{return se.default.copyFileSync(s,yi),yi}catch(e){return console.error("[DaemonClient] Failed to copy daemon script:",e.message),s}}async function qx(){if(!se.default.existsSync(We))try{se.default.mkdirSync(We,{recursive:!0})}catch(n){return console.error("[DaemonClient] Failed to create socket directory:",n.message),!1}let s=Mx();if(!s)return!1;console.log("[DaemonClient] Starting PTY Daemon from:",s);let e=$e.default.join(We,"daemon.log"),t;try{t=se.default.openSync(e,"a")}catch(n){console.error("[DaemonClient] Failed to open log file:",n.message),t="ignore"}let i=(0,Fl.spawn)("node",[s],{detached:!0,stdio:["ignore",t,t],cwd:We});if(i.unref(),typeof t=="number")try{se.default.closeSync(t)}catch{}console.log("[DaemonClient] Spawned daemon process, PID:",i.pid);for(let n=0;n<20;n++){if(await new Promise(a=>setTimeout(a,100)),await zl())return console.log("[DaemonClient] \u2705 Daemon started successfully"),!0;n%5===0&&console.log(`[DaemonClient] Waiting for daemon... (${n*100}ms)`)}return console.error("[DaemonClient] \u274C Failed to start daemon after 2s"),console.error("[DaemonClient] Check logs at:",e),!1}async function Wl(){if(!(It||ze)){ze=!0;try{return!await zl()&&(console.log("[DaemonClient] Daemon not running, attempting to start..."),!await qx())?(console.error("[DaemonClient] \u274C Failed to start daemon"),ze=!1,!1):(console.log("[DaemonClient] Connecting to daemon..."),new Promise(s=>{let e=setTimeout(()=>{console.error("[DaemonClient] \u274C Connection timeout after 5s"),be&&be.destroy(),ze=!1,s(!1)},5e3);be=ya.default.connect(wi),be.on("connect",()=>{clearTimeout(e),console.log("[DaemonClient] \u2705 Connected to daemon"),It=!0,ze=!1,ns("connected"),s(!0)}),be.on("data",t=>{ba+=t.toString();let i=ba.split(`
23
- `);ba=i.pop()||"";for(let n of i)if(n.trim())try{Lx(JSON.parse(n))}catch{console.error("[DaemonClient] Invalid message:",n)}}),be.on("close",()=>{console.log("[DaemonClient] Disconnected from daemon"),It=!1,be=null,ns("disconnected"),setTimeout(()=>{!It&&!ze&&(console.log("[DaemonClient] Attempting to reconnect..."),Wl())},2e3)}),be.on("error",t=>{clearTimeout(e),console.error("[DaemonClient] \u274C Connection error:",t.message),console.error("[DaemonClient] Error code:",t.code),ze=!1,s(!1)})}))}catch(s){return console.error("[DaemonClient] \u274C Connect error:",s),ze=!1,!1}}}async function $l(){return Wl()}function Re(){return It}async function Vl(){return(await as({type:"listSessions"})).sessions||[]}async function Gl(s,e=80,t=24){let i=`session-${Date.now()}`;return await as({type:"createSession",sessionId:i,name:s,cols:e,rows:t})}async function Kl(s){return await as({type:"joinSession",sessionId:s})}function _a(s,e){return wa({type:"input",sessionId:s,data:e})}function Yl(s,e,t){return wa({type:"resize",sessionId:s,cols:e,rows:t})}async function Xl(s){return await as({type:"deleteSession",sessionId:s})}async function Jl(s,e){return await as({type:"renameSession",sessionId:s,name:e})}var P=new Map,Ae="daemon",ki=ye.default.join(Mt.default.homedir(),".9remote","sessions.json"),Ca="/tmp/9remote-uploads";function Ux(){try{if(T.default.existsSync(ki))return JSON.parse(T.default.readFileSync(ki,"utf8"))}catch(s){console.log("\u26A0\uFE0F Failed to load session metadata:",s.message)}return{}}function Ql(){try{let s={};for(let[t,i]of P)s[t]={name:i.name,createdAt:i.createdAt};let e=ye.default.dirname(ki);T.default.existsSync(e)||T.default.mkdirSync(e,{recursive:!0}),T.default.writeFileSync(ki,JSON.stringify(s,null,2),"utf8")}catch(s){console.log("\u26A0\uFE0F Failed to save session metadata:",s.message)}}T.default.existsSync(Ca)||T.default.mkdirSync(Ca,{recursive:!0});var Ei=0,rs=null,Hx=6e4;function Lt(){return process.env.CODESPACES==="true"}function zx(){return Lt()?{isCodespaces:!0,codespaceName:process.env.CODESPACE_NAME||"unknown",workspacePath:process.env.CODESPACE_VSCODE_FOLDER||process.cwd()}:null}var Wx={name:"9Remote",postCreateCommand:"npm install -g 9remote@latest",postAttachCommand:"9remote start",forwardPorts:[2208],portsAttributes:{2208:{label:"9Remote Server",onAutoForward:"notify"}}};function tp(s){return ye.default.join(s,".devcontainer","devcontainer.json")}function $x(s){try{let e=tp(s);if(!T.default.existsSync(e))return{enabled:!1,exists:!1};let t=T.default.readFileSync(e,"utf8"),i=JSON.parse(t);return{enabled:i.postAttachCommand==="9remote start"||i.postAttachCommand==="9remote",exists:!0}}catch{return{enabled:!1,exists:!1,error:"Failed to read config"}}}function Vx(s,e){try{let t=ye.default.join(s,".devcontainer"),i=tp(s);T.default.existsSync(t)||T.default.mkdirSync(t,{recursive:!0});let n={...Wx};if(T.default.existsSync(i))try{n={...JSON.parse(T.default.readFileSync(i,"utf8"))}}catch{}return e?(n.postAttachCommand="9remote start",n.postCreateCommand||(n.postCreateCommand="npm install -g 9remote@latest")):delete n.postAttachCommand,T.default.writeFileSync(i,JSON.stringify(n,null,2)),{success:!0,enabled:e}}catch(t){return{success:!1,error:t.message}}}function Gx(){rs||(rs=setInterval(()=>{process.memoryUsage()},Hx))}function Kx(){rs&&(console.log("\u23F8\uFE0F Stopping Codespaces heartbeat"),clearInterval(rs),rs=null)}function ka(){return process.platform==="win32"?process.env.COMSPEC||"powershell.exe":process.env.SHELL||"/bin/zsh"}function Zl(){return Lt()?"/workspaces":Mt.default.homedir()}function ep(){let s=Mt.default.homedir(),e=Mt.default.userInfo().username,t=ka(),i={...process.env};return Object.assign(i,{HOME:s,USER:e,LOGNAME:e,SHELL:t,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",PWD:s,OLDPWD:s,TMPDIR:i.TMPDIR||(process.platform==="win32"?i.TEMP||i.TMP:"/tmp"),__CF_USER_TEXT_ENCODING:i.__CF_USER_TEXT_ENCODING,XPC_FLAGS:i.XPC_FLAGS,XPC_SERVICE_NAME:i.XPC_SERVICE_NAME,SSH_AUTH_SOCK:i.SSH_AUTH_SOCK,TERM_PROGRAM:"9Remote",TERM_PROGRAM_VERSION:"1.0.0",ITERM_SESSION_ID:`9remote-${Date.now()}`,SHLVL:"1"}),i}var qt=ye.default.join(Mt.default.homedir(),".9remote","buffers");function sp(){T.default.existsSync(qt)||T.default.mkdirSync(qt,{recursive:!0})}function Ci(s,e){if(Ae!=="buffer")return;sp();let t=ye.default.join(qt,`${s}.buf`);try{let i=e.join("");T.default.writeFileSync(t,i,"utf8")}catch(i){console.log(`\u26A0\uFE0F Failed to save buffer for ${s}:`,i.message)}}function Yx(s){if(Ae!=="buffer")return null;let e=ye.default.join(qt,`${s}.buf`);try{if(T.default.existsSync(e))return T.default.readFileSync(e,"utf8")}catch(t){console.log(`\u26A0\uFE0F Failed to load buffer for ${s}:`,t.message)}return null}function Sa(s){let e=ye.default.join(qt,`${s}.buf`);try{T.default.existsSync(e)&&T.default.unlinkSync(e)}catch{}}function Xx(){sp();try{return T.default.readdirSync(qt).filter(e=>e.endsWith(".buf")).map(e=>e.replace(".buf",""))}catch{return[]}}var Jx=null;async function ip(){if(Ae==="daemon")if(!await $l())console.error("\u274C Failed to connect to PTY daemon, falling back to buffer mode");else{let i=await Vl();for(let n of i)P.set(n.id,{daemon:!0,name:n.name,createdAt:n.createdAt});i.length>0?console.log(`\u2705 Connected to daemon with ${i.length} session(s)`):console.log("\u2705 Connected to PTY daemon");return}console.log("\u{1F4E6} Buffer persistence mode - scrollback enabled");let s=Xx(),e=Ux();for(let t of s){let i=e[t]||{};P.set(t,{pty:null,name:i.name||`Terminal ${P.size+1}`,createdAt:i.createdAt||Date.now(),buffer:[],needsRestore:!0}),console.log(`\u{1F504} Found saved session: ${t}`)}s.length>0&&console.log(`\u2705 Found ${s.length} saved session(s)`)}function np(s){Jx=s,Ae==="daemon"&&(Si("output",({sessionId:e,data:t})=>{s.emit("output",{sessionId:e,data:t})}),Si("sessionClosed",e=>{P.delete(e),s.emit("sessionClosed",e)}),Si("sessionRenamed",({sessionId:e,name:t})=>{let i=P.get(e);i&&(i.name=t),s.emit("session-renamed",{sessionId:e,name:t})})),s.on("connection",e=>{console.log(`\u{1F4DF} Terminal client connected: ${e.id}`),Ei++,Lt()&&Ei===1&&Gx(),e.emit("serverInfo",{remoteAvailable:Il(),daemonMode:Ae==="daemon"&&Re(),...zx()}),e.on("getSessions",t=>{let i=[];for(let[n,a]of P)i.push({id:n,name:a.name,createdAt:a.createdAt,restored:a.restored||!1});t(i)}),e.on("createSession",async({name:t},i)=>{let n=`session-${Date.now()}`,a=ka(),r=ep(),c=Zl();try{if(Ae==="daemon"&&Re()){let d=await Gl(t,80,24);d.success?(P.set(d.sessionId,{daemon:!0,name:t||`Terminal ${P.size+1}`,createdAt:Date.now()}),i({success:!0,sessionId:d.sessionId})):i({success:!1,error:d.error});return}let o=process.platform==="win32"?[]:["-l"],l=Ea.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:c,env:r,useConpty:!1});sessionData={pty:l,name:t||`Terminal ${P.size+1}`,createdAt:Date.now(),buffer:[]};let p=50*1024,u=null;l.onData(d=>{sessionData.buffer.push(d);let h=sessionData.buffer.reduce((m,f)=>m+f.length,0);for(;h>p&&sessionData.buffer.length>1;){let m=sessionData.buffer.shift();h-=m.length}s.emit("output",{sessionId:n,data:Buffer.from(d,"utf-8")}),Ae==="buffer"&&(u&&clearTimeout(u),u=setTimeout(()=>{Ci(n,sessionData.buffer)},2e3))}),l.onExit(({exitCode:d})=>{console.log(`PTY exited: sessionId=${n}, code=${d}`),Ae==="buffer"&&sessionData.buffer.length>0&&Ci(n,sessionData.buffer),P.delete(n),Sa(n),s.emit("sessionClosed",n)}),console.log(`PTY created: sessionId=${n}, name=${t}`),P.set(n,sessionData),i({success:!0,sessionId:n})}catch(o){console.error("Failed to create session:",o),i({success:!1,error:o.message})}}),e.on("joinSession",async(t,i)=>{let n=P.get(t);if(!n){i({success:!1,error:"Session not found"});return}if(n.daemon&&Re()){try{let a=await Kl(t);i({success:a.success,name:a.name,error:a.error})}catch(a){i({success:!1,error:a.message})}return}if(n.needsRestore&&Ae==="buffer")try{let a=ka(),r=ep(),c=Zl(),o=process.platform==="win32"?[]:["-l"],l=Ea.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:c,env:r,useConpty:!1});n.pty=l,n.needsRestore=!1;let p=Yx(t);p&&(n.buffer=[p]);let u=50*1024,d=null;l.onData(h=>{n.buffer.push(h);let m=n.buffer.reduce((f,v)=>f+v.length,0);for(;m>u&&n.buffer.length>1;){let f=n.buffer.shift();m-=f.length}s.emit("output",{sessionId:t,data:Buffer.from(h,"utf-8")}),d&&clearTimeout(d),d=setTimeout(()=>{Ci(t,n.buffer)},2e3)}),l.onExit(({exitCode:h})=>{console.log(`PTY exited: sessionId=${t}, code=${h}`),n.buffer.length>0&&Ci(t,n.buffer),P.delete(t),Sa(t),s.emit("sessionClosed",t)}),console.log(`\u2705 Restored PTY session: ${t}`)}catch(a){console.error("Failed to restore session:",a),i({success:!1,error:"Failed to restore session"});return}if(n.buffer&&n.buffer.length>0){let a=n.buffer.join("");e.emit("output",{sessionId:t,data:Buffer.from(a,"utf-8")})}i({success:!0,name:n.name})}),e.on("input",({sessionId:t,data:i})=>{if(!t)return;let n=P.get(t);if(n){if(n.daemon&&Re()){_a(t,i);return}let a=Buffer.isBuffer(i)?i.toString("utf-8"):i;n.pty&&n.pty.write(a)}}),e.on("upload-file",({sessionId:t,filename:i,size:n,type:a,content:r})=>{if(!t)return;let c=P.get(t);if(c)try{let o=Date.now(),l=i.replace(/[^a-zA-Z0-9._-]/g,"_"),p=`${o}_${l}`,u=ye.default.join(Ca,p),d=Buffer.from(r,"base64");T.default.writeFileSync(u,d),console.log(`\u{1F4CE} File uploaded: ${u} (${n} bytes)`),c.daemon&&Re()?_a(t,u):c.pty&&c.pty.write(u)}catch(o){console.error("File upload error:",o),e.emit("output",{sessionId:t,data:Buffer.from(`\r
21
+ `};Ut.setupSocket(t),n&&n.length&&t.unshift(n);var o=(Ut.isSSL.test(i.target.protocol)?Pv:Av).request(Ut.setupOutgoing(i.ssl||{},i,e));return a&&a.emit("proxyReqWs",o,e,t,i,n),o.on("error",l),o.on("response",function(p){p.upgrade||(t.write(c("HTTP/"+p.httpVersion+" "+p.statusCode+" "+p.statusMessage,p.headers)),p.pipe(t))}),o.on("upgrade",function(p,u,d){u.on("error",l),u.on("end",function(){a.emit("close",p,u,d)}),t.on("error",function(){u.end()}),Ut.setupSocket(u),d&&d.length&&u.unshift(d),t.write(c("HTTP/1.1 101 Switching Protocols",p.headers)),u.pipe(t).pipe(u),a.emit("open",u),a.emit("proxySocket",u)}),o.end();function l(p){r?r(p,e,t):a.emit("error",p,e,t),t.end()}}}});var Kp=x((zb,Gp)=>{var $p=Gp.exports,Hp=require("util")._extend,jv=require("url").parse,Vp=_p(),Dv=require("http"),Nv=require("https"),zp=qp(),Wp=Up();$p.Server=ot;function $a(s){return function(e){return function(t,i){var n=s==="ws"?this.wsPasses:this.webPasses,a=[].slice.call(arguments),r=a.length-1,c,o;typeof a[r]=="function"&&(o=a[r],r--);var l=e;if(!(a[r]instanceof Buffer)&&a[r]!==i&&(l=Hp({},e),Hp(l,a[r]),r--),a[r]instanceof Buffer&&(c=a[r]),["target","forward"].forEach(function(u){typeof l[u]=="string"&&(l[u]=jv(l[u]))}),!l.target&&!l.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var p=0;p<n.length&&!n[p](t,i,l,c,this,o);p++);}}}$p.createRightProxy=$a;function ot(s){Vp.call(this),s=s||{},s.prependPath=s.prependPath!==!1,this.web=this.proxyRequest=$a("web")(s),this.ws=this.proxyWebsocketRequest=$a("ws")(s),this.options=s,this.webPasses=Object.keys(zp).map(function(e){return zp[e]}),this.wsPasses=Object.keys(Wp).map(function(e){return Wp[e]}),this.on("error",this.onError,this)}require("util").inherits(ot,Vp);ot.prototype.onError=function(s){if(this.listeners("error").length===1)throw s};ot.prototype.listen=function(s,e){var t=this,i=function(n,a){t.web(n,a)};return this._server=this.options.ssl?Nv.createServer(this.options.ssl,i):Dv.createServer(i),this.options.ws&&this._server.on("upgrade",function(n,a,r){t.ws(n,a,r)}),this._server.listen(s,e),this};ot.prototype.close=function(s){var e=this;this._server&&this._server.close(t);function t(){e._server=null,s&&s.apply(null,arguments)}};ot.prototype.before=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n,0,t)};ot.prototype.after=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n++,0,t)}});var Xp=x((Wb,Yp)=>{var hs=Kp().Server;function Va(s){return new hs(s)}hs.createProxyServer=Va;hs.createServer=Va;hs.createProxy=Va;Yp.exports=hs});var Qp=x(($b,Jp)=>{Jp.exports=Xp()});var zv={};Ge(zv,{startServer:()=>uu});module.exports=gu(zv);var cu=require("http"),lu=require("url"),pu=require("child_process");var _l=R(wl(),1),{Server:Sl,Namespace:pb,Socket:ub}=_l.default;var Ta=R(require("node-pty"),1),Mt=R(require("os"),1),T=R(require("fs"),1),ye=R(require("path"),1);var He=null;function Nx(){return process.env.CODESPACES==="true"||process.env.GITPOD_WORKSPACE_ID||process.platform==="linux"&&!process.env.DISPLAY}async function Ll(){if(He!==null)return He;if(Nx())return He=!1,console.log("\u2139\uFE0F Remote desktop not available (headless environment)"),He;try{let s=await import("@hurdlegroup/robotjs");(s.default||s).getScreenSize(),He=!0}catch{He=!1,console.log("\u2139\uFE0F Remote desktop not available (no display or robotjs not installed)")}return He}function Ml(){return He===!0}async function ql(s){let e=null,t=null,i=null,n=null,a=null,r=null,c=null,o=async()=>{if(e)return!0;try{let f=await import("@hurdlegroup/robotjs");e=f.default||f;let{TileManager:v}=await Promise.resolve().then(()=>(kl(),Cl)),{ResourceManager:y}=await Promise.resolve().then(()=>(Ol(),Tl)),{ScreenUpdateHelper:g}=await Promise.resolve().then(()=>(Al(),Rl)),{MouseHandler:q}=await Promise.resolve().then(()=>(jl(),Pl)),{KeyboardHandler:D}=await Promise.resolve().then(()=>(Nl(),Dl)),{ScreenHandler:fe}=await Promise.resolve().then(()=>(Bl(),Il));return t=v,i=y,n=g,a=q,r=D,c=fe,e.setMouseDelay(2),e.setKeyboardDelay(2),!0}catch(f){return console.error("\u274C Failed to load remote modules:",f.message),!1}},l=s.of("/remote"),p=null,u=null,d=null,h=null,m=null;l.on("connection",async f=>{let v=f.handshake.auth?.apiKey;if(!v){console.log("\u274C Remote connection rejected: no apiKey"),f.disconnect();return}if(console.log("\u{1F5A5}\uFE0F Remote client connected:",f.id),!await o()){f.emit("error",{message:"Remote desktop not available"}),f.disconnect();return}p||(p=new i,u=new n(p),d=new a(e,p),h=new r(e,p),m=new c(p,u),p.startResourceMonitoring()),f.isAuthenticated=!0;let g=new t(e);p.addClient(f.id,{tileManager:g,screenInterval:null,authenticated:!0,apiKey:v});let q=D=>D;d.setupMouseHandlers(f,q),h.setupKeyboardHandlers(f,q),m.setupScreenHandlers(f,q),f.on("disconnect",()=>{console.log("\u{1F5A5}\uFE0F Remote client disconnected:",f.id),p.removeClient(f.id)})})}var _a=R(require("net"),1),$=R(require("fs"),1),$e=R(require("path"),1),Fl=R(require("os"),1),Ul=require("child_process"),Hl=require("url"),Sa=$e.default.dirname((0,Hl.fileURLToPath)(__importMetaUrl)),We=$e.default.join(Fl.default.homedir(),".9remote"),Si=process.platform==="win32"?"\\\\.\\pipe\\9remote-pty":$e.default.join(We,"pty-daemon.sock"),ns=$e.default.join(We,"ptyDaemon.cjs"),wi=$e.default.join(Sa,"ptyDaemon.js"),_i=$e.default.join(Sa,"ptyDaemon.cjs"),be=null,It=!1,ze=!1,wa="",Ix=0,Bt=new Map,Ei=new Map;function Bx(){return++Ix}function Ci(s,e){Ei.has(s)||Ei.set(s,[]),Ei.get(s).push(e)}function as(s,e){let t=Ei.get(s);if(t)for(let i of t)try{i(e)}catch(n){console.error(`[DaemonClient] Error in ${s} handler:`,n)}}function Ea(s){if(!be||!It)return!1;try{return be.write(JSON.stringify(s)+`
22
+ `),!0}catch(e){return console.error("[DaemonClient] Send error:",e),!1}}function rs(s,e=5e3){return new Promise((t,i)=>{let n=Bx();s.requestId=n;let a=setTimeout(()=>{Bt.delete(n),i(new Error("Request timeout"))},e);Bt.set(n,{resolve:t,reject:i,timer:a}),Ea(s)||(clearTimeout(a),Bt.delete(n),i(new Error("Not connected to daemon")))})}function Lx(s){let{type:e,requestId:t,...i}=s;if(t&&Bt.has(t)){let{resolve:n,timer:a}=Bt.get(t);clearTimeout(a),Bt.delete(t),n({type:e,...i});return}switch(e){case"output":as("output",{sessionId:i.sessionId,data:Buffer.from(i.data,"base64")});break;case"sessionClosed":as("sessionClosed",i.sessionId);break;case"sessionRenamed":as("sessionRenamed",{sessionId:i.sessionId,name:i.name});break;case"pong":break;default:console.log("[DaemonClient] Unknown message:",e)}}function zl(){return new Promise(s=>{let e=_a.default.connect(Si),t=setTimeout(()=>{e.destroy(),s(!1)},1e3);e.on("connect",()=>{clearTimeout(t),e.destroy(),s(!0)}),e.on("error",()=>{if(clearTimeout(t),process.platform!=="win32"&&$.default.existsSync(Si))try{$.default.unlinkSync(Si)}catch{}s(!1)})})}function Mx(){if($.default.existsSync(We)||$.default.mkdirSync(We,{recursive:!0}),$.default.existsSync(ns))return ns;console.log("[DaemonClient] Looking for daemon script..."),console.log("[DaemonClient] __dirname:",Sa),console.log("[DaemonClient] Check 1 (source):",wi,"exists:",$.default.existsSync(wi)),console.log("[DaemonClient] Check 2 (dist):",_i,"exists:",$.default.existsSync(_i));let s=null;if($.default.existsSync(wi)?s=wi:$.default.existsSync(_i)&&(s=_i),!s)return console.error("[DaemonClient] \u274C Daemon script not found"),null;try{return $.default.copyFileSync(s,ns),console.log("[DaemonClient] Copied daemon to:",ns),ns}catch(e){return console.error("[DaemonClient] Failed to copy daemon script:",e.message),s}}async function qx(){if(!$.default.existsSync(We))try{$.default.mkdirSync(We,{recursive:!0})}catch(n){return console.error("[DaemonClient] Failed to create socket directory:",n.message),!1}let s=Mx();if(!s)return!1;console.log("[DaemonClient] Starting PTY Daemon from:",s);let e=$e.default.join(We,"daemon.log"),t;try{t=$.default.openSync(e,"a")}catch(n){console.error("[DaemonClient] Failed to open log file:",n.message),t="ignore"}let i=(0,Ul.spawn)("node",[s],{detached:!0,stdio:["ignore",t,t],cwd:We});if(i.unref(),typeof t=="number")try{$.default.closeSync(t)}catch{}console.log("[DaemonClient] Spawned daemon process, PID:",i.pid);for(let n=0;n<20;n++){if(await new Promise(a=>setTimeout(a,100)),await zl())return console.log("[DaemonClient] \u2705 Daemon started successfully"),!0;n%5===0&&console.log(`[DaemonClient] Waiting for daemon... (${n*100}ms)`)}return console.error("[DaemonClient] \u274C Failed to start daemon after 2s"),console.error("[DaemonClient] Check logs at:",e),!1}async function Wl(){if(!(It||ze)){ze=!0;try{return!await zl()&&(console.log("[DaemonClient] Daemon not running, attempting to start..."),!await qx())?(console.error("[DaemonClient] \u274C Failed to start daemon"),ze=!1,!1):(console.log("[DaemonClient] Connecting to daemon..."),new Promise(s=>{let e=setTimeout(()=>{console.error("[DaemonClient] \u274C Connection timeout after 5s"),be&&be.destroy(),ze=!1,s(!1)},5e3);be=_a.default.connect(Si),be.on("connect",()=>{clearTimeout(e),console.log("[DaemonClient] \u2705 Connected to daemon"),It=!0,ze=!1,as("connected"),s(!0)}),be.on("data",t=>{wa+=t.toString();let i=wa.split(`
23
+ `);wa=i.pop()||"";for(let n of i)if(n.trim())try{Lx(JSON.parse(n))}catch{console.error("[DaemonClient] Invalid message:",n)}}),be.on("close",()=>{console.log("[DaemonClient] Disconnected from daemon"),It=!1,be=null,as("disconnected"),setTimeout(()=>{!It&&!ze&&(console.log("[DaemonClient] Attempting to reconnect..."),Wl())},2e3)}),be.on("error",t=>{clearTimeout(e),console.error("[DaemonClient] \u274C Connection error:",t.message),console.error("[DaemonClient] Error code:",t.code),ze=!1,s(!1)})}))}catch(s){return console.error("[DaemonClient] \u274C Connect error:",s),ze=!1,!1}}}async function $l(){return Wl()}function Re(){return It}async function Vl(){return(await rs({type:"listSessions"})).sessions||[]}async function Gl(s,e=80,t=24){let i=`session-${Date.now()}`;return await rs({type:"createSession",sessionId:i,name:s,cols:e,rows:t})}async function Kl(s){return await rs({type:"joinSession",sessionId:s})}function Ca(s,e){return Ea({type:"input",sessionId:s,data:e})}function Yl(s,e,t){return Ea({type:"resize",sessionId:s,cols:e,rows:t})}async function Xl(s){return await rs({type:"deleteSession",sessionId:s})}async function Jl(s,e){return await rs({type:"renameSession",sessionId:s,name:e})}var P=new Map,Ae="daemon",Oi=ye.default.join(Mt.default.homedir(),".9remote","sessions.json"),Oa="/tmp/9remote-uploads";function Ux(){try{if(T.default.existsSync(Oi))return JSON.parse(T.default.readFileSync(Oi,"utf8"))}catch(s){console.log("\u26A0\uFE0F Failed to load session metadata:",s.message)}return{}}function Ql(){try{let s={};for(let[t,i]of P)s[t]={name:i.name,createdAt:i.createdAt};let e=ye.default.dirname(Oi);T.default.existsSync(e)||T.default.mkdirSync(e,{recursive:!0}),T.default.writeFileSync(Oi,JSON.stringify(s,null,2),"utf8")}catch(s){console.log("\u26A0\uFE0F Failed to save session metadata:",s.message)}}T.default.existsSync(Oa)||T.default.mkdirSync(Oa,{recursive:!0});var ki=0,os=null,Hx=6e4;function Lt(){return process.env.CODESPACES==="true"}function zx(){return Lt()?{isCodespaces:!0,codespaceName:process.env.CODESPACE_NAME||"unknown",workspacePath:process.env.CODESPACE_VSCODE_FOLDER||process.cwd()}:null}var Wx={name:"9Remote",postCreateCommand:"npm install -g 9remote@latest",postAttachCommand:"9remote start",forwardPorts:[2208],portsAttributes:{2208:{label:"9Remote Server",onAutoForward:"notify"}}};function tp(s){return ye.default.join(s,".devcontainer","devcontainer.json")}function $x(s){try{let e=tp(s);if(!T.default.existsSync(e))return{enabled:!1,exists:!1};let t=T.default.readFileSync(e,"utf8"),i=JSON.parse(t);return{enabled:i.postAttachCommand==="9remote start"||i.postAttachCommand==="9remote",exists:!0}}catch{return{enabled:!1,exists:!1,error:"Failed to read config"}}}function Vx(s,e){try{let t=ye.default.join(s,".devcontainer"),i=tp(s);T.default.existsSync(t)||T.default.mkdirSync(t,{recursive:!0});let n={...Wx};if(T.default.existsSync(i))try{n={...JSON.parse(T.default.readFileSync(i,"utf8"))}}catch{}return e?(n.postAttachCommand="9remote start",n.postCreateCommand||(n.postCreateCommand="npm install -g 9remote@latest")):delete n.postAttachCommand,T.default.writeFileSync(i,JSON.stringify(n,null,2)),{success:!0,enabled:e}}catch(t){return{success:!1,error:t.message}}}function Gx(){os||(os=setInterval(()=>{process.memoryUsage()},Hx))}function Kx(){os&&(console.log("\u23F8\uFE0F Stopping Codespaces heartbeat"),clearInterval(os),os=null)}function Ra(){return process.platform==="win32"?process.env.COMSPEC||"powershell.exe":process.env.SHELL||"/bin/zsh"}function Zl(){return Lt()?"/workspaces":Mt.default.homedir()}function ep(){let s=Mt.default.homedir(),e=Mt.default.userInfo().username,t=Ra(),i={...process.env};return Object.assign(i,{HOME:s,USER:e,LOGNAME:e,SHELL:t,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",PWD:s,OLDPWD:s,TMPDIR:i.TMPDIR||(process.platform==="win32"?i.TEMP||i.TMP:"/tmp"),__CF_USER_TEXT_ENCODING:i.__CF_USER_TEXT_ENCODING,XPC_FLAGS:i.XPC_FLAGS,XPC_SERVICE_NAME:i.XPC_SERVICE_NAME,SSH_AUTH_SOCK:i.SSH_AUTH_SOCK,TERM_PROGRAM:"9Remote",TERM_PROGRAM_VERSION:"1.0.0",ITERM_SESSION_ID:`9remote-${Date.now()}`,SHLVL:"1"}),i}var qt=ye.default.join(Mt.default.homedir(),".9remote","buffers");function sp(){T.default.existsSync(qt)||T.default.mkdirSync(qt,{recursive:!0})}function Ti(s,e){if(Ae!=="buffer")return;sp();let t=ye.default.join(qt,`${s}.buf`);try{let i=e.join("");T.default.writeFileSync(t,i,"utf8")}catch(i){console.log(`\u26A0\uFE0F Failed to save buffer for ${s}:`,i.message)}}function Yx(s){if(Ae!=="buffer")return null;let e=ye.default.join(qt,`${s}.buf`);try{if(T.default.existsSync(e))return T.default.readFileSync(e,"utf8")}catch(t){console.log(`\u26A0\uFE0F Failed to load buffer for ${s}:`,t.message)}return null}function ka(s){let e=ye.default.join(qt,`${s}.buf`);try{T.default.existsSync(e)&&T.default.unlinkSync(e)}catch{}}function Xx(){sp();try{return T.default.readdirSync(qt).filter(e=>e.endsWith(".buf")).map(e=>e.replace(".buf",""))}catch{return[]}}var Jx=null;async function ip(){if(Ae==="daemon")if(!await $l())console.error("\u274C Failed to connect to PTY daemon, falling back to buffer mode");else{let i=await Vl();for(let n of i)P.set(n.id,{daemon:!0,name:n.name,createdAt:n.createdAt});i.length>0?console.log(`\u2705 Connected to daemon with ${i.length} session(s)`):console.log("\u2705 Connected to PTY daemon");return}console.log("\u{1F4E6} Buffer persistence mode - scrollback enabled");let s=Xx(),e=Ux();for(let t of s){let i=e[t]||{};P.set(t,{pty:null,name:i.name||`Terminal ${P.size+1}`,createdAt:i.createdAt||Date.now(),buffer:[],needsRestore:!0}),console.log(`\u{1F504} Found saved session: ${t}`)}s.length>0&&console.log(`\u2705 Found ${s.length} saved session(s)`)}function np(s){Jx=s,Ae==="daemon"&&(Ci("output",({sessionId:e,data:t})=>{s.emit("output",{sessionId:e,data:t})}),Ci("sessionClosed",e=>{P.delete(e),s.emit("sessionClosed",e)}),Ci("sessionRenamed",({sessionId:e,name:t})=>{let i=P.get(e);i&&(i.name=t),s.emit("session-renamed",{sessionId:e,name:t})})),s.on("connection",e=>{console.log(`\u{1F4DF} Terminal client connected: ${e.id}`),ki++,Lt()&&ki===1&&Gx(),e.emit("serverInfo",{remoteAvailable:Ml(),daemonMode:Ae==="daemon"&&Re(),...zx()}),e.on("getSessions",t=>{let i=[];for(let[n,a]of P)i.push({id:n,name:a.name,createdAt:a.createdAt,restored:a.restored||!1});t(i)}),e.on("createSession",async({name:t},i)=>{let n=`session-${Date.now()}`,a=Ra(),r=ep(),c=Zl();try{if(Ae==="daemon"&&Re()){let d=await Gl(t,80,24);d.success?(P.set(d.sessionId,{daemon:!0,name:t||`Terminal ${P.size+1}`,createdAt:Date.now()}),i({success:!0,sessionId:d.sessionId})):i({success:!1,error:d.error});return}let o=process.platform==="win32"?[]:["-l"],l=Ta.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:c,env:r,useConpty:!1});sessionData={pty:l,name:t||`Terminal ${P.size+1}`,createdAt:Date.now(),buffer:[]};let p=50*1024,u=null;l.onData(d=>{sessionData.buffer.push(d);let h=sessionData.buffer.reduce((m,f)=>m+f.length,0);for(;h>p&&sessionData.buffer.length>1;){let m=sessionData.buffer.shift();h-=m.length}s.emit("output",{sessionId:n,data:Buffer.from(d,"utf-8")}),Ae==="buffer"&&(u&&clearTimeout(u),u=setTimeout(()=>{Ti(n,sessionData.buffer)},2e3))}),l.onExit(({exitCode:d})=>{console.log(`PTY exited: sessionId=${n}, code=${d}`),Ae==="buffer"&&sessionData.buffer.length>0&&Ti(n,sessionData.buffer),P.delete(n),ka(n),s.emit("sessionClosed",n)}),console.log(`PTY created: sessionId=${n}, name=${t}`),P.set(n,sessionData),i({success:!0,sessionId:n})}catch(o){console.error("Failed to create session:",o),i({success:!1,error:o.message})}}),e.on("joinSession",async(t,i)=>{let n=P.get(t);if(!n){i({success:!1,error:"Session not found"});return}if(n.daemon&&Re()){try{let a=await Kl(t);i({success:a.success,name:a.name,error:a.error})}catch(a){i({success:!1,error:a.message})}return}if(n.needsRestore&&Ae==="buffer")try{let a=Ra(),r=ep(),c=Zl(),o=process.platform==="win32"?[]:["-l"],l=Ta.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:c,env:r,useConpty:!1});n.pty=l,n.needsRestore=!1;let p=Yx(t);p&&(n.buffer=[p]);let u=50*1024,d=null;l.onData(h=>{n.buffer.push(h);let m=n.buffer.reduce((f,v)=>f+v.length,0);for(;m>u&&n.buffer.length>1;){let f=n.buffer.shift();m-=f.length}s.emit("output",{sessionId:t,data:Buffer.from(h,"utf-8")}),d&&clearTimeout(d),d=setTimeout(()=>{Ti(t,n.buffer)},2e3)}),l.onExit(({exitCode:h})=>{console.log(`PTY exited: sessionId=${t}, code=${h}`),n.buffer.length>0&&Ti(t,n.buffer),P.delete(t),ka(t),s.emit("sessionClosed",t)}),console.log(`\u2705 Restored PTY session: ${t}`)}catch(a){console.error("Failed to restore session:",a),i({success:!1,error:"Failed to restore session"});return}if(n.buffer&&n.buffer.length>0){let a=n.buffer.join("");e.emit("output",{sessionId:t,data:Buffer.from(a,"utf-8")})}i({success:!0,name:n.name})}),e.on("input",({sessionId:t,data:i})=>{if(!t)return;let n=P.get(t);if(n){if(n.daemon&&Re()){Ca(t,i);return}let a=Buffer.isBuffer(i)?i.toString("utf-8"):i;n.pty&&n.pty.write(a)}}),e.on("upload-file",({sessionId:t,filename:i,size:n,type:a,content:r})=>{if(!t)return;let c=P.get(t);if(c)try{let o=Date.now(),l=i.replace(/[^a-zA-Z0-9._-]/g,"_"),p=`${o}_${l}`,u=ye.default.join(Oa,p),d=Buffer.from(r,"base64");T.default.writeFileSync(u,d),console.log(`\u{1F4CE} File uploaded: ${u} (${n} bytes)`),c.daemon&&Re()?Ca(t,u):c.pty&&c.pty.write(u)}catch(o){console.error("File upload error:",o),e.emit("output",{sessionId:t,data:Buffer.from(`\r
24
24
  Error uploading file: ${o.message}\r
25
- `,"utf-8")})}}),e.on("resize",({sessionId:t,cols:i,rows:n})=>{if(!t)return;let a=P.get(t);if(a){if(a.daemon&&Re()){Yl(t,i,n);return}if(a.pty)try{a.pty.resize(i,n)}catch(r){console.log(`Resize failed for ${t}: ${r.message}`)}}}),e.on("deleteSession",async(t,i)=>{let n=P.get(t);if(n){if(n.daemon&&Re()){try{await Xl(t),P.delete(t),i({success:!0})}catch(a){i({success:!1,error:a.message})}return}n.pty&&n.pty.kill(),P.delete(t),Sa(t),s.emit("sessionClosed",t),Ql(),i({success:!0})}else i({success:!1,error:"Session not found"})}),e.on("renameSession",async({sessionId:t,name:i},n)=>{let a=P.get(t);if(a){if(a.daemon&&Re()){try{await Jl(t,i),a.name=i,n({success:!0})}catch(r){n({success:!1,error:r.message})}return}a.name=i,s.emit("session-renamed",{sessionId:t,name:i}),Ql(),n({success:!0})}else n({success:!1,error:"Session not found"})}),e.on("getAutoStartStatus",t=>{if(!Lt()){t({success:!1,error:"Not in Codespaces"});return}let i=process.env.CODESPACE_VSCODE_FOLDER||process.cwd(),n=$x(i);t({success:!0,...n})}),e.on("setAutoStart",({enabled:t},i)=>{if(!Lt()){i({success:!1,error:"Not in Codespaces"});return}let n=process.env.CODESPACE_VSCODE_FOLDER||process.cwd(),a=Vx(n,t);i(a)}),e.on("disconnect",()=>{console.log(`\u{1F4DF} Terminal client disconnected: ${e.id}`),Ei--,Lt()&&Ei===0&&Kx()})})}var _=R(require("fs"),1),je=R(require("path"),1),Ft=R(require("os"),1),Pe=require("child_process");var ap=["node_modules",".git"],rp=[".png",".jpg",".jpeg",".gif",".webp",".ico",".svg",".bmp",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".wav",".avi",".mov",".webm",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db"];function op(s){return ap.includes(s)}function os(s){let e=je.default.extname(s).toLowerCase();return rp.includes(e)}function Qx(s,e){return s.isDirectory()?"folder":os(e)?"binary":"file"}function Ti(s){return s<1024?`${s}B`:s<1024*1024?`${(s/1024).toFixed(1)}KB`:`${(s/(1024*1024)).toFixed(1)}MB`}function cp(s,e,t,i=50){if(!(t.length>=i))try{let n=_.default.readdirSync(s);for(let a of n){if(t.length>=i)return;if(a.startsWith(".")||op(a))continue;let r=je.default.join(s,a);try{let c=_.default.statSync(r);c.isDirectory()?cp(r,e,t,i):a.toLowerCase().includes(e.toLowerCase())&&t.push({name:a,path:r,type:os(a)?"binary":"file",size:c.size,sizeFormatted:Ti(c.size)})}catch{}}}catch{}}function Zx(){if(process.platform!=="win32")return[];try{return(0,Pe.execSync)("wmic logicaldisk get name",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).split(/\r?\n/).map(t=>t.trim()).filter(t=>/^[A-Z]:$/.test(t)).map(t=>({letter:t[0],path:t+"\\"}))}catch{let s=[];for(let e of"CDEFGHIJ"){let t=`${e}:\\`;_.default.existsSync(t)&&s.push({letter:e,path:t})}return s}}function lp(s){s.on("connection",e=>{e.on("getSystemInfo",t=>{let i=process.platform,n=i==="win32";t({success:!0,platform:i,isWindows:n,drives:n?Zx():[],homedir:Ft.default.homedir()})}),e.on("getFiles",({dirPath:t},i)=>{try{let n=t||Ft.default.homedir(),a=t?.startsWith("~")?t.replace("~",Ft.default.homedir()):n;if(!_.default.existsSync(a)){i({success:!1,error:"Directory not found"});return}let r=_.default.readdirSync(a),c=[];for(let o of r)if(!(o.startsWith(".")&&o!==".env"&&o!==".env.example")&&!op(o))try{let l=je.default.join(a,o),p=_.default.statSync(l);c.push({name:o,path:l,type:Qx(p,o),size:p.isFile()?p.size:null,sizeFormatted:p.isFile()?Ti(p.size):null,modified:p.mtime.getTime()})}catch{}c.sort((o,l)=>o.type==="folder"&&l.type!=="folder"?-1:o.type!=="folder"&&l.type==="folder"?1:o.name.localeCompare(l.name)),i({success:!0,files:c,currentPath:a,parentPath:je.default.dirname(a)})}catch(n){i({success:!1,error:n.message})}}),e.on("searchFiles",({workspace:t,query:i},n)=>{try{if(!i||i.length<2){n({success:!0,files:[]});return}let a=t?.startsWith("~")?t.replace("~",Ft.default.homedir()):t||Ft.default.homedir();if(!_.default.existsSync(a)){n({success:!1,error:"Workspace not found"});return}let r=[];cp(a,i,r,50),r.sort((c,o)=>{let l=c.name.toLowerCase()===i.toLowerCase(),p=o.name.toLowerCase()===i.toLowerCase();return l&&!p?-1:!l&&p?1:c.path.length-o.path.length}),n({success:!0,files:r})}catch(a){n({success:!1,error:a.message})}}),e.on("readFile",({filePath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"File not found"});return}let n=_.default.statSync(t);if(n.size>204800){i({success:!1,error:`File too large (${Ti(n.size)}). Max ${Ti(204800)}`});return}if(os(t)){i({success:!1,error:"Cannot open binary file"});return}let a=_.default.readFileSync(t,"utf-8");i({success:!0,content:a})}catch(n){i({success:!1,error:n.message})}}),e.on("writeFile",({filePath:t,content:i},n)=>{try{_.default.writeFileSync(t,i,"utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("createItem",({itemPath:t,type:i},n)=>{try{if(_.default.existsSync(t)){n({success:!1,error:"Item already exists"});return}i==="folder"?_.default.mkdirSync(t,{recursive:!0}):_.default.writeFileSync(t,"","utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("deleteItem",({itemPath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"Item not found"});return}_.default.statSync(t).isDirectory()?_.default.rmSync(t,{recursive:!0}):_.default.unlinkSync(t),i({success:!0})}catch(n){i({success:!1,error:n.message})}}),e.on("renameItem",({oldPath:t,newPath:i},n)=>{try{if(!_.default.existsSync(t)){n({success:!1,error:"Item not found"});return}if(_.default.existsSync(i)){n({success:!1,error:"Target already exists"});return}_.default.renameSync(t,i),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("gitStatus",({repoPath:t},i)=>{try{let a=(0,Pe.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
25
+ `,"utf-8")})}}),e.on("resize",({sessionId:t,cols:i,rows:n})=>{if(!t)return;let a=P.get(t);if(a){if(a.daemon&&Re()){Yl(t,i,n);return}if(a.pty)try{a.pty.resize(i,n)}catch(r){console.log(`Resize failed for ${t}: ${r.message}`)}}}),e.on("deleteSession",async(t,i)=>{let n=P.get(t);if(n){if(n.daemon&&Re()){try{await Xl(t),P.delete(t),i({success:!0})}catch(a){i({success:!1,error:a.message})}return}n.pty&&n.pty.kill(),P.delete(t),ka(t),s.emit("sessionClosed",t),Ql(),i({success:!0})}else i({success:!1,error:"Session not found"})}),e.on("renameSession",async({sessionId:t,name:i},n)=>{let a=P.get(t);if(a){if(a.daemon&&Re()){try{await Jl(t,i),a.name=i,n({success:!0})}catch(r){n({success:!1,error:r.message})}return}a.name=i,s.emit("session-renamed",{sessionId:t,name:i}),Ql(),n({success:!0})}else n({success:!1,error:"Session not found"})}),e.on("getAutoStartStatus",t=>{if(!Lt()){t({success:!1,error:"Not in Codespaces"});return}let i=process.env.CODESPACE_VSCODE_FOLDER||process.cwd(),n=$x(i);t({success:!0,...n})}),e.on("setAutoStart",({enabled:t},i)=>{if(!Lt()){i({success:!1,error:"Not in Codespaces"});return}let n=process.env.CODESPACE_VSCODE_FOLDER||process.cwd(),a=Vx(n,t);i(a)}),e.on("disconnect",()=>{console.log(`\u{1F4DF} Terminal client disconnected: ${e.id}`),ki--,Lt()&&ki===0&&Kx()})})}var _=R(require("fs"),1),je=R(require("path"),1),Ft=R(require("os"),1),Pe=require("child_process");var ap=["node_modules",".git"],rp=[".png",".jpg",".jpeg",".gif",".webp",".ico",".svg",".bmp",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".wav",".avi",".mov",".webm",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db"];function op(s){return ap.includes(s)}function cs(s){let e=je.default.extname(s).toLowerCase();return rp.includes(e)}function Qx(s,e){return s.isDirectory()?"folder":cs(e)?"binary":"file"}function Ri(s){return s<1024?`${s}B`:s<1024*1024?`${(s/1024).toFixed(1)}KB`:`${(s/(1024*1024)).toFixed(1)}MB`}function cp(s,e,t,i=50){if(!(t.length>=i))try{let n=_.default.readdirSync(s);for(let a of n){if(t.length>=i)return;if(a.startsWith(".")||op(a))continue;let r=je.default.join(s,a);try{let c=_.default.statSync(r);c.isDirectory()?cp(r,e,t,i):a.toLowerCase().includes(e.toLowerCase())&&t.push({name:a,path:r,type:cs(a)?"binary":"file",size:c.size,sizeFormatted:Ri(c.size)})}catch{}}}catch{}}function Zx(){if(process.platform!=="win32")return[];try{return(0,Pe.execSync)("wmic logicaldisk get name",{encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).split(/\r?\n/).map(t=>t.trim()).filter(t=>/^[A-Z]:$/.test(t)).map(t=>({letter:t[0],path:t+"\\"}))}catch{let s=[];for(let e of"CDEFGHIJ"){let t=`${e}:\\`;_.default.existsSync(t)&&s.push({letter:e,path:t})}return s}}function lp(s){s.on("connection",e=>{e.on("getSystemInfo",t=>{let i=process.platform,n=i==="win32";t({success:!0,platform:i,isWindows:n,drives:n?Zx():[],homedir:Ft.default.homedir()})}),e.on("getFiles",({dirPath:t},i)=>{try{let n=t||Ft.default.homedir(),a=t?.startsWith("~")?t.replace("~",Ft.default.homedir()):n;if(!_.default.existsSync(a)){i({success:!1,error:"Directory not found"});return}let r=_.default.readdirSync(a),c=[];for(let o of r)if(!(o.startsWith(".")&&o!==".env"&&o!==".env.example")&&!op(o))try{let l=je.default.join(a,o),p=_.default.statSync(l);c.push({name:o,path:l,type:Qx(p,o),size:p.isFile()?p.size:null,sizeFormatted:p.isFile()?Ri(p.size):null,modified:p.mtime.getTime()})}catch{}c.sort((o,l)=>o.type==="folder"&&l.type!=="folder"?-1:o.type!=="folder"&&l.type==="folder"?1:o.name.localeCompare(l.name)),i({success:!0,files:c,currentPath:a,parentPath:je.default.dirname(a)})}catch(n){i({success:!1,error:n.message})}}),e.on("searchFiles",({workspace:t,query:i},n)=>{try{if(!i||i.length<2){n({success:!0,files:[]});return}let a=t?.startsWith("~")?t.replace("~",Ft.default.homedir()):t||Ft.default.homedir();if(!_.default.existsSync(a)){n({success:!1,error:"Workspace not found"});return}let r=[];cp(a,i,r,50),r.sort((c,o)=>{let l=c.name.toLowerCase()===i.toLowerCase(),p=o.name.toLowerCase()===i.toLowerCase();return l&&!p?-1:!l&&p?1:c.path.length-o.path.length}),n({success:!0,files:r})}catch(a){n({success:!1,error:a.message})}}),e.on("readFile",({filePath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"File not found"});return}let n=_.default.statSync(t);if(n.size>204800){i({success:!1,error:`File too large (${Ri(n.size)}). Max ${Ri(204800)}`});return}if(cs(t)){i({success:!1,error:"Cannot open binary file"});return}let a=_.default.readFileSync(t,"utf-8");i({success:!0,content:a})}catch(n){i({success:!1,error:n.message})}}),e.on("writeFile",({filePath:t,content:i},n)=>{try{_.default.writeFileSync(t,i,"utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("createItem",({itemPath:t,type:i},n)=>{try{if(_.default.existsSync(t)){n({success:!1,error:"Item already exists"});return}i==="folder"?_.default.mkdirSync(t,{recursive:!0}):_.default.writeFileSync(t,"","utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("deleteItem",({itemPath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"Item not found"});return}_.default.statSync(t).isDirectory()?_.default.rmSync(t,{recursive:!0}):_.default.unlinkSync(t),i({success:!0})}catch(n){i({success:!1,error:n.message})}}),e.on("renameItem",({oldPath:t,newPath:i},n)=>{try{if(!_.default.existsSync(t)){n({success:!1,error:"Item not found"});return}if(_.default.existsSync(i)){n({success:!1,error:"Target already exists"});return}_.default.renameSync(t,i),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("gitStatus",({repoPath:t},i)=>{try{let a=(0,Pe.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
26
26
  `).filter(Boolean),r=[],c={};try{(0,Pe.execSync)("git diff HEAD --numstat",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
27
- `).filter(Boolean).forEach(l=>{let p=l.split(" ");if(p.length>=3){let u=p[0]==="-"?0:parseInt(p[0],10)||0,d=p[1]==="-"?0:parseInt(p[1],10)||0;c[p[2]]={added:u,deleted:d}}})}catch{}for(let o of a){let l=o.match(/^([MADRCU?! ]{1,2})\s+(.+)$/);if(!l)continue;let p=l[1],u=l[2];if(!u)continue;let d;p.includes("?")?d="?":p.includes("A")?d="A":p.includes("D")?d="D":p.includes("M")?d="M":p.includes("R")?d="R":d=p.trim()[0]||"?";let h=c[u]||{added:0,deleted:0};if(d==="?")try{let m=je.default.join(t,u);if(_.default.existsSync(m)&&!os(u)){let f=_.default.readFileSync(m,"utf-8");h.added=f.split(`
27
+ `).filter(Boolean).forEach(l=>{let p=l.split(" ");if(p.length>=3){let u=p[0]==="-"?0:parseInt(p[0],10)||0,d=p[1]==="-"?0:parseInt(p[1],10)||0;c[p[2]]={added:u,deleted:d}}})}catch{}for(let o of a){let l=o.match(/^([MADRCU?! ]{1,2})\s+(.+)$/);if(!l)continue;let p=l[1],u=l[2];if(!u)continue;let d;p.includes("?")?d="?":p.includes("A")?d="A":p.includes("D")?d="D":p.includes("M")?d="M":p.includes("R")?d="R":d=p.trim()[0]||"?";let h=c[u]||{added:0,deleted:0};if(d==="?")try{let m=je.default.join(t,u);if(_.default.existsSync(m)&&!cs(u)){let f=_.default.readFileSync(m,"utf-8");h.added=f.split(`
28
28
  `).length,h.deleted=0}}catch{}r.push({status:d,path:u,added:h.added,deleted:h.deleted})}i({success:!0,files:r})}catch{i({success:!1,error:"Not a git repository or git not available"})}}),e.on("gitDiff",({repoPath:t,file:i,status:n},a)=>{try{let r="";if(i&&n==="?"){let c=je.default.join(t,i);if(_.default.existsSync(c)){let l=_.default.readFileSync(c,"utf-8").split(`
29
29
  `);r=`diff --git a/${i} b/${i}
30
30
  new file mode 100644
@@ -33,7 +33,7 @@ new file mode 100644
33
33
  @@ -0,0 +1,${l.length} @@
34
34
  ${l.map(p=>`+${p}`).join(`
35
35
  `)}`}}else if(i){let c=`git diff HEAD -- "${i}"`;r=(0,Pe.execSync)(c,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}else{r=(0,Pe.execSync)("git diff HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]});let o=(0,Pe.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
36
- `).filter(l=>l.startsWith("??")).map(l=>l.substring(3));for(let l of o){let p=je.default.join(t,l);if(_.default.existsSync(p)&&!os(l))try{if(_.default.statSync(p).size<=204800){let h=_.default.readFileSync(p,"utf-8").split(`
36
+ `).filter(l=>l.startsWith("??")).map(l=>l.substring(3));for(let l of o){let p=je.default.join(t,l);if(_.default.existsSync(p)&&!cs(l))try{if(_.default.statSync(p).size<=204800){let h=_.default.readFileSync(p,"utf-8").split(`
37
37
  `);r+=`
38
38
  diff --git a/${l} b/${l}
39
39
  new file mode 100644
@@ -41,8 +41,8 @@ new file mode 100644
41
41
  +++ b/${l}
42
42
  @@ -0,0 +1,${h.length} @@
43
43
  ${h.map(m=>`+${m}`).join(`
44
- `)}`}}catch{}}}a({success:!0,diff:r})}catch(r){a({success:!1,error:r.message})}}),e.on("gitDiscard",({repoPath:t,file:i,status:n},a)=>{try{if(!i){a({success:!1,error:"No file specified"});return}let r=je.default.join(t,i);n==="?"?_.default.existsSync(r)&&(_.default.statSync(r).isDirectory()?_.default.rmSync(r,{recursive:!0}):_.default.unlinkSync(r)):n==="A"?((0,Pe.execSync)(`git reset HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),_.default.existsSync(r)&&_.default.unlinkSync(r)):(0,Pe.execSync)(`git checkout HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),a({success:!0})}catch(r){a({success:!1,error:r.message})}})})}async function pp(s){let e=new yl(s,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:6e4,pingInterval:25e3});return await Nl(),np(e),Bl(e),lp(e),e}var up=R(require("http"),1),dp=R(require("https"),1),fp=require("child_process"),mp=require("util"),ev=(0,mp.promisify)(fp.exec);async function tv(){let s=process.platform,e=new Set([80,443]);try{let t;if(s==="win32")t="netstat -ano | findstr LISTENING";else{let a="/dev/null";t=`lsof -iTCP -sTCP:LISTEN -P -n 2>${a} || netstat -tlnp 2>${a}`}let{stdout:i}=await ev(t),n=i.split(`
45
- `);for(let a of n){let r=a.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(r)for(let c of r){let o=parseInt(c.replace(/[:\*\]\s]/g,""),10);o>0&&o<=65535&&(o===80||o===443||o>=1024)&&e.add(o)}}return Array.from(e)}catch(t){return console.error("Failed to get listening ports:",t.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function sv(s,e=2e3){return new Promise(t=>{let i=up.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"http",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}function iv(s,e=2e3){return new Promise(t=>{let i=dp.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"https",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}async function nv(s){let[e,t]=await Promise.all([sv(s),iv(s)]);return t.active?{port:s,...t}:e.active?{port:s,...e}:{port:s,active:!1}}async function hp(){let s=await tv();return(await Promise.all(s.map(t=>nv(t)))).filter(t=>t.active).map(t=>({port:t.port,protocol:t.protocol,url:`${t.protocol}://localhost:${t.port}`,name:`localhost:${t.port}`,status:t.status})).sort((t,i)=>t.port-i.port)}var xp=R(require("crypto"),1),av=process.env.API_KEY_SECRET||"9remote-api-key-secret";function rv(s,e){return xp.default.createHmac("sha256",av).update(s+e).digest("hex").slice(0,8)}function ov(s){if(!s||!s.startsWith("sk-"))return null;let e=s.split("-");if(e.length===4){let[,t,i,n]=e,a=rv(t,i);return n!==a?null:{machineId:t,keyId:i}}return null}function vp(s){return ov(s)!==null}async function gp(s,e){let t=s.headers.authorization;if(!t||!t.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let i=t.slice(7);if(!vp(i)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let n=await hp();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(n))}function bp(s){s.setHeader("Access-Control-Allow-Origin","*"),s.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),s.setHeader("Access-Control-Allow-Headers","*"),s.setHeader("Access-Control-Allow-Credentials","true")}function yp(s,e){return s.method==="OPTIONS"?(e.writeHead(200),e.end(),!0):!1}var Ht=require("zlib"),su=R(Qp(),1);var Iv=["data:","javascript:","#","mailto:","blob:"],Bv=["href","src","action","srcset","poster","data","formaction","data-src","data-href","data-url","data-background"];function Pi(s,e){return!s||Iv.some(t=>s.startsWith(t))||s.startsWith("/proxy/")?s:s.startsWith(`http://localhost:${e}`)?s.replace(`http://localhost:${e}`,`/proxy/${e}`):s.startsWith("/")&&!s.startsWith("//")?`/proxy/${e}${s}`:s}function Zp(s,e){let t=`/proxy/${e}`,i=new RegExp(`(${Bv.join("|")})=(["'])([^"']*?)\\2`,"gi");return s=s.replace(i,(n,a,r,c)=>{if(a.toLowerCase()==="srcset"){let o=c.split(",").map(l=>{let[p,...u]=l.trim().split(/\s+/),d=Pi(p,e);return u.length?`${d} ${u.join(" ")}`:d}).join(", ");return`${a}=${r}${o}${r}`}return`${a}=${r}${Pi(c,e)}${r}`}),s=s.replace(/url\(\s*(["']?)(\/_next\/[^)"']+)\1\s*\)/gi,(n,a,r)=>`url(${a}${t}${r}${a})`),s=s.replace(/"(\/_next\/[^"]+)"/g,(n,a)=>`"${t}${a}"`),s}function eu(s){let e=`/proxy/${s}`;return`
44
+ `)}`}}catch{}}}a({success:!0,diff:r})}catch(r){a({success:!1,error:r.message})}}),e.on("gitDiscard",({repoPath:t,file:i,status:n},a)=>{try{if(!i){a({success:!1,error:"No file specified"});return}let r=je.default.join(t,i);n==="?"?_.default.existsSync(r)&&(_.default.statSync(r).isDirectory()?_.default.rmSync(r,{recursive:!0}):_.default.unlinkSync(r)):n==="A"?((0,Pe.execSync)(`git reset HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),_.default.existsSync(r)&&_.default.unlinkSync(r)):(0,Pe.execSync)(`git checkout HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),a({success:!0})}catch(r){a({success:!1,error:r.message})}})})}async function pp(s){let e=new Sl(s,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:6e4,pingInterval:25e3});return await Ll(),np(e),ql(e),lp(e),e}var up=R(require("http"),1),dp=R(require("https"),1),fp=require("child_process"),mp=require("util"),ev=(0,mp.promisify)(fp.exec);async function tv(){let s=process.platform,e=new Set([80,443]);try{let t;if(s==="win32")t="netstat -ano | findstr LISTENING";else{let a="/dev/null";t=`lsof -iTCP -sTCP:LISTEN -P -n 2>${a} || netstat -tlnp 2>${a}`}let{stdout:i}=await ev(t),n=i.split(`
45
+ `);for(let a of n){let r=a.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(r)for(let c of r){let o=parseInt(c.replace(/[:\*\]\s]/g,""),10);o>0&&o<=65535&&(o===80||o===443||o>=1024)&&e.add(o)}}return Array.from(e)}catch(t){return console.error("Failed to get listening ports:",t.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function sv(s,e=2e3){return new Promise(t=>{let i=up.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"http",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}function iv(s,e=2e3){return new Promise(t=>{let i=dp.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"https",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}async function nv(s){let[e,t]=await Promise.all([sv(s),iv(s)]);return t.active?{port:s,...t}:e.active?{port:s,...e}:{port:s,active:!1}}async function hp(){let s=await tv();return(await Promise.all(s.map(t=>nv(t)))).filter(t=>t.active).map(t=>({port:t.port,protocol:t.protocol,url:`${t.protocol}://localhost:${t.port}`,name:`localhost:${t.port}`,status:t.status})).sort((t,i)=>t.port-i.port)}var xp=R(require("crypto"),1),av=process.env.API_KEY_SECRET||"9remote-api-key-secret";function rv(s,e){return xp.default.createHmac("sha256",av).update(s+e).digest("hex").slice(0,8)}function ov(s){if(!s||!s.startsWith("sk-"))return null;let e=s.split("-");if(e.length===4){let[,t,i,n]=e,a=rv(t,i);return n!==a?null:{machineId:t,keyId:i}}return null}function vp(s){return ov(s)!==null}async function gp(s,e){let t=s.headers.authorization;if(!t||!t.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let i=t.slice(7);if(!vp(i)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let n=await hp();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(n))}function bp(s){s.setHeader("Access-Control-Allow-Origin","*"),s.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),s.setHeader("Access-Control-Allow-Headers","*"),s.setHeader("Access-Control-Allow-Credentials","true")}function yp(s,e){return s.method==="OPTIONS"?(e.writeHead(200),e.end(),!0):!1}var Ht=require("zlib"),su=R(Qp(),1);var Iv=["data:","javascript:","#","mailto:","blob:"],Bv=["href","src","action","srcset","poster","data","formaction","data-src","data-href","data-url","data-background"];function Di(s,e){return!s||Iv.some(t=>s.startsWith(t))||s.startsWith("/proxy/")?s:s.startsWith(`http://localhost:${e}`)?s.replace(`http://localhost:${e}`,`/proxy/${e}`):s.startsWith("/")&&!s.startsWith("//")?`/proxy/${e}${s}`:s}function Zp(s,e){let t=`/proxy/${e}`,i=new RegExp(`(${Bv.join("|")})=(["'])([^"']*?)\\2`,"gi");return s=s.replace(i,(n,a,r,c)=>{if(a.toLowerCase()==="srcset"){let o=c.split(",").map(l=>{let[p,...u]=l.trim().split(/\s+/),d=Di(p,e);return u.length?`${d} ${u.join(" ")}`:d}).join(", ");return`${a}=${r}${o}${r}`}return`${a}=${r}${Di(c,e)}${r}`}),s=s.replace(/url\(\s*(["']?)(\/_next\/[^)"']+)\1\s*\)/gi,(n,a,r)=>`url(${a}${t}${r}${a})`),s=s.replace(/"(\/_next\/[^"]+)"/g,(n,a)=>`"${t}${a}"`),s}function eu(s){let e=`/proxy/${s}`;return`
46
46
  // Service Worker for 9Remote Proxy - Port ${s}
47
47
  const PROXY_BASE = '${e}';
48
48
  const TARGET_PORT = ${s};
@@ -139,7 +139,7 @@ self.addEventListener('fetch', (event) => {
139
139
  });
140
140
  }
141
141
  })();
142
- </script>`}var Wa=new Set;function iu(s){Wa.add(String(s))}function nu(s){Wa.delete(String(s))}function Lv(s){return Wa.has(String(s))}function Mv(s){switch(s){case"gzip":return(0,Ht.createGunzip)();case"deflate":return(0,Ht.createInflate)();case"br":return(0,Ht.createBrotliDecompress)();default:return null}}function qv(s,e){if(s.includes("<head>"))return s.replace("<head>","<head>"+e);if(s.includes("<HEAD>"))return s.replace("<HEAD>","<HEAD>"+e);let t=s.match(/<head[^>]*>/i);return t?s.replace(t[0],t[0]+e):e+s}function au(){let s=su.default.createProxyServer({selfHandleResponse:!0});return s.on("proxyRes",(e,t,i)=>{let n=t._proxyTargetPort,a=e.headers["content-type"]||"",r=e.headers["content-encoding"]||"",c=a.includes("text/html"),o={...e.headers};if(o.location&&(o.location=Pi(o.location,n)),a.includes("application/json")||a.includes("text/x-component")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(a.includes("javascript")||a.includes("text/javascript")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(!c){i.writeHead(e.statusCode,o),e.pipe(i);return}delete o["content-length"],delete o["content-encoding"];let u=Mv(r),d=u?e.pipe(u):e,h=[];d.on("data",m=>h.push(m)),d.on("error",m=>{console.error("[Proxy] Decompress error:",m.message),i.writeHead(502),i.end("Bad Gateway: Decompression failed")}),d.on("end",()=>{let m=Buffer.concat(h).toString("utf8");m=Zp(m,n);let f=tu(n);m=qv(m,f),i.writeHead(e.statusCode,o),i.end(m)})}),s}function ru(s,e,t,i,n,a){if(n==="/sw.js"){let r=eu(i);t.writeHead(200,{"Content-Type":"application/javascript; charset=utf-8","Service-Worker-Allowed":"/","Cache-Control":"no-store, no-cache, must-revalidate"}),t.end(r);return}if(!Lv(i)){t.writeHead(401,{"Content-Type":"text/html"}),t.end(`
142
+ </script>`}var Ga=new Set;function iu(s){Ga.add(String(s))}function nu(s){Ga.delete(String(s))}function Lv(s){return Ga.has(String(s))}function Mv(s){switch(s){case"gzip":return(0,Ht.createGunzip)();case"deflate":return(0,Ht.createInflate)();case"br":return(0,Ht.createBrotliDecompress)();default:return null}}function qv(s,e){if(s.includes("<head>"))return s.replace("<head>","<head>"+e);if(s.includes("<HEAD>"))return s.replace("<HEAD>","<HEAD>"+e);let t=s.match(/<head[^>]*>/i);return t?s.replace(t[0],t[0]+e):e+s}function au(){let s=su.default.createProxyServer({selfHandleResponse:!0});return s.on("proxyRes",(e,t,i)=>{let n=t._proxyTargetPort,a=e.headers["content-type"]||"",r=e.headers["content-encoding"]||"",c=a.includes("text/html"),o={...e.headers};if(o.location&&(o.location=Di(o.location,n)),a.includes("application/json")||a.includes("text/x-component")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(a.includes("javascript")||a.includes("text/javascript")){i.writeHead(e.statusCode,o),e.pipe(i);return}if(!c){i.writeHead(e.statusCode,o),e.pipe(i);return}delete o["content-length"],delete o["content-encoding"];let u=Mv(r),d=u?e.pipe(u):e,h=[];d.on("data",m=>h.push(m)),d.on("error",m=>{console.error("[Proxy] Decompress error:",m.message),i.writeHead(502),i.end("Bad Gateway: Decompression failed")}),d.on("end",()=>{let m=Buffer.concat(h).toString("utf8");m=Zp(m,n);let f=tu(n);m=qv(m,f),i.writeHead(e.statusCode,o),i.end(m)})}),s}function ru(s,e,t,i,n,a){if(n==="/sw.js"){let r=eu(i);t.writeHead(200,{"Content-Type":"application/javascript; charset=utf-8","Service-Worker-Allowed":"/","Cache-Control":"no-store, no-cache, must-revalidate"}),t.end(r);return}if(!Lv(i)){t.writeHead(401,{"Content-Type":"text/html"}),t.end(`
143
143
  <!DOCTYPE html>
144
144
  <html>
145
145
  <head><title>Unauthorized</title></head>