tempest.games 0.0.13 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +29 -0
- package/app/DelveSystem-Regular.otf +0 -0
- package/app/Sudo-Code.otf +0 -0
- package/app/Theia0.2.300-300.otf +0 -0
- package/app/Theia0.2.400-400.otf +0 -0
- package/app/Theia0.2.500-500.otf +0 -0
- package/app/Uruz/Brahmin-0r.otf +0 -0
- package/app/Uruz/Brahmin-1r.otf +0 -0
- package/app/Uruz/Brahmin-2r.otf +0 -0
- package/app/Uruz/Brahmin-3r.otf +0 -0
- package/app/Uruz/Brahmin-4r.otf +0 -0
- package/app/Uruz/Brahmin-5r.otf +0 -0
- package/app/Uruz/Brahmin-6r.otf +0 -0
- package/app/Uruz/Brahmin-7r.otf +0 -0
- package/app/Uruz/Uruz-4c.otf +0 -0
- package/app/Uruz/Uruz-4cc.otf +0 -0
- package/app/Uruz/Uruz-4r.otf +0 -0
- package/app/Uruz/Uruz-5c.otf +0 -0
- package/app/Uruz/Uruz-5r.otf +0 -0
- package/app/Uruz/Uruz-6c.otf +0 -0
- package/app/Uruz/Uruz-6r.otf +0 -0
- package/app/Uruz/Uruz-7r.otf +0 -0
- package/app/assets/index-CTvfPidG.css +1 -0
- package/app/assets/index-CpJSDdLN.js +46 -0
- package/app/icons.ai +1543 -5
- package/app/index.html +2 -2
- package/app/kablooey.gif +0 -0
- package/app/love_yanone.ttf +0 -0
- package/app/react.svg +1 -0
- package/bin/backend.bun.js +36 -8
- package/bin/backend.worker.game.bun.js +1 -1
- package/bin/frontend.bun.js +27 -1
- package/package.json +35 -19
- package/app/assets/index-BLiTugnk.css +0 -1
- package/app/assets/index-TSjQta7U.js +0 -46
- package/app/vite.svg +0 -1
package/bin/backend.bun.js
CHANGED
|
@@ -1,35 +1,63 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var
|
|
3
|
+
var H4=Object.create;var{getPrototypeOf:E4,defineProperty:vv,getOwnPropertyNames:Q4}=Object;var U4=Object.prototype.hasOwnProperty;var wv=(n,i,o)=>{o=n!=null?H4(E4(n)):{};const c=i||!n||!n.__esModule?vv(o,"default",{value:n,enumerable:!0}):o;for(let p of Q4(n))if(!U4.call(c,p))vv(c,p,{get:()=>n[p],enumerable:!0});return c};var I=(n,i)=>()=>(i||n((i={exports:{}}).exports,i),i.exports);var tS=I((Bj,Cl)=>{function q4(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=P4(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function P4(n,i){var o=Z4.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{charset:c,q:p,i}}function e4(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=g4(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function g4(n,i,o){var c=0;if(i.charset.toLowerCase()===n.toLowerCase())c|=1;else if(i.charset!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function IS(n,i){var o=q4(n===void 0?"*":n||"");if(!i)return o.filter(DS).sort(hS).map(d4);var c=i.map(function p(a,x){return e4(a,o,x)});return c.filter(DS).sort(hS).map(function p(a){return i[c.indexOf(a)]})}function hS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function d4(n){return n.charset}function DS(n){return n.q>0}Cl.exports=IS;Cl.exports.preferredCharsets=IS;var Z4=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var qS=I((yj,kl)=>{function i8(n){var i=n.split(","),o=!1,c=1;for(var p=0,a=0;p<i.length;p++){var x=o8(i[p].trim(),p);if(x)i[a++]=x,o=o||rS("identity",x),c=Math.min(c,x.q||1)}if(!o)i[a++]={encoding:"identity",q:c,i:p};return i.length=a,i}function o8(n,i){var o=n8.exec(n);if(!o)return null;var c=o[1],p=1;if(o[2]){var a=o[2].split(";");for(var x=0;x<a.length;x++){var m=a[x].trim().split("=");if(m[0]==="q"){p=parseFloat(m[1]);break}}}return{encoding:c,q:p,i}}function c8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=rS(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function rS(n,i,o){var c=0;if(i.encoding.toLowerCase()===n.toLowerCase())c|=1;else if(i.encoding!=="*")return null;return{i:o,o:i.i,q:i.q,s:c}}function ZS(n,i){var o=i8(n||"");if(!i)return o.filter(kS).sort(CS).map(p8);var c=i.map(function p(a,x){return c8(a,o,x)});return c.filter(kS).sort(CS).map(function p(a){return i[c.indexOf(a)]})}function CS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function p8(n){return n.encoding}function kS(n){return n.q>0}kl.exports=ZS;kl.exports.preferredEncodings=ZS;var n8=/^\s*([^\s;]+)\s*(?:;(.*))?$/});var n1=I((hj,rl)=>{function x8(n){var i=n.split(",");for(var o=0,c=0;o<i.length;o++){var p=gS(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function gS(n,i){var o=a8.exec(n);if(!o)return null;var c=o[1],p=o[2],a=c;if(p)a+="-"+p;var x=1;if(o[3]){var m=o[3].split(";");for(var l=0;l<m.length;l++){var f=m[l].split("=");if(f[0]==="q")x=parseFloat(f[1])}}return{prefix:c,suffix:p,q:x,i,full:a}}function m8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=l8(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function l8(n,i,o){var c=gS(n);if(!c)return null;var p=0;if(i.full.toLowerCase()===c.full.toLowerCase())p|=4;else if(i.prefix.toLowerCase()===c.full.toLowerCase())p|=2;else if(i.full.toLowerCase()===c.prefix.toLowerCase())p|=1;else if(i.full!=="*")return null;return{i:o,o:i.i,q:i.q,s:p}}function dS(n,i){var o=x8(n===void 0?"*":n||"");if(!i)return o.filter(eS).sort(PS).map(f8);var c=i.map(function p(a,x){return m8(a,o,x)});return c.filter(eS).sort(PS).map(function p(a){return i[c.indexOf(a)]})}function PS(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function f8(n){return n.full}function eS(n){return n.q>0}rl.exports=dS;rl.exports.preferredLanguages=dS;var a8=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/});var x1=I((Dj,Zl)=>{function v8(n){var i=F8(n);for(var o=0,c=0;o<i.length;o++){var p=c1(i[o].trim(),o);if(p)i[c++]=p}return i.length=c,i}function c1(n,i){var o=$8.exec(n);if(!o)return null;var c=Object.create(null),p=1,a=o[2],x=o[1];if(o[3]){var m=T8(o[3]).map(A8);for(var l=0;l<m.length;l++){var f=m[l],$=f[0].toLowerCase(),v=f[1],S=v&&v[0]==='"'&&v[v.length-1]==='"'?v.substr(1,v.length-2):v;if($==="q"){p=parseFloat(S);break}c[$]=S}}return{type:x,subtype:a,params:c,q:p,i}}function w8(n,i,o){var c={o:-1,q:0,s:0};for(var p=0;p<i.length;p++){var a=S8(n,i[p],o);if(a&&(c.s-a.s||c.q-a.q||c.o-a.o)<0)c=a}return c}function S8(n,i,o){var c=c1(n),p=0;if(!c)return null;if(i.type.toLowerCase()==c.type.toLowerCase())p|=4;else if(i.type!="*")return null;if(i.subtype.toLowerCase()==c.subtype.toLowerCase())p|=2;else if(i.subtype!="*")return null;var a=Object.keys(i.params);if(a.length>0)if(a.every(function(x){return i.params[x]=="*"||(i.params[x]||"").toLowerCase()==(c.params[x]||"").toLowerCase()}))p|=1;else return null;return{i:o,o:i.i,q:i.q,s:p}}function p1(n,i){var o=v8(n===void 0?"*/*":n||"");if(!i)return o.filter(o1).sort(i1).map(J8);var c=i.map(function p(a,x){return w8(a,o,x)});return c.filter(o1).sort(i1).map(function p(a){return i[c.indexOf(a)]})}function i1(n,i){return i.q-n.q||i.s-n.s||n.o-i.o||n.i-i.i||0}function J8(n){return n.type+"/"+n.subtype}function o1(n){return n.q>0}function a1(n){var i=0,o=0;while((o=n.indexOf('"',o))!==-1)i++,o++;return i}function A8(n){var i=n.indexOf("="),o,c;if(i===-1)o=n;else o=n.substr(0,i),c=n.substr(i+1);return[o,c]}function F8(n){var i=n.split(",");for(var o=1,c=0;o<i.length;o++)if(a1(i[c])%2==0)i[++c]=i[o];else i[c]+=","+i[o];return i.length=c+1,i}function T8(n){var i=n.split(";");for(var o=1,c=0;o<i.length;o++)if(a1(i[c])%2==0)i[++c]=i[o];else i[c]+=";"+i[o];i.length=c+1;for(var o=0;o<i.length;o++)i[o]=i[o].trim();return i}Zl.exports=p1;Zl.exports.preferredMediaTypes=p1;var $8=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/});var m1=I((Ij,ql)=>{function Gn(n){if(!(this instanceof Gn))return new Gn(n);this.request=n}/*!
|
|
4
4
|
* negotiator
|
|
5
5
|
* Copyright(c) 2012 Federico Romero
|
|
6
6
|
* Copyright(c) 2012-2014 Isaac Z. Schlueter
|
|
7
7
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
8
8
|
* MIT Licensed
|
|
9
|
-
*/var wr=Ha(),gr=_a(),Fr=et(),hr=rt();re.exports=Y;re.exports.Negotiator=Y;Y.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};Y.prototype.charsets=function n(i){return wr(this.request.headers["accept-charset"],i)};Y.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};Y.prototype.encodings=function n(i){return gr(this.request.headers["accept-encoding"],i)};Y.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};Y.prototype.languages=function n(i){return Fr(this.request.headers["accept-language"],i)};Y.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};Y.prototype.mediaTypes=function n(i){return hr(this.request.headers.accept,i)};Y.prototype.preferredCharset=Y.prototype.charset;Y.prototype.preferredCharsets=Y.prototype.charsets;Y.prototype.preferredEncoding=Y.prototype.encoding;Y.prototype.preferredEncodings=Y.prototype.encodings;Y.prototype.preferredLanguage=Y.prototype.language;Y.prototype.preferredLanguages=Y.prototype.languages;Y.prototype.preferredMediaType=Y.prototype.mediaType;Y.prototype.preferredMediaTypes=Y.prototype.mediaTypes});var mt=h((ZF,Ar)=>{Ar.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 xt=h((QF,ut)=>{/*!
|
|
9
|
+
*/var M8=tS(),R8=qS(),K8=n1(),W8=x1();ql.exports=Gn;ql.exports.Negotiator=Gn;Gn.prototype.charset=function n(i){var o=this.charsets(i);return o&&o[0]};Gn.prototype.charsets=function n(i){return M8(this.request.headers["accept-charset"],i)};Gn.prototype.encoding=function n(i){var o=this.encodings(i);return o&&o[0]};Gn.prototype.encodings=function n(i){return R8(this.request.headers["accept-encoding"],i)};Gn.prototype.language=function n(i){var o=this.languages(i);return o&&o[0]};Gn.prototype.languages=function n(i){return K8(this.request.headers["accept-language"],i)};Gn.prototype.mediaType=function n(i){var o=this.mediaTypes(i);return o&&o[0]};Gn.prototype.mediaTypes=function n(i){return W8(this.request.headers.accept,i)};Gn.prototype.preferredCharset=Gn.prototype.charset;Gn.prototype.preferredCharsets=Gn.prototype.charsets;Gn.prototype.preferredEncoding=Gn.prototype.encoding;Gn.prototype.preferredEncodings=Gn.prototype.encodings;Gn.prototype.preferredLanguage=Gn.prototype.language;Gn.prototype.preferredLanguages=Gn.prototype.languages;Gn.prototype.preferredMediaType=Gn.prototype.mediaType;Gn.prototype.preferredMediaTypes=Gn.prototype.mediaTypes});var l1=I((tj,X8)=>{X8.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 $1=I((Cj,f1)=>{/*!
|
|
10
10
|
* mime-db
|
|
11
11
|
* Copyright(c) 2014 Jonathan Ong
|
|
12
12
|
* Copyright(c) 2015-2022 Douglas Christopher Wilson
|
|
13
13
|
* MIT Licensed
|
|
14
|
-
*/
|
|
14
|
+
*/f1.exports=l1()});var A1=I((E8)=>{function w1(n){if(!n||typeof n!=="string")return!1;var i=v1.exec(n),o=i&&Lx[i[1].toLowerCase()];if(o&&o.charset)return o.charset;if(i&&G8.test(i[1]))return"UTF-8";return!1}function Y8(n){if(!n||typeof n!=="string")return!1;var i=n.indexOf("/")===-1?E8.lookup(n):n;if(!i)return!1;if(i.indexOf("charset")===-1){var o=E8.charset(i);if(o)i+="; charset="+o.toLowerCase()}return i}function u8(n){if(!n||typeof n!=="string")return!1;var i=v1.exec(n),o=i&&E8.extensions[i[1].toLowerCase()];if(!o||!o.length)return!1;return o[0]}function O8(n){if(!n||typeof n!=="string")return!1;var i=z8("x."+n).toLowerCase().substr(1);if(!i)return!1;return E8.types[i]||!1}function H8(n,i){var o=["nginx","apache",void 0,"iana"];Object.keys(Lx).forEach(function c(p){var a=Lx[p],x=a.extensions;if(!x||!x.length)return;n[p]=x;for(var m=0;m<x.length;m++){var l=x[m];if(i[l]){var f=o.indexOf(Lx[i[l]].source),$=o.indexOf(a.source);if(i[l]!=="application/octet-stream"&&(f>$||f===$&&i[l].substr(0,12)==="application/"))continue}i[l]=p}})}/*!
|
|
15
15
|
* mime-types
|
|
16
16
|
* Copyright(c) 2014 Jonathan Ong
|
|
17
17
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
18
18
|
* MIT Licensed
|
|
19
|
-
*/var
|
|
19
|
+
*/var Lx=$1(),z8=import.meta.require("path").extname,v1=/^\s*([^;\s]*)(?:;|\s|$)/,G8=/^text\//i;E8.charset=w1;E8.charsets={lookup:w1};E8.contentType=Y8;E8.extension=u8;E8.extensions=Object.create(null);E8.lookup=O8;E8.types=Object.create(null);H8(E8.extensions,E8.types)});var Bx=I((rj,F1)=>{function yi(n){if(!(this instanceof yi))return new yi(n);this.headers=n.headers,this.negotiator=new b8(n)}function s8(n){return n.indexOf("/")===-1?_8.lookup(n):n}function j8(n){return typeof n==="string"}/*!
|
|
20
20
|
* accepts
|
|
21
21
|
* Copyright(c) 2014 Jonathan Ong
|
|
22
22
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
23
23
|
* MIT Licensed
|
|
24
|
-
*/var
|
|
24
|
+
*/var b8=m1(),_8=A1();F1.exports=yi;yi.prototype.type=yi.prototype.types=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return i[0];var c=i.map(s8),p=this.negotiator.mediaTypes(c.filter(j8)),a=p[0];return a?i[c.indexOf(a)]:!1};yi.prototype.encoding=yi.prototype.encodings=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.encodings();return this.negotiator.encodings(i)[0]||!1};yi.prototype.charset=yi.prototype.charsets=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.charsets();return this.negotiator.charsets(i)[0]||!1};yi.prototype.lang=yi.prototype.langs=yi.prototype.language=yi.prototype.languages=function(n){var i=n;if(i&&!Array.isArray(i)){i=new Array(arguments.length);for(var o=0;o<i.length;o++)i[o]=arguments[o]}if(!i||i.length===0)return this.negotiator.languages();return this.negotiator.languages(i)[0]||!1}});var dl=I((T1,M1)=>{/*!
|
|
25
25
|
* base64id v0.1.0
|
|
26
|
-
*/var Ei=import.meta.require("crypto"),ue=function(){};ue.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Ei.randomBytes(n);var e=parseInt(i/n),a=parseInt(e*0.85);if(!a)return Ei.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==e)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>a){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Ei.randomBytes(i,function(s,c){o.bytesBuffer=c,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Ei.randomBytes(n)}var t=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,t};ue.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Ei.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};St=wt.exports=new ue});var ro=h((Ft)=>{Object.defineProperty(Ft,"__esModule",{value:!0});Ft.ERROR_PACKET=Ft.PACKET_TYPES_REVERSE=Ft.PACKET_TYPES=void 0;var Rn=Object.create(null);Ft.PACKET_TYPES=Rn;Rn.open="0";Rn.close="1";Rn.ping="2";Rn.pong="3";Rn.message="4";Rn.upgrade="5";Rn.noop="6";var gt=Object.create(null);Ft.PACKET_TYPES_REVERSE=gt;Object.keys(Rn).forEach((n)=>{gt[Rn[n]]=n});var Ur={type:"error",data:"parser error"};Ft.ERROR_PACKET=Ur});var Rt=h((Kt)=>{function Zr(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(At(n.data,!1));Kt.encodePacket(n,!0,(o)=>{if(!de)de=new TextEncoder;i(de.encode(o))})}Object.defineProperty(Kt,"__esModule",{value:!0});Kt.encodePacket=void 0;Kt.encodePacketToBinary=Zr;var Xr=ro(),Gr=({type:n,data:i},o,e)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return e(o?i:"b"+At(i,!0).toString("base64"));return e(Xr.PACKET_TYPES[n]+(i||""))};Kt.encodePacket=Gr;var At=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},de});var jt=h((Jt)=>{Object.defineProperty(Jt,"__esModule",{value:!0});Jt.decodePacket=void 0;var po=ro(),Hr=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Mt(n,i)};const o=n.charAt(0);if(o==="b"){const e=Buffer.from(n.substring(1),"base64");return{type:"message",data:Mt(e,i)}}if(!po.PACKET_TYPES_REVERSE[o])return po.ERROR_PACKET;return n.length>1?{type:po.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:po.PACKET_TYPES_REVERSE[o]}};Jt.decodePacket=Hr;var Mt=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Vi=h((xo)=>{function Lr(){return new TransformStream({transform(n,i){ve.encodePacketToBinary(n,(o)=>{const e=o.length;let a;if(e<126)a=new Uint8Array(1),new DataView(a.buffer).setUint8(0,e);else if(e<65536){a=new Uint8Array(3);const t=new DataView(a.buffer);t.setUint8(0,126),t.setUint16(1,e)}else{a=new Uint8Array(9);const t=new DataView(a.buffer);t.setUint8(0,127),t.setBigUint64(1,BigInt(e))}if(n.data&&typeof n.data!=="string")a[0]|=128;i.enqueue(a),i.enqueue(o)})}})}function mo(n){return n.reduce((i,o)=>i+o.length,0)}function uo(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let e=0;for(let a=0;a<i;a++)if(o[a]=n[0][e++],e===n[0].length)n.shift(),e=0;if(n.length&&e<n[0].length)n[0]=n[0].slice(e);return o}function Pr(n,i){if(!ye)ye=new TextDecoder;const o=[];let e=0,a=-1,t=!1;return new TransformStream({transform(s,c){o.push(s);while(!0){if(e===0){if(mo(o)<1)break;const l=uo(o,1);if(t=(l[0]&128)===128,a=l[0]&127,a<126)e=3;else if(a===126)e=1;else e=2}else if(e===1){if(mo(o)<2)break;const l=uo(o,2);a=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),e=3}else if(e===2){if(mo(o)<8)break;const l=uo(o,8),r=new DataView(l.buffer,l.byteOffset,l.length),p=r.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(kt.ERROR_PACKET);break}a=p*Math.pow(2,32)+r.getUint32(4),e=3}else{if(mo(o)<a)break;const l=uo(o,a);c.enqueue(be.decodePacket(t?l:ye.decode(l),i)),e=0}if(a===0||a>n){c.enqueue(kt.ERROR_PACKET);break}}}})}Object.defineProperty(xo,"__esModule",{value:!0});xo.decodePayload=xo.decodePacket=xo.encodePayload=xo.encodePacket=xo.protocol=void 0;xo.createPacketEncoderStream=Lr;xo.createPacketDecoderStream=Pr;var ve=Rt();Object.defineProperty(xo,"encodePacket",{enumerable:!0,get:function(){return ve.encodePacket}});var be=jt();Object.defineProperty(xo,"decodePacket",{enumerable:!0,get:function(){return be.decodePacket}});var kt=ro(),Ot=String.fromCharCode(30),Nr=(n,i)=>{const o=n.length,e=new Array(o);let a=0;n.forEach((t,s)=>{ve.encodePacket(t,!1,(c)=>{if(e[s]=c,++a===o)i(e.join(Ot))})})};xo.encodePayload=Nr;var Dr=(n,i)=>{const o=n.split(Ot),e=[];for(let a=0;a<o.length;a++){const t=be.decodePacket(o[a],i);if(e.push(t),t.type==="error")break}return e};xo.decodePayload=Dr;var ye;xo.protocol=4});var Et=h((ih,It)=>{function Ct(n){var i=[],o=0,e=n.length,a,t;while(o<e)if(a=n.charCodeAt(o++),a>=55296&&a<=56319&&o<e)if(t=n.charCodeAt(o++),(t&64512)==56320)i.push(((a&1023)<<10)+(t&1023)+65536);else i.push(a),o--;else i.push(a);return i}function op(n){var i=n.length,o=-1,e,a="";while(++o<i){if(e=n[o],e>65535)e-=65536,a+=Yn(e>>>10&1023|55296),e=56320|e&1023;a+=Yn(e)}return a}function Wt(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Te(n,i){return Yn(n>>i&63|128)}function ep(n,i){if((n&4294967168)==0)return Yn(n);var o="";if((n&4294965248)==0)o=Yn(n>>6&31|192);else if((n&4294901760)==0){if(!Wt(n,i))n=65533;o=Yn(n>>12&15|224),o+=Te(n,6)}else if((n&4292870144)==0)o=Yn(n>>18&7|240),o+=Te(n,12),o+=Te(n,6);return o+=Yn(n&63|128),o}function ap(n,i){i=i||{};var o=i.strict!==!1,e=Ct(n),a=e.length,t=-1,s,c="";while(++t<a)s=e[t],c+=ep(s,o);return c}function li(){if(Bn>=yo)throw Error("Invalid byte index");var n=fo[Bn]&255;if(Bn++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function tp(n){var i,o,e,a,t;if(Bn>yo)throw Error("Invalid byte index");if(Bn==yo)return!1;if(i=fo[Bn]&255,Bn++,(i&128)==0)return i;if((i&224)==192)if(o=li(),t=(i&31)<<6|o,t>=128)return t;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=li(),e=li(),t=(i&15)<<12|o<<6|e,t>=2048)return Wt(t,n)?t:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=li(),e=li(),a=li(),t=(i&7)<<18|o<<12|e<<6|a,t>=65536&&t<=1114111)return t}throw Error("Invalid UTF-8 detected")}function sp(n,i){i=i||{};var o=i.strict!==!1;fo=Ct(n),yo=fo.length,Bn=0;var e=[],a;while((a=tp(o))!==!1)e.push(a);return op(e)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var Yn=String.fromCharCode,fo,yo,Bn;It.exports={version:"2.1.2",encode:ap,decode:sp}});var Ht=h((Qt)=>{function Se(n,i,o,e){if(typeof i==="function")e=i,i=null;if(typeof o==="function")e=o,o=null;if(Buffer.isBuffer(n.data))return Vt(n,i,e);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return Vt({type:n.type,data:ge(n.data)},i,e);var a=Qt.packets[n.type];if(n.data!==void 0)a+=o?Ut.encode(String(n.data),{strict:!1}):String(n.data);return e(""+a)}function Vt(n,i,o){if(!i)return Yt(n,o);var e=n.data,a=Buffer.allocUnsafe(1);return a[0]=Qt.packets[n.type],o(Buffer.concat([a,e]))}function Yt(n,i){var o=Buffer.isBuffer(n.data)?n.data:ge(n.data),e="b"+Qt.packets[n.type];return e+=o.toString("base64"),i(e)}function we(n,i,o){if(n===void 0)return gn;var e;if(typeof n==="string"){if(e=n.charAt(0),e==="b")return Bt(n.slice(1),i);if(o){if(n=rp(n),n===!1)return gn}if(Number(e)!=e||!ri[e])return gn;if(n.length>1)return{type:ri[e],data:n.slice(1)};else return{type:ri[e]}}if(i==="arraybuffer"){var a=new Uint8Array(n);return e=a[0],{type:ri[e],data:a.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=ge(n);return e=n[0],{type:ri[e],data:n.slice(1)}}function rp(n){try{n=Ut.decode(n,{strict:!1})}catch(i){return!1}return n}function Bt(n,i){var o=ri[n.charAt(0)],e=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var a=new Uint8Array(e.length);for(var t=0;t<a.length;t++)a[t]=e[t];e=a.buffer}return{type:o,data:e}}function pp(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&cp(n))return Gt(n,o);if(!n.length)return o("0:");function e(a,t){Se(a,i,!1,function(s){t(null,mp(s))})}Xt(n,e,function(a,t){return o(t.join(""))})}function mp(n){return n.length+":"+n}function Xt(n,i,o){const e=new Array(n.length);let a=0;for(let t=0;t<n.length;t++)i(n[t],(s,c)=>{if(e[t]=c,++a===n.length)o(null,e)})}function up(n,i,o){if(typeof n!=="string")return Zt(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(gn,0,1);var e="",a,t,s;for(var c=0,l=n.length;c<l;c++){var r=n.charAt(c);if(r!==":"){e+=r;continue}if(e===""||e!=(a=Number(e)))return o(gn,0,1);if(t=n.slice(c+1,c+1+a),e!=t.length)return o(gn,0,1);if(t.length){if(s=we(t,i,!1),gn.type===s.type&&gn.data===s.data)return o(gn,0,1);var p=o(s,c+a,l);if(p===!1)return}c+=a,e=""}if(e!=="")return o(gn,0,1)}function xp(n){var i="";for(var o=0,e=n.length;o<e;o++)i+=String.fromCharCode(n[o]);return i}function dp(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,e=n.length;o<e;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function ge(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function Gt(n,i){if(!n.length)return i(lp);Xt(n,fp,function(o,e){return i(Buffer.concat(e))})}function fp(n,i){function o(e){var a=""+e.length,t;if(typeof e==="string"){t=Buffer.allocUnsafe(a.length+2),t[0]=0;for(var s=0;s<a.length;s++)t[s+1]=parseInt(a[s],10);return t[t.length-1]=255,i(null,Buffer.concat([t,dp(e)]))}t=Buffer.allocUnsafe(a.length+2),t[0]=1;for(var s=0;s<a.length;s++)t[s+1]=parseInt(a[s],10);t[t.length-1]=255,i(null,Buffer.concat([t,e]))}Se(n,!0,!0,o)}function Zt(n,i,o){if(typeof i==="function")o=i,i=null;var e=n,a=[],t;while(e.length>0){var s="",c=e[0]===0;for(t=1;;t++){if(e[t]===255)break;if(s.length>310)return o(gn,0,1);s+=""+e[t]}e=e.slice(s.length+1);var l=parseInt(s,10),r=e.slice(1,l+1);if(c)r=xp(r);a.push(r),e=e.slice(l+1)}var p=a.length;for(t=0;t<p;t++){var m=a[t];o(we(m,i,!0),t,p)}}Object.defineProperty(Qt,"__esModule",{value:!0});Qt.packets=Qt.protocol=void 0;Qt.encodePacket=Se;Qt.encodeBase64Packet=Yt;Qt.decodePacket=we;Qt.decodeBase64Packet=Bt;Qt.encodePayload=pp;Qt.decodePayload=up;Qt.encodePayloadAsBinary=Gt;Qt.decodePayloadAsBinary=Zt;var Ut=Et();Qt.protocol=3;var cp=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};Qt.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var ri=Object.keys(Qt.packets),gn={type:"error",data:"parser error"},lp=Buffer.concat([])});var Dt=h((eh,Nt)=>{function Rp(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),e=(i[2]||"ms").toLowerCase();switch(e){case"years":case"year":case"yrs":case"yr":case"y":return o*Kp;case"weeks":case"week":case"w":return o*Ap;case"days":case"day":case"d":return o*Dn;case"hours":case"hour":case"hrs":case"hr":case"h":return o*xi;case"minutes":case"minute":case"mins":case"min":case"m":return o*ui;case"seconds":case"second":case"secs":case"sec":case"s":return o*mi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function Mp(n){var i=Math.abs(n);if(i>=Dn)return Math.round(n/Dn)+"d";if(i>=xi)return Math.round(n/xi)+"h";if(i>=ui)return Math.round(n/ui)+"m";if(i>=mi)return Math.round(n/mi)+"s";return n+"ms"}function Jp(n){var i=Math.abs(n);if(i>=Dn)return vo(n,i,Dn,"day");if(i>=xi)return vo(n,i,xi,"hour");if(i>=ui)return vo(n,i,ui,"minute");if(i>=mi)return vo(n,i,mi,"second");return n+" ms"}function vo(n,i,o,e){var a=i>=o*1.5;return Math.round(n/o)+" "+e+(a?"s":"")}var mi=1000,ui=mi*60,xi=ui*60,Dn=xi*24,Ap=Dn*7,Kp=Dn*365.25;Nt.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return Rp(n);else if(o==="number"&&isFinite(n))return i.long?Jp(n):Mp(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var Fe=h((ah,Lt)=>{function $p(n){o.debug=o,o.default=o,o.coerce=l,o.disable=t,o.enable=a,o.enabled=s,o.humanize=Dt(),o.destroy=r,Object.keys(n).forEach((p)=>{o[p]=n[p]}),o.names=[],o.skips=[],o.formatters={};function i(p){let m=0;for(let T=0;T<p.length;T++)m=(m<<5)-m+p.charCodeAt(T),m|=0;return o.colors[Math.abs(m)%o.colors.length]}o.selectColor=i;function o(p){let m,T=null,R,y;function v(...u){if(!v.enabled)return;const b=v,S=Number(new Date),K=S-(m||S);if(b.diff=K,b.prev=m,b.curr=S,m=S,u[0]=o.coerce(u[0]),typeof u[0]!=="string")u.unshift("%O");let W=0;u[0]=u[0].replace(/%([a-zA-Z%])/g,(d,A)=>{if(d==="%%")return"%";W++;const w=o.formatters[A];if(typeof w==="function"){const g=u[W];d=w.call(b,g),u.splice(W,1),W--}return d}),o.formatArgs.call(b,u),(b.log||o.log).apply(b,u)}if(v.namespace=p,v.useColors=o.useColors(),v.color=o.selectColor(p),v.extend=e,v.destroy=o.destroy,Object.defineProperty(v,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(T!==null)return T;if(R!==o.namespaces)R=o.namespaces,y=o.enabled(p);return y},set:(u)=>{T=u}}),typeof o.init==="function")o.init(v);return v}function e(p,m){const T=o(this.namespace+(typeof m==="undefined"?":":m)+p);return T.log=this.log,T}function a(p){o.save(p),o.namespaces=p,o.names=[],o.skips=[];let m;const T=(typeof p==="string"?p:"").split(/[\s,]+/),R=T.length;for(m=0;m<R;m++){if(!T[m])continue;if(p=T[m].replace(/\*/g,".*?"),p[0]==="-")o.skips.push(new RegExp("^"+p.slice(1)+"$"));else o.names.push(new RegExp("^"+p+"$"))}}function t(){const p=[...o.names.map(c),...o.skips.map(c).map((m)=>"-"+m)].join(",");return o.enable(""),p}function s(p){if(p[p.length-1]==="*")return!0;let m,T;for(m=0,T=o.skips.length;m<T;m++)if(o.skips[m].test(p))return!1;for(m=0,T=o.names.length;m<T;m++)if(o.names[m].test(p))return!0;return!1}function c(p){return p.toString().substring(2,p.toString().length-2).replace(/\.\*\?$/,"*")}function l(p){if(p instanceof Error)return p.stack||p.message;return p}function r(){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 o.enable(o.load()),o}Lt.exports=$p});var _t=h((Pt,To)=>{function jp(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function kp(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+To.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,e=0;n[0].replace(/%[a-zA-Z%]/g,(a)=>{if(a==="%%")return;if(o++,a==="%c")e=o}),n.splice(e,0,i)}function Op(n){try{if(n)Pt.storage.setItem("debug",n);else Pt.storage.removeItem("debug")}catch(i){}}function zp(){let n;try{n=Pt.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function Cp(){try{return localStorage}catch(n){}}Pt.formatArgs=kp;Pt.save=Op;Pt.load=zp;Pt.useColors=jp;Pt.storage=Cp();Pt.destroy=(()=>{let n=!1;return()=>{if(!n)n=!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`.")}})();Pt.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"];Pt.log=console.debug||console.log||(()=>{});To.exports=Fe()(Pt);var{formatters:Wp}=To.exports;Wp.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var ns=h((sh,qt)=>{qt.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",e=i.indexOf(o+n),a=i.indexOf("--");return e!==-1&&(a===-1?!0:e<a)}});var os=h((ch,is)=>{function Zp(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function Qp(n){if(di===!1)return 0;if(Fn("color=16m")||Fn("color=full")||Fn("color=truecolor"))return 3;if(Fn("color=256"))return 2;if(n&&!n.isTTY&&di!==!0)return 0;const i=di?1:0;if(process.platform==="win32"){const o=Gp.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in nn){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in nn))||nn.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in nn)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(nn.TEAMCITY_VERSION)?1:0;if(nn.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in nn){const o=parseInt((nn.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(nn.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(nn.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(nn.TERM))return 1;if("COLORTERM"in nn)return 1;if(nn.TERM==="dumb")return i;return i}function he(n){const i=Qp(n);return Zp(i)}var Gp=import.meta.require("os"),Fn=ns(),nn=process.env,di;if(Fn("no-color")||Fn("no-colors")||Fn("color=false"))di=!1;else if(Fn("color")||Fn("colors")||Fn("color=true")||Fn("color=always"))di=!0;if("FORCE_COLOR"in nn)di=nn.FORCE_COLOR.length===0||parseInt(nn.FORCE_COLOR,10)!==0;is.exports={supportsColor:he,stdout:he(process.stdout),stderr:he(process.stderr)}});var ss=h((as,wo)=>{function Np(){return"colors"in as.inspectOpts?Boolean(as.inspectOpts.colors):Hp.isatty(process.stderr.fd)}function Dp(n){const{namespace:i,useColors:o}=this;if(o){const e=this.color,a="\x1B[3"+(e<8?e:"8;5;"+e),t=` ${a};1m${i} \x1B[0m`;n[0]=t+n[0].split("\n").join("\n"+t),n.push(a+"m+"+wo.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=Lp()+i+" "+n[0]}function Lp(){if(as.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Pp(...n){return process.stderr.write(So.formatWithOptions(as.inspectOpts,...n)+"\n")}function _p(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function qp(){return process.env.DEBUG}function nm(n){n.inspectOpts={};const i=Object.keys(as.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=as.inspectOpts[i[o]]}var Hp=import.meta.require("tty"),So=import.meta.require("util");as.init=nm;as.log=Pp;as.formatArgs=Dp;as.save=_p;as.load=qp;as.useColors=Np;as.destroy=So.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");as.colors=[6,2,3,4,5,1];try{const n=os();if(n&&(n.stderr||n).level>=2)as.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(n){}as.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(a,t)=>{return t.toUpperCase()});let e=process.env[i];if(/^(yes|on|true|enabled)$/i.test(e))e=!0;else if(/^(no|off|false|disabled)$/i.test(e))e=!1;else if(e==="null")e=null;else e=Number(e);return n[o]=e,n},{});wo.exports=Fe()(as);var{formatters:es}=wo.exports;es.o=function(n){return this.inspectOpts.colors=this.useColors,So.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};es.O=function(n){return this.inspectOpts.colors=this.useColors,So.inspect(n,this.inspectOpts)}});var q=h((rh,Ae)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)Ae.exports=_t();else Ae.exports=ss()});var Pn=h((rs)=>{function um(){}Object.defineProperty(rs,"__esModule",{value:!0});rs.Transport=void 0;var lm=import.meta.require("events"),rm=Vi(),pm=Ht(),mm=q(),cs=mm.default("engine:transport");class ls extends lm.EventEmitter{get readyState(){return this._readyState}set readyState(n){cs("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?rm:pm,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||um)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else cs("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}rs.Transport=ls});var Ke=h((xs)=>{Object.defineProperty(xs,"__esModule",{value:!0});xs.Polling=void 0;var xm=Pn(),ms=import.meta.require("zlib"),dm=lo(),fm=q(),un=fm.default("engine:polling"),ym={gzip:ms.createGzip,deflate:ms.createDeflate};class us extends xm.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){un("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}un("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},e=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=e,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)un("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let e=o?Buffer.concat([]):"";const a=()=>{n.removeListener("data",s),n.removeListener("end",c),n.removeListener("close",t),this.dataReq=this.dataRes=e=null},t=()=>{a(),this.onError("data request connection closed prematurely")},s=(l)=>{let r;if(o)e=Buffer.concat([e,l]),r=e.length;else e+=l,r=Buffer.byteLength(e);if(r>this.maxHttpBufferSize)i.writeHead(413).end(),a()},c=()=>{this.onData(e);const l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),a()};if(n.on("close",t),!o)n.setEncoding("utf8");n.on("data",s),n.on("end",c)}onData(n){un('received "%s"',n);const i=(o)=>{if(o.type==="close")return un("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)un("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const e=n.some((a)=>{return a.options&&a.options.compress});this.write(o,{compress:e})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){un('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const e=typeof n==="string",t={"Content-Type":e?"text/plain; charset=UTF-8":"application/octet-stream"},s=(r)=>{t["Content-Length"]=typeof r==="string"?Buffer.byteLength(r):r.length,this.res.writeHead(200,this.headers(this.req,t)),this.res.end(r),o()};if(!this.httpCompression||!i.compress){s(n);return}if((e?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){s(n);return}const l=dm(this.req).encodings(["gzip","deflate"]);if(!l){s(n);return}this.compress(n,l,(r,p)=>{if(r){this.res.writeHead(500),this.res.end(),o(r);return}t["Content-Encoding"]=l,s(p)})}compress(n,i,o){un("compressing");const e=[];let a=0;ym[i](this.httpCompression).on("error",o).on("data",function(t){e.push(t),a+=t.length}).on("end",function(){o(null,Buffer.concat(e,a))}).end(n)}doClose(n){un("closing");let i;if(this.dataReq)un("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)un("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)un("transport discarded - closing right away"),o();else un("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}xs.Polling=us});var bs=h((ys)=>{Object.defineProperty(ys,"__esModule",{value:!0});ys.JSONP=void 0;var vm=Ke(),bm=import.meta.require("querystring"),Tm=/\\\\n/g,Sm=/(\\)?\\n/g;class fs extends vm.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=bm.parse(n).d,typeof n==="string")n=n.replace(Sm,function(i,o){return o?i:"\n"}),super.onData(n.replace(Tm,"\\n"))}doWrite(n,i,o){const e=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+e+this.foot,super.doWrite(n,i,o)}}ys.JSONP=fs});var Fs=h((ws)=>{Object.defineProperty(ws,"__esModule",{value:!0});ws.WebSocket=void 0;var wm=Pn(),gm=q(),Ts=gm.default("engine:ws");class Ss extends wm.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const e=o?i:i.toString();Ts('received "%s"',e),super.onData(e)}),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(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],e=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,e?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,e?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,e;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((e=n.options)===null||e===void 0?void 0:e.wsPreEncodedFrame)!==void 0}doClose(n){Ts("closing"),this.socket.close(),n&&n()}}ws.WebSocket=Ss});var Re=h((As)=>{Object.defineProperty(As,"__esModule",{value:!0});As.WebTransport=void 0;var Fm=Pn(),hm=q(),Am=Vi(),fi=hm.default("engine:webtransport");class hs extends Fm.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const e=Am.createPacketEncoderStream();e.readable.pipeTo(i.writable).catch(()=>{fi("the stream was closed")}),this.writer=e.writable.getWriter(),(async()=>{try{while(!0){const{value:a,done:t}=await o.read();if(t){fi("session is closed");break}fi("received chunk: %o",a),this.onPacket(a)}}catch(a){fi("error while reading: %s",a.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){fi("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){fi("closing WebTransport session"),this.session.close(),n&&n()}}As.WebTransport=hs});var Me=h((Ms)=>{function Rs(n){if(typeof n._query.j==="string")return new Rm.JSONP(n);else return new Km.Polling(n)}Object.defineProperty(Ms,"__esModule",{value:!0});var Km=Ke(),Rm=bs(),Mm=Fs(),Jm=Re();Ms.default={polling:Rs,websocket:Mm.WebSocket,webtransport:Jm.WebTransport};Rs.upgradesTo=["websocket","webtransport"]});var Je=h(($s)=>{Object.defineProperty($s,"__esModule",{value:!0});$s.Socket=void 0;var jm=import.meta.require("events"),km=q(),jn=import.meta.require("timers"),N=km.default("engine:socket");class Js extends jm.EventEmitter{get readyState(){return this._readyState}set readyState(n){N("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,e,a){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=e,this.protocol=a,e)if(e.websocket&&e.websocket._socket)this.remoteAddress=e.websocket._socket.remoteAddress;else this.remoteAddress=e.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(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);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return N("packet received with closed socket");switch(N(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}N("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}N("got pong"),jn.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){N("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=jn.setTimeout(()=>{N("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){jn.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=jn.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),e=this.onPacket.bind(this),a=this.onDrain.bind(this),t=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",e),this.transport.on("drain",a),this.transport.once("close",t),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",e),n.removeListener("drain",a),n.removeListener("close",t)})}onDrain(){if(this.sentCallbackFn.length>0){N("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){N('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=jn.setTimeout(()=>{if(N("client did not complete upgrade - closing transport"),t(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const e=(r)=>{if(r.type==="ping"&&r.data==="probe")N("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(a,100);else if(r.type==="upgrade"&&this.readyState!=="closed"){if(N("got upgrade packet - upgrading"),t(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else t(),n.close()},a=()=>{if(this.transport.name==="polling"&&this.transport.writable)N("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},t=()=>{this.upgrading=!1,clearInterval(o),jn.clearTimeout(i),n.removeListener("packet",e),n.removeListener("close",c),n.removeListener("error",s),this.removeListener("close",l)},s=(r)=>{N("client did not complete upgrade - %s",r),t(),n.close(),n=null},c=()=>{s("transport closed")},l=()=>{s("socket closed")};n.on("packet",e),n.once("close",c),n.once("error",s),this.once("close",l)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){N("error triggered by discarded transport")}),this.transport.close(),jn.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",jn.clearTimeout(this.pingIntervalTimer),jn.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},e){if(typeof o==="function")e=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){N('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const a={type:n,options:o};if(i)a.data=i;if(this.emit("packetCreate",a),this.writeBuffer.push(a),typeof e==="function")this.packetsFn.push(e);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){N("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const e=i[o];if(this.server.opts.transports.indexOf(e)!==-1)n.push(e)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){N("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{N("all packets have been sent, closing the transport"),this.closeTransport(n)});return}N("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(N("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}$s.Socket=Js});var ks=h((Em)=>{function Cm(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},e=i||{},a=n.split(";"),t=e.decode||Om;for(var s=0;s<a.length;s++){var c=a[s],l=c.indexOf("=");if(l<0)continue;var r=c.substring(0,l).trim();if(o[r]==null){var p=c.substring(l+1,c.length).trim();if(p[0]==='"')p=p.slice(1,-1);o[r]=Im(p,t)}}return o}function Wm(n,i,o){var e=o||{},a=e.encode||zm;if(typeof a!=="function")throw new TypeError("option encode is invalid");if(!go.test(n))throw new TypeError("argument name is invalid");var t=a(i);if(t&&!go.test(t))throw new TypeError("argument val is invalid");var s=n+"="+t;if(e.maxAge!=null){var c=e.maxAge-0;if(isNaN(c)||!isFinite(c))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(c)}if(e.domain){if(!go.test(e.domain))throw new TypeError("option domain is invalid");s+="; Domain="+e.domain}if(e.path){if(!go.test(e.path))throw new TypeError("option path is invalid");s+="; Path="+e.path}if(e.expires){if(typeof e.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");s+="; Expires="+e.expires.toUTCString()}if(e.httpOnly)s+="; HttpOnly";if(e.secure)s+="; Secure";if(e.sameSite){var l=typeof e.sameSite==="string"?e.sameSite.toLowerCase():e.sameSite;switch(l){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s}function Im(n,i){try{return i(n)}catch(o){return n}}/*!
|
|
26
|
+
*/var Ma=import.meta.require("crypto"),gl=function(){};gl.prototype.getRandomBytes=function(n){var i=4096,o=this;if(n=n||12,n>i)return Ma.randomBytes(n);var c=parseInt(i/n),p=parseInt(c*0.85);if(!p)return Ma.randomBytes(n);if(this.bytesBufferIndex==null)this.bytesBufferIndex=-1;if(this.bytesBufferIndex==c)this.bytesBuffer=null,this.bytesBufferIndex=-1;if(this.bytesBufferIndex==-1||this.bytesBufferIndex>p){if(!this.isGeneratingBytes)this.isGeneratingBytes=!0,Ma.randomBytes(i,function(x,m){o.bytesBuffer=m,o.bytesBufferIndex=0,o.isGeneratingBytes=!1});if(this.bytesBufferIndex==-1)return Ma.randomBytes(n)}var a=this.bytesBuffer.slice(n*this.bytesBufferIndex,n*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};gl.prototype.generateId=function(){var n=Buffer.alloc(15);if(!n.writeInt32BE)return Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString();if(this.sequenceNumber=this.sequenceNumber+1|0,n.writeInt32BE(this.sequenceNumber,11),Ma.randomBytes)this.getRandomBytes(12).copy(n);else[0,4,8].forEach(function(i){n.writeInt32BE(Math.random()*Math.pow(2,32)|0,i)});return n.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")};T1=M1.exports=new gl});var yx=I((K1)=>{Object.defineProperty(K1,"__esModule",{value:!0});K1.ERROR_PACKET=K1.PACKET_TYPES_REVERSE=K1.PACKET_TYPES=void 0;var Oo=Object.create(null);K1.PACKET_TYPES=Oo;Oo.open="0";Oo.close="1";Oo.ping="2";Oo.pong="3";Oo.message="4";Oo.upgrade="5";Oo.noop="6";var R1=Object.create(null);K1.PACKET_TYPES_REVERSE=R1;Object.keys(Oo).forEach((n)=>{R1[Oo[n]]=n});var N8={type:"error",data:"parser error"};K1.ERROR_PACKET=N8});var G1=I((z1)=>{function D8(n,i){if(n.data instanceof ArrayBuffer||ArrayBuffer.isView(n.data))return i(X1(n.data,!1));z1.encodePacket(n,!0,(o)=>{if(!nf)nf=new TextEncoder;i(nf.encode(o))})}Object.defineProperty(z1,"__esModule",{value:!0});z1.encodePacket=void 0;z1.encodePacketToBinary=D8;var y8=yx(),h8=({type:n,data:i},o,c)=>{if(i instanceof ArrayBuffer||ArrayBuffer.isView(i))return c(o?i:"b"+X1(i,!0).toString("base64"));return c(y8.PACKET_TYPES[n]+(i||""))};z1.encodePacket=h8;var X1=(n,i)=>{if(Buffer.isBuffer(n)||n instanceof Uint8Array&&!i)return n;else if(n instanceof ArrayBuffer)return Buffer.from(n);else return Buffer.from(n.buffer,n.byteOffset,n.byteLength)},nf});var H1=I((u1)=>{Object.defineProperty(u1,"__esModule",{value:!0});u1.decodePacket=void 0;var hx=yx(),t8=(n,i)=>{if(typeof n!=="string")return{type:"message",data:Y1(n,i)};const o=n.charAt(0);if(o==="b"){const c=Buffer.from(n.substring(1),"base64");return{type:"message",data:Y1(c,i)}}if(!hx.PACKET_TYPES_REVERSE[o])return hx.ERROR_PACKET;return n.length>1?{type:hx.PACKET_TYPES_REVERSE[o],data:n.substring(1)}:{type:hx.PACKET_TYPES_REVERSE[o]}};u1.decodePacket=t8;var Y1=(n,i)=>{switch(i){case"arraybuffer":if(n instanceof ArrayBuffer)return n;else if(Buffer.isBuffer(n))return n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);else return n.buffer;case"nodebuffer":default:if(Buffer.isBuffer(n))return n;else return Buffer.from(n)}}});var Ra=I((tx)=>{function r8(){return new TransformStream({transform(n,i){pf.encodePacketToBinary(n,(o)=>{const c=o.length;let p;if(c<126)p=new Uint8Array(1),new DataView(p.buffer).setUint8(0,c);else if(c<65536){p=new Uint8Array(3);const a=new DataView(p.buffer);a.setUint8(0,126),a.setUint16(1,c)}else{p=new Uint8Array(9);const a=new DataView(p.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(c))}if(n.data&&typeof n.data!=="string")p[0]|=128;i.enqueue(p),i.enqueue(o)})}})}function Dx(n){return n.reduce((i,o)=>i+o.length,0)}function Ix(n,i){if(n[0].length===i)return n.shift();const o=new Uint8Array(i);let c=0;for(let p=0;p<i;p++)if(o[p]=n[0][c++],c===n[0].length)n.shift(),c=0;if(n.length&&c<n[0].length)n[0]=n[0].slice(c);return o}function Z8(n,i){if(!cf)cf=new TextDecoder;const o=[];let c=0,p=-1,a=!1;return new TransformStream({transform(x,m){o.push(x);while(!0){if(c===0){if(Dx(o)<1)break;const l=Ix(o,1);if(a=(l[0]&128)===128,p=l[0]&127,p<126)c=3;else if(p===126)c=1;else c=2}else if(c===1){if(Dx(o)<2)break;const l=Ix(o,2);p=new DataView(l.buffer,l.byteOffset,l.length).getUint16(0),c=3}else if(c===2){if(Dx(o)<8)break;const l=Ix(o,8),f=new DataView(l.buffer,l.byteOffset,l.length),$=f.getUint32(0);if($>Math.pow(2,21)-1){m.enqueue(E1.ERROR_PACKET);break}p=$*Math.pow(2,32)+f.getUint32(4),c=3}else{if(Dx(o)<p)break;const l=Ix(o,p);m.enqueue(af.decodePacket(a?l:cf.decode(l),i)),c=0}if(p===0||p>n){m.enqueue(E1.ERROR_PACKET);break}}}})}Object.defineProperty(tx,"__esModule",{value:!0});tx.decodePayload=tx.decodePacket=tx.encodePayload=tx.encodePacket=tx.protocol=void 0;tx.createPacketEncoderStream=r8;tx.createPacketDecoderStream=Z8;var pf=G1();Object.defineProperty(tx,"encodePacket",{enumerable:!0,get:function(){return pf.encodePacket}});var af=H1();Object.defineProperty(tx,"decodePacket",{enumerable:!0,get:function(){return af.decodePacket}});var E1=yx(),Q1=String.fromCharCode(30),C8=(n,i)=>{const o=n.length,c=new Array(o);let p=0;n.forEach((a,x)=>{pf.encodePacket(a,!1,(m)=>{if(c[x]=m,++p===o)i(c.join(Q1))})})};tx.encodePayload=C8;var k8=(n,i)=>{const o=n.split(Q1),c=[];for(let p=0;p<o.length;p++){const a=af.decodePacket(o[p],i);if(c.push(a),a.type==="error")break}return c};tx.decodePayload=k8;var cf;tx.protocol=4});var s1=I((nN,_1)=>{function V1(n){var i=[],o=0,c=n.length,p,a;while(o<c)if(p=n.charCodeAt(o++),p>=55296&&p<=56319&&o<c)if(a=n.charCodeAt(o++),(a&64512)==56320)i.push(((p&1023)<<10)+(a&1023)+65536);else i.push(p),o--;else i.push(p);return i}function d8(n){var i=n.length,o=-1,c,p="";while(++o<i){if(c=n[o],c>65535)c-=65536,p+=cc(c>>>10&1023|55296),c=56320|c&1023;p+=cc(c)}return p}function b1(n,i){if(n>=55296&&n<=57343){if(i)throw Error("Lone surrogate U+"+n.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function xf(n,i){return cc(n>>i&63|128)}function nK(n,i){if((n&4294967168)==0)return cc(n);var o="";if((n&4294965248)==0)o=cc(n>>6&31|192);else if((n&4294901760)==0){if(!b1(n,i))n=65533;o=cc(n>>12&15|224),o+=xf(n,6)}else if((n&4292870144)==0)o=cc(n>>18&7|240),o+=xf(n,12),o+=xf(n,6);return o+=cc(n&63|128),o}function iK(n,i){i=i||{};var o=i.strict!==!1,c=V1(n),p=c.length,a=-1,x,m="";while(++a<p)x=c[a],m+=nK(x,o);return m}function cp(){if(pc>=kx)throw Error("Invalid byte index");var n=Cx[pc]&255;if(pc++,(n&192)==128)return n&63;throw Error("Invalid continuation byte")}function oK(n){var i,o,c,p,a;if(pc>kx)throw Error("Invalid byte index");if(pc==kx)return!1;if(i=Cx[pc]&255,pc++,(i&128)==0)return i;if((i&224)==192)if(o=cp(),a=(i&31)<<6|o,a>=128)return a;else throw Error("Invalid continuation byte");if((i&240)==224)if(o=cp(),c=cp(),a=(i&15)<<12|o<<6|c,a>=2048)return b1(a,n)?a:65533;else throw Error("Invalid continuation byte");if((i&248)==240){if(o=cp(),c=cp(),p=cp(),a=(i&7)<<18|o<<12|c<<6|p,a>=65536&&a<=1114111)return a}throw Error("Invalid UTF-8 detected")}function cK(n,i){i=i||{};var o=i.strict!==!1;Cx=V1(n),kx=Cx.length,pc=0;var c=[],p;while((p=oK(o))!==!1)c.push(p);return d8(c)}/*! https://mths.be/utf8js v2.1.2 by @mathias */var cc=String.fromCharCode,Cx,kx,pc;_1.exports={version:"2.1.2",encode:iK,decode:cK}});var t1=I((I1)=>{function mf(n,i,o,c){if(typeof i==="function")c=i,i=null;if(typeof o==="function")c=o,o=null;if(Buffer.isBuffer(n.data))return j1(n,i,c);else if(n.data&&(n.data.buffer||n.data)instanceof ArrayBuffer)return j1({type:n.type,data:ff(n.data)},i,c);var p=I1.packets[n.type];if(n.data!==void 0)p+=o?N1.encode(String(n.data),{strict:!1}):String(n.data);return c(""+p)}function j1(n,i,o){if(!i)return L1(n,o);var c=n.data,p=Buffer.allocUnsafe(1);return p[0]=I1.packets[n.type],o(Buffer.concat([p,c]))}function L1(n,i){var o=Buffer.isBuffer(n.data)?n.data:ff(n.data),c="b"+I1.packets[n.type];return c+=o.toString("base64"),i(c)}function lf(n,i,o){if(n===void 0)return wo;var c;if(typeof n==="string"){if(c=n.charAt(0),c==="b")return B1(n.slice(1),i);if(o){if(n=xK(n),n===!1)return wo}if(Number(c)!=c||!pp[c])return wo;if(n.length>1)return{type:pp[c],data:n.slice(1)};else return{type:pp[c]}}if(i==="arraybuffer"){var p=new Uint8Array(n);return c=p[0],{type:pp[c],data:p.buffer.slice(1)}}if(n instanceof ArrayBuffer)n=ff(n);return c=n[0],{type:pp[c],data:n.slice(1)}}function xK(n){try{n=N1.decode(n,{strict:!1})}catch(i){return!1}return n}function B1(n,i){var o=pp[n.charAt(0)],c=Buffer.from(n.slice(1),"base64");if(i==="arraybuffer"){var p=new Uint8Array(c.length);for(var a=0;a<p.length;a++)p[a]=c[a];c=p.buffer}return{type:o,data:c}}function mK(n,i,o){if(typeof i==="function")o=i,i=null;if(i&&pK(n))return h1(n,o);if(!n.length)return o("0:");function c(p,a){mf(p,i,!1,function(x){a(null,lK(x))})}y1(n,c,function(p,a){return o(a.join(""))})}function lK(n){return n.length+":"+n}function y1(n,i,o){const c=new Array(n.length);let p=0;for(let a=0;a<n.length;a++)i(n[a],(x,m)=>{if(c[a]=m,++p===n.length)o(null,c)})}function fK(n,i,o){if(typeof n!=="string")return D1(n,i,o);if(typeof i==="function")o=i,i=null;if(n==="")return o(wo,0,1);var c="",p,a,x;for(var m=0,l=n.length;m<l;m++){var f=n.charAt(m);if(f!==":"){c+=f;continue}if(c===""||c!=(p=Number(c)))return o(wo,0,1);if(a=n.slice(m+1,m+1+p),c!=a.length)return o(wo,0,1);if(a.length){if(x=lf(a,i,!1),wo.type===x.type&&wo.data===x.data)return o(wo,0,1);var $=o(x,m+p,l);if($===!1)return}m+=p,c=""}if(c!=="")return o(wo,0,1)}function $K(n){var i="";for(var o=0,c=n.length;o<c;o++)i+=String.fromCharCode(n[o]);return i}function vK(n){var i=Buffer.allocUnsafe(n.length);for(var o=0,c=n.length;o<c;o++)i.writeUInt8(n.charCodeAt(o),o);return i}function ff(n){var i=n.byteLength||n.length,o=n.byteOffset||0;return Buffer.from(n.buffer||n,o,i)}function h1(n,i){if(!n.length)return i(aK);y1(n,wK,function(o,c){return i(Buffer.concat(c))})}function wK(n,i){function o(c){var p=""+c.length,a;if(typeof c==="string"){a=Buffer.allocUnsafe(p.length+2),a[0]=0;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);return a[a.length-1]=255,i(null,Buffer.concat([a,vK(c)]))}a=Buffer.allocUnsafe(p.length+2),a[0]=1;for(var x=0;x<p.length;x++)a[x+1]=parseInt(p[x],10);a[a.length-1]=255,i(null,Buffer.concat([a,c]))}mf(n,!0,!0,o)}function D1(n,i,o){if(typeof i==="function")o=i,i=null;var c=n,p=[],a;while(c.length>0){var x="",m=c[0]===0;for(a=1;;a++){if(c[a]===255)break;if(x.length>310)return o(wo,0,1);x+=""+c[a]}c=c.slice(x.length+1);var l=parseInt(x,10),f=c.slice(1,l+1);if(m)f=$K(f);p.push(f),c=c.slice(l+1)}var $=p.length;for(a=0;a<$;a++){var v=p[a];o(lf(v,i,!0),a,$)}}Object.defineProperty(I1,"__esModule",{value:!0});I1.packets=I1.protocol=void 0;I1.encodePacket=mf;I1.encodeBase64Packet=L1;I1.decodePacket=lf;I1.decodeBase64Packet=B1;I1.encodePayload=mK;I1.decodePayload=fK;I1.encodePayloadAsBinary=h1;I1.decodePayloadAsBinary=D1;var N1=s1();I1.protocol=3;var pK=(n)=>{for(let i of n)if(i.data instanceof ArrayBuffer||ArrayBuffer.isView(i.data))return!0;return!1};I1.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var pp=Object.keys(I1.packets),wo={type:"error",data:"parser error"},aK=Buffer.concat([])});var k1=I((oN,C1)=>{function GK(n){if(n=String(n),n.length>100)return;var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(n);if(!i)return;var o=parseFloat(i[1]),c=(i[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return o*zK;case"weeks":case"week":case"w":return o*XK;case"days":case"day":case"d":return o*Gc;case"hours":case"hour":case"hrs":case"hr":case"h":return o*lp;case"minutes":case"minute":case"mins":case"min":case"m":return o*mp;case"seconds":case"second":case"secs":case"sec":case"s":return o*xp;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}function YK(n){var i=Math.abs(n);if(i>=Gc)return Math.round(n/Gc)+"d";if(i>=lp)return Math.round(n/lp)+"h";if(i>=mp)return Math.round(n/mp)+"m";if(i>=xp)return Math.round(n/xp)+"s";return n+"ms"}function uK(n){var i=Math.abs(n);if(i>=Gc)return rx(n,i,Gc,"day");if(i>=lp)return rx(n,i,lp,"hour");if(i>=mp)return rx(n,i,mp,"minute");if(i>=xp)return rx(n,i,xp,"second");return n+" ms"}function rx(n,i,o,c){var p=i>=o*1.5;return Math.round(n/o)+" "+c+(p?"s":"")}var xp=1000,mp=xp*60,lp=mp*60,Gc=lp*24,XK=Gc*7,zK=Gc*365.25;C1.exports=function(n,i){i=i||{};var o=typeof n;if(o==="string"&&n.length>0)return GK(n);else if(o==="number"&&isFinite(n))return i.long?uK(n):YK(n);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(n))}});var $f=I((cN,r1)=>{function OK(n){o.debug=o,o.default=o,o.coerce=l,o.disable=a,o.enable=p,o.enabled=x,o.humanize=k1(),o.destroy=f,Object.keys(n).forEach(($)=>{o[$]=n[$]}),o.names=[],o.skips=[],o.formatters={};function i($){let v=0;for(let S=0;S<$.length;S++)v=(v<<5)-v+$.charCodeAt(S),v|=0;return o.colors[Math.abs(v)%o.colors.length]}o.selectColor=i;function o($){let v,S=null,T,R;function F(...X){if(!F.enabled)return;const z=F,Y=Number(new Date),E=Y-(v||Y);if(z.diff=E,z.prev=v,z.curr=Y,v=Y,X[0]=o.coerce(X[0]),typeof X[0]!=="string")X.unshift("%O");let s=0;X[0]=X[0].replace(/%([a-zA-Z%])/g,(M,O)=>{if(M==="%%")return"%";s++;const U=o.formatters[O];if(typeof U==="function"){const V=X[s];M=U.call(z,V),X.splice(s,1),s--}return M}),o.formatArgs.call(z,X),(z.log||o.log).apply(z,X)}if(F.namespace=$,F.useColors=o.useColors(),F.color=o.selectColor($),F.extend=c,F.destroy=o.destroy,Object.defineProperty(F,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(S!==null)return S;if(T!==o.namespaces)T=o.namespaces,R=o.enabled($);return R},set:(X)=>{S=X}}),typeof o.init==="function")o.init(F);return F}function c($,v){const S=o(this.namespace+(typeof v==="undefined"?":":v)+$);return S.log=this.log,S}function p($){o.save($),o.namespaces=$,o.names=[],o.skips=[];let v;const S=(typeof $==="string"?$:"").split(/[\s,]+/),T=S.length;for(v=0;v<T;v++){if(!S[v])continue;if($=S[v].replace(/\*/g,".*?"),$[0]==="-")o.skips.push(new RegExp("^"+$.slice(1)+"$"));else o.names.push(new RegExp("^"+$+"$"))}}function a(){const $=[...o.names.map(m),...o.skips.map(m).map((v)=>"-"+v)].join(",");return o.enable(""),$}function x($){if($[$.length-1]==="*")return!0;let v,S;for(v=0,S=o.skips.length;v<S;v++)if(o.skips[v].test($))return!1;for(v=0,S=o.names.length;v<S;v++)if(o.names[v].test($))return!0;return!1}function m($){return $.toString().substring(2,$.toString().length-2).replace(/\.\*\?$/,"*")}function l($){if($ instanceof Error)return $.stack||$.message;return $}function f(){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 o.enable(o.load()),o}r1.exports=OK});var q1=I((Z1,qx)=>{function HK(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let n;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(n=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(n[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function EK(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+qx.exports.humanize(this.diff),!this.useColors)return;const i="color: "+this.color;n.splice(1,0,i,"color: inherit");let o=0,c=0;n[0].replace(/%[a-zA-Z%]/g,(p)=>{if(p==="%%")return;if(o++,p==="%c")c=o}),n.splice(c,0,i)}function QK(n){try{if(n)Z1.storage.setItem("debug",n);else Z1.storage.removeItem("debug")}catch(i){}}function UK(){let n;try{n=Z1.storage.getItem("debug")}catch(i){}if(!n&&typeof process!=="undefined"&&"env"in process)n=process.env.DEBUG;return n}function VK(){try{return localStorage}catch(n){}}Z1.formatArgs=EK;Z1.save=QK;Z1.load=UK;Z1.useColors=HK;Z1.storage=VK();Z1.destroy=(()=>{let n=!1;return()=>{if(!n)n=!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`.")}})();Z1.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"];Z1.log=console.debug||console.log||(()=>{});qx.exports=$f()(Z1);var{formatters:bK}=qx.exports;bK.j=function(n){try{return JSON.stringify(n)}catch(i){return"[UnexpectedJSONParseError]: "+i.message}}});var e1=I((aN,P1)=>{P1.exports=(n,i)=>{i=i||process.argv;const o=n.startsWith("-")?"":n.length===1?"-":"--",c=i.indexOf(o+n),p=i.indexOf("--");return c!==-1&&(p===-1?!0:c<p)}});var d1=I((xN,g1)=>{function DK(n){if(n===0)return!1;return{level:n,hasBasic:!0,has256:n>=2,has16m:n>=3}}function IK(n){if(fp===!1)return 0;if(So("color=16m")||So("color=full")||So("color=truecolor"))return 3;if(So("color=256"))return 2;if(n&&!n.isTTY&&fp!==!0)return 0;const i=fp?1:0;if(process.platform==="win32"){const o=hK.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(o[0])>=10&&Number(o[2])>=10586)return Number(o[2])>=14931?3:2;return 1}if("CI"in Ai){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((o)=>(o in Ai))||Ai.CI_NAME==="codeship")return 1;return i}if("TEAMCITY_VERSION"in Ai)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ai.TEAMCITY_VERSION)?1:0;if(Ai.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in Ai){const o=parseInt((Ai.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Ai.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(Ai.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Ai.TERM))return 1;if("COLORTERM"in Ai)return 1;if(Ai.TERM==="dumb")return i;return i}function vf(n){const i=IK(n);return DK(i)}var hK=import.meta.require("os"),So=e1(),Ai=process.env,fp;if(So("no-color")||So("no-colors")||So("color=false"))fp=!1;else if(So("color")||So("colors")||So("color=true")||So("color=always"))fp=!0;if("FORCE_COLOR"in Ai)fp=Ai.FORCE_COLOR.length===0||parseInt(Ai.FORCE_COLOR,10)!==0;g1.exports={supportsColor:vf,stdout:vf(process.stdout),stderr:vf(process.stderr)}});var cJ=I((iJ,ex)=>{function CK(){return"colors"in iJ.inspectOpts?Boolean(iJ.inspectOpts.colors):tK.isatty(process.stderr.fd)}function kK(n){const{namespace:i,useColors:o}=this;if(o){const c=this.color,p="\x1B[3"+(c<8?c:"8;5;"+c),a=` ${p};1m${i} \x1B[0m`;n[0]=a+n[0].split("\n").join("\n"+a),n.push(p+"m+"+ex.exports.humanize(this.diff)+"\x1B[0m")}else n[0]=rK()+i+" "+n[0]}function rK(){if(iJ.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function ZK(...n){return process.stderr.write(Px.formatWithOptions(iJ.inspectOpts,...n)+"\n")}function qK(n){if(n)process.env.DEBUG=n;else delete process.env.DEBUG}function PK(){return process.env.DEBUG}function eK(n){n.inspectOpts={};const i=Object.keys(iJ.inspectOpts);for(let o=0;o<i.length;o++)n.inspectOpts[i[o]]=iJ.inspectOpts[i[o]]}var tK=import.meta.require("tty"),Px=import.meta.require("util");iJ.init=eK;iJ.log=ZK;iJ.formatArgs=kK;iJ.save=qK;iJ.load=PK;iJ.useColors=CK;iJ.destroy=Px.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");iJ.colors=[6,2,3,4,5,1];try{const n=d1();if(n&&(n.stderr||n).level>=2)iJ.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(n){}iJ.inspectOpts=Object.keys(process.env).filter((n)=>{return/^debug_/i.test(n)}).reduce((n,i)=>{const o=i.substring(6).toLowerCase().replace(/_([a-z])/g,(p,a)=>{return a.toUpperCase()});let c=process.env[i];if(/^(yes|on|true|enabled)$/i.test(c))c=!0;else if(/^(no|off|false|disabled)$/i.test(c))c=!1;else if(c==="null")c=null;else c=Number(c);return n[o]=c,n},{});ex.exports=$f()(iJ);var{formatters:nJ}=ex.exports;nJ.o=function(n){return this.inspectOpts.colors=this.useColors,Px.inspect(n,this.inspectOpts).split("\n").map((i)=>i.trim()).join(" ")};nJ.O=function(n){return this.inspectOpts.colors=this.useColors,Px.inspect(n,this.inspectOpts)}});var ai=I((lN,wf)=>{if(typeof process==="undefined"||process.type==="renderer"||!1||process.__nwjs)wf.exports=q1();else wf.exports=cJ()});var uc=I((xJ)=>{function f6(){}Object.defineProperty(xJ,"__esModule",{value:!0});xJ.Transport=void 0;var a6=import.meta.require("events"),x6=Ra(),m6=t1(),l6=ai(),pJ=l6.default("engine:transport");class aJ extends a6.EventEmitter{get readyState(){return this._readyState}set readyState(n){pJ("readyState updated from %s to %s (%s)",this._readyState,n,this.name),this._readyState=n}constructor(n){super();this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=n._query.EIO==="4"?4:3,this.parser=this.protocol===4?x6:m6,this.supportsBinary=!(n._query&&n._query.b64)}discard(){this.discarded=!0}onRequest(n){}close(n){if(this.readyState==="closed"||this.readyState==="closing")return;this.readyState="closing",this.doClose(n||f6)}onError(n,i){if(this.listeners("error").length){const o=new Error(n);o.type="TransportError",o.description=i,this.emit("error",o)}else pJ("ignored transport error %s (%s)",n,i)}onPacket(n){this.emit("packet",n)}onData(n){this.onPacket(this.parser.decodePacket(n))}onClose(){this.readyState="closed",this.emit("close")}}xJ.Transport=aJ});var Sf=I(($J)=>{Object.defineProperty($J,"__esModule",{value:!0});$J.Polling=void 0;var $6=uc(),lJ=import.meta.require("zlib"),v6=Bx(),w6=ai(),hi=w6.default("engine:polling"),S6={gzip:lJ.createGzip,deflate:lJ.createDeflate};class fJ extends $6.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.method==="GET")this.onPollRequest(n,i);else if(n.method==="POST")this.onDataRequest(n,i);else i.writeHead(500),i.end()}onPollRequest(n,i){if(this.req){hi("request overlap"),this.onError("overlap from client"),i.writeHead(400),i.end();return}hi("setting request"),this.req=n,this.res=i;const o=()=>{this.onError("poll connection closed prematurely")},c=()=>{n.removeListener("close",o),this.req=this.res=null};if(n.cleanup=c,n.on("close",o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)hi("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeHead(400),i.end();return}const o=n.headers["content-type"]==="application/octet-stream";if(o&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let c=o?Buffer.concat([]):"";const p=()=>{n.removeListener("data",x),n.removeListener("end",m),n.removeListener("close",a),this.dataReq=this.dataRes=c=null},a=()=>{p(),this.onError("data request connection closed prematurely")},x=(l)=>{let f;if(o)c=Buffer.concat([c,l]),f=c.length;else c+=l,f=Buffer.byteLength(c);if(f>this.maxHttpBufferSize)i.writeHead(413).end(),p()},m=()=>{this.onData(c);const l={"Content-Type":"text/html","Content-Length":"2"};i.writeHead(200,this.headers(n,l)),i.end("ok"),p()};if(n.on("close",a),!o)n.setEncoding("utf8");n.on("data",x),n.on("end",m)}onData(n){hi('received "%s"',n);const i=(o)=>{if(o.type==="close")return hi("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)hi("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){hi('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{a["Content-Length"]=typeof f==="string"?Buffer.byteLength(f):f.length,this.res.writeHead(200,this.headers(this.req,a)),this.res.end(f),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}const l=v6(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeHead(500),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){hi("compressing");const c=[];let p=0;S6[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){hi("closing");let i;if(this.dataReq)hi("aborting ongoing data request"),this.dataReq.destroy();const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)hi("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)hi("transport discarded - closing right away"),o();else hi("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i={}){const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}$J.Polling=fJ});var AJ=I((SJ)=>{Object.defineProperty(SJ,"__esModule",{value:!0});SJ.JSONP=void 0;var J6=Sf(),A6=import.meta.require("querystring"),F6=/\\\\n/g,T6=/(\\)?\\n/g;class wJ extends J6.Polling{constructor(n){super(n);this.head="___eio["+(n._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(n){if(n=A6.parse(n).d,typeof n==="string")n=n.replace(T6,function(i,o){return o?i:"\n"}),super.onData(n.replace(F6,"\\n"))}doWrite(n,i,o){const c=JSON.stringify(n).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");n=this.head+c+this.foot,super.doWrite(n,i,o)}}SJ.JSONP=wJ});var KJ=I((MJ)=>{Object.defineProperty(MJ,"__esModule",{value:!0});MJ.WebSocket=void 0;var M6=uc(),R6=ai(),FJ=R6.default("engine:ws");class TJ extends M6.Transport{constructor(n){super(n);this._doSend=(i)=>{this.socket.send(i,this._onSent)},this._doSendLast=(i)=>{this.socket.send(i,this._onSentLast)},this._onSent=(i)=>{if(i)this.onError("write error",i.stack)},this._onSentLast=(i)=>{if(i)this.onError("write error",i.stack);else this.emit("drain"),this.writable=!0,this.emit("ready")},this.socket=n.websocket,this.socket.on("message",(i,o)=>{const c=o?i:i.toString();FJ('received "%s"',c),super.onData(c)}),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(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],c=i+1===n.length;if(this._canSendPreEncodedFrame(o))this.socket._sender.sendFrame(o.options.wsPreEncodedFrame,c?this._onSentLast:this._onSent);else this.parser.encodePacket(o,this.supportsBinary,c?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(n){var i,o,c;return!this.perMessageDeflate&&typeof((o=(i=this.socket)===null||i===void 0?void 0:i._sender)===null||o===void 0?void 0:o.sendFrame)==="function"&&((c=n.options)===null||c===void 0?void 0:c.wsPreEncodedFrame)!==void 0}doClose(n){FJ("closing"),this.socket.close(),n&&n()}}MJ.WebSocket=TJ});var Jf=I((XJ)=>{Object.defineProperty(XJ,"__esModule",{value:!0});XJ.WebTransport=void 0;var K6=uc(),W6=ai(),X6=Ra(),$p=W6.default("engine:webtransport");class WJ extends K6.Transport{constructor(n,i,o){super({_query:{EIO:"4"}});this.session=n;const c=X6.createPacketEncoderStream();c.readable.pipeTo(i.writable).catch(()=>{$p("the stream was closed")}),this.writer=c.writable.getWriter(),(async()=>{try{while(!0){const{value:p,done:a}=await o.read();if(a){$p("session is closed");break}$p("received chunk: %o",p),this.onPacket(p)}}catch(p){$p("error while reading: %s",p.message)}})(),n.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(n){this.writable=!1;try{for(let i=0;i<n.length;i++){const o=n[i];await this.writer.write(o)}}catch(i){$p("error while writing: %s",i.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(n){$p("closing WebTransport session"),this.session.close(),n&&n()}}XJ.WebTransport=WJ});var Af=I((YJ)=>{function GJ(n){if(typeof n._query.j==="string")return new G6.JSONP(n);else return new z6.Polling(n)}Object.defineProperty(YJ,"__esModule",{value:!0});var z6=Sf(),G6=AJ(),Y6=KJ(),u6=Jf();YJ.default={polling:GJ,websocket:Y6.WebSocket,webtransport:u6.WebTransport};GJ.upgradesTo=["websocket","webtransport"]});var Ff=I((OJ)=>{Object.defineProperty(OJ,"__esModule",{value:!0});OJ.Socket=void 0;var H6=import.meta.require("events"),E6=ai(),No=import.meta.require("timers"),Zn=E6.default("engine:socket");class uJ extends H6.EventEmitter{get readyState(){return this._readyState}set readyState(n){Zn("readyState updated from %s to %s",this._readyState,n),this._readyState=n}constructor(n,i,o,c,p){super();if(this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=n,this.server=i,this.request=c,this.protocol=p,c)if(c.websocket&&c.websocket._socket)this.remoteAddress=c.websocket._socket.remoteAddress;else this.remoteAddress=c.connection.remoteAddress;this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(o),this.onOpen()}onOpen(){if(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);if(this.emit("open"),this.protocol===3)this.resetPingTimeout();else this.schedulePing()}onPacket(n){if(this.readyState!=="open")return Zn("packet received with closed socket");switch(Zn(`received packet ${n.type}`),this.emit("packet",n),n.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}Zn("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}Zn("got pong"),No.clearTimeout(this.pingTimeoutTimer),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",n.data),this.emit("message",n.data);break}}onError(n){Zn("transport error"),this.onClose("transport error",n)}schedulePing(){this.pingIntervalTimer=No.setTimeout(()=>{Zn("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){No.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=No.setTimeout(()=>{if(this.readyState==="closed")return;this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(n){const i=this.onError.bind(this),o=()=>this.flush(),c=this.onPacket.bind(this),p=this.onDrain.bind(this),a=this.onClose.bind(this,"transport close");this.transport=n,this.transport.once("error",i),this.transport.on("ready",o),this.transport.on("packet",c),this.transport.on("drain",p),this.transport.once("close",a),this.cleanupFn.push(function(){n.removeListener("error",i),n.removeListener("ready",o),n.removeListener("packet",c),n.removeListener("drain",p),n.removeListener("close",a)})}onDrain(){if(this.sentCallbackFn.length>0){Zn("executing batch send callback");const n=this.sentCallbackFn.shift();if(n)for(let i=0;i<n.length;i++)n[i](this.transport)}}_maybeUpgrade(n){Zn('might upgrade socket transport from "%s" to "%s"',this.transport.name,n.name),this.upgrading=!0;const i=No.setTimeout(()=>{if(Zn("client did not complete upgrade - closing transport"),a(),n.readyState==="open")n.close()},this.server.opts.upgradeTimeout);let o;const c=(f)=>{if(f.type==="ping"&&f.data==="probe")Zn("got probe ping packet, sending pong"),n.send([{type:"pong",data:"probe"}]),this.emit("upgrading",n),clearInterval(o),o=setInterval(p,100);else if(f.type==="upgrade"&&this.readyState!=="closed"){if(Zn("got upgrade packet - upgrading"),a(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(n),this.emit("upgrade",n),this.flush(),this.readyState==="closing")n.close(()=>{this.onClose("forced close")})}else a(),n.close()},p=()=>{if(this.transport.name==="polling"&&this.transport.writable)Zn("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}])},a=()=>{this.upgrading=!1,clearInterval(o),No.clearTimeout(i),n.removeListener("packet",c),n.removeListener("close",m),n.removeListener("error",x),this.removeListener("close",l)},x=(f)=>{Zn("client did not complete upgrade - %s",f),a(),n.close(),n=null},m=()=>{x("transport closed")},l=()=>{x("socket closed")};n.on("packet",c),n.once("close",m),n.once("error",x),this.once("close",l)}clearTransport(){let n;const i=this.cleanupFn.length;for(let o=0;o<i;o++)n=this.cleanupFn.shift(),n();this.transport.on("error",function(){Zn("error triggered by discarded transport")}),this.transport.close(),No.clearTimeout(this.pingTimeoutTimer)}onClose(n,i){if(this.readyState!=="closed")this.readyState="closed",No.clearTimeout(this.pingIntervalTimer),No.clearTimeout(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",n,i)}send(n,i,o){return this.sendPacket("message",n,i,o),this}write(n,i,o){return this.sendPacket("message",n,i,o),this}sendPacket(n,i,o={},c){if(typeof o==="function")c=o,o={};if(this.readyState!=="closing"&&this.readyState!=="closed"){Zn('sending packet "%s" (%s)',n,i),o.compress=o.compress!==!1;const p={type:n,options:o};if(i)p.data=i;if(this.emit("packetCreate",p),this.writeBuffer.push(p),typeof c==="function")this.packetsFn.push(c);this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){Zn("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const n=this.writeBuffer;if(this.writeBuffer=[],this.packetsFn.length)this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[];else this.sentCallbackFn.push(null);this.transport.send(n),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const n=[],i=this.server.upgrades(this.transport.name);for(let o=0;o<i.length;++o){const c=i[o];if(this.server.opts.transports.indexOf(c)!==-1)n.push(c)}return n}close(n){if(n&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(n);if(this.readyState!=="open")return;if(this.readyState="closing",this.writeBuffer.length){Zn("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{Zn("all packets have been sent, closing the transport"),this.closeTransport(n)});return}Zn("the buffer is empty, closing the transport right away"),this.closeTransport(n)}closeTransport(n){if(Zn("closing the transport (discard? %s)",!!n),n)this.transport.discard();this.transport.close(this.onClose.bind(this,"forced close"))}}OJ.Socket=uJ});var EJ=I((s6)=>{function V6(n,i){if(typeof n!=="string")throw new TypeError("argument str must be a string");var o={},c=i||{},p=n.split(";"),a=c.decode||Q6;for(var x=0;x<p.length;x++){var m=p[x],l=m.indexOf("=");if(l<0)continue;var f=m.substring(0,l).trim();if(o[f]==null){var $=m.substring(l+1,m.length).trim();if($[0]==='"')$=$.slice(1,-1);o[f]=_6($,a)}}return o}function b6(n,i,o){var c=o||{},p=c.encode||U6;if(typeof p!=="function")throw new TypeError("option encode is invalid");if(!gx.test(n))throw new TypeError("argument name is invalid");var a=p(i);if(a&&!gx.test(a))throw new TypeError("argument val is invalid");var x=n+"="+a;if(c.maxAge!=null){var m=c.maxAge-0;if(isNaN(m)||!isFinite(m))throw new TypeError("option maxAge is invalid");x+="; Max-Age="+Math.floor(m)}if(c.domain){if(!gx.test(c.domain))throw new TypeError("option domain is invalid");x+="; Domain="+c.domain}if(c.path){if(!gx.test(c.path))throw new TypeError("option path is invalid");x+="; Path="+c.path}if(c.expires){if(typeof c.expires.toUTCString!=="function")throw new TypeError("option expires is invalid");x+="; Expires="+c.expires.toUTCString()}if(c.httpOnly)x+="; HttpOnly";if(c.secure)x+="; Secure";if(c.sameSite){var l=typeof c.sameSite==="string"?c.sameSite.toLowerCase():c.sameSite;switch(l){case!0:x+="; SameSite=Strict";break;case"lax":x+="; SameSite=Lax";break;case"strict":x+="; SameSite=Strict";break;case"none":x+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return x}function _6(n,i){try{return i(n)}catch(o){return n}}/*!
|
|
27
27
|
* cookie
|
|
28
28
|
* Copyright(c) 2012-2014 Roman Shtylman
|
|
29
29
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
30
30
|
* MIT Licensed
|
|
31
|
-
*/
|
|
31
|
+
*/s6.parse=V6;s6.serialize=b6;var Q6=decodeURIComponent,U6=encodeURIComponent,gx=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/});var VJ=I((TN,UJ)=>{function y6(n){if(n===null||n===void 0)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}function h6(){try{if(!Object.assign)return!1;var n=new String("abc");if(n[5]="de",Object.getOwnPropertyNames(n)[0]==="5")return!1;var i={};for(var o=0;o<10;o++)i["_"+String.fromCharCode(o)]=o;var c=Object.getOwnPropertyNames(i).map(function(a){return i[a]});if(c.join("")!=="0123456789")return!1;var p={};if("abcdefghijklmnopqrst".split("").forEach(function(a){p[a]=a}),Object.keys(Object.assign({},p)).join("")!=="abcdefghijklmnopqrst")return!1;return!0}catch(a){return!1}}var QJ=Object.getOwnPropertySymbols,L6=Object.prototype.hasOwnProperty,B6=Object.prototype.propertyIsEnumerable;UJ.exports=h6()?Object.assign:function(n,i){var o,c=y6(n),p;for(var a=1;a<arguments.length;a++){o=Object(arguments[a]);for(var x in o)if(L6.call(o,x))c[x]=o[x];if(QJ){p=QJ(o);for(var m=0;m<p.length;m++)if(B6.call(o,p[m]))c[p[m]]=o[p[m]]}}return c}});var sJ=I((MN,Tf)=>{function _J(n,i){if(typeof n!=="string")throw new TypeError("header argument is required");if(!i)throw new TypeError("field argument is required");var o=!Array.isArray(i)?bJ(String(i)):i;for(var c=0;c<o.length;c++)if(!D6.test(o[c]))throw new TypeError("field argument contains an invalid header name");if(n==="*")return n;var p=n,a=bJ(n.toLowerCase());if(o.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var x=0;x<o.length;x++){var m=o[x].toLowerCase();if(a.indexOf(m)===-1)a.push(m),p=p?p+", "+o[x]:o[x]}return p}function bJ(n){var i=0,o=[],c=0;for(var p=0,a=n.length;p<a;p++)switch(n.charCodeAt(p)){case 32:if(c===i)c=i=p+1;break;case 44:o.push(n.substring(c,i)),c=i=p+1;break;default:i=p+1;break}return o.push(n.substring(c,i)),o}function I6(n,i){if(!n||!n.getHeader||!n.setHeader)throw new TypeError("res argument is required");var o=n.getHeader("Vary")||"",c=Array.isArray(o)?o.join(", "):String(o);if(o=_J(c,i))n.setHeader("Vary",o)}/*!
|
|
32
32
|
* vary
|
|
33
33
|
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
|
34
34
|
* MIT Licensed
|
|
35
|
-
*/$e.exports=Qm;$e.exports.append=Is;var Zm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var je=h((Sh,Vs)=>{(function(){var n=Cs(),i=Es(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function e(y){return typeof y==="string"||y instanceof String}function a(y,v){if(Array.isArray(v)){for(var u=0;u<v.length;++u)if(a(y,v[u]))return!0;return!1}else if(e(v))return y===v;else if(v instanceof RegExp)return v.test(y);else return!!v}function t(y,v){var u=v.headers.origin,b=[],S;if(!y.origin||y.origin==="*")b.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(e(y.origin))b.push([{key:"Access-Control-Allow-Origin",value:y.origin}]),b.push([{key:"Vary",value:"Origin"}]);else S=a(u,y.origin),b.push([{key:"Access-Control-Allow-Origin",value:S?u:!1}]),b.push([{key:"Vary",value:"Origin"}]);return b}function s(y){var v=y.methods;if(v.join)v=y.methods.join(",");return{key:"Access-Control-Allow-Methods",value:v}}function c(y){if(y.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(y,v){var u=y.allowedHeaders||y.headers,b=[];if(!u)u=v.headers["access-control-request-headers"],b.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(u.join)u=u.join(",");if(u&&u.length)b.push([{key:"Access-Control-Allow-Headers",value:u}]);return b}function r(y){var v=y.exposedHeaders;if(!v)return null;else if(v.join)v=v.join(",");if(v&&v.length)return{key:"Access-Control-Expose-Headers",value:v};return null}function p(y){var v=(typeof y.maxAge==="number"||y.maxAge)&&y.maxAge.toString();if(v&&v.length)return{key:"Access-Control-Max-Age",value:v};return null}function m(y,v){for(var u=0,b=y.length;u<b;u++){var S=y[u];if(S){if(Array.isArray(S))m(S,v);else if(S.key==="Vary"&&S.value)i(v,S.value);else if(S.value)v.setHeader(S.key,S.value)}}}function T(y,v,u,b){var S=[],K=v.method&&v.method.toUpperCase&&v.method.toUpperCase();if(K==="OPTIONS")if(S.push(t(y,v)),S.push(c(y,v)),S.push(s(y,v)),S.push(l(y,v)),S.push(p(y,v)),S.push(r(y,v)),m(S,u),y.preflightContinue)b();else u.statusCode=y.optionsSuccessStatus,u.setHeader("Content-Length","0"),u.end();else S.push(t(y,v)),S.push(c(y,v)),S.push(r(y,v)),m(S,u),b()}function R(y){var v=null;if(typeof y==="function")v=y;else v=function(u,b){b(null,y)};return function u(b,S,K){v(b,function(W,x){if(W)K(W);else{var d=n({},o,x),A=null;if(d.origin&&typeof d.origin==="function")A=d.origin;else if(d.origin)A=function(w,g){g(null,d.origin)};if(A)A(b.headers.origin,function(w,g){if(w||!g)K(w);else d.origin=g,T(d,b,S,K)});else K()}})}}Vs.exports=R})()});var ke=h((Qs)=>{function nu(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function Xs(n,i,o){const e=i===B.errors.FORBIDDEN?403:400,a=o&&o.message?o.message:B.errorMessages[i];n.writeHead(e,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:a}))}function Gs(n,i,o={}){if(n.on("error",()=>{C("ignoring error from closed connection")}),n.writable){const e=o.message||B.errorMessages[i],a=Buffer.byteLength(e);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+a+"\r\n\r\n"+e)}n.destroy()}function iu(n){if(n+="",n.length<1)return!1;if(!Ui[n.charCodeAt(0)])return C('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Ui[n.charCodeAt(1)])return C('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Ui[n.charCodeAt(2)])return C('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Ui[n.charCodeAt(3)])return C('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Ui[n.charCodeAt(i)])return C('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(Qs,"__esModule",{value:!0});Qs.Server=Qs.BaseServer=void 0;var Hm=import.meta.require("querystring"),Nm=import.meta.require("url"),Us=xe(),Fo=Me(),Dm=import.meta.require("events"),Ys=Je(),Lm=q(),Pm=ks(),_m=import.meta.require("ws"),Bs=Re(),qm=Vi(),C=Lm.default("engine"),yi=Symbol("responseHeaders");class Yi extends Dm.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:_m.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(je()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return Fo.default[n].upgradesTo||[]}verify(n,i,o){const e=n._query.transport;if(!~this.opts.transports.indexOf(e)||e==="webtransport")return C('unknown transport "%s"',e),o(B.errors.UNKNOWN_TRANSPORT,{transport:e});if(iu(n.headers.origin)){const s=n.headers.origin;return n.headers.origin=null,C("origin header invalid"),o(B.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:s})}const t=n._query.sid;if(t){if(!this.clients.hasOwnProperty(t))return C('unknown sid "%s"',t),o(B.errors.UNKNOWN_SID,{sid:t});const s=this.clients[t].transport.name;if(!i&&s!==e)return C("bad request: unexpected transport without upgrade"),o(B.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:e,previousTransport:s})}else{if(n.method!=="GET")return o(B.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(e==="websocket"&&!i)return C("invalid transport upgrade"),o(B.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(s,c)=>{if(!c)return o(B.errors.FORBIDDEN,{message:s});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return C("no middleware to apply, skipping"),o();const e=(a)=>{C("applying middleware n\xB0%d",a+1),this.middlewares[a](n,i,(t)=>{if(t)return o(t);if(a+1<this.middlewares.length)e(a+1);else o()})};e(0)}close(){C("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return Us.generateId()}async handshake(n,i,o){const e=i._query.EIO==="4"?4:3;if(e===3&&!this.opts.allowEIO3){C("unsupported protocol version"),this.emit("connection_error",{req:i,code:B.errors.UNSUPPORTED_PROTOCOL_VERSION,message:B.errorMessages[B.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:e}}),o(B.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(i)}catch(c){C("error while generating an id"),this.emit("connection_error",{req:i,code:B.errors.BAD_REQUEST,message:B.errorMessages[B.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:c}}),o(B.errors.BAD_REQUEST);return}C('handshaking client "%s"',a);try{var t=this.createTransport(n,i);if(n==="polling")t.maxHttpBufferSize=this.opts.maxHttpBufferSize,t.httpCompression=this.opts.httpCompression;else if(n==="websocket")t.perMessageDeflate=this.opts.perMessageDeflate}catch(c){C('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:B.errors.BAD_REQUEST,message:B.errorMessages[B.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:c}}),o(B.errors.BAD_REQUEST);return}const s=new Ys.Socket(a,this,t,i,e);return t.on("headers",(c,l)=>{if(!l._query.sid){if(this.opts.cookie)c["Set-Cookie"]=[Pm.serialize(this.opts.cookie.name,a,this.opts.cookie)];this.emit("initial_headers",c,l)}this.emit("headers",c,l)}),t.onRequest(i),this.clients[a]=s,this.clientsCount++,s.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",s),t}async onWebTransportSession(n){const i=setTimeout(()=>{C("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),e=await n.incomingBidirectionalStreams.getReader().read();if(e.done){C("session is closed");return}const a=e.value,t=qm.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),s=a.readable.pipeThrough(t).getReader(),{value:c,done:l}=await s.read();if(l){C("stream is closed");return}if(clearTimeout(i),c.type!=="open")return C("invalid WebTransport handshake"),n.close();if(c.data===void 0){const m=new Bs.WebTransport(n,a,s),T=Us.generateId();C('handshaking client "%s" (WebTransport)',T);const R=new Ys.Socket(T,this,m,null,4);this.clients[T]=R,this.clientsCount++,R.once("close",()=>{delete this.clients[T],this.clientsCount--}),this.emit("connection",R);return}const r=nu(c.data);if(!r)return C("invalid WebTransport handshake"),n.close();const p=this.clients[r];if(!p)C("upgrade attempt for closed client"),n.close();else if(p.upgrading)C("transport has already been trying to upgrade"),n.close();else if(p.upgraded)C("transport had already been upgraded"),n.close();else{C("upgrading existing transport");const m=new Bs.WebTransport(n,a,s);p._maybeUpgrade(m)}}}Qs.BaseServer=Yi;Yi.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Yi.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class Zs{constructor(n,i){this.req=n,this.socket=i,n[yi]={}}setHeader(n,i){this.req[yi][n]=i}getHeader(n){return this.req[yi][n]}removeHeader(n){delete this.req[yi][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class B extends Yi{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(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",(n,i)=>{const o=i[yi]||{};if(delete i[yi],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),C("writing headers: %j",o),Object.keys(o).forEach((a)=>{n.push(`${a}: ${o[a]}`)})})}cleanup(){if(this.ws)C("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?Hm.parse(Nm.parse(n.url).query):{}}createTransport(n,i){return new Fo.default[n](i)}handleRequest(n,i){C('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(e,a)=>{if(e!==void 0){this.emit("connection_error",{req:n,code:e,message:B.errorMessages[e],context:a}),Xs(i,e,a);return}if(n._query.sid)C("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const t=(s,c)=>Xs(i,s,c);this.handshake(n._query.transport,n,t)}};this._applyMiddlewares(n,i,(e)=>{if(e)o(B.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const e=new Zs(n,i),a=(t,s)=>{if(t!==void 0){this.emit("connection_error",{req:n,code:t,message:B.errorMessages[t],context:s}),Gs(i,t,s);return}const c=Buffer.from(o);o=null,e.writeHead(),this.ws.handleUpgrade(n,i,c,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,e,(t)=>{if(t)a(B.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,a)})}onWebSocket(n,i,o){if(o.on("error",a),Fo.default[n._query.transport]!==void 0&&!Fo.default[n._query.transport].prototype.handlesUpgrades){C("transport doesnt handle upgraded requests"),o.close();return}const e=n._query.sid;if(n.websocket=o,e){const t=this.clients[e];if(!t)C("upgrade attempt for closed client"),o.close();else if(t.upgrading)C("transport has already been trying to upgrade"),o.close();else if(t.upgraded)C("transport had already been upgraded"),o.close();else{C("upgrading existing transport"),o.removeListener("error",a);const s=this.createTransport(n._query.transport,n);s.perMessageDeflate=this.opts.perMessageDeflate,t._maybeUpgrade(s)}}else{const t=(s,c)=>Gs(i,s,c);this.handshake(n._query.transport,n,t)}function a(){C("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),e=i.destroyUpgradeTimeout||1000;function a(s){return o===s.url.slice(0,o.length)}const t=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(s,c)=>{if(a(s))C('intercepting request for path "%s"',o),this.handleRequest(s,c);else{let l=0;const r=t.length;for(;l<r;l++)t[l].call(n,s,c)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(s,c,l)=>{if(a(s))this.handleUpgrade(s,c,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(c.writable&&c.bytesWritten<=0)return c.on("error",(r)=>{C("error while destroying upgrade: %s",r.message)}),c.end()},e)})}}Qs.Server=B;var Ui=[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]});var _s=h((Ls)=>{Object.defineProperty(Ls,"__esModule",{value:!0});Ls.Polling=void 0;var eu=Pn(),Ns=import.meta.require("zlib"),au=lo(),tu=q(),vn=tu.default("engine:polling"),su={gzip:Ns.createGzip,deflate:Ns.createDeflate};class Ds extends eu.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){vn("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}vn("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},e=()=>{this.req=this.res=null};if(n.cleanup=e,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)vn("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let a,t=0;const s={"Content-Type":"text/html"};this.headers(n,s);for(let l in s)i.writeHeader(l,String(s[l]));const c=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,r)=>{const p=t+l.byteLength;if(p>o){this.onError("content-length mismatch"),i.close();return}if(!a){if(r){c(Buffer.from(l));return}a=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(a,t),r){if(p!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}c(a);return}t=p})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){vn('received "%s"',n);const i=(o)=>{if(o.type==="close")return vn("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)vn("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const e=n.some((a)=>{return a.options&&a.options.compress});this.write(o,{compress:e})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){vn('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const e=typeof n==="string",t={"Content-Type":e?"text/plain; charset=UTF-8":"application/octet-stream"},s=(r)=>{this.headers(this.req,t),this.res.cork(()=>{Object.keys(t).forEach((p)=>{this.res.writeHeader(p,String(t[p]))}),this.res.end(r)}),o()};if(!this.httpCompression||!i.compress){s(n);return}if((e?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){s(n);return}const l=au(this.req).encodings(["gzip","deflate"]);if(!l){s(n);return}this.compress(n,l,(r,p)=>{if(r){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(r);return}t["Content-Encoding"]=l,s(p)})}compress(n,i,o){vn("compressing");const e=[];let a=0;su[i](this.httpCompression).on("error",o).on("data",function(t){e.push(t),a+=t.length}).on("end",function(){o(null,Buffer.concat(e,a))}).end(n)}doClose(n){vn("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)vn("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)vn("transport discarded - closing right away"),o();else vn("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}Ls.Polling=Ds});var ec=h((ic)=>{Object.defineProperty(ic,"__esModule",{value:!0});ic.WebSocket=void 0;var cu=Pn(),lu=q(),qs=lu.default("engine:ws");class nc extends cu.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],e=i+1===n.length,a=(t)=>{const s=typeof t!=="string",c=this.perMessageDeflate&&Buffer.byteLength(t)>this.perMessageDeflate.threshold;if(qs('writing "%s"',t),this.socket.send(t,s,c),e)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")a(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,a)}}doClose(n){qs("closing"),n&&n(),this.socket.end()}}ic.WebSocket=nc});var tc=h((ac)=>{Object.defineProperty(ac,"__esModule",{value:!0});var ru=_s(),pu=ec();ac.default={polling:ru.Polling,websocket:pu.WebSocket}});var pc=h((lc)=>{Object.defineProperty(lc,"__esModule",{value:!0});lc.uServer=void 0;var uu=q(),_n=ke(),xu=tc(),Xn=uu.default("engine:uws");class sc extends _n.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((e,a)=>{n.headers[e]=a}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{Xn("response has been aborted")})}createTransport(n,i){return new xu.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(e)=>{const a=e.getUserData().transport;a.socket=e,a.writable=!0,a.emit("ready")},message:(e,a,t)=>{e.getUserData().transport.onData(t?a:Buffer.from(a).toString())},close:(e,a,t)=>{e.getUserData().transport.onClose(a,t)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new cc(i),super._applyMiddlewares(n,n.res,(e)=>{n.res.writeHead(),o(e)})}handleRequest(n,i){Xn('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(e,a)=>{if(e!==void 0){this.emit("connection_error",{req:i,code:e,message:_n.Server.errorMessages[e],context:a}),this.abortRequest(i.res,e,a);return}if(i._query.sid)Xn("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const t=(s,c)=>this.abortRequest(n,s,c);this.handshake(i._query.transport,i,t)}};this._applyMiddlewares(i,n,(e)=>{if(e)o(_n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){Xn("on upgrade"),this.prepare(i,n),i.res=n;const e=async(a,t)=>{if(a!==void 0){this.emit("connection_error",{req:i,code:a,message:_n.Server.errorMessages[a],context:t}),this.abortRequest(n,a,t);return}const s=i._query.sid;let c;if(s){const l=this.clients[s];if(!l)return Xn("upgrade attempt for closed client"),n.close();else if(l.upgrading)return Xn("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return Xn("transport had already been upgraded"),n.close();else Xn("upgrading existing transport"),c=this.createTransport(i._query.transport,i),l._maybeUpgrade(c)}else if(c=await this.handshake(i._query.transport,i,(l,r)=>this.abortRequest(n,l,r)),!c)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:c},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(a)=>{if(a)e(_n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,e)})}abortRequest(n,i,o){const e=i===_n.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=o&&o.message?o.message:_n.Server.errorMessages[i];n.writeStatus(e),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:a}))}}lc.uServer=sc;class cc{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var fc=h((vi)=>{function Tu(n,i,o){if(typeof i==="function")o=i,i={};const e=du.createServer(function(t,s){s.writeHead(501),s.end("Not Implemented")}),a=xc(e,i);return a.httpServer=e,e.listen(n,o),a}function xc(n,i){const o=new mc.Server(i);return o.attach(n,i),o}Object.defineProperty(vi,"__esModule",{value:!0});vi.protocol=vi.Transport=vi.Socket=vi.uServer=vi.parser=vi.transports=vi.Server=void 0;vi.listen=Tu;vi.attach=xc;var du=import.meta.require("http"),mc=ke();Object.defineProperty(vi,"Server",{enumerable:!0,get:function(){return mc.Server}});var fu=Me();vi.transports=fu.default;var uc=Vi();vi.parser=uc;var yu=pc();Object.defineProperty(vi,"uServer",{enumerable:!0,get:function(){return yu.uServer}});var vu=Je();Object.defineProperty(vi,"Socket",{enumerable:!0,get:function(){return vu.Socket}});var bu=Pn();Object.defineProperty(vi,"Transport",{enumerable:!0,get:function(){return bu.Transport}});vi.protocol=uc.protocol});var yc=h((Au)=>{function sn(n){if(n)return hu(n)}function hu(n){for(var i in sn.prototype)n[i]=sn.prototype[i];return n}Au.Emitter=sn;sn.prototype.on=sn.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};sn.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};sn.prototype.off=sn.prototype.removeListener=sn.prototype.removeAllListeners=sn.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var e;for(var a=0;a<o.length;a++)if(e=o[a],e===i||e.fn===i){o.splice(a,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};sn.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var e=1;e<arguments.length;e++)i[e-1]=arguments[e];if(o){o=o.slice(0);for(var e=0,a=o.length;e<a;++e)o[e].apply(this,i)}return this};sn.prototype.emitReserved=sn.prototype.emit;sn.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};sn.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Oe=h((Tc)=>{function bc(n){return Ru&&(n instanceof ArrayBuffer||Mu(n))||Ju&&n instanceof Blob||$u&&n instanceof File}function ho(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,e=n.length;o<e;o++)if(ho(n[o]))return!0;return!1}if(bc(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return ho(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&ho(n[o]))return!0;return!1}Object.defineProperty(Tc,"__esModule",{value:!0});Tc.hasBinary=Tc.isBinary=void 0;var Ru=typeof ArrayBuffer==="function",Mu=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},vc=Object.prototype.toString,Ju=typeof Blob==="function"||typeof Blob!=="undefined"&&vc.call(Blob)==="[object BlobConstructor]",$u=typeof File==="function"||typeof File!=="undefined"&&vc.call(File)==="[object FileConstructor]";Tc.isBinary=bc;Tc.hasBinary=ho});var Fc=h((wc)=>{function Ou(n){const i=[],o=n.data,e=n;return e.data=ze(o,i),e.attachments=i.length,{packet:e,buffers:i}}function ze(n,i){if(!n)return n;if(ku.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let e=0;e<n.length;e++)o[e]=ze(n[e],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let e in n)if(Object.prototype.hasOwnProperty.call(n,e))o[e]=ze(n[e],i);return o}return n}function zu(n,i){return n.data=Ce(n.data,i),delete n.attachments,n}function Ce(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=Ce(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=Ce(n[o],i)}return n}Object.defineProperty(wc,"__esModule",{value:!0});wc.reconstructPacket=wc.deconstructPacket=void 0;var ku=Oe();wc.deconstructPacket=Ou;wc.reconstructPacket=zu});var Bi=h(($c)=>{function hc(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty($c,"__esModule",{value:!0});$c.Decoder=$c.Encoder=$c.PacketType=$c.protocol=void 0;var Wu=yc(),Kc=Fc(),Rc=Oe(),Iu=q(),We=Iu.default("socket.io-parser"),Eu=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];$c.protocol=5;var Q;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(Q=$c.PacketType||($c.PacketType={}));class Mc{constructor(n){this.replacer=n}encode(n){if(We("encoding packet %j",n),n.type===Q.EVENT||n.type===Q.ACK){if(Rc.hasBinary(n))return this.encodeAsBinary({type:n.type===Q.EVENT?Q.BINARY_EVENT:Q.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===Q.BINARY_EVENT||n.type===Q.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return We("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=Kc.deconstructPacket(n),o=this.encodeAsString(i.packet),e=i.buffers;return e.unshift(o),e}}$c.Encoder=Mc;class Ie extends Wu.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===Q.BINARY_EVENT;if(o||i.type===Q.BINARY_ACK){if(i.type=o?Q.EVENT:Q.ACK,this.reconstructor=new Jc(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(Rc.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(Q[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===Q.BINARY_EVENT||o.type===Q.BINARY_ACK){const a=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const t=n.substring(a,i);if(t!=Number(t)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(t)}if(n.charAt(i+1)==="/"){const a=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(a,i)}else o.nsp="/";const e=n.charAt(i+1);if(e!==""&&Number(e)==e){const a=i+1;while(++i){const t=n.charAt(i);if(t==null||Number(t)!=t){--i;break}if(i===n.length)break}o.id=Number(n.substring(a,i+1))}if(n.charAt(++i)){const a=this.tryParse(n.substr(i));if(Ie.isPayloadValid(o.type,a))o.data=a;else throw new Error("invalid payload")}return We("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case Q.CONNECT:return hc(i);case Q.DISCONNECT:return i===void 0;case Q.CONNECT_ERROR:return typeof i==="string"||hc(i);case Q.EVENT:case Q.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&Eu.indexOf(i[0])===-1);case Q.ACK:case Q.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}$c.Decoder=Ie;class Jc{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=Kc.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var Cc=h((Oc)=>{Object.defineProperty(Oc,"__esModule",{value:!0});Oc.Client=void 0;var Ao=Bi(),Yu=q(),Bu=import.meta.require("url"),hn=Yu("socket.io:client");class kc{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.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(()=>{if(this.nsps.size===0)hn("no namespace joined yet, close the client"),this.close();else hn("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return hn("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else hn("creation of namespace %s was denied",n),this._packet({type:Ao.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(e)=>{if(this.sockets.set(e.id,e),this.nsps.set(o.name,e),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else hn("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")hn("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){hn("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){hn("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let e of o)this.conn.write(e,i)}ondata(n){try{this.decoder.add(n)}catch(i){hn("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const a=Bu.parse(n.nsp,!0);i=a.pathname,o=a.query}else i=n.nsp,o=n.data;const e=this.nsps.get(i);if(!e&&n.type===Ao.PacketType.CONNECT)this.connect(i,o);else if(e&&n.type!==Ao.PacketType.CONNECT&&n.type!==Ao.PacketType.CONNECT_ERROR)process.nextTick(function(){e._onpacket(n)});else hn("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){hn("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(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}}Oc.Client=kc});var Ko=h((Ic)=>{Object.defineProperty(Ic,"__esModule",{value:!0});Ic.StrictEventEmitter=void 0;var Xu=import.meta.require("events");class Wc extends Xu.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}Ic.StrictEventEmitter=Wc});var Ee=h((Vc)=>{Object.defineProperty(Vc,"__esModule",{value:!0});Vc.RESERVED_EVENTS=void 0;Vc.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Ue=h((Yc)=>{Object.defineProperty(Yc,"__esModule",{value:!0});Yc.RemoteSocket=Yc.BroadcastOperator=void 0;var Gu=Ee(),Zu=Bi();class kn{constructor(n,i=new Set,o=new Set,e={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=e}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new kn(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new kn(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new kn(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new kn(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new kn(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new kn(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(Gu.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],e={type:Zu.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(e,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const t=o.pop();let s=!1,c=[];const l=setTimeout(()=>{s=!0,t.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])},this.flags.timeout);let r=-1,p=0,m=0;const T=()=>{if(!s&&r===p&&c.length===m)clearTimeout(l),t.apply(this,[null,this.flags.expectSingleResponse?c[0]:c])};return this.adapter.broadcastWithAck(e,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(R)=>{m+=R,p++,T()},(R)=>{c.push(R),T()}),this.adapter.serverCount().then((R)=>{r=R,T()}),!0}emitWithAck(n,...i){return new Promise((o,e)=>{i.push((a,t)=>{if(a)return a.responses=t,e(a);else return o(t)}),this.emit(n,...i)})}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((n)=>{return n.map((i)=>{if(i.server)return i;else return new Ve(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}Yc.BroadcastOperator=kn;class Ve{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new kn(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}Yc.RemoteSocket=Ve});var Ye=h((bi)=>{function Gc(){}var Zc=bi&&bi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(bi,"__esModule",{value:!0});bi.Socket=void 0;var bn=Bi(),Hu=Zc(q()),Nu=Ko(),Xc=Zc(xe()),Du=Ue(),Lu=Ee(),on=Hu.default("socket.io:socket"),Pu=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class Qc extends Nu.StrictEventEmitter{constructor(n,i,o,e){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,e)this.id=e.sid,this.pid=e.pid,e.rooms.forEach((a)=>this.join(a)),this.data=e.data,e.missedPackets.forEach((a)=>{this.packet({type:bn.PacketType.EVENT,data:a})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=Xc.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=Xc.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",Gc)}buildHandshake(n){var i,o,e,a;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(e=this.request)===null||e===void 0?void 0:e.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:n}}emit(n,...i){if(Lu.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],e={type:bn.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const t=this.nsp._ids++;on("emitting packet with ack id %d",t),this.registerAckCallback(t,o.pop()),e.id=t}const a=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(e,{rooms:new Set([this.id]),except:new Set,flags:a});else this.notifyOutgoingListeners(e),this.packet(e,a);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((e,a)=>{i.push((t,s)=>{if(o)return t?a(t):e(s);else return e(t)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const e=setTimeout(()=>{on("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...a)=>{clearTimeout(e),i.apply(this,[null,...a])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return on("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return on("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(on("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:bn.PacketType.CONNECT});else this.packet({type:bn.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(on("got packet %j",n),n.type){case bn.PacketType.EVENT:this.onevent(n);break;case bn.PacketType.BINARY_EVENT:this.onevent(n);break;case bn.PacketType.ACK:this.onack(n);break;case bn.PacketType.BINARY_ACK:this.onack(n);break;case bn.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(on("emitting event %j",i),n.id!=null)on("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let e of o)e.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const e=Array.prototype.slice.call(arguments);on("sending ack %j",e),i.packet({id:n,type:bn.PacketType.ACK,data:e}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")on("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else on("bad ack %s",n.id)}ondisconnect(){on("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(on("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&Pu.has(n))on("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",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=Gc}_error(n){this.packet({type:bn.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:bn.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){on("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else on("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function e(a){o[a](n,(t)=>{if(t)return i(t);if(!o[a+1])return i();e(a+1)})}e(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(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new Du.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}bi.Socket=Qc});var Be=h((On)=>{var _u=On&&On.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(On,"__esModule",{value:!0});On.Namespace=On.RESERVED_EVENTS=void 0;var Hc=Ye(),qu=Ko(),nx=_u(q()),xn=Ue(),Xi=nx.default("socket.io:namespace");On.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class Nc extends qu.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function e(a){o[a](n,(t)=>{if(t)return i(t);if(!o[a+1])return i();e(a+1)})}e(0)}to(n){return new xn.BroadcastOperator(this.adapter).to(n)}in(n){return new xn.BroadcastOperator(this.adapter).in(n)}except(n){return new xn.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var e;Xi("adding socket to nsp %s",this.name);const a=await this._createSocket(n,i);if(this._preConnectSockets.set(a.id,a),((e=this.server.opts.connectionStateRecovery)===null||e===void 0?void 0:e.skipMiddlewares)&&a.recovered&&n.conn.readyState==="open")return this._doConnect(a,o);this.run(a,(t)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){Xi("next called after client was closed - ignoring socket"),a._cleanup();return}if(t)if(Xi("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),n.conn.protocol===3)return a._error(t.data||t.message);else return a._error({message:t.message,data:t.data});this._doConnect(a,o)})})}async _createSocket(n,i){const{pid:o,offset:e}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof e==="string"){let a;try{a=await this.adapter.restoreSession(o,e)}catch(t){Xi("error while restoring session: %s",t)}if(a)return Xi("connection state recovered for sid %s",a.sid),new Hc.Socket(this,n,i,a)}return new Hc.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new xn.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(On.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,e)=>{i.push((a,t)=>{if(a)return a.responses=t,e(a);else return o(t)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new xn.BroadcastOperator(this.adapter).allSockets()}compress(n){return new xn.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new xn.BroadcastOperator(this.adapter).volatile}get local(){return new xn.BroadcastOperator(this.adapter).local}timeout(n){return new xn.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new xn.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new xn.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new xn.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new xn.BroadcastOperator(this.adapter).disconnectSockets(n)}}On.Namespace=Nc});var il=h((qc)=>{function Xe(n){let i="";do i=Pc[n%Ro]+i,n=Math.floor(n/Ro);while(n>0);return i}function ix(n){let i=0;for(Gn=0;Gn<n.length;Gn++)i=i*Ro+_c[n.charAt(Gn)];return i}function ox(){const n=Xe(+new Date);if(n!==Lc)return Dc=0,Lc=n;return n+"."+Xe(Dc++)}Object.defineProperty(qc,"__esModule",{value:!0});qc.yeast=qc.decode=qc.encode=void 0;var Pc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Ro=64,_c={},Dc=0,Gn=0,Lc;qc.encode=Xe;qc.decode=ix;qc.yeast=ox;for(;Gn<Ro;Gn++)_c[Pc[Gn]]=Gn});var Qe=h((el)=>{function lx(n,i){const o=i.rooms.size===0||n.some((a)=>i.rooms.has(a)),e=n.every((a)=>!i.except.has(a));return o&&e}var Ge;Object.defineProperty(el,"__esModule",{value:!0});el.SessionAwareAdapter=el.Adapter=void 0;var tx=import.meta.require("events"),sx=il(),Mo=import.meta.require("ws"),cx=typeof((Ge=Mo===null||Mo===void 0?void 0:Mo.Sender)===null||Ge===void 0?void 0:Ge.frame)==="function";class Ze extends tx.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},e={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const a=this._encode(n,e);this.apply(i,(t)=>{if(typeof t.notifyOutgoingListeners==="function")t.notifyOutgoingListeners(n);t.client.writeToEngine(a,e)})}broadcastWithAck(n,i,o,e){const a=i.flags||{},t={preEncoded:!0,volatile:a.volatile,compress:a.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const s=this._encode(n,t);let c=0;this.apply(i,(l)=>{if(c++,l.acks.set(n.id,e),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(s,t)}),o(c)}_encode(n,i){const o=this.encoder.encode(n);if(cx&&o.length===1&&typeof o[0]==="string"){const e=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=Mo.Sender.frame(e,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((e)=>o.leave(e))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,e=this.computeExceptSids(n.except);if(o.size){const a=new Set;for(let t of o){if(!this.rooms.has(t))continue;for(let s of this.rooms.get(t)){if(a.has(s)||e.has(s))continue;const c=this.nsp.sockets.get(s);if(c)i(c),a.add(s)}}}else for(let[a]of this.sids){if(e.has(a))continue;const t=this.nsp.sockets.get(a);if(t)i(t)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((e)=>i.add(e))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}el.Adapter=Ze;class ol extends Ze{constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((e,a)=>{if(e.disconnectedAt<o)this.sessions.delete(a)});for(let e=this.packets.length-1;e>=0;e--)if(this.packets[e].emittedAt<o){this.packets.splice(0,e+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const a=this.packets.findIndex((s)=>s.id===i);if(a===-1)return null;const t=[];for(let s=a+1;s<this.packets.length;s++){const c=this.packets[s];if(lx(o.rooms,c.opts))t.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:t}))}broadcast(n,i){var o;const e=n.type===2,a=n.id===void 0,t=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(e&&a&&t){const s=sx.yeast();n.data.push(s),this.packets.push({id:s,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}el.SessionAwareAdapter=ol});var sl=h((An)=>{function Si(){return xx.randomBytes(8).toString("hex")}function qn(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function Ti(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var px=An&&An.__rest||function(n,i){var o={};for(var e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&i.indexOf(e)<0)o[e]=n[e];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var a=0,e=Object.getOwnPropertySymbols(n);a<e.length;a++)if(i.indexOf(e[a])<0&&Object.prototype.propertyIsEnumerable.call(n,e[a]))o[e[a]]=n[e[a]]}return o};Object.defineProperty(An,"__esModule",{value:!0});An.ClusterAdapterWithHeartbeat=An.ClusterAdapter=An.MessageType=void 0;var mx=Qe(),ux=q(),xx=import.meta.require("crypto"),D=ux.debug("socket.io-adapter"),dx="emitter",Jo=5000,j;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(j=An.MessageType||(An.MessageType={}));class He extends mx.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Si()}onMessage(n,i){if(n.uid===this.uid)return D("[%s] ignore message from self",this.uid);switch(D("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case j.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,Ti(n.data.opts),(e)=>{D("[%s] waiting for %d client acknowledgements",this.uid,e),this.publishResponse(n.uid,{type:j.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:e}})},(e)=>{D("[%s] received acknowledgement with value %j",this.uid,e),this.publishResponse(n.uid,{type:j.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:e}})});else{const e=n.data.packet,a=Ti(n.data.opts);this.addOffsetIfNecessary(e,a,i),super.broadcast(e,a)}break}case j.SOCKETS_JOIN:super.addSockets(Ti(n.data.opts),n.data.rooms);break;case j.SOCKETS_LEAVE:super.delSockets(Ti(n.data.opts),n.data.rooms);break;case j.DISCONNECT_SOCKETS:super.disconnectSockets(Ti(n.data.opts),n.data.close);break;case j.FETCH_SOCKETS:{D("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(Ti(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:j.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((e)=>{const a=e.handshake,{sessionStore:t}=a,s=px(a,["sessionStore"]);return{id:e.id,handshake:s,rooms:[...e.rooms],data:e.data}})}})});break}case j.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let a=!1;const t=(s)=>{if(a)return;a=!0,D("[%s] calling acknowledgement with %j",this.uid,s),this.publishResponse(n.uid,{type:j.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:s}})};this.nsp._onServerSideEmit([...o,t]);break}case j.BROADCAST_CLIENT_COUNT:case j.BROADCAST_ACK:case j.FETCH_SOCKETS_RESPONSE:case j.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:D("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const e=n.data.requestId;switch(D("[%s] received response %s to request %s",this.uid,n.type,e),n.type){case j.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(e))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case j.BROADCAST_ACK:{(o=this.ackRequests.get(e))===null||o===void 0||o.ack(n.data.packet);break}case j.FETCH_SOCKETS_RESPONSE:{const a=this.requests.get(e);if(!a)return;if(a.current++,n.data.sockets.forEach((t)=>a.responses.push(t)),a.current===a.expected)clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(e);break}case j.SERVER_SIDE_EMIT_RESPONSE:{const a=this.requests.get(e);if(!a)return;if(a.current++,a.responses.push(n.data.packet),a.current===a.expected)clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(e);break}default:D("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const a=await this.publishAndReturnOffset({type:j.BROADCAST,data:{packet:n,opts:qn(i)}});this.addOffsetIfNecessary(n,i,a)}catch(a){return D("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var e;if(!this.nsp.server.opts.connectionStateRecovery)return;const a=n.type===2,t=n.id===void 0,s=((e=i.flags)===null||e===void 0?void 0:e.volatile)===void 0;if(a&&t&&s)n.data.push(o)}broadcastWithAck(n,i,o,e){var a;if(!((a=i===null||i===void 0?void 0:i.flags)===null||a===void 0?void 0:a.local)){const s=Si();this.ackRequests.set(s,{clientCountCallback:o,ack:e}),this.publish({type:j.BROADCAST,data:{packet:n,requestId:s,opts:qn(i)}}),setTimeout(()=>{this.ackRequests.delete(s)},i.flags.timeout)}super.broadcastWithAck(n,i,o,e)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.SOCKETS_JOIN,data:{opts:qn(n),rooms:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.SOCKETS_LEAVE,data:{opts:qn(n),rooms:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:j.DISCONNECT_SOCKETS,data:{opts:qn(n),close:i}})}catch(a){D("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,e]=await Promise.all([super.fetchSockets(n),this.serverCount()]),a=e-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||a<=0)return o;const t=Si();return new Promise((s,c)=>{const l=setTimeout(()=>{const p=this.requests.get(t);if(p)c(new Error(`timeout reached: only ${p.current} responses received out of ${p.expected}`)),this.requests.delete(t)},n.flags.timeout||Jo),r={type:j.FETCH_SOCKETS,resolve:s,timeout:l,current:0,expected:a,responses:o};this.requests.set(t,r),this.publish({type:j.FETCH_SOCKETS,data:{opts:qn(n),requestId:t}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:j.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),e=await this.serverCount()-1;if(D('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,e),e<=0)return o(null,[]);const a=Si(),t=setTimeout(()=>{const c=this.requests.get(a);if(c)o(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(a)},Jo),s={type:j.SERVER_SIDE_EMIT,resolve:o,timeout:t,current:0,expected:e,responses:[]};this.requests.set(a,s),this.publish({type:j.SERVER_SIDE_EMIT,data:{requestId:a,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{D("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{D("[%s] error while publishing response: %s",this.uid,o)})}}An.ClusterAdapter=He;class tl extends He{constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((e,a)=>{if(o-e>this._opts.heartbeatTimeout)D("[%s] node %s seems down",this.uid,a),this.removeNode(a)})},1000)}init(){this.publish({type:j.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:j.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:j.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return D("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==dx)this.nodesMap.set(n.uid,Date.now());switch(D("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case j.INITIAL_HEARTBEAT:this.publish({type:j.HEARTBEAT});break;case j.HEARTBEAT:break;case j.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:j.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),e=this.nodesMap.size;if(D('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,e),e<=0)return o(null,[]);const a=Si(),t=setTimeout(()=>{const c=this.customRequests.get(a);if(c)o(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(a)},Jo),s={type:j.SERVER_SIDE_EMIT,resolve:o,timeout:t,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,s),this.publish({type:j.SERVER_SIDE_EMIT,data:{requestId:a,packet:n}})}async fetchSockets(n){var i;const[o,e]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),a=e-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||a<=0)return o;const t=Si();return new Promise((s,c)=>{const l=setTimeout(()=>{const p=this.customRequests.get(t);if(p)c(new Error(`timeout reached: missing ${p.missingUids.size} responses`)),this.customRequests.delete(t)},n.flags.timeout||Jo),r={type:j.FETCH_SOCKETS,resolve:s,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(t,r),this.publish({type:j.FETCH_SOCKETS,data:{opts:qn(n),requestId:t}})})}onResponse(n){const i=n.data.requestId;switch(D("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case j.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((e)=>o.responses.push(e)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case j.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===j.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===j.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}An.ClusterAdapterWithHeartbeat=tl});var $o=h((ni)=>{Object.defineProperty(ni,"__esModule",{value:!0});ni.MessageType=ni.ClusterAdapterWithHeartbeat=ni.ClusterAdapter=ni.SessionAwareAdapter=ni.Adapter=void 0;var cl=Qe();Object.defineProperty(ni,"Adapter",{enumerable:!0,get:function(){return cl.Adapter}});Object.defineProperty(ni,"SessionAwareAdapter",{enumerable:!0,get:function(){return cl.SessionAwareAdapter}});var Ne=sl();Object.defineProperty(ni,"ClusterAdapter",{enumerable:!0,get:function(){return Ne.ClusterAdapter}});Object.defineProperty(ni,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return Ne.ClusterAdapterWithHeartbeat}});Object.defineProperty(ni,"MessageType",{enumerable:!0,get:function(){return Ne.MessageType}})});var ml=h((wi)=>{var yx=wi&&wi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(wi,"__esModule",{value:!0});wi.ParentNamespace=void 0;var ll=Be(),vx=$o(),bx=yx(q()),rl=bx.default("socket.io:parent-namespace");class jo extends ll.Namespace{constructor(n){super(n,"/_"+jo.count++);this.children=new Set}_initAdapter(){this.adapter=new pl(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){rl("creating child namespace %s",n);const i=new ll.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(e)=>{if(o.call(i,e),i.sockets.size===0)rl("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}wi.ParentNamespace=jo;jo.count=0;class pl extends vx.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var vl=h((oi)=>{function wx(n){ii.Adapter.prototype.addAll=function(i,o){const e=!this.sids.has(i);dl.call(this,i,o);const a=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!a)return;if(a.conn.transport.name==="websocket"){xl(this.nsp.name,a,e,o);return}if(e)a.conn.on("upgrade",()=>{const t=this.sids.get(i);if(t)xl(this.nsp.name,a,e,t)})},ii.Adapter.prototype.del=function(i,o){fl.call(this,i,o);const e=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(e&&e.conn.transport.name==="websocket"){const a=e.conn.id,t=e.conn.transport.socket,s=`${this.nsp.name}${De}${o}`;ko("unsubscribe connection %s from topic %s",a,s),t.unsubscribe(s)}},ii.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){yl.call(this,i,o);return}const a=o.flags||{},t={preEncoded:!0,volatile:a.volatile,compress:a.compress};i.nsp=this.nsp.name;const s=this.encoder.encode(i),c=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${De}${o.rooms.keys().next().value}`;ko("fast publish to %s",c),s.forEach((l)=>{const r=typeof l!=="string";n.publish(c,r?l:"4"+l,r)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(s,t)})}}function xl(n,i,o,e){const a=i.conn.id,t=i.conn.transport.socket;if(o)ko("subscribe connection %s to topic %s",a,n),t.subscribe(n);e.forEach((s)=>{const c=`${n}${De}${s}`;ko("subscribe connection %s to topic %s",a,c),t.subscribe(c)})}function gx(){ii.Adapter.prototype.addAll=dl,ii.Adapter.prototype.del=fl,ii.Adapter.prototype.broadcast=yl}function hx(n,i){const{size:o}=ul.statSync(i),e=ul.createReadStream(i),a=()=>!e.destroyed&&e.destroy(),t=(c)=>{throw a(),c},s=(c)=>{const l=Fx(c);n.cork(()=>{const r=n.getWriteOffset(),[p,m]=n.tryEnd(l,o);if(!m&&!p)e.pause(),n.onWritable((T)=>{const[R,y]=n.tryEnd(l.slice(T-r),o);if(!y&&R)e.resume();return R})})};n.onAborted(a),e.on("data",s).on("error",t).on("end",a)}var Tx=oi&&oi.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(oi,"__esModule",{value:!0});oi.patchAdapter=wx;oi.restoreAdapter=gx;oi.serveFile=hx;var ii=$o(),ul=import.meta.require("fs"),Sx=Tx(q()),ko=Sx.default("socket.io:adapter-uws"),De="\x1F",{addAll:dl,del:fl,broadcast:yl}=ii.Adapter.prototype,Fx=(n)=>{const{buffer:i,byteOffset:o,byteLength:e}=n;return i.slice(o,o+e)}});var bl=h((Ph,Ax)=>{Ax.exports={name:"socket.io",version:"4.8.0",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"},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 --require ts-node/register --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.3.2","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 Rl=h((en,Gi)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",Kx=en&&en.__createBinding||(Object.create?function(n,i,o,e){if(e===void 0)e=o;var a=Object.getOwnPropertyDescriptor(i,o);if(!a||("get"in a?!i.__esModule:a.writable||a.configurable))a={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,e,a)}:function(n,i,o,e){if(e===void 0)e=o;n[e]=i[o]}),Rx=en&&en.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Mx=en&&en.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))Kx(i,n,o)}return Rx(i,n),i},Al=en&&en.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(en,"__esModule",{value:!0});en.Namespace=en.Socket=en.Server=void 0;var Jx=import.meta.require("http"),$x=import.meta.require("fs"),Le=import.meta.require("zlib"),jx=lo(),Oo=import.meta.require("stream"),Tl=import.meta.require("path"),Sl=fc(),kx=Cc(),wl=import.meta.require("events"),_e=Be();Object.defineProperty(en,"Namespace",{enumerable:!0,get:function(){return _e.Namespace}});var Ox=ml(),gl=$o(),zx=Mx(Bi()),Cx=Al(q()),Kl=Ye();Object.defineProperty(en,"Socket",{enumerable:!0,get:function(){return Kl.Socket}});var Wx=Ko(),Pe=vl(),Ix=Al(je()),ln=Cx.default("socket.io:server"),Fl=bl().version,hl=/\.map/;class gi extends Wx.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||zx,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||gl.SessionAwareAdapter);else this.adapter(i.adapter||gl.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=Ix.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const e=this.parentNsps.keys(),a=()=>{const t=e.next();if(t.done)return o(!1);t.value(n,i,(s,c)=>{if(s||!c)return a();if(this._nsps.has(n))return ln("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(t.value).createChild(n);ln("dynamic namespace %s was created",n),o(l)})};a()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){ln("creating http server and binding to %d",n);const o=n;n=Jx.createServer((e,a)=>{a.writeHead(404),a.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,ln("creating uWebSockets.js-based engine with opts %j",i);const o=new Sl.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(e,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}const t=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),s=hl.test(t),c=s?"map":"source",l='"'+Fl+'"',r="W/"+l,p=a.getHeader("if-none-match");if(p){if(l===p||r===p){ln("serve client %s 304",c),e.writeStatus("304 Not Modified"),e.end();return}}ln("serve client %s",c),e.writeHeader("cache-control","public, max-age=0"),e.writeHeader("content-type","application/"+(s?"json":"javascript")+"; charset=utf-8"),e.writeHeader("etag",l);const m=Tl.join(__dirname,"../client-dist/",t);Pe.serveFile(e,m)});Pe.patchAdapter(n)}initEngine(n,i){if(ln("creating engine.io instance with opts %j",i),this.eio=Sl.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){ln("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,e)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,e,()=>{this.serve(o,e)});else this.serve(o,e);else for(let a=0;a<i.length;a++)i[a].call(n,o,e)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),e=hl.test(o),a=e?"map":"source",t='"'+Fl+'"',s="W/"+t,c=n.headers["if-none-match"];if(c){if(t===c||s===c){ln("serve client %s 304",a),i.writeHead(304),i.end();return}}ln("serve client %s",a),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(e?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",t),gi.sendFile(o,n,i)}static sendFile(n,i,o){const e=$x.createReadStream(Tl.join(__dirname,"../client-dist/",n)),a=jx(i).encodings(["br","gzip","deflate"]),t=(s)=>{if(s)o.end()};switch(a){case"br":o.writeHead(200,{"content-encoding":"br"}),Oo.pipeline(e,Le.createBrotliCompress(),o,t);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),Oo.pipeline(e,Le.createGzip(),o,t);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),Oo.pipeline(e,Le.createDeflate(),o,t);break;default:o.writeHead(200),Oo.pipeline(e,o,t)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){ln("incoming connection with id %s",n.id);const i=new kx.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const e=new Ox.ParentNamespace(this);if(ln("initializing parent namespace %s",e.name),typeof n==="function")this.parentNsps.set(n,e);else this.parentNsps.set((a,t,s)=>s(null,n.test(a)),e),this.parentNamespacesFromRegExp.set(n,e);if(i)e.on("connect",i);return e}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[e,a]of this.parentNamespacesFromRegExp)if(e.test(n))return ln("attaching namespace %s to parent namespace %s",n,e),a.createChild(n);if(ln("initializing namespace %s",n),o=new _e.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),Pe.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}en.Server=gi;var Ex=Object.keys(wl.EventEmitter.prototype).filter(function(n){return typeof wl.EventEmitter.prototype[n]==="function"});Ex.forEach(function(n){gi.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Gi.exports=(n,i)=>new gi(n,i);Gi.exports.Server=gi;Gi.exports.Namespace=_e.Namespace;Gi.exports.Socket=Kl.Socket});import*as zl from"http";function ei(n=Math.random){return n().toString(36).slice(2)}class Ai extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((e,a)=>{i=e,o=a});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}var aa=(n,i,o=J.STORE)=>{return Ki(o,{key:`${n.key}:JSON`,get:({get:e})=>i.toJson(e(n)),set:({set:e},a)=>{e(n,i.fromJson(a))}})};function f(n){while(n.child!==null)n=n.child;return n}function ta(n){while(n.parent!==null)n=n.parent;return n}class z{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class Co extends z{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function zn(n,i,o){const e={key:i.key,type:"atom_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=i.default,y={key:m,default:R instanceof Function?R(l):R};if(i.effects)y.effects=i.effects(l);const v=Cn(T,y,p);return t.next({type:"state_creation",token:v}),v},e,{subject:t,install:(l)=>zn(l,i),internalRoles:o});return n.families.set(i.key,c),n.defaults.set(i.key,i.default),e}function sa(n,i){if("mutable"in i)return Ri(n,i);return zn(n,i)}function Wn(n,i,o){const e={key:i.key,type:"readonly_selector_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=Mi(T,{key:m,get:i.get(l)},p);return t.next({type:"state_creation",token:R}),R},e,{internalRoles:o,subject:t,install:(l)=>Wn(l,i),default:(l)=>{return i.get(l)({get:(...p)=>E(n,...p),find:(p,m)=>I(n,p,m),seek:(p,m)=>G(n,p,m),json:(p)=>L(n,p)})}});return n.families.set(i.key,c),e}function Wo(n,i){if("set"in i)return Ji(n,i);return Wn(n,i)}function ai(n,i){const o=k(i),e=`${n.key}(${o})`,a=Bl[n.type],t={key:e,type:a};if(a==="molecule")Object.assign(t,{key:i,family:n});else Object.assign(t,{family:{key:n.key,subKey:o}});return Object.assign(t,{counterfeit:!0}),t}var Bl={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function dn(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}class pn{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),e=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(e)e.add(n);else e=new Set([n]),this.relations.set(i,e)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const e=this.relations.get(i);if(e){if(e.delete(n),e.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const e=new Set([n]);this.relations.set(o,e)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let e of o){const a=this.relations.get(e);if(a){if(a.size===1)this.relations.delete(e);else a.delete(n);this.contents.delete(this.makeContentKey(n,e))}}this.relations.set(n,new Set(i));for(let e of i){let a=this.relations.get(e);if(a)a.add(n);else a=new Set([n]),this.relations.set(e,a)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,e])=>[o,new Set(e)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(e,a)=>o.has(e,a),this.addRelation=(e,a)=>{o.addRelation(e,a)},this.deleteRelation=(e,a)=>{o.deleteRelation(e,a)},this.replaceRelationsSafely=(e,a)=>{o.replaceRelationsSafely(e,a)},this.replaceRelationsUnsafely=(e,a)=>{o.replaceRelationsUnsafely(e,a)},this.getRelatedKeys=(e)=>o.getRelatedKeys(e),o.getContent)this.getContentInternal=(e)=>{return o.getContent(e)},this.setContent=(e,a)=>{o.setContent(e,a)},this.deleteContent=(e)=>{o.deleteContent(e)};for(let[e,a]of n.relations??[])for(let t of a)this.addRelation(e,t);for(let[e,a]of n.contents??[])this.setContent(e,a)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],e=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const a=this.getRelatedKey(n);if(a&&a!==o)this.delete(a,n)}case"1:n":{const a=this.getRelatedKey(o);if(a&&a!==n)this.delete(a,o)}}if(e){const a=this.makeContentKey(n,o);this.setContent(a,e)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const e=this.getRelatedKeys(i);if(e)for(let a of e)this.delete(a,i)}if(typeof o==="string"&&i===void 0){const e=this.getRelatedKeys(o);if(e)for(let a of e)this.delete(o,a)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const e=this.makeContentKey(o,i);this.deleteContent(e)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const e=!Array.isArray(i),a=e?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,a);else this.replaceRelationsSafely(n,a);if(e)for(let t of a){const s=this.makeContentKey(n,t),c=i[t];this.setContent(s,c)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const e=this.getRelatedKeys(i);if(e)return[...e].map((a)=>{return[a,this.getContent(i,a)??null]})}if(i===void 0&&o!==void 0){const e=this.getRelatedKeys(o);if(e)return[...e].map((a)=>{return[a,this.getContent(a,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function H(n){return"epoch"in n.transactionMeta}function V(n){return"phase"in n.transactionMeta}var ca=(n)=>{const i=f(n);if(!V(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function Sn(n){return n.type.split("_").map(Xl).join(" ")}var Xl=(n)=>n[0].toUpperCase()+n.slice(1);class cn extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${Sn(i)} ${k(i.key)} not found in store "${o.config.name}".`);else{const e=n[1];super(`${Sn(i)} "${i.key}" member ${k(e)} not found in store "${o.config.name}".`)}}}function In(n,i,o){return(...e)=>{const a=M(n,o);if(a)return a.run(e,i);throw new cn(n,o)}}var Zi=(n)=>(i)=>n instanceof Function?n(i):n;var En=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),la(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var ra=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!V(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},pa=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},ma=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},ti=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var ua=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var Io=(n,i)=>{const o=f(i),e=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,e?`evicting ${e.size} states downstream:`:"no downstream states",e??"to evict"),e){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let a of e){if(ma(o,a))continue;xa(a,o),ti(o,a)}}};function Gl(n,i){if(fa(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var da=(n,i,o)=>{const{key:e}=n,a=f(o);if(!V(a)||a.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",e,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!Gl(e,i))return;const s={type:"atom_update",key:e,...i};if(n.family)s.family=n.family;a.transactionMeta.update.updates.push(s),o.logger.info("\uD83D\uDCC1","atom",e,"stowed (",i.oldValue,"->",i.newValue,")")};var ya=(n,i,o)=>{const e=En(n,o);let a=e;if(n.type==="mutable_atom"&&V(o)){const{parent:s}=o;a=$i(n,s,o)}if(a=Zi(i)(a),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",a),a=fn(n.key,a,n.subject,o),va(n.key,o))ba(n.key,o);ti(o,n.key),Io(n,o);const t={oldValue:e,newValue:a};if(H(o))ua(n,t,o);else if(o.parent){if(o.on.transactionApplying.state===null)da(n,t,o);else if(n.key.startsWith("*")){const s=n.key.slice(1),c=o.atoms.get(s);let l=o.valueMap.get(s);if(c.type==="mutable_atom"&&V(o)){const{parent:p}=o;l=$i(c,p,o)}if(l.do(t.newValue)===null)Io(c,o)}}};var Qi=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":ya(n,i,o);break;case"selector":n.set(i);break}};function Hi(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function U(n,...i){let o,e,a,t;if(i.length===2){if(o=i[0],t=i[1],e=Hi(n,o)??null,e)a=o.family?P(o.family.subKey):null,o=I(n,e,a)}else e=i[0],a=i[1],t=i[2],o=I(n,e,a);if("counterfeit"in o){const l=n.disposalTraces.buffer.find((r)=>r?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const s=ra(n,o);if(s){const l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${s}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${s}`),U(n,o,t)});return}const c=M(o,n);Qi(c,t,n),pa(n)}function Ni(n,i,o){const{key:e,newValue:a,oldValue:t}=i,s=n==="newValue"?a:t,c={key:e,type:"atom"};if(i.family)Object.assign(c,{family:i.family});U(o,c,s)}function Ta(n,i){const o=new z,e={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},a={...e,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,a),e}function wn(n,i,o){const e=Mn(o,i,n.key);n.tokens.set(e.key,e);const a=V(o)&&o.transactionMeta.phase==="building",t=o.moleculeInProgress===n.key;if(!a&&!t)n.subject.next({type:"state_creation",token:e});return e}class _ extends Set{mode="record";subject=new z;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof _)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){const i=new _(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${k(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${k(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new _(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let e of this.transactionUpdates)this.doStep(e);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){const i=n.indexOf(":"),o=n.substring(0,i),e=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(e));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(e));break;case"tx":for(let a of e.split(";"))this.doStep(a)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),e=o-this.cacheUpdateNumber;if(e>0){if(e===1){this.mode="playback";const t=n.substring(i+1);return this.doStep(t),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(e)<this.cacheLimit){const t=this.cacheIdx+e;if(this.cache[t]===n)return null;this.mode="playback";let c=!1;while(!c){this.cacheIdx%=this.cacheLimit;const r=this.cache[this.cacheIdx];if(this.cacheIdx--,!r)return"OUT_OF_RANGE";this.undo(r),c=this.cacheIdx===t-1}const l=n.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),e=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(e));break;case"del":this.add(JSON.parse(e));break;case"clear":{const a=JSON.parse(e);for(let t of a)this.add(t);break}case"tx":{const a=e.split(";");for(let t=a.length-1;t>=0;t--)this.undoStep(a[t])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const e=n.substring(i+1);return this.undoStep(e),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function Z(n){return n[0].toUpperCase()+n.slice(1)}function Di(n,i,o=J.STORE){return Eo(o).set(n.key,new Uo(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Eo(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function ji(n,i){const o=Eo(i);let e=o.get(n.key);if(e===void 0){if(e=Eo(J.STORE).get(n.key)?.in(i),e===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,e)}return e}function si(n,i,o){const e=ji(n,o);let a;switch(n.cardinality){case"1:1":{const t=`${n.a}KeyOf${Z(n.b)}`,s=`${n.b}KeyOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntryOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntryOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}break}case"1:n":{const t=`${n.a}KeyOf${Z(n.b)}`,s=`${n.b}KeysOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntryOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntriesOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}break}case"n:n":{const t=`${n.a}KeysOf${Z(n.b)}`,s=`${n.b}KeysOf${Z(n.a)}`;a={get[t](){const l=e.states[t];return e.retrieve(l,i)},get[s](){const l=e.states[s];return e.retrieve(l,i)}};const c=`${n.a}EntriesOf${Z(n.b)}`;if(c in e.states){const l=`${n.b}EntriesOf${Z(n.a)}`;Object.assign(a,{get[c](){const r=e.states[c];return e.retrieve(r,i)},get[l](){const r=e.states[l];return e.retrieve(r,i)}})}}}return a}function Sa(n,i){return si(n,i,J.STORE)}function Zn(n,i,o){const e=ji(n,o),a=f(o);if(V(a)){const{toolkit:t}=a.transactionMeta;e.transact(t,({relations:s})=>{i(s)})}else i(e.relations)}function Zl(n,i){return ji(n,i).core.findRelatedKeysState}function wa(n){return Zl(n,J.STORE)}class Uo{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const e=new Uo(this.options,this.defaultContent,n);return this.alternates.set(i,e),e.alternates=this.alternates,e}constructor(n,i,o=J.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(x,d)=>{const A=this.toolkit.seek(x,d);if(A)return A;const w=this.molecules.get(k(d));if(w){const g=M(x,o);return wn(w,g,o)}if(o.config.lifespan==="immortal")throw new cn(x,d,o);return Mn(o,x,d)},this.toolkit={get:(...x)=>E(o,...x),set:(...x)=>{U(o,...x)},find:this.retrieve,seek:(...x)=>G(o,...x),json:(x)=>L(o,x),dispose:(...x)=>{an(o,...x)}};const e=n.between[0],a=n.between[1],t=Ri(o,{key:`${n.key}/relatedKeys`,default:()=>new _,mutable:!0,fromJson:(x)=>_.fromJSON(x),toJson:(x)=>x.toJSON()},["join","relations"]);this.core={findRelatedKeysState:t};const s=({get:x},d)=>x(this.retrieve(t,d)),c=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d),F=this.retrieve(t,A);w(g,($)=>$.add(A)),w(F,($)=>$.add(d))},l=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d),F=this.retrieve(t,A);let $,O;w(g,(X)=>{if(X.delete(A),X.size===0)$=`"${d}"`;return X}),w(F,(X)=>{if(X.delete(d),X.size===0)O=`"${A}"`;return X})},r=(x,d,A)=>{const{get:w,set:g}=x,F=this.retrieve(t,d),$=w(F);for(let O of $){if(A.includes(O))continue;const Tn=this.retrieve(t,O);g(Tn,(Kn)=>{return Kn.delete(d),Kn})}g(F,(O)=>{return O.transaction((X)=>{X.clear();for(let Tn of A){const Kn=s(x,Tn),ia=Kn.has(d);if(this.relations.cardinality==="1:n"){const oa=[];for(let Fi of Kn){if(Fi===d)continue;const hi=s(x,Fi);if(hi.delete(Tn),hi.size===0)oa.push(Fi)}if(!ia&&Kn.size>0)Kn.clear();for(let Fi of oa){const hi=[Tn,Fi].sort(),Wl=`"${hi[0]}:${hi[1]}"`;this.molecules.delete(Wl)}}if(!ia)Kn.add(d);X.add(Tn)}return!0}),O})},p=(x,d,A)=>{const{set:w}=x,g=this.retrieve(t,d);w(g,(F)=>{return F.transaction(($)=>{for(let O of A)$.add(O);return!0}),F});for(let F of A){const $=this.retrieve(t,F);w($,(O)=>{return O.add(d),O})}return!0},m=(x,d,A)=>{const w=s(x,d);return A?w.has(A):w.size>0},T={getRelatedKeys:(x)=>s(this.toolkit,x),addRelation:(x,d)=>{c(this.toolkit,x,d)},deleteRelation:(x,d)=>{l(this.toolkit,x,d)},replaceRelationsSafely:(x,d)=>{r(this.toolkit,x,d)},replaceRelationsUnsafely:(x,d)=>{p(this.toolkit,x,d)},has:(x,d)=>m(this.toolkit,x,d)};let R,y,v;if(i){y=zn(o,{key:`${n.key}/content`,default:i},["join","content"]);const x={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};v=Ta(o,{key:`${n.key}/content-molecules`,new:class F{O;constructor($,O){this.key=O}}});const d=({get:F},$)=>F(this.retrieve(y,$)),A=({set:F},$,O)=>{F(this.retrieve(y,$),O)},w=(F,$)=>{const O=o.molecules.get(`"${$}"`);if(O)this.toolkit.dispose(O),this.molecules.delete(`"${$}"`)};R=Object.assign(T,{getContent:(F)=>{return d(this.toolkit,F)},setContent:(F,$)=>{A(this.toolkit,F,$)},deleteContent:(F)=>{w(this.toolkit,F)}})}else R=T;const u=new pn(n,{externalStore:R,makeContentKey:(...x)=>{const d=x.sort(),A=`${d[0]}:${d[1]}`,[w,g]=d.map((F)=>this.molecules.get(k(F)));if(o.config.lifespan==="immortal"&&w&&g){const F=f(o),$=Jn(F,[w,g],v,A);this.molecules.set(`"${A}"`,M($,F))}return A}}),b=()=>Wn(o,{key:`${n.key}/singleRelatedKey`,get:(x)=>({get:d})=>{const A=this.retrieve(t,x),w=d(A);for(let g of w)return g;return null}},["join","keys"]),S=()=>{return Wn(o,{key:`${n.key}/multipleRelatedKeys`,get:(x)=>({get:d})=>{const A=Vo(t,o),w=this.retrieve(A,x);return d(w).members}},["join","keys"])},K=()=>Wn(o,{key:`${n.key}/singleRelatedEntry`,get:(x)=>({get:d})=>{const A=this.retrieve(t,x),w=d(A);for(let g of w){const F=u.makeContentKey(x,g),$=this.retrieve(y,F),O=d($);return[g,O]}return null}},["join","entries"]),W=()=>Wn(o,{key:`${n.key}/multipleRelatedEntries`,get:(x)=>({get:d})=>{const A=Vo(t,o),w=this.retrieve(A,x);return d(w).members.map((F)=>{const $=u.makeContentKey(x,F),O=this.retrieve(y,$),X=d(O);return[F,X]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const x=b(),d=`${e}KeyOf${Z(a)}`,A=`${a}KeyOf${Z(e)}`,w={[d]:x,[A]:x};let g;if(i){const F=K(),$=`${e}EntryOf${Z(a)}`,O=`${a}EntryOf${Z(e)}`,X={[$]:F,[O]:F};g=Object.assign(w,X)}else g=w;this.relations=u,this.states=g;break}case"1:n":{const x=b(),d=S(),A=`${e}KeyOf${Z(a)}`,w=`${a}KeysOf${Z(e)}`,g={[A]:x,[w]:d};let F;if(i){const $=K(),O=W(),X=`${e}EntryOf${Z(a)}`,Tn=`${a}EntriesOf${Z(e)}`,Kn={[X]:$,[Tn]:O};F=Object.assign(g,Kn)}else F=g;this.relations=u,this.states=F;break}default:{const x=S(),d=`${e}KeysOf${Z(a)}`,A=`${a}KeysOf${Z(e)}`,w={[d]:x,[A]:x};let g;if(i){const F=W(),$=`${e}EntriesOf${Z(a)}`,O=`${a}EntriesOf${Z(e)}`,X={[$]:F,[O]:F};g=Object.assign(w,X)}else g=w;this.relations=u,this.states=g}}}}function Li(n){return{store:n}}function E(n,...i){let o,e,a;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(e=Hi(n,o)??null,e)a=o.family?P(o.family.subKey):null,o=I(n,e,a)}}else{e=i[0],a=i[1];let t;if(e.type==="molecule_family")t=G(n,e,a)??ai(e,a);else t=I(n,e,a);o=t}if("counterfeit"in o&&"family"in o){e=o.type==="molecule"?M(o.family,n):n.families.get(o.family.key);const t=o.type==="molecule"?o.key:o.family.subKey,s=n.disposalTraces.buffer.find((c)=>c?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,s?`This state was previously disposed:\n${s.trace}`:"No previous disposal trace was found."),e.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(e.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(e.key))return n.defaults.get(o.family.key);const c=M(e,n).default(t);return n.defaults.set(e.key,c),c}case"molecule_family":throw new cn(e,t,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return En(M(o,n),n);case"molecule":return M(o,n).instance}}class Pi{i;type="molecule";stringKey;family;subject=new z;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=k(i),o)this.family=o;if(n)if(Array.isArray(n))for(let e of n)this.above.set(e.stringKey,e);else this.above.set(n.stringKey,n)}}function ga(n){return n[0].toUpperCase()+n.slice(1)}function Jn(n,i,o,e,...a){const t=ta(n),s=f(n),c=k(e);s.moleculeInProgress=c;const l=Array.isArray(i)?i:[i],r=l.map((u)=>{if(u instanceof Pi)return u;const b=k(u.key),S=n.molecules.get(b);if(!S)throw new Error(`Molecule ${b} not found in store "${n.config.name}"`);return S}),p=new Pi(r,e,o);s.molecules.set(c,p);for(let u of r)u.below.set(p.stringKey,p);const m={get:(...u)=>E(f(t),...u),set:(...u)=>{U(f(t),...u)},seek:(u,b)=>G(f(t),u,b),json:(u)=>L(f(t),u),run:(u,b=ei())=>In(u,b,f(n)),make:(u,b,S,...K)=>Jn(f(t),u,b,S,...K),dispose:(u)=>{an(f(t),u)},env:()=>Li(f(t)),bond:(u,b)=>{if(u.type==="join"){const{as:S}=b,K=ji(u,t);K.molecules.set(c,p),p.joins.set(u.key,K);const W=T.subject.subscribe(`join:${u.key}-${c}`,(F)=>{if(F.type==="molecule_disposal"&&k(F.token.key)===c)W(),K.molecules.delete(c)});if(S===null)return;const x=u.a===S?u.b:u.a,d=Sa(u,e),A=d[`${x}KeysOf${ga(S)}`],w=d[`${x}EntriesOf${ga(S)}`];let g={relatedKeys:A};if(w)g=Object.assign(g,{relatedEntries:w});return g}return wn(p,M(u,t),f(t))},claim:(u,b)=>{const{exclusive:S}=b,K=f(n).molecules.get(k(u.key));if(K)if(S){for(let W of K.above.values())W.below.delete(K.stringKey);K.above.clear(),K.above.set(p.stringKey,p),p.below.set(K.stringKey,K)}else K.above.set(p.stringKey,p),p.below.set(K.stringKey,K)},spawn:(u,b,...S)=>Jn(f(n),[p],M(u,n),b,...S)},T=M(o,n),R=T.new;p.instance=new R(m,e,...a);const y={type:"molecule",key:e,family:o},v={type:"molecule_creation",token:y,family:o,context:l,params:a};if(H(s))T.subject.next(v);else if(V(s)&&s.on.transactionApplying.state===null)s.transactionMeta.update.updates.push(v);return s.moleculeInProgress=null,y}function Yo(n,i,o){switch(i){case"newValue":{Fa(n,o);break}case"oldValue":{an(o,n.token);break}}}function Bo(n,i,o){switch(i){case"newValue":{an(o,n.token);break}case"oldValue":{Fa(n,o),o.valueMap.set(n.token.key,n.value);break}}}function Fa(n,i){const{family:o}=n.token;if(o){const e=i.families.get(o.key);if(e)I(i,e,P(o.subKey))}}function Xo(n,i,o){switch(i){case"newValue":Jn(o,n.context,n.family,n.token.key,...n.params);break;case"oldValue":an(o,n.token);break}}function Go(n,i,o){switch(i){case"newValue":an(o,n.token);break;case"oldValue":{const e=Jn(o,n.context,n.family,n.token.key);for(let[a,t]of n.values){const s=`${a}(${k(e.key)})`,c=M(e,o),l=c.tokens.has(s),r=o.families.get(a);if(r&&!l)wn(c,r,o);o.valueMap.set(s,t)}}break}}function _i(n,i,o){const e=n==="newValue"?i.updates:[...i.updates].reverse();for(let a of e)switch(a.type){case"atom_update":case"selector_update":Ni(n,a,o);break;case"state_creation":Yo(a,n,o);break;case"state_disposal":Bo(a,n,o);break;case"molecule_creation":Xo(a,n,o);break;case"molecule_disposal":Go(a,n,o);break;case"transaction_update":_i(n,a,o);break}}function ha(n,i,o){if(H(o)&&n)o.transactionMeta.epoch.set(n,i)}function Aa(n,i,o){if(!H(o))return;const a=o.transactionMeta.actionContinuities.getRelatedKey(n);if(a!==void 0)o.transactionMeta.epoch.set(a,i)}var Ka=(n,i)=>{const o=f(i),{parent:e}=o;if(e===null||!V(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,e.child=null,e.on.transactionApplying.next(o.transactionMeta);const{updates:a}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${a.length} updates:`,a),_i("newValue",o.transactionMeta.update,e),H(e))Aa(o.transactionMeta.update.key,o.transactionMeta.update.epoch,e),M({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(V(e))e.transactionMeta.update.updates.push(o.transactionMeta.update);e.on.transactionApplying.next(null)};function Ra(n,i,o){if(!H(o))return;const{epoch:a,actionContinuities:t}=o.transactionMeta;if(t.set(n,i),!a.has(n))a.set(n,-1)}class yn extends Map{n;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var Ma=(n,i,o,e)=>{const a=f(o),t={parent:a,child:null,on:a.on,loggers:a.loggers,logger:a.logger,config:a.config,atoms:new yn(a.atoms),atomsThatAreDefault:new Set(a.atomsThatAreDefault),families:new yn(a.families),operation:{open:!1},readonlySelectors:new yn(a.readonlySelectors),timelines:new yn(a.timelines),timelineTopics:new pn(a.timelineTopics.toJSON()),trackers:new Map,transactions:new yn(a.transactions),selectorAtoms:new pn(a.selectorAtoms.toJSON()),selectorGraph:new pn(a.selectorGraph.toJSON(),{makeContentKey:(...r)=>r.sort().join(":")}),selectors:new yn(a.selectors),valueMap:new yn(a.valueMap),defaults:a.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new yn(a.molecules),moleculeFamilies:new yn(a.moleculeFamilies),moleculeInProgress:a.moleculeInProgress,miscResources:new yn(a.miscResources)},s=Ja(n,o),c={phase:"building",update:{type:"transaction_update",key:n,id:e,epoch:s===void 0?Number.NaN:s+1,updates:[],params:i,output:void 0},toolkit:{get:(...r)=>E(l,...r),set:(...r)=>{U(l,...r)},run:(r,p=ei())=>In(r,p,l),find:(r,p)=>I(l,r,p),seek:(r,p)=>G(l,r,p),json:(r)=>L(l,r),make:(r,p,m,...T)=>Jn(l,r,p,m,...T),dispose:(...r)=>{an(l,...r)},env:()=>Li(l)}},l=Object.assign(t,{transactionMeta:c});return a.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function Zo(n,i){const o={key:n.key,type:"transaction",run:(t,s)=>{const c=Ma(n.key,t,i,s);try{const l=f(i),{toolkit:r}=c.transactionMeta,p=n.do(r,...t);return Ka(p,l),p}catch(l){throw ca(e),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(t)=>Zo(n,t),subject:new z},e=f(i);e.transactions.set(o.key,o);const a=dn(o);return i.on.transactionCreation.next(a),a}function Ja(n,i){const o=H(i),e=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&e!==void 0?i.transactionMeta.epoch.get(e):void 0}class qi{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new qi([...this._buffer]);return n._index=this._index,n}}class $a{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new pn({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new pn({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new pn({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new pn({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new qi(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new z,atomDisposal:new z,selectorCreation:new z,selectorDisposal:new z,timelineCreation:new z,transactionCreation:new z,transactionApplying:new Co(null),operationClose:new z,moleculeCreationStart:new z,moleculeCreationDone:new z,moleculeDisposal:new z};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new ki("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},H(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new pn(i?.transactionMeta.actionContinuities.toJSON())};for(let[,e]of i.families){if(e.internalRoles?.includes("mutable")||e.internalRoles?.includes("join"))continue;e.install(this)}const o=new Set;for(let[,e]of i.atoms){if(o.has(e.key))continue;if(e.install(this),e.type==="mutable_atom"){const a=L(i,e),t=$n(e);o.add(a.key),o.add(t.key)}}for(let[,e]of i.readonlySelectors)e.install(this);for(let[,e]of i.selectors){if(o.has(e.key))continue;e.install(this)}for(let[,e]of i.transactions)e.install(this);for(let[,e]of i.timelines)e.install(this)}}}var J={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new $a({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function M(n,i){let o,e=i;while(e!==null){switch(n.type){case"atom":case"mutable_atom":o=e.atoms.get(n.key);break;case"selector":o=e.selectors.get(n.key);break;case"readonly_selector":o=e.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=e.families.get(n.key);break;case"timeline":o=e.timelines.get(n.key);break;case"transaction":o=e.transactions.get(n.key);break;case"molecule":o=e.molecules.get(k(n.key));break;case"molecule_family":o=e.moleculeFamilies.get(n.key);break}if(o)return o;e=e.child}throw new cn(n,i)}function no(n,i){let o;o=M(n,i);const{family:e}=n;for(let s of o.joins.values())s.relations.delete(o.key),s.molecules.delete(o.stringKey);const a=[];for(let s of o.above.values())a.push(dn(s));const t=[];for(let s of o.tokens.values()){const c=s.family;t.push([c.key,i.valueMap.get(s.key)])}if(e){const s=M(e,i),c={type:"molecule_disposal",token:n,family:e,context:a,values:t};if(n.family)c.family=n.family;for(let r of o.tokens.values())an(i,r);for(let r of o.below.values())if(r.family?.dependsOn==="all")no(r,i);else if(r.above.delete(o.stringKey),r.above.size===0)no(r,i);if(o.below.clear(),V(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(c);else s.subject.next(c);i.molecules.delete(o.stringKey)}for(let s of o.above.values())s.below.delete(o.stringKey)}function Mn(n,i,o){const e=n.families.get(i.key);if(e===void 0)throw new cn(i,n);const a=e(o),t=f(n);if(a.family&&t.moleculeInProgress===null){if(H(t))switch(a.type){case"atom":case"mutable_atom":n.on.atomCreation.next(a);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(a);break}else if(V(t)&&t.on.transactionApplying.state===null)t.transactionMeta.update.updates.push({type:"state_creation",token:a})}return a}function G(n,i,o){const e=k(o),a=`${i.key}(${e})`,t=f(n);let s;switch(i.type){case"atom_family":case"mutable_atom_family":s=t.atoms.get(a);break;case"selector_family":s=t.selectors.get(a);break;case"readonly_selector_family":s=t.readonlySelectors.get(a);break;case"molecule_family":s=t.molecules.get(k(o))}if(s)return dn(s);return s}function I(n,i,o){let e=G(n,i,o);if(e)return e;const a=n.molecules.get(k(o));if(a)return wn(a,i,n);if(n.config.lifespan==="immortal"){const t=ai(i,o);return n.logger.error("\u274C",t.type,t.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),t}return e=Mn(n,i,o),e}function an(n,...i){let o,e;if(i.length===1)o=i[0],e=o.key;else{const t=i[0],s=i[1];o=t.type==="molecule_family"?G(n,t,s)??ai(t,s):I(n,t,s)}try{M(o,n)}catch(t){const s=n.disposalTraces.buffer.find((c)=>c?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,s?`\n This state was most recently disposed\n${s.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":Qo(o,n);break;case"selector":case"readonly_selector":ja(o,n);break;case"molecule":no(o,n);break}const{stack:a}=new Error;if(a){const t=a?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:t})}}var io=(n,i)=>f(i).atoms.has(n),Ql=(n,i)=>f(i).selectors.has(n),Hl=(n,i)=>f(i).readonlySelectors.has(n),ka=(n,i)=>io(n,i)||Ql(n,i)||Hl(n,i);var oo=(n,i)=>{return f(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([e,{source:a}])=>a!==n).map(([e,{source:a}])=>a).filter((e)=>ka(e,i))};var Ho=(n,i,o)=>{const e=[],a=oo(n,o);while(a.length>0){const t=a.shift();if(i.has(t))continue;if(i.add(t),!io(t,o))a.push(...oo(t,o));else if(!e.includes(t))e.push(t)}return e},Oa=(n,i)=>{const o=n.key,e=oo(o,i),a=new Set;return e.flatMap((t)=>io(t,i)?t:Ho(t,a,i))};var za=(n,i,o,e)=>{const a=f(e);if(i.type==="atom"||i.type==="mutable_atom")a.selectorAtoms.set({selectorKey:n,atomKey:i.key}),e.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const t=Ho(i.key,o,e);e.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${t.map((s)=>`"${s}"`).join(", ")} ]`);for(let s of t)a.selectorAtoms=a.selectorAtoms.set({selectorKey:n,atomKey:s})}o.add(i.key)};var eo=(n,i,o)=>({get:(...e)=>{const a=f(o);let t;if(e.length===2){const[l,r]=e;switch(l.type){case"molecule_family":return E(o,l,r);default:if(o.config.lifespan==="ephemeral")t=I(o,l,r);else{const p=G(o,l,r);if(p)t=p;else throw new cn(l,r,o)}}}else[t]=e;if(t.type==="molecule")return E(o,t);const s=M(t,o),c=En(s,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${t.key}" =`,c,")"),a.selectorGraph.set({upstreamSelectorKey:t.key,downstreamSelectorKey:n},{source:t.key}),za(n,t,i,o),c},set:(...e)=>{let a,t;if(e.length===2)a=e[0],t=e[1];else{const l=e[0],r=e[1];t=e[2];const p=o.config.lifespan==="ephemeral"?I(o,l,r):G(o,l,r);if(!p)throw new cn(l,r,o);a=p}const s=f(o),c=M(a,s);Qi(c,t,s)},find:(e,a)=>I(o,e,a),seek:(e,a)=>G(o,e,a),json:(e)=>L(o,e)});var Mi=(n,i,o)=>{const e=f(n),a=new z,t=new Set,{get:s,find:c,seek:l,json:r}=eo(i.key,t,e),p=()=>{const y=i.get({get:s,find:c,seek:l,json:r});return fn(i.key,y,a,f(n)),t.clear(),y},m={...i,subject:a,install:(y)=>Mi(y,i,o),get:p,type:"readonly_selector",...o&&{family:o}};e.readonlySelectors.set(i.key,m);const T=p();n.logger.info("\u2728",m.type,m.key,"=",T);const R={key:i.key,type:"readonly_selector"};if(o)R.family=o;return R};var Oi=(n,i,o)=>{const e=f(n),a=new z,t=new Set,s=eo(i.key,t,e),{find:c,get:l,seek:r,json:p}=s,m={find:c,get:l,seek:r,json:p},T=(b=i.get,S=f(n))=>{const K=b(m);return fn(i.key,K,a,S),t.clear(),K},y={...i,subject:a,install:(b)=>Oi(b,i,o),get:T,set:(b)=>{const S=f(n),K=T(i.get,S),W=Zi(b)(K);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",K,"->",W,")"),fn(i.key,W,a,S),ti(S,i.key),H(S))a.next({newValue:W,oldValue:K});i.set(s,W)},type:"selector",...o&&{family:o}};e.selectors.set(i.key,y);const v=T();n.logger.info("\u2728",y.type,y.key,"=",v);const u={key:i.key,type:"selector"};if(o)u.family=o;return u};function Ki(n,i){if("set"in i){const a=Oi(n,i,void 0);return n.on.selectorCreation.next(a),a}const e=Mi(n,i,void 0);return n.on.selectorCreation.next(e),e}function ja(n,i){const o=f(i),{key:e}=n,a=M(n,o);if(!a.family)i.logger.error("\u274C","selector",e,"Standalone selectors cannot be disposed.");else{const t=o.molecules.get(a.family.subKey);if(t)t.tokens.delete(e);switch(n.type){case"selector":o.selectors.delete(e),M({key:a.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(e),M({key:a.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(e),o.selectorAtoms.delete(e),o.selectorGraph.delete(e),i.logger.info("\uD83D\uDD25",n.type,e,"deleted"),V(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function Ji(n,i,o){const e={key:i.key,type:"selector_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R=Oi(T,{key:m,get:i.get(l),set:i.set(l)},p);return t.next({type:"state_creation",token:R}),R},e,{internalRoles:o,subject:t,install:(l)=>Ji(l,i),default:(l)=>{return i.get(l)({get:(...p)=>E(n,...p),find:(p,m)=>I(n,p,m),seek:(p,m)=>G(n,p,m),json:(p)=>L(n,p)})}});return n.families.set(i.key,c),e}function Ca(n,i,o=J.STORE){const e=Ji(o,{key:`${n.key}:JSON`,get:(t)=>({seek:s,get:c})=>{const l=s(n,t);if(l)return i.toJson(c(l));const r=k(t),p=o.molecules.get(r);if(p){const T=wn(p,n,o);return i.toJson(c(T))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${r}"`);const m=Mn(o,n,t);return i.toJson(c(m))},set:(t)=>({seek:s,set:c},l)=>{const r=s(n,t);if(r)c(r,i.fromJson(l));else{const p=k(t),m=o.molecules.get(p);if(m){const T=wn(m,n,o);c(T,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${p}"`);c(Mn(o,n,t),i.fromJson(l))}}}},["mutable","json"]);return M(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(t)=>{if(t.token.family)G(o,e,P(t.token.family.subKey))}),e}var P=(n)=>JSON.parse(n),k=(n)=>JSON.stringify(n),jT=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var Wa=(n,i)=>{const o=f(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Lo=(n,i)=>{const o=f(i);return Oa(n,i).map((a)=>{const t=o.atoms.get(a);if(t===void 0)throw new Error(`Atom "${a}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return t.subject.subscribe(`${n.type}:${n.key}`,(s)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",a,"went",s.oldValue,"->",s.newValue);const c=Wa(n,o),l=En(n,o);i.logger.info("\u2728",n.type,n.key,"went",c,"->",l),n.subject.next({newValue:l,oldValue:c})})})};function tn(n,i,o,e){function a(m){if(e.operation.open){const T=e.on.operationClose.subscribe(`state subscription ${o}`,()=>{T(),i(m)})}else i(m)}const t=M(n,e);e.logger.info("\uD83D\uDC40",t.type,t.key,`Adding subscription "${o}"`);const s=t.type==="selector"||t.type==="readonly_selector";let c=null,l=a;if(s)c=Lo(t,e),l=(m)=>{if(c)c.length=0,c.push(...Lo(t,e));a(m)};const r=t.subject.subscribe(o,l);return()=>{if(e.logger.info("\uD83D\uDE48",t.type,t.key,`Removing subscription "${o}"`),r(),c)for(let m of c)m()}}var No=(n,i,o,e)=>{const a=M(n,e);e.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const t=a.subject.subscribe(o,i);return()=>{e.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),t()}};var Do=(n,i,o,e)=>{const a=M(n,e);e.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const t=a.subject.subscribe(o,i);return()=>{e.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),t()}};class Vn{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const e=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,a=Cn(i,{key:o,default:null},e);if(i.parent?.valueMap.has(o)){const t=i.parent.valueMap.get(o);i.valueMap.set(o,t)}return a}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const e=`tracker:${o.config.name}:${V(o)?o.transactionMeta.update.key:"main"}:${n.key}`,a=E(o,n);this.unsubscribeFromInnerValue=a.subscribe(e,(t)=>{U(o,i,t)}),this.unsubscribeFromState=tn(n,(t)=>{if(t.newValue!==t.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=t.newValue.subscribe(e,(s)=>{U(o,i,s)})},e,o)}updateCore(n,i,o){const e=`tracker:${o.config.name}:${V(o)?o.transactionMeta.update.key:"main"}:${n.key}`;tn(i,({newValue:a,oldValue:t})=>{const s=o.timelineTopics.getRelatedKey(i.key);if(s){if(o.timelines.get(s)?.timeTraveling){const r=No({key:s,type:"timeline"},(p)=>{r(),U(o,n,(m)=>{if(p==="redo"&&a)m.do(a);else if(p==="undo"&&t)m.undo(t);return m})},e,o);return}}const c=o.on.operationClose.subscribe(e,()=>{c();const l=E(o,n),r=a===null?-1:l.getUpdateNumber(a),p=r-l.cacheUpdateNumber;if(a&&p===1)U(o,n,(m)=>(m.do(a),m));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${r}`)})},e,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=f(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function zi(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const e=f(n),a=e.atoms.get(i.key);if(a&&a.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),dn(a);const t=new z,s={...i,type:"mutable_atom",install:(r)=>{return r.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${r.config.name}"`),zi(r,i,o)},subject:t};if(o)s.family=o;const c=i.default();e.atoms.set(s.key,s),ao(i.key,n),fn(i.key,c,t,e);const l=dn(s);if(i.effects){let r=0;const p=[];for(let m of i.effects){const T=m({setSelf:(R)=>{U(n,l,R)},onSet:(R)=>tn(l,R,`effect[${r}]`,n)});if(T)p.push(T);++r}s.cleanup=()=>{for(let m of p)m()}}if(new Vn(l,n),!o)aa(l,i,n);return l}class Po{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=zn(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=M(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(e)=>{if(e.token.family){const a=P(e.token.family.subKey);G(i,this.latestUpdateAtoms,a),new Vn(e.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(e)=>{if(e.token.family){const a=P(e.token.family.subKey),t=G(i,this.mutableAtoms,a);if(t)new Vn(t,i)}})}}function Ri(n,i,o){const e={key:i.key,type:"mutable_atom_family"},a=n.families.get(i.key);if(a)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${Sn(a)} "${a.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const t=new z,c=Object.assign((l)=>{const r=k(l),p={key:i.key,subKey:r},m=`${i.key}(${r})`,T=f(n),R={key:m,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)R.effects=i.effects(l);const y=zi(T,R,p);return t.next({type:"state_creation",token:y}),y},e,{subject:t,install:(l)=>Ri(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,c),Ca(c,i,n),new Po(c,n),e}var Vo=(n,i)=>{const o=f(i),e=`${n.key}:JSON`;return o.families.get(e)};var L=(n,i)=>{if(i.family){const e=f(n),t={key:`${i.family.key}:JSON`,type:"selector_family"},s=M(t,e),c=JSON.parse(i.family.subKey);return I(n,s,c)}return{type:"selector",key:`${i.key}:JSON`}};var $n=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function fa(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function $i(n,i,o){const e=i.valueMap.get(n.key),a=o.valueMap.get(n.key);if(e===a){if(e===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const t=n.toJson(e),s=n.fromJson(t);return o.valueMap.set(n.key,s),new Vn(n,i),s}return a}function fn(n,i,o,e){const a=e.valueMap.get(n);if(a instanceof Ai)a.use(i);if(i instanceof Promise){const t=new Ai(i);return e.valueMap.set(n,t),t.then((s)=>{fn(n,s,o,e),o.next({newValue:s,oldValue:t})}).catch((s)=>{e.logger.error("\uD83D\uDCA5","state",n,"rejected:",s)}),t}return e.valueMap.set(n,i),i}var la=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&V(i)){const{parent:e}=i;o=$i(n,e,i)}return o},xa=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof Ai){const e=o,a=i.selectors.get(n)??i.readonlySelectors.get(n);if(a)e.use(a.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var va=(n,i)=>{return f(i).atomsThatAreDefault.has(n)},ao=(n,i)=>{const o=f(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},ba=(n,i)=>{const o=f(i);o.atomsThatAreDefault=new Set(f(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function Cn(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const e=f(n),a=e.atoms.get(i.key);if(a&&a.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),dn(a);const t=new z,s={...i,type:"atom",install:(r)=>{return r.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${r.config.name}"`),Cn(r,i,o)},subject:t};if(o)s.family=o;let c=i.default;if(i.default instanceof Function)c=i.default();e.atoms.set(s.key,s),ao(i.key,n),fn(i.key,c,t,e);const l=dn(s);if(i.effects){let r=0;const p=[];for(let m of i.effects){const T=m({setSelf:(R)=>{U(n,l,R)},onSet:(R)=>tn(l,R,`effect[${r}]`,n)});if(T)p.push(T);++r}s.cleanup=()=>{for(let m of p)m()}}return l}function Ia(n,i){if("mutable"in i){const a=zi(n,i,void 0);return n.on.atomCreation.next(a),a}const e=Cn(n,i,void 0);return n.on.atomCreation.next(e),e}function Qo(n,i){const o=f(i),{key:e}=n,a=M(n,o);if(!a.family)i.logger.error("\u274C","atom",e,"Standalone atoms cannot be disposed.");else{a.cleanup?.();const t=i.valueMap.get(a.key);M({key:a.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:t});const c=o.molecules.get(a.family.subKey);if(c)c.tokens.delete(e);if(o.atoms.delete(e),o.valueMap.delete(e),o.selectorAtoms.delete(e),o.atomsThatAreDefault.delete(e),o.timelineTopics.delete(e),n.type==="mutable_atom"){const l=$n(n);Qo(l,i),i.trackers.delete(e)}if(i.logger.info("\uD83D\uDD25","atom",e,"deleted"),V(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}function Un(n){return Ia(J.STORE,n)}function Qn(n){return sa(J.STORE,n)}var _o=(n)=>(i,o,e,a,...t)=>{console[n](`${i} ${o} "${e}" ${a}`,...t)},Nl={error:_o("error"),info:_o("info"),warn:_o("warn")};class ki{n;i;o;constructor(n,i,o=Nl){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}function to(n){return Wo(J.STORE,n)}function Hn(n){return Zo(n,J.STORE)}class ci{n;listeners;globalListeners;handleEvent(n,...i){for(let e of this.globalListeners)e(n,...i);const o=this.listeners.get(n);if(o)for(let e of o)e(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){const o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){const o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class Ci extends ci{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((e,...a)=>{const t=JSON.stringify([e,...a])+"\x03",s=(c)=>{if(c.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",s)};return this.process.stdin.once("error",s),this.process.stdin.write(t),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(e)=>{const a=e.toString();if(a==="\u2728")return;this.unprocessedEvents.push(...a.split("\x03"));const t=this.unprocessedEvents.shift();this.incompleteData+=t??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let s=P(this.incompleteData);this.handleEvent(...s);while(this.unprocessedEvents.length>0){const c=this.unprocessedEvents.shift();if(c){if(this.unprocessedEvents.length===0)this.incompleteData=c;s=P(c),this.handleEvent(...s)}}this.incompleteData=""}catch(s){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(s)}}),this.process.stderr.on("data",(e)=>{const a=e.toString();this.unprocessedLogs.push(...a.split("\x03"));const t=this.unprocessedLogs.shift();this.incompleteLog+=t??"";try{let s=P(this.incompleteLog);this.handleLog(s);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)s=P(this.incompleteLog),this.handleLog(s)}catch(s){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(s),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class Ea extends ci{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new z,this.out=new z,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class qo extends ci{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(k(n.map((i)=>i instanceof _?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{const o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const e=P(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",e),this.handleEvent(...e);while(this.unprocessedEvents.length>0){const a=this.unprocessedEvents.shift();if(a){if(this.unprocessedEvents.length===0)this.incompleteData=a;const t=P(a);this.handleEvent(...t)}}this.incompleteData=""}catch(e){if(e instanceof Error)this.logger.error("\u2757",e.message,e.cause,e.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");const i=new Ea(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const e=o(i);if(e)i.disposalFunctions.push(e)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function Ua(n){const{key:i,config:o}=n,e=so.create(i,o),{actions:a}=e;for(let t of a)Ra(i,t.key,J.STORE);return ha(i,-1,J.STORE),e}class Va extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class so{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new Va;static create(n,i){const o=new so(n),{type:e,globals:a,actions:t,perspectives:s}=i(o),c={type:e,key:n,globals:a,actions:t,perspectives:s};return so.existing.set(n,c),c}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":{const[o,e]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:e})}break}return this}}var Cg=Un({key:"usersInRoomIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),ne=Un({key:"roomIndex",default:()=>new _,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),Dl={enteredAtEpoch:0},Wi=Di({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},Dl),Wg=to({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=wa(Wi);return[i(o,n)]}});import{spawn as Ll}from"child_process";var ie=Qn({key:"roomArguments",default:["echo",["Hello World!"]]}),Ya=to({key:"room",get:(n)=>async({get:i,find:o})=>{const e=o(ie,n),a=i(e),[t,s]=a,c=await new Promise((l)=>{const r=Ll(t,s,{env:process.env}),p=(m)=>{if(m.toString()==="\u2728")r.stdout.off("data",p),l(r)};r.stdout.on("data",p)});return new Ci(c,n)}});var Lg=Hn({key:"createRoom",do:({get:n,set:i,find:o},e,a,t)=>{const s=t?[a,t]:[a],c=o(ie,e);i(c,s),i(ne,(p)=>p.add(e));const l=o(Ya,e);return n(l)}}),Pg=Hn({key:"joinRoom",do:(n,i,o,e)=>{const a={enteredAtEpoch:e};return Zn(Wi,(t)=>{t.set({room:i,user:o},a)},n.env().store),a}}),_g=Hn({key:"leaveRoom",do:(n,i,o)=>{Zn(Wi,(e)=>{e.delete({room:i,user:o})},n.env().store)}}),qg=Hn({key:"destroyRoom",do:(n,i)=>{Zn(Wi,(o)=>{o.delete({room:i})},n.env().store),n.set(ne,(o)=>(o.delete(i),o))}});function oe(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const e=oe(n,o.updates);return{...o,updates:e}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var oF=Qn({key:"transactionRedactor",default:{occlude:(n)=>n}}),Ba=Qn({key:"unacknowledgedUpdates",default:()=>[]});var Ii=Qn({key:"sockets",default:null}),ee=Un({key:"socketsIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),ae=Un({key:"usersIndex",mutable:!0,default:()=>new _,toJson:(n)=>n.toJSON(),fromJson:(n)=>_.fromJSON(n)}),Nn=Di({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function Xa({socket:n,store:i=J.STORE}){return function o(e){let a=n;const t=e.key,s=si(Nn,a.id,i).userKeyOfSocket,c=E(i,s);if(!c)return i.logger.error("\u274C","continuity",t,`Tried to create a synchronizer for a socket (${a.id}) that is not connected to a user.`),()=>{};const l=si(Nn,c,i).socketKeyOfUser;tn(l,({newValue:b})=>{if(i.logger.info("\uD83D\uDC4B","continuity",t,`seeing ${c} on new socket ${b}`),b===null){i.logger.warn("\u274C","continuity",t,`User (${c}) is not connected to a socket, waiting for them to reappear.`);return}const S=I(i,Ii,b);a=E(i,S);for(let W of p)a?.emit(`tx-new:${t}`,W)},`sync-continuity:${t}:${c}`,i);const r=I(i,Ba,c),p=E(i,r),m=[],R=(()=>{const b=[];for(let S of e.perspectives){const{viewAtoms:K}=S,W=I(i,K,c),x=tn(W,({oldValue:d,newValue:A})=>{const w=d.map((O)=>O.key),g=A.map((O)=>O.key),F=d.filter((O)=>!g.includes(O.key)),$=A.filter((O)=>!w.includes(O.key)).flatMap((O)=>{const X=O.type==="mutable_atom"?L(i,O):O,Tn=E(i,X);return[X,Tn]});if(i.logger.info("\uD83D\uDC41","atom",S.resourceAtoms.key,`${c} has a new perspective`,{oldKeys:w,newKeys:g,revealed:$,concealed:F}),$.length>0)a?.emit(`reveal:${t}`,$);if(F.length>0)a?.emit(`conceal:${t}`,F)},`sync-continuity:${t}:${c}:perspective:${S.resourceAtoms.key}`,i);b.push(x)}return()=>{for(let S of b)S()}})(),y=()=>{const b=[];for(let K of e.globals){const W=K.type==="mutable_atom"?L(i,K):K,x=E(i,W);b.push(W,x)}for(let K of e.perspectives){const{viewAtoms:W,resourceAtoms:x}=K,d=I(i,W,c),A=E(i,d);i.logger.info("\uD83D\uDC41","atom",x.key,`${c} can see`,{viewAtoms:W,resourceAtoms:x,userView:A});for(let w of A){const g=w.type==="mutable_atom"?L(i,w):w,F=E(i,g);b.push(g,F)}}const S=H(i)?i.transactionMeta.epoch.get(t)??null:null;a?.emit(`continuity-init:${t}`,S,b);for(let K of e.actions){const W=Do(K,(x)=>{try{const d=e.globals.map((g)=>{if(g.type==="atom")return g.key;return $n(g).key}).concat(e.perspectives.flatMap((g)=>{const{viewAtoms:F}=g,$=I(i,F,c);return E(i,$).map((X)=>{return X.type==="mutable_atom"?"*"+X.key:X.key})})),A=oe(d,x.updates),w={...x,updates:A};U(i,r,(g)=>{if(w)g.push(w),g.sort((F,$)=>F.epoch-$.epoch);return g}),a?.emit(`tx-new:${t}`,w)}catch(d){if(d instanceof Error)i.logger.error("\u274C","continuity",t,`failed to send update from transaction ${K.key} to ${c}`,d.message)}},`sync-continuity:${t}:${c}`,i);m.push(W)}};a.off(`get:${t}`,y),a.on(`get:${t}`,y);const v=(b)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",t,"received",b);const{key:S,id:K}=b,W=`tx-run:${S}:${K}`,x=`${W}:start`,d=`${W}:end`;performance.mark(x);try{In({type:"transaction",key:S},K,i)(...b.params)}catch($){if($ instanceof Error)i.logger.error("\u274C","continuity",t,`failed to run transaction ${S} with update ${K}`,$.message)}performance.mark(d);const A=performance.measure(W,x,d);i?.logger.info("\uD83D\uDE80","transaction",S,K,A.duration);const w=`valuesOfCardsView("${c}")`,g=i.selectorAtoms.getRelatedKeys(w),F=i.valueMap.get(w);i.logger.info("\uD83D\uDC41","continuity",t,`seeing ${c} card values`,{valuesOfCardsViewKey:w,rootsOfCardValueView:g,myCardValueView:F})};a.off(`tx-run:${t}`,v),a.on(`tx-run:${t}`,v);const u=(b)=>{if(i.logger.info("\uD83D\uDC4D","continuity",t,`${c} acknowledged epoch ${b}`),p[0]?.epoch===b)U(i,r,(K)=>{return K.shift(),K})};return a?.on(`ack:${t}`,u),()=>{for(let b of m)b();a?.off(`ack:${t}`,u),R(),a?.off(`get:${t}`,y),a?.off(`tx-run:${t}`,v)}}}var Ml=Yl(Rl(),1),{Server:Jl,Namespace:_h,Socket:qh}=Ml.default;import{spawn as Ux}from"child_process";import{resolve as Yx}from"path";var{MODE:zo,FRONTEND_PORT:nA,BACKEND_PORT:iA}=process.env;function $l(n,i){const o=zo==="development"?"ts":"js",e=i.endsWith(".bun")?"bun":"node",t=[Yx(import.meta.dir,`${i}.${o}`)];if(e==="node"&&o==="ts")t.push("--experimental-strip-types");const s=Ux(e,t);return new Ci(s,i,n.logger)}var jl=Un({key:"count",default:0}),Bx=Hn({key:"incrementTX",do:({set:n})=>{n(jl,(i)=>i+1)}}),kl=Ua({key:"countContinuity",config:(n)=>n.add(jl).add(Bx)});async function na(){rn.logger.info("\uD83E\uDDF9 dispatching SIGINT to workers"),Ol.process.kill("SIGINT"),await new Promise((n)=>Ol.process.once("exit",n)),rn.logger.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var rn=new qo;J.STORE.loggers[0]=new ki("warn",void 0,rn.logger);var Ol=$l(rn,"backend.worker.game.bun"),Cl=zl.createServer((n,i)=>i.end("Hello World!")),qe=Cl.listen(4444).address(),Xx=typeof qe==="string"?null:qe===null?null:qe.port;if(Xx===null)throw new Error("Could not determine port for test server");new Jl(Cl,{cors:{origin:zo==="development"?"http://localhost:3333":"https://tempest.games",methods:["GET","POST"]}}).use((n,i)=>{const{token:o,username:e}=n.handshake.auth;if(o==="test"&&n.id){const a=I(J.STORE,Ii,n.id);U(J.STORE,a,n),Zn(Nn,(t)=>{t.set(n.id,e)},J.STORE),U(J.STORE,ae,(t)=>t.add(e)),U(J.STORE,ee,(t)=>t.add(n.id)),rn.logger.info(`${e} connected on ${n.id}`),i()}else rn.logger.info(`${e} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=Xa({socket:n,store:J.STORE})(kl);n.on("disconnect",()=>{const e=si(Nn,n.id,J.STORE).userKeyOfSocket,a=E(J.STORE,e);if(Zn(Nn,(t)=>{t.delete(n.id)},J.STORE),a)U(J.STORE,ae,(t)=>(t.delete(a),t));U(J.STORE,ee,(t)=>(t.delete(n.id),t)),an(J.STORE,Ii,n.id),rn.logger.info(`${n.id} disconnected`),o()})});rn.emit("alive");rn.on("updatesReady",()=>{rn.emit("readyToUpdate")});process.on("SIGINT",async()=>{rn.logger.info("\u2757 received SIGINT; exiting gracefully"),await na()});process.on("SIGTERM",async()=>{rn.logger.info("\u2757 received SIGTERM; exiting gracefully"),await na()});process.on("exit",async()=>{rn.logger.info("\u2757 received exit; exiting gracefully"),await na()});rn.logger.info("\uD83D\uDEEB backend server ready");
|
|
35
|
+
*/Tf.exports=I6;Tf.exports.append=_J;var D6=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/});var Mf=I((RN,jJ)=>{(function(){var n=VJ(),i=sJ(),o={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function c(R){return typeof R==="string"||R instanceof String}function p(R,F){if(Array.isArray(F)){for(var X=0;X<F.length;++X)if(p(R,F[X]))return!0;return!1}else if(c(F))return R===F;else if(F instanceof RegExp)return F.test(R);else return!!F}function a(R,F){var X=F.headers.origin,z=[],Y;if(!R.origin||R.origin==="*")z.push([{key:"Access-Control-Allow-Origin",value:"*"}]);else if(c(R.origin))z.push([{key:"Access-Control-Allow-Origin",value:R.origin}]),z.push([{key:"Vary",value:"Origin"}]);else Y=p(X,R.origin),z.push([{key:"Access-Control-Allow-Origin",value:Y?X:!1}]),z.push([{key:"Vary",value:"Origin"}]);return z}function x(R){var F=R.methods;if(F.join)F=R.methods.join(",");return{key:"Access-Control-Allow-Methods",value:F}}function m(R){if(R.credentials===!0)return{key:"Access-Control-Allow-Credentials",value:"true"};return null}function l(R,F){var X=R.allowedHeaders||R.headers,z=[];if(!X)X=F.headers["access-control-request-headers"],z.push([{key:"Vary",value:"Access-Control-Request-Headers"}]);else if(X.join)X=X.join(",");if(X&&X.length)z.push([{key:"Access-Control-Allow-Headers",value:X}]);return z}function f(R){var F=R.exposedHeaders;if(!F)return null;else if(F.join)F=F.join(",");if(F&&F.length)return{key:"Access-Control-Expose-Headers",value:F};return null}function $(R){var F=(typeof R.maxAge==="number"||R.maxAge)&&R.maxAge.toString();if(F&&F.length)return{key:"Access-Control-Max-Age",value:F};return null}function v(R,F){for(var X=0,z=R.length;X<z;X++){var Y=R[X];if(Y){if(Array.isArray(Y))v(Y,F);else if(Y.key==="Vary"&&Y.value)i(F,Y.value);else if(Y.value)F.setHeader(Y.key,Y.value)}}}function S(R,F,X,z){var Y=[],E=F.method&&F.method.toUpperCase&&F.method.toUpperCase();if(E==="OPTIONS")if(Y.push(a(R,F)),Y.push(m(R,F)),Y.push(x(R,F)),Y.push(l(R,F)),Y.push($(R,F)),Y.push(f(R,F)),v(Y,X),R.preflightContinue)z();else X.statusCode=R.optionsSuccessStatus,X.setHeader("Content-Length","0"),X.end();else Y.push(a(R,F)),Y.push(m(R,F)),Y.push(f(R,F)),v(Y,X),z()}function T(R){var F=null;if(typeof R==="function")F=R;else F=function(X,z){z(null,R)};return function X(z,Y,E){F(z,function(s,G){if(s)E(s);else{var M=n({},o,G),O=null;if(M.origin&&typeof M.origin==="function")O=M.origin;else if(M.origin)O=function(U,V){V(null,M.origin)};if(O)O(z.headers.origin,function(U,V){if(U||!V)E(U);else M.origin=V,S(M,z,Y,E)});else E()}})}}jJ.exports=T})()});var Rf=I((IJ)=>{function e6(n){try{const i=JSON.parse(n);if(typeof i.sid==="string")return i.sid}catch(i){}}function yJ(n,i,o){const c=i===Yn.errors.FORBIDDEN?403:400,p=o&&o.message?o.message:Yn.errorMessages[i];n.writeHead(c,{"Content-Type":"application/json"}),n.end(JSON.stringify({code:i,message:p}))}function hJ(n,i,o={}){if(n.on("error",()=>{vn("ignoring error from closed connection")}),n.writable){const c=o.message||Yn.errorMessages[i],p=Buffer.byteLength(c);n.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+p+"\r\n\r\n"+c)}n.destroy()}function g6(n){if(n+="",n.length<1)return!1;if(!Ka[n.charCodeAt(0)])return vn('invalid header, index 0, char "%s"',n.charCodeAt(0)),!0;if(n.length<2)return!1;if(!Ka[n.charCodeAt(1)])return vn('invalid header, index 1, char "%s"',n.charCodeAt(1)),!0;if(n.length<3)return!1;if(!Ka[n.charCodeAt(2)])return vn('invalid header, index 2, char "%s"',n.charCodeAt(2)),!0;if(n.length<4)return!1;if(!Ka[n.charCodeAt(3)])return vn('invalid header, index 3, char "%s"',n.charCodeAt(3)),!0;for(let i=4;i<n.length;++i)if(!Ka[n.charCodeAt(i)])return vn('invalid header, index "%i", char "%s"',i,n.charCodeAt(i)),!0;return!1}Object.defineProperty(IJ,"__esModule",{value:!0});IJ.Server=IJ.BaseServer=void 0;var t6=import.meta.require("querystring"),C6=import.meta.require("url"),NJ=dl(),dx=Af(),k6=import.meta.require("events"),LJ=Ff(),r6=ai(),Z6=EJ(),q6=import.meta.require("ws"),BJ=Jf(),P6=Ra(),vn=r6.default("engine"),vp=Symbol("responseHeaders");class Wa extends k6.EventEmitter{constructor(n={}){super();if(this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:q6.Server,pingTimeout:20000,pingInterval:25000,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},n),n.cookie)this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:n.cookie.path!==!1,sameSite:"lax"},n.cookie);if(this.opts.cors)this.use(Mf()(this.opts.cors));if(n.perMessageDeflate)this.opts.perMessageDeflate=Object.assign({threshold:1024},n.perMessageDeflate);this.init()}_computePath(n){let i=(n.path||"/engine.io").replace(/\/$/,"");if(n.addTrailingSlash!==!1)i+="/";return i}upgrades(n){if(!this.opts.allowUpgrades)return[];return dx.default[n].upgradesTo||[]}verify(n,i,o){const c=n._query.transport;if(!~this.opts.transports.indexOf(c)||c==="webtransport")return vn('unknown transport "%s"',c),o(Yn.errors.UNKNOWN_TRANSPORT,{transport:c});if(g6(n.headers.origin)){const x=n.headers.origin;return n.headers.origin=null,vn("origin header invalid"),o(Yn.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:x})}const a=n._query.sid;if(a){if(!this.clients.hasOwnProperty(a))return vn('unknown sid "%s"',a),o(Yn.errors.UNKNOWN_SID,{sid:a});const x=this.clients[a].transport.name;if(!i&&x!==c)return vn("bad request: unexpected transport without upgrade"),o(Yn.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:c,previousTransport:x})}else{if(n.method!=="GET")return o(Yn.errors.BAD_HANDSHAKE_METHOD,{method:n.method});if(c==="websocket"&&!i)return vn("invalid transport upgrade"),o(Yn.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"});if(!this.opts.allowRequest)return o();return this.opts.allowRequest(n,(x,m)=>{if(!m)return o(Yn.errors.FORBIDDEN,{message:x});o()})}o()}use(n){this.middlewares.push(n)}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return vn("no middleware to apply, skipping"),o();const c=(p)=>{vn("applying middleware n\xB0%d",p+1),this.middlewares[p](n,i,(a)=>{if(a)return o(a);if(p+1<this.middlewares.length)c(p+1);else o()})};c(0)}close(){vn("closing all open clients");for(let n in this.clients)if(this.clients.hasOwnProperty(n))this.clients[n].close(!0);return this.cleanup(),this}generateId(n){return NJ.generateId()}async handshake(n,i,o){const c=i._query.EIO==="4"?4:3;if(c===3&&!this.opts.allowEIO3){vn("unsupported protocol version"),this.emit("connection_error",{req:i,code:Yn.errors.UNSUPPORTED_PROTOCOL_VERSION,message:Yn.errorMessages[Yn.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:c}}),o(Yn.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let p;try{p=await this.generateId(i)}catch(m){vn("error while generating an id"),this.emit("connection_error",{req:i,code:Yn.errors.BAD_REQUEST,message:Yn.errorMessages[Yn.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:m}}),o(Yn.errors.BAD_REQUEST);return}vn('handshaking client "%s"',p);try{var a=this.createTransport(n,i);if(n==="polling")a.maxHttpBufferSize=this.opts.maxHttpBufferSize,a.httpCompression=this.opts.httpCompression;else if(n==="websocket")a.perMessageDeflate=this.opts.perMessageDeflate}catch(m){vn('error handshaking to transport "%s"',n),this.emit("connection_error",{req:i,code:Yn.errors.BAD_REQUEST,message:Yn.errorMessages[Yn.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:m}}),o(Yn.errors.BAD_REQUEST);return}const x=new LJ.Socket(p,this,a,i,c);return a.on("headers",(m,l)=>{if(!l._query.sid){if(this.opts.cookie)m["Set-Cookie"]=[Z6.serialize(this.opts.cookie.name,p,this.opts.cookie)];this.emit("initial_headers",m,l)}this.emit("headers",m,l)}),a.onRequest(i),this.clients[p]=x,this.clientsCount++,x.once("close",()=>{delete this.clients[p],this.clientsCount--}),this.emit("connection",x),a}async onWebTransportSession(n){const i=setTimeout(()=>{vn("the client failed to establish a bidirectional stream in the given period"),n.close()},this.opts.upgradeTimeout),c=await n.incomingBidirectionalStreams.getReader().read();if(c.done){vn("session is closed");return}const p=c.value,a=P6.createPacketDecoderStream(this.opts.maxHttpBufferSize,"nodebuffer"),x=p.readable.pipeThrough(a).getReader(),{value:m,done:l}=await x.read();if(l){vn("stream is closed");return}if(clearTimeout(i),m.type!=="open")return vn("invalid WebTransport handshake"),n.close();if(m.data===void 0){const v=new BJ.WebTransport(n,p,x),S=NJ.generateId();vn('handshaking client "%s" (WebTransport)',S);const T=new LJ.Socket(S,this,v,null,4);this.clients[S]=T,this.clientsCount++,T.once("close",()=>{delete this.clients[S],this.clientsCount--}),this.emit("connection",T);return}const f=e6(m.data);if(!f)return vn("invalid WebTransport handshake"),n.close();const $=this.clients[f];if(!$)vn("upgrade attempt for closed client"),n.close();else if($.upgrading)vn("transport has already been trying to upgrade"),n.close();else if($.upgraded)vn("transport had already been upgraded"),n.close();else{vn("upgrading existing transport");const v=new BJ.WebTransport(n,p,x);$._maybeUpgrade(v)}}}IJ.BaseServer=Wa;Wa.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};Wa.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class DJ{constructor(n,i){this.req=n,this.socket=i,n[vp]={}}setHeader(n,i){this.req[vp][n]=i}getHeader(n){return this.req[vp][n]}removeHeader(n){delete this.req[vp][n]}write(){}writeHead(){}end(){this.socket.destroy()}}class Yn extends Wa{init(){if(!~this.opts.transports.indexOf("websocket"))return;if(this.ws)this.ws.close();if(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",(n,i)=>{const o=i[vp]||{};if(delete i[vp],!i._query.sid)this.emit("initial_headers",o,i);this.emit("headers",o,i),vn("writing headers: %j",o),Object.keys(o).forEach((p)=>{n.push(`${p}: ${o[p]}`)})})}cleanup(){if(this.ws)vn("closing webSocketServer"),this.ws.close()}prepare(n){if(!n._query)n._query=~n.url.indexOf("?")?t6.parse(C6.parse(n.url).query):{}}createTransport(n,i){return new dx.default[n](i)}handleRequest(n,i){vn('handling "%s" http request "%s"',n.method,n.url),this.prepare(n),n.res=i;const o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:n,code:c,message:Yn.errorMessages[c],context:p}),yJ(i,c,p);return}if(n._query.sid)vn("setting new request for existing client"),this.clients[n._query.sid].transport.onRequest(n);else{const a=(x,m)=>yJ(i,x,m);this.handshake(n._query.transport,n,a)}};this._applyMiddlewares(n,i,(c)=>{if(c)o(Yn.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!1,o)})}handleUpgrade(n,i,o){this.prepare(n);const c=new DJ(n,i),p=(a,x)=>{if(a!==void 0){this.emit("connection_error",{req:n,code:a,message:Yn.errorMessages[a],context:x}),hJ(i,a,x);return}const m=Buffer.from(o);o=null,c.writeHead(),this.ws.handleUpgrade(n,i,m,(l)=>{this.onWebSocket(n,i,l)})};this._applyMiddlewares(n,c,(a)=>{if(a)p(Yn.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(n,!0,p)})}onWebSocket(n,i,o){if(o.on("error",p),dx.default[n._query.transport]!==void 0&&!dx.default[n._query.transport].prototype.handlesUpgrades){vn("transport doesnt handle upgraded requests"),o.close();return}const c=n._query.sid;if(n.websocket=o,c){const a=this.clients[c];if(!a)vn("upgrade attempt for closed client"),o.close();else if(a.upgrading)vn("transport has already been trying to upgrade"),o.close();else if(a.upgraded)vn("transport had already been upgraded"),o.close();else{vn("upgrading existing transport"),o.removeListener("error",p);const x=this.createTransport(n._query.transport,n);x.perMessageDeflate=this.opts.perMessageDeflate,a._maybeUpgrade(x)}}else{const a=(x,m)=>hJ(i,x,m);this.handshake(n._query.transport,n,a)}function p(){vn("websocket error before upgrade")}}attach(n,i={}){const o=this._computePath(i),c=i.destroyUpgradeTimeout||1000;function p(x){return o===x.url.slice(0,o.length)}const a=n.listeners("request").slice(0);if(n.removeAllListeners("request"),n.on("close",this.close.bind(this)),n.on("listening",this.init.bind(this)),n.on("request",(x,m)=>{if(p(x))vn('intercepting request for path "%s"',o),this.handleRequest(x,m);else{let l=0;const f=a.length;for(;l<f;l++)a[l].call(n,x,m)}}),~this.opts.transports.indexOf("websocket"))n.on("upgrade",(x,m,l)=>{if(p(x))this.handleUpgrade(x,m,l);else if(i.destroyUpgrade!==!1)setTimeout(function(){if(m.writable&&m.bytesWritten<=0)return m.on("error",(f)=>{vn("error while destroying upgrade: %s",f.message)}),m.end()},c)})}}IJ.Server=Yn;var Ka=[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]});var qJ=I((rJ)=>{Object.defineProperty(rJ,"__esModule",{value:!0});rJ.Polling=void 0;var nW=uc(),CJ=import.meta.require("zlib"),iW=Bx(),oW=ai(),ei=oW.default("engine:polling"),cW={gzip:CJ.createGzip,deflate:CJ.createDeflate};class kJ extends nW.Transport{constructor(n){super(n);this.closeTimeout=30000}get name(){return"polling"}onRequest(n){const i=n.res;if(n.res=null,n.getMethod()==="get")this.onPollRequest(n,i);else if(n.getMethod()==="post")this.onDataRequest(n,i);else i.writeStatus("500 Internal Server Error"),i.end()}onPollRequest(n,i){if(this.req){ei("request overlap"),this.onError("overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}ei("setting request"),this.req=n,this.res=i;const o=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},c=()=>{this.req=this.res=null};if(n.cleanup=c,i.onAborted(o),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose)ei("triggering empty send to append close packet"),this.send([{type:"noop"}])}onDataRequest(n,i){if(this.dataReq){this.onError("data request overlap from client"),i.writeStatus("500 Internal Server Error"),i.end();return}const o=Number(n.headers["content-length"]);if(!o){this.onError("content-length header required"),i.writeStatus("411 Length Required").end();return}if(o>this.maxHttpBufferSize){this.onError("payload too large"),i.writeStatus("413 Payload Too Large").end();return}if(n.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=n,this.dataRes=i;let p,a=0;const x={"Content-Type":"text/html"};this.headers(n,x);for(let l in x)i.writeHeader(l,String(x[l]));const m=(l)=>{this.onData(l.toString()),this.onDataRequestCleanup(),i.cork(()=>{i.end("ok")})};i.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),i.onData((l,f)=>{const $=a+l.byteLength;if($>o){this.onError("content-length mismatch"),i.close();return}if(!p){if(f){m(Buffer.from(l));return}p=Buffer.allocUnsafe(o)}if(Buffer.from(l).copy(p,a),f){if($!=o){this.onError("content-length mismatch"),i.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}m(p);return}a=$})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(n){ei('received "%s"',n);const i=(o)=>{if(o.type==="close")return ei("got xhr close packet"),this.onClose(),!1;this.onPacket(o)};if(this.protocol===3)this.parser.decodePayload(n,i);else this.parser.decodePayload(n).forEach(i)}onClose(){if(this.writable)this.send([{type:"noop"}]);super.onClose()}send(n){if(this.writable=!1,this.shouldClose)ei("appending close packet to payload"),n.push({type:"close"}),this.shouldClose(),this.shouldClose=null;const i=(o)=>{const c=n.some((p)=>{return p.options&&p.options.compress});this.write(o,{compress:c})};if(this.protocol===3)this.parser.encodePayload(n,this.supportsBinary,i);else this.parser.encodePayload(n,i)}write(n,i){ei('writing "%s"',n),this.doWrite(n,i,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(n,i,o){const c=typeof n==="string",a={"Content-Type":c?"text/plain; charset=UTF-8":"application/octet-stream"},x=(f)=>{this.headers(this.req,a),this.res.cork(()=>{Object.keys(a).forEach(($)=>{this.res.writeHeader($,String(a[$]))}),this.res.end(f)}),o()};if(!this.httpCompression||!i.compress){x(n);return}if((c?Buffer.byteLength(n):n.length)<this.httpCompression.threshold){x(n);return}const l=iW(this.req).encodings(["gzip","deflate"]);if(!l){x(n);return}this.compress(n,l,(f,$)=>{if(f){this.res.writeStatus("500 Internal Server Error"),this.res.end(),o(f);return}a["Content-Encoding"]=l,x($)})}compress(n,i,o){ei("compressing");const c=[];let p=0;cW[i](this.httpCompression).on("error",o).on("data",function(a){c.push(a),p+=a.length}).on("end",function(){o(null,Buffer.concat(c,p))}).end(n)}doClose(n){ei("closing");let i;const o=()=>{clearTimeout(i),n(),this.onClose()};if(this.writable)ei("transport writable - closing right away"),this.send([{type:"close"}]),o();else if(this.discarded)ei("transport discarded - closing right away"),o();else ei("transport not writable - buffering orderly close"),this.shouldClose=o,i=setTimeout(o,this.closeTimeout)}headers(n,i){i=i||{};const o=n.headers["user-agent"];if(o&&(~o.indexOf(";MSIE")||~o.indexOf("Trident/")))i["X-XSS-Protection"]="0";return i["cache-control"]="no-store",this.emit("headers",i,n),i}}rJ.Polling=kJ});var nA=I((gJ)=>{Object.defineProperty(gJ,"__esModule",{value:!0});gJ.WebSocket=void 0;var pW=uc(),aW=ai(),PJ=aW.default("engine:ws");class eJ extends pW.Transport{constructor(n){super(n);this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(n){this.writable=!1;for(let i=0;i<n.length;i++){const o=n[i],c=i+1===n.length,p=(a)=>{const x=typeof a!=="string",m=this.perMessageDeflate&&Buffer.byteLength(a)>this.perMessageDeflate.threshold;if(PJ('writing "%s"',a),this.socket.send(a,x,m),c)this.emit("drain"),this.writable=!0,this.emit("ready")};if(o.options&&typeof o.options.wsPreEncoded==="string")p(o.options.wsPreEncoded);else this.parser.encodePacket(o,this.supportsBinary,p)}}doClose(n){PJ("closing"),n&&n(),this.socket.end()}}gJ.WebSocket=eJ});var oA=I((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});var xW=qJ(),mW=nA();iA.default={polling:xW.Polling,websocket:mW.WebSocket}});var mA=I((aA)=>{Object.defineProperty(aA,"__esModule",{value:!0});aA.uServer=void 0;var fW=ai(),Oc=Rf(),$W=oA(),ac=fW.default("engine:uws");class cA extends Oc.BaseServer{init(){}cleanup(){}prepare(n,i){n.method=n.getMethod().toUpperCase(),n.url=n.getUrl();const o=new URLSearchParams(n.getQuery());n._query=Object.fromEntries(o.entries()),n.headers={},n.forEach((c,p)=>{n.headers[c]=p}),n.connection={remoteAddress:Buffer.from(i.getRemoteAddressAsText()).toString()},i.onAborted(()=>{ac("response has been aborted")})}createTransport(n,i){return new $W.default[n](i)}attach(n,i={}){const o=this._computePath(i);n.any(o,this.handleRequest.bind(this)).ws(o,{compression:i.compression,idleTimeout:i.idleTimeout,maxBackpressure:i.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:(c)=>{const p=c.getUserData().transport;p.socket=c,p.writable=!0,p.emit("ready")},message:(c,p,a)=>{c.getUserData().transport.onData(a?p:Buffer.from(p).toString())},close:(c,p,a)=>{c.getUserData().transport.onClose(p,a)}})}_applyMiddlewares(n,i,o){if(this.middlewares.length===0)return o();n.res=new pA(i),super._applyMiddlewares(n,n.res,(c)=>{n.res.writeHead(),o(c)})}handleRequest(n,i){ac('handling "%s" http request "%s"',i.getMethod(),i.getUrl()),this.prepare(i,n),i.res=n;const o=(c,p)=>{if(c!==void 0){this.emit("connection_error",{req:i,code:c,message:Oc.Server.errorMessages[c],context:p}),this.abortRequest(i.res,c,p);return}if(i._query.sid)ac("setting new request for existing client"),this.clients[i._query.sid].transport.onRequest(i);else{const a=(x,m)=>this.abortRequest(n,x,m);this.handshake(i._query.transport,i,a)}};this._applyMiddlewares(i,n,(c)=>{if(c)o(Oc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!1,o)})}handleUpgrade(n,i,o){ac("on upgrade"),this.prepare(i,n),i.res=n;const c=async(p,a)=>{if(p!==void 0){this.emit("connection_error",{req:i,code:p,message:Oc.Server.errorMessages[p],context:a}),this.abortRequest(n,p,a);return}const x=i._query.sid;let m;if(x){const l=this.clients[x];if(!l)return ac("upgrade attempt for closed client"),n.close();else if(l.upgrading)return ac("transport has already been trying to upgrade"),n.close();else if(l.upgraded)return ac("transport had already been upgraded"),n.close();else ac("upgrading existing transport"),m=this.createTransport(i._query.transport,i),l._maybeUpgrade(m)}else if(m=await this.handshake(i._query.transport,i,(l,f)=>this.abortRequest(n,l,f)),!m)return;i.res.writeStatus("101 Switching Protocols"),n.upgrade({transport:m},i.getHeader("sec-websocket-key"),i.getHeader("sec-websocket-protocol"),i.getHeader("sec-websocket-extensions"),o)};this._applyMiddlewares(i,n,(p)=>{if(p)c(Oc.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"});else this.verify(i,!0,c)})}abortRequest(n,i,o){const c=i===Oc.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",p=o&&o.message?o.message:Oc.Server.errorMessages[i];n.writeStatus(c),n.writeHeader("Content-Type","application/json"),n.end(JSON.stringify({code:i,message:p}))}}aA.uServer=cA;class pA{constructor(n){this.res=n,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(n){if(!n)return;this.writeStatus(n===200?"200 OK":"204 No Content")}writeHead(n){this.statusCode=n}setHeader(n,i){if(Array.isArray(i))i.forEach((o)=>{this.writeHeader(n,o)});else this.writeHeader(n,i)}removeHeader(){}getHeader(){}writeStatus(n){if(this.isAborted)return;return this.res.writeStatus(n),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(n,i){if(this.isAborted)return;if(n==="Content-Length")return;if(this.statusWritten)this.res.writeHeader(n,i);else this.headers.push([n,i])}writeBufferedHeaders(){this.headers.forEach(([n,i])=>{this.res.writeHeader(n,i)})}end(n){if(this.isAborted)return;this.res.cork(()=>{if(!this.statusWritten)this.writeBufferedHeaders();this.res.end(n)})}onData(n){if(this.isAborted)return;this.res.onData(n)}onAborted(n){if(this.isAborted)return;this.res.onAborted(()=>{this.isAborted=!0,n()})}cork(n){if(this.isAborted)return;this.res.cork(n)}}});var wA=I((wp)=>{function FW(n,i,o){if(typeof i==="function")o=i,i={};const c=vW.createServer(function(a,x){x.writeHead(501),x.end("Not Implemented")}),p=$A(c,i);return p.httpServer=c,c.listen(n,o),p}function $A(n,i){const o=new lA.Server(i);return o.attach(n,i),o}Object.defineProperty(wp,"__esModule",{value:!0});wp.protocol=wp.Transport=wp.Socket=wp.uServer=wp.parser=wp.transports=wp.Server=void 0;wp.listen=FW;wp.attach=$A;var vW=import.meta.require("http"),lA=Rf();Object.defineProperty(wp,"Server",{enumerable:!0,get:function(){return lA.Server}});var wW=Af();wp.transports=wW.default;var fA=Ra();wp.parser=fA;var SW=mA();Object.defineProperty(wp,"uServer",{enumerable:!0,get:function(){return SW.uServer}});var JW=Ff();Object.defineProperty(wp,"Socket",{enumerable:!0,get:function(){return JW.Socket}});var AW=uc();Object.defineProperty(wp,"Transport",{enumerable:!0,get:function(){return AW.Transport}});wp.protocol=fA.protocol});var SA=I((XW)=>{function ui(n){if(n)return WW(n)}function WW(n){for(var i in ui.prototype)n[i]=ui.prototype[i];return n}XW.Emitter=ui;ui.prototype.on=ui.prototype.addEventListener=function(n,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(i),this};ui.prototype.once=function(n,i){function o(){this.off(n,o),i.apply(this,arguments)}return o.fn=i,this.on(n,o),this};ui.prototype.off=ui.prototype.removeListener=ui.prototype.removeAllListeners=ui.prototype.removeEventListener=function(n,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var o=this._callbacks["$"+n];if(!o)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;var c;for(var p=0;p<o.length;p++)if(c=o[p],c===i||c.fn===i){o.splice(p,1);break}if(o.length===0)delete this._callbacks["$"+n];return this};ui.prototype.emit=function(n){this._callbacks=this._callbacks||{};var i=new Array(arguments.length-1),o=this._callbacks["$"+n];for(var c=1;c<arguments.length;c++)i[c-1]=arguments[c];if(o){o=o.slice(0);for(var c=0,p=o.length;c<p;++c)o[c].apply(this,i)}return this};ui.prototype.emitReserved=ui.prototype.emit;ui.prototype.listeners=function(n){return this._callbacks=this._callbacks||{},this._callbacks["$"+n]||[]};ui.prototype.hasListeners=function(n){return!!this.listeners(n).length}});var Kf=I((FA)=>{function AA(n){return GW&&(n instanceof ArrayBuffer||YW(n))||uW&&n instanceof Blob||OW&&n instanceof File}function nm(n,i){if(!n||typeof n!=="object")return!1;if(Array.isArray(n)){for(let o=0,c=n.length;o<c;o++)if(nm(n[o]))return!0;return!1}if(AA(n))return!0;if(n.toJSON&&typeof n.toJSON==="function"&&arguments.length===1)return nm(n.toJSON(),!0);for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o)&&nm(n[o]))return!0;return!1}Object.defineProperty(FA,"__esModule",{value:!0});FA.hasBinary=FA.isBinary=void 0;var GW=typeof ArrayBuffer==="function",YW=(n)=>{return typeof ArrayBuffer.isView==="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer},JA=Object.prototype.toString,uW=typeof Blob==="function"||typeof Blob!=="undefined"&&JA.call(Blob)==="[object BlobConstructor]",OW=typeof File==="function"||typeof File!=="undefined"&&JA.call(File)==="[object FileConstructor]";FA.isBinary=AA;FA.hasBinary=nm});var KA=I((MA)=>{function QW(n){const i=[],o=n.data,c=n;return c.data=Wf(o,i),c.attachments=i.length,{packet:c,buffers:i}}function Wf(n,i){if(!n)return n;if(EW.isBinary(n)){const o={_placeholder:!0,num:i.length};return i.push(n),o}else if(Array.isArray(n)){const o=new Array(n.length);for(let c=0;c<n.length;c++)o[c]=Wf(n[c],i);return o}else if(typeof n==="object"&&!(n instanceof Date)){const o={};for(let c in n)if(Object.prototype.hasOwnProperty.call(n,c))o[c]=Wf(n[c],i);return o}return n}function UW(n,i){return n.data=Xf(n.data,i),delete n.attachments,n}function Xf(n,i){if(!n)return n;if(n&&n._placeholder===!0)if(typeof n.num==="number"&&n.num>=0&&n.num<i.length)return i[n.num];else throw new Error("illegal attachments");else if(Array.isArray(n))for(let o=0;o<n.length;o++)n[o]=Xf(n[o],i);else if(typeof n==="object"){for(let o in n)if(Object.prototype.hasOwnProperty.call(n,o))n[o]=Xf(n[o],i)}return n}Object.defineProperty(MA,"__esModule",{value:!0});MA.reconstructPacket=MA.deconstructPacket=void 0;var EW=Kf();MA.deconstructPacket=QW;MA.reconstructPacket=UW});var Xa=I((OA)=>{function WA(n){return Object.prototype.toString.call(n)==="[object Object]"}Object.defineProperty(OA,"__esModule",{value:!0});OA.Decoder=OA.Encoder=OA.PacketType=OA.protocol=void 0;var bW=SA(),zA=KA(),GA=Kf(),_W=ai(),zf=_W.default("socket.io-parser"),sW=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];OA.protocol=5;var Cn;(function(n){n[n.CONNECT=0]="CONNECT",n[n.DISCONNECT=1]="DISCONNECT",n[n.EVENT=2]="EVENT",n[n.ACK=3]="ACK",n[n.CONNECT_ERROR=4]="CONNECT_ERROR",n[n.BINARY_EVENT=5]="BINARY_EVENT",n[n.BINARY_ACK=6]="BINARY_ACK"})(Cn=OA.PacketType||(OA.PacketType={}));class YA{constructor(n){this.replacer=n}encode(n){if(zf("encoding packet %j",n),n.type===Cn.EVENT||n.type===Cn.ACK){if(GA.hasBinary(n))return this.encodeAsBinary({type:n.type===Cn.EVENT?Cn.BINARY_EVENT:Cn.BINARY_ACK,nsp:n.nsp,data:n.data,id:n.id})}return[this.encodeAsString(n)]}encodeAsString(n){let i=""+n.type;if(n.type===Cn.BINARY_EVENT||n.type===Cn.BINARY_ACK)i+=n.attachments+"-";if(n.nsp&&n.nsp!=="/")i+=n.nsp+",";if(n.id!=null)i+=n.id;if(n.data!=null)i+=JSON.stringify(n.data,this.replacer);return zf("encoded %j as %s",n,i),i}encodeAsBinary(n){const i=zA.deconstructPacket(n),o=this.encodeAsString(i.packet),c=i.buffers;return c.unshift(o),c}}OA.Encoder=YA;class Gf extends bW.Emitter{constructor(n){super();this.reviver=n}add(n){let i;if(typeof n==="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(n);const o=i.type===Cn.BINARY_EVENT;if(o||i.type===Cn.BINARY_ACK){if(i.type=o?Cn.EVENT:Cn.ACK,this.reconstructor=new uA(i),i.attachments===0)super.emitReserved("decoded",i)}else super.emitReserved("decoded",i)}else if(GA.isBinary(n)||n.base64){if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");else if(i=this.reconstructor.takeBinaryData(n),i)this.reconstructor=null,super.emitReserved("decoded",i)}else throw new Error("Unknown type: "+n)}decodeString(n){let i=0;const o={type:Number(n.charAt(0))};if(Cn[o.type]===void 0)throw new Error("unknown packet type "+o.type);if(o.type===Cn.BINARY_EVENT||o.type===Cn.BINARY_ACK){const p=i+1;while(n.charAt(++i)!=="-"&&i!=n.length);const a=n.substring(p,i);if(a!=Number(a)||n.charAt(i)!=="-")throw new Error("Illegal attachments");o.attachments=Number(a)}if(n.charAt(i+1)==="/"){const p=i+1;while(++i){if(n.charAt(i)===",")break;if(i===n.length)break}o.nsp=n.substring(p,i)}else o.nsp="/";const c=n.charAt(i+1);if(c!==""&&Number(c)==c){const p=i+1;while(++i){const a=n.charAt(i);if(a==null||Number(a)!=a){--i;break}if(i===n.length)break}o.id=Number(n.substring(p,i+1))}if(n.charAt(++i)){const p=this.tryParse(n.substr(i));if(Gf.isPayloadValid(o.type,p))o.data=p;else throw new Error("invalid payload")}return zf("decoded %s as %j",n,o),o}tryParse(n){try{return JSON.parse(n,this.reviver)}catch(i){return!1}}static isPayloadValid(n,i){switch(n){case Cn.CONNECT:return WA(i);case Cn.DISCONNECT:return i===void 0;case Cn.CONNECT_ERROR:return typeof i==="string"||WA(i);case Cn.EVENT:case Cn.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]==="number"||typeof i[0]==="string"&&sW.indexOf(i[0])===-1);case Cn.ACK:case Cn.BINARY_ACK:return Array.isArray(i)}}destroy(){if(this.reconstructor)this.reconstructor.finishedReconstruction(),this.reconstructor=null}}OA.Decoder=Gf;class uA{constructor(n){this.packet=n,this.buffers=[],this.reconPack=n}takeBinaryData(n){if(this.buffers.push(n),this.buffers.length===this.reconPack.attachments){const i=zA.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}});var VA=I((QA)=>{Object.defineProperty(QA,"__esModule",{value:!0});QA.Client=void 0;var im=Xa(),LW=ai(),BW=import.meta.require("url"),Jo=LW("socket.io:client");class EA{constructor(n,i){this.sockets=new Map,this.nsps=new Map,this.server=n,this.conn=i,this.encoder=n.encoder,this.decoder=new n._parser.Decoder,this.id=i.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(()=>{if(this.nsps.size===0)Jo("no namespace joined yet, close the client"),this.close();else Jo("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(n,i={}){if(this.server._nsps.has(n))return Jo("connecting to namespace %s",n),this.doConnect(n,i);this.server._checkNamespace(n,i,(o)=>{if(o)this.doConnect(n,i);else Jo("creation of namespace %s was denied",n),this._packet({type:im.PacketType.CONNECT_ERROR,nsp:n,data:{message:"Invalid namespace"}})})}doConnect(n,i){const o=this.server.of(n);o._add(this,i,(c)=>{if(this.sockets.set(c.id,c),this.nsps.set(o.name,c),this.connectTimeout)clearTimeout(this.connectTimeout),this.connectTimeout=void 0})}_disconnect(){for(let n of this.sockets.values())n.disconnect();this.sockets.clear(),this.close()}_remove(n){if(this.sockets.has(n.id)){const i=this.sockets.get(n.id).nsp.name;this.sockets.delete(n.id),this.nsps.delete(i)}else Jo("ignoring remove for %s",n.id)}close(){if(this.conn.readyState==="open")Jo("forcing transport close"),this.conn.close(),this.onclose("forced server close")}_packet(n,i={}){if(this.conn.readyState!=="open"){Jo("ignoring packet write %j",n);return}const o=i.preEncoded?n:this.encoder.encode(n);this.writeToEngine(o,i)}writeToEngine(n,i){if(i.volatile&&!this.conn.transport.writable){Jo("volatile packet is discarded since the transport is not currently writable");return}const o=Array.isArray(n)?n:[n];for(let c of o)this.conn.write(c,i)}ondata(n){try{this.decoder.add(n)}catch(i){Jo("invalid packet format"),this.onerror(i)}}ondecoded(n){let i,o;if(this.conn.protocol===3){const p=BW.parse(n.nsp,!0);i=p.pathname,o=p.query}else i=n.nsp,o=n.data;const c=this.nsps.get(i);if(!c&&n.type===im.PacketType.CONNECT)this.connect(i,o);else if(c&&n.type!==im.PacketType.CONNECT&&n.type!==im.PacketType.CONNECT_ERROR)process.nextTick(function(){c._onpacket(n)});else Jo("invalid state (packet type: %s)",n.type),this.close()}onerror(n){for(let i of this.sockets.values())i._onerror(n);this.conn.close()}onclose(n,i){Jo("client close with reason %s",n),this.destroy();for(let o of this.sockets.values())o._onclose(n,i);this.sockets.clear(),this.decoder.destroy()}destroy(){if(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}}QA.Client=EA});var om=I((_A)=>{Object.defineProperty(_A,"__esModule",{value:!0});_A.StrictEventEmitter=void 0;var yW=import.meta.require("events");class bA extends yW.EventEmitter{on(n,i){return super.on(n,i)}once(n,i){return super.once(n,i)}emit(n,...i){return super.emit(n,...i)}emitReserved(n,...i){return super.emit(n,...i)}emitUntyped(n,...i){return super.emit(n,...i)}listeners(n){return super.listeners(n)}}_A.StrictEventEmitter=bA});var Yf=I((jA)=>{Object.defineProperty(jA,"__esModule",{value:!0});jA.RESERVED_EVENTS=void 0;jA.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Of=I((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});LA.RemoteSocket=LA.BroadcastOperator=void 0;var hW=Yf(),DW=Xa();class Lo{constructor(n,i=new Set,o=new Set,c={}){this.adapter=n,this.rooms=i,this.exceptRooms=o,this.flags=c}to(n){const i=new Set(this.rooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new Lo(this.adapter,i,this.exceptRooms,this.flags)}in(n){return this.to(n)}except(n){const i=new Set(this.exceptRooms);if(Array.isArray(n))n.forEach((o)=>i.add(o));else i.add(n);return new Lo(this.adapter,this.rooms,i,this.flags)}compress(n){const i=Object.assign({},this.flags,{compress:n});return new Lo(this.adapter,this.rooms,this.exceptRooms,i)}get volatile(){const n=Object.assign({},this.flags,{volatile:!0});return new Lo(this.adapter,this.rooms,this.exceptRooms,n)}get local(){const n=Object.assign({},this.flags,{local:!0});return new Lo(this.adapter,this.rooms,this.exceptRooms,n)}timeout(n){const i=Object.assign({},this.flags,{timeout:n});return new Lo(this.adapter,this.rooms,this.exceptRooms,i)}emit(n,...i){if(hW.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:DW.PacketType.EVENT,data:o};if(typeof o[o.length-1]!=="function")return this.adapter.broadcast(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const a=o.pop();let x=!1,m=[];const l=setTimeout(()=>{x=!0,a.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:m])},this.flags.timeout);let f=-1,$=0,v=0;const S=()=>{if(!x&&f===$&&m.length===v)clearTimeout(l),a.apply(this,[null,this.flags.expectSingleResponse?m[0]:m])};return this.adapter.broadcastWithAck(c,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(T)=>{v+=T,$++,S()},(T)=>{m.push(T),S()}),this.adapter.serverCount().then((T)=>{f=T,S()}),!0}emitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.emit(n,...i)})}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((n)=>{return n.map((i)=>{if(i.server)return i;else return new uf(this.adapter,i)})})}socketsJoin(n){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}socketsLeave(n){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(n)?n:[n])}disconnectSockets(n=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},n)}}LA.BroadcastOperator=Lo;class uf{constructor(n,i){this.id=i.id,this.handshake=i.handshake,this.rooms=new Set(i.rooms),this.data=i.data,this.operator=new Lo(n,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(n){return this.operator.timeout(n)}emit(n,...i){return this.operator.emit(n,...i)}join(n){return this.operator.socketsJoin(n)}leave(n){return this.operator.socketsLeave(n)}disconnect(n=!1){return this.operator.disconnectSockets(n),this}}LA.RemoteSocket=uf});var Hf=I((Sp)=>{function hA(){}var DA=Sp&&Sp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Sp,"__esModule",{value:!0});Sp.Socket=void 0;var gi=Xa(),tW=DA(ai()),CW=om(),yA=DA(dl()),kW=Of(),rW=Yf(),Fi=tW.default("socket.io:socket"),ZW=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);class IA extends CW.StrictEventEmitter{constructor(n,i,o,c){super();if(this.nsp=n,this.client=i,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=n.server,this.adapter=this.nsp.adapter,c)this.id=c.sid,this.pid=c.pid,c.rooms.forEach((p)=>this.join(p)),this.data=c.data,c.missedPackets.forEach((p)=>{this.packet({type:gi.PacketType.EVENT,data:p})}),this.recovered=!0;else{if(i.conn.protocol===3)this.id=n.name!=="/"?n.name+"#"+i.id:i.id;else this.id=yA.default.generateId();if(this.server._opts.connectionStateRecovery)this.pid=yA.default.generateId()}this.handshake=this.buildHandshake(o),this.on("error",hA)}buildHandshake(n){var i,o,c,p;return{headers:((i=this.request)===null||i===void 0?void 0:i.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!((o=this.request)===null||o===void 0?void 0:o.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(c=this.request)===null||c===void 0?void 0:c.url,query:((p=this.request)===null||p===void 0?void 0:p._query)||{},auth:n}}emit(n,...i){if(rW.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);const o=[n,...i],c={type:gi.PacketType.EVENT,data:o};if(typeof o[o.length-1]==="function"){const a=this.nsp._ids++;Fi("emitting packet with ack id %d",a),this.registerAckCallback(a,o.pop()),c.id=a}const p=Object.assign({},this.flags);if(this.flags={},this.nsp.server.opts.connectionStateRecovery)this.adapter.broadcast(c,{rooms:new Set([this.id]),except:new Set,flags:p});else this.notifyOutgoingListeners(c),this.packet(c,p);return!0}emitWithAck(n,...i){const o=this.flags.timeout!==void 0;return new Promise((c,p)=>{i.push((a,x)=>{if(o)return a?p(a):c(x);else return c(a)}),this.emit(n,...i)})}registerAckCallback(n,i){const o=this.flags.timeout;if(o===void 0){this.acks.set(n,i);return}const c=setTimeout(()=>{Fi("event with ack id %d has timed out after %d ms",n,o),this.acks.delete(n),i.call(this,new Error("operation has timed out"))},o);this.acks.set(n,(...p)=>{clearTimeout(c),i.apply(this,[null,...p])})}to(n){return this.newBroadcastOperator().to(n)}in(n){return this.newBroadcastOperator().in(n)}except(n){return this.newBroadcastOperator().except(n)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}packet(n,i={}){n.nsp=this.nsp.name,i.compress=i.compress!==!1,this.client._packet(n,i)}join(n){return Fi("join room %s",n),this.adapter.addAll(this.id,new Set(Array.isArray(n)?n:[n]))}leave(n){return Fi("leave room %s",n),this.adapter.del(this.id,n)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){if(Fi("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3)this.packet({type:gi.PacketType.CONNECT});else this.packet({type:gi.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(n){switch(Fi("got packet %j",n),n.type){case gi.PacketType.EVENT:this.onevent(n);break;case gi.PacketType.BINARY_EVENT:this.onevent(n);break;case gi.PacketType.ACK:this.onack(n);break;case gi.PacketType.BINARY_ACK:this.onack(n);break;case gi.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(n){const i=n.data||[];if(Fi("emitting event %j",i),n.id!=null)Fi("attaching ack callback to event"),i.push(this.ack(n.id));if(this._anyListeners&&this._anyListeners.length){const o=this._anyListeners.slice();for(let c of o)c.apply(this,i)}this.dispatch(i)}ack(n){const i=this;let o=!1;return function(){if(o)return;const c=Array.prototype.slice.call(arguments);Fi("sending ack %j",c),i.packet({id:n,type:gi.PacketType.ACK,data:c}),o=!0}}onack(n){const i=this.acks.get(n.id);if(typeof i=="function")Fi("calling ack %s with %j",n.id,n.data),i.apply(this,n.data),this.acks.delete(n.id);else Fi("bad ack %s",n.id)}ondisconnect(){Fi("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(n){this.emitReserved("error",n)}_onclose(n,i){if(!this.connected)return this;if(Fi("closing socket - reason %s",n),this.emitReserved("disconnecting",n,i),this.server._opts.connectionStateRecovery&&ZW.has(n))Fi("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",n,i);return}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=hA}_error(n){this.packet({type:gi.PacketType.CONNECT_ERROR,data:n})}disconnect(n=!1){if(!this.connected)return this;if(n)this.client._disconnect();else this.packet({type:gi.PacketType.DISCONNECT}),this._onclose("server namespace disconnect");return this}compress(n){return this.flags.compress=n,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(n){return this.flags.timeout=n,this}dispatch(n){Fi("dispatching an event %j",n),this.run(n,(i)=>{process.nextTick(()=>{if(i)return this._onerror(i);if(this.connected)super.emitUntyped.apply(this,n);else Fi("ignore packet received after disconnection")})})}use(n){return this.fns.push(n),this}run(n,i){if(!this.fns.length)return i();const o=this.fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(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(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(n),this}prependAny(n){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(n),this}offAny(n){if(!this._anyListeners)return this;if(n){const i=this._anyListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(n),this}prependAnyOutgoing(n){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(n),this}offAnyOutgoing(n){if(!this._anyOutgoingListeners)return this;if(n){const i=this._anyOutgoingListeners;for(let o=0;o<i.length;o++)if(n===i[o])return i.splice(o,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(n){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(let o of i)o.apply(this,n.data)}}newBroadcastOperator(){const n=Object.assign({},this.flags);return this.flags={},new kW.BroadcastOperator(this.adapter,new Set,new Set([this.id]),n)}}Sp.Socket=IA});var Ef=I((Bo)=>{var qW=Bo&&Bo.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.Namespace=Bo.RESERVED_EVENTS=void 0;var tA=Hf(),PW=om(),eW=qW(ai()),Di=Of(),za=eW.default("socket.io:namespace");Bo.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class CA extends PW.StrictEventEmitter{constructor(n,i){super();this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=n,this.name=i,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(n){return this._fns.push(n),this}run(n,i){if(!this._fns.length)return i();const o=this._fns.slice(0);function c(p){o[p](n,(a)=>{if(a)return i(a);if(!o[p+1])return i();c(p+1)})}c(0)}to(n){return new Di.BroadcastOperator(this.adapter).to(n)}in(n){return new Di.BroadcastOperator(this.adapter).in(n)}except(n){return new Di.BroadcastOperator(this.adapter).except(n)}async _add(n,i,o){var c;za("adding socket to nsp %s",this.name);const p=await this._createSocket(n,i);if(this._preConnectSockets.set(p.id,p),((c=this.server.opts.connectionStateRecovery)===null||c===void 0?void 0:c.skipMiddlewares)&&p.recovered&&n.conn.readyState==="open")return this._doConnect(p,o);this.run(p,(a)=>{process.nextTick(()=>{if(n.conn.readyState!=="open"){za("next called after client was closed - ignoring socket"),p._cleanup();return}if(a)if(za("middleware error, sending CONNECT_ERROR packet to the client"),p._cleanup(),n.conn.protocol===3)return p._error(a.data||a.message);else return p._error({message:a.message,data:a.data});this._doConnect(p,o)})})}async _createSocket(n,i){const{pid:o,offset:c}=i;if(this.server.opts.connectionStateRecovery&&typeof o==="string"&&typeof c==="string"){let p;try{p=await this.adapter.restoreSession(o,c)}catch(a){za("error while restoring session: %s",a)}if(p)return za("connection state recovered for sid %s",p.sid),new tA.Socket(this,n,i,p)}return new tA.Socket(this,n,i)}_doConnect(n,i){if(this._preConnectSockets.delete(n.id),this.sockets.set(n.id,n),n._onconnect(),i)i(n);this.emitReserved("connect",n),this.emitReserved("connection",n)}_remove(n){this.sockets.delete(n.id)||this._preConnectSockets.delete(n.id)}emit(n,...i){return new Di.BroadcastOperator(this.adapter).emit(n,...i)}send(...n){return this.emit("message",...n),this}write(...n){return this.emit("message",...n),this}serverSideEmit(n,...i){if(Bo.RESERVED_EVENTS.has(n))throw new Error(`"${String(n)}" is a reserved event name`);return i.unshift(n),this.adapter.serverSideEmit(i),!0}serverSideEmitWithAck(n,...i){return new Promise((o,c)=>{i.push((p,a)=>{if(p)return p.responses=a,c(p);else return o(a)}),this.serverSideEmit(n,...i)})}_onServerSideEmit(n){super.emitUntyped.apply(this,n)}allSockets(){return new Di.BroadcastOperator(this.adapter).allSockets()}compress(n){return new Di.BroadcastOperator(this.adapter).compress(n)}get volatile(){return new Di.BroadcastOperator(this.adapter).volatile}get local(){return new Di.BroadcastOperator(this.adapter).local}timeout(n){return new Di.BroadcastOperator(this.adapter).timeout(n)}fetchSockets(){return new Di.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(n){return new Di.BroadcastOperator(this.adapter).socketsJoin(n)}socketsLeave(n){return new Di.BroadcastOperator(this.adapter).socketsLeave(n)}disconnectSockets(n=!1){return new Di.BroadcastOperator(this.adapter).disconnectSockets(n)}}Bo.Namespace=CA});var gA=I((PA)=>{function Qf(n){let i="";do i=ZA[n%cm]+i,n=Math.floor(n/cm);while(n>0);return i}function gW(n){let i=0;for(xc=0;xc<n.length;xc++)i=i*cm+qA[n.charAt(xc)];return i}function dW(){const n=Qf(+new Date);if(n!==rA)return kA=0,rA=n;return n+"."+Qf(kA++)}Object.defineProperty(PA,"__esModule",{value:!0});PA.yeast=PA.decode=PA.encode=void 0;var ZA="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),cm=64,qA={},kA=0,xc=0,rA;PA.encode=Qf;PA.decode=gW;PA.yeast=dW;for(;xc<cm;xc++)qA[ZA[xc]]=xc});var bf=I((nF)=>{function a7(n,i){const o=i.rooms.size===0||n.some((p)=>i.rooms.has(p)),c=n.every((p)=>!i.except.has(p));return o&&c}var Uf;Object.defineProperty(nF,"__esModule",{value:!0});nF.SessionAwareAdapter=nF.Adapter=void 0;var o7=import.meta.require("events"),c7=gA(),pm=import.meta.require("ws"),p7=typeof((Uf=pm===null||pm===void 0?void 0:pm.Sender)===null||Uf===void 0?void 0:Uf.frame)==="function";class Vf extends o7.EventEmitter{constructor(n){super();this.nsp=n,this.rooms=new Map,this.sids=new Map,this.encoder=n.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(n,i){if(!this.sids.has(n))this.sids.set(n,new Set);for(let o of i){if(this.sids.get(n).add(o),!this.rooms.has(o))this.rooms.set(o,new Set),this.emit("create-room",o);if(!this.rooms.get(o).has(n))this.rooms.get(o).add(n),this.emit("join-room",o,n)}}del(n,i){if(this.sids.has(n))this.sids.get(n).delete(i);this._del(i,n)}_del(n,i){const o=this.rooms.get(n);if(o!=null){if(o.delete(i))this.emit("leave-room",n,i);if(o.size===0&&this.rooms.delete(n))this.emit("delete-room",n)}}delAll(n){if(!this.sids.has(n))return;for(let i of this.sids.get(n))this._del(i,n);this.sids.delete(n)}broadcast(n,i){const o=i.flags||{},c={preEncoded:!0,volatile:o.volatile,compress:o.compress};n.nsp=this.nsp.name;const p=this._encode(n,c);this.apply(i,(a)=>{if(typeof a.notifyOutgoingListeners==="function")a.notifyOutgoingListeners(n);a.client.writeToEngine(p,c)})}broadcastWithAck(n,i,o,c){const p=i.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};n.nsp=this.nsp.name,n.id=this.nsp._ids++;const x=this._encode(n,a);let m=0;this.apply(i,(l)=>{if(m++,l.acks.set(n.id,c),typeof l.notifyOutgoingListeners==="function")l.notifyOutgoingListeners(n);l.client.writeToEngine(x,a)}),o(m)}_encode(n,i){const o=this.encoder.encode(n);if(p7&&o.length===1&&typeof o[0]==="string"){const c=Buffer.from("4"+o[0]);i.wsPreEncodedFrame=pm.Sender.frame(c,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return o}sockets(n){const i=new Set;return this.apply({rooms:n},(o)=>{i.add(o.id)}),Promise.resolve(i)}socketRooms(n){return this.sids.get(n)}fetchSockets(n){const i=[];return this.apply(n,(o)=>{i.push(o)}),Promise.resolve(i)}addSockets(n,i){this.apply(n,(o)=>{o.join(i)})}delSockets(n,i){this.apply(n,(o)=>{i.forEach((c)=>o.leave(c))})}disconnectSockets(n,i){this.apply(n,(o)=>{o.disconnect(i)})}apply(n,i){const o=n.rooms,c=this.computeExceptSids(n.except);if(o.size){const p=new Set;for(let a of o){if(!this.rooms.has(a))continue;for(let x of this.rooms.get(a)){if(p.has(x)||c.has(x))continue;const m=this.nsp.sockets.get(x);if(m)i(m),p.add(x)}}}else for(let[p]of this.sids){if(c.has(p))continue;const a=this.nsp.sockets.get(p);if(a)i(a)}}computeExceptSids(n){const i=new Set;if(n&&n.size>0){for(let o of n)if(this.rooms.has(o))this.rooms.get(o).forEach((c)=>i.add(c))}return i}serverSideEmit(n){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(n){}restoreSession(n,i){return null}}nF.Adapter=Vf;class dA extends Vf{constructor(n){super(n);this.nsp=n,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=n.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{const o=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((c,p)=>{if(c.disconnectedAt<o)this.sessions.delete(p)});for(let c=this.packets.length-1;c>=0;c--)if(this.packets[c].emittedAt<o){this.packets.splice(0,c+1);break}},60000).unref()}persistSession(n){n.disconnectedAt=Date.now(),this.sessions.set(n.pid,n)}restoreSession(n,i){const o=this.sessions.get(n);if(!o)return null;if(o.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(n),null;const p=this.packets.findIndex((x)=>x.id===i);if(p===-1)return null;const a=[];for(let x=p+1;x<this.packets.length;x++){const m=this.packets[x];if(a7(o.rooms,m.opts))a.push(m.data)}return Promise.resolve(Object.assign(Object.assign({},o),{missedPackets:a}))}broadcast(n,i){var o;const c=n.type===2,p=n.id===void 0,a=((o=i.flags)===null||o===void 0?void 0:o.volatile)===void 0;if(c&&p&&a){const x=c7.yeast();n.data.push(x),this.packets.push({id:x,opts:i,data:n.data,emittedAt:Date.now()})}super.broadcast(n,i)}}nF.SessionAwareAdapter=dA});var cF=I((Ao)=>{function Ap(){return $7.randomBytes(8).toString("hex")}function Hc(n){return{rooms:[...n.rooms],except:[...n.except],flags:n.flags}}function Jp(n){return{rooms:new Set(n.rooms),except:new Set(n.except),flags:n.flags}}var m7=Ao&&Ao.__rest||function(n,i){var o={};for(var c in n)if(Object.prototype.hasOwnProperty.call(n,c)&&i.indexOf(c)<0)o[c]=n[c];if(n!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var p=0,c=Object.getOwnPropertySymbols(n);p<c.length;p++)if(i.indexOf(c[p])<0&&Object.prototype.propertyIsEnumerable.call(n,c[p]))o[c[p]]=n[c[p]]}return o};Object.defineProperty(Ao,"__esModule",{value:!0});Ao.ClusterAdapterWithHeartbeat=Ao.ClusterAdapter=Ao.MessageType=void 0;var l7=bf(),f7=ai(),$7=import.meta.require("crypto"),qn=f7.debug("socket.io-adapter"),v7="emitter",am=5000,cn;(function(n){n[n.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",n[n.HEARTBEAT=2]="HEARTBEAT",n[n.BROADCAST=3]="BROADCAST",n[n.SOCKETS_JOIN=4]="SOCKETS_JOIN",n[n.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",n[n.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",n[n.FETCH_SOCKETS=7]="FETCH_SOCKETS",n[n.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",n[n.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",n[n.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",n[n.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",n[n.BROADCAST_ACK=12]="BROADCAST_ACK",n[n.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(cn=Ao.MessageType||(Ao.MessageType={}));class _f extends l7.Adapter{constructor(n){super(n);this.requests=new Map,this.ackRequests=new Map,this.uid=Ap()}onMessage(n,i){if(n.uid===this.uid)return qn("[%s] ignore message from self",this.uid);switch(qn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.BROADCAST:{if(n.data.requestId!==void 0)super.broadcastWithAck(n.data.packet,Jp(n.data.opts),(c)=>{qn("[%s] waiting for %d client acknowledgements",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_CLIENT_COUNT,data:{requestId:n.data.requestId,clientCount:c}})},(c)=>{qn("[%s] received acknowledgement with value %j",this.uid,c),this.publishResponse(n.uid,{type:cn.BROADCAST_ACK,data:{requestId:n.data.requestId,packet:c}})});else{const c=n.data.packet,p=Jp(n.data.opts);this.addOffsetIfNecessary(c,p,i),super.broadcast(c,p)}break}case cn.SOCKETS_JOIN:super.addSockets(Jp(n.data.opts),n.data.rooms);break;case cn.SOCKETS_LEAVE:super.delSockets(Jp(n.data.opts),n.data.rooms);break;case cn.DISCONNECT_SOCKETS:super.disconnectSockets(Jp(n.data.opts),n.data.close);break;case cn.FETCH_SOCKETS:{qn("[%s] calling fetchSockets with opts %j",this.uid,n.data.opts),super.fetchSockets(Jp(n.data.opts)).then((o)=>{this.publishResponse(n.uid,{type:cn.FETCH_SOCKETS_RESPONSE,data:{requestId:n.data.requestId,sockets:o.map((c)=>{const p=c.handshake,{sessionStore:a}=p,x=m7(p,["sessionStore"]);return{id:c.id,handshake:x,rooms:[...c.rooms],data:c.data}})}})});break}case cn.SERVER_SIDE_EMIT:{const o=n.data.packet;if(n.data.requestId===void 0){this.nsp._onServerSideEmit(o);return}let p=!1;const a=(x)=>{if(p)return;p=!0,qn("[%s] calling acknowledgement with %j",this.uid,x),this.publishResponse(n.uid,{type:cn.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:n.data.requestId,packet:x}})};this.nsp._onServerSideEmit([...o,a]);break}case cn.BROADCAST_CLIENT_COUNT:case cn.BROADCAST_ACK:case cn.FETCH_SOCKETS_RESPONSE:case cn.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(n);break;default:qn("[%s] unknown message type: %s",this.uid,n.type)}}onResponse(n){var i,o;const c=n.data.requestId;switch(qn("[%s] received response %s to request %s",this.uid,n.type,c),n.type){case cn.BROADCAST_CLIENT_COUNT:{(i=this.ackRequests.get(c))===null||i===void 0||i.clientCountCallback(n.data.clientCount);break}case cn.BROADCAST_ACK:{(o=this.ackRequests.get(c))===null||o===void 0||o.ack(n.data.packet);break}case cn.FETCH_SOCKETS_RESPONSE:{const p=this.requests.get(c);if(!p)return;if(p.current++,n.data.sockets.forEach((a)=>p.responses.push(a)),p.current===p.expected)clearTimeout(p.timeout),p.resolve(p.responses),this.requests.delete(c);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{const p=this.requests.get(c);if(!p)return;if(p.current++,p.responses.push(n.data.packet),p.current===p.expected)clearTimeout(p.timeout),p.resolve(null,p.responses),this.requests.delete(c);break}default:qn("[%s] unknown response type: %s",this.uid,n.type)}}async broadcast(n,i){var o;if(!((o=i.flags)===null||o===void 0?void 0:o.local))try{const p=await this.publishAndReturnOffset({type:cn.BROADCAST,data:{packet:n,opts:Hc(i)}});this.addOffsetIfNecessary(n,i,p)}catch(p){return qn("[%s] error while broadcasting message: %s",this.uid,p.message)}super.broadcast(n,i)}addOffsetIfNecessary(n,i,o){var c;if(!this.nsp.server.opts.connectionStateRecovery)return;const p=n.type===2,a=n.id===void 0,x=((c=i.flags)===null||c===void 0?void 0:c.volatile)===void 0;if(p&&a&&x)n.data.push(o)}broadcastWithAck(n,i,o,c){var p;if(!((p=i===null||i===void 0?void 0:i.flags)===null||p===void 0?void 0:p.local)){const x=Ap();this.ackRequests.set(x,{clientCountCallback:o,ack:c}),this.publish({type:cn.BROADCAST,data:{packet:n,requestId:x,opts:Hc(i)}}),setTimeout(()=>{this.ackRequests.delete(x)},i.flags.timeout)}super.broadcastWithAck(n,i,o,c)}async addSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_JOIN,data:{opts:Hc(n),rooms:i}})}catch(p){qn("[%s] error while publishing message: %s",this.uid,p.message)}super.addSockets(n,i)}async delSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.SOCKETS_LEAVE,data:{opts:Hc(n),rooms:i}})}catch(p){qn("[%s] error while publishing message: %s",this.uid,p.message)}super.delSockets(n,i)}async disconnectSockets(n,i){var o;if(!((o=n.flags)===null||o===void 0?void 0:o.local))try{await this.publishAndReturnOffset({type:cn.DISCONNECT_SOCKETS,data:{opts:Hc(n),close:i}})}catch(p){qn("[%s] error while publishing message: %s",this.uid,p.message)}super.disconnectSockets(n,i)}async fetchSockets(n){var i;const[o,c]=await Promise.all([super.fetchSockets(n),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;const a=Ap();return new Promise((x,m)=>{const l=setTimeout(()=>{const $=this.requests.get(a);if($)m(new Error(`timeout reached: only ${$.current} responses received out of ${$.expected}`)),this.requests.delete(a)},n.flags.timeout||am),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,current:0,expected:p,responses:o};this.requests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:Hc(n),requestId:a}})})}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),c=await this.serverCount()-1;if(qn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Ap(),a=setTimeout(()=>{const m=this.requests.get(p);if(m)o(new Error(`timeout reached: only ${m.current} responses received out of ${m.expected}`),m.responses),this.requests.delete(p)},am),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,current:0,expected:c,responses:[]};this.requests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}publish(n){this.publishAndReturnOffset(n).catch((i)=>{qn("[%s] error while publishing message: %s",this.uid,i)})}publishAndReturnOffset(n){return n.uid=this.uid,n.nsp=this.nsp.name,this.doPublish(n)}publishResponse(n,i){i.uid=this.uid,i.nsp=this.nsp.name,this.doPublishResponse(n,i).catch((o)=>{qn("[%s] error while publishing response: %s",this.uid,o)})}}Ao.ClusterAdapter=_f;class oF extends _f{constructor(n,i){super(n);this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5000,heartbeatTimeout:1e4},i),this.cleanupTimer=setInterval(()=>{const o=Date.now();this.nodesMap.forEach((c,p)=>{if(o-c>this._opts.heartbeatTimeout)qn("[%s] node %s seems down",this.uid,p),this.removeNode(p)})},1000)}init(){this.publish({type:cn.INITIAL_HEARTBEAT})}scheduleHeartbeat(){if(this.heartbeatTimer)this.heartbeatTimer.refresh();else this.heartbeatTimer=setTimeout(()=>{this.publish({type:cn.HEARTBEAT})},this._opts.heartbeatInterval)}close(){if(this.publish({type:cn.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer)clearInterval(this.cleanupTimer)}onMessage(n,i){if(n.uid===this.uid)return qn("[%s] ignore message from self",this.uid);if(n.uid&&n.uid!==v7)this.nodesMap.set(n.uid,Date.now());switch(qn("[%s] new event of type %d from %s",this.uid,n.type,n.uid),n.type){case cn.INITIAL_HEARTBEAT:this.publish({type:cn.HEARTBEAT});break;case cn.HEARTBEAT:break;case cn.ADAPTER_CLOSE:this.removeNode(n.uid);break;default:super.onMessage(n,i)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(n){return this.scheduleHeartbeat(),super.publish(n)}async serverSideEmit(n){if(typeof n[n.length-1]!=="function")return this.publish({type:cn.SERVER_SIDE_EMIT,data:{packet:n}});const o=n.pop(),c=this.nodesMap.size;if(qn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,c),c<=0)return o(null,[]);const p=Ap(),a=setTimeout(()=>{const m=this.customRequests.get(p);if(m)o(new Error(`timeout reached: missing ${m.missingUids.size} responses`),m.responses),this.customRequests.delete(p)},am),x={type:cn.SERVER_SIDE_EMIT,resolve:o,timeout:a,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(p,x),this.publish({type:cn.SERVER_SIDE_EMIT,data:{requestId:p,packet:n}})}async fetchSockets(n){var i;const[o,c]=await Promise.all([super.fetchSockets({rooms:n.rooms,except:n.except,flags:{local:!0}}),this.serverCount()]),p=c-1;if(((i=n.flags)===null||i===void 0?void 0:i.local)||p<=0)return o;const a=Ap();return new Promise((x,m)=>{const l=setTimeout(()=>{const $=this.customRequests.get(a);if($)m(new Error(`timeout reached: missing ${$.missingUids.size} responses`)),this.customRequests.delete(a)},n.flags.timeout||am),f={type:cn.FETCH_SOCKETS,resolve:x,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:o};this.customRequests.set(a,f),this.publish({type:cn.FETCH_SOCKETS,data:{opts:Hc(n),requestId:a}})})}onResponse(n){const i=n.data.requestId;switch(qn("[%s] received response %s to request %s",this.uid,n.type,i),n.type){case cn.FETCH_SOCKETS_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(n.data.sockets.forEach((c)=>o.responses.push(c)),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(o.responses),this.customRequests.delete(i);break}case cn.SERVER_SIDE_EMIT_RESPONSE:{const o=this.customRequests.get(i);if(!o)return;if(o.responses.push(n.data.packet),o.missingUids.delete(n.uid),o.missingUids.size===0)clearTimeout(o.timeout),o.resolve(null,o.responses),this.customRequests.delete(i);break}default:super.onResponse(n)}}removeNode(n){this.customRequests.forEach((i,o)=>{if(i.missingUids.delete(n),i.missingUids.size===0){if(clearTimeout(i.timeout),i.type===cn.FETCH_SOCKETS)i.resolve(i.responses);else if(i.type===cn.SERVER_SIDE_EMIT)i.resolve(null,i.responses);this.customRequests.delete(o)}}),this.nodesMap.delete(n)}}Ao.ClusterAdapterWithHeartbeat=oF});var xm=I((Ec)=>{Object.defineProperty(Ec,"__esModule",{value:!0});Ec.MessageType=Ec.ClusterAdapterWithHeartbeat=Ec.ClusterAdapter=Ec.SessionAwareAdapter=Ec.Adapter=void 0;var pF=bf();Object.defineProperty(Ec,"Adapter",{enumerable:!0,get:function(){return pF.Adapter}});Object.defineProperty(Ec,"SessionAwareAdapter",{enumerable:!0,get:function(){return pF.SessionAwareAdapter}});var sf=cF();Object.defineProperty(Ec,"ClusterAdapter",{enumerable:!0,get:function(){return sf.ClusterAdapter}});Object.defineProperty(Ec,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return sf.ClusterAdapterWithHeartbeat}});Object.defineProperty(Ec,"MessageType",{enumerable:!0,get:function(){return sf.MessageType}})});var lF=I((Fp)=>{var S7=Fp&&Fp.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Fp,"__esModule",{value:!0});Fp.ParentNamespace=void 0;var aF=Ef(),J7=xm(),A7=S7(ai()),xF=A7.default("socket.io:parent-namespace");class mm extends aF.Namespace{constructor(n){super(n,"/_"+mm.count++);this.children=new Set}_initAdapter(){this.adapter=new mF(this)}emit(n,...i){return this.children.forEach((o)=>{o.emit(n,...i)}),!0}createChild(n){xF("creating child namespace %s",n);const i=new aF.Namespace(this.server,n);if(this._fns.forEach((o)=>i.use(o)),this.listeners("connect").forEach((o)=>i.on("connect",o)),this.listeners("connection").forEach((o)=>i.on("connection",o)),this.children.add(i),this.server._opts.cleanupEmptyChildNamespaces){const o=i._remove;i._remove=(c)=>{if(o.call(i,c),i.sockets.size===0)xF("closing child namespace %s",n),i.adapter.close(),this.server._nsps.delete(i.name),this.children.delete(i)}}return this.server._nsps.set(n,i),this.server.sockets.emitReserved("new_namespace",i),i}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}Fp.ParentNamespace=mm;mm.count=0;class mF extends J7.Adapter{broadcast(n,i){this.nsp.children.forEach((o)=>{o.adapter.broadcast(n,i)})}}});var JF=I((Uc)=>{function M7(n){Qc.Adapter.prototype.addAll=function(i,o){const c=!this.sids.has(i);vF.call(this,i,o);const p=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(!p)return;if(p.conn.transport.name==="websocket"){$F(this.nsp.name,p,c,o);return}if(c)p.conn.on("upgrade",()=>{const a=this.sids.get(i);if(a)$F(this.nsp.name,p,c,a)})},Qc.Adapter.prototype.del=function(i,o){wF.call(this,i,o);const c=this.nsp.sockets.get(i)||this.nsp._preConnectSockets.get(i);if(c&&c.conn.transport.name==="websocket"){const p=c.conn.id,a=c.conn.transport.socket,x=`${this.nsp.name}${jf}${o}`;lm("unsubscribe connection %s from topic %s",p,x),a.unsubscribe(x)}},Qc.Adapter.prototype.broadcast=function(i,o){if(!(o.rooms.size<=1&&o.except.size===0)){SF.call(this,i,o);return}const p=o.flags||{},a={preEncoded:!0,volatile:p.volatile,compress:p.compress};i.nsp=this.nsp.name;const x=this.encoder.encode(i),m=o.rooms.size===0?this.nsp.name:`${this.nsp.name}${jf}${o.rooms.keys().next().value}`;lm("fast publish to %s",m),x.forEach((l)=>{const f=typeof l!=="string";n.publish(m,f?l:"4"+l,f)}),this.apply(o,(l)=>{if(l.conn.transport.name!=="websocket")l.client.writeToEngine(x,a)})}}function $F(n,i,o,c){const p=i.conn.id,a=i.conn.transport.socket;if(o)lm("subscribe connection %s to topic %s",p,n),a.subscribe(n);c.forEach((x)=>{const m=`${n}${jf}${x}`;lm("subscribe connection %s to topic %s",p,m),a.subscribe(m)})}function R7(){Qc.Adapter.prototype.addAll=vF,Qc.Adapter.prototype.del=wF,Qc.Adapter.prototype.broadcast=SF}function W7(n,i){const{size:o}=fF.statSync(i),c=fF.createReadStream(i),p=()=>!c.destroyed&&c.destroy(),a=(m)=>{throw p(),m},x=(m)=>{const l=K7(m);n.cork(()=>{const f=n.getWriteOffset(),[$,v]=n.tryEnd(l,o);if(!v&&!$)c.pause(),n.onWritable((S)=>{const[T,R]=n.tryEnd(l.slice(S-f),o);if(!R&&T)c.resume();return T})})};n.onAborted(p),c.on("data",x).on("error",a).on("end",p)}var F7=Uc&&Uc.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Uc,"__esModule",{value:!0});Uc.patchAdapter=M7;Uc.restoreAdapter=R7;Uc.serveFile=W7;var Qc=xm(),fF=import.meta.require("fs"),T7=F7(ai()),lm=T7.default("socket.io:adapter-uws"),jf="\x1F",{addAll:vF,del:wF,broadcast:SF}=Qc.Adapter.prototype,K7=(n)=>{const{buffer:i,byteOffset:o,byteLength:c}=n;return i.slice(o,o+c)}});var AF=I((PN,X7)=>{X7.exports={name:"socket.io",version:"4.8.0",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"},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 --require ts-node/register --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.3.2","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 GF=I((Ti,Ga)=>{var __dirname="/home/runner/work/wayforge/wayforge/node_modules/.pnpm/socket.io@4.8.0/node_modules/socket.io/dist",z7=Ti&&Ti.__createBinding||(Object.create?function(n,i,o,c){if(c===void 0)c=o;var p=Object.getOwnPropertyDescriptor(i,o);if(!p||("get"in p?!i.__esModule:p.writable||p.configurable))p={enumerable:!0,get:function(){return i[o]}};Object.defineProperty(n,c,p)}:function(n,i,o,c){if(c===void 0)c=o;n[c]=i[o]}),G7=Ti&&Ti.__setModuleDefault||(Object.create?function(n,i){Object.defineProperty(n,"default",{enumerable:!0,value:i})}:function(n,i){n.default=i}),Y7=Ti&&Ti.__importStar||function(n){if(n&&n.__esModule)return n;var i={};if(n!=null){for(var o in n)if(o!=="default"&&Object.prototype.hasOwnProperty.call(n,o))z7(i,n,o)}return G7(i,n),i},XF=Ti&&Ti.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.Namespace=Ti.Socket=Ti.Server=void 0;var u7=import.meta.require("http"),O7=import.meta.require("fs"),Nf=import.meta.require("zlib"),H7=Bx(),fm=import.meta.require("stream"),FF=import.meta.require("path"),TF=wA(),E7=VA(),MF=import.meta.require("events"),Bf=Ef();Object.defineProperty(Ti,"Namespace",{enumerable:!0,get:function(){return Bf.Namespace}});var Q7=lF(),RF=xm(),U7=Y7(Xa()),V7=XF(ai()),zF=Hf();Object.defineProperty(Ti,"Socket",{enumerable:!0,get:function(){return zF.Socket}});var b7=om(),Lf=JF(),_7=XF(Mf()),_i=V7.default("socket.io:server"),KF=AF().version,WF=/\.map/;class Tp extends b7.StrictEventEmitter{constructor(n,i={}){super();if(this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof n==="object"&&n instanceof Object&&!n.listen)i=n,n=void 0;if(this.path(i.path||"/socket.io"),this.connectTimeout(i.connectTimeout||45000),this.serveClient(i.serveClient!==!1),this._parser=i.parser||U7,this.encoder=new this._parser.Encoder,this.opts=i,i.connectionStateRecovery)i.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120000,skipMiddlewares:!0},i.connectionStateRecovery),this.adapter(i.adapter||RF.SessionAwareAdapter);else this.adapter(i.adapter||RF.Adapter);if(i.cleanupEmptyChildNamespaces=!!i.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),n||typeof n=="number")this.attach(n);if(this.opts.cors)this._corsMiddleware=_7.default(this.opts.cors)}get _opts(){return this.opts}serveClient(n){if(!arguments.length)return this._serveClient;return this._serveClient=n,this}_checkNamespace(n,i,o){if(this.parentNsps.size===0)return o(!1);const c=this.parentNsps.keys(),p=()=>{const a=c.next();if(a.done)return o(!1);a.value(n,i,(x,m)=>{if(x||!m)return p();if(this._nsps.has(n))return _i("dynamic namespace %s already exists",n),o(this._nsps.get(n));const l=this.parentNsps.get(a.value).createChild(n);_i("dynamic namespace %s was created",n),o(l)})};p()}path(n){if(!arguments.length)return this._path;this._path=n.replace(/\/$/,"");const i=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+i+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(n){if(n===void 0)return this._connectTimeout;return this._connectTimeout=n,this}adapter(n){if(!arguments.length)return this._adapter;this._adapter=n;for(let i of this._nsps.values())i._initAdapter();return this}listen(n,i={}){return this.attach(n,i)}attach(n,i={}){if(typeof n=="function")throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.");if(Number(n)==n)n=Number(n);if(typeof n=="number"){_i("creating http server and binding to %d",n);const o=n;n=u7.createServer((c,p)=>{p.writeHead(404),p.end()}),n.listen(o)}return Object.assign(i,this.opts),i.path=i.path||this._path,this.initEngine(n,i),this}attachApp(n,i={}){Object.assign(i,this.opts),i.path=i.path||this._path,_i("creating uWebSockets.js-based engine with opts %j",i);const o=new TF.uServer(i);if(o.attach(n,i),this.bind(o),this._serveClient)n.get(`${this._path}/*`,(c,p)=>{if(!this.clientPathRegex.test(p.getUrl())){p.setYield(!0);return}const a=p.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),x=WF.test(a),m=x?"map":"source",l='"'+KF+'"',f="W/"+l,$=p.getHeader("if-none-match");if($){if(l===$||f===$){_i("serve client %s 304",m),c.writeStatus("304 Not Modified"),c.end();return}}_i("serve client %s",m),c.writeHeader("cache-control","public, max-age=0"),c.writeHeader("content-type","application/"+(x?"json":"javascript")+"; charset=utf-8"),c.writeHeader("etag",l);const v=FF.join(__dirname,"../client-dist/",a);Lf.serveFile(c,v)});Lf.patchAdapter(n)}initEngine(n,i){if(_i("creating engine.io instance with opts %j",i),this.eio=TF.attach(n,i),this._serveClient)this.attachServe(n);this.httpServer=n,this.bind(this.eio)}attachServe(n){_i("attaching client serving req handler");const i=n.listeners("request").slice(0);n.removeAllListeners("request"),n.on("request",(o,c)=>{if(this.clientPathRegex.test(o.url))if(this._corsMiddleware)this._corsMiddleware(o,c,()=>{this.serve(o,c)});else this.serve(o,c);else for(let p=0;p<i.length;p++)i[p].call(n,o,c)})}serve(n,i){const o=n.url.replace(this._path,"").replace(/\?.*$/,""),c=WF.test(o),p=c?"map":"source",a='"'+KF+'"',x="W/"+a,m=n.headers["if-none-match"];if(m){if(a===m||x===m){_i("serve client %s 304",p),i.writeHead(304),i.end();return}}_i("serve client %s",p),i.setHeader("Cache-Control","public, max-age=0"),i.setHeader("Content-Type","application/"+(c?"json":"javascript")+"; charset=utf-8"),i.setHeader("ETag",a),Tp.sendFile(o,n,i)}static sendFile(n,i,o){const c=O7.createReadStream(FF.join(__dirname,"../client-dist/",n)),p=H7(i).encodings(["br","gzip","deflate"]),a=(x)=>{if(x)o.end()};switch(p){case"br":o.writeHead(200,{"content-encoding":"br"}),fm.pipeline(c,Nf.createBrotliCompress(),o,a);break;case"gzip":o.writeHead(200,{"content-encoding":"gzip"}),fm.pipeline(c,Nf.createGzip(),o,a);break;case"deflate":o.writeHead(200,{"content-encoding":"deflate"}),fm.pipeline(c,Nf.createDeflate(),o,a);break;default:o.writeHead(200),fm.pipeline(c,o,a)}}bind(n){return this.engine=n,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(n){_i("incoming connection with id %s",n.id);const i=new E7.Client(this,n);if(n.protocol===3)i.connect("/");return this}of(n,i){if(typeof n==="function"||n instanceof RegExp){const c=new Q7.ParentNamespace(this);if(_i("initializing parent namespace %s",c.name),typeof n==="function")this.parentNsps.set(n,c);else this.parentNsps.set((p,a,x)=>x(null,n.test(p)),c),this.parentNamespacesFromRegExp.set(n,c);if(i)c.on("connect",i);return c}if(String(n)[0]!=="/")n="/"+n;let o=this._nsps.get(n);if(!o){for(let[c,p]of this.parentNamespacesFromRegExp)if(c.test(n))return _i("attaching namespace %s to parent namespace %s",n,c),p.createChild(n);if(_i("initializing namespace %s",n),o=new Bf.Namespace(this,n),this._nsps.set(n,o),n!=="/")this.sockets.emitReserved("new_namespace",o)}if(i)o.on("connect",i);return o}async close(n){if(await Promise.allSettled([...this._nsps.values()].map(async(i)=>{i.sockets.forEach((o)=>{o._onclose("server shutting down")}),await i.adapter.close()})),this.engine.close(),Lf.restoreAdapter(),this.httpServer)this.httpServer.close(n);else n&&n()}use(n){return this.sockets.use(n),this}to(n){return this.sockets.to(n)}in(n){return this.sockets.in(n)}except(n){return this.sockets.except(n)}send(...n){return this.sockets.emit("message",...n),this}write(...n){return this.sockets.emit("message",...n),this}serverSideEmit(n,...i){return this.sockets.serverSideEmit(n,...i)}serverSideEmitWithAck(n,...i){return this.sockets.serverSideEmitWithAck(n,...i)}allSockets(){return this.sockets.allSockets()}compress(n){return this.sockets.compress(n)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(n){return this.sockets.timeout(n)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(n){return this.sockets.socketsJoin(n)}socketsLeave(n){return this.sockets.socketsLeave(n)}disconnectSockets(n=!1){return this.sockets.disconnectSockets(n)}}Ti.Server=Tp;var s7=Object.keys(MF.EventEmitter.prototype).filter(function(n){return typeof MF.EventEmitter.prototype[n]==="function"});s7.forEach(function(n){Tp.prototype[n]=function(){return this.sockets[n].apply(this.sockets,arguments)}});Ga.exports=(n,i)=>new Tp(n,i);Ga.exports.Server=Tp;Ga.exports.Namespace=Bf.Namespace;Ga.exports.Socket=zF.Socket});var XM=I((WM)=>{function D3(n){if(!Wm[n])Wm[n]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"});return Wm[n]}function t3(n,i){const o=n.format(i).replace(/\u200E/g,""),c=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(o),[,p,a,x,m,l,f,$]=c;return[x,p,a,m,l,f,$]}function C3(n,i){const o=n.formatToParts(i),c=[];for(let p=0;p<o.length;p++){const{type:a,value:x}=o[p],m=I3[a];if(a==="era")c[m]=x;else if(!pn(m))c[m]=parseInt(x,10)}return c}function k3(n,i={}){const o=JSON.stringify([n,i]);let c=hF[o];if(!c)c=new Intl.ListFormat(n,i),hF[o]=c;return c}function n$(n,i={}){const o=JSON.stringify([n,i]);let c=df[o];if(!c)c=new Intl.DateTimeFormat(n,i),df[o]=c;return c}function r3(n,i={}){const o=JSON.stringify([n,i]);let c=i$[o];if(!c)c=new Intl.NumberFormat(n,i),i$[o]=c;return c}function Z3(n,i={}){const{base:o,...c}=i,p=JSON.stringify([n,c]);let a=o$[p];if(!a)a=new Intl.RelativeTimeFormat(n,i),o$[p]=a;return a}function q3(){if(La)return La;else return La=new Intl.DateTimeFormat().resolvedOptions().locale,La}function P3(n){let i=DF[n];if(!i){const o=new Intl.Locale(n);i="getWeekInfo"in o?o.getWeekInfo():o.weekInfo,DF[n]=i}return i}function e3(n){const i=n.indexOf("-x-");if(i!==-1)n=n.substring(0,i);const o=n.indexOf("-u-");if(o===-1)return[n];else{let c,p;try{c=n$(n).resolvedOptions(),p=n}catch(m){const l=n.substring(0,o);c=n$(l).resolvedOptions(),p=l}const{numberingSystem:a,calendar:x}=c;return[p,a,x]}}function g3(n,i,o){if(o||i){if(!n.includes("-u-"))n+="-u";if(o)n+=`-ca-${o}`;if(i)n+=`-nu-${i}`;return n}else return n}function d3(n){const i=[];for(let o=1;o<=12;o++){const c=mn.utc(2009,o,1);i.push(n(c))}return i}function nX(n){const i=[];for(let o=1;o<=7;o++){const c=mn.utc(2016,11,13+o);i.push(n(c))}return i}function Fm(n,i,o,c){const p=n.listingMode();if(p==="error")return null;else if(p==="en")return o(i);else return c(i)}function iX(n){if(n.numberingSystem&&n.numberingSystem!=="latn")return!1;else return n.numberingSystem==="latn"||!n.locale||n.locale.startsWith("en")||new Intl.DateTimeFormat(n.intl).resolvedOptions().numberingSystem==="latn"}function Jc(n,i){if(pn(n)||n===null)return i;else if(n instanceof hc)return n;else if(aX(n)){const o=n.toLowerCase();if(o==="default")return i;else if(o==="local"||o==="system")return ha.instance;else if(o==="utc"||o==="gmt")return Ki.utcInstance;else return Ki.parseSpecifier(o)||Qo.create(n)}else if(yc(n))return Ki.instance(n);else if(typeof n==="object"&&"offset"in n&&typeof n.offset==="function")return n;else return new x$(n)}function oo(n,i){return new io("unit out of range",`you specified ${i} (of type ${typeof i}) as a ${n}, which is invalid`)}function m$(n,i,o){const c=new Date(Date.UTC(n,i-1,o));if(n<100&&n>=0)c.setUTCFullYear(c.getUTCFullYear()-1900);const p=c.getUTCDay();return p===0?7:p}function tT(n,i,o){return o+(Da(n)?IT:DT)[i-1]}function CT(n,i){const o=Da(n)?IT:DT,c=o.findIndex((a)=>a<i),p=i-o[c];return{month:c+1,day:p}}function l$(n,i){return(n-i+7)%7+1}function Gm(n,i=4,o=1){const{year:c,month:p,day:a}=n,x=tT(c,p,a),m=l$(m$(c,p,a),o);let l=Math.floor((x-m+14-i)/7),f;if(l<1)f=c-1,l=ya(f,i,o);else if(l>ya(c,i,o))f=c+1,l=1;else f=c;return{weekYear:f,weekNumber:l,weekday:m,...Qm(n)}}function eF(n,i=4,o=1){const{weekYear:c,weekNumber:p,weekday:a}=n,x=l$(m$(c,1,i),o),m=Np(c);let l=p*7+a-x-7+i,f;if(l<1)f=c-1,l+=Np(f);else if(l>m)f=c+1,l-=Np(c);else f=c;const{month:$,day:v}=CT(f,l);return{year:f,month:$,day:v,...Qm(n)}}function rf(n){const{year:i,month:o,day:c}=n,p=tT(i,o,c);return{year:i,ordinal:p,...Qm(n)}}function gF(n){const{year:i,ordinal:o}=n,{month:c,day:p}=CT(i,o);return{year:i,month:c,day:p,...Qm(n)}}function dF(n,i){if(!pn(n.localWeekday)||!pn(n.localWeekNumber)||!pn(n.localWeekYear)){if(!pn(n.weekday)||!pn(n.weekNumber)||!pn(n.weekYear))throw new Lc("Cannot mix locale-based week fields with ISO-based week fields");if(!pn(n.localWeekday))n.weekday=n.localWeekday;if(!pn(n.localWeekNumber))n.weekNumber=n.localWeekNumber;if(!pn(n.localWeekYear))n.weekYear=n.localWeekYear;return delete n.localWeekday,delete n.localWeekNumber,delete n.localWeekYear,{minDaysInFirstWeek:i.getMinDaysInFirstWeek(),startOfWeek:i.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function cX(n,i=4,o=1){const c=Om(n.weekYear),p=co(n.weekNumber,1,ya(n.weekYear,i,o)),a=co(n.weekday,1,7);if(!c)return oo("weekYear",n.weekYear);else if(!p)return oo("week",n.weekNumber);else if(!a)return oo("weekday",n.weekday);else return!1}function pX(n){const i=Om(n.year),o=co(n.ordinal,1,Np(n.year));if(!i)return oo("year",n.year);else if(!o)return oo("ordinal",n.ordinal);else return!1}function kT(n){const i=Om(n.year),o=co(n.month,1,12),c=co(n.day,1,Ym(n.year,n.month));if(!i)return oo("year",n.year);else if(!o)return oo("month",n.month);else if(!c)return oo("day",n.day);else return!1}function rT(n){const{hour:i,minute:o,second:c,millisecond:p}=n,a=co(i,0,23)||i===24&&o===0&&c===0&&p===0,x=co(o,0,59),m=co(c,0,59),l=co(p,0,999);if(!a)return oo("hour",i);else if(!x)return oo("minute",o);else if(!m)return oo("second",c);else if(!l)return oo("millisecond",p);else return!1}function pn(n){return typeof n==="undefined"}function yc(n){return typeof n==="number"}function Om(n){return typeof n==="number"&&n%1===0}function aX(n){return typeof n==="string"}function xX(n){return Object.prototype.toString.call(n)==="[object Date]"}function ZT(){try{return typeof Intl!=="undefined"&&!!Intl.RelativeTimeFormat}catch(n){return!1}}function qT(){try{return typeof Intl!=="undefined"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(n){return!1}}function mX(n){return Array.isArray(n)?n:[n]}function nT(n,i,o){if(n.length===0)return;return n.reduce((c,p)=>{const a=[i(p),p];if(!c)return a;else if(o(c[0],a[0])===c[0])return c;else return a},null)[1]}function lX(n,i){return i.reduce((o,c)=>{return o[c]=n[c],o},{})}function Bp(n,i){return Object.prototype.hasOwnProperty.call(n,i)}function c$(n){if(n==null)return null;else if(typeof n!=="object")throw new Hi("Week settings must be an object");else{if(!co(n.firstDay,1,7)||!co(n.minimalDays,1,7)||!Array.isArray(n.weekend)||n.weekend.some((i)=>!co(i,1,7)))throw new Hi("Invalid week settings");return{firstDay:n.firstDay,minimalDays:n.minimalDays,weekend:Array.from(n.weekend)}}}function co(n,i,o){return Om(n)&&n>=i&&n<=o}function fX(n,i){return n-i*Math.floor(n/i)}function gn(n,i=2){const o=n<0;let c;if(o)c="-"+(""+-n).padStart(i,"0");else c=(""+n).padStart(i,"0");return c}function Sc(n){if(pn(n)||n===null||n==="")return;else return parseInt(n,10)}function jc(n){if(pn(n)||n===null||n==="")return;else return parseFloat(n)}function f$(n){if(pn(n)||n===null||n==="")return;else{const i=parseFloat("0."+n)*1000;return Math.floor(i)}}function $$(n,i,o=!1){const c=10**i;return(o?Math.trunc:Math.round)(n*c)/c}function Da(n){return n%4===0&&(n%100!==0||n%400===0)}function Np(n){return Da(n)?366:365}function Ym(n,i){const o=fX(i-1,12)+1,c=n+(i-o)/12;if(o===2)return Da(c)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][o-1]}function Hm(n){let i=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond);if(n.year<100&&n.year>=0)i=new Date(i),i.setUTCFullYear(n.year,n.month-1,n.day);return+i}function iT(n,i,o){return-l$(m$(n,1,i),o)+i-1}function ya(n,i=4,o=1){const c=iT(n,i,o),p=iT(n+1,i,o);return(Np(n)-c+p)/7}function p$(n){if(n>99)return n;else return n>In.twoDigitCutoffYear?1900+n:2000+n}function PT(n,i,o,c=null){const p=new Date(n),a={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(c)a.timeZone=c;const x={timeZoneName:i,...a},m=new Intl.DateTimeFormat(o,x).formatToParts(p).find((l)=>l.type.toLowerCase()==="timezonename");return m?m.value:null}function Em(n,i){let o=parseInt(n,10);if(Number.isNaN(o))o=0;const c=parseInt(i,10)||0,p=o<0||Object.is(o,-0)?-c:c;return o*60+p}function eT(n){const i=Number(n);if(typeof n==="boolean"||n===""||Number.isNaN(i))throw new Hi(`Invalid unit value ${n}`);return i}function um(n,i){const o={};for(let c in n)if(Bp(n,c)){const p=n[c];if(p===void 0||p===null)continue;o[i(c)]=eT(p)}return o}function Ba(n,i){const o=Math.trunc(Math.abs(n/60)),c=Math.trunc(Math.abs(n%60)),p=n>=0?"+":"-";switch(i){case"short":return`${p}${gn(o,2)}:${gn(c,2)}`;case"narrow":return`${p}${o}${c>0?`:${c}`:""}`;case"techie":return`${p}${gn(o,2)}${gn(c,2)}`;default:throw new RangeError(`Value format ${i} is out of range for property format`)}}function Qm(n){return lX(n,["hour","minute","second","millisecond"])}function dT(n){switch(n){case"narrow":return[...vX];case"short":return[...gT];case"long":return[...$X];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}function oM(n){switch(n){case"narrow":return[...wX];case"short":return[...iM];case"long":return[...nM];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}function pM(n){switch(n){case"narrow":return[...AX];case"short":return[...JX];case"long":return[...SX];default:return null}}function FX(n){return cM[n.hour<12?0:1]}function TX(n,i){return oM(i)[n.weekday-1]}function MX(n,i){return dT(i)[n.month-1]}function RX(n,i){return pM(i)[n.year<0?0:1]}function KX(n,i,o="always",c=!1){const p={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},a=["hours","minutes","seconds"].indexOf(n)===-1;if(o==="auto"&&a){const v=n==="days";switch(i){case 1:return v?"tomorrow":`next ${p[n][0]}`;case-1:return v?"yesterday":`last ${p[n][0]}`;case 0:return v?"today":`this ${p[n][0]}`}}const x=Object.is(i,-0)||i<0,m=Math.abs(i),l=m===1,f=p[n],$=c?l?f[1]:f[2]||f[1]:l?p[n][0]:n;return x?`${m} ${$} ago`:`in ${m} ${$}`}function oT(n,i){let o="";for(let c of n)if(c.literal)o+=c.val;else o+=i(c.val);return o}function yp(...n){const i=n.reduce((o,c)=>o+c.source,"");return RegExp(`^${i}\$`)}function hp(...n){return(i)=>n.reduce(([o,c,p],a)=>{const[x,m,l]=a(i,p);return[{...o,...x},m||c,l]},[{},null,1]).slice(0,2)}function Dp(n,...i){if(n==null)return[null,null];for(let[o,c]of i){const p=o.exec(n);if(p)return c(p)}return[null,null]}function xM(...n){return(i,o)=>{const c={};let p;for(p=0;p<n.length;p++)c[n[p]]=Sc(i[o+p]);return[c,null,o+p]}}function Lp(n,i,o){const c=n[i];return pn(c)?o:Sc(c)}function QX(n,i){return[{year:Lp(n,i),month:Lp(n,i+1,1),day:Lp(n,i+2,1)},null,i+3]}function Ip(n,i){return[{hours:Lp(n,i,0),minutes:Lp(n,i+1,0),seconds:Lp(n,i+2,0),milliseconds:f$(n[i+3])},null,i+4]}function Ia(n,i){const o=!n[i]&&!n[i+1],c=Em(n[i+1],n[i+2]),p=o?null:Ki.instance(c);return[{},p,i+3]}function ta(n,i){const o=n[i]?Qo.create(n[i]):null;return[{},o,i+1]}function bX(n){const[i,o,c,p,a,x,m,l,f]=n,$=i[0]==="-",v=l&&l[0]==="-",S=(T,R=!1)=>T!==void 0&&(R||T&&$)?-T:T;return[{years:S(jc(o)),months:S(jc(c)),weeks:S(jc(p)),days:S(jc(a)),hours:S(jc(x)),minutes:S(jc(m)),seconds:S(jc(l),l==="-0"),milliseconds:S(f$(f),v)}]}function S$(n,i,o,c,p,a,x){const m={year:i.length===2?p$(Sc(i)):Sc(i),month:gT.indexOf(o)+1,day:Sc(c),hour:Sc(p),minute:Sc(a)};if(x)m.second=Sc(x);if(n)m.weekday=n.length>3?nM.indexOf(n)+1:iM.indexOf(n)+1;return m}function jX(n){const[,i,o,c,p,a,x,m,l,f,$,v]=n,S=S$(i,p,c,o,a,x,m);let T;if(l)T=_X[l];else if(f)T=0;else T=Em($,v);return[S,new Ki(T)]}function NX(n){return n.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}function cT(n){const[,i,o,c,p,a,x,m]=n;return[S$(i,p,c,o,a,x,m),Ki.utcInstance]}function hX(n){const[,i,o,c,p,a,x,m]=n;return[S$(i,m,o,c,p,a,x),Ki.utcInstance]}function qX(n){return Dp(n,[DX,$M],[IX,kX],[tX,rX],[CX,ZX])}function PX(n){return Dp(NX(n),[sX,jX])}function eX(n){return Dp(n,[LX,cT],[BX,cT],[yX,hX])}function gX(n){return Dp(n,[VX,bX])}function n5(n){return Dp(n,[UX,dX])}function p5(n){return Dp(n,[i5,$M],[o5,c5])}function wc(n,i,o=!1){const c={values:o?i.values:{...n.values,...i.values||{}},loc:n.loc.clone(i.loc),conversionAccuracy:i.conversionAccuracy||n.conversionAccuracy,matrix:i.matrix||n.matrix};return new Mn(c)}function wM(n,i){var o;let c=(o=i.milliseconds)!=null?o:0;for(let p of m5.slice(1))if(i[p])c+=i[p]*n[p].milliseconds;return c}function aT(n,i){const o=wM(n,i)<0?-1:1;Bc.reduceRight((c,p)=>{if(!pn(i[p])){if(c){const a=i[c]*o,x=n[p][c],m=Math.floor(a/x);i[p]+=m*o,i[c]-=m*x*o}return p}else return c},null),Bc.reduce((c,p)=>{if(!pn(i[p])){if(c){const a=i[c]%1;i[c]-=a,i[p]+=a*n[c][p]}return p}else return c},null)}function l5(n){const i={};for(let[o,c]of Object.entries(n))if(c!==0)i[o]=c;return i}function f5(n,i){if(!n||!n.isValid)return Dn.invalid("missing or invalid start");else if(!i||!i.isValid)return Dn.invalid("missing or invalid end");else if(i<n)return Dn.invalid("end before start",`The end of an interval must be after its start, but you had start=${n.toISO()} and end=${i.toISO()}`);else return null}function xT(n,i){const o=(p)=>p.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),c=o(i)-o(n);return Math.floor(Mn.fromMillis(c).as("days"))}function $5(n,i,o){const c=[["years",(l,f)=>f.year-l.year],["quarters",(l,f)=>f.quarter-l.quarter+(f.year-l.year)*4],["months",(l,f)=>f.month-l.month+(f.year-l.year)*12],["weeks",(l,f)=>{const $=xT(l,f);return($-$%7)/7}],["days",xT]],p={},a=n;let x,m;for(let[l,f]of c)if(o.indexOf(l)>=0)if(x=l,p[l]=f(n,i),m=a.plus(p),m>i){if(p[l]--,n=a.plus(p),n>i)m=n,p[l]--,n=a.plus(p)}else n=m;return[n,p,m,x]}function v5(n,i,o,c){let[p,a,x,m]=$5(n,i,o);const l=i-p,f=o.filter((v)=>["hours","minutes","seconds","milliseconds"].indexOf(v)>=0);if(f.length===0){if(x<i)x=p.plus({[m]:1});if(x!==p)a[m]=(a[m]||0)+l/(x-p)}const $=Mn.fromObject(a,c);if(f.length>0)return Mn.fromMillis(l,c).shiftTo(...f).plus($);else return $}function S5(n){let i=parseInt(n,10);if(isNaN(i)){i="";for(let o=0;o<n.length;o++){const c=n.charCodeAt(o);if(n[o].search(J$.hanidec)!==-1)i+=w5.indexOf(n[o]);else for(let p in mT){const[a,x]=mT[p];if(c>=a&&c<=x)i+=c-a}}return parseInt(i,10)}else return i}function Ko({numberingSystem:n},i=""){return new RegExp(`${J$[n||"latn"]}${i}`)}function Wn(n,i=(o)=>o){return{regex:n,deser:([o])=>i(S5(o))}}function F5(n){return n.replace(/\./g,"\\.?").replace(JM,SM)}function lT(n){return n.replace(/\./g,"").replace(JM," ").toLowerCase()}function Wo(n,i){if(n===null)return null;else return{regex:RegExp(n.map(F5).join("|")),deser:([o])=>n.findIndex((c)=>lT(o)===lT(c))+i}}function fT(n,i){return{regex:n,deser:([,o,c])=>Em(o,c),groups:i}}function Tm(n){return{regex:n,deser:([i])=>i}}function T5(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function M5(n,i){const o=Ko(i),c=Ko(i,"{2}"),p=Ko(i,"{3}"),a=Ko(i,"{4}"),x=Ko(i,"{6}"),m=Ko(i,"{1,2}"),l=Ko(i,"{1,3}"),f=Ko(i,"{1,6}"),$=Ko(i,"{1,9}"),v=Ko(i,"{2,4}"),S=Ko(i,"{4,6}"),T=(X)=>({regex:RegExp(T5(X.val)),deser:([z])=>z,literal:!0}),F=((X)=>{if(n.literal)return T(X);switch(X.val){case"G":return Wo(i.eras("short"),0);case"GG":return Wo(i.eras("long"),0);case"y":return Wn(f);case"yy":return Wn(v,p$);case"yyyy":return Wn(a);case"yyyyy":return Wn(S);case"yyyyyy":return Wn(x);case"M":return Wn(m);case"MM":return Wn(c);case"MMM":return Wo(i.months("short",!0),1);case"MMMM":return Wo(i.months("long",!0),1);case"L":return Wn(m);case"LL":return Wn(c);case"LLL":return Wo(i.months("short",!1),1);case"LLLL":return Wo(i.months("long",!1),1);case"d":return Wn(m);case"dd":return Wn(c);case"o":return Wn(l);case"ooo":return Wn(p);case"HH":return Wn(c);case"H":return Wn(m);case"hh":return Wn(c);case"h":return Wn(m);case"mm":return Wn(c);case"m":return Wn(m);case"q":return Wn(m);case"qq":return Wn(c);case"s":return Wn(m);case"ss":return Wn(c);case"S":return Wn(l);case"SSS":return Wn(p);case"u":return Tm($);case"uu":return Tm(m);case"uuu":return Wn(o);case"a":return Wo(i.meridiems(),0);case"kkkk":return Wn(a);case"kk":return Wn(v,p$);case"W":return Wn(m);case"WW":return Wn(c);case"E":case"c":return Wn(o);case"EEE":return Wo(i.weekdays("short",!1),1);case"EEEE":return Wo(i.weekdays("long",!1),1);case"ccc":return Wo(i.weekdays("short",!0),1);case"cccc":return Wo(i.weekdays("long",!0),1);case"Z":case"ZZ":return fT(new RegExp(`([+-]${m.source})(?::(${c.source}))?`),2);case"ZZZ":return fT(new RegExp(`([+-]${m.source})(${c.source})?`),2);case"z":return Tm(/[a-z_+-/]{1,256}?/i);case" ":return Tm(/[^\S\n\r]/);default:return T(X)}})(n)||{invalidReason:J5};return F.token=n,F}function K5(n,i,o){const{type:c,value:p}=n;if(c==="literal"){const l=/^\s+$/.test(p);return{literal:!l,val:l?" ":p}}const a=i[c];let x=c;if(c==="hour")if(i.hour12!=null)x=i.hour12?"hour12":"hour24";else if(i.hourCycle!=null)if(i.hourCycle==="h11"||i.hourCycle==="h12")x="hour12";else x="hour24";else x=o.hour12?"hour12":"hour24";let m=R5[x];if(typeof m==="object")m=m[a];if(m)return{literal:!1,val:m};return}function W5(n){return[`^${n.map((o)=>o.regex).reduce((o,c)=>`${o}(${c.source})`,"")}\$`,n]}function X5(n,i,o){const c=n.match(i);if(c){const p={};let a=1;for(let x in o)if(Bp(o,x)){const m=o[x],l=m.groups?m.groups+1:1;if(!m.literal&&m.token)p[m.token.val[0]]=m.deser(c.slice(a,a+l));a+=l}return[c,p]}else return[c,{}]}function z5(n){const i=(a)=>{switch(a){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let o=null,c;if(!pn(n.z))o=Qo.create(n.z);if(!pn(n.Z)){if(!o)o=new Ki(n.Z);c=n.Z}if(!pn(n.q))n.M=(n.q-1)*3+1;if(!pn(n.h)){if(n.h<12&&n.a===1)n.h+=12;else if(n.h===12&&n.a===0)n.h=0}if(n.G===0&&n.y)n.y=-n.y;if(!pn(n.u))n.S=f$(n.u);return[Object.keys(n).reduce((a,x)=>{const m=i(x);if(m)a[m]=n[x];return a},{}),o,c]}function G5(){if(!Zf)Zf=mn.fromMillis(1555555555555);return Zf}function Y5(n,i){if(n.literal)return n;const o=Ri.macroTokenToFormatOpts(n.val),c=TM(o,i);if(c==null||c.includes(void 0))return n;return c}function AM(n,i){return Array.prototype.concat(...n.map((o)=>Y5(o,i)))}function FM(n,i,o){const c=AM(Ri.parseFormat(o),n),p=c.map((x)=>M5(x,n)),a=p.find((x)=>x.invalidReason);if(a)return{input:i,tokens:c,invalidReason:a.invalidReason};else{const[x,m]=W5(p),l=RegExp(x,"i"),[f,$]=X5(i,l,m),[v,S,T]=$?z5($):[null,null,void 0];if(Bp($,"a")&&Bp($,"H"))throw new Lc("Can't include meridiem when specifying 24-hour format");return{input:i,tokens:c,regex:l,rawMatches:f,matches:$,result:v,zone:S,specificOffset:T}}}function u5(n,i,o){const{result:c,zone:p,specificOffset:a,invalidReason:x}=FM(n,i,o);return[c,p,a,x]}function TM(n,i){if(!n)return null;const c=Ri.create(i,n).dtFormatter(G5()),p=c.formatToParts(),a=c.resolvedOptions();return p.map((x)=>K5(x,n,a))}function Mm(n){return new io("unsupported zone",`the zone "${n.name}" is not supported`)}function Pf(n){if(n.weekData===null)n.weekData=Gm(n.c);return n.weekData}function ef(n){if(n.localWeekData===null)n.localWeekData=Gm(n.c,n.loc.getMinDaysInFirstWeek(),n.loc.getStartOfWeek());return n.localWeekData}function Nc(n,i){const o={ts:n.ts,zone:n.zone,c:n.c,o:n.o,loc:n.loc,invalid:n.invalid};return new mn({...o,...i,old:o})}function MM(n,i,o){let c=n-i*60*1000;const p=o.offset(c);if(i===p)return[c,i];c-=(p-i)*60*1000;const a=o.offset(c);if(p===a)return[c,p];return[n-Math.min(p,a)*60*1000,Math.max(p,a)]}function Rm(n,i){n+=i*60*1000;const o=new Date(n);return{year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate(),hour:o.getUTCHours(),minute:o.getUTCMinutes(),second:o.getUTCSeconds(),millisecond:o.getUTCMilliseconds()}}function Xm(n,i,o){return MM(Hm(n),i,o)}function vT(n,i){const o=n.o,c=n.c.year+Math.trunc(i.years),p=n.c.month+Math.trunc(i.months)+Math.trunc(i.quarters)*3,a={...n.c,year:c,month:p,day:Math.min(n.c.day,Ym(c,p))+Math.trunc(i.days)+Math.trunc(i.weeks)*7},x=Mn.fromObject({years:i.years-Math.trunc(i.years),quarters:i.quarters-Math.trunc(i.quarters),months:i.months-Math.trunc(i.months),weeks:i.weeks-Math.trunc(i.weeks),days:i.days-Math.trunc(i.days),hours:i.hours,minutes:i.minutes,seconds:i.seconds,milliseconds:i.milliseconds}).as("milliseconds"),m=Hm(a);let[l,f]=MM(m,o,n.zone);if(x!==0)l+=x,f=n.zone.offset(l);return{ts:l,o:f}}function ja(n,i,o,c,p,a){const{setZone:x,zone:m}=o;if(n&&Object.keys(n).length!==0||i){const l=i||m,f=mn.fromObject(n,{...o,zone:l,specificOffset:a});return x?f:f.setZone(m)}else return mn.invalid(new io("unparsable",`the input "${p}" can't be parsed as ${c}`))}function Km(n,i,o=!0){return n.isValid?Ri.create(On.create("en-US"),{allowZ:o,forceSimple:!0}).formatDateTimeFromString(n,i):null}function gf(n,i){const o=n.c.year>9999||n.c.year<0;let c="";if(o&&n.c.year>=0)c+="+";if(c+=gn(n.c.year,o?6:4),i)c+="-",c+=gn(n.c.month),c+="-",c+=gn(n.c.day);else c+=gn(n.c.month),c+=gn(n.c.day);return c}function wT(n,i,o,c,p,a){let x=gn(n.c.hour);if(i){if(x+=":",x+=gn(n.c.minute),n.c.millisecond!==0||n.c.second!==0||!o)x+=":"}else x+=gn(n.c.minute);if(n.c.millisecond!==0||n.c.second!==0||!o){if(x+=gn(n.c.second),n.c.millisecond!==0||!c)x+=".",x+=gn(n.c.millisecond,3)}if(p)if(n.isOffsetFixed&&n.offset===0&&!a)x+="Z";else if(n.o<0)x+="-",x+=gn(Math.trunc(-n.o/60)),x+=":",x+=gn(Math.trunc(-n.o%60));else x+="+",x+=gn(Math.trunc(n.o/60)),x+=":",x+=gn(Math.trunc(n.o%60));if(a)x+="["+n.zone.ianaName+"]";return x}function U5(n){const i={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[n.toLowerCase()];if(!i)throw new a$(n);return i}function ST(n){switch(n.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return U5(n)}}function JT(n,i){const o=Jc(i.zone,In.defaultZone),c=On.fromObject(i),p=In.now();let a,x;if(!pn(n.year)){for(let f of KM)if(pn(n[f]))n[f]=RM[f];const m=kT(n)||rT(n);if(m)return mn.invalid(m);const l=o.offset(p);[a,x]=Xm(n,l,o)}else a=p;return new mn({ts:a,zone:o,loc:c,o:x})}function AT(n,i,o){const c=pn(o.round)?!0:o.round,p=(x,m)=>{return x=$$(x,c||o.calendary?0:2,!0),i.loc.clone(o).relFormatter(o).format(x,m)},a=(x)=>{if(o.calendary)if(!i.hasSame(n,x))return i.startOf(x).diff(n.startOf(x),x).get(x);else return 0;else return i.diff(n,x).get(x)};if(o.unit)return p(a(o.unit),o.unit);for(let x of o.units){const m=a(x);if(Math.abs(m)>=1)return p(m,x)}return p(n>i?-0:0,o.units[o.units.length-1])}function FT(n){let i={},o;if(n.length>0&&typeof n[n.length-1]==="object")i=n[n.length-1],o=Array.from(n).slice(0,n.length-1);else o=Array.from(n);return[i,o]}function Na(n){if(mn.isDateTime(n))return n;else if(n&&n.valueOf&&yc(n.valueOf()))return mn.fromJSDate(n);else if(n&&typeof n==="object")return mn.fromObject(n);else throw new Hi(`Unknown datetime argument: ${n}, of type ${typeof n}`)}Object.defineProperty(WM,"__esModule",{value:!0});class Ac extends Error{}class TT extends Ac{constructor(n){super(`Invalid DateTime: ${n.toMessage()}`)}}class MT extends Ac{constructor(n){super(`Invalid Interval: ${n.toMessage()}`)}}class RT extends Ac{constructor(n){super(`Invalid Duration: ${n.toMessage()}`)}}class Lc extends Ac{}class a$ extends Ac{constructor(n){super(`Invalid unit ${n}`)}}class Hi extends Ac{}class Do extends Ac{constructor(){super("Zone is an abstract class")}}var L="numeric",Xo="short",ti="long",zm={year:L,month:L,day:L},KT={year:L,month:Xo,day:L},y3={year:L,month:Xo,day:L,weekday:Xo},WT={year:L,month:ti,day:L},XT={year:L,month:ti,day:L,weekday:ti},zT={hour:L,minute:L},GT={hour:L,minute:L,second:L},YT={hour:L,minute:L,second:L,timeZoneName:Xo},uT={hour:L,minute:L,second:L,timeZoneName:ti},OT={hour:L,minute:L,hourCycle:"h23"},HT={hour:L,minute:L,second:L,hourCycle:"h23"},ET={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:Xo},QT={hour:L,minute:L,second:L,hourCycle:"h23",timeZoneName:ti},UT={year:L,month:L,day:L,hour:L,minute:L},VT={year:L,month:L,day:L,hour:L,minute:L,second:L},bT={year:L,month:Xo,day:L,hour:L,minute:L},_T={year:L,month:Xo,day:L,hour:L,minute:L,second:L},h3={year:L,month:Xo,day:L,weekday:Xo,hour:L,minute:L},sT={year:L,month:ti,day:L,hour:L,minute:L,timeZoneName:Xo},jT={year:L,month:ti,day:L,hour:L,minute:L,second:L,timeZoneName:Xo},NT={year:L,month:ti,day:L,weekday:ti,hour:L,minute:L,timeZoneName:ti},LT={year:L,month:ti,day:L,weekday:ti,hour:L,minute:L,second:L,timeZoneName:ti};class hc{get type(){throw new Do}get name(){throw new Do}get ianaName(){return this.name}get isUniversal(){throw new Do}offsetName(n,i){throw new Do}formatOffset(n,i){throw new Do}offset(n){throw new Do}equals(n){throw new Do}get isValid(){throw new Do}}var Cf=null;class ha extends hc{static get instance(){if(Cf===null)Cf=new ha;return Cf}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return PT(n,i,o)}formatOffset(n,i){return Ba(this.offset(n),i)}offset(n){return-new Date(n).getTimezoneOffset()}equals(n){return n.type==="system"}get isValid(){return!0}}var Wm={},I3={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6},Am={};class Qo extends hc{static create(n){if(!Am[n])Am[n]=new Qo(n);return Am[n]}static resetCache(){Am={},Wm={}}static isValidSpecifier(n){return this.isValidZone(n)}static isValidZone(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}).format(),!0}catch(i){return!1}}constructor(n){super();this.zoneName=n,this.valid=Qo.isValidZone(n)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(n,{format:i,locale:o}){return PT(n,i,o,this.name)}formatOffset(n,i){return Ba(this.offset(n),i)}offset(n){const i=new Date(n);if(isNaN(i))return NaN;const o=D3(this.name);let[c,p,a,x,m,l,f]=o.formatToParts?C3(o,i):t3(o,i);if(x==="BC")c=-Math.abs(c)+1;const v=Hm({year:c,month:p,day:a,hour:m===24?0:m,minute:l,second:f,millisecond:0});let S=+i;const T=S%1000;return S-=T>=0?T:1000+T,(v-S)/60000}equals(n){return n.type==="iana"&&n.name===this.name}get isValid(){return this.valid}}var hF={},df={},i$={},o$={},La=null,DF={};class BT{constructor(n,i,o){this.padTo=o.padTo||0,this.floor=o.floor||!1;const{padTo:c,floor:p,...a}=o;if(!i||Object.keys(a).length>0){const x={useGrouping:!1,...o};if(o.padTo>0)x.minimumIntegerDigits=o.padTo;this.inf=r3(n,x)}}format(n){if(this.inf){const i=this.floor?Math.floor(n):n;return this.inf.format(i)}else{const i=this.floor?Math.floor(n):$$(n,3);return gn(i,this.padTo)}}}class yT{constructor(n,i,o){this.opts=o,this.originalZone=void 0;let c=void 0;if(this.opts.timeZone)this.dt=n;else if(n.zone.type==="fixed"){const a=-1*(n.offset/60),x=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;if(n.offset!==0&&Qo.create(x).valid)c=x,this.dt=n;else c="UTC",this.dt=n.offset===0?n:n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone}else if(n.zone.type==="system")this.dt=n;else if(n.zone.type==="iana")this.dt=n,c=n.zone.name;else c="UTC",this.dt=n.setZone("UTC").plus({minutes:n.offset}),this.originalZone=n.zone;const p={...this.opts};p.timeZone=p.timeZone||c,this.dtf=n$(i,p)}format(){if(this.originalZone)return this.formatToParts().map(({value:n})=>n).join("");return this.dtf.format(this.dt.toJSDate())}formatToParts(){const n=this.dtf.formatToParts(this.dt.toJSDate());if(this.originalZone)return n.map((i)=>{if(i.type==="timeZoneName"){const o=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...i,value:o}}else return i});return n}resolvedOptions(){return this.dtf.resolvedOptions()}}class hT{constructor(n,i,o){if(this.opts={style:"long",...o},!i&&ZT())this.rtf=Z3(n,o)}format(n,i){if(this.rtf)return this.rtf.format(n,i);else return KX(i,n,this.opts.numeric,this.opts.style!=="long")}formatToParts(n,i){if(this.rtf)return this.rtf.formatToParts(n,i);else return[]}}var oX={firstDay:1,minimalDays:4,weekend:[6,7]};class On{static fromOpts(n){return On.create(n.locale,n.numberingSystem,n.outputCalendar,n.weekSettings,n.defaultToEN)}static create(n,i,o,c,p=!1){const a=n||In.defaultLocale,x=a||(p?"en-US":q3()),m=i||In.defaultNumberingSystem,l=o||In.defaultOutputCalendar,f=c$(c)||In.defaultWeekSettings;return new On(x,m,l,f,a)}static resetCache(){La=null,df={},i$={},o$={}}static fromObject({locale:n,numberingSystem:i,outputCalendar:o,weekSettings:c}={}){return On.create(n,i,o,c)}constructor(n,i,o,c,p){const[a,x,m]=e3(n);this.locale=a,this.numberingSystem=i||x||null,this.outputCalendar=o||m||null,this.weekSettings=c,this.intl=g3(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=p,this.fastNumbersCached=null}get fastNumbers(){if(this.fastNumbersCached==null)this.fastNumbersCached=iX(this);return this.fastNumbersCached}listingMode(){const n=this.isEnglish(),i=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return n&&i?"en":"intl"}clone(n){if(!n||Object.getOwnPropertyNames(n).length===0)return this;else return On.create(n.locale||this.specifiedLocale,n.numberingSystem||this.numberingSystem,n.outputCalendar||this.outputCalendar,c$(n.weekSettings)||this.weekSettings,n.defaultToEN||!1)}redefaultToEN(n={}){return this.clone({...n,defaultToEN:!0})}redefaultToSystem(n={}){return this.clone({...n,defaultToEN:!1})}months(n,i=!1){return Fm(this,n,dT,()=>{const o=i?{month:n,day:"numeric"}:{month:n},c=i?"format":"standalone";if(!this.monthsCache[c][n])this.monthsCache[c][n]=d3((p)=>this.extract(p,o,"month"));return this.monthsCache[c][n]})}weekdays(n,i=!1){return Fm(this,n,oM,()=>{const o=i?{weekday:n,year:"numeric",month:"long",day:"numeric"}:{weekday:n},c=i?"format":"standalone";if(!this.weekdaysCache[c][n])this.weekdaysCache[c][n]=nX((p)=>this.extract(p,o,"weekday"));return this.weekdaysCache[c][n]})}meridiems(){return Fm(this,void 0,()=>cM,()=>{if(!this.meridiemCache){const n={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[mn.utc(2016,11,13,9),mn.utc(2016,11,13,19)].map((i)=>this.extract(i,n,"dayperiod"))}return this.meridiemCache})}eras(n){return Fm(this,n,pM,()=>{const i={era:n};if(!this.eraCache[n])this.eraCache[n]=[mn.utc(-40,1,1),mn.utc(2017,1,1)].map((o)=>this.extract(o,i,"era"));return this.eraCache[n]})}extract(n,i,o){const c=this.dtFormatter(n,i),p=c.formatToParts(),a=p.find((x)=>x.type.toLowerCase()===o);return a?a.value:null}numberFormatter(n={}){return new BT(this.intl,n.forceSimple||this.fastNumbers,n)}dtFormatter(n,i={}){return new yT(n,this.intl,i)}relFormatter(n={}){return new hT(this.intl,this.isEnglish(),n)}listFormatter(n={}){return k3(this.intl,n)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!qT())return oX;else return P3(this.locale)}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(n){return this.locale===n.locale&&this.numberingSystem===n.numberingSystem&&this.outputCalendar===n.outputCalendar}}var kf=null;class Ki extends hc{static get utcInstance(){if(kf===null)kf=new Ki(0);return kf}static instance(n){return n===0?Ki.utcInstance:new Ki(n)}static parseSpecifier(n){if(n){const i=n.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(i)return new Ki(Em(i[1],i[2]))}return null}constructor(n){super();this.fixed=n}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Ba(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${Ba(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(n,i){return Ba(this.fixed,i)}get isUniversal(){return!0}offset(){return this.fixed}equals(n){return n.type==="fixed"&&n.fixed===this.fixed}get isValid(){return!0}}class x$ extends hc{constructor(n){super();this.zoneName=n}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}var IF=()=>Date.now(),tF="system",CF=null,kF=null,rF=null,ZF=60,qF,PF=null;class In{static get now(){return IF}static set now(n){IF=n}static set defaultZone(n){tF=n}static get defaultZone(){return Jc(tF,ha.instance)}static get defaultLocale(){return CF}static set defaultLocale(n){CF=n}static get defaultNumberingSystem(){return kF}static set defaultNumberingSystem(n){kF=n}static get defaultOutputCalendar(){return rF}static set defaultOutputCalendar(n){rF=n}static get defaultWeekSettings(){return PF}static set defaultWeekSettings(n){PF=c$(n)}static get twoDigitCutoffYear(){return ZF}static set twoDigitCutoffYear(n){ZF=n%100}static get throwOnInvalid(){return qF}static set throwOnInvalid(n){qF=n}static resetCaches(){On.resetCache(),Qo.resetCache()}}class io{constructor(n,i){this.reason=n,this.explanation=i}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var DT=[0,31,59,90,120,151,181,212,243,273,304,334],IT=[0,31,60,91,121,152,182,213,244,274,305,335],$X=["January","February","March","April","May","June","July","August","September","October","November","December"],gT=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],vX=["J","F","M","A","M","J","J","A","S","O","N","D"],nM=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],iM=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],wX=["M","T","W","T","F","S","S"],cM=["AM","PM"],SX=["Before Christ","Anno Domini"],JX=["BC","AD"],AX=["B","A"],WX={D:zm,DD:KT,DDD:WT,DDDD:XT,t:zT,tt:GT,ttt:YT,tttt:uT,T:OT,TT:HT,TTT:ET,TTTT:QT,f:UT,ff:bT,fff:sT,ffff:NT,F:VT,FF:_T,FFF:jT,FFFF:LT};class Ri{static create(n,i={}){return new Ri(n,i)}static parseFormat(n){let i=null,o="",c=!1;const p=[];for(let a=0;a<n.length;a++){const x=n.charAt(a);if(x==="'"){if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});i=null,o="",c=!c}else if(c)o+=x;else if(x===i)o+=x;else{if(o.length>0)p.push({literal:/^\s+$/.test(o),val:o});o=x,i=x}}if(o.length>0)p.push({literal:c||/^\s+$/.test(o),val:o});return p}static macroTokenToFormatOpts(n){return WX[n]}constructor(n,i){this.opts=i,this.loc=n,this.systemLoc=null}formatWithSystemDefault(n,i){if(this.systemLoc===null)this.systemLoc=this.loc.redefaultToSystem();return this.systemLoc.dtFormatter(n,{...this.opts,...i}).format()}dtFormatter(n,i={}){return this.loc.dtFormatter(n,{...this.opts,...i})}formatDateTime(n,i){return this.dtFormatter(n,i).format()}formatDateTimeParts(n,i){return this.dtFormatter(n,i).formatToParts()}formatInterval(n,i){return this.dtFormatter(n.start,i).dtf.formatRange(n.start.toJSDate(),n.end.toJSDate())}resolvedOptions(n,i){return this.dtFormatter(n,i).resolvedOptions()}num(n,i=0){if(this.opts.forceSimple)return gn(n,i);const o={...this.opts};if(i>0)o.padTo=i;return this.loc.numberFormatter(o).format(n)}formatDateTimeFromString(n,i){const o=this.loc.listingMode()==="en",c=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",p=(S,T)=>this.loc.extract(n,S,T),a=(S)=>{if(n.isOffsetFixed&&n.offset===0&&S.allowZ)return"Z";return n.isValid?n.zone.formatOffset(n.ts,S.format):""},x=()=>o?FX(n):p({hour:"numeric",hourCycle:"h12"},"dayperiod"),m=(S,T)=>o?MX(n,S):p(T?{month:S}:{month:S,day:"numeric"},"month"),l=(S,T)=>o?TX(n,S):p(T?{weekday:S}:{weekday:S,month:"long",day:"numeric"},"weekday"),f=(S)=>{const T=Ri.macroTokenToFormatOpts(S);if(T)return this.formatWithSystemDefault(n,T);else return S},$=(S)=>o?RX(n,S):p({era:S},"era"),v=(S)=>{switch(S){case"S":return this.num(n.millisecond);case"u":case"SSS":return this.num(n.millisecond,3);case"s":return this.num(n.second);case"ss":return this.num(n.second,2);case"uu":return this.num(Math.floor(n.millisecond/10),2);case"uuu":return this.num(Math.floor(n.millisecond/100));case"m":return this.num(n.minute);case"mm":return this.num(n.minute,2);case"h":return this.num(n.hour%12===0?12:n.hour%12);case"hh":return this.num(n.hour%12===0?12:n.hour%12,2);case"H":return this.num(n.hour);case"HH":return this.num(n.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return n.zone.offsetName(n.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return n.zone.offsetName(n.ts,{format:"long",locale:this.loc.locale});case"z":return n.zoneName;case"a":return x();case"d":return c?p({day:"numeric"},"day"):this.num(n.day);case"dd":return c?p({day:"2-digit"},"day"):this.num(n.day,2);case"c":return this.num(n.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(n.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return c?p({month:"numeric",day:"numeric"},"month"):this.num(n.month);case"LL":return c?p({month:"2-digit",day:"numeric"},"month"):this.num(n.month,2);case"LLL":return m("short",!0);case"LLLL":return m("long",!0);case"LLLLL":return m("narrow",!0);case"M":return c?p({month:"numeric"},"month"):this.num(n.month);case"MM":return c?p({month:"2-digit"},"month"):this.num(n.month,2);case"MMM":return m("short",!1);case"MMMM":return m("long",!1);case"MMMMM":return m("narrow",!1);case"y":return c?p({year:"numeric"},"year"):this.num(n.year);case"yy":return c?p({year:"2-digit"},"year"):this.num(n.year.toString().slice(-2),2);case"yyyy":return c?p({year:"numeric"},"year"):this.num(n.year,4);case"yyyyyy":return c?p({year:"numeric"},"year"):this.num(n.year,6);case"G":return $("short");case"GG":return $("long");case"GGGGG":return $("narrow");case"kk":return this.num(n.weekYear.toString().slice(-2),2);case"kkkk":return this.num(n.weekYear,4);case"W":return this.num(n.weekNumber);case"WW":return this.num(n.weekNumber,2);case"n":return this.num(n.localWeekNumber);case"nn":return this.num(n.localWeekNumber,2);case"ii":return this.num(n.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(n.localWeekYear,4);case"o":return this.num(n.ordinal);case"ooo":return this.num(n.ordinal,3);case"q":return this.num(n.quarter);case"qq":return this.num(n.quarter,2);case"X":return this.num(Math.floor(n.ts/1000));case"x":return this.num(n.ts);default:return f(S)}};return oT(Ri.parseFormat(i),v)}formatDurationFromString(n,i){const o=(m)=>{switch(m[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},c=(m)=>(l)=>{const f=o(l);if(f)return this.num(m.get(f),l.length);else return l},p=Ri.parseFormat(i),a=p.reduce((m,{literal:l,val:f})=>l?m:m.concat(f),[]),x=n.shiftTo(...a.map(o).filter((m)=>m));return oT(p,c(x))}}var aM=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/,mM=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,XX=`(?:${mM.source}?(?:\\[(${aM.source})\\])?)?`,v$=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,lM=RegExp(`${v$.source}${XX}`),w$=RegExp(`(?:T${lM.source})?`),zX=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,GX=/(\d{4})-?W(\d\d)(?:-?(\d))?/,YX=/(\d{4})-?(\d{3})/,uX=xM("weekYear","weekNumber","weekDay"),OX=xM("year","ordinal"),HX=/(\d{4})-(\d\d)-(\d\d)/,fM=RegExp(`${v$.source} ?(?:${mM.source}|(${aM.source}))?`),EX=RegExp(`(?: ${fM.source})?`),UX=RegExp(`^T?${v$.source}\$`),VX=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/,_X={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480},sX=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/,LX=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,BX=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,yX=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/,DX=yp(zX,w$),IX=yp(GX,w$),tX=yp(YX,w$),CX=yp(lM),$M=hp(QX,Ip,Ia,ta),kX=hp(uX,Ip,Ia,ta),rX=hp(OX,Ip,Ia,ta),ZX=hp(Ip,Ia,ta),dX=hp(Ip),i5=yp(HX,EX),o5=yp(fM),c5=hp(Ip,Ia,ta),pT="Invalid Duration",vM={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:604800000},days:{hours:24,minutes:1440,seconds:86400,milliseconds:86400000},hours:{minutes:60,seconds:3600,milliseconds:3600000},minutes:{seconds:60,milliseconds:60000},seconds:{milliseconds:1000}},a5={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536000,milliseconds:31536000000},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:7862400000},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592000,milliseconds:2592000000},...vM},no=365.2425,_p=30.436875,x5={years:{quarters:4,months:12,weeks:no/7,days:no,hours:no*24,minutes:no*24*60,seconds:no*24*60*60,milliseconds:no*24*60*60*1000},quarters:{months:3,weeks:no/28,days:no/4,hours:no*24/4,minutes:no*24*60/4,seconds:no*24*60*60/4,milliseconds:no*24*60*60*1000/4},months:{weeks:_p/7,days:_p,hours:_p*24,minutes:_p*24*60,seconds:_p*24*60*60,milliseconds:_p*24*60*60*1000},...vM},Bc=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],m5=Bc.slice(0).reverse();class Mn{constructor(n){const i=n.conversionAccuracy==="longterm"||!1;let o=i?x5:a5;if(n.matrix)o=n.matrix;this.values=n.values,this.loc=n.loc||On.create(),this.conversionAccuracy=i?"longterm":"casual",this.invalid=n.invalid||null,this.matrix=o,this.isLuxonDuration=!0}static fromMillis(n,i){return Mn.fromObject({milliseconds:n},i)}static fromObject(n,i={}){if(n==null||typeof n!=="object")throw new Hi(`Duration.fromObject: argument expected to be an object, got ${n===null?"null":typeof n}`);return new Mn({values:um(n,Mn.normalizeUnit),loc:On.fromObject(i),conversionAccuracy:i.conversionAccuracy,matrix:i.matrix})}static fromDurationLike(n){if(yc(n))return Mn.fromMillis(n);else if(Mn.isDuration(n))return n;else if(typeof n==="object")return Mn.fromObject(n);else throw new Hi(`Unknown duration argument ${n} of type ${typeof n}`)}static fromISO(n,i){const[o]=gX(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static fromISOTime(n,i){const[o]=n5(n);if(o)return Mn.fromObject(o,i);else return Mn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the Duration is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new RT(o);else return new Mn({invalid:o})}static normalizeUnit(n){const i={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[n?n.toLowerCase():n];if(!i)throw new a$(n);return i}static isDuration(n){return n&&n.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(n,i={}){const o={...i,floor:i.round!==!1&&i.floor!==!1};return this.isValid?Ri.create(this.loc,o).formatDurationFromString(this,n):pT}toHuman(n={}){if(!this.isValid)return pT;const i=Bc.map((o)=>{const c=this.values[o];if(pn(c))return null;return this.loc.numberFormatter({style:"unit",unitDisplay:"long",...n,unit:o.slice(0,-1)}).format(c)}).filter((o)=>o);return this.loc.listFormatter({type:"conjunction",style:n.listStyle||"narrow",...n}).format(i)}toObject(){if(!this.isValid)return{};return{...this.values}}toISO(){if(!this.isValid)return null;let n="P";if(this.years!==0)n+=this.years+"Y";if(this.months!==0||this.quarters!==0)n+=this.months+this.quarters*3+"M";if(this.weeks!==0)n+=this.weeks+"W";if(this.days!==0)n+=this.days+"D";if(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)n+="T";if(this.hours!==0)n+=this.hours+"H";if(this.minutes!==0)n+=this.minutes+"M";if(this.seconds!==0||this.milliseconds!==0)n+=$$(this.seconds+this.milliseconds/1000,3)+"S";if(n==="P")n+="T0S";return n}toISOTime(n={}){if(!this.isValid)return null;const i=this.toMillis();if(i<0||i>=86400000)return null;return n={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...n,includeOffset:!1},mn.fromMillis(i,{zone:"UTC"}).toISOTime(n)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Duration { values: ${JSON.stringify(this.values)} }`;else return`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){if(!this.isValid)return NaN;return wM(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n),o={};for(let c of Bc)if(Bp(i.values,c)||Bp(this.values,c))o[c]=i.get(c)+this.get(c);return wc(this,{values:o},!0)}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return this.plus(i.negate())}mapUnits(n){if(!this.isValid)return this;const i={};for(let o of Object.keys(this.values))i[o]=eT(n(this.values[o],o));return wc(this,{values:i},!0)}get(n){return this[Mn.normalizeUnit(n)]}set(n){if(!this.isValid)return this;const i={...this.values,...um(n,Mn.normalizeUnit)};return wc(this,{values:i})}reconfigure({locale:n,numberingSystem:i,conversionAccuracy:o,matrix:c}={}){const a={loc:this.loc.clone({locale:n,numberingSystem:i}),matrix:c,conversionAccuracy:o};return wc(this,a)}as(n){return this.isValid?this.shiftTo(n).get(n):NaN}normalize(){if(!this.isValid)return this;const n=this.toObject();return aT(this.matrix,n),wc(this,{values:n},!0)}rescale(){if(!this.isValid)return this;const n=l5(this.normalize().shiftToAll().toObject());return wc(this,{values:n},!0)}shiftTo(...n){if(!this.isValid)return this;if(n.length===0)return this;n=n.map((a)=>Mn.normalizeUnit(a));const i={},o={},c=this.toObject();let p;for(let a of Bc)if(n.indexOf(a)>=0){p=a;let x=0;for(let l in o)x+=this.matrix[l][a]*o[l],o[l]=0;if(yc(c[a]))x+=c[a];const m=Math.trunc(x);i[a]=m,o[a]=(x*1000-m*1000)/1000}else if(yc(c[a]))o[a]=c[a];for(let a in o)if(o[a]!==0)i[p]+=a===p?o[a]:o[a]/this.matrix[p][a];return aT(this.matrix,i),wc(this,{values:i},!0)}shiftToAll(){if(!this.isValid)return this;return this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds")}negate(){if(!this.isValid)return this;const n={};for(let i of Object.keys(this.values))n[i]=this.values[i]===0?0:-this.values[i];return wc(this,{values:n},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(n){if(!this.isValid||!n.isValid)return!1;if(!this.loc.equals(n.loc))return!1;function i(o,c){if(o===void 0||o===0)return c===void 0||c===0;return o===c}for(let o of Bc)if(!i(this.values[o],n.values[o]))return!1;return!0}}var sp="Invalid Interval";class Dn{constructor(n){this.s=n.start,this.e=n.end,this.invalid=n.invalid||null,this.isLuxonInterval=!0}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the Interval is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new MT(o);else return new Dn({invalid:o})}static fromDateTimes(n,i){const o=Na(n),c=Na(i),p=f5(o,c);if(p==null)return new Dn({start:o,end:c});else return p}static after(n,i){const o=Mn.fromDurationLike(i),c=Na(n);return Dn.fromDateTimes(c,c.plus(o))}static before(n,i){const o=Mn.fromDurationLike(i),c=Na(n);return Dn.fromDateTimes(c.minus(o),c)}static fromISO(n,i){const[o,c]=(n||"").split("/",2);if(o&&c){let p,a;try{p=mn.fromISO(o,i),a=p.isValid}catch(l){a=!1}let x,m;try{x=mn.fromISO(c,i),m=x.isValid}catch(l){m=!1}if(a&&m)return Dn.fromDateTimes(p,x);if(a){const l=Mn.fromISO(c,i);if(l.isValid)return Dn.after(p,l)}else if(m){const l=Mn.fromISO(o,i);if(l.isValid)return Dn.before(x,l)}}return Dn.invalid("unparsable",`the input "${n}" can't be parsed as ISO 8601`)}static isInterval(n){return n&&n.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(n="milliseconds"){return this.isValid?this.toDuration(...[n]).get(n):NaN}count(n="milliseconds",i){if(!this.isValid)return NaN;const o=this.start.startOf(n,i);let c;if(i!=null&&i.useLocaleWeeks)c=this.end.reconfigure({locale:o.locale});else c=this.end;return c=c.startOf(n,i),Math.floor(c.diff(o,n).get(n))+(c.valueOf()!==this.end.valueOf())}hasSame(n){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,n):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(n){if(!this.isValid)return!1;return this.s>n}isBefore(n){if(!this.isValid)return!1;return this.e<=n}contains(n){if(!this.isValid)return!1;return this.s<=n&&this.e>n}set({start:n,end:i}={}){if(!this.isValid)return this;return Dn.fromDateTimes(n||this.s,i||this.e)}splitAt(...n){if(!this.isValid)return[];const i=n.map(Na).filter((a)=>this.contains(a)).sort((a,x)=>a.toMillis()-x.toMillis()),o=[];let{s:c}=this,p=0;while(c<this.e){const a=i[p]||this.e,x=+a>+this.e?this.e:a;o.push(Dn.fromDateTimes(c,x)),c=x,p+=1}return o}splitBy(n){const i=Mn.fromDurationLike(n);if(!this.isValid||!i.isValid||i.as("milliseconds")===0)return[];let{s:o}=this,c=1,p;const a=[];while(o<this.e){const x=this.start.plus(i.mapUnits((m)=>m*c));p=+x>+this.e?this.e:x,a.push(Dn.fromDateTimes(o,p)),o=p,c+=1}return a}divideEqually(n){if(!this.isValid)return[];return this.splitBy(this.length()/n).slice(0,n)}overlaps(n){return this.e>n.s&&this.s<n.e}abutsStart(n){if(!this.isValid)return!1;return+this.e===+n.s}abutsEnd(n){if(!this.isValid)return!1;return+n.e===+this.s}engulfs(n){if(!this.isValid)return!1;return this.s<=n.s&&this.e>=n.e}equals(n){if(!this.isValid||!n.isValid)return!1;return this.s.equals(n.s)&&this.e.equals(n.e)}intersection(n){if(!this.isValid)return this;const i=this.s>n.s?this.s:n.s,o=this.e<n.e?this.e:n.e;if(i>=o)return null;else return Dn.fromDateTimes(i,o)}union(n){if(!this.isValid)return this;const i=this.s<n.s?this.s:n.s,o=this.e>n.e?this.e:n.e;return Dn.fromDateTimes(i,o)}static merge(n){const[i,o]=n.sort((c,p)=>c.s-p.s).reduce(([c,p],a)=>{if(!p)return[c,a];else if(p.overlaps(a)||p.abutsStart(a))return[c,p.union(a)];else return[c.concat([p]),a]},[[],null]);if(o)i.push(o);return i}static xor(n){let i=null,o=0;const c=[],p=n.map((m)=>[{time:m.s,type:"s"},{time:m.e,type:"e"}]),a=Array.prototype.concat(...p),x=a.sort((m,l)=>m.time-l.time);for(let m of x)if(o+=m.type==="s"?1:-1,o===1)i=m.time;else{if(i&&+i!==+m.time)c.push(Dn.fromDateTimes(i,m.time));i=null}return Dn.merge(c)}difference(...n){return Dn.xor([this].concat(n)).map((i)=>this.intersection(i)).filter((i)=>i&&!i.isEmpty())}toString(){if(!this.isValid)return sp;return`[${this.s.toISO()} \u2013 ${this.e.toISO()})`}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;else return`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(n=zm,i={}){return this.isValid?Ri.create(this.s.loc.clone(i),n).formatInterval(this):sp}toISO(n){if(!this.isValid)return sp;return`${this.s.toISO(n)}/${this.e.toISO(n)}`}toISODate(){if(!this.isValid)return sp;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(n){if(!this.isValid)return sp;return`${this.s.toISOTime(n)}/${this.e.toISOTime(n)}`}toFormat(n,{separator:i=" \u2013 "}={}){if(!this.isValid)return sp;return`${this.s.toFormat(n)}${i}${this.e.toFormat(n)}`}toDuration(n,i){if(!this.isValid)return Mn.invalid(this.invalidReason);return this.e.diff(this.s,n,i)}mapEndpoints(n){return Dn.fromDateTimes(n(this.s),n(this.e))}}class jp{static hasDST(n=In.defaultZone){const i=mn.now().setZone(n).set({month:12});return!n.isUniversal&&i.offset!==i.set({month:6}).offset}static isValidIANAZone(n){return Qo.isValidZone(n)}static normalizeZone(n){return Jc(n,In.defaultZone)}static getStartOfWeek({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:n=null,locObj:i=null}={}){return(i||On.create(n)).getWeekendDays().slice()}static months(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||On.create(i,o,p)).months(n)}static monthsFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null,outputCalendar:p="gregory"}={}){return(c||On.create(i,o,p)).months(n,!0)}static weekdays(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||On.create(i,o,null)).weekdays(n)}static weekdaysFormat(n="long",{locale:i=null,numberingSystem:o=null,locObj:c=null}={}){return(c||On.create(i,o,null)).weekdays(n,!0)}static meridiems({locale:n=null}={}){return On.create(n).meridiems()}static eras(n="short",{locale:i=null}={}){return On.create(i,null,"gregory").eras(n)}static features(){return{relative:ZT(),localeWeek:qT()}}}var J$={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},mT={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},w5=J$.hanidec.replace(/[\[|\]]/g,"").split(""),J5="missing Intl.DateTimeFormat.formatToParts support",A5=String.fromCharCode(160),SM=`[ ${A5}]`,JM=new RegExp(SM,"g"),R5={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}},Zf=null,qf="Invalid DateTime",$T=8640000000000000,RM={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},O5={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},H5={ordinal:1,hour:0,minute:0,second:0,millisecond:0},KM=["year","month","day","hour","minute","second","millisecond"],E5=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Q5=["year","ordinal","hour","minute","second","millisecond"];class mn{constructor(n){const i=n.zone||In.defaultZone;let o=n.invalid||(Number.isNaN(n.ts)?new io("invalid input"):null)||(!i.isValid?Mm(i):null);this.ts=pn(n.ts)?In.now():n.ts;let c=null,p=null;if(!o)if(n.old&&n.old.ts===this.ts&&n.old.zone.equals(i))[c,p]=[n.old.c,n.old.o];else{const x=i.offset(this.ts);c=Rm(this.ts,x),o=Number.isNaN(c.year)?new io("invalid input"):null,c=o?null:c,p=o?null:x}this._zone=i,this.loc=n.loc||On.create(),this.invalid=o,this.weekData=null,this.localWeekData=null,this.c=c,this.o=p,this.isLuxonDateTime=!0}static now(){return new mn({})}static local(){const[n,i]=FT(arguments),[o,c,p,a,x,m,l]=i;return JT({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static utc(){const[n,i]=FT(arguments),[o,c,p,a,x,m,l]=i;return n.zone=Ki.utcInstance,JT({year:o,month:c,day:p,hour:a,minute:x,second:m,millisecond:l},n)}static fromJSDate(n,i={}){const o=xX(n)?n.valueOf():NaN;if(Number.isNaN(o))return mn.invalid("invalid input");const c=Jc(i.zone,In.defaultZone);if(!c.isValid)return mn.invalid(Mm(c));return new mn({ts:o,zone:c,loc:On.fromObject(i)})}static fromMillis(n,i={}){if(!yc(n))throw new Hi(`fromMillis requires a numerical input, but received a ${typeof n} with value ${n}`);else if(n<-$T||n>$T)return mn.invalid("Timestamp out of range");else return new mn({ts:n,zone:Jc(i.zone,In.defaultZone),loc:On.fromObject(i)})}static fromSeconds(n,i={}){if(!yc(n))throw new Hi("fromSeconds requires a numerical input");else return new mn({ts:n*1000,zone:Jc(i.zone,In.defaultZone),loc:On.fromObject(i)})}static fromObject(n,i={}){n=n||{};const o=Jc(i.zone,In.defaultZone);if(!o.isValid)return mn.invalid(Mm(o));const c=On.fromObject(i),p=um(n,ST),{minDaysInFirstWeek:a,startOfWeek:x}=dF(p,c),m=In.now(),l=!pn(i.specificOffset)?i.specificOffset:o.offset(m),f=!pn(p.ordinal),$=!pn(p.year),v=!pn(p.month)||!pn(p.day),S=$||v,T=p.weekYear||p.weekNumber;if((S||f)&&T)throw new Lc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(v&&f)throw new Lc("Can't mix ordinal dates with month/day");const R=T||p.weekday&&!S;let F,X,z=Rm(m,l);if(R)F=E5,X=O5,z=Gm(z,a,x);else if(f)F=Q5,X=H5,z=rf(z);else F=KM,X=RM;let Y=!1;for(let V of F){const K=p[V];if(!pn(K))Y=!0;else if(Y)p[V]=X[V];else p[V]=z[V]}const E=R?cX(p,a,x):f?pX(p):kT(p),s=E||rT(p);if(s)return mn.invalid(s);const G=R?eF(p,a,x):f?gF(p):p,[M,O]=Xm(G,l,o),U=new mn({ts:M,zone:o,o:O,loc:c});if(p.weekday&&S&&n.weekday!==U.weekday)return mn.invalid("mismatched weekday",`you can't specify both a weekday of ${p.weekday} and a date of ${U.toISO()}`);return U}static fromISO(n,i={}){const[o,c]=qX(n);return ja(o,c,i,"ISO 8601",n)}static fromRFC2822(n,i={}){const[o,c]=PX(n);return ja(o,c,i,"RFC 2822",n)}static fromHTTP(n,i={}){const[o,c]=eX(n);return ja(o,c,i,"HTTP",i)}static fromFormat(n,i,o={}){if(pn(n)||pn(i))throw new Hi("fromFormat requires an input string and a format");const{locale:c=null,numberingSystem:p=null}=o,a=On.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0}),[x,m,l,f]=u5(a,n,i);if(f)return mn.invalid(f);else return ja(x,m,o,`format ${i}`,n,l)}static fromString(n,i,o={}){return mn.fromFormat(n,i,o)}static fromSQL(n,i={}){const[o,c]=p5(n);return ja(o,c,i,"SQL",n)}static invalid(n,i=null){if(!n)throw new Hi("need to specify a reason the DateTime is invalid");const o=n instanceof io?n:new io(n,i);if(In.throwOnInvalid)throw new TT(o);else return new mn({invalid:o})}static isDateTime(n){return n&&n.isLuxonDateTime||!1}static parseFormatForOpts(n,i={}){const o=TM(n,On.fromObject(i));return!o?null:o.map((c)=>c?c.val:null).join("")}static expandFormat(n,i={}){return AM(Ri.parseFormat(n),On.fromObject(i)).map((c)=>c.val).join("")}get(n){return this[n]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Pf(this).weekYear:NaN}get weekNumber(){return this.isValid?Pf(this).weekNumber:NaN}get weekday(){return this.isValid?Pf(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?ef(this).weekday:NaN}get localWeekNumber(){return this.isValid?ef(this).weekNumber:NaN}get localWeekYear(){return this.isValid?ef(this).weekYear:NaN}get ordinal(){return this.isValid?rf(this.c).ordinal:NaN}get monthShort(){return this.isValid?jp.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?jp.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?jp.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?jp.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"short",locale:this.locale});else return null}get offsetNameLong(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"long",locale:this.locale});else return null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){if(this.isOffsetFixed)return!1;else return this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const n=86400000,i=60000,o=Hm(this.c),c=this.zone.offset(o-n),p=this.zone.offset(o+n),a=this.zone.offset(o-c*i),x=this.zone.offset(o-p*i);if(a===x)return[this];const m=o-a*i,l=o-x*i,f=Rm(m,a),$=Rm(l,x);if(f.hour===$.hour&&f.minute===$.minute&&f.second===$.second&&f.millisecond===$.millisecond)return[Nc(this,{ts:m}),Nc(this,{ts:l})];return[this]}get isInLeapYear(){return Da(this.year)}get daysInMonth(){return Ym(this.year,this.month)}get daysInYear(){return this.isValid?Np(this.year):NaN}get weeksInWeekYear(){return this.isValid?ya(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ya(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(n={}){const{locale:i,numberingSystem:o,calendar:c}=Ri.create(this.loc.clone(n),n).resolvedOptions(this);return{locale:i,numberingSystem:o,outputCalendar:c}}toUTC(n=0,i={}){return this.setZone(Ki.instance(n),i)}toLocal(){return this.setZone(In.defaultZone)}setZone(n,{keepLocalTime:i=!1,keepCalendarTime:o=!1}={}){if(n=Jc(n,In.defaultZone),n.equals(this.zone))return this;else if(!n.isValid)return mn.invalid(Mm(n));else{let c=this.ts;if(i||o){const p=n.offset(this.ts),a=this.toObject();[c]=Xm(a,p,n)}return Nc(this,{ts:c,zone:n})}}reconfigure({locale:n,numberingSystem:i,outputCalendar:o}={}){const c=this.loc.clone({locale:n,numberingSystem:i,outputCalendar:o});return Nc(this,{loc:c})}setLocale(n){return this.reconfigure({locale:n})}set(n){if(!this.isValid)return this;const i=um(n,ST),{minDaysInFirstWeek:o,startOfWeek:c}=dF(i,this.loc),p=!pn(i.weekYear)||!pn(i.weekNumber)||!pn(i.weekday),a=!pn(i.ordinal),x=!pn(i.year),m=!pn(i.month)||!pn(i.day),l=x||m,f=i.weekYear||i.weekNumber;if((l||a)&&f)throw new Lc("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(m&&a)throw new Lc("Can't mix ordinal dates with month/day");let $;if(p)$=eF({...Gm(this.c,o,c),...i},o,c);else if(!pn(i.ordinal))$=gF({...rf(this.c),...i});else if($={...this.toObject(),...i},pn(i.day))$.day=Math.min(Ym($.year,$.month),$.day);const[v,S]=Xm($,this.o,this.zone);return Nc(this,{ts:v,o:S})}plus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n);return Nc(this,vT(this,i))}minus(n){if(!this.isValid)return this;const i=Mn.fromDurationLike(n).negate();return Nc(this,vT(this,i))}startOf(n,{useLocaleWeeks:i=!1}={}){if(!this.isValid)return this;const o={},c=Mn.normalizeUnit(n);switch(c){case"years":o.month=1;case"quarters":case"months":o.day=1;case"weeks":case"days":o.hour=0;case"hours":o.minute=0;case"minutes":o.second=0;case"seconds":o.millisecond=0;break}if(c==="weeks")if(i){const p=this.loc.getStartOfWeek(),{weekday:a}=this;if(a<p)o.weekNumber=this.weekNumber-1;o.weekday=p}else o.weekday=1;if(c==="quarters"){const p=Math.ceil(this.month/3);o.month=(p-1)*3+1}return this.set(o)}endOf(n,i){return this.isValid?this.plus({[n]:1}).startOf(n,i).minus(1):this}toFormat(n,i={}){return this.isValid?Ri.create(this.loc.redefaultToEN(i)).formatDateTimeFromString(this,n):qf}toLocaleString(n=zm,i={}){return this.isValid?Ri.create(this.loc.clone(i),n).formatDateTime(this):qf}toLocaleParts(n={}){return this.isValid?Ri.create(this.loc.clone(n),n).formatDateTimeParts(this):[]}toISO({format:n="extended",suppressSeconds:i=!1,suppressMilliseconds:o=!1,includeOffset:c=!0,extendedZone:p=!1}={}){if(!this.isValid)return null;const a=n==="extended";let x=gf(this,a);return x+="T",x+=wT(this,a,i,o,c,p),x}toISODate({format:n="extended"}={}){if(!this.isValid)return null;return gf(this,n==="extended")}toISOWeekDate(){return Km(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:n=!1,suppressSeconds:i=!1,includeOffset:o=!0,includePrefix:c=!1,extendedZone:p=!1,format:a="extended"}={}){if(!this.isValid)return null;return(c?"T":"")+wT(this,a==="extended",i,n,o,p)}toRFC2822(){return Km(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return Km(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return gf(this,!0)}toSQLTime({includeOffset:n=!0,includeZone:i=!1,includeOffsetSpace:o=!0}={}){let c="HH:mm:ss.SSS";if(i||n){if(o)c+=" ";if(i)c+="z";else if(n)c+="ZZ"}return Km(this,c,!0)}toSQL(n={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(n)}`}toString(){return this.isValid?this.toISO():qf}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;else return`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1000:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1000):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(n={}){if(!this.isValid)return{};const i={...this.c};if(n.includeConfig)i.outputCalendar=this.outputCalendar,i.numberingSystem=this.loc.numberingSystem,i.locale=this.loc.locale;return i}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(n,i="milliseconds",o={}){if(!this.isValid||!n.isValid)return Mn.invalid("created by diffing an invalid DateTime");const c={locale:this.locale,numberingSystem:this.numberingSystem,...o},p=mX(i).map(Mn.normalizeUnit),a=n.valueOf()>this.valueOf(),x=a?this:n,m=a?n:this,l=v5(x,m,p,c);return a?l.negate():l}diffNow(n="milliseconds",i={}){return this.diff(mn.now(),n,i)}until(n){return this.isValid?Dn.fromDateTimes(this,n):this}hasSame(n,i,o){if(!this.isValid)return!1;const c=n.valueOf(),p=this.setZone(n.zone,{keepLocalTime:!0});return p.startOf(i,o)<=c&&c<=p.endOf(i,o)}equals(n){return this.isValid&&n.isValid&&this.valueOf()===n.valueOf()&&this.zone.equals(n.zone)&&this.loc.equals(n.loc)}toRelative(n={}){if(!this.isValid)return null;const i=n.base||mn.fromObject({},{zone:this.zone}),o=n.padding?this<i?-n.padding:n.padding:0;let c=["years","months","days","hours","minutes","seconds"],p=n.unit;if(Array.isArray(n.unit))c=n.unit,p=void 0;return AT(i,this.plus(o),{...n,numeric:"always",units:c,unit:p})}toRelativeCalendar(n={}){if(!this.isValid)return null;return AT(n.base||mn.fromObject({},{zone:this.zone}),this,{...n,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...n){if(!n.every(mn.isDateTime))throw new Hi("min requires all arguments be DateTimes");return nT(n,(i)=>i.valueOf(),Math.min)}static max(...n){if(!n.every(mn.isDateTime))throw new Hi("max requires all arguments be DateTimes");return nT(n,(i)=>i.valueOf(),Math.max)}static fromFormatExplain(n,i,o={}){const{locale:c=null,numberingSystem:p=null}=o,a=On.fromOpts({locale:c,numberingSystem:p,defaultToEN:!0});return FM(a,n,i)}static fromStringExplain(n,i,o={}){return mn.fromFormatExplain(n,i,o)}static get DATE_SHORT(){return zm}static get DATE_MED(){return KT}static get DATE_MED_WITH_WEEKDAY(){return y3}static get DATE_FULL(){return WT}static get DATE_HUGE(){return XT}static get TIME_SIMPLE(){return zT}static get TIME_WITH_SECONDS(){return GT}static get TIME_WITH_SHORT_OFFSET(){return YT}static get TIME_WITH_LONG_OFFSET(){return uT}static get TIME_24_SIMPLE(){return OT}static get TIME_24_WITH_SECONDS(){return HT}static get TIME_24_WITH_SHORT_OFFSET(){return ET}static get TIME_24_WITH_LONG_OFFSET(){return QT}static get DATETIME_SHORT(){return UT}static get DATETIME_SHORT_WITH_SECONDS(){return VT}static get DATETIME_MED(){return bT}static get DATETIME_MED_WITH_SECONDS(){return _T}static get DATETIME_MED_WITH_WEEKDAY(){return h3}static get DATETIME_FULL(){return sT}static get DATETIME_FULL_WITH_SECONDS(){return jT}static get DATETIME_HUGE(){return NT}static get DATETIME_HUGE_WITH_SECONDS(){return LT}}var V5="3.4.4";WM.DateTime=mn;WM.Duration=Mn;WM.FixedOffsetZone=Ki;WM.IANAZone=Qo;WM.Info=jp;WM.Interval=Dn;WM.InvalidZone=x$;WM.Settings=In;WM.SystemZone=ha;WM.VERSION=V5;WM.Zone=hc});var OM=I((zM)=>{Object.defineProperty(zM,"__esModule",{value:!0});zM.RE_RANGE=zM.RE_WILDCARDS=zM.PRESETS=zM.TIME_UNITS_LEN=zM.TIME_UNITS=zM.TIME_UNITS_MAP=zM.ALIASES=zM.PARSE_DEFAULTS=zM.MONTH_CONSTRAINTS=zM.CONSTRAINTS=void 0;zM.CONSTRAINTS=Object.freeze({second:[0,59],minute:[0,59],hour:[0,23],dayOfMonth:[1,31],month:[1,12],dayOfWeek:[0,7]});zM.MONTH_CONSTRAINTS=Object.freeze({1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31});zM.PARSE_DEFAULTS=Object.freeze({second:"0",minute:"*",hour:"*",dayOfMonth:"*",month:"*",dayOfWeek:"*"});zM.ALIASES=Object.freeze({jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12,sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6});zM.TIME_UNITS_MAP=Object.freeze({SECOND:"second",MINUTE:"minute",HOUR:"hour",DAY_OF_MONTH:"dayOfMonth",MONTH:"month",DAY_OF_WEEK:"dayOfWeek"});zM.TIME_UNITS=Object.freeze(Object.values(zM.TIME_UNITS_MAP));zM.TIME_UNITS_LEN=zM.TIME_UNITS.length;zM.PRESETS=Object.freeze({"@yearly":"0 0 0 1 1 *","@monthly":"0 0 0 1 * *","@weekly":"0 0 0 * * 0","@daily":"0 0 0 * * *","@hourly":"0 0 * * * *","@minutely":"0 * * * * *","@secondly":"* * * * * *","@weekdays":"0 0 0 * * 1-5","@weekends":"0 0 0 * * 0,6"});zM.RE_WILDCARDS=/\*/g;zM.RE_RANGE=/^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g});var F$=I((EM)=>{Object.defineProperty(EM,"__esModule",{value:!0});EM.ExclusiveParametersError=EM.CronError=void 0;class A$ extends Error{}EM.CronError=A$;class HM extends A${constructor(n,i){super(`You can't specify both ${n} and ${i}`)}}EM.ExclusiveParametersError=HM});var bM=I((UM)=>{Object.defineProperty(UM,"__esModule",{value:!0});UM.getRecordKeys=void 0;var g5=(n)=>{return Object.keys(n)};UM.getRecordKeys=g5});var Um=I((jM)=>{Object.defineProperty(jM,"__esModule",{value:!0});jM.CronTime=void 0;var Uo=XM(),xi=OM(),Wi=F$(),_M=bM();class sM{constructor(n,i,o){if(this.realDate=!1,this.second={},this.minute={},this.hour={},this.dayOfMonth={},this.month={},this.dayOfWeek={},i!=null&&o!=null)throw new Wi.ExclusiveParametersError("timeZone","utcOffset");if(i){if(!Uo.DateTime.fromObject({},{zone:i}).isValid)throw new Wi.CronError("Invalid timezone.");this.timeZone=i}if(o!=null)this.utcOffset=o;if(n instanceof Date||n instanceof Uo.DateTime)this.source=n instanceof Date?Uo.DateTime.fromJSDate(n):n,this.realDate=!0;else this.source=n,this._parse(this.source),this._verifyParse()}_getWeekDay(n){return n.weekday===7?0:n.weekday}_verifyParse(){const n=_M.getRecordKeys(this.month),i=_M.getRecordKeys(this.dayOfMonth);let o=!1,c=null;for(let p of n){const a=xi.MONTH_CONSTRAINTS[p];for(let x of i)if(x<=a)o=!0;if(!o)c=p,console.warn(`Month '${p}' is limited to '${a}' days.`)}if(!o&&c!==null){const p=xi.MONTH_CONSTRAINTS[c];for(let a of i)if(a>p){delete this.dayOfMonth[a];const x=a%p;this.dayOfMonth[x]=!0}}}sendAt(n){let i=this.realDate&&this.source instanceof Uo.DateTime?this.source:Uo.DateTime.local();if(this.timeZone)i=i.setZone(this.timeZone);if(this.utcOffset!==void 0){const o=this.utcOffset<0?"-":"+",c=Math.trunc(this.utcOffset/60),p=String(Math.abs(c)).padStart(2,"0"),a=Math.abs(this.utcOffset-c*60),x=String(a).padStart(2,"0"),m=`UTC${o}${p}:${x}`;if(i=i.setZone(m),!i.isValid)throw new Wi.CronError("ERROR: You specified an invalid UTC offset.")}if(this.realDate){if(Uo.DateTime.local()>i)throw new Wi.CronError("WARNING: Date in past. Will never be fired.");return i}if(n===void 0||isNaN(n)||n<0)return this.getNextDateFrom(i);else{const o=[];for(;n>0;n--)i=this.getNextDateFrom(i),o.push(i);return o}}getTimeout(){return Math.max(-1,this.sendAt().toMillis()-Uo.DateTime.local().toMillis())}toString(){return this.toJSON().join(" ")}toJSON(){return xi.TIME_UNITS.map((n)=>{return this._wcOrAll(n)})}getNextDateFrom(n,i){var o;if(n instanceof Date)n=Uo.DateTime.fromJSDate(n);let c=n;const p=n.toMillis();if(i)c=c.setZone(i);if(!this.realDate){if(c.millisecond>0)c=c.set({millisecond:0,second:c.second+1})}if(!c.isValid)throw new Wi.CronError("ERROR: You specified an invalid date.");const a=Uo.DateTime.now().plus({years:8});while(!0){const x=c.toMillis()-n.toMillis();if(c>a)throw new Wi.CronError(`Something went wrong. No execution date was found in the next 8 years.
|
|
36
|
+
Please provide the following string if you would like to help debug:
|
|
37
|
+
Time Zone: ${(o=i===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:'""'} - Cron String: ${this.source.toString()} - UTC offset: ${c.offset} - current Date: ${Uo.DateTime.local().toString()}`);if(!(c.month in this.month)&&Object.keys(this.month).length!==12){if(c=c.plus({months:1}),c=c.set({day:1,hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31&&!((this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(this._getWeekDay(c)in this.dayOfWeek)&&Object.keys(this.dayOfWeek).length!==7&&!((c.day in this.dayOfMonth)&&Object.keys(this.dayOfMonth).length!==31)){if(c=c.plus({days:1}),c=c.set({hour:0,minute:0,second:0}),this._forwardDSTJump(0,0,c)){const[m,l]=this._findPreviousDSTJump(c);if(c=l,m)break}continue}if(!(c.hour in this.hour)&&Object.keys(this.hour).length!==24){const m=c.hour===23&&x>86400000?0:c.hour+1,l=c.minute;if(c=c.set({hour:m}),c=c.set({minute:0,second:0}),this._forwardDSTJump(m,l,c)){const[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.minute in this.minute)&&Object.keys(this.minute).length!==60){const m=c.minute===59&&x>3600000?0:c.minute+1,l=c.hour+(m===60?1:0);if(c=c.set({minute:m}),c=c.set({second:0}),this._forwardDSTJump(l,m,c)){const[f,$]=this._findPreviousDSTJump(c);if(c=$,f)break}continue}if(!(c.second in this.second)&&Object.keys(this.second).length!==60){const m=c.second===59&&x>60000?0:c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){const[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}if(c.toMillis()===p){const m=c.second+1,l=c.minute+(m===60?1:0),f=c.hour+(l===60?1:0);if(c=c.set({second:m}),this._forwardDSTJump(f,l,c)){const[$,v]=this._findPreviousDSTJump(c);if(c=v,$)break}continue}break}return c}_findPreviousDSTJump(n){var i;let o,c,p,a,x=n;const m=1440;let l=0;do{if(++l>m)throw new Wi.CronError(`ERROR: This DST checking related function assumes the input DateTime (${(i=n.toISO())!==null&&i!==void 0?i:n.toMillis()}) is within 24 hours of a DST jump.`);if(o=x.minute-1,c=x.hour,o<0)o+=60,c=(c+24-1)%24;x=x.minus({minute:1}),p=x.minute,a=x.hour}while(o===p&&c===a);const f=x.plus({minute:1}).set({second:0,millisecond:0}),$=f.minus({second:1});if(n.month+1 in this.month&&n.day in this.dayOfMonth&&this._getWeekDay(n)in this.dayOfWeek)return[this._checkTimeInSkippedRange($,f),f];return[!1,f]}_checkTimeInSkippedRange(n,i){const o=(n.minute+1)%60,c=(n.hour+(o===0?1:0))%24,p=i.hour-c+1,a=o===0&&i.minute===0;if(p===2&&a)return c in this.hour;else if(p===1)return c in this.hour&&this._checkTimeInSkippedRangeSingleHour(o,i.minute);else return this._checkTimeInSkippedRangeMultiHour(c,o,i.hour,i.minute)}_checkTimeInSkippedRangeSingleHour(n,i){for(let o=n;o<i;++o)if(o in this.minute)return!0;return i in this.minute&&0 in this.second}_checkTimeInSkippedRangeMultiHour(n,i,o,c){if(n>=o)throw new Wi.CronError(`ERROR: This DST checking related function assumes the forward jump starting hour (${n}) is less than the end hour (${o})`);const p=Array.from({length:60-i},(l,f)=>i+f),a=Array.from({length:c},(l,f)=>f),x=Array.from({length:60},(l,f)=>f),m=(l)=>{if(l===n)return p;else if(l===o)return a;else return x};for(let l=n;l<=o;++l){if(!(l in this.hour))continue;const f=m(l);for(let $ of f)if($ in this.minute)return!0}return o in this.hour&&c in this.minute&&0 in this.second}_forwardDSTJump(n,i,o){const{hour:c,minute:p}=o,a=n%24<c,x=i%60<p;return a||x}_wcOrAll(n){if(this._hasAll(n))return"*";const i=[];for(let o in this[n])i.push(o);return i.join(",")}_hasAll(n){const i=xi.CONSTRAINTS[n],o=i[0],c=n===xi.TIME_UNITS_MAP.DAY_OF_WEEK?i[1]-1:i[1];for(let p=o,a=c;p<a;p++)if(!(p in this[n]))return!1;return!0}_parse(n){var i;if(n=n.toLowerCase(),Object.keys(xi.PRESETS).includes(n))n=xi.PRESETS[n];n=n.replace(/[a-z]{1,3}/gi,(p)=>{if(Object.keys(xi.ALIASES).includes(p))return xi.ALIASES[p].toString();throw new Wi.CronError(`Unknown alias: ${p}`)});const o=n.trim().split(/\s+/);if(o.length<xi.TIME_UNITS_LEN-1)throw new Wi.CronError("Too few fields");if(o.length>xi.TIME_UNITS_LEN)throw new Wi.CronError("Too many fields");const c=o.length;for(let p of xi.TIME_UNITS){const a=xi.TIME_UNITS.indexOf(p),x=(i=o[a-(xi.TIME_UNITS_LEN-c)])!==null&&i!==void 0?i:xi.PARSE_DEFAULTS[p];this._parseField(x,p)}}_parseField(n,i){const o=this[i];let c;const p=xi.CONSTRAINTS[i],a=p[0],x=p[1];n.split(",").forEach((f)=>{const $=f.indexOf("*");if($!==-1&&$!==0)throw new Wi.CronError(`Field (${f}) has an invalid wildcard expression`)}),n=n.replace(xi.RE_WILDCARDS,`${a}-${x}`);const l=n.split(",");for(let f of l){const $=[...f.matchAll(xi.RE_RANGE)][0];if(($===null||$===void 0?void 0:$[1])!==void 0){const[,v,S,T]=$;let R=parseInt(v,10),F=S!==void 0?parseInt(S,10):void 0;const X=T!==void 0,z=parseInt(T!==null&&T!==void 0?T:"1",10);if(z===0)throw new Wi.CronError(`Field (${i}) has a step of zero`);if(F!==void 0&&R>F)throw new Wi.CronError(`Field (${i}) has an invalid range`);if(R<a||F!==void 0&&F>x||F===void 0&&R>x)throw new Wi.CronError(`Field value (${n}) is out of range`);if(R=Math.min(Math.max(a,~~Math.abs(R)),x),F!==void 0)F=Math.min(x,~~Math.abs(F));else F=X?x:R;c=R;do o[c]=!0,c+=z;while(c<=F);if(i==="dayOfWeek"){if(!o[0]&&!!o[7])o[0]=o[7];delete o[7]}}else throw new Wi.CronError(`Field (${i}) cannot be parsed`)}}}jM.CronTime=sM});var hM=I((BM)=>{Object.defineProperty(BM,"__esModule",{value:!0});BM.CronJob=void 0;var LM=import.meta.require("child_process"),T$=F$(),Vm=Um();class Ca{constructor(n,i,o,c,p,a,x,m,l){if(this.running=!1,this.unrefTimeout=!1,this.lastExecution=null,this.runOnce=!1,this._callbacks=[],this.context=a!==null&&a!==void 0?a:this,p!=null&&m!=null)throw new T$.ExclusiveParametersError("timeZone","utcOffset");if(p!=null)this.cronTime=new Vm.CronTime(n,p,null);else if(m!=null)this.cronTime=new Vm.CronTime(n,null,m);else this.cronTime=new Vm.CronTime(n,p,m);if(l!=null)this.unrefTimeout=l;if(o!=null)this.onComplete=this._fnWrap(o);if(this.cronTime.realDate)this.runOnce=!0;if(this.addCallback(this._fnWrap(i)),x)this.lastExecution=new Date,this.fireOnTick();if(c)this.start()}static from(n){if(n.timeZone!=null&&n.utcOffset!=null)throw new T$.ExclusiveParametersError("timeZone","utcOffset");if(n.timeZone!=null)return new Ca(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else if(n.utcOffset!=null)return new Ca(n.cronTime,n.onTick,n.onComplete,n.start,null,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout);else return new Ca(n.cronTime,n.onTick,n.onComplete,n.start,n.timeZone,n.context,n.runOnInit,n.utcOffset,n.unrefTimeout)}_fnWrap(n){var i,o;switch(typeof n){case"function":return n;case"string":{const[c,...p]=n.split(" ");return LM.spawn.bind(void 0,c!==null&&c!==void 0?c:n,p,{})}case"object":return LM.spawn.bind(void 0,n.command,(i=n.args)!==null&&i!==void 0?i:[],(o=n.options)!==null&&o!==void 0?o:{})}}addCallback(n){if(typeof n==="function")this._callbacks.push(n)}setTime(n){if(!(n instanceof Vm.CronTime))throw new T$.CronError("time must be an instance of CronTime.");const i=this.running;if(this.stop(),this.cronTime=n,n.realDate)this.runOnce=!0;if(i)this.start()}nextDate(){return this.cronTime.sendAt()}fireOnTick(){for(let n of this._callbacks)n.call(this.context,this.onComplete)}nextDates(n){return this.cronTime.sendAt(n!==null&&n!==void 0?n:0)}start(){if(this.running)return;const n=2147483647;let i=this.cronTime.getTimeout(),o=0,c;const p=(x)=>{if(c=Date.now(),this._timeout=setTimeout(a,x),this.unrefTimeout&&typeof this._timeout.unref==="function")this._timeout.unref()},a=()=>{const x=c+i-Date.now();if(x>0){let m=this.cronTime.getTimeout();if(m>x)m=x;o+=m}if(o){if(o>n)o-=n,i=n;else i=o,o=0;p(i)}else{if(this.lastExecution=new Date,this.running=!1,!this.runOnce)this.start();this.fireOnTick()}};if(i>=0){if(this.running=!0,i>n)o=i-n,i=n;p(i)}else this.stop()}lastDate(){return this.lastExecution}stop(){if(this._timeout)clearTimeout(this._timeout);if(this.running=!1,typeof this.onComplete==="function")this.onComplete.call(this.context)}}BM.CronJob=Ca});var tM=I((bm)=>{Object.defineProperty(bm,"__esModule",{value:!0});bm.timeout=bm.sendAt=bm.CronTime=bm.CronJob=void 0;var DM=Um(),d5=hM();Object.defineProperty(bm,"CronJob",{enumerable:!0,get:function(){return d5.CronJob}});var nz=Um();Object.defineProperty(bm,"CronTime",{enumerable:!0,get:function(){return nz.CronTime}});var iz=(n)=>new DM.CronTime(n).sendAt();bm.sendAt=iz;var oz=(n)=>new DM.CronTime(n).getTimeout();bm.timeout=oz});import{createHash as VR}from"crypto";import*as _R from"http";function Pc(n=Math.random){return n().toString(36).slice(2)}class ep extends Promise{fate;resolve;reject;done=!1;constructor(n){let i,o;super((c,p)=>{i=c,o=p});this.resolve=i,this.reject=o,this.use(n instanceof Promise?n:new Promise(n))}pass(n,i){if(n===this.fate)this.resolve(i),this.done=!0}fail(n,i){if(n===this.fate)this.reject(i),this.done=!0}use(n){if(n instanceof Promise){const i=n;this.fate=i,i.then((o)=>{this.pass(i,o)},(o)=>{this.fail(i,o)})}else this.resolve(n),this.fate=void 0}}function Sv(n){return Object.entries(n)}var Jv=(n,i,o=on.STORE)=>{return gp(o,{key:`${n.key}:JSON`,get:({get:c})=>i.toJson(c(n)),set:({set:c},p)=>{c(n,i.fromJson(p))}})};function b(n){while(n.child!==null)n=n.child;return n}function Av(n){while(n.parent!==null)n=n.parent;return n}class an{Subscriber;subscribers=new Map;subscribe(n,i){return this.subscribers.set(n,i),()=>{this.unsubscribe(n)}}unsubscribe(n){this.subscribers.delete(n)}next(n){const i=this.subscribers.values();for(let o of i)o(n)}}class nl extends an{state;constructor(n){super();this.state=n}next(n){this.state=n,super.next(n)}}function Co(n,i,o){const c={key:i.key,type:"atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","atom_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T=i.default,R={key:v,default:T instanceof Function?T(l):T};if(i.effects)R.effects=i.effects(l);const F=ko(S,R,$);return a.next({type:"state_creation",token:F}),F},c,{subject:a,install:(l)=>Co(l,i),internalRoles:o});return n.families.set(i.key,m),n.defaults.set(i.key,i.default),c}function Fv(n,i){if("mutable"in i)return dp(n,i);return Co(n,i)}function ro(n,i,o){const c={key:i.key,type:"readonly_selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","readonly_selector_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T=na(S,{key:v,get:i.get(l)},$);return a.next({type:"state_creation",token:T}),T},c,{internalRoles:o,subject:a,install:(l)=>ro(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>Fn(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function il(n,i){if("set"in i)return ia(n,i);return ro(n,i)}function ec(n,i){const o=e(i),c=`${n.key}(${o})`,p=V4[n.type],a={key:c,type:p};if(p==="molecule")Object.assign(a,{key:i,family:n});else Object.assign(a,{family:{key:n.key,subKey:o}});return Object.assign(a,{counterfeit:!0}),a}var V4={atom_family:"atom",mutable_atom_family:"mutable_atom",selector_family:"selector",readonly_selector_family:"readonly_selector",molecule_family:"molecule"};function ki(n){const i={key:n.key,type:n.type};if("family"in n)i.family=n.family;return i}function Zo(n){return Tv(on.STORE,n)}function Mc(n){return Fv(on.STORE,n)}var ol=(n)=>(i,o,c,p,...a)=>{console[n](`${i} ${o} "${c}" ${p}`,...a)},b4={error:ol("error"),info:ol("info"),warn:ol("warn")};class oa{n;i;o;constructor(n,i,o=b4){this.logLevel=n;this.filter=i;this.logger=o}error=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!==null)this.logger.error(...n)};info=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel==="info")this.logger.info(...n)};warn=(...n)=>{if((this.filter?.(...n)??!0)&&this.logLevel!=="error"&&this.logLevel!==null)this.logger.warn(...n)}}function px(n){return il(on.STORE,n)}function Rc(n){return cl(n,on.STORE)}class Ni{a;b;cardinality;relations=new Map;contents=new Map;isContent;makeContentKey=(n,i)=>`${n}:${i}`;warn;getRelatedKeys(n){return this.relations.get(n)}addRelation(n,i){let o=this.relations.get(n),c=this.relations.get(i);if(o)o.add(i);else o=new Set([i]),this.relations.set(n,o);if(c)c.add(n);else c=new Set([n]),this.relations.set(i,c)}deleteRelation(n,i){const o=this.relations.get(n);if(o){if(o.delete(i),o.size===0)this.relations.delete(n);const c=this.relations.get(i);if(c){if(c.delete(n),c.size===0)this.relations.delete(i)}}}replaceRelationsUnsafely(n,i){this.relations.set(n,new Set(i));for(let o of i){const c=new Set([n]);this.relations.set(o,c)}}replaceRelationsSafely(n,i){const o=this.relations.get(n);if(o)for(let c of o){const p=this.relations.get(c);if(p){if(p.size===1)this.relations.delete(c);else p.delete(n);this.contents.delete(this.makeContentKey(n,c))}}this.relations.set(n,new Set(i));for(let c of i){let p=this.relations.get(c);if(p)p.add(n);else p=new Set([n]),this.relations.set(c,p)}}getContentInternal(n){return this.contents.get(n)}setContent(n,i){this.contents.set(n,i)}deleteContent(n){this.contents.delete(n)}constructor(n,i){if(this.a=n.between[0],this.b=n.between[1],this.cardinality=n.cardinality,!i?.externalStore)this.relations=new Map(n.relations?.map(([o,c])=>[o,new Set(c)])),this.contents=new Map(n.contents);if(this.isContent=i?.isContent??null,i?.makeContentKey)this.makeContentKey=i.makeContentKey;if(i?.externalStore){const o=i.externalStore;if(this.has=(c,p)=>o.has(c,p),this.addRelation=(c,p)=>{o.addRelation(c,p)},this.deleteRelation=(c,p)=>{o.deleteRelation(c,p)},this.replaceRelationsSafely=(c,p)=>{o.replaceRelationsSafely(c,p)},this.replaceRelationsUnsafely=(c,p)=>{o.replaceRelationsUnsafely(c,p)},this.getRelatedKeys=(c)=>o.getRelatedKeys(c),o.getContent)this.getContentInternal=(c)=>{return o.getContent(c)},this.setContent=(c,p)=>{o.setContent(c,p)},this.deleteContent=(c)=>{o.deleteContent(c)};for(let[c,p]of n.relations??[])for(let a of p)this.addRelation(c,a);for(let[c,p]of n.contents??[])this.setContent(c,p)}if(i?.warn)this.warn=i.warn}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([n,i])=>[n,[...i]]),contents:[...this.contents.entries()]}}set(n,...i){const o=typeof i[0]==="string"?i[0]:n[this.b],c=i[1]??typeof i[0]==="string"?void 0:i[0];switch(n=typeof n==="string"?n:n[this.a],this.cardinality){case"1:1":{const p=this.getRelatedKey(n);if(p&&p!==o)this.delete(p,n)}case"1:n":{const p=this.getRelatedKey(o);if(p&&p!==n)this.delete(p,o)}}if(c){const p=this.makeContentKey(n,o);this.setContent(p,c)}return this.addRelation(n,o),this}delete(n,i){i=typeof i==="string"?i:n[this.b];const o=typeof n==="string"?n:n[this.a];if(o===void 0&&typeof i==="string"){const c=this.getRelatedKeys(i);if(c)for(let p of c)this.delete(p,i)}if(typeof o==="string"&&i===void 0){const c=this.getRelatedKeys(o);if(c)for(let p of c)this.delete(o,p)}if(typeof o==="string"&&typeof i==="string"){this.deleteRelation(o,i);const c=this.makeContentKey(o,i);this.deleteContent(c)}return this}getRelatedKey(n){const i=this.getRelatedKeys(n);if(i){if(i.size>1)this.warn?.(`${i.size} related keys were found for key "${n}": (${[...i].map((o)=>`"${o}"`).join(", ")}). Only one related key was expected.`);for(let o of i)return o}}replaceRelations(n,i,o){const c=!Array.isArray(i),p=c?Object.keys(i):i;if(o?.reckless)this.replaceRelationsUnsafely(n,p);else this.replaceRelationsSafely(n,p);if(c)for(let a of p){const x=this.makeContentKey(n,a),m=i[a];this.setContent(x,m)}return this}getContent(n,i){const o=this.makeContentKey(n,i);return this.getContentInternal(o)}getRelationEntries(n){const i=n[this.a],o=n[this.b];if(i!==void 0&&o===void 0){const c=this.getRelatedKeys(i);if(c)return[...c].map((p)=>{return[p,this.getContent(i,p)??null]})}if(i===void 0&&o!==void 0){const c=this.getRelatedKeys(o);if(c)return[...c].map((p)=>{return[p,this.getContent(p,o)??null]})}return[]}has(n,i){if(i)return this.getRelatedKeys(n)?.has(i)??!1;return this.relations.has(n)}}function kn(n){return"epoch"in n.transactionMeta}function An(n){return"phase"in n.transactionMeta}var Mv=(n)=>{const i=b(n);if(!An(i)){n.logger.warn("\uD83D\uDC1E","transaction","???","abortTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}n.logger.info("\uD83E\uDE82","transaction",i.transactionMeta.update.key,"Aborting transaction"),i.parent.child=null};function mo(n){return n.type.split("_").map(_4).join(" ")}var _4=(n)=>n[0].toUpperCase()+n.slice(1);class Ui extends Error{constructor(...n){const i=n[0],o=n.length===2?n[1]:n[2];if(n.length===2)super(`${mo(i)} ${e(i.key)} not found in store "${o.config.name}".`);else{const c=n[1];super(`${mo(i)} "${i.key}" member ${e(c)} not found in store "${o.config.name}".`)}}}function qo(n,i,o){return(...c)=>{const p=d(n,o);if(p)return p.run(c,i);throw new Ui(n,o)}}var ax=(n)=>(i)=>n instanceof Function?n(i):n;var Po=(n,i)=>{if(i.valueMap.has(n.key))return i.logger.info("\uD83D\uDCD6",n.type,n.key,"reading cached value"),Rv(n,i);if(n.type==="selector"||n.type==="readonly_selector")return i.logger.info("\uD83E\uDDEE",n.type,n.key,"computing value"),n.get();const o=n.default instanceof Function?n.default():n.default;return i.logger.info("\uD83D\uDC81","atom",n.key,"could not find cached value; using default",o),n.default instanceof Function?n.default():n.default};var Kv=(n,i)=>{if(n.operation.open){const o=performance.now();return n.logger.info("\u2757",i.type,i.key,`deferring setState at T-${o} until setState for "${n.operation.token.key}" is done`),o}n.operation={open:!0,done:new Set,prev:new Map,time:Date.now(),token:i},n.logger.info("\u2B55",i.type,i.key,`operation start in store "${n.config.name}"${!An(n)?"":` ${n.transactionMeta.phase} "${n.transactionMeta.update.key}"`}`)},Wv=(n)=>{if(n.operation.open)n.logger.info("\uD83D\uDD34",n.operation.token.type,n.operation.token.key,`operation done in store "${n.config.name}"`);n.operation={open:!1},n.on.operationClose.next(n.operation)},Xv=(n,i)=>{if(!n.operation.open)return n.logger.error("\uD83D\uDC1E","unknown",i,"isDone called outside of an operation. This is probably a bug in AtomIO."),!0;return n.operation.done.has(i)},gc=(n,i)=>{if(!n.operation.open){n.logger.error("\uD83D\uDC1E","unknown",i,"markDone called outside of an operation. This is probably a bug in AtomIO.");return}n.operation.done.add(i)};var zv=(n,i,o)=>{switch(n.type){case"mutable_atom":o.logger.info("\uD83D\uDCE2",n.type,n.key,"is now (",i.newValue,") subscribers:",n.subject.subscribers);break;default:o.logger.info("\uD83D\uDCE2",n.type,n.key,"went (",i.oldValue,"->",i.newValue,") subscribers:",n.subject.subscribers)}n.subject.next(i)};var pl=(n,i)=>{const o=b(i),c=o.selectorAtoms.getRelatedKeys(n.key);if(o.logger.info("\uD83E\uDDF9",n.type,n.key,c?`evicting ${c.size} states downstream:`:"no downstream states",c??"to evict"),c){if(o.operation.open)o.logger.info("\uD83E\uDDF9",n.type,n.key,`[ ${[...o.operation.done].join(", ")} ] already done`);for(let p of c){if(Xv(o,p))continue;Gv(p,o),gc(o,p)}}};function s4(n,i){if(uv(i.newValue))return!1;if(n.includes("\uD83D\uDD0D"))return!1;return!0}var Yv=(n,i,o)=>{const{key:c}=n,p=b(o);if(!An(p)||p.transactionMeta.phase!=="building"){o.logger.error("\uD83D\uDC1E","atom",c,"stowUpdate called outside of a transaction. This is probably a bug.");return}if(!s4(c,i))return;const x={type:"atom_update",key:c,...i};if(n.family)x.family=n.family;p.transactionMeta.update.updates.push(x),o.logger.info("\uD83D\uDCC1","atom",c,"stowed (",i.oldValue,"->",i.newValue,")")};var Ov=(n,i,o)=>{const c=Po(n,o);let p=c;if(n.type==="mutable_atom"&&An(o)){const{parent:x}=o;p=ca(n,x,o)}if(p=ax(i)(p),o.logger.info("\uD83D\uDCDD","atom",n.key,"set to",p),p=ri(n.key,p,n.subject,o),Hv(n.key,o))Ev(n.key,o);gc(o,n.key),pl(n,o);const a={oldValue:c,newValue:p};if(kn(o))zv(n,a,o);else if(o.parent){if(o.on.transactionApplying.state===null)Yv(n,a,o);else if(n.key.startsWith("*")){const x=n.key.slice(1),m=o.atoms.get(x);let l=o.valueMap.get(x);if(m.type==="mutable_atom"&&An(o)){const{parent:$}=o;l=ca(m,$,o)}if(l.do(a.newValue)===null)pl(m,o)}}};var xx=(n,i,o)=>{switch(n.type){case"atom":case"mutable_atom":Ov(n,i,o);break;case"selector":n.set(i);break}};function mx(n,i){if(i.family){const o=n.families.get(i.family.key);if(o)return o}}function zn(n,...i){let o,c,p,a;if(i.length===2){if(o=i[0],a=i[1],c=mx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=Fn(n,c,p)}else c=i[0],p=i[1],a=i[2],o=Fn(n,c,p);if("counterfeit"in o){const l=n.disposalTraces.buffer.find((f)=>f?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be set because it was not found in the store "${n.config.name}".`,l?`This state was previously disposed:\n${l.trace}`:"No previous disposal trace was found.");return}const x=Kv(n,o);if(x){const l=n.on.operationClose.subscribe(`waiting to set "${o.key}" at T-${x}`,()=>{l(),n.logger.info("\uD83D\uDFE2",o.type,o.key,`resuming deferred setState from T-${x}`),zn(n,o,a)});return}const m=d(o,n);xx(m,a,n),Wv(n)}function lx(n,i,o){const{key:c,newValue:p,oldValue:a}=i,x=n==="newValue"?p:a,m={key:c,type:"atom"};if(i.family)Object.assign(m,{family:i.family});zn(o,m,x)}function al(n,i,o){const c=e(o);try{const p=[];let a;if(i==="root")p.push(n.molecules.get('"root"')),a="all";else if(i[0][0]===Qv){a="any";const $=e(i),v=n.molecules.get($);if(!v)throw new Error(`Molecule ${$} not found in store "${n.config.name}"`);p.push(v)}else if(o[0][0]===Qv){a="all";for(let v of i){const S=e(v),T=n.molecules.get(S);if(!T)throw new Error(`Molecule ${S} not found in store "${n.config.name}"`);p.push(T)}}else{a="any";const v=e(i),S=n.molecules.get(v);if(!S)throw new Error(`Molecule ${v} not found in store "${n.config.name}"`);p.push(S)}const x=new dc(p,o);x._dependsOn=a,n.molecules.set(c,x);for(let $ of p)$.below.set(x.stringKey,x);const m={type:"molecule_creation",subType:"modern",key:x.key,provenance:i},l=b(n);if(An(l)&&l.transactionMeta.phase==="building")l.transactionMeta.update.updates.push(m);else l.on.moleculeCreationStart.next(m)}catch(p){if(p instanceof Error)n.logger.error("\u274C","molecule",c,"allocation failed:",p.message)}return o}function pa(n,i){const o=e(i),c=n.molecules.get(o);if(!c)throw new Error(`Molecule ${o} not found in store "${n.config.name}"`);for(let f of c.joins.values())f.relations.delete(c.key),f.molecules.delete(c.stringKey);let p;if(c.above.size===1)p=c.above.values().next().value.key;else p=[...c.above.values()].map(({key:f})=>f);const a=[];for(let f of c.tokens.values()){const $=f.family;a.push([$.key,n.valueMap.get(f.key)])}for(let f of c.tokens.values())li(n,f);for(let f of c.below.values())if(f.dependsOn==="all")pa(n,f.key);else if(f.above.delete(c.stringKey),f.above.size===0)pa(n,f.key);c.below.clear();const x={type:"molecule_disposal",subType:"modern",key:c.key,values:a,provenance:p},m=b(n);if(An(m)&&m.transactionMeta.phase==="building")m.transactionMeta.update.updates.push(x);else m.on.moleculeDisposal.next(x);m.molecules.delete(c.stringKey);for(let f of c.above.values())f.below.delete(c.stringKey)}var Z9=Symbol("provenance"),Qv="T$";function Uv(n,i){const o=new an,c={type:"molecule_family",key:i.key,dependsOn:i.dependsOn??"all"},p={...c,subject:o,new:i.new};return n.moleculeFamilies.set(i.key,p),c}function lo(n,i,o){const c=bo(o,i,n.key);n.tokens.set(c.key,c);const p=An(o)&&o.transactionMeta.phase==="building",a=o.moleculeInProgress===n.key;if(!p&&!a)n.subject.next({type:"state_creation",token:c});return c}function fx(n){return{store:n}}function Kn(n,...i){let o,c,p;if(i.length===1){if(o=i[0],o.type!=="molecule"){if(c=mx(n,o)??null,c)p=o.family?rn(o.family.subKey):null,o=Fn(n,c,p)}}else{c=i[0],p=i[1];let a;if(c.type==="molecule_family")a=Nn(n,c,p)??ec(c,p);else a=Fn(n,c,p);o=a}if("counterfeit"in o&&"family"in o){c=o.type==="molecule"?d(o.family,n):n.families.get(o.family.key);const a=o.type==="molecule"?o.key:o.family.subKey,x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);switch(n.logger.error("\u274C",o.type,o.key,`could not be retrieved because it was not found in the store "${n.config.name}".`,x?`This state was previously disposed:\n${x.trace}`:"No previous disposal trace was found."),c.type){case"atom_family":case"mutable_atom_family":return n.defaults.get(c.key);case"selector_family":case"readonly_selector_family":{if(n.defaults.has(c.key))return n.defaults.get(o.family.key);const m=d(c,n).default(a);return n.defaults.set(c.key,m),m}case"molecule_family":throw new Ui(c,a,n)}}switch(o.type){case"atom":case"mutable_atom":case"selector":case"readonly_selector":return Po(d(o,n),n);case"molecule":return d(o,n).instance}}class dc{i;type="molecule";stringKey;family;_dependsOn;get dependsOn(){if(this.family)return this.family.dependsOn;return this._dependsOn}subject=new an;tokens=new Map;above=new Map;below=new Map;joins=new Map;instance;constructor(n,i,o){this.key=i;if(this.stringKey=e(i),o)this.family=o,this._dependsOn=o.dependsOn;if(n)for(let c of n)this.above.set(c.stringKey,c)}}function Vv(n){return n[0].toUpperCase()+n.slice(1)}function _o(n,i,o,c,...p){const a=Av(n),x=b(n),m=e(c);x.moleculeInProgress=m;const l=Array.isArray(i)?i:[i],f=l.map((X)=>{if(X instanceof dc)return X;const z=e(X.key),Y=n.molecules.get(z);if(!Y)throw new Error(`Molecule ${z} not found in store "${n.config.name}"`);return Y}),$=new dc(f,c,o);x.molecules.set(m,$);for(let X of f)X.below.set($.stringKey,$);const v={get:(...X)=>Kn(b(a),...X),set:(...X)=>{zn(b(a),...X)},seek:(X,z)=>Nn(b(a),X,z),json:(X)=>en(b(a),X),run:(X,z=Pc())=>qo(X,z,b(n)),make:(X,z,Y,...E)=>_o(b(a),X,z,Y,...E),dispose:(X)=>{li(b(a),X)},env:()=>fx(b(a)),bond:(X,z)=>{if(X.type==="join"){const{as:Y}=z,E=aa(X,a);E.molecules.set(m,$),$.joins.set(X.key,E);const s=S.subject.subscribe(`join:${X.key}-${m}`,(K)=>{if(K.type==="molecule_disposal"){if(e(K.token.key)===m)s(),E.molecules.delete(m)}});if(Y===null)return;const G=X.a===Y?X.b:X.a,M=bv(X,c),O=M[`${G}KeysOf${Vv(Y)}`],U=M[`${G}EntriesOf${Vv(Y)}`];let V={relatedKeys:O};if(U)V=Object.assign(V,{relatedEntries:U});return V}return lo($,d(X,a),b(a))},claim:(X,z)=>{const{exclusive:Y}=z,E=b(n).molecules.get(e(X.key));if(E)if(Y){for(let s of E.above.values())s.below.delete(E.stringKey);E.above.clear(),E.above.set($.stringKey,$),$.below.set(E.stringKey,E)}else E.above.set($.stringKey,$),$.below.set(E.stringKey,E)},spawn:(X,z,...Y)=>_o(b(n),[$],d(X,n),z,...Y)},S=d(o,n),T=S.new;$.instance=new T(v,c,...p);const R={type:"molecule",key:c,family:o},F={type:"molecule_creation",subType:"classic",token:R,family:o,context:l,params:p};if(kn(x))S.subject.next(F);else if(An(x)&&x.on.transactionApplying.state===null)x.transactionMeta.update.updates.push(F);return x.moleculeInProgress=null,R}function xl(n,i,o){switch(i){case"newValue":{_v(n,o);break}case"oldValue":{li(o,n.token);break}}}function ml(n,i,o){switch(i){case"newValue":{li(o,n.token);break}case"oldValue":{_v(n,o),o.valueMap.set(n.token.key,n.value);break}}}function _v(n,i){const{family:o}=n.token;if(o){const c=i.families.get(o.key);if(c)Fn(i,c,rn(o.subKey))}}function ll(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":_o(o,n.context,n.family,n.token.key,...n.params);break;case"modern":al(o,n.provenance,n.key);break}break;case"oldValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":pa(o,n.key);break}break}}function fl(n,i,o){switch(i){case"newValue":switch(n.subType){case"classic":li(o,n.token);break;case"modern":pa(o,n.key);break}break;case"oldValue":switch(n.subType){case"classic":{const c=_o(o,n.context,n.family,n.token.key);for(let[p,a]of n.values){const x=`${p}(${e(c.key)})`,m=d(c,o),l=m.tokens.has(x),f=o.families.get(p);if(f&&!l)lo(m,f,o);o.valueMap.set(x,a)}}break;case"modern":{al(o,n.provenance,n.key);for(let[c,p]of n.values){const a=o.families.get(c);if(a){Fn(o,a,n.key);const x=`${c}(${e(n.key)})`;o.valueMap.set(x,p)}}}}break}}function $x(n,i,o){const c=n==="newValue"?i.updates:[...i.updates].reverse();for(let p of c)switch(p.type){case"atom_update":case"selector_update":lx(n,p,o);break;case"state_creation":xl(p,n,o);break;case"state_disposal":ml(p,n,o);break;case"molecule_creation":ll(p,n,o);break;case"molecule_disposal":fl(p,n,o);break;case"transaction_update":$x(n,p,o);break}}function sv(n,i,o){if(kn(o)&&n)o.transactionMeta.epoch.set(n,i)}function jv(n,i,o){if(!kn(o))return;const p=o.transactionMeta.actionContinuities.getRelatedKey(n);if(p!==void 0)o.transactionMeta.epoch.set(p,i)}var Nv=(n,i)=>{const o=b(i),{parent:c}=o;if(c===null||!An(o)||o.transactionMeta?.phase!=="building"){i.logger.warn("\uD83D\uDC1E","transaction","???","applyTransaction called outside of a transaction. This is probably a bug in AtomIO.");return}o.transactionMeta.phase="applying",o.transactionMeta.update.output=n,c.child=null,c.on.transactionApplying.next(o.transactionMeta);const{updates:p}=o.transactionMeta.update;if(i.logger.info("\uD83D\uDEC4","transaction",o.transactionMeta.update.key,`Applying transaction with ${p.length} updates:`,p),$x("newValue",o.transactionMeta.update,c),kn(c))jv(o.transactionMeta.update.key,o.transactionMeta.update.epoch,c),d({key:o.transactionMeta.update.key,type:"transaction"},i)?.subject.next(o.transactionMeta.update),i.logger.info("\uD83D\uDEEC","transaction",o.transactionMeta.update.key,"Finished applying transaction.");else if(An(c))c.transactionMeta.update.updates.push(o.transactionMeta.update);c.on.transactionApplying.next(null)};function Lv(n,i,o){if(!kn(o))return;const{epoch:p,actionContinuities:a}=o.transactionMeta;if(a.set(n,i),!p.has(n))p.set(n,-1)}class Zi extends Map{n;deleted=new Set;constructor(n){super();this.source=n}get(n){if(super.has(n))return super.get(n);if(!this.deleted.has(n)&&this.source.has(n))return this.source.get(n);return}set(n,i){return this.deleted.delete(n),super.set(n,i)}hasOwn(n){return super.has(n)}has(n){return!this.deleted.has(n)&&(super.has(n)||this.source.has(n))}delete(n){return this.deleted.add(n),super.delete(n)}}var Bv=(n,i,o,c)=>{const p=b(o),a={parent:p,child:null,on:p.on,loggers:p.loggers,logger:p.logger,config:p.config,atoms:new Zi(p.atoms),atomsThatAreDefault:new Set(p.atomsThatAreDefault),families:new Zi(p.families),operation:{open:!1},readonlySelectors:new Zi(p.readonlySelectors),timelines:new Zi(p.timelines),timelineTopics:new Ni(p.timelineTopics.toJSON()),trackers:new Map,transactions:new Zi(p.transactions),selectorAtoms:new Ni(p.selectorAtoms.toJSON()),selectorGraph:new Ni(p.selectorGraph.toJSON(),{makeContentKey:(...f)=>f.sort().join(":")}),selectors:new Zi(p.selectors),valueMap:new Zi(p.valueMap),defaults:p.defaults,disposalTraces:o.disposalTraces.copy(),molecules:new Zi(p.molecules),moleculeFamilies:new Zi(p.moleculeFamilies),moleculeInProgress:p.moleculeInProgress,miscResources:new Zi(p.miscResources)},x=yv(n,o),m={phase:"building",update:{type:"transaction_update",key:n,id:c,epoch:x===void 0?Number.NaN:x+1,updates:[],params:i,output:void 0},toolkit:{get:(...f)=>Kn(l,...f),set:(...f)=>{zn(l,...f)},run:(f,$=Pc())=>qo(f,$,l),find:(f,$)=>Fn(l,f,$),seek:(f,$)=>Nn(l,f,$),json:(f)=>en(l,f),make:(f,$,v,...S)=>_o(l,f,$,v,...S),dispose:(...f)=>{li(l,...f)},env:()=>fx(l)}},l=Object.assign(a,{transactionMeta:m});return p.child=l,o.logger.info("\uD83D\uDEEB","transaction",n,"Building transaction with params:",i),l};function cl(n,i){const o={key:n.key,type:"transaction",run:(a,x)=>{const m=Bv(n.key,a,i,x);try{const l=b(i),{toolkit:f}=m.transactionMeta,$=n.do(f,...a);return Nv($,l),$}catch(l){throw Mv(c),i.logger.warn("\uD83D\uDCA5","transaction",n.key,"caught:",l),l}},install:(a)=>cl(n,a),subject:new an},c=b(i);c.transactions.set(o.key,o);const p=ki(o);return i.on.transactionCreation.next(p),p}function yv(n,i){const o=kn(i),c=o?i.transactionMeta.actionContinuities.getRelatedKey(n):void 0;return o&&c!==void 0?i.transactionMeta.epoch.get(c):void 0}class vx{_buffer;_index=0;constructor(n){let i;if(typeof n==="number")i=n;else i=n.length;this._buffer=Array.from({length:i})}get buffer(){return this._buffer}get index(){return this._index}add(n){this._buffer[this._index]=n,this._index=(this._index+1)%this._buffer.length}copy(){const n=new vx([...this._buffer]);return n._index=this._index,n}}class hv{parent=null;child=null;valueMap=new Map;defaults=new Map;atoms=new Map;selectors=new Map;readonlySelectors=new Map;atomsThatAreDefault=new Set;selectorAtoms=new Ni({between:["selectorKey","atomKey"],cardinality:"n:n"});selectorGraph=new Ni({between:["upstreamSelectorKey","downstreamSelectorKey"],cardinality:"n:n"},{makeContentKey:(...n)=>n.sort().join(":")});trackers=new Map;families=new Map;transactions=new Map;transactionMeta={epoch:new Map,actionContinuities:new Ni({between:["continuity","action"],cardinality:"1:n"})};timelines=new Map;timelineTopics=new Ni({between:["timelineKey","topicKey"],cardinality:"1:n"});disposalTraces=new vx(100);molecules=new Map;moleculeFamilies=new Map;moleculeInProgress=null;miscResources=new Map;on={atomCreation:new an,atomDisposal:new an,selectorCreation:new an,selectorDisposal:new an,timelineCreation:new an,transactionCreation:new an,transactionApplying:new nl(null),operationClose:new an,moleculeCreationStart:new an,moleculeCreationDone:new an,moleculeDisposal:new an};operation={open:!1};config={name:"IMPLICIT_STORE",lifespan:"ephemeral"};loggers=[new oa("warn",(n,i,o)=>!o.includes("\uD83D\uDD0D"))];logger={error:(...n)=>{for(let i of this.loggers)i.error(...n)},info:(...n)=>{for(let i of this.loggers)i.info(...n)},warn:(...n)=>{for(let i of this.loggers)i.warn(...n)}};constructor(n,i=null){if(this.config={...i?.config,...n},i!==null){if(this.valueMap=new Map(i?.valueMap),this.operation={...i?.operation},kn(i))this.transactionMeta={epoch:new Map(i?.transactionMeta.epoch),actionContinuities:new Ni(i?.transactionMeta.actionContinuities.toJSON())};for(let[,c]of i.families){if(c.internalRoles?.includes("mutable")||c.internalRoles?.includes("join"))continue;c.install(this)}const o=new Set;for(let[,c]of i.atoms){if(o.has(c.key))continue;if(c.install(this),c.type==="mutable_atom"){const p=en(i,c),a=so(c);o.add(p.key),o.add(a.key)}}for(let[,c]of i.readonlySelectors)c.install(this);for(let[,c]of i.selectors){if(o.has(c.key))continue;c.install(this)}for(let[,c]of i.transactions)c.install(this);for(let[,c]of i.timelines)c.install(this)}}}var on={get STORE(){if(!globalThis.ATOM_IO_IMPLICIT_STORE)globalThis.ATOM_IO_IMPLICIT_STORE=new hv({name:"IMPLICIT_STORE",lifespan:"ephemeral"});return globalThis.ATOM_IO_IMPLICIT_STORE}};function d(n,i){let o,c=i;while(c!==null){switch(n.type){case"atom":case"mutable_atom":o=c.atoms.get(n.key);break;case"selector":o=c.selectors.get(n.key);break;case"readonly_selector":o=c.readonlySelectors.get(n.key);break;case"atom_family":case"mutable_atom_family":case"selector_family":case"readonly_selector_family":o=c.families.get(n.key);break;case"timeline":o=c.timelines.get(n.key);break;case"transaction":o=c.transactions.get(n.key);break;case"molecule":o=c.molecules.get(e(n.key));break;case"molecule_family":o=c.moleculeFamilies.get(n.key);break}if(o)return o;c=c.child}throw new Ui(n,i)}function wx(n,i){let o;o=d(n,i);const{family:c}=n;for(let x of o.joins.values())x.relations.delete(o.key),x.molecules.delete(o.stringKey);const p=[];for(let x of o.above.values())p.push(ki(x));const a=[];for(let x of o.tokens.values()){const m=x.family;a.push([m.key,i.valueMap.get(x.key)])}if(c){const x=d(c,i),m={type:"molecule_disposal",subType:"classic",token:n,family:c,context:p,values:a};if(n.family)m.family=n.family;for(let f of o.tokens.values())li(i,f);for(let f of o.below.values())if(f.dependsOn==="all")wx(f,i);else if(f.above.delete(o.stringKey),f.above.size===0)wx(f,i);if(o.below.clear(),An(i)&&i.transactionMeta.phase==="building")i.transactionMeta.update.updates.push(m);else x.subject.next(m);i.molecules.delete(o.stringKey)}for(let x of o.above.values())x.below.delete(o.stringKey)}function bo(n,i,o){const c=n.families.get(i.key);if(c===void 0)throw new Ui(i,n);const p=c(o),a=b(n);if(p.family&&a.moleculeInProgress===null){if(kn(a))switch(p.type){case"atom":case"mutable_atom":n.on.atomCreation.next(p);break;case"selector":case"readonly_selector":n.on.selectorCreation.next(p);break}else if(An(a)&&a.on.transactionApplying.state===null)a.transactionMeta.update.updates.push({type:"state_creation",token:p})}return p}function Nn(n,i,o){const c=e(o),p=`${i.key}(${c})`,a=b(n);let x;switch(i.type){case"atom_family":case"mutable_atom_family":x=a.atoms.get(p);break;case"selector_family":x=a.selectors.get(p);break;case"readonly_selector_family":x=a.readonlySelectors.get(p);break;case"molecule_family":x=a.molecules.get(e(o))}if(x)return ki(x);return x}function Fn(n,i,o){let c=Nn(n,i,o);if(c)return c;const p=n.molecules.get(e(o));if(p)return lo(p,i,n);if(n.config.lifespan==="immortal"){const a=ec(i,o);return n.logger.error("\u274C",a.type,a.key,`was not found in store "${n.config.name}"; returned a counterfeit token.`),a}return c=bo(n,i,o),c}function li(n,...i){let o,c;if(i.length===1)o=i[0],c=o.key;else{const a=i[0],x=i[1];o=a.type==="molecule_family"?Nn(n,a,x)??ec(a,x):Fn(n,a,x)}try{d(o,n)}catch(a){const x=n.disposalTraces.buffer.find((m)=>m?.key===o.key);n.logger.error("\u274C",o.type,o.key,`could not be disposed because it was not found in the store "${n.config.name}".`,x?`\n This state was most recently disposed\n${x.trace}`:"No previous disposal trace was found.");return}switch(o.type){case"atom":case"mutable_atom":$l(o,n);break;case"selector":case"readonly_selector":Dv(o,n);break;case"molecule":wx(o,n);break}const{stack:p}=new Error;if(p){const a=p?.split("\n")?.slice(3)?.join("\n");n.disposalTraces.add({key:o.key,trace:a})}}var Sx=(n,i)=>b(i).atoms.has(n),j4=(n,i)=>b(i).selectors.has(n),N4=(n,i)=>b(i).readonlySelectors.has(n),Iv=(n,i)=>Sx(n,i)||j4(n,i)||N4(n,i);var Jx=(n,i)=>{return b(i).selectorGraph.getRelationEntries({downstreamSelectorKey:n}).filter(([c,{source:p}])=>p!==n).map(([c,{source:p}])=>p).filter((c)=>Iv(c,i))};var vl=(n,i,o)=>{const c=[],p=Jx(n,o);while(p.length>0){const a=p.shift();if(i.has(a))continue;if(i.add(a),!Sx(a,o))p.push(...Jx(a,o));else if(!c.includes(a))c.push(a)}return c},tv=(n,i)=>{const o=n.key,c=Jx(o,i),p=new Set;return c.flatMap((a)=>Sx(a,i)?a:vl(a,p,i))};var Cv=(n,i,o,c)=>{const p=b(c);if(i.type==="atom"||i.type==="mutable_atom")p.selectorAtoms.set({selectorKey:n,atomKey:i.key}),c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atom "${i.key}"`);else{const a=vl(i.key,o,c);c.logger.info("\uD83D\uDD0D","selector",n,`discovers root atoms: [ ${a.map((x)=>`"${x}"`).join(", ")} ]`);for(let x of a)p.selectorAtoms=p.selectorAtoms.set({selectorKey:n,atomKey:x})}o.add(i.key)};var Ax=(n,i,o)=>({get:(...c)=>{const p=b(o);let a;if(c.length===2){const[l,f]=c;switch(l.type){case"molecule_family":return Kn(o,l,f);default:if(o.config.lifespan==="ephemeral")a=Fn(o,l,f);else{const $=Nn(o,l,f);if($)a=$;else throw new Ui(l,f,o)}}}else[a]=c;if(a.type==="molecule")return Kn(o,a);const x=d(a,o),m=Po(x,o);return o.logger.info("\uD83D\uDD0C","selector",n,`registers dependency ( "${a.key}" =`,m,")"),p.selectorGraph.set({upstreamSelectorKey:a.key,downstreamSelectorKey:n},{source:a.key}),Cv(n,a,i,o),m},set:(...c)=>{let p,a;if(c.length===2)p=c[0],a=c[1];else{const l=c[0],f=c[1];a=c[2];const $=o.config.lifespan==="ephemeral"?Fn(o,l,f):Nn(o,l,f);if(!$)throw new Ui(l,f,o);p=$}const x=b(o),m=d(p,x);xx(m,a,x)},find:(c,p)=>Fn(o,c,p),seek:(c,p)=>Nn(o,c,p),json:(c)=>en(o,c)});var na=(n,i,o)=>{const c=b(n),p=new an,a=new Set,{get:x,find:m,seek:l,json:f}=Ax(i.key,a,c),$=()=>{const R=i.get({get:x,find:m,seek:l,json:f});return ri(i.key,R,p,b(n)),a.clear(),R},v={...i,subject:p,install:(R)=>na(R,i,o),get:$,type:"readonly_selector",...o&&{family:o}};c.readonlySelectors.set(i.key,v);const S=$();n.logger.info("\u2728",v.type,v.key,"=",S);const T={key:i.key,type:"readonly_selector"};if(o)T.family=o;return T};var xa=(n,i,o)=>{const c=b(n),p=new an,a=new Set,x=Ax(i.key,a,c),{find:m,get:l,seek:f,json:$}=x,v={find:m,get:l,seek:f,json:$},S=(z=i.get,Y=b(n))=>{const E=z(v);return ri(i.key,E,p,Y),a.clear(),E},R={...i,subject:p,install:(z)=>xa(z,i,o),get:S,set:(z)=>{const Y=b(n),E=S(i.get,Y),s=ax(z)(E);if(n.logger.info("\uD83D\uDCDD","selector",i.key,"set (",E,"->",s,")"),ri(i.key,s,p,Y),gc(Y,i.key),kn(Y))p.next({newValue:s,oldValue:E});i.set(x,s)},type:"selector",...o&&{family:o}};c.selectors.set(i.key,R);const F=S();n.logger.info("\u2728",R.type,R.key,"=",F);const X={key:i.key,type:"selector"};if(o)X.family=o;return X};function gp(n,i){if("set"in i){const p=xa(n,i,void 0);return n.on.selectorCreation.next(p),p}const c=na(n,i,void 0);return n.on.selectorCreation.next(c),c}function Dv(n,i){const o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","selector",c,"Standalone selectors cannot be disposed.");else{const a=o.molecules.get(p.family.subKey);if(a)a.tokens.delete(c);switch(n.type){case"selector":o.selectors.delete(c),d({key:p.family.key,type:"selector_family"},i).subject.next({type:"state_disposal",token:n});break;case"readonly_selector":o.readonlySelectors.delete(c),d({key:p.family.key,type:"readonly_selector_family"},i).subject.next({type:"state_disposal",token:n});break}if(o.valueMap.delete(c),o.selectorAtoms.delete(c),o.selectorGraph.delete(c),i.logger.info("\uD83D\uDD25",n.type,c,"deleted"),An(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.selectorDisposal.next(n)}}function ia(n,i,o){const c={key:i.key,type:"selector_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","selector_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T=xa(S,{key:v,get:i.get(l),set:i.set(l)},$);return a.next({type:"state_creation",token:T}),T},c,{internalRoles:o,subject:a,install:(l)=>ia(l,i),default:(l)=>{return i.get(l)({get:(...$)=>Kn(n,...$),find:($,v)=>Fn(n,$,v),seek:($,v)=>Nn(n,$,v),json:($)=>en(n,$)})}});return n.families.set(i.key,m),c}function kv(n,i,o=on.STORE){const c=ia(o,{key:`${n.key}:JSON`,get:(a)=>({seek:x,get:m})=>{const l=x(n,a);if(l)return i.toJson(m(l));const f=e(a),$=o.molecules.get(f);if($){const S=lo($,n,o);return i.toJson(m(S))}if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${f}"`);const v=bo(o,n,a);return i.toJson(m(v))},set:(a)=>({seek:x,set:m},l)=>{const f=x(n,a);if(f)m(f,i.fromJson(l));else{const $=e(a),v=o.molecules.get($);if(v){const S=lo(v,n,o);m(S,i.fromJson(l))}else{if(o.config.lifespan==="immortal")throw new Error(`No molecule found for key "${$}"`);m(bo(o,n,a),i.fromJson(l))}}}},["mutable","json"]);return d(n,o).subject.subscribe(`store=${o.config.name}::json-selector-family`,(a)=>{if(a.token.family)Nn(o,c,rn(a.token.family.subKey))}),c}var rn=(n)=>JSON.parse(n),e=(n)=>JSON.stringify(n),BO=[Array.prototype,Boolean.prototype,Number.prototype,Object.prototype,String.prototype];var rv=(n,i)=>{const o=b(i);if(o.operation.open)return o.operation.prev.get(n.key);return o.valueMap.get(n.key)};var Jl=(n,i)=>{const o=b(i);return tv(n,i).map((p)=>{const a=o.atoms.get(p);if(a===void 0)throw new Error(`Atom "${p}", a dependency of selector "${n.key}", not found in store "${i.config.name}".`);return a.subject.subscribe(`${n.type}:${n.key}`,(x)=>{i.logger.info("\uD83D\uDCE2",n.type,n.key,"root",p,"went",x.oldValue,"->",x.newValue);const m=rv(n,o),l=Po(n,o);i.logger.info("\u2728",n.type,n.key,"went",m,"->",l),n.subject.next({newValue:l,oldValue:m})})})};function Gi(n,i,o,c){function p(v){if(c.operation.open){const S=c.on.operationClose.subscribe(`state subscription ${o}`,()=>{S(),i(v)})}else i(v)}const a=d(n,c);c.logger.info("\uD83D\uDC40",a.type,a.key,`Adding subscription "${o}"`);const x=a.type==="selector"||a.type==="readonly_selector";let m=null,l=p;if(x)m=Jl(a,c),l=(v)=>{if(m)m.length=0,m.push(...Jl(a,c));p(v)};const f=a.subject.subscribe(o,l);return()=>{if(c.logger.info("\uD83D\uDE48",a.type,a.key,`Removing subscription "${o}"`),f(),m)for(let v of m)v()}}var wl=(n,i,o,c)=>{const p=d(n,c);c.logger.info("\uD83D\uDC40","timeline",n.key,`Adding subscription "${o}"`);const a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","timeline",n.key,`Removing subscription "${o}" from timeline`),a()}};var Sl=(n,i,o,c)=>{const p=d(n,c);c.logger.info("\uD83D\uDC40","transaction",n.key,`Adding subscription "${o}"`);const a=p.subject.subscribe(o,i);return()=>{c.logger.info("\uD83D\uDE48","transaction",n.key,`Removing subscription "${o}"`),a()}};class eo{Update;initializeState(n,i){const o=`*${n.key}`;i.atoms.delete(o),i.valueMap.delete(o);const c=n.family?{key:`*${n.family.key}`,subKey:n.family.subKey}:void 0,p=ko(i,{key:o,default:null},c);if(i.parent?.valueMap.has(o)){const a=i.parent.valueMap.get(o);i.valueMap.set(o,a)}return p}unsubscribeFromInnerValue;unsubscribeFromState;observeCore(n,i,o){const c=`tracker:${o.config.name}:${An(o)?o.transactionMeta.update.key:"main"}:${n.key}`,p=Kn(o,n);this.unsubscribeFromInnerValue=p.subscribe(c,(a)=>{zn(o,i,a)}),this.unsubscribeFromState=Gi(n,(a)=>{if(a.newValue!==a.oldValue)this.unsubscribeFromInnerValue(),this.unsubscribeFromInnerValue=a.newValue.subscribe(c,(x)=>{zn(o,i,x)})},c,o)}updateCore(n,i,o){const c=`tracker:${o.config.name}:${An(o)?o.transactionMeta.update.key:"main"}:${n.key}`;Gi(i,({newValue:p,oldValue:a})=>{const x=o.timelineTopics.getRelatedKey(i.key);if(x){if(o.timelines.get(x)?.timeTraveling){const f=wl({key:x,type:"timeline"},($)=>{f(),zn(o,n,(v)=>{if($==="redo"&&p)v.do(p);else if($==="undo"&&a)v.undo(a);return v})},c,o);return}}const m=o.on.operationClose.subscribe(c,()=>{m();const l=Kn(o,n),f=p===null?-1:l.getUpdateNumber(p),$=f-l.cacheUpdateNumber;if(p&&$===1)zn(o,n,(v)=>(v.do(p),v));else o.logger.info("\u274C","mutable_atom",n.key,`could not be updated. Expected update number ${l.cacheUpdateNumber+1}, but got ${f}`)})},c,o)}mutableState;latestUpdateState;dispose;constructor(n,i){this.mutableState=n;const o=b(i);this.latestUpdateState=this.initializeState(n,o),this.observeCore(n,this.latestUpdateState,o),this.updateCore(n,this.latestUpdateState,o),o.trackers.set(n.key,this),this.dispose=()=>{this.unsubscribeFromInnerValue(),this.unsubscribeFromState(),o.trackers.delete(n.key)}}}function ma(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const c=b(n),p=c.atoms.get(i.key);if(p&&p.type==="mutable_atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),ki(p);const a=new an,x={...i,type:"mutable_atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),ma(f,i,o)},subject:a};if(o)x.family=o;const m=i.default();c.atoms.set(x.key,x),Fx(i.key,n),ri(i.key,m,a,c);const l=ki(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(T)=>{zn(n,l,T)},onSet:(T)=>Gi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}if(new eo(l,n),!o)Jv(l,i,n);return l}class Al{Update;latestUpdateAtoms;mutableAtoms;constructor(n,i){const o=Co(i,{key:`*${n.key}`,default:null},["mutable","updates"]);this.latestUpdateAtoms=d(o,i),this.mutableAtoms=n,this.mutableAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){const p=rn(c.token.family.subKey);Nn(i,this.latestUpdateAtoms,p),new eo(c.token,i)}}),this.latestUpdateAtoms.subject.subscribe(`store=${i.config.name}::tracker-atom-family`,(c)=>{if(c.token.family){const p=rn(c.token.family.subKey),a=Nn(i,this.mutableAtoms,p);if(a)new eo(a,i)}})}}function dp(n,i,o){const c={key:i.key,type:"mutable_atom_family"},p=n.families.get(i.key);if(p)n.logger.error("\u2757","mutable_atom_family",i.key,`Overwriting an existing ${mo(p)} "${p.key}" in store "${n.config.name}". You can safely ignore this warning if it is due to hot module replacement.`);const a=new an,m=Object.assign((l)=>{const f=e(l),$={key:i.key,subKey:f},v=`${i.key}(${f})`,S=b(n),T={key:v,default:()=>i.default(l),toJson:i.toJson,fromJson:i.fromJson,mutable:!0};if(i.effects)T.effects=i.effects(l);const R=ma(S,T,$);return a.next({type:"state_creation",token:R}),R},c,{subject:a,install:(l)=>dp(l,i),toJson:i.toJson,fromJson:i.fromJson,internalRoles:o});return n.families.set(i.key,m),kv(m,i,n),new Al(m,n),c}var Fl=(n,i)=>{const o=b(i),c=`${n.key}:JSON`;return o.families.get(c)};var en=(n,i)=>{if(i.family){const c=b(n),a={key:`${i.family.key}:JSON`,type:"selector_family"},x=d(a,c),m=JSON.parse(i.family.subKey);return Fn(n,x,m)}return{type:"selector",key:`${i.key}:JSON`}};var so=(n)=>{const o={type:"atom",key:`*${n.key}`};if(n.family)o.family={key:`*${n.family.key}`,subKey:n.family.subKey};return o};function uv(n){return typeof n==="object"&&n!==null&&"do"in n&&"undo"in n&&"subscribe"in n}function ca(n,i,o){const c=i.valueMap.get(n.key),p=o.valueMap.get(n.key);if(c===p){if(c===void 0)return typeof n.default==="function"?n.default():n.default;i.logger.info("\uD83D\uDCC3","atom",n.key,"copying");const a=n.toJson(c),x=n.fromJson(a);return o.valueMap.set(n.key,x),new eo(n,i),x}return p}function ri(n,i,o,c){const p=c.valueMap.get(n);if(p instanceof ep)p.use(i);if(i instanceof Promise){const a=new ep(i);return c.valueMap.set(n,a),a.then((x)=>{ri(n,x,o,c),o.next({newValue:x,oldValue:a})}).catch((x)=>{c.logger.error("\uD83D\uDCA5","state",n,"rejected:",x)}),a}return c.valueMap.set(n,i),i}var Rv=(n,i)=>{let o=i.valueMap.get(n.key);if(n.type==="mutable_atom"&&An(i)){const{parent:c}=i;o=ca(n,c,i)}return o},Gv=(n,i)=>{const o=i.valueMap.get(n);if(o instanceof ep){const c=o,p=i.selectors.get(n)??i.readonlySelectors.get(n);if(p)c.use(p.get());return}if(i.operation.open)i.operation.prev.set(n,o);i.valueMap.delete(n),i.logger.info("\uD83D\uDDD1","state",n,"evicted")};var Hv=(n,i)=>{return b(i).atomsThatAreDefault.has(n)},Fx=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(o.atomsThatAreDefault).add(n)},Ev=(n,i)=>{const o=b(i);o.atomsThatAreDefault=new Set(b(i).atomsThatAreDefault),o.atomsThatAreDefault.delete(n)};function ko(n,i,o){n.logger.info("\uD83D\uDD28","atom",i.key,`creating in store "${n.config.name}"`);const c=b(n),p=c.atoms.get(i.key);if(p&&p.type==="atom")return n.logger.error("\u274C","atom",i.key,"Tried to create atom, but it already exists in the store."),ki(p);const a=new an,x={...i,type:"atom",install:(f)=>{return f.logger.info("\uD83D\uDEE0\uFE0F","atom",i.key,`installing in store "${f.config.name}"`),ko(f,i,o)},subject:a};if(o)x.family=o;let m=i.default;if(i.default instanceof Function)m=i.default();c.atoms.set(x.key,x),Fx(i.key,n),ri(i.key,m,a,c);const l=ki(x);if(i.effects){let f=0;const $=[];for(let v of i.effects){const S=v({setSelf:(T)=>{zn(n,l,T)},onSet:(T)=>Gi(l,T,`effect[${f}]`,n)});if(S)$.push(S);++f}x.cleanup=()=>{for(let v of $)v()}}return l}function Tv(n,i){if("mutable"in i){const p=ma(n,i,void 0);return n.on.atomCreation.next(p),p}const c=ko(n,i,void 0);return n.on.atomCreation.next(c),c}function $l(n,i){const o=b(i),{key:c}=n,p=d(n,o);if(!p.family)i.logger.error("\u274C","atom",c,"Standalone atoms cannot be disposed.");else{p.cleanup?.();const a=i.valueMap.get(p.key);d({key:p.family.key,type:"atom_family"},i).subject.next({type:"state_disposal",token:n,value:a});const m=o.molecules.get(p.family.subKey);if(m)m.tokens.delete(c);if(o.atoms.delete(c),o.valueMap.delete(c),o.selectorAtoms.delete(c),o.atomsThatAreDefault.delete(c),i.timelineTopics.delete(c),n.type==="mutable_atom"){const l=so(n);$l(l,i),i.trackers.delete(c)}if(i.logger.info("\uD83D\uDD25","atom",c,"deleted"),An(o)&&o.transactionMeta.phase==="building")o.transactionMeta.update.updates.push({type:"state_disposal",token:n});else i.on.atomDisposal.next(n)}}class oi extends Set{mode="record";subject=new an;cacheLimit=0;cache=[];cacheIdx=-1;cacheUpdateNumber=-1;constructor(n,i=0){super(n);if(n instanceof oi)this.parent=n,this.cacheUpdateNumber=n.cacheUpdateNumber;if(i)this.cacheLimit=i,this.cache=new Array(i),this.subscribe("auto cache",(o)=>{this.cacheIdx++,this.cacheIdx%=this.cacheLimit,this.cache[this.cacheIdx]=o})}toJSON(){return{members:[...this],cache:this.cache,cacheLimit:this.cacheLimit,cacheIdx:this.cacheIdx,cacheUpdateNumber:this.cacheUpdateNumber}}static fromJSON(n){const i=new oi(n.members,n.cacheLimit);return i.cache=n.cache,i.cacheIdx=n.cacheIdx,i.cacheUpdateNumber=n.cacheUpdateNumber,i}add(n){const i=super.add(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`add:${e(n)}`);return i}clear(){const n=this.mode==="record"?[...this]:null;if(super.clear(),n)this.cacheUpdateNumber++,this.emit(`clear:${JSON.stringify(n)}`)}delete(n){const i=super.delete(n);if(this.mode==="record")this.cacheUpdateNumber++,this.emit(`del:${e(n)}`);return i}parent;child=null;transactionUpdates=null;transaction(n){this.mode="transaction",this.transactionUpdates=[],this.child=new oi(this);const i=this.child._subscribe("transaction",(o)=>{this.transactionUpdates?.push(o)});try{if(n(this.child)){for(let c of this.transactionUpdates)this.doStep(c);this.cacheUpdateNumber++,this.emit(`tx:${this.transactionUpdates.join(";")}`)}}catch(o){throw console.error("Failed to apply transaction to SetRTX:",o),o}finally{i(),this.child=null,this.transactionUpdates=null,this.mode="record"}}_subscribe(n,i){return this.subject.subscribe(n,i)}subscribe(n,i){return this.subject.subscribe(n,(o)=>{i(`${this.cacheUpdateNumber}=${o}`)})}emit(n){this.subject.next(n)}doStep(n){const i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.add(JSON.parse(c));break;case"clear":this.clear();break;case"del":this.delete(JSON.parse(c));break;case"tx":for(let p of c.split(";"))this.doStep(p)}}getUpdateNumber(n){const i=n.indexOf("=");return Number(n.substring(0,i))}do(n){const i=n.indexOf("="),o=Number(n.substring(0,i)),c=o-this.cacheUpdateNumber;if(c>0){if(c===1){this.mode="playback";const a=n.substring(i+1);return this.doStep(a),this.mode="record",this.cacheUpdateNumber=o,null}return this.cacheUpdateNumber+1}if(Math.abs(c)<this.cacheLimit){const a=this.cacheIdx+c;if(this.cache[a]===n)return null;this.mode="playback";let m=!1;while(!m){this.cacheIdx%=this.cacheLimit;const f=this.cache[this.cacheIdx];if(this.cacheIdx--,!f)return"OUT_OF_RANGE";this.undo(f),m=this.cacheIdx===a-1}const l=n.substring(i+1);return this.doStep(l),this.mode="record",this.cacheUpdateNumber=o,null}return"OUT_OF_RANGE"}undoStep(n){const i=n.indexOf(":"),o=n.substring(0,i),c=n.substring(i+1);switch(o){case"add":this.delete(JSON.parse(c));break;case"del":this.add(JSON.parse(c));break;case"clear":{const p=JSON.parse(c);for(let a of p)this.add(a);break}case"tx":{const p=c.split(";");for(let a=p.length-1;a>=0;a--)this.undoStep(p[a])}}}undo(n){const i=n.indexOf("=");if(Number(n.substring(0,i))===this.cacheUpdateNumber){this.mode="playback";const c=n.substring(i+1);return this.undoStep(c),this.mode="record",this.cacheUpdateNumber--,null}return this.cacheUpdateNumber}}function Ln(n){return n[0].toUpperCase()+n.slice(1)}function Tx(n,i,o=on.STORE){return Tl(o).set(n.key,new Ml(n,i,o)),{key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality}}function Tl(n){if("joins"in n&&n.joins instanceof Map)return n.joins;const i=new Map;return n.joins=i,i}function aa(n,i){const o=Tl(i);let c=o.get(n.key);if(c===void 0){if(c=Tl(on.STORE).get(n.key)?.in(i),c===void 0)throw new Error(`Join "${n.key}" not found in store "${i.config.name}"`);o.set(n.key,c)}return c}function np(n,i,o){const c=aa(n,o);let p;switch(n.cardinality){case"1:1":{const a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeyOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntryOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}break}case"1:n":{const a=`${n.a}KeyOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntryOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}break}case"n:n":{const a=`${n.a}KeysOf${Ln(n.b)}`,x=`${n.b}KeysOf${Ln(n.a)}`;p={get[a](){const l=c.states[a];return c.retrieve(l,i)},get[x](){const l=c.states[x];return c.retrieve(l,i)}};const m=`${n.a}EntriesOf${Ln(n.b)}`;if(m in c.states){const l=`${n.b}EntriesOf${Ln(n.a)}`;Object.assign(p,{get[m](){const f=c.states[m];return c.retrieve(f,i)},get[l](){const f=c.states[l];return c.retrieve(f,i)}})}}}return p}function bv(n,i){return np(n,i,on.STORE)}function Kc(n,i,o){const c=aa(n,o),p=b(o);if(An(p)){const{toolkit:a}=p.transactionMeta;c.transact(a,({relations:x})=>{i(x)})}else i(c.relations)}function L4(n,i){return aa(n,i).core.findRelatedKeysState}function Zv(n){return L4(n,on.STORE)}class Ml{options;defaultContent;toolkit;retrieve;molecules=new Map;relations;states;core;transact(n,i){const o=this.toolkit;this.toolkit=n,i(this),this.toolkit=o}store;alternates;[Symbol.dispose](){this.alternates.delete(this.store.config.name)}in(n){const i=n.config.name,o=this.alternates.get(i);if(o)return o;const c=new Ml(this.options,this.defaultContent,n);return this.alternates.set(i,c),c.alternates=this.alternates,c}constructor(n,i,o=on.STORE){this.store=o,this.options=n,this.defaultContent=i,this.alternates=new Map,this.alternates.set(o.config.name,this),this.store.miscResources.set(`join:${n.key}`,this),this.retrieve=(G,M)=>{const O=this.toolkit.seek(G,M);if(O)return O;const U=this.molecules.get(e(M));if(U){const V=d(G,o);return lo(U,V,o)}if(o.config.lifespan==="immortal")throw new Ui(G,M,o);return bo(o,G,M)},this.toolkit={get:(...G)=>Kn(o,...G),set:(...G)=>{zn(o,...G)},find:this.retrieve,seek:(...G)=>Nn(o,...G),json:(G)=>en(o,G),dispose:(...G)=>{li(o,...G)}};const c=n.between[0],p=n.between[1],a=dp(o,{key:`${n.key}/relatedKeys`,default:()=>new oi,mutable:!0,fromJson:(G)=>oi.fromJSON(G),toJson:(G)=>G.toJSON()},["join","relations"]);this.core={findRelatedKeysState:a};const x=({get:G},M)=>G(this.retrieve(a,M)),m=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M),K=this.retrieve(a,O);U(V,(B)=>B.add(O)),U(K,(B)=>B.add(M))},l=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M),K=this.retrieve(a,O);let B,_;U(V,(P)=>{if(P.delete(O),P.size===0)B=`"${M}"`;return P}),U(K,(P)=>{if(P.delete(M),P.size===0)_=`"${O}"`;return P})},f=(G,M,O)=>{const{get:U,set:V}=G,K=this.retrieve(a,M),B=U(K);for(let _ of B){if(O.includes(_))continue;const ln=this.retrieve(a,_);V(ln,($n)=>{return $n.delete(M),$n})}V(K,(_)=>{return _.transaction((P)=>{P.clear();for(let ln of O){const $n=x(G,ln),Qn=$n.has(M);if(this.relations.cardinality==="1:n"){const ji=[];for(let H of $n){if(H===M)continue;const k=x(G,H);if(k.delete(ln),k.size===0)ji.push(H)}if(!Qn&&$n.size>0)$n.clear();for(let H of ji){const k=[ln,H].sort(),Sn=`"${k[0]}:${k[1]}"`;this.molecules.delete(Sn)}}if(!Qn)$n.add(M);P.add(ln)}return!0}),_})},$=(G,M,O)=>{const{set:U}=G,V=this.retrieve(a,M);U(V,(K)=>{return K.transaction((B)=>{for(let _ of O)B.add(_);return!0}),K});for(let K of O){const B=this.retrieve(a,K);U(B,(_)=>{return _.add(M),_})}return!0},v=(G,M,O)=>{const U=x(G,M);return O?U.has(O):U.size>0},S={getRelatedKeys:(G)=>x(this.toolkit,G),addRelation:(G,M)=>{m(this.toolkit,G,M)},deleteRelation:(G,M)=>{l(this.toolkit,G,M)},replaceRelationsSafely:(G,M)=>{f(this.toolkit,G,M)},replaceRelationsUnsafely:(G,M)=>{$(this.toolkit,G,M)},has:(G,M)=>v(this.toolkit,G,M)};let T,R,F;if(i){R=Co(o,{key:`${n.key}/content`,default:i},["join","content"]);const G={key:n.key,type:"join",a:n.between[0],b:n.between[1],cardinality:n.cardinality};F=Uv(o,{key:`${n.key}/content-molecules`,new:class K{_;constructor(B,_){this.key=_}}});const M=({get:K},B)=>K(this.retrieve(R,B)),O=({set:K},B,_)=>{K(this.retrieve(R,B),_)},U=(K,B)=>{const _=o.molecules.get(`"${B}"`);if(_)this.toolkit.dispose(_),this.molecules.delete(`"${B}"`)};T=Object.assign(S,{getContent:(K)=>{return M(this.toolkit,K)},setContent:(K,B)=>{O(this.toolkit,K,B)},deleteContent:(K)=>{U(this.toolkit,K)}})}else T=S;const X=new Ni(n,{externalStore:T,makeContentKey:(...G)=>{const M=G.sort(),O=`${M[0]}:${M[1]}`,[U,V]=M.map((K)=>this.molecules.get(e(K)));if(o.config.lifespan==="immortal"&&U&&V){const K=b(o),B=_o(K,[U,V],F,O);this.molecules.set(`"${O}"`,d(B,K))}return O}}),z=()=>ro(o,{key:`${n.key}/singleRelatedKey`,get:(G)=>({get:M})=>{const O=this.retrieve(a,G),U=M(O);for(let V of U)return V;return null}},["join","keys"]),Y=()=>{return ro(o,{key:`${n.key}/multipleRelatedKeys`,get:(G)=>({get:M})=>{const O=Fl(a,o),U=this.retrieve(O,G);return M(U).members}},["join","keys"])},E=()=>ro(o,{key:`${n.key}/singleRelatedEntry`,get:(G)=>({get:M})=>{const O=this.retrieve(a,G),U=M(O);for(let V of U){const K=X.makeContentKey(G,V),B=this.retrieve(R,K),_=M(B);return[V,_]}return null}},["join","entries"]),s=()=>ro(o,{key:`${n.key}/multipleRelatedEntries`,get:(G)=>({get:M})=>{const O=Fl(a,o),U=this.retrieve(O,G);return M(U).members.map((K)=>{const B=X.makeContentKey(G,K),_=this.retrieve(R,B),P=M(_);return[K,P]})}},["join","entries"]);switch(n.cardinality){case"1:1":{const G=z(),M=`${c}KeyOf${Ln(p)}`,O=`${p}KeyOf${Ln(c)}`,U={[M]:G,[O]:G};let V;if(i){const K=E(),B=`${c}EntryOf${Ln(p)}`,_=`${p}EntryOf${Ln(c)}`,P={[B]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V;break}case"1:n":{const G=z(),M=Y(),O=`${c}KeyOf${Ln(p)}`,U=`${p}KeysOf${Ln(c)}`,V={[O]:G,[U]:M};let K;if(i){const B=E(),_=s(),P=`${c}EntryOf${Ln(p)}`,ln=`${p}EntriesOf${Ln(c)}`,$n={[P]:B,[ln]:_};K=Object.assign(V,$n)}else K=V;this.relations=X,this.states=K;break}default:{const G=Y(),M=`${c}KeysOf${Ln(p)}`,O=`${p}KeysOf${Ln(c)}`,U={[M]:G,[O]:G};let V;if(i){const K=s(),B=`${c}EntriesOf${Ln(p)}`,_=`${p}EntriesOf${Ln(c)}`,P={[B]:K,[_]:K};V=Object.assign(U,P)}else V=U;this.relations=X,this.states=V}}}}class ip{n;listeners;globalListeners;handleEvent(n,...i){for(let c of this.globalListeners)c(n,...i);const o=this.listeners.get(n);if(o)for(let c of o)c(...i)}id="no_id_retrieved";constructor(n){this.emit=n;this.listeners=new Map,this.globalListeners=new Set}on(n,i){const o=this.listeners.get(n);if(o)o.add(i);else this.listeners.set(n,new Set([i]));return this}onAny(n){return this.globalListeners.add(n),this}off(n,i){const o=this.listeners.get(n);if(o)if(i)o.delete(i);else this.listeners.delete(n);return this}offAny(n){return this.globalListeners.delete(n),this}}class la extends ip{n;i;o;incompleteData="";unprocessedEvents=[];incompleteLog="";unprocessedLogs=[];id="#####";handleLog(n){if(Array.isArray(n)){const[i,...o]=n;switch(i){case"i":this.logger.info(this.id,this.key,...o);break;case"w":this.logger.warn(this.id,this.key,...o);break;case"e":this.logger.error(this.id,this.key,...o);break}}}constructor(n,i,o=console){super((c,...p)=>{const a=JSON.stringify([c,...p])+"\x03",x=(m)=>{if(m.code==="EPIPE")console.error("EPIPE error during write",this.process.stdin);this.process.stdin.removeListener("error",x)};return this.process.stdin.once("error",x),this.process.stdin.write(a),this});this.process=n;this.key=i;this.logger=o;if(this.process=n,this.process.stdout.on("data",(c)=>{const p=c.toString();if(p==="\u2728")return;this.unprocessedEvents.push(...p.split("\x03"));const a=this.unprocessedEvents.shift();this.incompleteData+=a??"";try{if(this.incompleteData.startsWith("error"))console.log("\u2757",this.incompleteData);let x=rn(this.incompleteData);this.handleEvent(...x);while(this.unprocessedEvents.length>0){const m=this.unprocessedEvents.shift();if(m){if(this.unprocessedEvents.length===0)this.incompleteData=m;x=rn(m),this.handleEvent(...x)}}this.incompleteData=""}catch(x){console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.warn(this.incompleteData),console.warn("\u26A0\uFE0F----------------\u26A0\uFE0F"),console.error(x)}}),this.process.stderr.on("data",(c)=>{const p=c.toString();this.unprocessedLogs.push(...p.split("\x03"));const a=this.unprocessedLogs.shift();this.incompleteLog+=a??"";try{let x=rn(this.incompleteLog);this.handleLog(x);while(this.unprocessedLogs.length>0)if(this.incompleteLog=this.unprocessedLogs.shift()??"",this.incompleteLog)x=rn(this.incompleteLog),this.handleLog(x)}catch(x){console.error("\u274C\u274C\u274C"),console.error(this.incompleteLog),console.error(x),console.error("\u274C\u274C\u274C\uFE0F")}}),n.pid)this.id=n.pid.toString()}}class qv extends ip{in;out;id="no_id_retrieved";disposalFunctions=[];constructor(n){super((...i)=>{return this.out.next(i),this});this.id=n,this.in=new an,this.out=new an,this.in.subscribe("socket",(i)=>{this.handleEvent(...i)})}dispose(){for(let n of this.disposalFunctions)n()}}class Rl extends ip{incompleteData="";unprocessedEvents=[];relays;relayServices;process;id="#####";log(...n){this.process.stderr.write(e(n.map((i)=>i instanceof oi?`{ ${i.toJSON().members.join(" | ")} }`:i))+"\x03")}logger={info:(...n)=>{this.log("i",...n)},warn:(...n)=>{this.log("w",...n)},error:(...n)=>{this.log("e",...n)}};constructor(){super((n,...i)=>{const o=JSON.stringify([n,...i]);return this.process.stdout.write(o+"\x03"),this});if(this.process=process,this.process.stdin.resume(),this.relays=new Map,this.relayServices=[],this.process.stdin.on("data",(n)=>{const i=n.toString();this.unprocessedEvents.push(...i.split("\x03"));const o=this.unprocessedEvents.shift();this.incompleteData+=o??"";try{const c=rn(this.incompleteData);this.logger.info("\uD83C\uDFB0","received",c),this.handleEvent(...c);while(this.unprocessedEvents.length>0){const p=this.unprocessedEvents.shift();if(p){if(this.unprocessedEvents.length===0)this.incompleteData=p;const a=rn(p);this.handleEvent(...a)}}this.incompleteData=""}catch(c){if(c instanceof Error)this.logger.error("\u2757",c.message,c.cause,c.stack)}}),this.on("exit",()=>{this.logger.info("\uD83D\uDD25",this.id,'received "exit"'),process.exit(0)}),process.on("exit",(n)=>{this.logger.info("\uD83D\uDD25",this.id,`exited with code ${n}`)}),process.on("end",()=>{this.logger.info("\uD83D\uDD25",this.id,"ended"),process.exit(0)}),process.on("SIGTERM",()=>{this.logger.error("\uD83D\uDD25",this.id,"terminated"),process.exit(0)}),process.on("SIGINT",()=>{this.logger.error("\uD83D\uDD25",this.id,"interrupted"),process.exit(0)}),process.pid)this.id=process.pid?.toString();this.on("user-joins",(n)=>{this.logger.info("\uD83D\uDC64","user",n,"joined");const i=new qv(`user:${n}`);this.relays.set(n,i),this.logger.info("\uD83D\uDD17","attaching services:",`[${[...this.relayServices.keys()].join(", ")}]`);for(let o of this.relayServices){const c=o(i);if(c)i.disposalFunctions.push(c)}this.on(`user:${n}`,(...o)=>{i.in.next(o)}),i.out.subscribe("socket",(o)=>{this.emit(...o)})}),this.on("user-leaves",(n)=>{const i=this.relays.get(n);if(this.off(`relay:${n}`),i)i.dispose(),this.relays.delete(n)}),process.stdout.write("\u2728")}relay(n){this.logger.info("\uD83D\uDD17","running relay method"),this.relayServices.push(n)}}function ev(n){const{key:i,config:o}=n,c=Mx.create(i,o),{actions:p}=c;for(let a of p)Lv(i,a.key,on.STORE);return sv(i,-1,on.STORE),c}class Pv extends Map{set(n,i){if(this.has(n))return console.warn("Tried to set a key that already exists in an InvariantMap",{key:n,value:i}),this;return super.set(n,i)}clear(){throw new Error("Cannot clear an InvariantMap")}}class Mx{n;type="continuity";globals=[];actions=[];perspectives=[];constructor(n){this.key=n}static existing=new Pv;static create(n,i){const o=new Mx(n),{type:c,globals:p,actions:a,perspectives:x}=i(o),m={type:c,key:n,globals:p,actions:a,perspectives:x};return Mx.existing.set(n,m),m}add(...n){switch(n[0].type){case"atom":case"mutable_atom":this.globals.push(...n);break;case"transaction":this.actions.push(...n);break;case"atom_family":{const[o,c]=n;this.perspectives.push({type:"realtime_perspective",resourceAtoms:o,viewAtoms:c})}break}return this}}var cU=Zo({key:"usersInRoomIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Kl=Zo({key:"roomIndex",default:()=>new oi,mutable:!0,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),B4={enteredAtEpoch:0},fa=Tx({key:"usersInRooms",between:["room","user"],cardinality:"1:n"},B4),pU=px({key:"usersInMyRoomView",get:(n)=>({find:i})=>{const o=Zv(fa);return[i(o,n)]}});import{spawn as y4}from"child_process";var Wl=Mc({key:"roomArguments",default:["echo",["Hello World!"]]}),gv=px({key:"room",get:(n)=>async({get:i,find:o})=>{const c=o(Wl,n),p=i(c),[a,x]=p,m=await new Promise((l)=>{const f=y4(a,x,{env:process.env}),$=(v)=>{if(v.toString()==="\u2728")f.stdout.off("data",$),l(f)};f.stdout.on("data",$)});return new la(m,n)}});var MU=Rc({key:"createRoom",do:({get:n,set:i,find:o},c,p,a)=>{const x=a?[p,a]:[p],m=o(Wl,c);i(m,x),i(Kl,($)=>$.add(c));const l=o(gv,c);return n(l)}}),RU=Rc({key:"joinRoom",do:(n,i,o,c)=>{const p={enteredAtEpoch:c};return Kc(fa,(a)=>{a.set({room:i,user:o},p)},n.env().store),p}}),KU=Rc({key:"leaveRoom",do:(n,i,o)=>{Kc(fa,(c)=>{c.delete({room:i,user:o})},n.env().store)}}),WU=Rc({key:"destroyRoom",do:(n,i)=>{Kc(fa,(o)=>{o.delete({room:i})},n.env().store),n.set(Kl,(o)=>(o.delete(i),o))}});function Xl(n,i){return i.map((o)=>{switch(o.type){case"transaction_update":{const c=Xl(n,o.updates);return{...o,updates:c}}default:return o}}).filter((o)=>{switch(o.type){case"atom_update":case"selector_update":return n.includes(o.key);case"state_creation":return n.includes(o.token.key);case"molecule_creation":return!0;case"transaction_update":return!0}})}var GU=Mc({key:"transactionRedactor",default:{occlude:(n)=>n}}),dv=Mc({key:"unacknowledgedUpdates",default:()=>[]});var $a=Mc({key:"sockets",default:null}),zl=Zo({key:"socketsIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Gl=Zo({key:"usersIndex",mutable:!0,default:()=>new oi,toJson:(n)=>n.toJSON(),fromJson:(n)=>oi.fromJSON(n)}),Wc=Tx({key:"usersOfSockets",between:["user","socket"],cardinality:"1:1"});function n0({socket:n,store:i=on.STORE}){return function o(c){let p=n;const a=c.key,x=np(Wc,p.id,i).userKeyOfSocket,m=Kn(i,x);if(!m)return i.logger.error("\u274C","continuity",a,`Tried to create a synchronizer for a socket (${p.id}) that is not connected to a user.`),()=>{};const l=np(Wc,m,i).socketKeyOfUser;Gi(l,({newValue:z})=>{if(i.logger.info("\uD83D\uDC4B","continuity",a,`seeing ${m} on new socket ${z}`),z===null){i.logger.warn("\u274C","continuity",a,`User (${m}) is not connected to a socket, waiting for them to reappear.`);return}const Y=Fn(i,$a,z);p=Kn(i,Y);for(let s of $)p?.emit(`tx-new:${a}`,s)},`sync-continuity:${a}:${m}`,i);const f=Fn(i,dv,m),$=Kn(i,f),v=[],T=(()=>{const z=[];for(let Y of c.perspectives){const{viewAtoms:E}=Y,s=Fn(i,E,m),G=Gi(s,({oldValue:M,newValue:O})=>{const U=M.map((_)=>_.key),V=O.map((_)=>_.key),K=M.filter((_)=>!V.includes(_.key)),B=O.filter((_)=>!U.includes(_.key)).flatMap((_)=>{const P=_.type==="mutable_atom"?en(i,_):_,ln=Kn(i,P);return[P,ln]});if(i.logger.info("\uD83D\uDC41","atom",Y.resourceAtoms.key,`${m} has a new perspective`,{oldKeys:U,newKeys:V,revealed:B,concealed:K}),B.length>0)p?.emit(`reveal:${a}`,B);if(K.length>0)p?.emit(`conceal:${a}`,K)},`sync-continuity:${a}:${m}:perspective:${Y.resourceAtoms.key}`,i);z.push(G)}return()=>{for(let Y of z)Y()}})(),R=()=>{const z=[];for(let E of c.globals){const s=E.type==="mutable_atom"?en(i,E):E,G=Kn(i,s);z.push(s,G)}for(let E of c.perspectives){const{viewAtoms:s,resourceAtoms:G}=E,M=Fn(i,s,m),O=Kn(i,M);i.logger.info("\uD83D\uDC41","atom",G.key,`${m} can see`,{viewAtoms:s,resourceAtoms:G,userView:O});for(let U of O){const V=U.type==="mutable_atom"?en(i,U):U,K=Kn(i,V);z.push(V,K)}}const Y=kn(i)?i.transactionMeta.epoch.get(a)??null:null;p?.emit(`continuity-init:${a}`,Y,z);for(let E of c.actions){const s=Sl(E,(G)=>{try{const M=c.globals.map((V)=>{if(V.type==="atom")return V.key;return so(V).key}).concat(c.perspectives.flatMap((V)=>{const{viewAtoms:K}=V,B=Fn(i,K,m);return Kn(i,B).map((P)=>{return P.type==="mutable_atom"?"*"+P.key:P.key})})),O=Xl(M,G.updates),U={...G,updates:O};zn(i,f,(V)=>{if(U)V.push(U),V.sort((K,B)=>K.epoch-B.epoch);return V}),p?.emit(`tx-new:${a}`,U)}catch(M){if(M instanceof Error)i.logger.error("\u274C","continuity",a,`failed to send update from transaction ${E.key} to ${m}`,M.message)}},`sync-continuity:${a}:${m}`,i);v.push(s)}};p.off(`get:${a}`,R),p.on(`get:${a}`,R);const F=(z)=>{i.logger.info("\uD83D\uDECE\uFE0F","continuity",a,"received",z);const{key:Y,id:E}=z,s=`tx-run:${Y}:${E}`,G=`${s}:start`,M=`${s}:end`;performance.mark(G);try{qo({type:"transaction",key:Y},E,i)(...z.params)}catch(B){if(B instanceof Error)i.logger.error("\u274C","continuity",a,`failed to run transaction ${Y} with update ${E}`,B.message)}performance.mark(M);const O=performance.measure(s,G,M);i?.logger.info("\uD83D\uDE80","transaction",Y,E,O.duration);const U=`valuesOfCardsView("${m}")`,V=i.selectorAtoms.getRelatedKeys(U),K=i.valueMap.get(U);i.logger.info("\uD83D\uDC41","continuity",a,`seeing ${m} card values`,{valuesOfCardsViewKey:U,rootsOfCardValueView:V,myCardValueView:K})};p.off(`tx-run:${a}`,F),p.on(`tx-run:${a}`,F);const X=(z)=>{if(i.logger.info("\uD83D\uDC4D","continuity",a,`${m} acknowledged epoch ${z}`),$[0]?.epoch===z)zn(i,f,(E)=>{return E.shift(),E})};return p?.on(`ack:${a}`,X),()=>{for(let z of v)z();p?.off(`ack:${a}`,X),T(),p?.off(`get:${a}`,R),p?.off(`tx-run:${a}`,F)}}}function u(n,i){if(!n||typeof n!=="object")return!1;if(n instanceof i)return!0;if(!Object.prototype.hasOwnProperty.call(i,J))throw new Error(`Class "${i.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let o=n.constructor;if(o)while(o){if(J in o&&o[J]===i[J])return!0;o=Object.getPrototypeOf(o)}return!1}var J=Symbol.for("drizzle:entityKind"),lV=Symbol.for("drizzle:hasOwnEntityKind");class bn{constructor(n,i){this.table=n,this.config=i,this.name=i.name,this.keyAsName=i.keyAsName,this.notNull=i.notNull,this.default=i.default,this.defaultFn=i.defaultFn,this.onUpdateFn=i.onUpdateFn,this.hasDefault=i.hasDefault,this.primary=i.primaryKey,this.isUnique=i.isUnique,this.uniqueName=i.uniqueName,this.uniqueType=i.uniqueType,this.dataType=i.dataType,this.columnType=i.columnType,this.generated=i.generated,this.generatedIdentity=i.generatedIdentity}static[J]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(n){return n}mapToDriverValue(n){return n}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}class Yl{static[J]="ColumnBuilder";config;constructor(n,i,o){this.config={name:n,keyAsName:n==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:i,columnType:o,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(n){return this.config.default=n,this.config.hasDefault=!0,this}$defaultFn(n){return this.config.defaultFn=n,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(n){return this.config.onUpdateFn=n,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(n){if(this.config.name!=="")return;this.config.name=n}}var fo=Symbol.for("drizzle:Name");class ul{static[J]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(n,i){if(this.reference=()=>{const{name:o,columns:c,foreignColumns:p}=n();return{name:o,columns:c,foreignTable:p[0].table,foreignColumns:p}},i)this._onUpdate=i.onUpdate,this._onDelete=i.onDelete}onUpdate(n){return this._onUpdate=n===void 0?"no action":n,this}onDelete(n){return this._onDelete=n===void 0?"no action":n,this}build(n){return new i0(n,this)}}class i0{constructor(n,i){this.table=n,this.reference=i.reference,this.onUpdate=i._onUpdate,this.onDelete=i._onDelete}static[J]="PgForeignKey";reference;onUpdate;onDelete;getName(){const{name:n,columns:i,foreignColumns:o}=this.reference(),c=i.map((x)=>x.name),p=o.map((x)=>x.name),a=[this.table[fo],...c,o[0].table[fo],...p];return n??`${a.join("_")}_fk`}}function Rx(n,...i){return n(...i)}function o0(n,i){return`${n[fo]}_${i.join("_")}_unique`}function c0(n,i,o){for(let c=i;c<n.length;c++){const p=n[c];if(p==="\\"){c++;continue}if(p==='"')return[n.slice(i,c).replace(/\\/g,""),c+1];if(o)continue;if(p===","||p==="}")return[n.slice(i,c).replace(/\\/g,""),c]}return[n.slice(i).replace(/\\/g,""),n.length]}function p0(n,i=0){const o=[];let c=i,p=!1;while(c<n.length){const a=n[c];if(a===","){if(p||c===i)o.push("");p=!0,c++;continue}if(p=!1,a==="\\"){c+=2;continue}if(a==='"'){const[l,f]=c0(n,c+1,!0);o.push(l),c=f;continue}if(a==="}")return[o,c+1];if(a==="{"){const[l,f]=p0(n,c+1);o.push(l),c=f;continue}const[x,m]=c0(n,c,!1);o.push(x),c=m}return[o,c]}function a0(n){const[i]=p0(n,1);return i}function Ol(n){return`{${n.map((i)=>{if(Array.isArray(i))return Ol(i);if(typeof i==="string")return`"${i.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;return`${i}`}).join(",")}}`}class t extends Yl{foreignKeyConfigs=[];static[J]="PgColumnBuilder";array(n){return new m0(this.config.name,this,n)}references(n,i={}){return this.foreignKeyConfigs.push({ref:n,actions:i}),this}unique(n,i){return this.config.isUnique=!0,this.config.uniqueName=n,this.config.uniqueType=i?.nulls,this}generatedAlwaysAs(n){return this.config.generated={as:n,type:"always",mode:"stored"},this}buildForeignKeys(n,i){return this.foreignKeyConfigs.map(({ref:o,actions:c})=>{return Rx((p,a)=>{const x=new ul(()=>{const m=p();return{columns:[n],foreignColumns:[m]}});if(a.onUpdate)x.onUpdate(a.onUpdate);if(a.onDelete)x.onDelete(a.onDelete);return x.build(i)},o,c)})}buildExtraConfigColumn(n){return new x0(n,this.config)}}class j extends bn{constructor(n,i){if(!i.uniqueName)i.uniqueName=o0(n,[i.name]);super(n,i);this.table=n}static[J]="PgColumn"}class x0 extends j{static[J]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(n){return this.indexConfig.opClass=n,this}}class va{static[J]="IndexedColumn";constructor(n,i,o,c){this.name=n,this.keyAsName=i,this.type=o,this.indexConfig=c}name;keyAsName;type;indexConfig}class m0 extends t{static[J]="PgArrayBuilder";constructor(n,i,o){super(n,"array","PgArray");this.config.baseBuilder=i,this.config.size=o}build(n){const i=this.config.baseBuilder.build(n);return new Hl(n,this.config,i)}}class Hl extends j{constructor(n,i,o,c){super(n,i);this.baseColumn=o,this.range=c,this.size=i.size}size;static[J]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(n){if(typeof n==="string")n=a0(n);return n.map((i)=>this.baseColumn.mapFromDriverValue(i))}mapToDriverValue(n,i=!1){const o=n.map((c)=>c===null?null:u(this.baseColumn,Hl)?this.baseColumn.mapToDriverValue(c,!0):this.baseColumn.mapToDriverValue(c));if(i)return o;return Ol(o)}}function l0(n){return!!n&&typeof n==="function"&&El in n&&n[El]===!0}function Kx(n,i){return h4(n,i,void 0)}function h4(n,i,o){const c=Object.assign((p)=>new f0(p??"",c),{enumName:n,enumValues:i,schema:o,[El]:!0});return c}var El=Symbol.for("drizzle:isPgEnum");class f0 extends t{static[J]="PgEnumColumnBuilder";constructor(n,i){super(n,"string","PgEnumColumn");this.config.enum=i}build(n){return new $0(n,this.config)}}class $0 extends j{static[J]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(n,i){super(n,i);this.enum=i.enum}getSQLType(){return this.enum.enumName}}class fi{static[J]="Subquery";constructor(n,i,o,c=!1){this._={brand:"Subquery",sql:n,selectedFields:i,alias:o,isWith:c}}}class wa extends fi{static[J]="WithSubquery"}var v0="0.34.1";var Ql,Ul,En={startActiveSpan(n,i){if(!Ql)return i();if(!Ul)Ul=Ql.trace.getTracer("drizzle-orm",v0);return Rx((o,c)=>c.startActiveSpan(n,(p)=>{try{return i(p)}catch(a){throw p.setStatus({code:o.SpanStatusCode.ERROR,message:a instanceof Error?a.message:"Unknown error"}),a}finally{p.end()}}),Ql,Ul)}};var yn=Symbol.for("drizzle:ViewBaseConfig");function qi(n){return n[fo]}function Xc(n){return`${n[Wx]??"public"}.${n[fo]}`}var Wx=Symbol.for("drizzle:Schema"),w0=Symbol.for("drizzle:Columns"),S0=Symbol.for("drizzle:ExtraConfigColumns"),Vl=Symbol.for("drizzle:OriginalName"),bl=Symbol.for("drizzle:BaseName"),J0=Symbol.for("drizzle:IsAlias"),A0=Symbol.for("drizzle:ExtraConfigBuilder"),D4=Symbol.for("drizzle:IsDrizzleTable");class h{static[J]="Table";static Symbol={Name:fo,Schema:Wx,OriginalName:Vl,Columns:w0,ExtraConfigColumns:S0,BaseName:bl,IsAlias:J0,ExtraConfigBuilder:A0};[fo];[Vl];[Wx];[w0];[S0];[bl];[J0]=!1;[D4]=!0;[A0]=void 0;constructor(n,i,o){this[fo]=this[Vl]=n,this[Wx]=i,this[bl]=o}}function _l(n){return n!==null&&n!==void 0&&typeof n.getSQL==="function"}function I4(n){const i={sql:"",params:[]};for(let o of n)if(i.sql+=o.sql,i.params.push(...o.params),o.typings?.length){if(!i.typings)i.typings=[];i.typings.push(...o.typings)}return i}function F0(n){return typeof n==="object"&&n!==null&&"mapToDriverValue"in n&&typeof n.mapToDriverValue==="function"}function A(n,...i){const o=[];if(i.length>0||n.length>0&&n[0]!=="")o.push(new ci(n[0]));for(let[c,p]of i.entries())o.push(p,new ci(n[c+1]));return new C(o)}function sl(n,i){return n.map((o)=>{if(u(o,go)){if(!(o.name in i))throw new Error(`No value for placeholder "${o.name}" was provided`);return i[o.name]}if(u(o,Li)&&u(o.value,go)){if(!(o.value.name in i))throw new Error(`No value for placeholder "${o.value.name}" was provided`);return o.encoder.mapToDriverValue(i[o.value.name])}return o})}class ci{static[J]="StringChunk";value;constructor(n){this.value=Array.isArray(n)?n:[n]}getSQL(){return new C([this])}}class C{constructor(n){this.queryChunks=n}static[J]="SQL";decoder=T0;shouldInlineParams=!1;append(n){return this.queryChunks.push(...n.queryChunks),this}toQuery(n){return En.startActiveSpan("drizzle.buildSQL",(i)=>{const o=this.buildQueryFromSourceParams(this.queryChunks,n);return i?.setAttributes({"drizzle.query.text":o.sql,"drizzle.query.params":JSON.stringify(o.params)}),o})}buildQueryFromSourceParams(n,i){const o=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:p,escapeParam:a,prepareTyping:x,inlineParams:m,paramStartIndex:l}=o;return I4(n.map((f)=>{if(u(f,ci))return{sql:f.value.join(""),params:[]};if(u(f,Xx))return{sql:p(f.value),params:[]};if(f===void 0)return{sql:"",params:[]};if(Array.isArray(f)){const $=[new ci("(")];for(let[v,S]of f.entries())if($.push(S),v<f.length-1)$.push(new ci(", "));return $.push(new ci(")")),this.buildQueryFromSourceParams($,o)}if(u(f,C))return this.buildQueryFromSourceParams(f.queryChunks,{...o,inlineParams:m||f.shouldInlineParams});if(u(f,h)){const $=f[h.Symbol.Schema],v=f[h.Symbol.Name];return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,bn)){const $=c.getColumnCasing(f);if(i.invokeSource==="indexes")return{sql:p($),params:[]};return{sql:p(f.table[h.Symbol.Name])+"."+p($),params:[]}}if(u(f,Vi)){const $=f[yn].schema,v=f[yn].name;return{sql:$===void 0?p(v):p($)+"."+p(v),params:[]}}if(u(f,Li)){if(u(f.value,go))return{sql:a(l.value++,f),params:[f],typings:["none"]};const $=f.value===null?null:f.encoder.mapToDriverValue(f.value);if(u($,C))return this.buildQueryFromSourceParams([$],o);if(m)return{sql:this.mapInlineParam($,o),params:[]};let v=["none"];if(x)v=[x(f.encoder)];return{sql:a(l.value++,$),params:[$],typings:v}}if(u(f,go))return{sql:a(l.value++,f),params:[f],typings:["none"]};if(u(f,C.Aliased)&&f.fieldAlias!==void 0)return{sql:p(f.fieldAlias),params:[]};if(u(f,fi)){if(f._.isWith)return{sql:p(f._.alias),params:[]};return this.buildQueryFromSourceParams([new ci("("),f._.sql,new ci(") "),new Xx(f._.alias)],o)}if(l0(f)){if(f.schema)return{sql:p(f.schema)+"."+p(f.enumName),params:[]};return{sql:p(f.enumName),params:[]}}if(_l(f)){if(f.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([f.getSQL()],o);return this.buildQueryFromSourceParams([new ci("("),f.getSQL(),new ci(")")],o)}if(m)return{sql:this.mapInlineParam(f,o),params:[]};return{sql:a(l.value++,f),params:[f],typings:["none"]}}))}mapInlineParam(n,{escapeString:i}){if(n===null)return"null";if(typeof n==="number"||typeof n==="boolean")return n.toString();if(typeof n==="string")return i(n);if(typeof n==="object"){const o=n.toString();if(o==="[object Object]")return i(JSON.stringify(n));return i(o)}throw new Error("Unexpected param value: "+n)}getSQL(){return this}as(n){if(n===void 0)return this;return new C.Aliased(this,n)}mapWith(n){return this.decoder=typeof n==="function"?{mapFromDriverValue:n}:n,this}inlineParams(){return this.shouldInlineParams=!0,this}if(n){return n?this:void 0}}class Xx{constructor(n){this.value=n}static[J]="Name";brand;getSQL(){return new C([this])}}var T0={mapFromDriverValue:(n)=>n},M0={mapToDriverValue:(n)=>n},PV={...T0,...M0};class Li{constructor(n,i=M0){this.value=n,this.encoder=i}static[J]="Param";brand;getSQL(){return new C([this])}}((n)=>{function i(){return new C([])}n.empty=i;function o(l){return new C(l)}n.fromList=o;function c(l){return new C([new ci(l)])}n.raw=c;function p(l,f){const $=[];for(let[v,S]of l.entries()){if(v>0&&f!==void 0)$.push(f);$.push(S)}return new C($)}n.join=p;function a(l){return new Xx(l)}n.identifier=a;function x(l){return new go(l)}n.placeholder=x;function m(l,f){return new Li(l,f)}n.param=m})(A||(A={}));((n)=>{class i{constructor(o,c){this.sql=o,this.fieldAlias=c}static[J]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new i(this.sql,this.fieldAlias)}}n.Aliased=i})(C||(C={}));class go{constructor(n){this.name=n}static[J]="Placeholder";getSQL(){return new C([this])}}class Vi{static[J]="View";[yn];constructor({name:n,schema:i,selectedFields:o,query:c}){this[yn]={name:n,originalName:n,schema:i,selectedFields:o,query:c,isExisting:!c,isAlias:!1}}getSQL(){return new C([this])}}bn.prototype.getSQL=function(){return new C([this])};h.prototype.getSQL=function(){return new C([this])};fi.prototype.getSQL=function(){return new C([this])};function zx(n,i){return new Proxy(n,new Sa(i,!1))}function Yo(n,i){return new Proxy(n,new op(new Proxy(n.table,new Sa(i,!1))))}function jl(n,i){return new C.Aliased(Ja(n.sql,i),n.fieldAlias)}function Ja(n,i){return A.join(n.queryChunks.map((o)=>{if(u(o,bn))return Yo(o,i);if(u(o,C))return Ja(o,i);if(u(o,C.Aliased))return jl(o,i);return o}))}class op{constructor(n){this.table=n}static[J]="ColumnAliasProxyHandler";get(n,i){if(i==="table")return this.table;return n[i]}}class Sa{constructor(n,i){this.alias=n,this.replaceOriginalName=i}static[J]="TableAliasProxyHandler";get(n,i){if(i===h.Symbol.IsAlias)return!0;if(i===h.Symbol.Name)return this.alias;if(this.replaceOriginalName&&i===h.Symbol.OriginalName)return this.alias;if(i===yn)return{...n[yn],name:this.alias,isAlias:!0};if(i===h.Symbol.Columns){const c=n[h.Symbol.Columns];if(!c)return c;const p={};return Object.keys(c).map((a)=>{p[a]=new Proxy(c[a],new op(new Proxy(n,this)))}),p}const o=n[i];if(u(o,bn))return new Proxy(o,new op(new Proxy(n,this)));return o}}class Gx extends Error{static[J]="DrizzleError";constructor({message:n,cause:i}){super(n);this.name="DrizzleError",this.cause=i}}class Nl extends Gx{static[J]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}function bi(n,i){if(F0(i)&&!_l(n)&&!u(n,Li)&&!u(n,go)&&!u(n,bn)&&!u(n,h)&&!u(n,Vi))return new Li(n,i);return n}function zc(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new C(i);return new C([new ci("("),A.join(i,new ci(" and ")),new ci(")")])}function K0(...n){const i=n.filter((o)=>o!==void 0);if(i.length===0)return;if(i.length===1)return new C(i);return new C([new ci("("),A.join(i,new ci(" or ")),new ci(")")])}function W0(n){return A`not ${n}`}function Y0(n,i){if(Array.isArray(i)){if(i.length===0)return A`false`;return A`${n} in ${i.map((o)=>bi(o,n))}`}return A`${n} in ${bi(i,n)}`}function u0(n,i){if(Array.isArray(i)){if(i.length===0)return A`true`;return A`${n} not in ${i.map((o)=>bi(o,n))}`}return A`${n} not in ${bi(i,n)}`}function O0(n){return A`${n} is null`}function H0(n){return A`${n} is not null`}function E0(n){return A`exists ${n}`}function Q0(n){return A`not exists ${n}`}function U0(n,i,o){return A`${n} between ${bi(i,n)} and ${bi(o,n)}`}function V0(n,i,o){return A`${n} not between ${bi(i,n)} and ${bi(o,n)}`}function b0(n,i){return A`${n} like ${i}`}function _0(n,i){return A`${n} not like ${i}`}function s0(n,i){return A`${n} ilike ${i}`}function j0(n,i){return A`${n} not ilike ${i}`}var uo=(n,i)=>{return A`${n} = ${bi(i,n)}`},R0=(n,i)=>{return A`${n} <> ${bi(i,n)}`},Yx=(n,i)=>{return A`${n} > ${bi(i,n)}`},X0=(n,i)=>{return A`${n} >= ${bi(i,n)}`},z0=(n,i)=>{return A`${n} < ${bi(i,n)}`},G0=(n,i)=>{return A`${n} <= ${bi(i,n)}`};function N0(n){return A`${n} asc`}function L0(n){return A`${n} desc`}class B0{static[J]="ConsoleLogWriter";write(n){console.log(n)}}class Ll{static[J]="DefaultLogger";writer;constructor(n){this.writer=n?.writer??new B0}logQuery(n,i){const o=i.map((p)=>{try{return JSON.stringify(p)}catch{return String(p)}}),c=o.length?` -- params: [${o.join(", ")}]`:"";this.writer.write(`Query: ${n}${c}`)}}class Bl{static[J]="NoopLogger";logQuery(){}}class Yi{static[J]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}then(n,i){return this.execute().then(n,i)}}function y0(n,i,o){const c={},p=n.reduce((a,{path:x,field:m},l)=>{let f;if(u(m,bn))f=m;else if(u(m,C))f=m.decoder;else f=m.sql.decoder;let $=a;for(let[v,S]of x.entries())if(v<x.length-1){if(!(S in $))$[S]={};$=$[S]}else{const T=i[l],R=$[S]=T===null?null:f.mapFromDriverValue(T);if(o&&u(m,bn)&&x.length===2){const F=x[0];if(!(F in c))c[F]=R===null?qi(m.table):!1;else if(typeof c[F]==="string"&&c[F]!==qi(m.table))c[F]=!1}}return a},{});if(o&&Object.keys(c).length>0){for(let[a,x]of Object.entries(c))if(typeof x==="string"&&!o[x])p[a]=null}return p}function Pi(n,i){return Object.entries(n).reduce((o,[c,p])=>{if(typeof c!=="string")return o;const a=i?[...i,c]:[c];if(u(p,bn)||u(p,C)||u(p,C.Aliased))o.push({path:a,field:p});else if(u(p,h))o.push(...Pi(p[h.Symbol.Columns],a));else o.push(...Pi(p,a));return o},[])}function yl(n,i){const o=Object.keys(n),c=Object.keys(i);if(o.length!==c.length)return!1;for(let[p,a]of o.entries())if(a!==c[p])return!1;return!0}function ux(n,i){const o=Object.entries(i).filter(([,c])=>c!==void 0).map(([c,p])=>{if(u(p,C))return[c,p];else return[c,new Li(p,n[h.Symbol.Columns][c])]});if(o.length===0)throw new Error("No values to set");return Object.fromEntries(o)}function h0(n,i){for(let o of i)for(let c of Object.getOwnPropertyNames(o.prototype)){if(c==="constructor")continue;Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(o.prototype,c)||Object.create(null))}}function D0(n){return n[h.Symbol.Columns]}function hl(n){return u(n,fi)?n._.alias:u(n,Vi)?n[yn].name:u(n,C)?void 0:n[h.Symbol.IsAlias]?n[h.Symbol.Name]:n[h.Symbol.BaseName]}function Jn(n,i){return{name:typeof n==="string"&&n.length>0?n:"",config:typeof n==="object"?n:i}}class nc extends t{static[J]="PgIntColumnBaseBuilder";generatedAlwaysAsIdentity(n){if(n){const{name:i,...o}=n;this.config.generatedIdentity={type:"always",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"always"};return this.config.hasDefault=!0,this.config.notNull=!0,this}generatedByDefaultAsIdentity(n){if(n){const{name:i,...o}=n;this.config.generatedIdentity={type:"byDefault",sequenceName:i,sequenceOptions:o}}else this.config.generatedIdentity={type:"byDefault"};return this.config.hasDefault=!0,this.config.notNull=!0,this}}function r0(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new I0(o);return new C0(o)}class I0 extends nc{static[J]="PgBigInt53Builder";constructor(n){super(n,"number","PgBigInt53")}build(n){return new t0(n,this.config)}}class t0 extends j{static[J]="PgBigInt53";getSQLType(){return"bigint"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class C0 extends nc{static[J]="PgBigInt64Builder";constructor(n){super(n,"bigint","PgBigInt64")}build(n){return new k0(n,this.config)}}class k0 extends j{static[J]="PgBigInt64";getSQLType(){return"bigint"}mapFromDriverValue(n){return BigInt(n)}}function g0(n,i){const{name:o,config:c}=Jn(n,i);if(c.mode==="number")return new Z0(o);return new P0(o)}class Z0 extends t{static[J]="PgBigSerial53Builder";constructor(n){super(n,"number","PgBigSerial53");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new q0(n,this.config)}}class q0 extends j{static[J]="PgBigSerial53";getSQLType(){return"bigserial"}mapFromDriverValue(n){if(typeof n==="number")return n;return Number(n)}}class P0 extends t{static[J]="PgBigSerial64Builder";constructor(n){super(n,"bigint","PgBigSerial64");this.config.hasDefault=!0}build(n){return new e0(n,this.config)}}class e0 extends j{static[J]="PgBigSerial64";getSQLType(){return"bigserial"}mapFromDriverValue(n){return BigInt(n)}}function Aa(n){return new d0(n??"")}class d0 extends t{static[J]="PgBooleanBuilder";constructor(n){super(n,"boolean","PgBoolean")}build(n){return new nw(n,this.config)}}class nw extends j{static[J]="PgBoolean";getSQLType(){return"boolean"}}function cw(n,i={}){const{name:o,config:c}=Jn(n,i);return new iw(o,c)}class iw extends t{static[J]="PgCharBuilder";constructor(n,i){super(n,"string","PgChar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new ow(n,this.config)}}class ow extends j{static[J]="PgChar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"char":`char(${this.length})`}}function xw(n){return new pw(n??"")}class pw extends t{static[J]="PgCidrBuilder";constructor(n){super(n,"string","PgCidr")}build(n){return new aw(n,this.config)}}class aw extends j{static[J]="PgCidr";getSQLType(){return"cidr"}}function fw(n){return(i,o)=>{const{name:c,config:p}=Jn(i,o);return new mw(c,p,n)}}class mw extends t{static[J]="PgCustomColumnBuilder";constructor(n,i,o){super(n,"custom","PgCustomColumn");this.config.fieldConfig=i,this.config.customTypeParams=o}build(n){return new lw(n,this.config)}}class lw extends j{static[J]="PgCustomColumn";sqlName;mapTo;mapFrom;constructor(n,i){super(n,i);this.sqlName=i.customTypeParams.dataType(i.fieldConfig),this.mapTo=i.customTypeParams.toDriver,this.mapFrom=i.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(n){return typeof this.mapFrom==="function"?this.mapFrom(n):n}mapToDriverValue(n){return typeof this.mapTo==="function"?this.mapTo(n):n}}class jo extends t{static[J]="PgDateColumnBaseBuilder";defaultNow(){return this.default(A`now()`)}}function ww(n,i){const{name:o,config:c}=Jn(n,i);if(c?.mode==="date")return new $w(o);return new vw(o)}class $w extends jo{static[J]="PgDateBuilder";constructor(n){super(n,"date","PgDate")}build(n){return new Ox(n,this.config)}}class Ox extends j{static[J]="PgDate";getSQLType(){return"date"}mapFromDriverValue(n){return new Date(n)}mapToDriverValue(n){return n.toISOString()}}class vw extends jo{static[J]="PgDateStringBuilder";constructor(n){super(n,"string","PgDateString")}build(n){return new Hx(n,this.config)}}class Hx extends j{static[J]="PgDateString";getSQLType(){return"date"}}function Aw(n){return new Sw(n??"")}class Sw extends t{static[J]="PgDoublePrecisionBuilder";constructor(n){super(n,"number","PgDoublePrecision")}build(n){return new Jw(n,this.config)}}class Jw extends j{static[J]="PgDoublePrecision";getSQLType(){return"double precision"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseFloat(n);return n}}function Mw(n){return new Fw(n??"")}class Fw extends t{static[J]="PgInetBuilder";constructor(n){super(n,"string","PgInet")}build(n){return new Tw(n,this.config)}}class Tw extends j{static[J]="PgInet";getSQLType(){return"inet"}}function Ex(n){return new Rw(n??"")}class Rw extends nc{static[J]="PgIntegerBuilder";constructor(n){super(n,"number","PgInteger")}build(n){return new Kw(n,this.config)}}class Kw extends j{static[J]="PgInteger";getSQLType(){return"integer"}mapFromDriverValue(n){if(typeof n==="string")return Number.parseInt(n);return n}}function zw(n,i={}){const{name:o,config:c}=Jn(n,i);return new Ww(o,c)}class Ww extends t{static[J]="PgIntervalBuilder";constructor(n,i){super(n,"string","PgInterval");this.config.intervalConfig=i}build(n){return new Xw(n,this.config)}}class Xw extends j{static[J]="PgInterval";fields=this.config.intervalConfig.fields;precision=this.config.intervalConfig.precision;getSQLType(){const n=this.fields?` ${this.fields}`:"",i=this.precision?`(${this.precision})`:"";return`interval${n}${i}`}}function Yw(n){return new Gw(n??"")}class Gw extends t{static[J]="PgJsonBuilder";constructor(n){super(n,"json","PgJson")}build(n){return new Qx(n,this.config)}}class Qx extends j{static[J]="PgJson";constructor(n,i){super(n,i)}getSQLType(){return"json"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function Ow(n){return new uw(n??"")}class uw extends t{static[J]="PgJsonbBuilder";constructor(n){super(n,"json","PgJsonb")}build(n){return new Ux(n,this.config)}}class Ux extends j{static[J]="PgJsonb";constructor(n,i){super(n,i)}getSQLType(){return"jsonb"}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){if(typeof n==="string")try{return JSON.parse(n)}catch{return n}return n}}function Vw(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new Hw(o);return new Qw(o)}class Hw extends t{static[J]="PgLineBuilder";constructor(n){super(n,"array","PgLine")}build(n){return new Ew(n,this.config)}}class Ew extends j{static[J]="PgLine";getSQLType(){return"line"}mapFromDriverValue(n){const[i,o,c]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o),Number.parseFloat(c)]}mapToDriverValue(n){return`{${n[0]},${n[1]},${n[2]}}`}}class Qw extends t{static[J]="PgLineABCBuilder";constructor(n){super(n,"json","PgLineABC")}build(n){return new Uw(n,this.config)}}class Uw extends j{static[J]="PgLineABC";getSQLType(){return"line"}mapFromDriverValue(n){const[i,o,c]=n.slice(1,-1).split(",");return{a:Number.parseFloat(i),b:Number.parseFloat(o),c:Number.parseFloat(c)}}mapToDriverValue(n){return`{${n.a},${n.b},${n.c}}`}}function sw(n){return new bw(n??"")}class bw extends t{static[J]="PgMacaddrBuilder";constructor(n){super(n,"string","PgMacaddr")}build(n){return new _w(n,this.config)}}class _w extends j{static[J]="PgMacaddr";getSQLType(){return"macaddr"}}function Lw(n){return new jw(n??"")}class jw extends t{static[J]="PgMacaddr8Builder";constructor(n){super(n,"string","PgMacaddr8")}build(n){return new Nw(n,this.config)}}class Nw extends j{static[J]="PgMacaddr8";getSQLType(){return"macaddr8"}}function yw(n,i){const{name:o,config:c}=Jn(n,i);return new Bw(o,c?.precision,c?.scale)}class Bw extends t{static[J]="PgNumericBuilder";constructor(n,i,o){super(n,"string","PgNumeric");this.config.precision=i,this.config.scale=o}build(n){return new Vx(n,this.config)}}class Vx extends j{static[J]="PgNumeric";precision;scale;constructor(n,i){super(n,i);this.precision=i.precision,this.scale=i.scale}getSQLType(){if(this.precision!==void 0&&this.scale!==void 0)return`numeric(${this.precision}, ${this.scale})`;else if(this.precision===void 0)return"numeric";else return`numeric(${this.precision})`}}function Cw(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new hw(o);return new Iw(o)}class hw extends t{static[J]="PgPointTupleBuilder";constructor(n){super(n,"array","PgPointTuple")}build(n){return new Dw(n,this.config)}}class Dw extends j{static[J]="PgPointTuple";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){const[i,o]=n.slice(1,-1).split(",");return[Number.parseFloat(i),Number.parseFloat(o)]}return[n.x,n.y]}mapToDriverValue(n){return`(${n[0]},${n[1]})`}}class Iw extends t{static[J]="PgPointObjectBuilder";constructor(n){super(n,"json","PgPointObject")}build(n){return new tw(n,this.config)}}class tw extends j{static[J]="PgPointObject";getSQLType(){return"point"}mapFromDriverValue(n){if(typeof n==="string"){const[i,o]=n.slice(1,-1).split(",");return{x:Number.parseFloat(i),y:Number.parseFloat(o)}}return n}mapToDriverValue(n){return`(${n.x},${n.y})`}}function t4(n){const i=[];for(let o=0;o<n.length;o+=2)i.push(Number.parseInt(n.slice(o,o+2),16));return new Uint8Array(i)}function kw(n,i){const o=new ArrayBuffer(8),c=new DataView(o);for(let p=0;p<8;p++)c.setUint8(p,n[i+p]);return c.getFloat64(0,!0)}function Dl(n){const i=t4(n);let o=0;const c=i[o];o+=1;const p=new DataView(i.buffer),a=p.getUint32(o,c===1);o+=4;let x;if(a&536870912)x=p.getUint32(o,c===1),o+=4;if((a&65535)===1){const m=kw(i,o);o+=8;const l=kw(i,o);return o+=8,[m,l]}throw new Error("Unsupported geometry type")}function ew(n,i){const{name:o,config:c}=Jn(n,i);if(!c?.mode||c.mode==="tuple")return new rw(o);return new qw(o)}class rw extends t{static[J]="PgGeometryBuilder";constructor(n){super(n,"array","PgGeometry")}build(n){return new Zw(n,this.config)}}class Zw extends j{static[J]="PgGeometry";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){return Dl(n)}mapToDriverValue(n){return`point(${n[0]} ${n[1]})`}}class qw extends t{static[J]="PgGeometryObjectBuilder";constructor(n){super(n,"json","PgGeometryObject")}build(n){return new Pw(n,this.config)}}class Pw extends j{static[J]="PgGeometryObject";getSQLType(){return"geometry(point)"}mapFromDriverValue(n){const i=Dl(n);return{x:i[0],y:i[1]}}mapToDriverValue(n){return`point(${n.x} ${n.y})`}}function nS(n){return new gw(n??"")}class gw extends t{static[J]="PgRealBuilder";constructor(n,i){super(n,"number","PgReal");this.config.length=i}build(n){return new dw(n,this.config)}}class dw extends j{static[J]="PgReal";constructor(n,i){super(n,i)}getSQLType(){return"real"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number.parseFloat(n);return n}}function cS(n){return new iS(n??"")}class iS extends t{static[J]="PgSerialBuilder";constructor(n){super(n,"number","PgSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new oS(n,this.config)}}class oS extends j{static[J]="PgSerial";getSQLType(){return"serial"}}function xS(n){return new pS(n??"")}class pS extends nc{static[J]="PgSmallIntBuilder";constructor(n){super(n,"number","PgSmallInt")}build(n){return new aS(n,this.config)}}class aS extends j{static[J]="PgSmallInt";getSQLType(){return"smallint"}mapFromDriverValue=(n)=>{if(typeof n==="string")return Number(n);return n}}function fS(n){return new mS(n??"")}class mS extends t{static[J]="PgSmallSerialBuilder";constructor(n){super(n,"number","PgSmallSerial");this.config.hasDefault=!0,this.config.notNull=!0}build(n){return new lS(n,this.config)}}class lS extends j{static[J]="PgSmallSerial";getSQLType(){return"smallserial"}}function wS(n,i={}){const{name:o,config:c}=Jn(n,i);return new $S(o,c)}class $S extends t{static[J]="PgTextBuilder";constructor(n,i){super(n,"string","PgText");this.config.enumValues=i.enum}build(n){return new vS(n,this.config)}}class vS extends j{static[J]="PgText";enumValues=this.config.enumValues;getSQLType(){return"text"}}function JS(n,i={}){const{name:o,config:c}=Jn(n,i);return new SS(o,c.withTimezone??!1,c.precision)}class SS extends jo{constructor(n,i,o){super(n,"string","PgTime");this.withTimezone=i,this.precision=o,this.config.withTimezone=i,this.config.precision=o}static[J]="PgTimeBuilder";build(n){return new bx(n,this.config)}}class bx extends j{static[J]="PgTime";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`time${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function $o(n,i={}){const{name:o,config:c}=Jn(n,i);if(c?.mode==="string")return new FS(o,c.withTimezone??!1,c.precision);return new AS(o,c?.withTimezone??!1,c?.precision)}class AS extends jo{static[J]="PgTimestampBuilder";constructor(n,i,o){super(n,"date","PgTimestamp");this.config.withTimezone=i,this.config.precision=o}build(n){return new _x(n,this.config)}}class _x extends j{static[J]="PgTimestamp";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":` (${this.precision})`}${this.withTimezone?" with time zone":""}`}mapFromDriverValue=(n)=>{return new Date(this.withTimezone?n:n+"+0000")};mapToDriverValue=(n)=>{return n.toISOString()}}class FS extends jo{static[J]="PgTimestampStringBuilder";constructor(n,i,o){super(n,"string","PgTimestampString");this.config.withTimezone=i,this.config.precision=o}build(n){return new sx(n,this.config)}}class sx extends j{static[J]="PgTimestampString";withTimezone;precision;constructor(n,i){super(n,i);this.withTimezone=i.withTimezone,this.precision=i.precision}getSQLType(){return`timestamp${this.precision===void 0?"":`(${this.precision})`}${this.withTimezone?" with time zone":""}`}}function Bi(n){return new TS(n??"")}class TS extends t{static[J]="PgUUIDBuilder";constructor(n){super(n,"string","PgUUID")}defaultRandom(){return this.default(A`gen_random_uuid()`)}build(n){return new jx(n,this.config)}}class jx extends j{static[J]="PgUUID";getSQLType(){return"uuid"}}function $i(n,i={}){const{name:o,config:c}=Jn(n,i);return new MS(o,c)}class MS extends t{static[J]="PgVarcharBuilder";constructor(n,i){super(n,"string","PgVarchar");this.config.length=i.length,this.config.enumValues=i.enum}build(n){return new RS(n,this.config)}}class RS extends j{static[J]="PgVarchar";length=this.config.length;enumValues=this.config.enumValues;getSQLType(){return this.length===void 0?"varchar":`varchar(${this.length})`}}function XS(n,i){const{name:o,config:c}=Jn(n,i);return new KS(o,c)}class KS extends t{static[J]="PgBinaryVectorBuilder";constructor(n,i){super(n,"string","PgBinaryVector");this.config.dimensions=i.dimensions}build(n){return new WS(n,this.config)}}class WS extends j{static[J]="PgBinaryVector";dimensions=this.config.dimensions;getSQLType(){return`bit(${this.dimensions})`}}function YS(n,i){const{name:o,config:c}=Jn(n,i);return new zS(o,c)}class zS extends t{static[J]="PgHalfVectorBuilder";constructor(n,i){super(n,"array","PgHalfVector");this.config.dimensions=i.dimensions}build(n){return new GS(n,this.config)}}class GS extends j{static[J]="PgHalfVector";dimensions=this.config.dimensions;getSQLType(){return`halfvec(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function HS(n,i){const{name:o,config:c}=Jn(n,i);return new uS(o,c)}class uS extends t{static[J]="PgSparseVectorBuilder";constructor(n,i){super(n,"string","PgSparseVector");this.config.dimensions=i.dimensions}build(n){return new OS(n,this.config)}}class OS extends j{static[J]="PgSparseVector";dimensions=this.config.dimensions;getSQLType(){return`sparsevec(${this.dimensions})`}}function US(n,i){const{name:o,config:c}=Jn(n,i);return new ES(o,c)}class ES extends t{static[J]="PgVectorBuilder";constructor(n,i){super(n,"array","PgVector");this.config.dimensions=i.dimensions}build(n){return new QS(n,this.config)}}class QS extends j{static[J]="PgVector";dimensions=this.config.dimensions;getSQLType(){return`vector(${this.dimensions})`}mapToDriverValue(n){return JSON.stringify(n)}mapFromDriverValue(n){return n.slice(1,-1).split(",").map((i)=>Number.parseFloat(i))}}function VS(){return{bigint:r0,bigserial:g0,boolean:Aa,char:cw,cidr:xw,customType:fw,date:ww,doublePrecision:Aw,inet:Mw,integer:Ex,interval:zw,json:Yw,jsonb:Ow,line:Vw,macaddr:sw,macaddr8:Lw,numeric:yw,point:Cw,geometry:ew,real:nS,serial:cS,smallint:xS,smallserial:fS,text:wS,time:JS,timestamp:$o,uuid:Bi,varchar:$i,bit:XS,halfvec:YS,sparsevec:HS,vector:US}}function C4(n,i,o,c,p=n){const a=new vo(n,c,p),x=typeof i==="function"?i(VS()):i,m=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.build(a);return a[Il].push(...S.buildForeignKeys(T,a)),[$,T]})),l=Object.fromEntries(Object.entries(x).map(([$,v])=>{const S=v;S.setName($);const T=S.buildExtraConfigColumn(a);return[$,T]})),f=Object.assign(a,m);if(f[h.Symbol.Columns]=m,f[h.Symbol.ExtraConfigColumns]=l,o)f[vo.Symbol.ExtraConfigBuilder]=o;return f}var Il=Symbol.for("drizzle:PgInlineForeignKeys");class vo extends h{static[J]="PgTable";static Symbol=Object.assign({},h.Symbol,{InlineForeignKeys:Il});[Il]=[];[h.Symbol.ExtraConfigBuilder]=void 0}var ic=(n,i,o)=>{return C4(n,i,o,void 0)};function bS(...n){if(n[0].columns)return new Fa(n[0].columns,n[0].name);return new Fa(n)}class Fa{static[J]="PgPrimaryKeyBuilder";columns;name;constructor(n,i){this.columns=n,this.name=i}build(n){return new _S(n,this.columns,this.name)}}class _S{constructor(n,i,o){this.table=n,this.columns=i,this.name=o}static[J]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[vo.Symbol.Name]}_${this.columns.map((n)=>n.name).join("_")}_pk`}}function jS(){return{and:zc,between:U0,eq:uo,exists:E0,gt:Yx,gte:X0,ilike:s0,inArray:Y0,isNull:O0,isNotNull:H0,like:b0,lt:z0,lte:G0,ne:R0,not:W0,notBetween:V0,notExists:Q0,notLike:_0,notIlike:j0,notInArray:u0,or:K0,sql:A}}function NS(){return{sql:A,asc:N0,desc:L0}}function LS(n,i){if(Object.keys(n).length===1&&"default"in n&&!u(n.default,h))n=n.default;const o={},c={},p={};for(let[a,x]of Object.entries(n))if(u(x,h)){const m=Xc(x),l=c[m];o[m]=a,p[a]={tsName:a,dbName:x[h.Symbol.Name],schema:x[h.Symbol.Schema],columns:x[h.Symbol.Columns],relations:l?.relations??{},primaryKey:l?.primaryKey??[]};for(let $ of Object.values(x[h.Symbol.Columns]))if($.primary)p[a].primaryKey.push($);const f=x[h.Symbol.ExtraConfigBuilder]?.(x[h.Symbol.ExtraConfigColumns]);if(f){for(let $ of Object.values(f))if(u($,Fa))p[a].primaryKey.push(...$.columns)}}else if(u(x,sS)){const m=Xc(x.table),l=o[m],f=x.config(i(x.table));let $;for(let[v,S]of Object.entries(f))if(l){const T=p[l];if(T.relations[v]=S,$)T.primaryKey.push(...$)}else{if(!(m in c))c[m]={relations:{},primaryKey:$};c[m].relations[v]=S}}return{tables:p,tableNamesMap:o}}function k4(n){return function i(o,c){return new oc(n,o,c,c?.fields.reduce((p,a)=>p&&a.notNull,!0)??!1)}}function r4(n){return function i(o,c){return new Ta(n,o,c)}}function BS(n,i,o){if(u(o,oc)&&o.config)return{fields:o.config.fields,references:o.config.references};const c=i[Xc(o.referencedTable)];if(!c)throw new Error(`Table "${o.referencedTable[h.Symbol.Name]}" not found in schema`);const p=n[c];if(!p)throw new Error(`Table "${c}" not found in schema`);const a=o.sourceTable,x=i[Xc(a)];if(!x)throw new Error(`Table "${a[h.Symbol.Name]}" not found in schema`);const m=[];for(let l of Object.values(p.relations))if(o.relationName&&o!==l&&l.relationName===o.relationName||!o.relationName&&l.referencedTable===o.sourceTable)m.push(l);if(m.length>1)throw o.relationName?new Error(`There are multiple relations with name "${o.relationName}" in table "${c}"`):new Error(`There are multiple relations between "${c}" and "${o.sourceTable[h.Symbol.Name]}". Please specify relation name`);if(m[0]&&u(m[0],oc)&&m[0].config)return{fields:m[0].config.references,references:m[0].config.fields};throw new Error(`There is not enough information to infer relation "${x}.${o.fieldName}"`)}function yS(n){return{one:k4(n),many:r4(n)}}function Nx(n,i,o,c,p=(a)=>a){const a={};for(let[x,m]of c.entries())if(m.isJson){const l=i.relations[m.tsKey],f=o[x],$=typeof f==="string"?JSON.parse(f):f;a[m.tsKey]=u(l,oc)?$&&Nx(n,n[m.relationTableTsKey],$,m.selection,p):$.map((v)=>Nx(n,n[m.relationTableTsKey],v,m.selection,p))}else{const l=p(o[x]),f=m.field;let $;if(u(f,bn))$=f;else if(u(f,C))$=f.decoder;else $=f.sql.decoder;a[m.tsKey]=l===null?null:$.mapFromDriverValue(l)}return a}class tl{constructor(n,i,o){this.sourceTable=n,this.referencedTable=i,this.relationName=o,this.referencedTableName=i[h.Symbol.Name]}static[J]="Relation";referencedTableName;fieldName}class sS{constructor(n,i){this.table=n,this.config=i}static[J]="Relations"}class oc extends tl{constructor(n,i,o,c){super(n,i,o?.relationName);this.config=o,this.isNullable=c}static[J]="One";withFieldName(n){const i=new oc(this.sourceTable,this.referencedTable,this.config,this.isNullable);return i.fieldName=n,i}}class Ta extends tl{constructor(n,i,o){super(n,i,o?.relationName);this.config=o}static[J]="Many";withFieldName(n){const i=new Ta(this.sourceTable,this.referencedTable,this.config);return i.fieldName=n,i}}var YF=wv(GF(),1),{Server:uF,Namespace:eN,Socket:gN}=YF.default;function L7(n){EF=n}function $m(){return EF}function y(n,i){const o=$m(),c=vm({issueData:i,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,o,o===Wp?void 0:Wp].filter((p)=>!!p)});n.common.issues.push(c)}function wm(n,i,o,c){if(o==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?n!==i||!c:!i.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?c:o==="a"?c.call(n):c?c.value:i.get(n)}function QF(n,i,o,c,p){if(c==="m")throw new TypeError("Private method is not writable");if(c==="a"&&!p)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?n!==i||!p:!i.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return c==="a"?p.call(n,o):p?p.value=o:i.set(n,o),o}function xn(n){if(!n)return{};const{errorMap:i,invalid_type_error:o,required_error:c,description:p}=n;if(i&&(o||c))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(i)return{errorMap:i,description:p};return{errorMap:(x,m)=>{var l,f;const{message:$}=n;if(x.code==="invalid_enum_value")return{message:$!==null&&$!==void 0?$:m.defaultError};if(typeof m.data==="undefined")return{message:(l=$!==null&&$!==void 0?$:c)!==null&&l!==void 0?l:m.defaultError};if(x.code!=="invalid_type")return{message:m.defaultError};return{message:(f=$!==null&&$!==void 0?$:o)!==null&&f!==void 0?f:m.defaultError}},description:p}}function VF(n){let i="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";if(n.precision)i=`${i}\\.\\d{${n.precision}}`;else if(n.precision==null)i=`${i}(\\.\\d+)?`;return i}function g7(n){return new RegExp(`^${VF(n)}\$`)}function bF(n){let i=`${UF}T${VF(n)}`;const o=[];if(o.push(n.local?"Z?":"Z"),n.offset)o.push("([+-]\\d{2}:?\\d{2})");return i=`${i}(${o.join("|")})`,new RegExp(`^${i}\$`)}function d7(n,i){if((i==="v4"||!i)&&Z7.test(n))return!0;if((i==="v6"||!i)&&q7.test(n))return!0;return!1}function n3(n,i){const o=(n.toString().split(".")[1]||"").length,c=(i.toString().split(".")[1]||"").length,p=o>c?o:c,a=parseInt(n.toFixed(p).replace(".","")),x=parseInt(i.toFixed(p).replace(".",""));return a%x/Math.pow(10,p)}function Mp(n){if(n instanceof hn){const i={};for(let o in n.shape){const c=n.shape[o];i[o]=Mo.create(Mp(c))}return new hn({...n._def,shape:()=>i})}else if(n instanceof To)return new To({...n._def,type:Mp(n.element)});else if(n instanceof Mo)return Mo.create(Mp(n.unwrap()));else if(n instanceof ho)return ho.create(Mp(n.unwrap()));else if(n instanceof Eo)return Eo.create(n.items.map((i)=>Mp(i)));else return n}function tf(n,i){const o=mc(n),c=mc(i);if(n===i)return{valid:!0,data:n};else if(o===D.object&&c===D.object){const p=Tn.objectKeys(i),a=Tn.objectKeys(n).filter((m)=>p.indexOf(m)!==-1),x={...n,...i};for(let m of a){const l=tf(n[m],i[m]);if(!l.valid)return{valid:!1};x[m]=l.data}return{valid:!0,data:x}}else if(o===D.array&&c===D.array){if(n.length!==i.length)return{valid:!1};const p=[];for(let a=0;a<n.length;a++){const x=n[a],m=i[a],l=tf(x,m);if(!l.valid)return{valid:!1};p.push(l.data)}return{valid:!0,data:p}}else if(o===D.date&&c===D.date&&+n===+i)return{valid:!0,data:n};else return{valid:!1}}function _F(n,i){return new vc({values:n,typeName:g.ZodEnum,...xn(i)})}function sF(n,i={},o){if(n)return bc.create().superRefine((c,p)=>{var a,x;if(!n(c)){const m=typeof i==="function"?i(c):typeof i==="string"?{message:i}:i,l=(x=(a=m.fatal)!==null&&a!==void 0?a:o)!==null&&x!==void 0?x:!0,f=typeof m==="string"?{message:m}:m;p.addIssue({code:"custom",...f,fatal:l})}});return bc.create()}var Tn;(function(n){n.assertEqual=(p)=>p;function i(p){}n.assertIs=i;function o(p){throw new Error}n.assertNever=o,n.arrayToEnum=(p)=>{const a={};for(let x of p)a[x]=x;return a},n.getValidEnumValues=(p)=>{const a=n.objectKeys(p).filter((m)=>typeof p[p[m]]!=="number"),x={};for(let m of a)x[m]=p[m];return n.objectValues(x)},n.objectValues=(p)=>{return n.objectKeys(p).map(function(a){return p[a]})},n.objectKeys=typeof Object.keys==="function"?(p)=>Object.keys(p):(p)=>{const a=[];for(let x in p)if(Object.prototype.hasOwnProperty.call(p,x))a.push(x);return a},n.find=(p,a)=>{for(let x of p)if(a(x))return x;return},n.isInteger=typeof Number.isInteger==="function"?(p)=>Number.isInteger(p):(p)=>typeof p==="number"&&isFinite(p)&&Math.floor(p)===p;function c(p,a=" | "){return p.map((x)=>typeof x==="string"?`'${x}'`:x).join(a)}n.joinValues=c,n.jsonStringifyReplacer=(p,a)=>{if(typeof a==="bigint")return a.toString();return a}})(Tn||(Tn={}));var hf;(function(n){n.mergeShapes=(i,o)=>{return{...i,...o}}})(hf||(hf={}));var D=Tn.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),mc=(n)=>{switch(typeof n){case"undefined":return D.undefined;case"string":return D.string;case"number":return isNaN(n)?D.nan:D.number;case"boolean":return D.boolean;case"function":return D.function;case"bigint":return D.bigint;case"symbol":return D.symbol;case"object":if(Array.isArray(n))return D.array;if(n===null)return D.null;if(n.then&&typeof n.then==="function"&&n.catch&&typeof n.catch==="function")return D.promise;if(typeof Map!=="undefined"&&n instanceof Map)return D.map;if(typeof Set!=="undefined"&&n instanceof Set)return D.set;if(typeof Date!=="undefined"&&n instanceof Date)return D.date;return D.object;default:return D.unknown}},Q=Tn.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),N7=(n)=>{return JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:")};class Ii extends Error{constructor(n){super();this.issues=[],this.addIssue=(o)=>{this.issues=[...this.issues,o]},this.addIssues=(o=[])=>{this.issues=[...this.issues,...o]};const i=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,i);else this.__proto__=i;this.name="ZodError",this.issues=n}get errors(){return this.issues}format(n){const i=n||function(p){return p.message},o={_errors:[]},c=(p)=>{for(let a of p.issues)if(a.code==="invalid_union")a.unionErrors.map(c);else if(a.code==="invalid_return_type")c(a.returnTypeError);else if(a.code==="invalid_arguments")c(a.argumentsError);else if(a.path.length===0)o._errors.push(i(a));else{let x=o,m=0;while(m<a.path.length){const l=a.path[m];if(m!==a.path.length-1)x[l]=x[l]||{_errors:[]};else x[l]=x[l]||{_errors:[]},x[l]._errors.push(i(a));x=x[l],m++}}};return c(this),o}static assert(n){if(!(n instanceof Ii))throw new Error(`Not a ZodError: ${n}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Tn.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(n=(i)=>i.message){const i={},o=[];for(let c of this.issues)if(c.path.length>0)i[c.path[0]]=i[c.path[0]]||[],i[c.path[0]].push(n(c));else o.push(n(c));return{formErrors:o,fieldErrors:i}}get formErrors(){return this.flatten()}}Ii.create=(n)=>{return new Ii(n)};var Wp=(n,i)=>{let o;switch(n.code){case Q.invalid_type:if(n.received===D.undefined)o="Required";else o=`Expected ${n.expected}, received ${n.received}`;break;case Q.invalid_literal:o=`Invalid literal value, expected ${JSON.stringify(n.expected,Tn.jsonStringifyReplacer)}`;break;case Q.unrecognized_keys:o=`Unrecognized key(s) in object: ${Tn.joinValues(n.keys,", ")}`;break;case Q.invalid_union:o="Invalid input";break;case Q.invalid_union_discriminator:o=`Invalid discriminator value. Expected ${Tn.joinValues(n.options)}`;break;case Q.invalid_enum_value:o=`Invalid enum value. Expected ${Tn.joinValues(n.options)}, received '${n.received}'`;break;case Q.invalid_arguments:o="Invalid function arguments";break;case Q.invalid_return_type:o="Invalid function return type";break;case Q.invalid_date:o="Invalid date";break;case Q.invalid_string:if(typeof n.validation==="object")if("includes"in n.validation){if(o=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position==="number")o=`${o} at one or more positions greater than or equal to ${n.validation.position}`}else if("startsWith"in n.validation)o=`Invalid input: must start with "${n.validation.startsWith}"`;else if("endsWith"in n.validation)o=`Invalid input: must end with "${n.validation.endsWith}"`;else Tn.assertNever(n.validation);else if(n.validation!=="regex")o=`Invalid ${n.validation}`;else o="Invalid";break;case Q.too_small:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`;else o="Invalid input";break;case Q.too_big:if(n.type==="array")o=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`;else if(n.type==="string")o=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`;else if(n.type==="number")o=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="bigint")o=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`;else if(n.type==="date")o=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`;else o="Invalid input";break;case Q.custom:o="Invalid input";break;case Q.invalid_intersection_types:o="Intersection results could not be merged";break;case Q.not_multiple_of:o=`Number must be a multiple of ${n.multipleOf}`;break;case Q.not_finite:o="Number must be finite";break;default:o=i.defaultError,Tn.assertNever(n)}return{message:o}},EF=Wp,vm=(n)=>{const{data:i,path:o,errorMaps:c,issueData:p}=n,a=[...o,...p.path||[]],x={...p,path:a};if(p.message!==void 0)return{...p,path:a,message:p.message};let m="";const l=c.filter((f)=>!!f).slice().reverse();for(let f of l)m=f(x,{data:i,defaultError:m}).message;return{...p,path:a,message:m}},B7=[];class Mi{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(n,i){const o=[];for(let c of i){if(c.status==="aborted")return nn;if(c.status==="dirty")n.dirty();o.push(c.value)}return{status:n.value,value:o}}static async mergeObjectAsync(n,i){const o=[];for(let c of i){const p=await c.key,a=await c.value;o.push({key:p,value:a})}return Mi.mergeObjectSync(n,o)}static mergeObjectSync(n,i){const o={};for(let c of i){const{key:p,value:a}=c;if(p.status==="aborted")return nn;if(a.status==="aborted")return nn;if(p.status==="dirty")n.dirty();if(a.status==="dirty")n.dirty();if(p.value!=="__proto__"&&(typeof a.value!=="undefined"||c.alwaysSet))o[p.value]=a.value}return{status:n.value,value:o}}}var nn=Object.freeze({status:"aborted"}),Rp=(n)=>({status:"dirty",value:n}),Oi=(n)=>({status:"valid",value:n}),Df=(n)=>n.status==="aborted",If=(n)=>n.status==="dirty",Oa=(n)=>n.status==="valid",Ha=(n)=>typeof Promise!=="undefined"&&n instanceof Promise;var r;(function(n){n.errToObj=(i)=>typeof i==="string"?{message:i}:i||{},n.toString=(i)=>typeof i==="string"?i:i===null||i===void 0?void 0:i.message})(r||(r={}));var Ya,ua;class Ro{constructor(n,i,o,c){this._cachedPath=[],this.parent=n,this.data=i,this._path=o,this._key=c}get path(){if(!this._cachedPath.length)if(this._key instanceof Array)this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var OF=(n,i)=>{if(Oa(i))return{success:!0,data:i.value};else{if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const o=new Ii(n.common.issues);return this._error=o,this._error}}}};class fn{constructor(n){this.spa=this.safeParseAsync,this._def=n,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(n){return mc(n.data)}_getOrReturnCtx(n,i){return i||{common:n.parent.common,data:n.data,parsedType:mc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}_processInputParams(n){return{status:new Mi,ctx:{common:n.parent.common,data:n.data,parsedType:mc(n.data),schemaErrorMap:this._def.errorMap,path:n.path,parent:n.parent}}}_parseSync(n){const i=this._parse(n);if(Ha(i))throw new Error("Synchronous parse encountered promise.");return i}_parseAsync(n){const i=this._parse(n);return Promise.resolve(i)}parse(n,i){const o=this.safeParse(n,i);if(o.success)return o.data;throw o.error}safeParse(n,i){var o;const c={common:{issues:[],async:(o=i===null||i===void 0?void 0:i.async)!==null&&o!==void 0?o:!1,contextualErrorMap:i===null||i===void 0?void 0:i.errorMap},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:mc(n)},p=this._parseSync({data:n,path:c.path,parent:c});return OF(c,p)}async parseAsync(n,i){const o=await this.safeParseAsync(n,i);if(o.success)return o.data;throw o.error}async safeParseAsync(n,i){const o={common:{issues:[],contextualErrorMap:i===null||i===void 0?void 0:i.errorMap,async:!0},path:(i===null||i===void 0?void 0:i.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:n,parsedType:mc(n)},c=this._parse({data:n,path:o.path,parent:o}),p=await(Ha(c)?c:Promise.resolve(c));return OF(o,p)}refine(n,i){const o=(c)=>{if(typeof i==="string"||typeof i==="undefined")return{message:i};else if(typeof i==="function")return i(c);else return i};return this._refinement((c,p)=>{const a=n(c),x=()=>p.addIssue({code:Q.custom,...o(c)});if(typeof Promise!=="undefined"&&a instanceof Promise)return a.then((m)=>{if(!m)return x(),!1;else return!0});if(!a)return x(),!1;else return!0})}refinement(n,i){return this._refinement((o,c)=>{if(!n(o))return c.addIssue(typeof i==="function"?i(o,c):i),!1;else return!0})}_refinement(n){return new di({schema:this,typeName:g.ZodEffects,effect:{type:"refinement",refinement:n}})}superRefine(n){return this._refinement(n)}optional(){return Mo.create(this,this._def)}nullable(){return ho.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return To.create(this,this._def)}promise(){return sc.create(this,this._def)}or(n){return Yp.create([this,n],this._def)}and(n){return up.create(this,n,this._def)}transform(n){return new di({...xn(this._def),schema:this,typeName:g.ZodEffects,effect:{type:"transform",transform:n}})}default(n){const i=typeof n==="function"?n:()=>n;return new Qp({...xn(this._def),innerType:this,defaultValue:i,typeName:g.ZodDefault})}brand(){return new Jm({typeName:g.ZodBranded,type:this,...xn(this._def)})}catch(n){const i=typeof n==="function"?n:()=>n;return new Up({...xn(this._def),innerType:this,catchValue:i,typeName:g.ZodCatch})}describe(n){return new this.constructor({...this._def,description:n})}pipe(n){return _a.create(this,n)}readonly(){return Vp.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var y7=/^c[^\s-]{8,}$/i,h7=/^[0-9a-z]+$/,D7=/^[0-9A-HJKMNP-TV-Z]{26}$/,I7=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,t7=/^[a-z0-9_-]{21}$/i,C7=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,k7=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,r7="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",yf,Z7=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,q7=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,P7=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,UF="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",e7=new RegExp(`^${UF}\$`);class Fo extends fn{_parse(n){if(this._def.coerce)n.data=String(n.data);if(this._getType(n)!==D.string){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.string,received:p.parsedType}),nn}const o=new Mi;let c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.length<p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="max"){if(n.data.length>p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!1,message:p.message}),o.dirty()}else if(p.kind==="length"){const a=n.data.length>p.value,x=n.data.length<p.value;if(a||x){if(c=this._getOrReturnCtx(n,c),a)y(c,{code:Q.too_big,maximum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});else if(x)y(c,{code:Q.too_small,minimum:p.value,type:"string",inclusive:!0,exact:!0,message:p.message});o.dirty()}}else if(p.kind==="email"){if(!k7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"email",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="emoji"){if(!yf)yf=new RegExp(r7,"u");if(!yf.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"emoji",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="uuid"){if(!I7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"uuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="nanoid"){if(!t7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"nanoid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid"){if(!y7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"cuid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="cuid2"){if(!h7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"cuid2",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ulid"){if(!D7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"ulid",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="url")try{new URL(n.data)}catch(a){c=this._getOrReturnCtx(n,c),y(c,{validation:"url",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="regex"){if(p.regex.lastIndex=0,!p.regex.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"regex",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="trim")n.data=n.data.trim();else if(p.kind==="includes"){if(!n.data.includes(p.value,p.position))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:{includes:p.value,position:p.position},message:p.message}),o.dirty()}else if(p.kind==="toLowerCase")n.data=n.data.toLowerCase();else if(p.kind==="toUpperCase")n.data=n.data.toUpperCase();else if(p.kind==="startsWith"){if(!n.data.startsWith(p.value))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:{startsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="endsWith"){if(!n.data.endsWith(p.value))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:{endsWith:p.value},message:p.message}),o.dirty()}else if(p.kind==="datetime"){if(!bF(p).test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"datetime",message:p.message}),o.dirty()}else if(p.kind==="date"){if(!e7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"date",message:p.message}),o.dirty()}else if(p.kind==="time"){if(!g7(p).test(n.data))c=this._getOrReturnCtx(n,c),y(c,{code:Q.invalid_string,validation:"time",message:p.message}),o.dirty()}else if(p.kind==="duration"){if(!C7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"duration",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="ip"){if(!d7(n.data,p.version))c=this._getOrReturnCtx(n,c),y(c,{validation:"ip",code:Q.invalid_string,message:p.message}),o.dirty()}else if(p.kind==="base64"){if(!P7.test(n.data))c=this._getOrReturnCtx(n,c),y(c,{validation:"base64",code:Q.invalid_string,message:p.message}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:n.data}}_regex(n,i,o){return this.refinement((c)=>n.test(c),{validation:i,code:Q.invalid_string,...r.errToObj(o)})}_addCheck(n){return new Fo({...this._def,checks:[...this._def.checks,n]})}email(n){return this._addCheck({kind:"email",...r.errToObj(n)})}url(n){return this._addCheck({kind:"url",...r.errToObj(n)})}emoji(n){return this._addCheck({kind:"emoji",...r.errToObj(n)})}uuid(n){return this._addCheck({kind:"uuid",...r.errToObj(n)})}nanoid(n){return this._addCheck({kind:"nanoid",...r.errToObj(n)})}cuid(n){return this._addCheck({kind:"cuid",...r.errToObj(n)})}cuid2(n){return this._addCheck({kind:"cuid2",...r.errToObj(n)})}ulid(n){return this._addCheck({kind:"ulid",...r.errToObj(n)})}base64(n){return this._addCheck({kind:"base64",...r.errToObj(n)})}ip(n){return this._addCheck({kind:"ip",...r.errToObj(n)})}datetime(n){var i,o;if(typeof n==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:n});return this._addCheck({kind:"datetime",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,offset:(i=n===null||n===void 0?void 0:n.offset)!==null&&i!==void 0?i:!1,local:(o=n===null||n===void 0?void 0:n.local)!==null&&o!==void 0?o:!1,...r.errToObj(n===null||n===void 0?void 0:n.message)})}date(n){return this._addCheck({kind:"date",message:n})}time(n){if(typeof n==="string")return this._addCheck({kind:"time",precision:null,message:n});return this._addCheck({kind:"time",precision:typeof(n===null||n===void 0?void 0:n.precision)==="undefined"?null:n===null||n===void 0?void 0:n.precision,...r.errToObj(n===null||n===void 0?void 0:n.message)})}duration(n){return this._addCheck({kind:"duration",...r.errToObj(n)})}regex(n,i){return this._addCheck({kind:"regex",regex:n,...r.errToObj(i)})}includes(n,i){return this._addCheck({kind:"includes",value:n,position:i===null||i===void 0?void 0:i.position,...r.errToObj(i===null||i===void 0?void 0:i.message)})}startsWith(n,i){return this._addCheck({kind:"startsWith",value:n,...r.errToObj(i)})}endsWith(n,i){return this._addCheck({kind:"endsWith",value:n,...r.errToObj(i)})}min(n,i){return this._addCheck({kind:"min",value:n,...r.errToObj(i)})}max(n,i){return this._addCheck({kind:"max",value:n,...r.errToObj(i)})}length(n,i){return this._addCheck({kind:"length",value:n,...r.errToObj(i)})}nonempty(n){return this.min(1,r.errToObj(n))}trim(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Fo({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((n)=>n.kind==="datetime")}get isDate(){return!!this._def.checks.find((n)=>n.kind==="date")}get isTime(){return!!this._def.checks.find((n)=>n.kind==="time")}get isDuration(){return!!this._def.checks.find((n)=>n.kind==="duration")}get isEmail(){return!!this._def.checks.find((n)=>n.kind==="email")}get isURL(){return!!this._def.checks.find((n)=>n.kind==="url")}get isEmoji(){return!!this._def.checks.find((n)=>n.kind==="emoji")}get isUUID(){return!!this._def.checks.find((n)=>n.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((n)=>n.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((n)=>n.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((n)=>n.kind==="cuid2")}get isULID(){return!!this._def.checks.find((n)=>n.kind==="ulid")}get isIP(){return!!this._def.checks.find((n)=>n.kind==="ip")}get isBase64(){return!!this._def.checks.find((n)=>n.kind==="base64")}get minLength(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxLength(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}Fo.create=(n)=>{var i;return new Fo({checks:[],typeName:g.ZodString,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...xn(n)})};class fc extends fn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(n){if(this._def.coerce)n.data=Number(n.data);if(this._getType(n)!==D.number){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.number,received:p.parsedType}),nn}let o=void 0;const c=new Mi;for(let p of this._def.checks)if(p.kind==="int"){if(!Tn.isInteger(n.data))o=this._getOrReturnCtx(n,o),y(o,{code:Q.invalid_type,expected:"integer",received:"float",message:p.message}),c.dirty()}else if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_small,minimum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_big,maximum:p.value,type:"number",inclusive:p.inclusive,exact:!1,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(n3(n.data,p.value)!==0)o=this._getOrReturnCtx(n,o),y(o,{code:Q.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else if(p.kind==="finite"){if(!Number.isFinite(n.data))o=this._getOrReturnCtx(n,o),y(o,{code:Q.not_finite,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new fc({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new fc({...this._def,checks:[...this._def.checks,n]})}int(n){return this._addCheck({kind:"int",message:r.toString(n)})}positive(n){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.toString(i)})}finite(n){return this._addCheck({kind:"finite",message:r.toString(n)})}safe(n){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r.toString(n)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r.toString(n)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}get isInt(){return!!this._def.checks.find((n)=>n.kind==="int"||n.kind==="multipleOf"&&Tn.isInteger(n.value))}get isFinite(){let n=null,i=null;for(let o of this._def.checks)if(o.kind==="finite"||o.kind==="int"||o.kind==="multipleOf")return!0;else if(o.kind==="min"){if(i===null||o.value>i)i=o.value}else if(o.kind==="max"){if(n===null||o.value<n)n=o.value}return Number.isFinite(i)&&Number.isFinite(n)}}fc.create=(n)=>{return new fc({checks:[],typeName:g.ZodNumber,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...xn(n)})};class $c extends fn{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(n){if(this._def.coerce)n.data=BigInt(n.data);if(this._getType(n)!==D.bigint){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.bigint,received:p.parsedType}),nn}let o=void 0;const c=new Mi;for(let p of this._def.checks)if(p.kind==="min"){if(p.inclusive?n.data<p.value:n.data<=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_small,type:"bigint",minimum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="max"){if(p.inclusive?n.data>p.value:n.data>=p.value)o=this._getOrReturnCtx(n,o),y(o,{code:Q.too_big,type:"bigint",maximum:p.value,inclusive:p.inclusive,message:p.message}),c.dirty()}else if(p.kind==="multipleOf"){if(n.data%p.value!==BigInt(0))o=this._getOrReturnCtx(n,o),y(o,{code:Q.not_multiple_of,multipleOf:p.value,message:p.message}),c.dirty()}else Tn.assertNever(p);return{status:c.value,value:n.data}}gte(n,i){return this.setLimit("min",n,!0,r.toString(i))}gt(n,i){return this.setLimit("min",n,!1,r.toString(i))}lte(n,i){return this.setLimit("max",n,!0,r.toString(i))}lt(n,i){return this.setLimit("max",n,!1,r.toString(i))}setLimit(n,i,o,c){return new $c({...this._def,checks:[...this._def.checks,{kind:n,value:i,inclusive:o,message:r.toString(c)}]})}_addCheck(n){return new $c({...this._def,checks:[...this._def.checks,n]})}positive(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:r.toString(n)})}negative(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:r.toString(n)})}nonpositive(n){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:r.toString(n)})}nonnegative(n){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:r.toString(n)})}multipleOf(n,i){return this._addCheck({kind:"multipleOf",value:n,message:r.toString(i)})}get minValue(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n}get maxValue(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n}}$c.create=(n)=>{var i;return new $c({checks:[],typeName:g.ZodBigInt,coerce:(i=n===null||n===void 0?void 0:n.coerce)!==null&&i!==void 0?i:!1,...xn(n)})};class Xp extends fn{_parse(n){if(this._def.coerce)n.data=Boolean(n.data);if(this._getType(n)!==D.boolean){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.boolean,received:o.parsedType}),nn}return Oi(n.data)}}Xp.create=(n)=>{return new Xp({typeName:g.ZodBoolean,coerce:(n===null||n===void 0?void 0:n.coerce)||!1,...xn(n)})};class Vc extends fn{_parse(n){if(this._def.coerce)n.data=new Date(n.data);if(this._getType(n)!==D.date){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_type,expected:D.date,received:p.parsedType}),nn}if(isNaN(n.data.getTime())){const p=this._getOrReturnCtx(n);return y(p,{code:Q.invalid_date}),nn}const o=new Mi;let c=void 0;for(let p of this._def.checks)if(p.kind==="min"){if(n.data.getTime()<p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_small,message:p.message,inclusive:!0,exact:!1,minimum:p.value,type:"date"}),o.dirty()}else if(p.kind==="max"){if(n.data.getTime()>p.value)c=this._getOrReturnCtx(n,c),y(c,{code:Q.too_big,message:p.message,inclusive:!0,exact:!1,maximum:p.value,type:"date"}),o.dirty()}else Tn.assertNever(p);return{status:o.value,value:new Date(n.data.getTime())}}_addCheck(n){return new Vc({...this._def,checks:[...this._def.checks,n]})}min(n,i){return this._addCheck({kind:"min",value:n.getTime(),message:r.toString(i)})}max(n,i){return this._addCheck({kind:"max",value:n.getTime(),message:r.toString(i)})}get minDate(){let n=null;for(let i of this._def.checks)if(i.kind==="min"){if(n===null||i.value>n)n=i.value}return n!=null?new Date(n):null}get maxDate(){let n=null;for(let i of this._def.checks)if(i.kind==="max"){if(n===null||i.value<n)n=i.value}return n!=null?new Date(n):null}}Vc.create=(n)=>{return new Vc({checks:[],coerce:(n===null||n===void 0?void 0:n.coerce)||!1,typeName:g.ZodDate,...xn(n)})};class Ea extends fn{_parse(n){if(this._getType(n)!==D.symbol){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.symbol,received:o.parsedType}),nn}return Oi(n.data)}}Ea.create=(n)=>{return new Ea({typeName:g.ZodSymbol,...xn(n)})};class zp extends fn{_parse(n){if(this._getType(n)!==D.undefined){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.undefined,received:o.parsedType}),nn}return Oi(n.data)}}zp.create=(n)=>{return new zp({typeName:g.ZodUndefined,...xn(n)})};class Gp extends fn{_parse(n){if(this._getType(n)!==D.null){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.null,received:o.parsedType}),nn}return Oi(n.data)}}Gp.create=(n)=>{return new Gp({typeName:g.ZodNull,...xn(n)})};class bc extends fn{constructor(){super(...arguments);this._any=!0}_parse(n){return Oi(n.data)}}bc.create=(n)=>{return new bc({typeName:g.ZodAny,...xn(n)})};class lc extends fn{constructor(){super(...arguments);this._unknown=!0}_parse(n){return Oi(n.data)}}lc.create=(n)=>{return new lc({typeName:g.ZodUnknown,...xn(n)})};class Ho extends fn{_parse(n){const i=this._getOrReturnCtx(n);return y(i,{code:Q.invalid_type,expected:D.never,received:i.parsedType}),nn}}Ho.create=(n)=>{return new Ho({typeName:g.ZodNever,...xn(n)})};class Qa extends fn{_parse(n){if(this._getType(n)!==D.undefined){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.void,received:o.parsedType}),nn}return Oi(n.data)}}Qa.create=(n)=>{return new Qa({typeName:g.ZodVoid,...xn(n)})};class To extends fn{_parse(n){const{ctx:i,status:o}=this._processInputParams(n),c=this._def;if(i.parsedType!==D.array)return y(i,{code:Q.invalid_type,expected:D.array,received:i.parsedType}),nn;if(c.exactLength!==null){const a=i.data.length>c.exactLength.value,x=i.data.length<c.exactLength.value;if(a||x)y(i,{code:a?Q.too_big:Q.too_small,minimum:x?c.exactLength.value:void 0,maximum:a?c.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:c.exactLength.message}),o.dirty()}if(c.minLength!==null){if(i.data.length<c.minLength.value)y(i,{code:Q.too_small,minimum:c.minLength.value,type:"array",inclusive:!0,exact:!1,message:c.minLength.message}),o.dirty()}if(c.maxLength!==null){if(i.data.length>c.maxLength.value)y(i,{code:Q.too_big,maximum:c.maxLength.value,type:"array",inclusive:!0,exact:!1,message:c.maxLength.message}),o.dirty()}if(i.common.async)return Promise.all([...i.data].map((a,x)=>{return c.type._parseAsync(new Ro(i,a,i.path,x))})).then((a)=>{return Mi.mergeArray(o,a)});const p=[...i.data].map((a,x)=>{return c.type._parseSync(new Ro(i,a,i.path,x))});return Mi.mergeArray(o,p)}get element(){return this._def.type}min(n,i){return new To({...this._def,minLength:{value:n,message:r.toString(i)}})}max(n,i){return new To({...this._def,maxLength:{value:n,message:r.toString(i)}})}length(n,i){return new To({...this._def,exactLength:{value:n,message:r.toString(i)}})}nonempty(n){return this.min(1,n)}}To.create=(n,i)=>{return new To({type:n,minLength:null,maxLength:null,exactLength:null,typeName:g.ZodArray,...xn(i)})};class hn extends fn{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const n=this._def.shape(),i=Tn.objectKeys(n);return this._cached={shape:n,keys:i}}_parse(n){if(this._getType(n)!==D.object){const l=this._getOrReturnCtx(n);return y(l,{code:Q.invalid_type,expected:D.object,received:l.parsedType}),nn}const{status:o,ctx:c}=this._processInputParams(n),{shape:p,keys:a}=this._getCached(),x=[];if(!(this._def.catchall instanceof Ho&&this._def.unknownKeys==="strip")){for(let l in c.data)if(!a.includes(l))x.push(l)}const m=[];for(let l of a){const f=p[l],$=c.data[l];m.push({key:{status:"valid",value:l},value:f._parse(new Ro(c,$,c.path,l)),alwaysSet:l in c.data})}if(this._def.catchall instanceof Ho){const l=this._def.unknownKeys;if(l==="passthrough")for(let f of x)m.push({key:{status:"valid",value:f},value:{status:"valid",value:c.data[f]}});else if(l==="strict"){if(x.length>0)y(c,{code:Q.unrecognized_keys,keys:x}),o.dirty()}else if(l==="strip");else throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(let f of x){const $=c.data[f];m.push({key:{status:"valid",value:f},value:l._parse(new Ro(c,$,c.path,f)),alwaysSet:f in c.data})}}if(c.common.async)return Promise.resolve().then(async()=>{const l=[];for(let f of m){const $=await f.key,v=await f.value;l.push({key:$,value:v,alwaysSet:f.alwaysSet})}return l}).then((l)=>{return Mi.mergeObjectSync(o,l)});else return Mi.mergeObjectSync(o,m)}get shape(){return this._def.shape()}strict(n){return r.errToObj,new hn({...this._def,unknownKeys:"strict",...n!==void 0?{errorMap:(i,o)=>{var c,p,a,x;const m=(a=(p=(c=this._def).errorMap)===null||p===void 0?void 0:p.call(c,i,o).message)!==null&&a!==void 0?a:o.defaultError;if(i.code==="unrecognized_keys")return{message:(x=r.errToObj(n).message)!==null&&x!==void 0?x:m};return{message:m}}}:{}})}strip(){return new hn({...this._def,unknownKeys:"strip"})}passthrough(){return new hn({...this._def,unknownKeys:"passthrough"})}extend(n){return new hn({...this._def,shape:()=>({...this._def.shape(),...n})})}merge(n){return new hn({unknownKeys:n._def.unknownKeys,catchall:n._def.catchall,shape:()=>({...this._def.shape(),...n._def.shape()}),typeName:g.ZodObject})}setKey(n,i){return this.augment({[n]:i})}catchall(n){return new hn({...this._def,catchall:n})}pick(n){const i={};return Tn.objectKeys(n).forEach((o)=>{if(n[o]&&this.shape[o])i[o]=this.shape[o]}),new hn({...this._def,shape:()=>i})}omit(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(!n[o])i[o]=this.shape[o]}),new hn({...this._def,shape:()=>i})}deepPartial(){return Mp(this)}partial(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{const c=this.shape[o];if(n&&!n[o])i[o]=c;else i[o]=c.optional()}),new hn({...this._def,shape:()=>i})}required(n){const i={};return Tn.objectKeys(this.shape).forEach((o)=>{if(n&&!n[o])i[o]=this.shape[o];else{let p=this.shape[o];while(p instanceof Mo)p=p._def.innerType;i[o]=p}}),new hn({...this._def,shape:()=>i})}keyof(){return _F(Tn.objectKeys(this.shape))}}hn.create=(n,i)=>{return new hn({shape:()=>n,unknownKeys:"strip",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};hn.strictCreate=(n,i)=>{return new hn({shape:()=>n,unknownKeys:"strict",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};hn.lazycreate=(n,i)=>{return new hn({shape:n,unknownKeys:"strip",catchall:Ho.create(),typeName:g.ZodObject,...xn(i)})};class Yp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o=this._def.options;function c(p){for(let x of p)if(x.result.status==="valid")return x.result;for(let x of p)if(x.result.status==="dirty")return i.common.issues.push(...x.ctx.common.issues),x.result;const a=p.map((x)=>new Ii(x.ctx.common.issues));return y(i,{code:Q.invalid_union,unionErrors:a}),nn}if(i.common.async)return Promise.all(o.map(async(p)=>{const a={...i,common:{...i.common,issues:[]},parent:null};return{result:await p._parseAsync({data:i.data,path:i.path,parent:a}),ctx:a}})).then(c);else{let p=void 0;const a=[];for(let m of o){const l={...i,common:{...i.common,issues:[]},parent:null},f=m._parseSync({data:i.data,path:i.path,parent:l});if(f.status==="valid")return f;else if(f.status==="dirty"&&!p)p={result:f,ctx:l};if(l.common.issues.length)a.push(l.common.issues)}if(p)return i.common.issues.push(...p.ctx.common.issues),p.result;const x=a.map((m)=>new Ii(m));return y(i,{code:Q.invalid_union,unionErrors:x}),nn}}get options(){return this._def.options}}Yp.create=(n,i)=>{return new Yp({options:n,typeName:g.ZodUnion,...xn(i)})};var yo=(n)=>{if(n instanceof Op)return yo(n.schema);else if(n instanceof di)return yo(n.innerType());else if(n instanceof Hp)return[n.value];else if(n instanceof vc)return n.options;else if(n instanceof Ep)return Tn.objectValues(n.enum);else if(n instanceof Qp)return yo(n._def.innerType);else if(n instanceof zp)return[void 0];else if(n instanceof Gp)return[null];else if(n instanceof Mo)return[void 0,...yo(n.unwrap())];else if(n instanceof ho)return[null,...yo(n.unwrap())];else if(n instanceof Jm)return yo(n.unwrap());else if(n instanceof Vp)return yo(n.unwrap());else if(n instanceof Up)return yo(n._def.innerType);else return[]};class Sm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.object)return y(i,{code:Q.invalid_type,expected:D.object,received:i.parsedType}),nn;const o=this.discriminator,c=i.data[o],p=this.optionsMap.get(c);if(!p)return y(i,{code:Q.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[o]}),nn;if(i.common.async)return p._parseAsync({data:i.data,path:i.path,parent:i});else return p._parseSync({data:i.data,path:i.path,parent:i})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(n,i,o){const c=new Map;for(let p of i){const a=yo(p.shape[n]);if(!a.length)throw new Error(`A discriminator value for key \`${n}\` could not be extracted from all schema options`);for(let x of a){if(c.has(x))throw new Error(`Discriminator property ${String(n)} has duplicate value ${String(x)}`);c.set(x,p)}}return new Sm({typeName:g.ZodDiscriminatedUnion,discriminator:n,options:i,optionsMap:c,...xn(o)})}}class up extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=(p,a)=>{if(Df(p)||Df(a))return nn;const x=tf(p.value,a.value);if(!x.valid)return y(o,{code:Q.invalid_intersection_types}),nn;if(If(p)||If(a))i.dirty();return{status:i.value,value:x.data}};if(o.common.async)return Promise.all([this._def.left._parseAsync({data:o.data,path:o.path,parent:o}),this._def.right._parseAsync({data:o.data,path:o.path,parent:o})]).then(([p,a])=>c(p,a));else return c(this._def.left._parseSync({data:o.data,path:o.path,parent:o}),this._def.right._parseSync({data:o.data,path:o.path,parent:o}))}}up.create=(n,i,o)=>{return new up({left:n,right:i,typeName:g.ZodIntersection,...xn(o)})};class Eo extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.array)return y(o,{code:Q.invalid_type,expected:D.array,received:o.parsedType}),nn;if(o.data.length<this._def.items.length)return y(o,{code:Q.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),nn;if(!this._def.rest&&o.data.length>this._def.items.length)y(o,{code:Q.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i.dirty();const p=[...o.data].map((a,x)=>{const m=this._def.items[x]||this._def.rest;if(!m)return null;return m._parse(new Ro(o,a,o.path,x))}).filter((a)=>!!a);if(o.common.async)return Promise.all(p).then((a)=>{return Mi.mergeArray(i,a)});else return Mi.mergeArray(i,p)}get items(){return this._def.items}rest(n){return new Eo({...this._def,rest:n})}}Eo.create=(n,i)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Eo({items:n,typeName:g.ZodTuple,rest:null,...xn(i)})};class Ua extends fn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.object)return y(o,{code:Q.invalid_type,expected:D.object,received:o.parsedType}),nn;const c=[],p=this._def.keyType,a=this._def.valueType;for(let x in o.data)c.push({key:p._parse(new Ro(o,x,o.path,x)),value:a._parse(new Ro(o,o.data[x],o.path,x)),alwaysSet:x in o.data});if(o.common.async)return Mi.mergeObjectAsync(i,c);else return Mi.mergeObjectSync(i,c)}get element(){return this._def.valueType}static create(n,i,o){if(i instanceof fn)return new Ua({keyType:n,valueType:i,typeName:g.ZodRecord,...xn(o)});return new Ua({keyType:Fo.create(),valueType:n,typeName:g.ZodRecord,...xn(i)})}}class Va extends fn{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.map)return y(o,{code:Q.invalid_type,expected:D.map,received:o.parsedType}),nn;const c=this._def.keyType,p=this._def.valueType,a=[...o.data.entries()].map(([x,m],l)=>{return{key:c._parse(new Ro(o,x,o.path,[l,"key"])),value:p._parse(new Ro(o,m,o.path,[l,"value"]))}});if(o.common.async){const x=new Map;return Promise.resolve().then(async()=>{for(let m of a){const l=await m.key,f=await m.value;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}})}else{const x=new Map;for(let m of a){const{key:l,value:f}=m;if(l.status==="aborted"||f.status==="aborted")return nn;if(l.status==="dirty"||f.status==="dirty")i.dirty();x.set(l.value,f.value)}return{status:i.value,value:x}}}}Va.create=(n,i,o)=>{return new Va({valueType:i,keyType:n,typeName:g.ZodMap,...xn(o)})};class _c extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.parsedType!==D.set)return y(o,{code:Q.invalid_type,expected:D.set,received:o.parsedType}),nn;const c=this._def;if(c.minSize!==null){if(o.data.size<c.minSize.value)y(o,{code:Q.too_small,minimum:c.minSize.value,type:"set",inclusive:!0,exact:!1,message:c.minSize.message}),i.dirty()}if(c.maxSize!==null){if(o.data.size>c.maxSize.value)y(o,{code:Q.too_big,maximum:c.maxSize.value,type:"set",inclusive:!0,exact:!1,message:c.maxSize.message}),i.dirty()}const p=this._def.valueType;function a(m){const l=new Set;for(let f of m){if(f.status==="aborted")return nn;if(f.status==="dirty")i.dirty();l.add(f.value)}return{status:i.value,value:l}}const x=[...o.data.values()].map((m,l)=>p._parse(new Ro(o,m,o.path,l)));if(o.common.async)return Promise.all(x).then((m)=>a(m));else return a(x)}min(n,i){return new _c({...this._def,minSize:{value:n,message:r.toString(i)}})}max(n,i){return new _c({...this._def,maxSize:{value:n,message:r.toString(i)}})}size(n,i){return this.min(n,i).max(n,i)}nonempty(n){return this.min(1,n)}}_c.create=(n,i)=>{return new _c({valueType:n,minSize:null,maxSize:null,typeName:g.ZodSet,...xn(i)})};class Kp extends fn{constructor(){super(...arguments);this.validate=this.implement}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.function)return y(i,{code:Q.invalid_type,expected:D.function,received:i.parsedType}),nn;function o(x,m){return vm({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,$m(),Wp].filter((l)=>!!l),issueData:{code:Q.invalid_arguments,argumentsError:m}})}function c(x,m){return vm({data:x,path:i.path,errorMaps:[i.common.contextualErrorMap,i.schemaErrorMap,$m(),Wp].filter((l)=>!!l),issueData:{code:Q.invalid_return_type,returnTypeError:m}})}const p={errorMap:i.common.contextualErrorMap},a=i.data;if(this._def.returns instanceof sc){const x=this;return Oi(async function(...m){const l=new Ii([]),f=await x._def.args.parseAsync(m,p).catch((S)=>{throw l.addIssue(o(m,S)),l}),$=await Reflect.apply(a,this,f);return await x._def.returns._def.type.parseAsync($,p).catch((S)=>{throw l.addIssue(c($,S)),l})})}else{const x=this;return Oi(function(...m){const l=x._def.args.safeParse(m,p);if(!l.success)throw new Ii([o(m,l.error)]);const f=Reflect.apply(a,this,l.data),$=x._def.returns.safeParse(f,p);if(!$.success)throw new Ii([c(f,$.error)]);return $.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...n){return new Kp({...this._def,args:Eo.create(n).rest(lc.create())})}returns(n){return new Kp({...this._def,returns:n})}implement(n){return this.parse(n)}strictImplement(n){return this.parse(n)}static create(n,i,o){return new Kp({args:n?n:Eo.create([]).rest(lc.create()),returns:i||lc.create(),typeName:g.ZodFunction,...xn(o)})}}class Op extends fn{get schema(){return this._def.getter()}_parse(n){const{ctx:i}=this._processInputParams(n);return this._def.getter()._parse({data:i.data,path:i.path,parent:i})}}Op.create=(n,i)=>{return new Op({getter:n,typeName:g.ZodLazy,...xn(i)})};class Hp extends fn{_parse(n){if(n.data!==this._def.value){const i=this._getOrReturnCtx(n);return y(i,{received:i.data,code:Q.invalid_literal,expected:this._def.value}),nn}return{status:"valid",value:n.data}}get value(){return this._def.value}}Hp.create=(n,i)=>{return new Hp({value:n,typeName:g.ZodLiteral,...xn(i)})};class vc extends fn{constructor(){super(...arguments);Ya.set(this,void 0)}_parse(n){if(typeof n.data!=="string"){const i=this._getOrReturnCtx(n),o=this._def.values;return y(i,{expected:Tn.joinValues(o),received:i.parsedType,code:Q.invalid_type}),nn}if(!wm(this,Ya,"f"))QF(this,Ya,new Set(this._def.values),"f");if(!wm(this,Ya,"f").has(n.data)){const i=this._getOrReturnCtx(n),o=this._def.values;return y(i,{received:i.data,code:Q.invalid_enum_value,options:o}),nn}return Oi(n.data)}get options(){return this._def.values}get enum(){const n={};for(let i of this._def.values)n[i]=i;return n}get Values(){const n={};for(let i of this._def.values)n[i]=i;return n}get Enum(){const n={};for(let i of this._def.values)n[i]=i;return n}extract(n,i=this._def){return vc.create(n,{...this._def,...i})}exclude(n,i=this._def){return vc.create(this.options.filter((o)=>!n.includes(o)),{...this._def,...i})}}Ya=new WeakMap;vc.create=_F;class Ep extends fn{constructor(){super(...arguments);ua.set(this,void 0)}_parse(n){const i=Tn.getValidEnumValues(this._def.values),o=this._getOrReturnCtx(n);if(o.parsedType!==D.string&&o.parsedType!==D.number){const c=Tn.objectValues(i);return y(o,{expected:Tn.joinValues(c),received:o.parsedType,code:Q.invalid_type}),nn}if(!wm(this,ua,"f"))QF(this,ua,new Set(Tn.getValidEnumValues(this._def.values)),"f");if(!wm(this,ua,"f").has(n.data)){const c=Tn.objectValues(i);return y(o,{received:o.data,code:Q.invalid_enum_value,options:c}),nn}return Oi(n.data)}get enum(){return this._def.values}}ua=new WeakMap;Ep.create=(n,i)=>{return new Ep({values:n,typeName:g.ZodNativeEnum,...xn(i)})};class sc extends fn{unwrap(){return this._def.type}_parse(n){const{ctx:i}=this._processInputParams(n);if(i.parsedType!==D.promise&&i.common.async===!1)return y(i,{code:Q.invalid_type,expected:D.promise,received:i.parsedType}),nn;const o=i.parsedType===D.promise?i.data:Promise.resolve(i.data);return Oi(o.then((c)=>{return this._def.type.parseAsync(c,{path:i.path,errorMap:i.common.contextualErrorMap})}))}}sc.create=(n,i)=>{return new sc({type:n,typeName:g.ZodPromise,...xn(i)})};class di extends fn{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===g.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(n){const{status:i,ctx:o}=this._processInputParams(n),c=this._def.effect||null,p={addIssue:(a)=>{if(y(o,a),a.fatal)i.abort();else i.dirty()},get path(){return o.path}};if(p.addIssue=p.addIssue.bind(p),c.type==="preprocess"){const a=c.transform(o.data,p);if(o.common.async)return Promise.resolve(a).then(async(x)=>{if(i.value==="aborted")return nn;const m=await this._def.schema._parseAsync({data:x,path:o.path,parent:o});if(m.status==="aborted")return nn;if(m.status==="dirty")return Rp(m.value);if(i.value==="dirty")return Rp(m.value);return m});else{if(i.value==="aborted")return nn;const x=this._def.schema._parseSync({data:a,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")return Rp(x.value);if(i.value==="dirty")return Rp(x.value);return x}}if(c.type==="refinement"){const a=(x)=>{const m=c.refinement(x,p);if(o.common.async)return Promise.resolve(m);if(m instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return x};if(o.common.async===!1){const x=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value),{status:i.value,value:x.value}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((x)=>{if(x.status==="aborted")return nn;if(x.status==="dirty")i.dirty();return a(x.value).then(()=>{return{status:i.value,value:x.value}})})}if(c.type==="transform")if(o.common.async===!1){const a=this._def.schema._parseSync({data:o.data,path:o.path,parent:o});if(!Oa(a))return a;const x=c.transform(a.value,p);if(x instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:i.value,value:x}}else return this._def.schema._parseAsync({data:o.data,path:o.path,parent:o}).then((a)=>{if(!Oa(a))return a;return Promise.resolve(c.transform(a.value,p)).then((x)=>({status:i.value,value:x}))});Tn.assertNever(c)}}di.create=(n,i,o)=>{return new di({schema:n,typeName:g.ZodEffects,effect:i,...xn(o)})};di.createWithPreprocess=(n,i,o)=>{return new di({schema:i,effect:{type:"preprocess",transform:n},typeName:g.ZodEffects,...xn(o)})};class Mo extends fn{_parse(n){if(this._getType(n)===D.undefined)return Oi(void 0);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}Mo.create=(n,i)=>{return new Mo({innerType:n,typeName:g.ZodOptional,...xn(i)})};class ho extends fn{_parse(n){if(this._getType(n)===D.null)return Oi(null);return this._def.innerType._parse(n)}unwrap(){return this._def.innerType}}ho.create=(n,i)=>{return new ho({innerType:n,typeName:g.ZodNullable,...xn(i)})};class Qp extends fn{_parse(n){const{ctx:i}=this._processInputParams(n);let o=i.data;if(i.parsedType===D.undefined)o=this._def.defaultValue();return this._def.innerType._parse({data:o,path:i.path,parent:i})}removeDefault(){return this._def.innerType}}Qp.create=(n,i)=>{return new Qp({innerType:n,typeName:g.ZodDefault,defaultValue:typeof i.default==="function"?i.default:()=>i.default,...xn(i)})};class Up extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o={...i,common:{...i.common,issues:[]}},c=this._def.innerType._parse({data:o.data,path:o.path,parent:{...o}});if(Ha(c))return c.then((p)=>{return{status:"valid",value:p.status==="valid"?p.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}});else return{status:"valid",value:c.status==="valid"?c.value:this._def.catchValue({get error(){return new Ii(o.common.issues)},input:o.data})}}removeCatch(){return this._def.innerType}}Up.create=(n,i)=>{return new Up({innerType:n,typeName:g.ZodCatch,catchValue:typeof i.catch==="function"?i.catch:()=>i.catch,...xn(i)})};class ba extends fn{_parse(n){if(this._getType(n)!==D.nan){const o=this._getOrReturnCtx(n);return y(o,{code:Q.invalid_type,expected:D.nan,received:o.parsedType}),nn}return{status:"valid",value:n.data}}}ba.create=(n)=>{return new ba({typeName:g.ZodNaN,...xn(n)})};var i3=Symbol("zod_brand");class Jm extends fn{_parse(n){const{ctx:i}=this._processInputParams(n),o=i.data;return this._def.type._parse({data:o,path:i.path,parent:i})}unwrap(){return this._def.type}}class _a extends fn{_parse(n){const{status:i,ctx:o}=this._processInputParams(n);if(o.common.async)return(async()=>{const p=await this._def.in._parseAsync({data:o.data,path:o.path,parent:o});if(p.status==="aborted")return nn;if(p.status==="dirty")return i.dirty(),Rp(p.value);else return this._def.out._parseAsync({data:p.value,path:o.path,parent:o})})();else{const c=this._def.in._parseSync({data:o.data,path:o.path,parent:o});if(c.status==="aborted")return nn;if(c.status==="dirty")return i.dirty(),{status:"dirty",value:c.value};else return this._def.out._parseSync({data:c.value,path:o.path,parent:o})}}static create(n,i){return new _a({in:n,out:i,typeName:g.ZodPipeline})}}class Vp extends fn{_parse(n){const i=this._def.innerType._parse(n),o=(c)=>{if(Oa(c))c.value=Object.freeze(c.value);return c};return Ha(i)?i.then((c)=>o(c)):o(i)}unwrap(){return this._def.innerType}}Vp.create=(n,i)=>{return new Vp({innerType:n,typeName:g.ZodReadonly,...xn(i)})};var o3={object:hn.lazycreate},g;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(g||(g={}));var c3=(n,i={message:`Input not instance of ${n.name}`})=>sF((o)=>o instanceof n,i),jF=Fo.create,NF=fc.create,p3=ba.create,a3=$c.create,LF=Xp.create,x3=Vc.create,m3=Ea.create,l3=zp.create,f3=Gp.create,$3=bc.create,v3=lc.create,w3=Ho.create,S3=Qa.create,J3=To.create,sa=hn.create,A3=hn.strictCreate,F3=Yp.create,T3=Sm.create,M3=up.create,R3=Eo.create,K3=Ua.create,W3=Va.create,X3=_c.create,z3=Kp.create,G3=Op.create,Y3=Hp.create,u3=vc.create,O3=Ep.create,H3=sc.create,HF=di.create,E3=Mo.create,Q3=ho.create,U3=di.createWithPreprocess,V3=_a.create,b3=()=>jF().optional(),_3=()=>NF().optional(),s3=()=>LF().optional(),j3={string:(n)=>Fo.create({...n,coerce:!0}),number:(n)=>fc.create({...n,coerce:!0}),boolean:(n)=>Xp.create({...n,coerce:!0}),bigint:(n)=>$c.create({...n,coerce:!0}),date:(n)=>Vc.create({...n,coerce:!0})},N3=nn,_n=Object.freeze({__proto__:null,defaultErrorMap:Wp,setErrorMap:L7,getErrorMap:$m,makeIssue:vm,EMPTY_PATH:B7,addIssueToContext:y,ParseStatus:Mi,INVALID:nn,DIRTY:Rp,OK:Oi,isAborted:Df,isDirty:If,isValid:Oa,isAsync:Ha,get util(){return Tn},get objectUtil(){return hf},ZodParsedType:D,getParsedType:mc,ZodType:fn,datetimeRegex:bF,ZodString:Fo,ZodNumber:fc,ZodBigInt:$c,ZodBoolean:Xp,ZodDate:Vc,ZodSymbol:Ea,ZodUndefined:zp,ZodNull:Gp,ZodAny:bc,ZodUnknown:lc,ZodNever:Ho,ZodVoid:Qa,ZodArray:To,ZodObject:hn,ZodUnion:Yp,ZodDiscriminatedUnion:Sm,ZodIntersection:up,ZodTuple:Eo,ZodRecord:Ua,ZodMap:Va,ZodSet:_c,ZodFunction:Kp,ZodLazy:Op,ZodLiteral:Hp,ZodEnum:vc,ZodNativeEnum:Ep,ZodPromise:sc,ZodEffects:di,ZodTransformer:di,ZodOptional:Mo,ZodNullable:ho,ZodDefault:Qp,ZodCatch:Up,ZodNaN:ba,BRAND:i3,ZodBranded:Jm,ZodPipeline:_a,ZodReadonly:Vp,custom:sF,Schema:fn,ZodSchema:fn,late:o3,get ZodFirstPartyTypeKind(){return g},coerce:j3,any:$3,array:J3,bigint:a3,boolean:LF,date:x3,discriminatedUnion:T3,effect:HF,enum:u3,function:z3,instanceof:c3,intersection:M3,lazy:G3,literal:Y3,map:W3,nan:p3,nativeEnum:O3,never:w3,null:f3,nullable:Q3,number:NF,object:sa,oboolean:s3,onumber:_3,optional:E3,ostring:b3,pipeline:V3,preprocess:U3,promise:H3,record:K3,set:X3,strictObject:A3,string:jF,symbol:m3,transformer:HF,tuple:R3,undefined:l3,union:F3,unknown:v3,void:S3,NEVER:N3,ZodIssueCode:Q,quotelessJson:N7,ZodError:Ii});function BF(n){const i=n.runtimeEnvStrict??n.runtimeEnv??process.env;if(n.emptyStringAsUndefined??!1){for(let[M,O]of Object.entries(i))if(O==="")delete i[M]}if(!!n.skipValidation)return i;const p=typeof n.client==="object"?n.client:{},a=typeof n.server==="object"?n.server:{},x=typeof n.shared==="object"?n.shared:{},m=sa(p),l=sa(a),f=sa(x),$=n.isServer??(typeof window==="undefined"||("Deno"in window)),v=m.merge(f),S=l.merge(f).merge(m),T=$?S.safeParse(i):v.safeParse(i),R=n.onValidationError??((M)=>{throw console.error("\u274C Invalid environment variables:",M.flatten().fieldErrors),new Error("Invalid environment variables")}),F=n.onInvalidAccess??((M)=>{throw new Error("\u274C Attempted to access a server-side environment variable on the client")});if(T.success===!1)return R(T.error);const X=(M)=>{if(!n.clientPrefix)return!0;return!M.startsWith(n.clientPrefix)&&!(M in f.shape)},z=(M)=>{return $||!X(M)},Y=(M)=>{return M==="__esModule"||M==="$$typeof"},E=(n.extends??[]).reduce((M,O)=>{return Object.assign(M,O)},{}),s=Object.assign(T.data,E);return new Proxy(s,{get(M,O){if(typeof O!=="string")return;if(Y(O))return;if(!z(O))return F(O);return Reflect.get(M,O)}})}var pi=BF({isServer:typeof window==="undefined",server:{POSTGRES_USER:_n.string(),POSTGRES_PASSWORD:_n.string(),POSTGRES_DATABASE:_n.string(),POSTGRES_HOST:_n.string(),POSTGRES_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),BACKEND_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),RUN_WORKERS_FROM_SOURCE:_n.union([_n.literal("true"),_n.literal("false")]).optional().transform((n)=>n==="true"),FRONTEND_PORT:_n.string().transform((n)=>Number.parseInt(n,10)),FRONTEND_ORIGINS:_n.string().transform((n)=>rn(n)).pipe(_n.array(_n.string()))},clientPrefix:"VITE_",client:{VITE_BACKEND_ORIGIN:_n.string()},runtimeEnv:import.meta.env,emptyStringAsUndefined:!0});var bp=new Rl,un=pi.VITE_BACKEND_ORIGIN.includes("localhost")?console:bp.logger;on.STORE.loggers[0]=new oa("warn",void 0,un);import{spawn as L3}from"child_process";import{resolve as B3}from"path";function yF(n,i,o=n.logger){const c=pi.RUN_WORKERS_FROM_SOURCE?"ts":"js",p=i.endsWith(".bun")?"bun":"node",x=[B3(import.meta.dir,`${i}.${c}`)];if(p==="node"&&c==="ts")x.push("--experimental-strip-types");const m=L3(p,x);return new la(m,i,o)}var CM=wv(tM(),1);var pz=604800000,_m=(()=>{let{__userSessionMap:n}=globalThis;if(!n){n=globalThis.__userSessionMap=new Map;const i=new CM.CronJob("00 00 03 * * *",()=>{for(let[o,c]of n.entries()){const p=Date.now();for(let[a,x]of c.entries())if(p-x>pz)c.delete(a);if(c.size===0)n.delete(o)}});i.start(),process.on("exit",()=>{i.stop(),un.info("\uD83D\uDEEC autoExpiry stopped")})}return n})();import ez from"path";class sm extends Yi{constructor(n,i,o,c){super();this.session=i,this.dialect=o,this.config={table:n,withList:c}}static[J]="PgDelete";config;where(n){return this.config.where=n,this}returning(n=this.config.table[h.Symbol.Columns]){return this.config.returning=Pi(n),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}class jm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgInsertBuilder";values(n){if(n=Array.isArray(n)?n:[n],n.length===0)throw new Error("values() must be called with at least one value");const i=n.map((o)=>{const c={},p=this.table[h.Symbol.Columns];for(let a of Object.keys(o)){const x=o[a];c[a]=u(x,C)?x:new Li(x,p[a])}return c});return new kM(this.table,i,this.session,this.dialect,this.withList)}}class kM extends Yi{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={table:n,values:i,withList:p}}static[J]="PgInsert";config;returning(n=this.config.table[h.Symbol.Columns]){return this.config.returning=Pi(n),this}onConflictDoNothing(n={}){if(n.target===void 0)this.config.onConflict=A`do nothing`;else{let i="";i=Array.isArray(n.target)?n.target.map((c)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(c))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target));const o=n.where?A` where ${n.where}`:void 0;this.config.onConflict=A`(${A.raw(i)})${o} do nothing`}return this}onConflictDoUpdate(n){if(n.where&&(n.targetWhere||n.setWhere))throw new Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');const i=n.where?A` where ${n.where}`:void 0,o=n.targetWhere?A` where ${n.targetWhere}`:void 0,c=n.setWhere?A` where ${n.setWhere}`:void 0,p=this.dialect.buildUpdateSet(this.config.table,ux(this.config.table,n.set));let a="";return a=Array.isArray(n.target)?n.target.map((x)=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(x))).join(","):this.dialect.escapeName(this.dialect.casing.getColumnCasing(n.target)),this.config.onConflict=A`(${A.raw(a)})${o} do update set ${p}${i}${c}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})};$dynamic(){return this}}function az(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((o)=>o.toLowerCase()).join("_")}function xz(n){return(n.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((o,c,p)=>{const a=p===0?c.toLowerCase():`${c[0].toUpperCase()}${c.slice(1)}`;return o+a},"")}function mz(n){return n}class M${static[J]="CasingCache";cache={};cachedTables={};convert;constructor(n){this.convert=n==="snake_case"?az:n==="camelCase"?xz:mz}getColumnCasing(n){if(!n.keyAsName)return n.name;const i=n.table[h.Symbol.Schema]??"public",o=n.table[h.Symbol.OriginalName],c=`${i}.${o}.${n.name}`;if(!this.cache[c])this.cacheTable(n.table);return this.cache[c]}cacheTable(n){const i=n[h.Symbol.Schema]??"public",o=n[h.Symbol.OriginalName],c=`${i}.${o}`;if(!this.cachedTables[c]){for(let p of Object.values(n[h.Symbol.Columns])){const a=`${c}.${p.name}`;this.cache[a]=this.convert(p.name)}this.cachedTables[c]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class ka extends Vi{static[J]="PgViewBase"}class Dc{static[J]="PgDialect";casing;constructor(n){this.casing=new M$(n?.casing)}async migrate(n,i,o){const c=typeof o==="string"?"__drizzle_migrations":o.migrationsTable??"__drizzle_migrations",p=typeof o==="string"?"drizzle":o.migrationsSchema??"drizzle",a=A`
|
|
38
|
+
CREATE TABLE IF NOT EXISTS ${A.identifier(p)}.${A.identifier(c)} (
|
|
39
|
+
id SERIAL PRIMARY KEY,
|
|
40
|
+
hash text NOT NULL,
|
|
41
|
+
created_at bigint
|
|
42
|
+
)
|
|
43
|
+
`;await i.execute(A`CREATE SCHEMA IF NOT EXISTS ${A.identifier(p)}`),await i.execute(a);const m=(await i.all(A`select id, hash, created_at from ${A.identifier(p)}.${A.identifier(c)} order by created_at desc limit 1`))[0];await i.transaction(async(l)=>{for await(let f of n)if(!m||Number(m.created_at)<f.folderMillis){for(let $ of f.sql)await l.execute(A.raw($));await l.execute(A`insert into ${A.identifier(p)}.${A.identifier(c)} ("hash", "created_at") values(${f.hash}, ${f.folderMillis})`)}})}escapeName(n){return`"${n}"`}escapeParam(n){return`\$${n+1}`}escapeString(n){return`'${n.replace(/'/g,"''")}'`}buildWithCTE(n){if(!n?.length)return;const i=[A`with `];for(let[o,c]of n.entries())if(i.push(A`${A.identifier(c._.alias)} as (${c._.sql})`),o<n.length-1)i.push(A`, `);return i.push(A` `),A.join(i)}buildDeleteQuery({table:n,where:i,returning:o,withList:c}){const p=this.buildWithCTE(c),a=o?A` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,x=i?A` where ${i}`:void 0;return A`${p}delete from ${n}${x}${a}`}buildUpdateSet(n,i){const o=n[h.Symbol.Columns],c=Object.keys(o).filter((a)=>i[a]!==void 0||o[a]?.onUpdateFn!==void 0),p=c.length;return A.join(c.flatMap((a,x)=>{const m=o[a],l=i[a]??A.param(m.onUpdateFn(),m),f=A`${A.identifier(this.casing.getColumnCasing(m))} = ${l}`;if(x<p-1)return[f,A.raw(", ")];return[f]}))}buildUpdateQuery({table:n,set:i,where:o,returning:c,withList:p}){const a=this.buildWithCTE(p),x=this.buildUpdateSet(n,i),m=c?A` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,l=o?A` where ${o}`:void 0;return A`${a}update ${n} set ${x}${l}${m}`}buildSelection(n,{isSingleTable:i=!1}={}){const o=n.length,c=n.flatMap(({field:p},a)=>{const x=[];if(u(p,C.Aliased)&&p.isSelectionField)x.push(A.identifier(p.fieldAlias));else if(u(p,C.Aliased)||u(p,C)){const m=u(p,C.Aliased)?p.sql:p;if(i)x.push(new C(m.queryChunks.map((l)=>{if(u(l,j))return A.identifier(this.casing.getColumnCasing(l));return l})));else x.push(m);if(u(p,C.Aliased))x.push(A` as ${A.identifier(p.fieldAlias)}`)}else if(u(p,bn))if(i)x.push(A.identifier(this.casing.getColumnCasing(p)));else x.push(p);if(a<o-1)x.push(A`, `);return x});return A.join(c)}buildSelectQuery({withList:n,fields:i,fieldsFlat:o,where:c,having:p,table:a,joins:x,orderBy:m,groupBy:l,limit:f,offset:$,lockingClause:v,distinct:S,setOperators:T}){const R=o??Pi(i);for(let ln of R)if(u(ln.field,bn)&&qi(ln.field.table)!==(u(a,fi)?a._.alias:u(a,ka)?a[yn].name:u(a,C)?void 0:qi(a))&&!(($n)=>x?.some(({alias:Qn})=>Qn===($n[h.Symbol.IsAlias]?qi($n):$n[h.Symbol.BaseName])))(ln.field.table)){const $n=qi(ln.field.table);throw new Error(`Your "${ln.path.join("->")}" field references a column "${$n}"."${ln.field.name}", but the table "${$n}" is not part of the query! Did you forget to join it?`)}const F=!x||x.length===0,X=this.buildWithCTE(n);let z;if(S)z=S===!0?A` distinct`:A` distinct on (${A.join(S.on,A`, `)})`;const Y=this.buildSelection(R,{isSingleTable:F}),E=(()=>{if(u(a,h)&&a[h.Symbol.OriginalName]!==a[h.Symbol.Name]){let ln=A`${A.identifier(a[h.Symbol.OriginalName])}`;if(a[h.Symbol.Schema])ln=A`${A.identifier(a[h.Symbol.Schema])}.${ln}`;return A`${ln} ${A.identifier(a[h.Symbol.Name])}`}return a})(),s=[];if(x)for(let[ln,$n]of x.entries()){if(ln===0)s.push(A` `);const Qn=$n.table,ji=$n.lateral?A` lateral`:void 0;if(u(Qn,vo)){const H=Qn[vo.Symbol.Name],k=Qn[vo.Symbol.Schema],Sn=Qn[vo.Symbol.OriginalName],Xn=H===Sn?void 0:$n.alias;s.push(A`${A.raw($n.joinType)} join${ji} ${k?A`${A.identifier(k)}.`:void 0}${A.identifier(Sn)}${Xn&&A` ${A.identifier(Xn)}`} on ${$n.on}`)}else if(u(Qn,Vi)){const H=Qn[yn].name,k=Qn[yn].schema,Sn=Qn[yn].originalName,Xn=H===Sn?void 0:$n.alias;s.push(A`${A.raw($n.joinType)} join${ji} ${k?A`${A.identifier(k)}.`:void 0}${A.identifier(Sn)}${Xn&&A` ${A.identifier(Xn)}`} on ${$n.on}`)}else s.push(A`${A.raw($n.joinType)} join${ji} ${Qn} on ${$n.on}`);if(ln<x.length-1)s.push(A` `)}const G=A.join(s),M=c?A` where ${c}`:void 0,O=p?A` having ${p}`:void 0;let U;if(m&&m.length>0)U=A` order by ${A.join(m,A`, `)}`;let V;if(l&&l.length>0)V=A` group by ${A.join(l,A`, `)}`;const K=typeof f==="object"||typeof f==="number"&&f>=0?A` limit ${f}`:void 0,B=$?A` offset ${$}`:void 0,_=A.empty();if(v){const ln=A` for ${A.raw(v.strength)}`;if(v.config.of)ln.append(A` of ${A.join(Array.isArray(v.config.of)?v.config.of:[v.config.of],A`, `)}`);if(v.config.noWait)ln.append(A` no wait`);else if(v.config.skipLocked)ln.append(A` skip locked`);_.append(ln)}const P=A`${X}select${z} ${Y} from ${E}${G}${M}${V}${O}${U}${K}${B}${_}`;if(T.length>0)return this.buildSetOperations(P,T);return P}buildSetOperations(n,i){const[o,...c]=i;if(!o)throw new Error("Cannot pass undefined values to any set operator");if(c.length===0)return this.buildSetOperationQuery({leftSelect:n,setOperator:o});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:n,setOperator:o}),c)}buildSetOperationQuery({leftSelect:n,setOperator:{type:i,isAll:o,rightSelect:c,limit:p,orderBy:a,offset:x}}){const m=A`(${n.getSQL()}) `,l=A`(${c.getSQL()})`;let f;if(a&&a.length>0){const T=[];for(let R of a)if(u(R,j))T.push(A.identifier(R.name));else if(u(R,C)){for(let F=0;F<R.queryChunks.length;F++){const X=R.queryChunks[F];if(u(X,j))R.queryChunks[F]=A.identifier(X.name)}T.push(A`${R}`)}else T.push(A`${R}`);f=A` order by ${A.join(T,A`, `)} `}const $=typeof p==="object"||typeof p==="number"&&p>=0?A` limit ${p}`:void 0,v=A.raw(`${i} ${o?"all ":""}`),S=x?A` offset ${x}`:void 0;return A`${m}${v}${l}${f}${$}${S}`}buildInsertQuery({table:n,values:i,onConflict:o,returning:c,withList:p}){const a=[],x=n[h.Symbol.Columns],m=Object.entries(x).filter(([T,R])=>!R.shouldDisableInsert()),l=m.map(([,T])=>A.identifier(this.casing.getColumnCasing(T)));for(let[T,R]of i.entries()){const F=[];for(let[X,z]of m){const Y=R[X];if(Y===void 0||u(Y,Li)&&Y.value===void 0)if(z.defaultFn!==void 0){const E=z.defaultFn(),s=u(E,C)?E:A.param(E,z);F.push(s)}else if(!z.default&&z.onUpdateFn!==void 0){const E=z.onUpdateFn(),s=u(E,C)?E:A.param(E,z);F.push(s)}else F.push(A`default`);else F.push(Y)}if(a.push(F),T<i.length-1)a.push(A`, `)}const f=this.buildWithCTE(p),$=A.join(a),v=c?A` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,S=o?A` on conflict ${o}`:void 0;return A`${f}insert into ${n} ${l} values ${$}${S}${v}`}buildRefreshMaterializedViewQuery({view:n,concurrently:i,withNoData:o}){const c=i?A` concurrently`:void 0,p=o?A` with no data`:void 0;return A`refresh materialized view${c} ${n}${p}`}prepareTyping(n){if(u(n,Ux)||u(n,Qx))return"json";else if(u(n,Vx))return"decimal";else if(u(n,bx))return"time";else if(u(n,_x)||u(n,sx))return"timestamp";else if(u(n,Ox)||u(n,Hx))return"date";else if(u(n,jx))return"uuid";else return"none"}sqlToQuery(n,i){return n.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:i})}buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:c,tableConfig:p,queryConfig:a,tableAlias:x,nestedQueryRelation:m,joinOn:l}){let f=[],$,v,S=[],T;const R=[];if(a===!0)f=Object.entries(p.columns).map(([z,Y])=>({dbKey:Y.name,tsKey:z,field:Yo(Y,x),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{const X=Object.fromEntries(Object.entries(p.columns).map(([M,O])=>[M,Yo(O,x)]));if(a.where){const M=typeof a.where==="function"?a.where(X,jS()):a.where;T=M&&Ja(M,x)}const z=[];let Y=[];if(a.columns){let M=!1;for(let[O,U]of Object.entries(a.columns)){if(U===void 0)continue;if(O in p.columns){if(!M&&U===!0)M=!0;Y.push(O)}}if(Y.length>0)Y=M?Y.filter((O)=>a.columns?.[O]===!0):Object.keys(p.columns).filter((O)=>!Y.includes(O))}else Y=Object.keys(p.columns);for(let M of Y){const O=p.columns[M];z.push({tsKey:M,value:O})}let E=[];if(a.with)E=Object.entries(a.with).filter((M)=>!!M[1]).map(([M,O])=>({tsKey:M,queryConfig:O,relation:p.relations[M]}));let s;if(a.extras){s=typeof a.extras==="function"?a.extras(X,{sql:A}):a.extras;for(let[M,O]of Object.entries(s))z.push({tsKey:M,value:jl(O,x)})}for(let{tsKey:M,value:O}of z)f.push({dbKey:u(O,C.Aliased)?O.fieldAlias:p.columns[M].name,tsKey:M,field:u(O,bn)?Yo(O,x):O,relationTableTsKey:void 0,isJson:!1,selection:[]});let G=typeof a.orderBy==="function"?a.orderBy(X,NS()):a.orderBy??[];if(!Array.isArray(G))G=[G];S=G.map((M)=>{if(u(M,bn))return Yo(M,x);return Ja(M,x)}),$=a.limit,v=a.offset;for(let{tsKey:M,queryConfig:O,relation:U}of E){const V=BS(i,o,U),K=Xc(U.referencedTable),B=o[K],_=`${x}_${M}`,P=zc(...V.fields.map((Qn,ji)=>uo(Yo(V.references[ji],_),Yo(Qn,x)))),ln=this.buildRelationalQueryWithoutPK({fullSchema:n,schema:i,tableNamesMap:o,table:n[B],tableConfig:i[B],queryConfig:u(U,oc)?O===!0?{limit:1}:{...O,limit:1}:O,tableAlias:_,joinOn:P,nestedQueryRelation:U}),$n=A`${A.identifier(_)}.${A.identifier("data")}`.as(M);R.push({on:A`true`,table:new fi(ln.sql,{},_),alias:_,joinType:"left",lateral:!0}),f.push({dbKey:M,tsKey:M,field:$n,relationTableTsKey:B,isJson:!0,selection:ln.selection})}}if(f.length===0)throw new Gx({message:`No fields selected for table "${p.tsName}" ("${x}")`});let F;if(T=zc(l,T),m){let X=A`json_build_array(${A.join(f.map(({field:E,tsKey:s,isJson:G})=>G?A`${A.identifier(`${x}_${s}`)}.${A.identifier("data")}`:u(E,C.Aliased)?E.sql:E),A`, `)})`;if(u(m,Ta))X=A`coalesce(json_agg(${X}${S.length>0?A` order by ${A.join(S,A`, `)}`:void 0}), '[]'::json)`;const z=[{dbKey:"data",tsKey:"data",field:X.as("data"),isJson:!0,relationTableTsKey:p.tsName,selection:f}];if($!==void 0||v!==void 0||S.length>0)F=this.buildSelectQuery({table:zx(c,x),fields:{},fieldsFlat:[{path:[],field:A.raw("*")}],where:T,limit:$,offset:v,orderBy:S,setOperators:[]}),T=void 0,$=void 0,v=void 0,S=[];else F=zx(c,x);F=this.buildSelectQuery({table:u(F,vo)?F:new fi(F,{},x),fields:{},fieldsFlat:z.map(({field:E})=>({path:[],field:u(E,bn)?Yo(E,x):E})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]})}else F=this.buildSelectQuery({table:zx(c,x),fields:{},fieldsFlat:f.map(({field:X})=>({path:[],field:u(X,bn)?Yo(X,x):X})),joins:R,where:T,limit:$,offset:v,orderBy:S,setOperators:[]});return{tableTsKey:p.tsName,sql:F,selection:f}}}class si{static[J]="SelectionProxyHandler";config;constructor(n){this.config={...n}}get(n,i){if(i==="_")return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(i===yn)return{...n[yn],selectedFields:new Proxy(n[yn].selectedFields,this)};if(typeof i==="symbol")return n[i];const c=(u(n,fi)?n._.selectedFields:u(n,Vi)?n[yn].selectedFields:n)[i];if(u(c,C.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!c.isSelectionField)return c.sql;const p=c.clone();return p.isSelectionField=!0,p}if(u(c,C)){if(this.config.sqlBehavior==="sql")return c;throw new Error(`You tried to reference "${i}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(u(c,bn)){if(this.config.alias)return new Proxy(c,new op(new Proxy(c.table,new Sa(this.config.alias,this.config.replaceOriginalName??!1))));return c}if(typeof c!=="object"||c===null)return c;return new Proxy(c,new si(this.config))}}class R${static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}function tp(n,i){return(o,c,...p)=>{const a=[c,...p].map((x)=>({type:n,isAll:i,rightSelect:x}));for(let x of a)if(!yl(o.getSelectedFields(),x.rightSelect.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return o.addSetOperators(a)}}class Ei{static[J]="PgSelectBuilder";fields;session;dialect;withList=[];distinct;constructor(n){if(this.fields=n.fields,this.session=n.session,this.dialect=n.dialect,n.withList)this.withList=n.withList;this.distinct=n.distinct}from(n){const i=!!this.fields;let o;if(this.fields)o=this.fields;else if(u(n,fi))o=Object.fromEntries(Object.keys(n._.selectedFields).map((c)=>[c,n[c]]));else if(u(n,ka))o=n[yn].selectedFields;else if(u(n,C))o={};else o=D0(n);return new K$({table:n,fields:o,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class rM extends R${static[J]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;constructor({table:n,fields:i,isPartialSelect:o,session:c,dialect:p,withList:a,distinct:x}){super();this.config={withList:a,table:n,fields:{...i},distinct:x,setOperators:[]},this.isPartialSelect=o,this.session=c,this.dialect=p,this._={selectedFields:i},this.tableName=hl(n),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{}}createJoin(n){return(i,o)=>{const c=this.tableName,p=hl(i);if(typeof p==="string"&&this.config.joins?.some((a)=>a.alias===p))throw new Error(`Alias "${p}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof c==="string")this.config.fields={[c]:this.config.fields};if(typeof p==="string"&&!u(i,C)){const a=u(i,fi)?i._.selectedFields:u(i,Vi)?i[yn].selectedFields:i[h.Symbol.Columns];this.config.fields[p]=a}}if(typeof o==="function")o=o(new Proxy(this.config.fields,new si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:o,table:i,joinType:n,alias:p}),typeof p==="string")switch(n){case"left":{this.joinsNotNullableMap[p]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!0;break}case"inner":{this.joinsNotNullableMap[p]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[p]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");createSetOperator(n,i){return(o)=>{const c=typeof o==="function"?o(lz()):o;if(!yl(this.getSelectedFields(),c.getSelectedFields()))throw new Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:n,isAll:i,rightSelect:c}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);intersectAll=this.createSetOperator("intersect",!0);except=this.createSetOperator("except",!1);exceptAll=this.createSetOperator("except",!0);addSetOperators(n){return this.config.setOperators.push(...n),this}where(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=n,this}having(n){if(typeof n==="function")n=n(new Proxy(this.config.fields,new si({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=n,this}groupBy(...n){if(typeof n[0]==="function"){const i=n[0](new Proxy(this.config.fields,new si({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=n;return this}orderBy(...n){if(typeof n[0]==="function"){const i=n[0](new Proxy(this.config.fields,new si({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),o=Array.isArray(i)?i:[i];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=o;else this.config.orderBy=o}else{const i=n;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=i;else this.config.orderBy=i}return this}limit(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=n;else this.config.limit=n;return this}offset(n){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=n;else this.config.offset=n;return this}for(n,i={}){return this.config.lockingClause={strength:n,config:i},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}as(n){return new Proxy(new fi(this.getSQL(),this.config.fields,n),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new si({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class K$ extends rM{static[J]="PgSelect";_prepare(n){const{session:i,config:o,dialect:c,joinsNotNullableMap:p}=this;if(!i)throw new Error("Cannot execute a query on a query builder. Please use a database instance instead.");return En.startActiveSpan("drizzle.prepareQuery",()=>{const a=Pi(o.fields),x=i.prepareQuery(c.sqlToQuery(this.getSQL()),a,n,!0);return x.joinsNotNullableMap=p,x})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}h0(K$,[Yi]);var lz=()=>({union:fz,unionAll:$z,intersect:vz,intersectAll:wz,except:Sz,exceptAll:Jz}),fz=tp("union",!1),$z=tp("union",!0),vz=tp("intersect",!1),wz=tp("intersect",!0),Sz=tp("except",!1),Jz=tp("except",!0);class W${static[J]="PgQueryBuilder";dialect;dialectConfig;constructor(n){this.dialect=u(n,Dc)?n:void 0,this.dialectConfig=u(n,Dc)?void 0:n}$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(i);return new Proxy(new wa(o.getSQL(),o.getSelectedFields(),n,!0),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}with(...n){const i=this;function o(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),withList:n})}function c(a){return new Ei({fields:a??void 0,session:void 0,dialect:i.getDialect(),distinct:!0})}function p(a,x){return new Ei({fields:x??void 0,session:void 0,dialect:i.getDialect(),distinct:{on:a}})}return{select:o,selectDistinct:c,selectDistinctOn:p}}select(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(n){return new Ei({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:n}})}getDialect(){if(!this.dialect)this.dialect=new Dc(this.dialectConfig);return this.dialect}}class X$ extends Yi{constructor(n,i,o){super();this.session=i,this.dialect=o,this.config={view:n}}static[J]="PgRefreshMaterializedView";config;concurrently(){if(this.config.withNoData!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw new Error("Cannot use concurrently and withNoData together");return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,n,!0)})}prepare(n){return this._prepare(n)}execute=(n)=>{return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute(n)})}}class Nm{constructor(n,i,o,c){this.table=n,this.session=i,this.dialect=o,this.withList=c}static[J]="PgUpdateBuilder";set(n){return new ZM(this.table,ux(this.table,n),this.session,this.dialect,this.withList)}}class ZM extends Yi{constructor(n,i,o,c,p){super();this.session=o,this.dialect=c,this.config={set:i,table:n,withList:p}}static[J]="PgUpdate";config;where(n){return this.config.where=n,this}returning(n=this.config.table[h.Symbol.Columns]){return this.config.returning=Pi(n),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){const{typings:n,...i}=this.dialect.sqlToQuery(this.getSQL());return i}_prepare(n){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,n,!0)}prepare(n){return this._prepare(n)}execute=(n)=>{return this._prepare().execute(n)};$dynamic(){return this}}class ra extends C{constructor(n){super(ra.buildEmbeddedCount(n.source,n.filters).queryChunks);this.params=n,this.mapWith(Number),this.session=n.session,this.sql=ra.buildCount(n.source,n.filters)}sql;static[J]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(n,i){return A`(select count(*) from ${n}${A.raw(" where ").if(i)}${i})`}static buildCount(n,i){return A`select count(*) as count from ${n}${A.raw(" where ").if(i)}${i};`}then(n,i){return Promise.resolve(this.session.count(this.sql)).then(n,i)}catch(n){return this.then(void 0,n)}finally(n){return this.then((i)=>{return n?.(),i},(i)=>{throw n?.(),i})}}class G${constructor(n,i,o,c,p,a,x){this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x}static[J]="PgRelationalQueryBuilder";findMany(n){return new z$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?n:{},"many")}findFirst(n){return new z$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,n?{...n,limit:1}:{limit:1},"first")}}class z$ extends Yi{constructor(n,i,o,c,p,a,x,m,l){super();this.fullSchema=n,this.schema=i,this.tableNamesMap=o,this.table=c,this.tableConfig=p,this.dialect=a,this.session=x,this.config=m,this.mode=l}static[J]="PgRelationalQuery";_prepare(n){return En.startActiveSpan("drizzle.prepareQuery",()=>{const{query:i,builtQuery:o}=this._toSQL();return this.session.prepareQuery(o,void 0,n,!0,(c,p)=>{const a=c.map((x)=>Nx(this.schema,this.tableConfig,x,i.selection,p));if(this.mode==="first")return a[0];return a})})}prepare(n){return this._prepare(n)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){const n=this._getQuery(),i=this.dialect.sqlToQuery(n.sql);return{query:n,builtQuery:i}}toSQL(){return this._toSQL().builtQuery}execute(){return En.startActiveSpan("drizzle.operation",()=>{return this._prepare().execute()})}}class Y$ extends Yi{constructor(n,i,o,c){super();this.execute=n,this.sql=i,this.query=o,this.mapBatchResult=c}static[J]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(n,i){return i?this.mapBatchResult(n):n}_prepare(){return this}isResponseInArrayMode(){return!1}}class Za{constructor(n,i,o){if(this.dialect=n,this.session=i,this._=o?{schema:o.schema,fullSchema:o.fullSchema,tableNamesMap:o.tableNamesMap,session:i}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:i},this.query={},this._.schema)for(let[c,p]of Object.entries(this._.schema))this.query[c]=new G$(o.fullSchema,this._.schema,this._.tableNamesMap,o.fullSchema[c],p,n,i)}static[J]="PgDatabase";query;$with(n){const i=this;return{as(o){if(typeof o==="function")o=o(new W$(i.dialect));return new Proxy(new wa(o.getSQL(),o.getSelectedFields(),n,!0),new si({alias:n,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}}$count(n,i){return new ra({source:n,filters:i,session:this.session})}with(...n){const i=this;function o(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n})}function c(l){return new Ei({fields:l??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:!0})}function p(l,f){return new Ei({fields:f??void 0,session:i.session,dialect:i.dialect,withList:n,distinct:{on:l}})}function a(l){return new Nm(l,i.session,i.dialect,n)}function x(l){return new jm(l,i.session,i.dialect,n)}function m(l){return new sm(l,i.session,i.dialect,n)}return{select:o,selectDistinct:c,selectDistinctOn:p,update:a,insert:x,delete:m}}select(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect})}selectDistinct(n){return new Ei({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(n,i){return new Ei({fields:i??void 0,session:this.session,dialect:this.dialect,distinct:{on:n}})}update(n){return new Nm(n,this.session,this.dialect)}insert(n){return new jm(n,this.session,this.dialect)}delete(n){return new sm(n,this.session,this.dialect)}refreshMaterializedView(n){return new X$(n,this.session,this.dialect)}execute(n){const i=typeof n==="string"?A.raw(n):n.getSQL(),o=this.dialect.sqlToQuery(i),c=this.session.prepareQuery(o,void 0,void 0,!1);return new Y$(()=>c.execute(),i,o,(p)=>c.mapResult(p,!0))}transaction(n,i){return this.session.transaction(n,i)}}function u$(n){return new qM(!0,n)}class qM{constructor(n,i){this.unique=n,this.name=i}static[J]="PgIndexBuilderOn";on(...n){return new Lm(n.map((i)=>{if(u(i,C))return i;i=i;const o=new va(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=JSON.parse(JSON.stringify(i.defaultConfig)),o}),this.unique,!1,this.name)}onOnly(...n){return new Lm(n.map((i)=>{if(u(i,C))return i;i=i;const o=new va(i.name,!!i.keyAsName,i.columnType,i.indexConfig);return i.indexConfig=i.defaultConfig,o}),this.unique,!0,this.name)}using(n,...i){return new Lm(i.map((o)=>{if(u(o,C))return o;o=o;const c=new va(o.name,!!o.keyAsName,o.columnType,o.indexConfig);return o.indexConfig=JSON.parse(JSON.stringify(o.defaultConfig)),c}),this.unique,!0,this.name,n)}}class Lm{static[J]="PgIndexBuilder";config;constructor(n,i,o,c,p="btree"){this.config={name:c,columns:n,unique:i,only:o,method:p}}concurrently(){return this.config.concurrently=!0,this}with(n){return this.config.with=n,this}where(n){return this.config.where=n,this}build(n){return new PM(this.config,n)}}class PM{static[J]="PgIndex";config;constructor(n,i){this.config={...n,table:i}}}class O${constructor(n){this.query=n}getQuery(){return this.query}mapResult(n,i){return n}static[J]="PgPreparedQuery";joinsNotNullableMap}class H${constructor(n){this.dialect=n}static[J]="PgSession";execute(n){return En.startActiveSpan("drizzle.operation",()=>{return En.startActiveSpan("drizzle.prepareQuery",()=>{return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1)}).execute()})}all(n){return this.prepareQuery(this.dialect.sqlToQuery(n),void 0,void 0,!1).all()}async count(n){const i=await this.execute(n);return Number(i[0].count)}}class E$ extends Za{constructor(n,i,o,c=0){super(n,i,o);this.schema=o,this.nestedIndex=c}static[J]="PgTransaction";rollback(){throw new Nl}getTransactionConfigSQL(n){const i=[];if(n.isolationLevel)i.push(`isolation level ${n.isolationLevel}`);if(n.accessMode)i.push(n.accessMode);if(typeof n.deferrable==="boolean")i.push(n.deferrable?"deferrable":"not deferrable");return A.raw(i.join(" "))}setTransaction(n){return this.session.execute(A`set transaction ${this.getTransactionConfigSQL(n)}`)}}class eM extends O${constructor(n,i,o,c,p,a,x){super({sql:i,params:o});this.client=n,this.queryString=i,this.params=o,this.logger=c,this.fields=p,this._isResponseInArrayMode=a,this.customResultMapper=x}static[J]="PostgresJsPreparedQuery";async execute(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=sl(this.params,n);i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o);const{fields:c,queryString:p,client:a,joinsNotNullableMap:x,customResultMapper:m}=this;if(!c&&!m)return En.startActiveSpan("drizzle.driver.execute",()=>{return a.unsafe(p,o)});const l=await En.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":p,"drizzle.query.params":JSON.stringify(o)}),a.unsafe(p,o).values()});return En.startActiveSpan("drizzle.mapResponse",()=>{return m?m(l):l.map((f)=>y0(c,f,x))})})}all(n={}){return En.startActiveSpan("drizzle.execute",async(i)=>{const o=sl(this.params,n);return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.logger.logQuery(this.queryString,o),En.startActiveSpan("drizzle.driver.execute",()=>{return i?.setAttributes({"drizzle.query.text":this.queryString,"drizzle.query.params":JSON.stringify(o)}),this.client.unsafe(this.queryString,o)})})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class qa extends H${constructor(n,i,o,c={}){super(i);this.client=n,this.schema=o,this.options=c,this.logger=c.logger??new Bl}static[J]="PostgresJsSession";logger;prepareQuery(n,i,o,c,p){return new eM(this.client,n.sql,n.params,this.logger,i,c,p)}query(n,i){return this.logger.logQuery(n,i),this.client.unsafe(n,i).values()}queryObjects(n,i){return this.client.unsafe(n,i)}transaction(n,i){return this.client.begin(async(o)=>{const c=new qa(o,this.dialect,this.schema,this.options),p=new Q$(this.dialect,c,this.schema);if(i)await p.setTransaction(i);return n(p)})}}class Q$ extends E${constructor(n,i,o,c=0){super(n,i,o,c);this.session=i}static[J]="PostgresJsTransaction";transaction(n){return this.session.client.savepoint((i)=>{const o=new qa(i,this.dialect,this.schema,this.session.options),c=new Q$(this.dialect,o,this.schema);return n(c)})}}function dM(n,i={}){const o=(l)=>l;for(let l of["1184","1082","1083","1114"])n.options.parsers[l]=o,n.options.serializers[l]=o;n.options.serializers["114"]=o,n.options.serializers["3802"]=o;const c=new Dc({casing:i.casing});let p;if(i.logger===!0)p=new Ll;else if(i.logger!==!1)p=i.logger;let a;if(i.schema){const l=LS(i.schema,yS);a={fullSchema:i.schema,schema:l.tables,tableNamesMap:l.tableNamesMap}}const x=new qa(n,c,a,{logger:p}),m=new gM(c,x,a);return m.$client=n,m}class gM extends Za{static[J]="PostgresJsDatabase"}import Lz from"os";import Bz from"fs";function Az(n){if(Bm.has(n))return Bm.get(n);const i=Error.stackTraceLimit;return Error.stackTraceLimit=4,Bm.set(n,new Error),Error.stackTraceLimit=i,Bm.get(n)}var Bm=new Map,U$=new Map,V$=Symbol("OriginError"),Cp={};class po extends Promise{constructor(n,i,o,c,p={}){let a,x;super((m,l)=>{a=m,x=l});this.tagged=Array.isArray(n.raw),this.strings=n,this.args=i,this.handler=o,this.canceller=c,this.options=p,this.state=null,this.statement=null,this.resolve=(m)=>(this.active=!1,a(m)),this.reject=(m)=>(this.active=!1,x(m)),this.active=!1,this.cancelled=null,this.executed=!1,this.signature="",this[V$]=this.handler.debug?new Error:this.tagged&&Az(this.strings)}get origin(){return(this.handler.debug?this[V$].stack:this.tagged&&U$.has(this.strings)?U$.get(this.strings):U$.set(this.strings,this[V$].stack).get(this.strings))||""}static get[Symbol.species](){return Promise}cancel(){return this.canceller&&(this.canceller(this),this.canceller=null)}simple(){return this.options.simple=!0,this.options.prepare=!1,this}async readable(){return this.simple(),this.streaming=!0,this}async writable(){return this.simple(),this.streaming=!0,this}cursor(n=1,i){if(this.options.simple=!1,typeof n==="function")i=n,n=1;if(this.cursorRows=n,typeof i==="function")return this.cursorFn=i,this;let o;return{[Symbol.asyncIterator]:()=>({next:()=>{if(this.executed&&!this.active)return{done:!0};o&&o();const c=new Promise((p,a)=>{this.cursorFn=(x)=>{return p({value:x,done:!1}),new Promise((m)=>o=m)},this.resolve=()=>(this.active=!1,p({done:!0})),this.reject=(x)=>(this.active=!1,a(x))});return this.execute(),c},return(){return o&&o(Cp),{done:!0}}})}}describe(){return this.options.simple=!1,this.onlyDescribe=this.options.prepare=!0,this}stream(){throw new Error(".stream has been renamed to .forEach")}forEach(n){return this.forEachFn=n,this.handle(),this}raw(){return this.isRaw=!0,this}values(){return this.isRaw="values",this}async handle(){!this.executed&&(this.executed=!0)&&await 1&&this.handler(this)}execute(){return this.handle(),this}then(){return this.handle(),super.then.apply(this,arguments)}catch(){return this.handle(),super.catch.apply(this,arguments)}finally(){return this.handle(),super.finally.apply(this,arguments)}}function nR(n,i,o){const{host:c,port:p}=o||i,a=Object.assign(new Error("write "+n+" "+(i.path||c+":"+p)),{code:n,errno:n,address:i.path||c},i.path?{}:{port:p});return Error.captureStackTrace(a,nR),a}function iR(n){const i=new kp(n);return Error.captureStackTrace(i,iR),i}function oR(n,i){const o=Object.assign(new Error(n+": "+i),{code:n});return Error.captureStackTrace(o,oR),o}function cR(n){const i=Object.assign(new Error(n+" (B) is not supported"),{code:"MESSAGE_NOT_SUPPORTED",name:n});return Error.captureStackTrace(i,cR),i}class kp extends Error{constructor(n){super(n.message);this.name=this.constructor.name,Object.assign(this,n)}}var dn={connection:nR,postgres:iR,generic:oR,notSupported:cR};function tm(n,i,o,c){let p=n instanceof Vo?n.value:n;if(p===void 0){if(n instanceof Vo?n.value=c.transform.undefined:p=n=c.transform.undefined,p===void 0)throw dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return"$"+o.push(n instanceof Vo?(i.push(n.value),n.array?n.array[n.type||hm(n.value)]||n.type||mR(n.value):n.type):(i.push(n),hm(n)))}function j$(n,i,o,c,p,a){for(let x=1;x<n.strings.length;x++)i+=N$(i,o,c,p,a)+n.strings[x],o=n.args[x];return i}function N$(n,i,o,c,p){return i instanceof Im?i.build(n,o,c,p):i instanceof po?s$(i,o,c,p):i instanceof da?i.value:i&&i[0]instanceof po?i.reduce((a,x)=>a+" "+s$(x,o,c,p),""):tm(i,o,c,p)}function s$(n,i,o,c){return n.fragment=!0,j$(n,n.strings[0],n.args[0],i,o,c)}function xR(n,i,o,c,p){return n.map((a)=>"("+c.map((x)=>N$("values",a[x],i,o,p)).join(",")+")").join(",")}function pR(n,i,o,c,p){const a=Array.isArray(n[0]),x=i.length?i.flat():Object.keys(a?n[0]:n);return xR(a?n:[n],o,c,x,p)}function ym(n,i,o,c,p){if(typeof n==="string"&&(n=[n].concat(i)),Array.isArray(n))return L$(n,p);let a;return(i.length?i.flat():Object.keys(n)).map((m)=>{return a=n[m],(a instanceof po?s$(a,o,c,p):a instanceof da?a.value:tm(a,o,c,p))+" as "+Cm(p.transform.column.to?p.transform.column.to(m):m)}).join(",")}function b$(){throw dn.generic("NOT_TAGGED_CALL","Query not called as a tagged template literal")}function mR(n){if(Array.isArray(n))return mR(n[0]);return typeof n==="string"?1009:0}function fR(n){return Object.keys(n).reduce((i,o)=>{if(n[o].from&&[].concat(n[o].from).forEach((c)=>i.parsers[c]=n[o].parse),n[o].serialize)i.serializers[n[o].to]=n[o].serialize,n[o].from&&[].concat(n[o].from).forEach((c)=>i.serializers[c]=n[o].serialize);return i},{parsers:{},serializers:{}})}function L$(n,{transform:{column:i}}){return n.map((o)=>Cm(i.to?i.to(o):o)).join(",")}function Xz(n){return n.replace(Kz,"\\\\").replace(Wz,'\\"')}function wR(n,i,o,c){const p=[],a=c===1020?";":",";for(;n.i<i.length;n.i++){if(n.char=i[n.i],n.quoted)if(n.char==="\\")n.str+=i[++n.i];else if(n.char==='"')p.push(o?o(n.str):n.str),n.str="",n.quoted=i[n.i+1]==='"',n.last=n.i+2;else n.str+=n.char;else if(n.char==='"')n.quoted=!0;else if(n.char==="{")n.last=++n.i,p.push(wR(n,i,o,c));else if(n.char==="}"){n.quoted=!1,n.last<n.i&&p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;break}else if(n.char===a&&n.p!=="}"&&n.p!=='"')p.push(o?o(i.slice(n.last,n.i)):i.slice(n.last,n.i)),n.last=n.i+1;n.p=n.char}return n.last<n.i&&p.push(o?o(i.slice(n.last,n.i+1)):i.slice(n.last,n.i+1)),p}function B$(n){return function i(o,c){return typeof o==="object"&&o!==null&&(c.type===114||c.type===3802)?Array.isArray(o)?o.map((p)=>i(p,c)):Object.entries(o).reduce((p,[a,x])=>Object.assign(p,{[n(a)]:i(x,c)}),{}):o}}var Fz={string:{to:25,from:null,serialize:(n)=>""+n},number:{to:0,from:[21,23,26,700,701],serialize:(n)=>""+n,parse:(n)=>+n},json:{to:114,from:[114,3802],serialize:(n)=>JSON.stringify(n),parse:(n)=>JSON.parse(n)},boolean:{to:16,from:16,serialize:(n)=>n===!0?"t":"f",parse:(n)=>n==="t"},date:{to:1184,from:[1082,1114,1184],serialize:(n)=>(n instanceof Date?n:new Date(n)).toISOString(),parse:(n)=>new Date(n)},bytea:{to:17,from:17,serialize:(n)=>"\\x"+Buffer.from(n).toString("hex"),parse:(n)=>Buffer.from(n.slice(2),"hex")}};class Dm{then(){b$()}catch(){b$()}finally(){b$()}}class da extends Dm{constructor(n){super();this.value=Cm(n)}}class Vo extends Dm{constructor(n,i,o){super();this.value=n,this.type=i,this.array=o}}class Im extends Dm{constructor(n,i){super();this.first=n,this.rest=i}build(n,i,o,c){const p=Tz.map(([a,x])=>({fn:x,i:n.search(a)})).sort((a,x)=>a.i-x.i).pop();return p.i===-1?L$(this.first,c):p.fn(this.first,this.rest,i,o,c)}}var aR=fR(Fz),Tz=Object.entries({values:pR,in:(...n)=>{const i=pR(...n);return i==="()"?"(null)":i},select:ym,as:ym,returning:ym,"\\(":ym,update(n,i,o,c,p){return(i.length?i.flat():Object.keys(n)).map((a)=>Cm(p.transform.column.to?p.transform.column.to(a):a)+"="+N$("values",n[a],o,c,p))},insert(n,i,o,c,p){const a=i.length?i.flat():Object.keys(Array.isArray(n)?n[0]:n);return"("+L$(a,p)+")values"+xR(Array.isArray(n)?n:[n],o,c,a,p)}}).map(([n,i])=>[new RegExp("((?:^|[\\s(])"+n+"(?:$|[\\s(]))(?![\\s\\S]*\\1)","i"),i]),Mz=aR.serializers,Rz=aR.parsers;var lR=function(n){const i=fR(n||{});return{serializers:Object.assign({},Mz,i.serializers),parsers:Object.assign({},Rz,i.parsers)}},Cm=function n(i){return'"'+i.replace(/"/g,'""').replace(/\./g,'"."')+'"'},hm=function n(i){return i instanceof Vo?i.type:i instanceof Date?1184:i instanceof Uint8Array?17:i===!0||i===!1?16:typeof i==="bigint"?20:Array.isArray(i)?n(i[0]):0},Kz=/\\/g,Wz=/"/g,$R=function n(i,o,c,p){if(Array.isArray(i)===!1)return i;if(!i.length)return"{}";const a=i[0],x=p===1020?";":",";if(Array.isArray(a)&&!a.type)return"{"+i.map((m)=>n(m,o,c,p)).join(x)+"}";return"{"+i.map((m)=>{if(m===void 0){if(m=c.transform.undefined,m===void 0)throw dn.generic("UNDEFINED_VALUE","Undefined values are not allowed")}return m===null?"null":'"'+Xz(o?o(m.type?m.value:m):""+m)+'"'}).join(x)+"}"},_$={i:0,char:null,str:"",quoted:!1,last:0},vR=function n(i,o,c){return _$.i=_$.last=0,wR(_$,i,o,c)},Ic=(n)=>{let i=n[0];for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},tc=(n)=>{let i=n[0].toUpperCase();for(let o=1;o<n.length;o++)i+=n[o]==="_"?n[++o].toUpperCase():n[o];return i},Cc=(n)=>n.replace(/_/g,"-"),Pa=(n)=>n.replace(/([A-Z])/g,"_$1").toLowerCase(),ea=(n)=>(n.slice(0,1)+n.slice(1).replace(/([A-Z])/g,"_$1")).toLowerCase(),ga=(n)=>n.replace(/-/g,"_");Ic.column={from:Ic};Ic.value={from:B$(Ic)};Pa.column={to:Pa};var y$={...Ic};y$.column.to=Pa;tc.column={from:tc};tc.value={from:B$(tc)};ea.column={to:ea};var h$={...tc};h$.column.to=ea;Cc.column={from:Cc};Cc.value={from:B$(Cc)};ga.column={to:ga};var D$={...Cc};D$.column.to=ga;import SR from"net";import uz from"tls";import nx from"crypto";import I$ from"stream";import{performance as JR}from"perf_hooks";class kc extends Array{constructor(){super();Object.defineProperties(this,{count:{value:null,writable:!0},state:{value:null,writable:!0},command:{value:null,writable:!0},columns:{value:null,writable:!0},statement:{value:null,writable:!0}})}static get[Symbol.species](){return Array}}function zz(n=[]){let i=n.slice(),o=0;return{get length(){return i.length-o},remove:(c)=>{const p=i.indexOf(c);return p===-1?null:(i.splice(p,1),c)},push:(c)=>(i.push(c),c),shift:()=>{const c=i[o++];if(o===i.length)o=0,i=[];else i[o-1]=void 0;return c}}}var Ci=zz;function km(n){if(Xi.length-Hn.i<n){const i=Xi,o=i.length;Xi=Buffer.allocUnsafe(o+(o>>1)+n),i.copy(Xi)}}function Yz(){return Hn.i=0,Hn}var Xi=Buffer.allocUnsafe(256),Gz="BCcDdEFfHPpQSX".split("").reduce((n,i)=>{const o=i.charCodeAt(0);return n[i]=()=>{return Xi[0]=o,Hn.i=5,Hn},n},{}),Hn=Object.assign(Yz,Gz,{N:String.fromCharCode(0),i:0,inc(n){return Hn.i+=n,Hn},str(n){const i=Buffer.byteLength(n);return km(i),Hn.i+=Xi.write(n,Hn.i,i,"utf8"),Hn},i16(n){return km(2),Xi.writeUInt16BE(n,Hn.i),Hn.i+=2,Hn},i32(n,i){if(i||i===0)return Xi.writeUInt32BE(n,i),Hn;return km(4),Xi.writeUInt32BE(n,Hn.i),Hn.i+=4,Hn},z(n){return km(n),Xi.fill(0,Hn.i,Hn.i+n),Hn.i+=n,Hn},raw(n){return Xi=Buffer.concat([Xi.subarray(0,Hn.i),n]),Hn.i=Xi.length,Hn},end(n=1){Xi.writeUInt32BE(Hn.i-n,n);const i=Xi.subarray(0,Hn.i);return Hn.i=0,Xi=Buffer.allocUnsafe(256),i}}),Z=Hn;function TR(n,i={},{onopen:o=rp,onend:c=rp,onclose:p=rp}={}){const{ssl:a,max:x,user:m,host:l,port:f,database:$,parsers:v,transform:S,onnotice:T,onnotify:R,onparameter:F,max_pipeline:X,keep_alive:z,backoff:Y,target_session_attrs:E}=n,s=Ci(),G=Oz++,M={pid:null,secret:null},O=C$(gm,n.idle_timeout),U=C$(gm,n.max_lifetime),V=C$(hR,n.connect_timeout);let K=null,B,_=new kc,P=Buffer.alloc(0),ln=n.fetch_types,$n={},Qn={},ji=Math.random().toString(36).slice(2),H=1,k=0,Sn=0,Xn=0,ni=0,wn=0,Un=0,Pn=0,Bn=null,sn=null,vi=!1,Vn=null,ao=null,wi=null,Io=null,ii=null,jn=null,xo=null,zo=null,N=null,Zp=null;const Si={queue:i.closed,idleTimer:O,connect(w){wi=w||!0,xv()},terminate:Pp,execute:qp,cancel:NR,end:gm,count:0,id:G};return i.closed&&i.closed.push(Si),Si;async function jR(){let w;try{w=n.socket?await Promise.resolve(n.socket(n)):new SR.Socket}catch(W){qc(W);return}return w.on("error",qc),w.on("close",mv),w.on("drain",pv),w}async function NR({pid:w,secret:W},q,Rn){try{B=Z().i32(16).i32(80877102).i32(w).i32(W).end(16),await av(),K.once("error",Rn),K.once("close",q)}catch(tn){Rn(tn)}}function qp(w){if(vi)return cx(w,dn.connection("CONNECTION_DESTROYED",n));if(w.cancelled)return;try{return w.state=M,N?s.push(w):(N=w,N.active=!0),yR(w),mi(LR(w))&&!w.describeFirst&&!w.cursorFn&&s.length<X&&(!w.options.onexecute||w.options.onexecute(Si))}catch(W){return s.length===0&&mi(Fc),Go(W),!0}}function LR(w){if(w.parameters.length>=65534)throw dn.generic("MAX_PARAMETERS_EXCEEDED","Max number of parameters (65534) exceeded");return w.options.simple?Z().Q().str(w.statement.string+Z.N).end():w.describeFirst?Buffer.concat([iv(w),AR]):w.prepare?w.prepared?ox(w):Buffer.concat([iv(w),ox(w)]):BR(w)}function iv(w){return Buffer.concat([fv(w.statement.string,w.parameters,w.statement.types,w.statement.name),Y4("S",w.statement.name)])}function ox(w){return Buffer.concat([G4(w.parameters,w.statement.types,w.statement.name,w.cursorName),w.cursorFn?$v("",w.cursorRows):Ez])}function BR(w){return Buffer.concat([fv(w.statement.string,w.parameters,w.statement.types),Qz,ox(w)])}function yR(w){const W=[],q=[],Rn=j$(w,w.strings[0],w.args[0],W,q,n);!w.tagged&&w.args.forEach((tn)=>tm(tn,W,q,n)),w.prepare=n.prepare&&("prepare"in w.options?w.options.prepare:!0),w.string=Rn,w.signature=w.prepare&&q+Rn,w.onlyDescribe&&delete Qn[w.signature],w.parameters=w.parameters||W,w.prepared=w.prepare&&w.signature in Qn,w.describeFirst=w.onlyDescribe||W.length&&!w.prepared,w.statement=w.prepared?Qn[w.signature]:{string:Rn,types:q,name:w.prepare?ji+H++:""},typeof n.debug==="function"&&n.debug(G,Rn,W,q)}function mi(w,W){if(jn=jn?Buffer.concat([jn,w]):Buffer.from(w),W||jn.length>=1024)return ov(W);return sn===null&&(sn=setImmediate(ov)),!0}function ov(w){const W=K.write(jn,w);return sn!==null&&clearImmediate(sn),jn=sn=null,W}function hR(){Go(dn.connection("CONNECT_TIMEOUT",n,K)),K.destroy()}async function cv(){if(mi(Hz),!await new Promise((W)=>K.once("data",(q)=>W(q[0]===83)))&&a==="prefer")return Zc();K.removeAllListeners(),K=uz.connect({socket:K,servername:SR.isIP(K.host)?void 0:K.host,...a==="require"||a==="allow"||a==="prefer"?{rejectUnauthorized:!1}:a==="verify-full"?{}:typeof a==="object"?a:{}}),K.on("secureConnect",Zc),K.on("error",qc),K.on("close",mv),K.on("drain",pv)}function pv(){!N&&o(Si)}function em(w){if(Vn){if(Vn.push(w),Sn-=w.length,Sn>=0)return}P=Vn?Buffer.concat(Vn,wn-Sn):P.length===0?w:Buffer.concat([P,w],P.length+w.length);while(P.length>4){if(wn=P.readUInt32BE(1),wn>=P.length){Sn=wn-P.length,Vn=[P];break}try{DR(P.subarray(0,wn+1))}catch(W){N&&(N.cursorFn||N.describeFirst)&&mi(Fc),Go(W)}P=P.subarray(wn+1),Sn=0,Vn=null}}async function av(){if(vi=!1,$n={},K||(K=await jR()),!K)return;if(V.start(),n.socket)return a?cv():Zc();if(K.on("connect",a?cv:Zc),n.path)return K.connect(n.path);K.ssl=a,K.connect(f[Xn],l[Xn]),K.host=l[Xn],K.port=f[Xn],Xn=(Xn+1)%f.length}function xv(){setTimeout(av,k?k+Un-JR.now():0)}function Zc(){try{Qn={},ln=n.fetch_types,ji=Math.random().toString(36).slice(2),H=1,U.start(),K.on("data",em),z&&K.setKeepAlive&&K.setKeepAlive(!0,1000*z);const w=O4();mi(w)}catch(w){qc(w)}}function qc(w){if(Si.queue===i.connecting&&n.host[ni+1])return;Go(w);while(s.length)cx(s.shift(),w)}function Go(w){ii&&(ii.destroy(w),ii=null),N&&cx(N,w),wi&&(cx(wi,w),wi=null)}function cx(w,W){Object.defineProperties(W,{stack:{value:W.stack+w.origin.replace(/.*\n/,"\n"),enumerable:n.debug},query:{value:w.string,enumerable:n.debug},parameters:{value:w.parameters,enumerable:n.debug},args:{value:w.args,enumerable:n.debug},types:{value:w.statement&&w.statement.types,enumerable:n.debug}}),w.reject(W)}function gm(){return Io||(!Si.reserved&&c(Si),!Si.reserved&&!wi&&!N&&s.length===0?(Pp(),new Promise((w)=>K&&K.readyState!=="closed"?K.once("close",w):w())):Io=new Promise((w)=>xo=w))}function Pp(){if(vi=!0,ii||N||wi||s.length)qc(dn.connection("CONNECTION_DESTROYED",n));if(clearImmediate(sn),K)K.removeListener("data",em),K.removeListener("connect",Zc),K.readyState==="open"&&K.end(Z().X().end());xo&&(xo(),Io=xo=null)}async function mv(w){if(P=Buffer.alloc(0),Sn=0,Vn=null,clearImmediate(sn),K.removeListener("data",em),K.removeListener("connect",Zc),O.cancel(),U.cancel(),V.cancel(),K.removeAllListeners(),K=null,wi)return xv();!w&&(N||s.length)&&qc(dn.connection("CONNECTION_CLOSED",n,K)),k=JR.now(),w&&n.shared.retries++,Un=(typeof Y==="function"?Y(n.shared.retries):Y)*1000,p(Si,dn.connection("CONNECTION_CLOSED",n,K))}function DR(w,W=w[0]){(W===68?IR:W===100?F4:W===65?$4:W===83?tR:W===90?CR:W===67?kR:W===50?lv:W===49?rR:W===116?ZR:W===84?qR:W===82?PR:W===110?o4:W===75?c4:W===69?l4:W===115?v4:W===51?w4:W===71?S4:W===78?M4:W===72?J4:W===99?T4:W===73?R4:W===86?K4:W===118?W4:W===87?A4:X4)(w)}function IR(w){let W=7,q,Rn,tn;const Ji=N.isRaw?new Array(N.statement.columns.length):{};for(let zi=0;zi<N.statement.columns.length;zi++)Rn=N.statement.columns[zi],q=w.readInt32BE(W),W+=4,tn=q===-1?null:N.isRaw===!0?w.subarray(W,W+=q):Rn.parser===void 0?w.toString("utf8",W,W+=q):Rn.parser.array===!0?Rn.parser(w.toString("utf8",W+1,W+=q)):Rn.parser(w.toString("utf8",W,W+=q)),N.isRaw?Ji[zi]=N.isRaw===!0?tn:S.value.from?S.value.from(tn,Rn):tn:Ji[Rn.name]=S.value.from?S.value.from(tn,Rn):tn;N.forEachFn?N.forEachFn(S.row.from?S.row.from(Ji):Ji,_):_[Pn++]=S.row.from?S.row.from(Ji):Ji}function tR(w){const[W,q]=w.toString("utf8",5,w.length-1).split(Z.N);if($n[W]=q,n.parameters[W]!==q)n.parameters[W]=q,F&&F(W,q)}function CR(w){if(N&&N.options.simple&&N.resolve(ao||_),N=ao=null,_=new kc,V.cancel(),wi){if(E){if(!$n.in_hot_standby||!$n.default_transaction_read_only)return m4();else if(x4(E,$n))return Pp()}if(ln)return wi===!0&&(wi=null),p4();wi!==!0&&qp(wi),n.shared.retries=ni=0,wi=null;return}while(s.length&&(N=s.shift())&&(N.active=!0,N.cancelled))TR(n).cancel(N.state,N.cancelled.resolve,N.cancelled.reject);if(N)return;Si.reserved?!Si.reserved.release&&w[5]===73?Io?Pp():(Si.reserved=null,o(Si)):Si.reserved():Io?Pp():o(Si)}function kR(w){Pn=0;for(let W=w.length-1;W>0;W--){if(w[W]===32&&w[W+1]<58&&_.count===null)_.count=+w.toString("utf8",W+1,w.length-1);if(w[W-1]>=65){_.command=w.toString("utf8",5,W),_.state=M;break}}if(Zp&&(Zp(),Zp=null),_.command==="BEGIN"&&x!==1&&!Si.reserved)return Go(dn.generic("UNSAFE_TRANSACTION","Only use sql.begin, sql.reserved or max: 1"));if(N.options.simple)return lv();if(N.cursorFn)_.count&&N.cursorFn(_),mi(Fc);N.resolve(_)}function rR(){N.parsing=!1}function lv(){!_.statement&&(_.statement=N.statement),_.columns=N.statement.columns}function ZR(w){const W=w.readUInt16BE(5);for(let q=0;q<W;++q)!N.statement.types[q]&&(N.statement.types[q]=w.readUInt32BE(7+q*4));N.prepare&&(Qn[N.signature]=N.statement),N.describeFirst&&!N.onlyDescribe&&(mi(ox(N)),N.describeFirst=!1)}function qR(w){if(_.command)ao=ao||[_],ao.push(_=new kc),_.count=null,N.statement.columns=null;const W=w.readUInt16BE(5);let q=7,Rn;N.statement.columns=Array(W);for(let tn=0;tn<W;++tn){Rn=q;while(w[q++]!==0);const Ji=w.readUInt32BE(q),zi=w.readUInt16BE(q+4),to=w.readUInt32BE(q+6);N.statement.columns[tn]={name:S.column.from?S.column.from(w.toString("utf8",Rn,q-1)):w.toString("utf8",Rn,q-1),parser:v[to],table:Ji,number:zi,type:to},q+=18}if(_.statement=N.statement,N.onlyDescribe)return N.resolve(N.statement),mi(Fc)}async function PR(w,W=w.readUInt32BE(5)){(W===3?eR:W===5?gR:W===10?dR:W===11?n4:W===12?i4:W!==0?z4:rp)(w,W)}async function eR(){const w=await dm();mi(Z().p().str(w).z(1).end())}async function gR(w){const W="md5"+await FR(Buffer.concat([Buffer.from(await FR(await dm()+m)),w.subarray(9)]));mi(Z().p().str(W).z(1).end())}async function dR(){zo=(await nx.randomBytes(18)).toString("base64"),Z().p().str("SCRAM-SHA-256"+Z.N);const w=Z.i;mi(Z.inc(4).str("n,,n=*,r="+zo).i32(Z.i-w-4,w).end())}async function n4(w){const W=w.toString("utf8",9).split(",").reduce((zi,to)=>(zi[to[0]]=to.slice(2),zi),{}),q=await nx.pbkdf2Sync(await dm(),Buffer.from(W.s,"base64"),parseInt(W.i),32,"sha256"),Rn=await rm(q,"Client Key"),tn="n=*,r="+zo+",r="+W.r+",s="+W.s+",i="+W.i+",c=biws,r="+W.r;Bn=(await rm(await rm(q,"Server Key"),tn)).toString("base64");const Ji="c=biws,r="+W.r+",p="+_z(Rn,Buffer.from(await rm(await bz(Rn),tn))).toString("base64");mi(Z().p().str(Ji).end())}function i4(w){if(w.toString("utf8",9).split(Z.N,1)[0].slice(2)===Bn)return;Go(dn.generic("SASL_SIGNATURE_MISMATCH","The server did not return the correct signature")),K.destroy()}function dm(){return Promise.resolve(typeof n.pass==="function"?n.pass():n.pass)}function o4(){if(_.statement=N.statement,_.statement.columns=[],N.onlyDescribe)return N.resolve(N.statement),mi(Fc)}function c4(w){M.pid=w.readUInt32BE(5),M.secret=w.readUInt32BE(9)}async function p4(){ln=!1,(await new po([`
|
|
44
|
+
select b.oid, b.typarray
|
|
45
|
+
from pg_catalog.pg_type a
|
|
46
|
+
left join pg_catalog.pg_type b on b.oid = a.typelem
|
|
47
|
+
where a.typcategory = 'A'
|
|
48
|
+
group by b.oid, b.typarray
|
|
49
|
+
order by b.oid
|
|
50
|
+
`],[],qp)).forEach(({oid:W,typarray:q})=>a4(W,q))}function a4(w,W){if(!!n.parsers[W]&&!!n.serializers[W])return;const q=n.parsers[w];n.shared.typeArrayMap[w]=W,n.parsers[W]=(Rn)=>vR(Rn,q,W),n.parsers[W].array=!0,n.serializers[W]=(Rn)=>$R(Rn,n.serializers[w],n,W)}function x4(w,W){return w==="read-write"&&W.default_transaction_read_only==="on"||w==="read-only"&&W.default_transaction_read_only==="off"||w==="primary"&&W.in_hot_standby==="on"||w==="standby"&&W.in_hot_standby==="off"||w==="prefer-standby"&&W.in_hot_standby==="off"&&n.host[ni]}function m4(){const w=new po([`
|
|
51
|
+
show transaction_read_only;
|
|
52
|
+
select pg_catalog.pg_is_in_recovery()
|
|
53
|
+
`],[],qp,null,{simple:!0});w.resolve=([[W],[q]])=>{$n.default_transaction_read_only=W.transaction_read_only,$n.in_hot_standby=q.pg_is_in_recovery?"on":"off"},w.execute()}function l4(w){N&&(N.cursorFn||N.describeFirst)&&mi(Fc);const W=dn.postgres(t$(w));N&&N.retried?Go(N.retried):N&&N.prepared&&Uz.has(W.routine)?f4(N,W):Go(W)}function f4(w,W){delete Qn[w.signature],w.retried=W,qp(w)}function $4(w){if(!R)return;let W=9;while(w[W++]!==0);R(w.toString("utf8",9,W-1),w.toString("utf8",W,w.length-1))}async function v4(){try{const w=await Promise.resolve(N.cursorFn(_));Pn=0,w===Cp?mi(u4(N.portal)):(_=new kc,mi($v("",N.cursorRows)))}catch(w){mi(Fc),N.reject(w)}}function w4(){_.count&&N.cursorFn(_),N.resolve(_)}function S4(){ii=new I$.Writable({autoDestroy:!0,write(w,W,q){K.write(Z().d().raw(w).end(),q)},destroy(w,W){W(w),K.write(Z().f().str(w+Z.N).end()),ii=null},final(w){K.write(Z().c().end()),Zp=w}}),N.resolve(ii)}function J4(){ii=new I$.Readable({read(){K.resume()}}),N.resolve(ii)}function A4(){ii=new I$.Duplex({autoDestroy:!0,read(){K.resume()},write(w,W,q){K.write(Z().d().raw(w).end(),q)},destroy(w,W){W(w),K.write(Z().f().str(w+Z.N).end()),ii=null},final(w){K.write(Z().c().end()),Zp=w}}),N.resolve(ii)}function F4(w){ii&&(ii.push(w.subarray(5))||K.pause())}function T4(){ii&&ii.push(null),ii=null}function M4(w){T?T(t$(w)):console.log(t$(w))}function R4(){}function K4(){Go(dn.notSupported("FunctionCallResponse"))}function W4(){Go(dn.notSupported("NegotiateProtocolVersion"))}function X4(w){console.error("Postgres.js : Unknown Message:",w[0])}function z4(w,W){console.error("Postgres.js : Unknown Auth:",W)}function G4(w,W,q="",Rn=""){let tn,Ji;return Z().B().str(Rn+Z.N).str(q+Z.N).i16(0).i16(w.length),w.forEach((zi,to)=>{if(zi===null)return Z.i32(4294967295);Ji=W[to],w[to]=zi=Ji in n.serializers?n.serializers[Ji](zi):""+zi,tn=Z.i,Z.inc(4).str(zi).i32(Z.i-tn-4,tn)}),Z.i16(0),Z.end()}function fv(w,W,q,Rn=""){return Z().P().str(Rn+Z.N).str(w+Z.N).i16(W.length),W.forEach((tn,Ji)=>Z.i32(q[Ji]||0)),Z.end()}function Y4(w,W=""){return Z().D().str(w).str(W+Z.N).end()}function $v(w="",W=0){return Buffer.concat([Z().E().str(w+Z.N).i32(W).end(),AR])}function u4(w=""){return Buffer.concat([Z().C().str("P").str(w+Z.N).end(),Z().S().end()])}function O4(){return B||Z().inc(4).i16(3).z(2).str(Object.entries(Object.assign({user:m,database:$,client_encoding:"UTF8"},n.connection)).filter(([,w])=>w).map(([w,W])=>w+Z.N+W).join(Z.N)).z(2).end(0)}}function t$(n){const i={};let o=5;for(let c=5;c<n.length-1;c++)if(n[c]===0)i[Vz[n[o]]]=n.toString("utf8",o+1,c),o=c+1;return i}function FR(n){return nx.createHash("md5").update(n).digest("hex")}function rm(n,i){return nx.createHmac("sha256",n).update(i).digest()}function bz(n){return nx.createHash("sha256").update(n).digest()}function _z(n,i){const o=Math.max(n.length,i.length),c=Buffer.allocUnsafe(o);for(let p=0;p<o;p++)c[p]=n[p]^i[p];return c}function C$(n,i){if(i=typeof i==="function"?i():i,!i)return{cancel:rp,start:rp};let o;return{cancel(){o&&(clearTimeout(o),o=null)},start(){o&&clearTimeout(o),o=setTimeout(c,i*1000,arguments)}};function c(p){n.apply(null,p),o=null}}var k$=TR,Oz=1,Fc=Z().S().end(),AR=Z().H().end(),Hz=Z().i32(8).i32(80877103).end(8),Ez=Buffer.concat([Z().E().str(Z.N).i32(0).end(),Fc]),Qz=Z().D().str("S").str(Z.N).end(),rp=()=>{},Uz=new Set(["FetchPreparedStatement","RevalidateCachedQuery","transformAssignedExpr"]),Vz={83:"severity_local",86:"severity",67:"code",77:"message",68:"detail",72:"hint",80:"position",112:"internal_position",113:"internal_query",87:"where",115:"schema_name",116:"table_name",99:"column_name",100:"data type_name",110:"constraint_name",70:"file",76:"line",82:"routine"};function sz(n){return new Date(Date.UTC(2000,0,1)+Number(n/BigInt(1000)))}function jz(n,i,o,c,p){const a=(x,[m,l])=>(x[m.charCodeAt(0)]=l,x);Object.entries({R:(x)=>{let m=1;const l=i[x.readUInt32BE(m)]={schema:x.toString("utf8",m+=4,m=x.indexOf(0,m))||"pg_catalog",table:x.toString("utf8",m+1,m=x.indexOf(0,m+1)),columns:Array(x.readUInt16BE(m+=2)),keys:[]};m+=2;let f=0,$;while(m<x.length)$=l.columns[f++]={key:x[m++],name:p.column.from?p.column.from(x.toString("utf8",m,m=x.indexOf(0,m))):x.toString("utf8",m,m=x.indexOf(0,m)),type:x.readUInt32BE(m+=1),parser:o[x.readUInt32BE(m)],atttypmod:x.readUInt32BE(m+=4)},$.key&&l.keys.push($),m+=4},Y:()=>{},O:()=>{},B:(x)=>{i.date=sz(x.readBigInt64BE(9)),i.lsn=x.subarray(1,9)},I:(x)=>{let m=1;const l=i[x.readUInt32BE(m)],{row:f}=Zm(x,l.columns,m+=7,p);c(f,{command:"insert",relation:l})},D:(x)=>{let m=1;const l=i[x.readUInt32BE(m)];m+=4;const f=x[m]===75;c(f||x[m]===79?Zm(x,l.columns,m+=3,p).row:null,{command:"delete",relation:l,key:f})},U:(x)=>{let m=1;const l=i[x.readUInt32BE(m)];m+=4;const f=x[m]===75,$=f||x[m]===79?Zm(x,l.columns,m+=3,p):null;$&&(m=$.i);const{row:v}=Zm(x,l.columns,m+3,p);c(v,{command:"update",relation:l,key:f,old:$&&$.row})},T:()=>{},C:()=>{}}).reduce(a,{})[n[0]](n)}function Zm(n,i,o,c){let p,a,x;const m=c.raw?new Array(i.length):{};for(let l=0;l<i.length;l++)p=n[o++],a=i[l],x=p===110?null:p===117?void 0:a.parser===void 0?n.toString("utf8",o+4,o+=4+n.readUInt32BE(o)):a.parser.array===!0?a.parser(n.toString("utf8",o+5,o+=4+n.readUInt32BE(o))):a.parser(n.toString("utf8",o+4,o+=4+n.readUInt32BE(o))),c.raw?m[l]=c.raw===!0?x:c.value.from?c.value.from(x,a):x:m[a.name]=c.value.from?c.value.from(x,a):x;return{i:o,row:c.row.from?c.row.from(m):m}}function Nz(n){const i=n.match(/^(\*|insert|update|delete)?:?([^.]+?\.?[^=]+)?=?(.+)?/i)||[];if(!i)throw new Error("Malformed subscribe pattern: "+n);const[,o,c,p]=i;return(o||"*")+(c?":"+(c.indexOf(".")===-1?"public."+c:c):"")+(p?"="+p:"")}var MR=()=>{};function r$(n,i){const o=new Map,c="postgresjs_"+Math.random().toString(36).slice(2),p={};let a,x,m=!1;const l=v.sql=n({...i,transform:{column:{},value:{},row:{}},max:1,fetch_types:!1,idle_timeout:null,max_lifetime:null,connection:{...i.connection,replication:"database"},onclose:async function(){if(m)return;x=null,p.pid=p.secret=void 0,S(await T(l,c,i.publications)),o.forEach((F)=>F.forEach(({onsubscribe:X})=>X()))},no_subscribe:!0}),f=l.end,$=l.close;return l.end=async()=>{return m=!0,x&&await new Promise((F)=>(x.once("close",F),x.end())),f()},l.close=async()=>{return x&&await new Promise((F)=>(x.once("close",F),x.end())),$()},v;async function v(F,X,z=MR,Y=MR){if(F=Nz(F),!a)a=T(l,c,i.publications);const E={fn:X,onsubscribe:z},s=o.has(F)?o.get(F).add(E):o.set(F,new Set([E])).get(F),G=()=>{s.delete(E),s.size===0&&o.delete(F)};return a.then((M)=>{return S(M),z(),x&&x.on("error",Y),{unsubscribe:G,state:p,sql:l}})}function S(F){x=F.stream,p.pid=F.state.pid,p.secret=F.state.secret}async function T(F,X,z){if(!z)throw new Error("Missing publication names");const Y=await F.unsafe(`CREATE_REPLICATION_SLOT ${X} TEMPORARY LOGICAL pgoutput NOEXPORT_SNAPSHOT`),[E]=Y,s=await F.unsafe(`START_REPLICATION SLOT ${X} LOGICAL ${E.consistent_point} (proto_version '1', publication_names '${z}')`).writable(),G={lsn:Buffer.concat(E.consistent_point.split("/").map((K)=>Buffer.from(("00000000"+K).slice(-8),"hex")))};return s.on("data",O),s.on("error",M),s.on("close",F.close),{stream:s,state:Y.state};function M(K){console.error("Unexpected error during logical streaming - reconnecting",K)}function O(K){if(K[0]===119)jz(K.subarray(25),G,F.options.parsers,U,i.transform);else if(K[0]===107&&K[17])G.lsn=K.subarray(1,9),V()}function U(K,B){const _=B.relation.schema+"."+B.relation.table;R("*",K,B),R("*:"+_,K,B),B.relation.keys.length&&R("*:"+_+"="+B.relation.keys.map((P)=>K[P.name]),K,B),R(B.command,K,B),R(B.command+":"+_,K,B),B.relation.keys.length&&R(B.command+":"+_+"="+B.relation.keys.map((P)=>K[P.name]),K,B)}function V(){const K=Buffer.alloc(34);K[0]="r".charCodeAt(0),K.fill(G.lsn,1),K.writeBigInt64BE(BigInt(Date.now()-Date.UTC(2000,0,1))*BigInt(1000),25),s.write(K)}}function R(F,X,z){o.has(F)&&o.get(F).forEach(({fn:Y})=>Y(X,z,F))}}import RR from"stream";function Z$(n,i,o=393216){return new Promise(async(c,p)=>{await n.begin(async(a)=>{let x;!i&&([{oid:i}]=await a`select lo_creat(-1) as oid`);const[{fd:m}]=await a`select lo_open(${i}, ${o}) as fd`,l={writable:$,readable:f,close:()=>a`select lo_close(${m})`.then(x),tell:()=>a`select lo_tell64(${m})`,read:(v)=>a`select loread(${m}, ${v}) as data`,write:(v)=>a`select lowrite(${m}, ${v})`,truncate:(v)=>a`select lo_truncate64(${m}, ${v})`,seek:(v,S=0)=>a`select lo_lseek64(${m}, ${v}, ${S})`,size:()=>a`
|
|
54
|
+
select
|
|
55
|
+
lo_lseek64(${m}, location, 0) as position,
|
|
56
|
+
seek.size
|
|
57
|
+
from (
|
|
58
|
+
select
|
|
59
|
+
lo_lseek64($1, 0, 2) as size,
|
|
60
|
+
tell.location
|
|
61
|
+
from (select lo_tell64($1) as location) tell
|
|
62
|
+
) seek
|
|
63
|
+
`};return c(l),new Promise(async(v)=>x=v);async function f({highWaterMark:v=16384,start:S=0,end:T=1/0}={}){let R=T-S;return S&&await l.seek(S),new RR.Readable({highWaterMark:v,async read(F){const X=F>R?F-R:F;R-=F;const[{data:z}]=await l.read(X);if(this.push(z),z.length<F)this.push(null)}})}async function $({highWaterMark:v=16384,start:S=0}={}){return S&&await l.seek(S),new RR.Writable({highWaterMark:v,write(T,R,F){l.write(T).then(()=>F(),F)}})}}).catch(p)})}function qm(n,i){const o=yz(n,i),c=o.no_subscribe||r$(qm,{...o});let p=!1;const a=Ci(),x=Ci(),m=Ci(),l=Ci(),f=Ci(),$=Ci(),v=Ci(),S=Ci(),T={connecting:x,reserved:m,closed:l,ended:f,open:$,busy:v,full:S},R=[...Array(o.max)].map(()=>k$(o,T,{onopen:Qn,onend:$n,onclose:ji})),F=X(U);return Object.assign(F,{get parameters(){return o.parameters},largeObject:Z$.bind(null,F),subscribe:c,CLOSE:Cp,END:Cp,PostgresError:kp,options:o,reserve:E,listen:z,begin:s,close:_,end:B}),F;function X(H){return H.debug=o.debug,Object.entries(o.types).reduce((wn,[Un,Pn])=>{return wn[Un]=(Bn)=>new Vo(Bn,Pn.to),wn},k),Object.assign(Sn,{types:k,typed:k,unsafe:Xn,notify:Y,array:O,json:M,file:ni}),Sn;function k(wn,Un){return new Vo(wn,Un)}function Sn(wn,...Un){return wn&&Array.isArray(wn.raw)?new po(wn,Un,H,K):typeof wn==="string"&&!Un.length?new da(o.transform.column.to?o.transform.column.to(wn):wn):new Im(wn,Un)}function Xn(wn,Un=[],Pn={}){return arguments.length===2&&!Array.isArray(Un)&&(Pn=Un,Un=[]),new po([wn],Un,H,K,{prepare:!1,...Pn,simple:"simple"in Pn?Pn.simple:Un.length===0})}function ni(wn,Un=[],Pn={}){return arguments.length===2&&!Array.isArray(Un)&&(Pn=Un,Un=[]),new po([],Un,(sn)=>{Bz.readFile(wn,"utf8",(vi,Vn)=>{if(vi)return sn.reject(vi);sn.strings=[Vn],H(sn)})},K,{...Pn,simple:"simple"in Pn?Pn.simple:Un.length===0})}}async function z(H,k,Sn){const Xn={fn:k,onlisten:Sn},ni=z.sql||(z.sql=qm({...o,max:1,idle_timeout:null,max_lifetime:null,fetch_types:!1,onclose(){Object.entries(z.channels).forEach(([sn,{listeners:vi}])=>{delete z.channels[sn],Promise.all(vi.map((Vn)=>z(sn,Vn.fn,Vn.onlisten).catch(()=>{})))})},onnotify(sn,vi){sn in z.channels&&z.channels[sn].listeners.forEach((Vn)=>Vn.fn(vi))}})),wn=z.channels||(z.channels={});if(H in wn){wn[H].listeners.push(Xn);const sn=await wn[H].result;return Xn.onlisten&&Xn.onlisten(),{state:sn.state,unlisten:Bn}}wn[H]={result:ni`listen ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`,listeners:[Xn]};const Pn=await wn[H].result;return Xn.onlisten&&Xn.onlisten(),{state:Pn.state,unlisten:Bn};async function Bn(){if(H in wn===!1)return;if(wn[H].listeners=wn[H].listeners.filter((sn)=>sn!==Xn),wn[H].listeners.length)return;return delete wn[H],ni`unlisten ${ni.unsafe('"'+H.replace(/"/g,'""')+'"')}`}}async function Y(H,k){return await F`select pg_notify(${H}, ${""+k})`}async function E(){const H=Ci(),k=$.length?$.shift():await new Promise((ni)=>{a.push({reserve:ni}),l.length&&ln(l.shift())});G(k,m),k.reserved=()=>H.length?k.execute(H.shift()):G(k,m),k.reserved.release=!0;const Sn=X(Xn);return Sn.release=()=>{k.reserved=null,Qn(k)},Sn;function Xn(ni){k.queue===S?H.push(ni):k.execute(ni)||G(k,S)}}async function s(H,k){!k&&(k=H,H="");const Sn=Ci();let Xn=0,ni,wn=null;try{return await F.unsafe("begin "+H.replace(/[^a-z ]/ig,""),[],{onexecute:Pn}).execute(),await Promise.race([Un(ni,k),new Promise((Bn,sn)=>ni.onclose=sn)])}catch(Bn){throw Bn}async function Un(Bn,sn,vi){const Vn=X(ii);Vn.savepoint=Io,Vn.prepare=(jn)=>wn=jn.replace(/[^a-z0-9$-_. ]/gi);let ao,wi;vi&&await Vn`savepoint ${Vn(vi)}`;try{if(wi=await new Promise((jn,xo)=>{const zo=sn(Vn);Promise.resolve(Array.isArray(zo)?Promise.all(zo):zo).then(jn,xo)}),ao)throw ao}catch(jn){throw await(vi?Vn`rollback to ${Vn(vi)}`:Vn`rollback`),jn instanceof kp&&jn.code==="25P02"&&ao||jn}if(!vi)wn?await Vn`prepare transaction '${Vn.unsafe(wn)}'`:await Vn`commit`;return wi;function Io(jn,xo){if(jn&&Array.isArray(jn.raw))return Io((zo)=>zo.apply(zo,arguments));return arguments.length===1&&(xo=jn,jn=null),Un(Bn,xo,"s"+Xn+++(jn?"_"+jn:""))}function ii(jn){jn.catch((xo)=>ao||(ao=xo)),Bn.queue===S?Sn.push(jn):Bn.execute(jn)||G(Bn,S)}}function Pn(Bn){ni=Bn,G(Bn,m),Bn.reserved=()=>Sn.length?Bn.execute(Sn.shift()):G(Bn,m)}}function G(H,k){return H.queue.remove(H),k.push(H),H.queue=k,k===$?H.idleTimer.start():H.idleTimer.cancel(),H}function M(H){return new Vo(H,3802)}function O(H,k){if(!Array.isArray(H))return O(Array.from(arguments));return new Vo(H,k||(H.length?hm(H)||25:0),o.shared.typeArrayMap)}function U(H){if(p)return H.reject(dn.connection("CONNECTION_ENDED",o,o));if($.length)return V($.shift(),H);if(l.length)return ln(l.shift(),H);v.length?V(v.shift(),H):a.push(H)}function V(H,k){return H.execute(k)?G(H,v):G(H,S)}function K(H){return new Promise((k,Sn)=>{H.state?H.active?k$(o).cancel(H.state,k,Sn):H.cancelled={resolve:k,reject:Sn}:(a.remove(H),H.cancelled=!0,H.reject(dn.generic("57014","canceling statement due to user request")),k())})}async function B({timeout:H=null}={}){if(p)return p;await 1;let k;return p=Promise.race([new Promise((Sn)=>H!==null&&(k=setTimeout(P,H*1000,Sn))),Promise.all(R.map((Sn)=>Sn.end()).concat(z.sql?z.sql.end({timeout:0}):[],c.sql?c.sql.end({timeout:0}):[]))]).then(()=>clearTimeout(k))}async function _(){await Promise.all(R.map((H)=>H.end()))}async function P(H){await Promise.all(R.map((k)=>k.terminate()));while(a.length)a.shift().reject(dn.connection("CONNECTION_DESTROYED",o));H()}function ln(H,k){return G(H,x),H.connect(k),H}function $n(H){G(H,f)}function Qn(H){if(a.length===0)return G(H,$);let k=Math.ceil(a.length/(x.length+1)),Sn=!0;while(Sn&&a.length&&k-- >0){const Xn=a.shift();if(Xn.reserve)return Xn.reserve(H);Sn=H.execute(Xn)}Sn?G(H,v):G(H,S)}function ji(H,k){G(H,l),H.reserved=null,H.onclose&&(H.onclose(k),H.onclose=null),o.onclose&&o.onclose(H.id),a.length&&ln(H,a.shift())}}function yz(n,i){if(n&&n.shared)return n;const o=process.env,c=(!n||typeof n==="string"?i:n)||{},{url:p,multihost:a}=Cz(n),x=[...p.searchParams].reduce((S,[T,R])=>(S[T]=R,S),{}),m=c.hostname||c.host||a||p.hostname||o.PGHOST||"localhost",l=c.port||p.port||o.PGPORT||5432,f=c.user||c.username||p.username||o.PGUSERNAME||o.PGUSER||kz();c.no_prepare&&(c.prepare=!1),x.sslmode&&(x.ssl=x.sslmode,delete x.sslmode),"timeout"in c&&(console.log("The timeout option is deprecated, use idle_timeout instead"),c.idle_timeout=c.timeout),x.sslrootcert==="system"&&(x.ssl="verify-full");const $=["idle_timeout","connect_timeout","max_lifetime","max_pipeline","backoff","keep_alive"],v={max:10,ssl:!1,idle_timeout:null,connect_timeout:30,max_lifetime:Iz,max_pipeline:100,backoff:Dz,keep_alive:60,prepare:!0,debug:!1,fetch_types:!0,publications:"alltables",target_session_attrs:null};return{host:Array.isArray(m)?m:m.split(",").map((S)=>S.split(":")[0]),port:Array.isArray(l)?l:m.split(",").map((S)=>parseInt(S.split(":")[1]||l)),path:c.path||m.indexOf("/")>-1&&m+"/.s.PGSQL."+l,database:c.database||c.db||(p.pathname||"").slice(1)||o.PGDATABASE||f,user:f,pass:c.pass||c.password||p.password||o.PGPASSWORD||"",...Object.entries(v).reduce((S,[T,R])=>{const F=T in c?c[T]:(T in x)?x[T]==="disable"||x[T]==="false"?!1:x[T]:o["PG"+T.toUpperCase()]||R;return S[T]=typeof F==="string"&&$.includes(T)?+F:F,S},{}),connection:{application_name:"postgres.js",...c.connection,...Object.entries(x).reduce((S,[T,R])=>((T in v)||(S[T]=R),S),{})},types:c.types||{},target_session_attrs:hz(c,p,o),onnotice:c.onnotice,onnotify:c.onnotify,onclose:c.onclose,onparameter:c.onparameter,socket:c.socket,transform:tz(c.transform||{undefined:void 0}),parameters:{},shared:{retries:0,typeArrayMap:{}},...lR(c.types)}}function hz(n,i,o){const c=n.target_session_attrs||i.searchParams.get("target_session_attrs")||o.PGTARGETSESSIONATTRS;if(!c||["read-write","read-only","primary","standby","prefer-standby"].includes(c))return c;throw new Error("target_session_attrs "+c+" is not supported")}function Dz(n){return(0.5+Math.random()/2)*Math.min(3**n/100,20)}function Iz(){return 60*(30+Math.random()*30)}function tz(n){return{undefined:n.undefined,column:{from:typeof n.column==="function"?n.column:n.column&&n.column.from,to:n.column&&n.column.to},value:{from:typeof n.value==="function"?n.value:n.value&&n.value.from,to:n.value&&n.value.to},row:{from:typeof n.row==="function"?n.row:n.row&&n.row.from,to:n.row&&n.row.to}}}function Cz(n){if(!n||typeof n!=="string")return{url:{searchParams:new Map}};let i=n;i=i.slice(i.indexOf("://")+3).split(/[?/]/)[0],i=decodeURIComponent(i.slice(i.indexOf("@")+1));const o=new URL(n.replace(i,i.split(",")[0]));return{url:{username:decodeURIComponent(o.username),password:decodeURIComponent(o.password),host:o.host,hostname:o.hostname,port:o.port,pathname:o.pathname,searchParams:o.searchParams},multihost:i.indexOf(",")>-1&&i}}function kz(){try{return Lz.userInfo().username}catch(n){return process.env.USERNAME||process.env.USER||process.env.LOGNAME}}Object.assign(qm,{PostgresError:kp,toPascal:tc,pascal:h$,toCamel:Ic,camel:y$,toKebab:Cc,kebab:D$,fromPascal:ea,fromCamel:Pa,fromKebab:ga,BigInt:{to:20,from:[20],parse:(n)=>BigInt(n),serialize:(n)=>n.toString()}});var KR=qm;var rz=Kx("role",["admin","user"]),Qi=ic("users",{id:Bi().primaryKey().defaultRandom(),username:$i({length:16}).notNull(),email:$i({length:254}).notNull(),hash:$i({length:64}).notNull(),salt:$i({length:36}).notNull(),createdAt:$o({withTimezone:!0}).notNull().defaultNow(),createdIp:$i({length:45}).notNull(),isActive:Aa().notNull().default(!1),verifiedAt:$o({withTimezone:!0}),userRole:rz().default("user")},(n)=>({usersUsernameUnique:u$().on(n.username),usersEmailUnique:u$().on(n.email)}));var Zz=["username","email","hash","userRole"],qz=Kx("trackedUserColumnName",Zz),Th=ic("userChanges",{id:Bi().primaryKey().defaultRandom(),userId:Bi().notNull().references(()=>Qi.id),changedAt:$o({withTimezone:!0}).notNull().defaultNow(),changedIp:$i({length:45}).notNull(),changedColumn:qz().notNull(),oldValue:$i({length:255}),newValue:$i({length:255})}),q$=ic("games",{id:Bi("id").primaryKey().defaultRandom()}),WR=ic("players",{userId:Bi().notNull().references(()=>Qi.id),gameId:Bi().notNull().references(()=>q$.id),score:Ex().notNull()},(n)=>({pk:bS({columns:[n.userId,n.gameId]})})),Tc=ic("loginHistory",{id:Bi().primaryKey().defaultRandom(),userId:Bi().references(()=>Qi.id),loginTime:$o({withTimezone:!0}).notNull().defaultNow(),ipAddress:$i({length:45}).notNull(),userAgent:$i({length:1024}),successful:Aa().notNull().default(!1)}),Pz=Kx("twoFactorMethod",["email","phone"]),Mh=ic("passwordResetAttempts",{id:Bi().primaryKey().defaultRandom(),userId:Bi().notNull().references(()=>Qi.id),requestedIp:$i({length:45}).notNull(),requestedAt:$o({withTimezone:!0}).notNull().defaultNow(),succeededIp:$i({length:45}),succeededAt:$o({withTimezone:!0}),verificationMethod:Pz().notNull()}),ix=ic("banishedIps",{ip:$i({length:45}).primaryKey(),reason:$i({length:2048}).notNull(),banishedAt:$o({withTimezone:!0}).notNull().defaultNow(),banishedUntil:$o({withTimezone:!0})});var __dirname="/home/runner/work/wayforge/wayforge/apps/tempest.games/src/database";class P${options;sql;drizzle;observers=new Map;async setupTriggersAndNotifications(){await this.sql.file(ez.resolve(__dirname,"notify_update.sql"));const n=[qi(Qi),qi(q$),qi(WR)];await this.sql`SELECT create_notify_triggers(${this.sql.array(n)})`,await this.sql.listen("table_update",(i)=>{const o=i.split(","),c=o[0],p=o[1],a=`${c}("${p}")`;if(this.observers.has(a))this.observers.get(a).next(a)})}constructor(n={host:pi.POSTGRES_HOST,port:pi.POSTGRES_PORT,user:pi.POSTGRES_USER,password:pi.POSTGRES_PASSWORD,database:pi.POSTGRES_DATABASE}){this.options=n,this.sql=KR(n),this.drizzle=dM(this.sql)}observe(n,i){if(!this.observers.has(n))this.observers.set(n,new an);this.observers.get(n).subscribe("SINGLETON",i)}}import{createHash as gz}from"crypto";function e$(n){const i=gz("sha256").update(n).digest("hex");return`${i.substring(0,8)}-${i.substring(8,12)}-${i.substring(12,16)}-${i.substring(16,20)}-${i.substring(20,32)}`}var XR=["123","321","abc","admin","adobe","alexander","amanda","andrea","andrew","angel","apple","asdf","ashley","baby","banana","baseball","batman","bear","biteme","blazer","blonde","boston","buster","butterfly","cameron","charlie","cheese","chelsea","chicken","chocolate","chris","compaq","computer","cookie","corvette","cowboys","dakota","dallas","daniel","david","diamond","dolphin","donald","dragon","eagle","flower","football","frank","freedom","friend","gateway","george","ginger","god","golf","hannah","hardcore","harley","heather","hello","hello","hottie","hunter","internet","jasmine","jennifer","jessica","jesus","johnny","jordan","joshua","justin","justme","killer","knight","lakers","letmein","liverpool","login","london","love","lucky","mackenzie","maggie","master","matrix","matthew","maverick","melissa","mercedes","michael","michelle","mickey","miller","money","monkey","morgan","mother","muffin","mustang","natasha","nathan","nicole","ninja","orange","orange","pass","password","patrick","peanut","pepper","phoenix","photoshop","pokemon","princess","purple","qazwsx","qwerty","rainbow","ranger","root","samantha","samsung","scooter","secret","shadow","simpson","smile","soccer","sparkle","starwars","summer","sunflower","sunshine","superman","taylor","temp","test","thomas","tigers","tigger","tinkerbell","trust","turtle","victoria","welcome","whatever","william","winter","yellow","zaq12wsx","zxcvbn"];function oG(n){let i="";for(let o of n)if(o in GR)i+=GR[o];else i+=o;return i}function cG(n){const i=n.toLocaleLowerCase(),o=oG(i);for(let c of XR){if(o.includes(c))return!0;if(i.includes(c))return!0}return!1}function pG(n){const i=new Set(n).size;return n.length*Math.log2(i)}function aG(n){let i=0;const o=100;if(cG(n))i-=o;return i+=pG(n)*0.5,Math.max(i,0)}var dz=3,nG=15,iG=/^[a-zA-Z0-9_-]+$/,YR=_n.string().min(dz).max(nG).regex(iG),zR=20,GR={"0":"o","1":"l","3":"e","4":"a","5":"s","7":"t","@":"a",$:"s","!":"i"},uR=_n.string().refine((n)=>{return aG(n)>=zR},{message:`Password does not meet the minimum complexity of ${zR}.`}).brand("password"),OR=_n.object({username:YR,password:uR}).strict(),xG=_n.string().email().brand("email"),HR=_n.object({username:YR,password:uR,email:xG}).strict();var Pm={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"},g$=Sv(Pm).map(([n])=>_n.literal(Number(n))),mG=_n.union([g$[0],g$[1],...g$]),ER=_n.tuple([mG,_n.string()]);var QR=Zo({key:"count",default:0}),lG=Rc({key:"incrementTX",do:({set:n})=>{n(QR,(i)=>i+1)}}),UR=ev({key:"countContinuity",config:(n)=>n.add(QR).add(lG)});async function nv(){un.info("\uD83E\uDDF9 dispatching SIGINT to workers"),bR.process.kill("SIGINT"),await new Promise((n)=>bR.process.once("exit",n)),un.info("\uD83D\uDEEC backend server exiting"),process.exit(0)}var bR=yF(bp,"backend.worker.game.bun",un),rc=new P$,sR=_R.createServer((n,i)=>{let o;n.on("data",(c)=>(o??=[]).push(c)).on("end",async()=>{const c=n.headers.authorization;try{if(typeof n.url==="undefined")throw[400,"No URL"];const p=n.socket.remoteAddress;if(!p)throw[400,"No IP address"];const a=new Date,x=new URL(n.url,pi.VITE_BACKEND_ORIGIN);un.info(a,p,n.method,x.pathname);const[m]=await rc.drizzle.select({banishedUntil:ix.banishedUntil}).from(ix).where(uo(ix.ip,p)).limit(1),l=m?.banishedUntil===null,f=m?.banishedUntil&&m.banishedUntil>a;if(l||f){un.info(`\uD83D\uDE45 request from banned ip ${p}`);return}switch(n.method){case"POST":if(!o)throw[400,"No data received"];switch(x.pathname){case`/signup-${e$("signup")}`:{const $=Buffer.concat(o).toString(),v=JSON.parse($);un.info("signup json",v);const S=HR.safeParse(v);if(!S.success){un.warn("signup parsed",S.error.issues);return}const{username:T,password:R,email:F}=S.data,[X]=await rc.drizzle.select().from(Qi).where(uo(Qi.email,F)).limit(1);if(X)throw[400,"User already exists"];const z=crypto.randomUUID(),Y=VR("sha256").update(R+z).digest("hex");await rc.drizzle.insert(Qi).values({username:T,email:F,hash:Y,salt:z,createdIp:p}),i.writeHead(201,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(Pm[201])}break;case`/login-${e$("login")}`:{let $=!1,v=null;try{const S=new Date(+a-600000);un.info("\uD83D\uDD11 ten minutes ago",{tenMinutesAgo:S,now:a});const T=await rc.drizzle.select({userId:Tc.userId,successful:Tc.successful}).from(Tc).where(zc(uo(Tc.ipAddress,p),uo(Tc.successful,!1),Yx(Tc.loginTime,S))).limit(10);un.info(`\uD83D\uDD11 ${T.length}/10 recent failed logins from ${p}`);const R=10-T.length;if(R<1)throw un.info(`\uD83D\uDD11 too many recent failed logins from ${p}`),await rc.drizzle.insert(ix).values({ip:p,reason:"Too many recent login attempts.",banishedAt:a,banishedUntil:new Date(+a+86400000)}),[429,"Too many recent login attempts."];const F=Buffer.concat(o).toString(),X=JSON.parse(F),z=OR.safeParse(X);if(!z.success)throw un.warn("login parsed",z.error.issues),[400,`${R} attempts remaining.`];const{username:Y,password:E}=z.data,[s]=await rc.drizzle.select({id:Qi.id,hash:Qi.hash,salt:Qi.salt}).from(Qi).where(uo(Qi.username,Y)).limit(1);if(un.info("\uD83D\uDD11 login attempt as user",Y),!s)throw un.info(`\uD83D\uDD11 user ${Y} does not exist`),[400,`${R} attempts remaining.`];const{hash:G,salt:M}=s;if(v=s.id,VR("sha256").update(E+M).digest("hex")===G){const U=crypto.randomUUID();let V=_m.get(Y);if(!V)V=new Map,_m.set(Y,V);V.set(U,Number(a)),$=!0,un.info("\uD83D\uDD11 login successful as",Y),i.writeHead(200,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(`${Y} ${U}`)}}finally{await rc.drizzle.insert(Tc).values({userId:v,successful:$,ipAddress:p,userAgent:n.headers["user-agent"]??"Withheld"}),un.info(`\uD83D\uDD11 recorded login attempt from ${p}`)}}}}}catch(p){const a=ER.safeParse(p);if(a.success){const[x,m]=a.data,f=`${Pm[x]}. ${m}`;un.info(`\u274C ${x}: ${f}`),i.writeHead(x,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end(f)}else un.error(p),i.writeHead(500,{"Content-Type":"text/plain","Access-Control-Allow-Origin":`${pi.FRONTEND_ORIGINS[0]}`}),i.end("Internal Server Error")}})}),d$=sR.listen(pi.BACKEND_PORT).address(),fG=typeof d$==="string"?null:d$===null?null:d$.port;if(fG===null)throw new Error("Could not determine port for test server");new uF(sR,{cors:{origin:pi.FRONTEND_ORIGINS,methods:["GET","POST"]}}).use((n,i)=>{const{username:o,sessionKey:c}=n.handshake.auth;if(!(o&&c)){i(new Error("No auth header provided"));return}if(_m.get(o)?.has(c)){const a=Fn(on.STORE,$a,n.id);zn(on.STORE,a,n),Kc(Wc,(x)=>{x.set(n.id,o)},on.STORE),zn(on.STORE,Gl,(x)=>x.add(o)),zn(on.STORE,zl,(x)=>x.add(n.id)),un.info(`${o} connected on ${n.id}`),i()}else un.info(`${o} couldn't authenticate`),i(new Error("Authentication error"))}).on("connection",(n)=>{const o=n0({socket:n,store:on.STORE})(UR);n.on("disconnect",()=>{const c=np(Wc,n.id,on.STORE).userKeyOfSocket,p=Kn(on.STORE,c);if(Kc(Wc,(a)=>{a.delete(n.id)},on.STORE),p)zn(on.STORE,Gl,(a)=>(a.delete(p),a));zn(on.STORE,zl,(a)=>(a.delete(n.id),a)),li(on.STORE,$a,n.id),un.info(`${n.id} disconnected`),o()})});bp.emit("alive");bp.on("updatesReady",()=>{bp.emit("readyToUpdate")});process.on("SIGINT",async()=>{un.info("\u2757 received SIGINT; exiting gracefully"),await nv()});process.on("SIGTERM",async()=>{un.info("\u2757 received SIGTERM; exiting gracefully"),await nv()});process.on("exit",async()=>{un.info("\u2757 received exit; exiting gracefully"),await nv()});un.info(`\uD83D\uDEEB backend server ready on port ${pi.BACKEND_PORT}`);
|