mobitru-mobile-cli 1.0.0-beta.0 → 1.0.0

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.
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var fu=Object.create;var bn=Object.defineProperty;var hu=Object.getOwnPropertyDescriptor;var gu=Object.getOwnPropertyNames;var xu=Object.getPrototypeOf,vu=Object.prototype.hasOwnProperty;var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),bu=(t,e)=>{for(var i in e)bn(t,i,{get:e[i],enumerable:!0})},yu=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gu(e))!vu.call(t,o)&&o!==i&&bn(t,o,{get:()=>e[o],enumerable:!(n=hu(e,o))||n.enumerable});return t};var C=(t,e,i)=>(i=t!=null?fu(xu(t)):{},yu(e||!t||!t.__esModule?bn(i,"default",{value:t,enumerable:!0}):i,t));var Zs=T((px,Ys)=>{var Ks=require("stream").Stream,Pd=require("util");Ys.exports=ve;function ve(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}Pd.inherits(ve,Ks);ve.create=function(t,e){var i=new this;e=e||{};for(var n in e)i[n]=e[n];i.source=t;var o=t.emit;return t.emit=function(){return i._handleEmit(arguments),o.apply(t,arguments)},t.on("error",function(){}),i.pauseStream&&t.pause(),i};Object.defineProperty(ve.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});ve.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};ve.prototype.resume=function(){this._released||this.release(),this.source.resume()};ve.prototype.pause=function(){this.source.pause()};ve.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(t){this.emit.apply(this,t)}.bind(this)),this._bufferedEvents=[]};ve.prototype.pipe=function(){var t=Ks.prototype.pipe.apply(this,arguments);return this.resume(),t};ve.prototype._handleEmit=function(t){if(this._released){this.emit.apply(this,t);return}t[0]==="data"&&(this.dataSize+=t[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(t)};ve.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(t))}}});var ia=T((lx,ta)=>{var Rd=require("util"),ea=require("stream").Stream,Qs=Zs();ta.exports=M;function M(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}Rd.inherits(M,ea);M.create=function(t){var e=new this;t=t||{};for(var i in t)e[i]=t[i];return e};M.isStreamLike=function(t){return typeof t!="function"&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"&&!Buffer.isBuffer(t)};M.prototype.append=function(t){var e=M.isStreamLike(t);if(e){if(!(t instanceof Qs)){var i=Qs.create(t,{maxDataSize:1/0,pauseStream:this.pauseStreams});t.on("data",this._checkDataSize.bind(this)),t=i}this._handleErrors(t),this.pauseStreams&&t.pause()}return this._streams.push(t),this};M.prototype.pipe=function(t,e){return ea.prototype.pipe.call(this,t,e),this.resume(),t};M.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};M.prototype._realGetNext=function(){var t=this._streams.shift();if(typeof t>"u"){this.end();return}if(typeof t!="function"){this._pipeNext(t);return}var e=t;e(function(i){var n=M.isStreamLike(i);n&&(i.on("data",this._checkDataSize.bind(this)),this._handleErrors(i)),this._pipeNext(i)}.bind(this))};M.prototype._pipeNext=function(t){this._currentStream=t;var e=M.isStreamLike(t);if(e){t.on("end",this._getNext.bind(this)),t.pipe(this,{end:!1});return}var i=t;this.write(i),this._getNext()};M.prototype._handleErrors=function(t){var e=this;t.on("error",function(i){e._emitError(i)})};M.prototype.write=function(t){this.emit("data",t)};M.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};M.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};M.prototype.end=function(){this._reset(),this.emit("end")};M.prototype.destroy=function(){this._reset(),this.emit("close")};M.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};M.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(t))}};M.prototype._updateDataSize=function(){this.dataSize=0;var t=this;this._streams.forEach(function(e){e.dataSize&&(t.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};M.prototype._emitError=function(t){this._reset(),this.emit("error",t)}});var na=T((ux,Ad)=>{Ad.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 sa=T((dx,oa)=>{oa.exports=na()});var ca=T(ne=>{"use strict";var Ri=sa(),Od=require("path").extname,aa=/^\s*([^;\s]*)(?:;|\s|$)/,Id=/^text\//i;ne.charset=ra;ne.charsets={lookup:ra};ne.contentType=_d;ne.extension=$d;ne.extensions=Object.create(null);ne.lookup=Fd;ne.types=Object.create(null);Nd(ne.extensions,ne.types);function ra(t){if(!t||typeof t!="string")return!1;var e=aa.exec(t),i=e&&Ri[e[1].toLowerCase()];return i&&i.charset?i.charset:e&&Id.test(e[1])?"UTF-8":!1}function _d(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?ne.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var i=ne.charset(e);i&&(e+="; charset="+i.toLowerCase())}return e}function $d(t){if(!t||typeof t!="string")return!1;var e=aa.exec(t),i=e&&ne.extensions[e[1].toLowerCase()];return!i||!i.length?!1:i[0]}function Fd(t){if(!t||typeof t!="string")return!1;var e=Od("x."+t).toLowerCase().substr(1);return e&&ne.types[e]||!1}function Nd(t,e){var i=["nginx","apache",void 0,"iana"];Object.keys(Ri).forEach(function(o){var s=Ri[o],a=s.extensions;if(!(!a||!a.length)){t[o]=a;for(var r=0;r<a.length;r++){var p=a[r];if(e[p]){var l=i.indexOf(Ri[e[p]].source),c=i.indexOf(s.source);if(e[p]!=="application/octet-stream"&&(l>c||l===c&&e[p].substr(0,12)==="application/"))continue}e[p]=o}}})}});var la=T((fx,pa)=>{pa.exports=jd;function jd(t){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(t):setTimeout(t,0)}});var On=T((hx,da)=>{var ua=la();da.exports=Ud;function Ud(t){var e=!1;return ua(function(){e=!0}),function(n,o){e?t(n,o):ua(function(){t(n,o)})}}});var In=T((gx,ma)=>{ma.exports=Bd;function Bd(t){Object.keys(t.jobs).forEach(Ld.bind(t)),t.jobs={}}function Ld(t){typeof this.jobs[t]=="function"&&this.jobs[t]()}});var _n=T((xx,ha)=>{var fa=On(),qd=In();ha.exports=Dd;function Dd(t,e,i,n){var o=i.keyedList?i.keyedList[i.index]:i.index;i.jobs[o]=Md(e,o,t[o],function(s,a){o in i.jobs&&(delete i.jobs[o],s?qd(i):i.results[o]=a,n(s,i.results))})}function Md(t,e,i,n){var o;return t.length==2?o=t(i,fa(n)):o=t(i,e,fa(n)),o}});var $n=T((vx,ga)=>{ga.exports=zd;function zd(t,e){var i=!Array.isArray(t),n={index:0,keyedList:i||e?Object.keys(t):null,jobs:{},results:i?{}:[],size:i?Object.keys(t).length:t.length};return e&&n.keyedList.sort(i?e:function(o,s){return e(t[o],t[s])}),n}});var Fn=T((bx,xa)=>{var Jd=In(),Hd=On();xa.exports=Vd;function Vd(t){Object.keys(this.jobs).length&&(this.index=this.size,Jd(this),Hd(t)(null,this.results))}});var ba=T((yx,va)=>{var Wd=_n(),Gd=$n(),Xd=Fn();va.exports=Kd;function Kd(t,e,i){for(var n=Gd(t);n.index<(n.keyedList||t).length;)Wd(t,e,n,function(o,s){if(o){i(o,s);return}if(Object.keys(n.jobs).length===0){i(null,n.results);return}}),n.index++;return Xd.bind(n,i)}});var Nn=T((wx,Ai)=>{var ya=_n(),Yd=$n(),Zd=Fn();Ai.exports=Qd;Ai.exports.ascending=wa;Ai.exports.descending=em;function Qd(t,e,i,n){var o=Yd(t,i);return ya(t,e,o,function s(a,r){if(a){n(a,r);return}if(o.index++,o.index<(o.keyedList||t).length){ya(t,e,o,s);return}n(null,o.results)}),Zd.bind(o,n)}function wa(t,e){return t<e?-1:t>e?1:0}function em(t,e){return-1*wa(t,e)}});var Ea=T((Sx,Sa)=>{var tm=Nn();Sa.exports=im;function im(t,e,i){return tm(t,e,null,i)}});var ka=T((Ex,Ta)=>{Ta.exports={parallel:ba(),serial:Ea(),serialOrdered:Nn()}});var jn=T((Tx,Ca)=>{"use strict";Ca.exports=Object});var Ra=T((kx,Pa)=>{"use strict";Pa.exports=Error});var Oa=T((Cx,Aa)=>{"use strict";Aa.exports=EvalError});var _a=T((Px,Ia)=>{"use strict";Ia.exports=RangeError});var Fa=T((Rx,$a)=>{"use strict";$a.exports=ReferenceError});var ja=T((Ax,Na)=>{"use strict";Na.exports=SyntaxError});var Oi=T((Ox,Ua)=>{"use strict";Ua.exports=TypeError});var La=T((Ix,Ba)=>{"use strict";Ba.exports=URIError});var Da=T((_x,qa)=>{"use strict";qa.exports=Math.abs});var za=T(($x,Ma)=>{"use strict";Ma.exports=Math.floor});var Ha=T((Fx,Ja)=>{"use strict";Ja.exports=Math.max});var Wa=T((Nx,Va)=>{"use strict";Va.exports=Math.min});var Xa=T((jx,Ga)=>{"use strict";Ga.exports=Math.pow});var Ya=T((Ux,Ka)=>{"use strict";Ka.exports=Math.round});var Qa=T((Bx,Za)=>{"use strict";Za.exports=Number.isNaN||function(e){return e!==e}});var tr=T((Lx,er)=>{"use strict";var nm=Qa();er.exports=function(e){return nm(e)||e===0?e:e<0?-1:1}});var nr=T((qx,ir)=>{"use strict";ir.exports=Object.getOwnPropertyDescriptor});var Un=T((Dx,or)=>{"use strict";var Ii=nr();if(Ii)try{Ii([],"length")}catch{Ii=null}or.exports=Ii});var ar=T((Mx,sr)=>{"use strict";var _i=Object.defineProperty||!1;if(_i)try{_i({},"a",{value:1})}catch{_i=!1}sr.exports=_i});var Bn=T((zx,rr)=>{"use strict";rr.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},i=Symbol("test"),n=Object(i);if(typeof i=="string"||Object.prototype.toString.call(i)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;e[i]=o;for(var s in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==i||!Object.prototype.propertyIsEnumerable.call(e,i))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var r=Object.getOwnPropertyDescriptor(e,i);if(r.value!==o||r.enumerable!==!0)return!1}return!0}});var lr=T((Jx,pr)=>{"use strict";var cr=typeof Symbol<"u"&&Symbol,om=Bn();pr.exports=function(){return typeof cr!="function"||typeof Symbol!="function"||typeof cr("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:om()}});var Ln=T((Hx,ur)=>{"use strict";ur.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var qn=T((Vx,dr)=>{"use strict";var sm=jn();dr.exports=sm.getPrototypeOf||null});var hr=T((Wx,fr)=>{"use strict";var am="Function.prototype.bind called on incompatible ",rm=Object.prototype.toString,cm=Math.max,pm="[object Function]",mr=function(e,i){for(var n=[],o=0;o<e.length;o+=1)n[o]=e[o];for(var s=0;s<i.length;s+=1)n[s+e.length]=i[s];return n},lm=function(e,i){for(var n=[],o=i||0,s=0;o<e.length;o+=1,s+=1)n[s]=e[o];return n},um=function(t,e){for(var i="",n=0;n<t.length;n+=1)i+=t[n],n+1<t.length&&(i+=e);return i};fr.exports=function(e){var i=this;if(typeof i!="function"||rm.apply(i)!==pm)throw new TypeError(am+i);for(var n=lm(arguments,1),o,s=function(){if(this instanceof o){var c=i.apply(this,mr(n,arguments));return Object(c)===c?c:this}return i.apply(e,mr(n,arguments))},a=cm(0,i.length-n.length),r=[],p=0;p<a;p++)r[p]="$"+p;if(o=Function("binder","return function ("+um(r,",")+"){ return binder.apply(this,arguments); }")(s),i.prototype){var l=function(){};l.prototype=i.prototype,o.prototype=new l,l.prototype=null}return o}});var Mt=T((Gx,gr)=>{"use strict";var dm=hr();gr.exports=Function.prototype.bind||dm});var $i=T((Xx,xr)=>{"use strict";xr.exports=Function.prototype.call});var Dn=T((Kx,vr)=>{"use strict";vr.exports=Function.prototype.apply});var yr=T((Yx,br)=>{"use strict";br.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var Sr=T((Zx,wr)=>{"use strict";var mm=Mt(),fm=Dn(),hm=$i(),gm=yr();wr.exports=gm||mm.call(hm,fm)});var Tr=T((Qx,Er)=>{"use strict";var xm=Mt(),vm=Oi(),bm=$i(),ym=Sr();Er.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new vm("a function is required");return ym(xm,bm,e)}});var Or=T((ev,Ar)=>{"use strict";var wm=Tr(),kr=Un(),Pr;try{Pr=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var Mn=!!Pr&&kr&&kr(Object.prototype,"__proto__"),Rr=Object,Cr=Rr.getPrototypeOf;Ar.exports=Mn&&typeof Mn.get=="function"?wm([Mn.get]):typeof Cr=="function"?function(e){return Cr(e==null?e:Rr(e))}:!1});var Nr=T((tv,Fr)=>{"use strict";var Ir=Ln(),_r=qn(),$r=Or();Fr.exports=Ir?function(e){return Ir(e)}:_r?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return _r(e)}:$r?function(e){return $r(e)}:null});var Fi=T((iv,jr)=>{"use strict";var Sm=Function.prototype.call,Em=Object.prototype.hasOwnProperty,Tm=Mt();jr.exports=Tm.call(Sm,Em)});var zr=T((nv,Mr)=>{"use strict";var _,km=jn(),Cm=Ra(),Pm=Oa(),Rm=_a(),Am=Fa(),vt=ja(),xt=Oi(),Om=La(),Im=Da(),_m=za(),$m=Ha(),Fm=Wa(),Nm=Xa(),jm=Ya(),Um=tr(),qr=Function,zn=function(t){try{return qr('"use strict"; return ('+t+").constructor;")()}catch{}},zt=Un(),Bm=ar(),Jn=function(){throw new xt},Lm=zt?(function(){try{return arguments.callee,Jn}catch{try{return zt(arguments,"callee").get}catch{return Jn}}})():Jn,ht=lr()(),W=Nr(),qm=qn(),Dm=Ln(),Dr=Dn(),Jt=$i(),gt={},Mm=typeof Uint8Array>"u"||!W?_:W(Uint8Array),He={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?_:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?_:ArrayBuffer,"%ArrayIteratorPrototype%":ht&&W?W([][Symbol.iterator]()):_,"%AsyncFromSyncIteratorPrototype%":_,"%AsyncFunction%":gt,"%AsyncGenerator%":gt,"%AsyncGeneratorFunction%":gt,"%AsyncIteratorPrototype%":gt,"%Atomics%":typeof Atomics>"u"?_:Atomics,"%BigInt%":typeof BigInt>"u"?_:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?_:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?_:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?_:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Cm,"%eval%":eval,"%EvalError%":Pm,"%Float16Array%":typeof Float16Array>"u"?_:Float16Array,"%Float32Array%":typeof Float32Array>"u"?_:Float32Array,"%Float64Array%":typeof Float64Array>"u"?_:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?_:FinalizationRegistry,"%Function%":qr,"%GeneratorFunction%":gt,"%Int8Array%":typeof Int8Array>"u"?_:Int8Array,"%Int16Array%":typeof Int16Array>"u"?_:Int16Array,"%Int32Array%":typeof Int32Array>"u"?_:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ht&&W?W(W([][Symbol.iterator]())):_,"%JSON%":typeof JSON=="object"?JSON:_,"%Map%":typeof Map>"u"?_:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ht||!W?_:W(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":km,"%Object.getOwnPropertyDescriptor%":zt,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?_:Promise,"%Proxy%":typeof Proxy>"u"?_:Proxy,"%RangeError%":Rm,"%ReferenceError%":Am,"%Reflect%":typeof Reflect>"u"?_:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?_:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ht||!W?_:W(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?_:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ht&&W?W(""[Symbol.iterator]()):_,"%Symbol%":ht?Symbol:_,"%SyntaxError%":vt,"%ThrowTypeError%":Lm,"%TypedArray%":Mm,"%TypeError%":xt,"%Uint8Array%":typeof Uint8Array>"u"?_:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?_:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?_:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?_:Uint32Array,"%URIError%":Om,"%WeakMap%":typeof WeakMap>"u"?_:WeakMap,"%WeakRef%":typeof WeakRef>"u"?_:WeakRef,"%WeakSet%":typeof WeakSet>"u"?_:WeakSet,"%Function.prototype.call%":Jt,"%Function.prototype.apply%":Dr,"%Object.defineProperty%":Bm,"%Object.getPrototypeOf%":qm,"%Math.abs%":Im,"%Math.floor%":_m,"%Math.max%":$m,"%Math.min%":Fm,"%Math.pow%":Nm,"%Math.round%":jm,"%Math.sign%":Um,"%Reflect.getPrototypeOf%":Dm};if(W)try{null.error}catch(t){Ur=W(W(t)),He["%Error.prototype%"]=Ur}var Ur,zm=function t(e){var i;if(e==="%AsyncFunction%")i=zn("async function () {}");else if(e==="%GeneratorFunction%")i=zn("function* () {}");else if(e==="%AsyncGeneratorFunction%")i=zn("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var o=t("%AsyncGenerator%");o&&W&&(i=W(o.prototype))}return He[e]=i,i},Br={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ht=Mt(),Ni=Fi(),Jm=Ht.call(Jt,Array.prototype.concat),Hm=Ht.call(Dr,Array.prototype.splice),Lr=Ht.call(Jt,String.prototype.replace),ji=Ht.call(Jt,String.prototype.slice),Vm=Ht.call(Jt,RegExp.prototype.exec),Wm=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Gm=/\\(\\)?/g,Xm=function(e){var i=ji(e,0,1),n=ji(e,-1);if(i==="%"&&n!=="%")throw new vt("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&i!=="%")throw new vt("invalid intrinsic syntax, expected opening `%`");var o=[];return Lr(e,Wm,function(s,a,r,p){o[o.length]=r?Lr(p,Gm,"$1"):a||s}),o},Km=function(e,i){var n=e,o;if(Ni(Br,n)&&(o=Br[n],n="%"+o[0]+"%"),Ni(He,n)){var s=He[n];if(s===gt&&(s=zm(n)),typeof s>"u"&&!i)throw new xt("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:o,name:n,value:s}}throw new vt("intrinsic "+e+" does not exist!")};Mr.exports=function(e,i){if(typeof e!="string"||e.length===0)throw new xt("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof i!="boolean")throw new xt('"allowMissing" argument must be a boolean');if(Vm(/^%?[^%]*%?$/,e)===null)throw new vt("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Xm(e),o=n.length>0?n[0]:"",s=Km("%"+o+"%",i),a=s.name,r=s.value,p=!1,l=s.alias;l&&(o=l[0],Hm(n,Jm([0,1],l)));for(var c=1,d=!0;c<n.length;c+=1){var f=n[c],S=ji(f,0,1),m=ji(f,-1);if((S==='"'||S==="'"||S==="`"||m==='"'||m==="'"||m==="`")&&S!==m)throw new vt("property names with quotes must have matching quotes");if((f==="constructor"||!d)&&(p=!0),o+="."+f,a="%"+o+"%",Ni(He,a))r=He[a];else if(r!=null){if(!(f in r)){if(!i)throw new xt("base intrinsic for "+e+" exists, but the property is not available.");return}if(zt&&c+1>=n.length){var h=zt(r,f);d=!!h,d&&"get"in h&&!("originalValue"in h.get)?r=h.get:r=r[f]}else d=Ni(r,f),r=r[f];d&&!p&&(He[a]=r)}}return r}});var Hr=T((ov,Jr)=>{"use strict";var Ym=Bn();Jr.exports=function(){return Ym()&&!!Symbol.toStringTag}});var Gr=T((sv,Wr)=>{"use strict";var Zm=zr(),Vr=Zm("%Object.defineProperty%",!0),Qm=Hr()(),ef=Fi(),tf=Oi(),Ui=Qm?Symbol.toStringTag:null;Wr.exports=function(e,i){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,o=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof o<"u"&&typeof o!="boolean")throw new tf("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");Ui&&(n||!ef(e,Ui))&&(Vr?Vr(e,Ui,{configurable:!o,enumerable:!1,value:i,writable:!1}):e[Ui]=i)}});var Kr=T((av,Xr)=>{"use strict";Xr.exports=function(t,e){return Object.keys(e).forEach(function(i){t[i]=t[i]||e[i]}),t}});var Xn=T((rv,Yr)=>{"use strict";var Gn=ia(),nf=require("util"),Hn=require("path"),of=require("http"),sf=require("https"),af=require("url").parse,rf=require("fs"),cf=require("stream").Stream,pf=require("crypto"),Vn=ca(),lf=ka(),uf=Gr(),je=Fi(),Wn=Kr();function N(t){if(!(this instanceof N))return new N(t);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Gn.call(this),t=t||{};for(var e in t)this[e]=t[e]}nf.inherits(N,Gn);N.LINE_BREAK=`\r
3
- `;N.DEFAULT_CONTENT_TYPE="application/octet-stream";N.prototype.append=function(t,e,i){i=i||{},typeof i=="string"&&(i={filename:i});var n=Gn.prototype.append.bind(this);if((typeof e=="number"||e==null)&&(e=String(e)),Array.isArray(e)){this._error(new Error("Arrays are not supported."));return}var o=this._multiPartHeader(t,e,i),s=this._multiPartFooter();n(o),n(e),n(s),this._trackLength(o,e,i)};N.prototype._trackLength=function(t,e,i){var n=0;i.knownLength!=null?n+=Number(i.knownLength):Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(t)+N.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&je(e,"httpVersion"))&&!(e instanceof cf))&&(i.knownLength||this._valuesToMeasure.push(e))};N.prototype._lengthRetriever=function(t,e){je(t,"fd")?t.end!=null&&t.end!=1/0&&t.start!=null?e(null,t.end+1-(t.start?t.start:0)):rf.stat(t.path,function(i,n){if(i){e(i);return}var o=n.size-(t.start?t.start:0);e(null,o)}):je(t,"httpVersion")?e(null,Number(t.headers["content-length"])):je(t,"httpModule")?(t.on("response",function(i){t.pause(),e(null,Number(i.headers["content-length"]))}),t.resume()):e("Unknown stream")};N.prototype._multiPartHeader=function(t,e,i){if(typeof i.header=="string")return i.header;var n=this._getContentDisposition(e,i),o=this._getContentType(e,i),s="",a={"Content-Disposition":["form-data",'name="'+t+'"'].concat(n||[]),"Content-Type":[].concat(o||[])};typeof i.header=="object"&&Wn(a,i.header);var r;for(var p in a)if(je(a,p)){if(r=a[p],r==null)continue;Array.isArray(r)||(r=[r]),r.length&&(s+=p+": "+r.join("; ")+N.LINE_BREAK)}return"--"+this.getBoundary()+N.LINE_BREAK+s+N.LINE_BREAK};N.prototype._getContentDisposition=function(t,e){var i;if(typeof e.filepath=="string"?i=Hn.normalize(e.filepath).replace(/\\/g,"/"):e.filename||t&&(t.name||t.path)?i=Hn.basename(e.filename||t&&(t.name||t.path)):t&&t.readable&&je(t,"httpVersion")&&(i=Hn.basename(t.client._httpMessage.path||"")),i)return'filename="'+i+'"'};N.prototype._getContentType=function(t,e){var i=e.contentType;return!i&&t&&t.name&&(i=Vn.lookup(t.name)),!i&&t&&t.path&&(i=Vn.lookup(t.path)),!i&&t&&t.readable&&je(t,"httpVersion")&&(i=t.headers["content-type"]),!i&&(e.filepath||e.filename)&&(i=Vn.lookup(e.filepath||e.filename)),!i&&t&&typeof t=="object"&&(i=N.DEFAULT_CONTENT_TYPE),i};N.prototype._multiPartFooter=function(){return function(t){var e=N.LINE_BREAK,i=this._streams.length===0;i&&(e+=this._lastBoundary()),t(e)}.bind(this)};N.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+N.LINE_BREAK};N.prototype.getHeaders=function(t){var e,i={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in t)je(t,e)&&(i[e.toLowerCase()]=t[e]);return i};N.prototype.setBoundary=function(t){if(typeof t!="string")throw new TypeError("FormData boundary must be a string");this._boundary=t};N.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};N.prototype.getBuffer=function(){for(var t=new Buffer.alloc(0),e=this.getBoundary(),i=0,n=this._streams.length;i<n;i++)typeof this._streams[i]!="function"&&(Buffer.isBuffer(this._streams[i])?t=Buffer.concat([t,this._streams[i]]):t=Buffer.concat([t,Buffer.from(this._streams[i])]),(typeof this._streams[i]!="string"||this._streams[i].substring(2,e.length+2)!==e)&&(t=Buffer.concat([t,Buffer.from(N.LINE_BREAK)])));return Buffer.concat([t,Buffer.from(this._lastBoundary())])};N.prototype._generateBoundary=function(){this._boundary="--------------------------"+pf.randomBytes(12).toString("hex")};N.prototype.getLengthSync=function(){var t=this._overheadLength+this._valueLength;return this._streams.length&&(t+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),t};N.prototype.hasKnownLength=function(){var t=!0;return this._valuesToMeasure.length&&(t=!1),t};N.prototype.getLength=function(t){var e=this._overheadLength+this._valueLength;if(this._streams.length&&(e+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(t.bind(this,null,e));return}lf.parallel(this._valuesToMeasure,this._lengthRetriever,function(i,n){if(i){t(i);return}n.forEach(function(o){e+=o}),t(null,e)})};N.prototype.submit=function(t,e){var i,n,o={method:"post"};return typeof t=="string"?(t=af(t),n=Wn({port:t.port,path:t.pathname,host:t.hostname,protocol:t.protocol},o)):(n=Wn(t,o),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(t.headers),n.protocol==="https:"?i=sf.request(n):i=of.request(n),this.getLength(function(s,a){if(s&&s!=="Unknown stream"){this._error(s);return}if(a&&i.setHeader("Content-Length",a),this.pipe(i),e){var r,p=function(l,c){return i.removeListener("error",p),i.removeListener("response",r),e.call(this,l,c)};r=p.bind(this,null),i.on("error",p),i.on("response",r)}}.bind(this)),i};N.prototype._error=function(t){this.error||(this.error=t,this.pause(),this.emit("error",t))};N.prototype.toString=function(){return"[object FormData]"};uf(N,"FormData");Yr.exports=N});var hc=T(fc=>{"use strict";var Af=require("url").parse,Of={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},If=String.prototype.endsWith||function(t){return t.length<=this.length&&this.indexOf(t,this.length-t.length)!==-1};function _f(t){var e=typeof t=="string"?Af(t):t||{},i=e.protocol,n=e.host,o=e.port;if(typeof n!="string"||!n||typeof i!="string"||(i=i.split(":",1)[0],n=n.replace(/:\d*$/,""),o=parseInt(o)||Of[i]||0,!$f(n,o)))return"";var s=St("npm_config_"+i+"_proxy")||St(i+"_proxy")||St("npm_config_proxy")||St("all_proxy");return s&&s.indexOf("://")===-1&&(s=i+"://"+s),s}function $f(t,e){var i=(St("npm_config_no_proxy")||St("no_proxy")).toLowerCase();return i?i==="*"?!1:i.split(/[,\s]/).every(function(n){if(!n)return!0;var o=n.match(/^(.+):(\d+)$/),s=o?o[1]:n,a=o?parseInt(o[2]):0;return a&&a!==e?!0:/^[.*]/.test(s)?(s.charAt(0)==="*"&&(s=s.slice(1)),!If.call(t,s)):t!==s}):!0}function St(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}fc.getProxyForUrl=_f});var xc=T((cb,gc)=>{var Et=1e3,Tt=Et*60,kt=Tt*60,Ge=kt*24,Ff=Ge*7,Nf=Ge*365.25;gc.exports=function(t,e){e=e||{};var i=typeof t;if(i==="string"&&t.length>0)return jf(t);if(i==="number"&&isFinite(t))return e.long?Bf(t):Uf(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function jf(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var i=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return i*Nf;case"weeks":case"week":case"w":return i*Ff;case"days":case"day":case"d":return i*Ge;case"hours":case"hour":case"hrs":case"hr":case"h":return i*kt;case"minutes":case"minute":case"mins":case"min":case"m":return i*Tt;case"seconds":case"second":case"secs":case"sec":case"s":return i*Et;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}function Uf(t){var e=Math.abs(t);return e>=Ge?Math.round(t/Ge)+"d":e>=kt?Math.round(t/kt)+"h":e>=Tt?Math.round(t/Tt)+"m":e>=Et?Math.round(t/Et)+"s":t+"ms"}function Bf(t){var e=Math.abs(t);return e>=Ge?Di(t,e,Ge,"day"):e>=kt?Di(t,e,kt,"hour"):e>=Tt?Di(t,e,Tt,"minute"):e>=Et?Di(t,e,Et,"second"):t+" ms"}function Di(t,e,i,n){var o=e>=i*1.5;return Math.round(t/i)+" "+n+(o?"s":"")}});var co=T((pb,vc)=>{function Lf(t){i.debug=i,i.default=i,i.coerce=p,i.disable=a,i.enable=o,i.enabled=r,i.humanize=xc(),i.destroy=l,Object.keys(t).forEach(c=>{i[c]=t[c]}),i.names=[],i.skips=[],i.formatters={};function e(c){let d=0;for(let f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return i.colors[Math.abs(d)%i.colors.length]}i.selectColor=e;function i(c){let d,f=null,S,m;function h(...y){if(!h.enabled)return;let P=h,F=Number(new Date),O=F-(d||F);P.diff=O,P.prev=d,P.curr=F,d=F,y[0]=i.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let q=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(Y,ae)=>{if(Y==="%%")return"%";q++;let le=i.formatters[ae];if(typeof le=="function"){let Ce=y[q];Y=le.call(P,Ce),y.splice(q,1),q--}return Y}),i.formatArgs.call(P,y),(P.log||i.log).apply(P,y)}return h.namespace=c,h.useColors=i.useColors(),h.color=i.selectColor(c),h.extend=n,h.destroy=i.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(S!==i.namespaces&&(S=i.namespaces,m=i.enabled(c)),m),set:y=>{f=y}}),typeof i.init=="function"&&i.init(h),h}function n(c,d){let f=i(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}function o(c){i.save(c),i.namespaces=c,i.names=[],i.skips=[];let d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?i.skips.push(f.slice(1)):i.names.push(f)}function s(c,d){let f=0,S=0,m=-1,h=0;for(;f<c.length;)if(S<d.length&&(d[S]===c[f]||d[S]==="*"))d[S]==="*"?(m=S,h=f,S++):(f++,S++);else if(m!==-1)S=m+1,h++,f=h;else return!1;for(;S<d.length&&d[S]==="*";)S++;return S===d.length}function a(){let c=[...i.names,...i.skips.map(d=>"-"+d)].join(",");return i.enable(""),c}function r(c){for(let d of i.skips)if(s(c,d))return!1;for(let d of i.names)if(s(c,d))return!0;return!1}function p(c){return c instanceof Error?c.stack||c.message:c}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return i.enable(i.load()),i}vc.exports=Lf});var bc=T((oe,Mi)=>{oe.formatArgs=Df;oe.save=Mf;oe.load=zf;oe.useColors=qf;oe.storage=Jf();oe.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();oe.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function qf(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Df(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Mi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let i=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(i++,o==="%c"&&(n=i))}),t.splice(n,0,e)}oe.log=console.debug||console.log||(()=>{});function Mf(t){try{t?oe.storage.setItem("debug",t):oe.storage.removeItem("debug")}catch{}}function zf(){let t;try{t=oe.storage.getItem("debug")||oe.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Jf(){try{return localStorage}catch{}}Mi.exports=co()(oe);var{formatters:Hf}=Mi.exports;Hf.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var wc=T((lb,yc)=>{"use strict";yc.exports=(t,e=process.argv)=>{let i=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(i+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var Tc=T((ub,Ec)=>{"use strict";var Vf=require("os"),Sc=require("tty"),me=wc(),{env:G}=process,Be;me("no-color")||me("no-colors")||me("color=false")||me("color=never")?Be=0:(me("color")||me("colors")||me("color=true")||me("color=always"))&&(Be=1);"FORCE_COLOR"in G&&(G.FORCE_COLOR==="true"?Be=1:G.FORCE_COLOR==="false"?Be=0:Be=G.FORCE_COLOR.length===0?1:Math.min(parseInt(G.FORCE_COLOR,10),3));function po(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function lo(t,e){if(Be===0)return 0;if(me("color=16m")||me("color=full")||me("color=truecolor"))return 3;if(me("color=256"))return 2;if(t&&!e&&Be===void 0)return 0;let i=Be||0;if(G.TERM==="dumb")return i;if(process.platform==="win32"){let n=Vf.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in G)||G.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let n=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:i}function Wf(t){let e=lo(t,t&&t.isTTY);return po(e)}Ec.exports={supportsColor:Wf,stdout:po(lo(!0,Sc.isatty(1))),stderr:po(lo(!0,Sc.isatty(2)))}});var Cc=T((X,Ji)=>{var Gf=require("tty"),zi=require("util");X.init=th;X.log=Zf;X.formatArgs=Kf;X.save=Qf;X.load=eh;X.useColors=Xf;X.destroy=zi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");X.colors=[6,2,3,4,5,1];try{let t=Tc();t&&(t.stderr||t).level>=2&&(X.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{}X.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let i=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[i]=n,t},{});function Xf(){return"colors"in X.inspectOpts?!!X.inspectOpts.colors:Gf.isatty(process.stderr.fd)}function Kf(t){let{namespace:e,useColors:i}=this;if(i){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
2
+ "use strict";var ju=Object.create;var Tn=Object.defineProperty;var Uu=Object.getOwnPropertyDescriptor;var Bu=Object.getOwnPropertyNames;var Lu=Object.getPrototypeOf,qu=Object.prototype.hasOwnProperty;var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Du=(t,e)=>{for(var i in e)Tn(t,i,{get:e[i],enumerable:!0})},Mu=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Bu(e))!qu.call(t,o)&&o!==i&&Tn(t,o,{get:()=>e[o],enumerable:!(n=Uu(e,o))||n.enumerable});return t};var C=(t,e,i)=>(i=t!=null?ju(Lu(t)):{},Mu(e||!t||!t.__esModule?Tn(i,"default",{value:t,enumerable:!0}):i,t));var ma=T((Bx,da)=>{var ua=require("stream").Stream,Qd=require("util");da.exports=ve;function ve(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}Qd.inherits(ve,ua);ve.create=function(t,e){var i=new this;e=e||{};for(var n in e)i[n]=e[n];i.source=t;var o=t.emit;return t.emit=function(){return i._handleEmit(arguments),o.apply(t,arguments)},t.on("error",function(){}),i.pauseStream&&t.pause(),i};Object.defineProperty(ve.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});ve.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};ve.prototype.resume=function(){this._released||this.release(),this.source.resume()};ve.prototype.pause=function(){this.source.pause()};ve.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(t){this.emit.apply(this,t)}.bind(this)),this._bufferedEvents=[]};ve.prototype.pipe=function(){var t=ua.prototype.pipe.apply(this,arguments);return this.resume(),t};ve.prototype._handleEmit=function(t){if(this._released){this.emit.apply(this,t);return}t[0]==="data"&&(this.dataSize+=t[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(t)};ve.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(t))}}});var xa=T((Lx,ga)=>{var em=require("util"),ha=require("stream").Stream,fa=ma();ga.exports=M;function M(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}em.inherits(M,ha);M.create=function(t){var e=new this;t=t||{};for(var i in t)e[i]=t[i];return e};M.isStreamLike=function(t){return typeof t!="function"&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"&&!Buffer.isBuffer(t)};M.prototype.append=function(t){var e=M.isStreamLike(t);if(e){if(!(t instanceof fa)){var i=fa.create(t,{maxDataSize:1/0,pauseStream:this.pauseStreams});t.on("data",this._checkDataSize.bind(this)),t=i}this._handleErrors(t),this.pauseStreams&&t.pause()}return this._streams.push(t),this};M.prototype.pipe=function(t,e){return ha.prototype.pipe.call(this,t,e),this.resume(),t};M.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};M.prototype._realGetNext=function(){var t=this._streams.shift();if(typeof t>"u"){this.end();return}if(typeof t!="function"){this._pipeNext(t);return}var e=t;e(function(i){var n=M.isStreamLike(i);n&&(i.on("data",this._checkDataSize.bind(this)),this._handleErrors(i)),this._pipeNext(i)}.bind(this))};M.prototype._pipeNext=function(t){this._currentStream=t;var e=M.isStreamLike(t);if(e){t.on("end",this._getNext.bind(this)),t.pipe(this,{end:!1});return}var i=t;this.write(i),this._getNext()};M.prototype._handleErrors=function(t){var e=this;t.on("error",function(i){e._emitError(i)})};M.prototype.write=function(t){this.emit("data",t)};M.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};M.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};M.prototype.end=function(){this._reset(),this.emit("end")};M.prototype.destroy=function(){this._reset(),this.emit("close")};M.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};M.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(t))}};M.prototype._updateDataSize=function(){this.dataSize=0;var t=this;this._streams.forEach(function(e){e.dataSize&&(t.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};M.prototype._emitError=function(t){this._reset(),this.emit("error",t)}});var va=T((qx,tm)=>{tm.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 ya=T((Dx,ba)=>{ba.exports=va()});var Ea=T(oe=>{"use strict";var $i=ya(),im=require("path").extname,wa=/^\s*([^;\s]*)(?:;|\s|$)/,nm=/^text\//i;oe.charset=Sa;oe.charsets={lookup:Sa};oe.contentType=om;oe.extension=sm;oe.extensions=Object.create(null);oe.lookup=am;oe.types=Object.create(null);rm(oe.extensions,oe.types);function Sa(t){if(!t||typeof t!="string")return!1;var e=wa.exec(t),i=e&&$i[e[1].toLowerCase()];return i&&i.charset?i.charset:e&&nm.test(e[1])?"UTF-8":!1}function om(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?oe.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var i=oe.charset(e);i&&(e+="; charset="+i.toLowerCase())}return e}function sm(t){if(!t||typeof t!="string")return!1;var e=wa.exec(t),i=e&&oe.extensions[e[1].toLowerCase()];return!i||!i.length?!1:i[0]}function am(t){if(!t||typeof t!="string")return!1;var e=im("x."+t).toLowerCase().substr(1);return e&&oe.types[e]||!1}function rm(t,e){var i=["nginx","apache",void 0,"iana"];Object.keys($i).forEach(function(o){var s=$i[o],a=s.extensions;if(!(!a||!a.length)){t[o]=a;for(var r=0;r<a.length;r++){var p=a[r];if(e[p]){var l=i.indexOf($i[e[p]].source),c=i.indexOf(s.source);if(e[p]!=="application/octet-stream"&&(l>c||l===c&&e[p].substr(0,12)==="application/"))continue}e[p]=o}}})}});var ka=T((zx,Ta)=>{Ta.exports=cm;function cm(t){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(t):setTimeout(t,0)}});var Nn=T((Jx,Pa)=>{var Ca=ka();Pa.exports=pm;function pm(t){var e=!1;return Ca(function(){e=!0}),function(n,o){e?t(n,o):Ca(function(){t(n,o)})}}});var Fn=T((Hx,Ra)=>{Ra.exports=lm;function lm(t){Object.keys(t.jobs).forEach(um.bind(t)),t.jobs={}}function um(t){typeof this.jobs[t]=="function"&&this.jobs[t]()}});var jn=T((Vx,Oa)=>{var Aa=Nn(),dm=Fn();Oa.exports=mm;function mm(t,e,i,n){var o=i.keyedList?i.keyedList[i.index]:i.index;i.jobs[o]=fm(e,o,t[o],function(s,a){o in i.jobs&&(delete i.jobs[o],s?dm(i):i.results[o]=a,n(s,i.results))})}function fm(t,e,i,n){var o;return t.length==2?o=t(i,Aa(n)):o=t(i,e,Aa(n)),o}});var Un=T((Wx,Ia)=>{Ia.exports=hm;function hm(t,e){var i=!Array.isArray(t),n={index:0,keyedList:i||e?Object.keys(t):null,jobs:{},results:i?{}:[],size:i?Object.keys(t).length:t.length};return e&&n.keyedList.sort(i?e:function(o,s){return e(t[o],t[s])}),n}});var Bn=T((Gx,_a)=>{var gm=Fn(),xm=Nn();_a.exports=vm;function vm(t){Object.keys(this.jobs).length&&(this.index=this.size,gm(this),xm(t)(null,this.results))}});var Na=T((Kx,$a)=>{var bm=jn(),ym=Un(),wm=Bn();$a.exports=Sm;function Sm(t,e,i){for(var n=ym(t);n.index<(n.keyedList||t).length;)bm(t,e,n,function(o,s){if(o){i(o,s);return}if(Object.keys(n.jobs).length===0){i(null,n.results);return}}),n.index++;return wm.bind(n,i)}});var Ln=T((Xx,Ni)=>{var Fa=jn(),Em=Un(),Tm=Bn();Ni.exports=km;Ni.exports.ascending=ja;Ni.exports.descending=Cm;function km(t,e,i,n){var o=Em(t,i);return Fa(t,e,o,function s(a,r){if(a){n(a,r);return}if(o.index++,o.index<(o.keyedList||t).length){Fa(t,e,o,s);return}n(null,o.results)}),Tm.bind(o,n)}function ja(t,e){return t<e?-1:t>e?1:0}function Cm(t,e){return-1*ja(t,e)}});var Ba=T((Yx,Ua)=>{var Pm=Ln();Ua.exports=Rm;function Rm(t,e,i){return Pm(t,e,null,i)}});var qa=T((Zx,La)=>{La.exports={parallel:Na(),serial:Ba(),serialOrdered:Ln()}});var qn=T((Qx,Da)=>{"use strict";Da.exports=Object});var za=T((ev,Ma)=>{"use strict";Ma.exports=Error});var Ha=T((tv,Ja)=>{"use strict";Ja.exports=EvalError});var Wa=T((iv,Va)=>{"use strict";Va.exports=RangeError});var Ka=T((nv,Ga)=>{"use strict";Ga.exports=ReferenceError});var Ya=T((ov,Xa)=>{"use strict";Xa.exports=SyntaxError});var Fi=T((sv,Za)=>{"use strict";Za.exports=TypeError});var er=T((av,Qa)=>{"use strict";Qa.exports=URIError});var ir=T((rv,tr)=>{"use strict";tr.exports=Math.abs});var or=T((cv,nr)=>{"use strict";nr.exports=Math.floor});var ar=T((pv,sr)=>{"use strict";sr.exports=Math.max});var cr=T((lv,rr)=>{"use strict";rr.exports=Math.min});var lr=T((uv,pr)=>{"use strict";pr.exports=Math.pow});var dr=T((dv,ur)=>{"use strict";ur.exports=Math.round});var fr=T((mv,mr)=>{"use strict";mr.exports=Number.isNaN||function(e){return e!==e}});var gr=T((fv,hr)=>{"use strict";var Am=fr();hr.exports=function(e){return Am(e)||e===0?e:e<0?-1:1}});var vr=T((hv,xr)=>{"use strict";xr.exports=Object.getOwnPropertyDescriptor});var Dn=T((gv,br)=>{"use strict";var ji=vr();if(ji)try{ji([],"length")}catch{ji=null}br.exports=ji});var wr=T((xv,yr)=>{"use strict";var Ui=Object.defineProperty||!1;if(Ui)try{Ui({},"a",{value:1})}catch{Ui=!1}yr.exports=Ui});var Mn=T((vv,Sr)=>{"use strict";Sr.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},i=Symbol("test"),n=Object(i);if(typeof i=="string"||Object.prototype.toString.call(i)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;e[i]=o;for(var s in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==i||!Object.prototype.propertyIsEnumerable.call(e,i))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var r=Object.getOwnPropertyDescriptor(e,i);if(r.value!==o||r.enumerable!==!0)return!1}return!0}});var kr=T((bv,Tr)=>{"use strict";var Er=typeof Symbol<"u"&&Symbol,Om=Mn();Tr.exports=function(){return typeof Er!="function"||typeof Symbol!="function"||typeof Er("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:Om()}});var zn=T((yv,Cr)=>{"use strict";Cr.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var Jn=T((wv,Pr)=>{"use strict";var Im=qn();Pr.exports=Im.getPrototypeOf||null});var Or=T((Sv,Ar)=>{"use strict";var _m="Function.prototype.bind called on incompatible ",$m=Object.prototype.toString,Nm=Math.max,Fm="[object Function]",Rr=function(e,i){for(var n=[],o=0;o<e.length;o+=1)n[o]=e[o];for(var s=0;s<i.length;s+=1)n[s+e.length]=i[s];return n},jm=function(e,i){for(var n=[],o=i||0,s=0;o<e.length;o+=1,s+=1)n[s]=e[o];return n},Um=function(t,e){for(var i="",n=0;n<t.length;n+=1)i+=t[n],n+1<t.length&&(i+=e);return i};Ar.exports=function(e){var i=this;if(typeof i!="function"||$m.apply(i)!==Fm)throw new TypeError(_m+i);for(var n=jm(arguments,1),o,s=function(){if(this instanceof o){var c=i.apply(this,Rr(n,arguments));return Object(c)===c?c:this}return i.apply(e,Rr(n,arguments))},a=Nm(0,i.length-n.length),r=[],p=0;p<a;p++)r[p]="$"+p;if(o=Function("binder","return function ("+Um(r,",")+"){ return binder.apply(this,arguments); }")(s),i.prototype){var l=function(){};l.prototype=i.prototype,o.prototype=new l,l.prototype=null}return o}});var Ht=T((Ev,Ir)=>{"use strict";var Bm=Or();Ir.exports=Function.prototype.bind||Bm});var Bi=T((Tv,_r)=>{"use strict";_r.exports=Function.prototype.call});var Hn=T((kv,$r)=>{"use strict";$r.exports=Function.prototype.apply});var Fr=T((Cv,Nr)=>{"use strict";Nr.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var Ur=T((Pv,jr)=>{"use strict";var Lm=Ht(),qm=Hn(),Dm=Bi(),Mm=Fr();jr.exports=Mm||Lm.call(Dm,qm)});var Lr=T((Rv,Br)=>{"use strict";var zm=Ht(),Jm=Fi(),Hm=Bi(),Vm=Ur();Br.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new Jm("a function is required");return Vm(zm,Hm,e)}});var Hr=T((Av,Jr)=>{"use strict";var Wm=Lr(),qr=Dn(),Mr;try{Mr=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var Vn=!!Mr&&qr&&qr(Object.prototype,"__proto__"),zr=Object,Dr=zr.getPrototypeOf;Jr.exports=Vn&&typeof Vn.get=="function"?Wm([Vn.get]):typeof Dr=="function"?function(e){return Dr(e==null?e:zr(e))}:!1});var Xr=T((Ov,Kr)=>{"use strict";var Vr=zn(),Wr=Jn(),Gr=Hr();Kr.exports=Vr?function(e){return Vr(e)}:Wr?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return Wr(e)}:Gr?function(e){return Gr(e)}:null});var Li=T((Iv,Yr)=>{"use strict";var Gm=Function.prototype.call,Km=Object.prototype.hasOwnProperty,Xm=Ht();Yr.exports=Xm.call(Gm,Km)});var oc=T((_v,nc)=>{"use strict";var _,Ym=qn(),Zm=za(),Qm=Ha(),ef=Wa(),tf=Ka(),bt=Ya(),vt=Fi(),nf=er(),of=ir(),sf=or(),af=ar(),rf=cr(),cf=lr(),pf=dr(),lf=gr(),tc=Function,Wn=function(t){try{return tc('"use strict"; return ('+t+").constructor;")()}catch{}},Vt=Dn(),uf=wr(),Gn=function(){throw new vt},df=Vt?(function(){try{return arguments.callee,Gn}catch{try{return Vt(arguments,"callee").get}catch{return Gn}}})():Gn,gt=kr()(),W=Xr(),mf=Jn(),ff=zn(),ic=Hn(),Wt=Bi(),xt={},hf=typeof Uint8Array>"u"||!W?_:W(Uint8Array),Ge={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?_:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?_:ArrayBuffer,"%ArrayIteratorPrototype%":gt&&W?W([][Symbol.iterator]()):_,"%AsyncFromSyncIteratorPrototype%":_,"%AsyncFunction%":xt,"%AsyncGenerator%":xt,"%AsyncGeneratorFunction%":xt,"%AsyncIteratorPrototype%":xt,"%Atomics%":typeof Atomics>"u"?_:Atomics,"%BigInt%":typeof BigInt>"u"?_:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?_:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?_:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?_:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Zm,"%eval%":eval,"%EvalError%":Qm,"%Float16Array%":typeof Float16Array>"u"?_:Float16Array,"%Float32Array%":typeof Float32Array>"u"?_:Float32Array,"%Float64Array%":typeof Float64Array>"u"?_:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?_:FinalizationRegistry,"%Function%":tc,"%GeneratorFunction%":xt,"%Int8Array%":typeof Int8Array>"u"?_:Int8Array,"%Int16Array%":typeof Int16Array>"u"?_:Int16Array,"%Int32Array%":typeof Int32Array>"u"?_:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":gt&&W?W(W([][Symbol.iterator]())):_,"%JSON%":typeof JSON=="object"?JSON:_,"%Map%":typeof Map>"u"?_:Map,"%MapIteratorPrototype%":typeof Map>"u"||!gt||!W?_:W(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Ym,"%Object.getOwnPropertyDescriptor%":Vt,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?_:Promise,"%Proxy%":typeof Proxy>"u"?_:Proxy,"%RangeError%":ef,"%ReferenceError%":tf,"%Reflect%":typeof Reflect>"u"?_:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?_:Set,"%SetIteratorPrototype%":typeof Set>"u"||!gt||!W?_:W(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?_:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":gt&&W?W(""[Symbol.iterator]()):_,"%Symbol%":gt?Symbol:_,"%SyntaxError%":bt,"%ThrowTypeError%":df,"%TypedArray%":hf,"%TypeError%":vt,"%Uint8Array%":typeof Uint8Array>"u"?_:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?_:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?_:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?_:Uint32Array,"%URIError%":nf,"%WeakMap%":typeof WeakMap>"u"?_:WeakMap,"%WeakRef%":typeof WeakRef>"u"?_:WeakRef,"%WeakSet%":typeof WeakSet>"u"?_:WeakSet,"%Function.prototype.call%":Wt,"%Function.prototype.apply%":ic,"%Object.defineProperty%":uf,"%Object.getPrototypeOf%":mf,"%Math.abs%":of,"%Math.floor%":sf,"%Math.max%":af,"%Math.min%":rf,"%Math.pow%":cf,"%Math.round%":pf,"%Math.sign%":lf,"%Reflect.getPrototypeOf%":ff};if(W)try{null.error}catch(t){Zr=W(W(t)),Ge["%Error.prototype%"]=Zr}var Zr,gf=function t(e){var i;if(e==="%AsyncFunction%")i=Wn("async function () {}");else if(e==="%GeneratorFunction%")i=Wn("function* () {}");else if(e==="%AsyncGeneratorFunction%")i=Wn("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var o=t("%AsyncGenerator%");o&&W&&(i=W(o.prototype))}return Ge[e]=i,i},Qr={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Gt=Ht(),qi=Li(),xf=Gt.call(Wt,Array.prototype.concat),vf=Gt.call(ic,Array.prototype.splice),ec=Gt.call(Wt,String.prototype.replace),Di=Gt.call(Wt,String.prototype.slice),bf=Gt.call(Wt,RegExp.prototype.exec),yf=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,wf=/\\(\\)?/g,Sf=function(e){var i=Di(e,0,1),n=Di(e,-1);if(i==="%"&&n!=="%")throw new bt("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&i!=="%")throw new bt("invalid intrinsic syntax, expected opening `%`");var o=[];return ec(e,yf,function(s,a,r,p){o[o.length]=r?ec(p,wf,"$1"):a||s}),o},Ef=function(e,i){var n=e,o;if(qi(Qr,n)&&(o=Qr[n],n="%"+o[0]+"%"),qi(Ge,n)){var s=Ge[n];if(s===xt&&(s=gf(n)),typeof s>"u"&&!i)throw new vt("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:o,name:n,value:s}}throw new bt("intrinsic "+e+" does not exist!")};nc.exports=function(e,i){if(typeof e!="string"||e.length===0)throw new vt("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof i!="boolean")throw new vt('"allowMissing" argument must be a boolean');if(bf(/^%?[^%]*%?$/,e)===null)throw new bt("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Sf(e),o=n.length>0?n[0]:"",s=Ef("%"+o+"%",i),a=s.name,r=s.value,p=!1,l=s.alias;l&&(o=l[0],vf(n,xf([0,1],l)));for(var c=1,d=!0;c<n.length;c+=1){var f=n[c],w=Di(f,0,1),m=Di(f,-1);if((w==='"'||w==="'"||w==="`"||m==='"'||m==="'"||m==="`")&&w!==m)throw new bt("property names with quotes must have matching quotes");if((f==="constructor"||!d)&&(p=!0),o+="."+f,a="%"+o+"%",qi(Ge,a))r=Ge[a];else if(r!=null){if(!(f in r)){if(!i)throw new vt("base intrinsic for "+e+" exists, but the property is not available.");return}if(Vt&&c+1>=n.length){var h=Vt(r,f);d=!!h,d&&"get"in h&&!("originalValue"in h.get)?r=h.get:r=r[f]}else d=qi(r,f),r=r[f];d&&!p&&(Ge[a]=r)}}return r}});var ac=T(($v,sc)=>{"use strict";var Tf=Mn();sc.exports=function(){return Tf()&&!!Symbol.toStringTag}});var pc=T((Nv,cc)=>{"use strict";var kf=oc(),rc=kf("%Object.defineProperty%",!0),Cf=ac()(),Pf=Li(),Rf=Fi(),Mi=Cf?Symbol.toStringTag:null;cc.exports=function(e,i){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,o=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof o<"u"&&typeof o!="boolean")throw new Rf("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");Mi&&(n||!Pf(e,Mi))&&(rc?rc(e,Mi,{configurable:!o,enumerable:!1,value:i,writable:!1}):e[Mi]=i)}});var uc=T((Fv,lc)=>{"use strict";lc.exports=function(t,e){return Object.keys(e).forEach(function(i){t[i]=t[i]||e[i]}),t}});var Qn=T((jv,dc)=>{"use strict";var Zn=xa(),Af=require("util"),Kn=require("path"),Of=require("http"),If=require("https"),_f=require("url").parse,$f=require("fs"),Nf=require("stream").Stream,Ff=require("crypto"),Xn=Ea(),jf=qa(),Uf=pc(),Be=Li(),Yn=uc();function F(t){if(!(this instanceof F))return new F(t);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Zn.call(this),t=t||{};for(var e in t)this[e]=t[e]}Af.inherits(F,Zn);F.LINE_BREAK=`\r
3
+ `;F.DEFAULT_CONTENT_TYPE="application/octet-stream";F.prototype.append=function(t,e,i){i=i||{},typeof i=="string"&&(i={filename:i});var n=Zn.prototype.append.bind(this);if((typeof e=="number"||e==null)&&(e=String(e)),Array.isArray(e)){this._error(new Error("Arrays are not supported."));return}var o=this._multiPartHeader(t,e,i),s=this._multiPartFooter();n(o),n(e),n(s),this._trackLength(o,e,i)};F.prototype._trackLength=function(t,e,i){var n=0;i.knownLength!=null?n+=Number(i.knownLength):Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(t)+F.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&Be(e,"httpVersion"))&&!(e instanceof Nf))&&(i.knownLength||this._valuesToMeasure.push(e))};F.prototype._lengthRetriever=function(t,e){Be(t,"fd")?t.end!=null&&t.end!=1/0&&t.start!=null?e(null,t.end+1-(t.start?t.start:0)):$f.stat(t.path,function(i,n){if(i){e(i);return}var o=n.size-(t.start?t.start:0);e(null,o)}):Be(t,"httpVersion")?e(null,Number(t.headers["content-length"])):Be(t,"httpModule")?(t.on("response",function(i){t.pause(),e(null,Number(i.headers["content-length"]))}),t.resume()):e("Unknown stream")};F.prototype._multiPartHeader=function(t,e,i){if(typeof i.header=="string")return i.header;var n=this._getContentDisposition(e,i),o=this._getContentType(e,i),s="",a={"Content-Disposition":["form-data",'name="'+t+'"'].concat(n||[]),"Content-Type":[].concat(o||[])};typeof i.header=="object"&&Yn(a,i.header);var r;for(var p in a)if(Be(a,p)){if(r=a[p],r==null)continue;Array.isArray(r)||(r=[r]),r.length&&(s+=p+": "+r.join("; ")+F.LINE_BREAK)}return"--"+this.getBoundary()+F.LINE_BREAK+s+F.LINE_BREAK};F.prototype._getContentDisposition=function(t,e){var i;if(typeof e.filepath=="string"?i=Kn.normalize(e.filepath).replace(/\\/g,"/"):e.filename||t&&(t.name||t.path)?i=Kn.basename(e.filename||t&&(t.name||t.path)):t&&t.readable&&Be(t,"httpVersion")&&(i=Kn.basename(t.client._httpMessage.path||"")),i)return'filename="'+i+'"'};F.prototype._getContentType=function(t,e){var i=e.contentType;return!i&&t&&t.name&&(i=Xn.lookup(t.name)),!i&&t&&t.path&&(i=Xn.lookup(t.path)),!i&&t&&t.readable&&Be(t,"httpVersion")&&(i=t.headers["content-type"]),!i&&(e.filepath||e.filename)&&(i=Xn.lookup(e.filepath||e.filename)),!i&&t&&typeof t=="object"&&(i=F.DEFAULT_CONTENT_TYPE),i};F.prototype._multiPartFooter=function(){return function(t){var e=F.LINE_BREAK,i=this._streams.length===0;i&&(e+=this._lastBoundary()),t(e)}.bind(this)};F.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+F.LINE_BREAK};F.prototype.getHeaders=function(t){var e,i={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in t)Be(t,e)&&(i[e.toLowerCase()]=t[e]);return i};F.prototype.setBoundary=function(t){if(typeof t!="string")throw new TypeError("FormData boundary must be a string");this._boundary=t};F.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};F.prototype.getBuffer=function(){for(var t=new Buffer.alloc(0),e=this.getBoundary(),i=0,n=this._streams.length;i<n;i++)typeof this._streams[i]!="function"&&(Buffer.isBuffer(this._streams[i])?t=Buffer.concat([t,this._streams[i]]):t=Buffer.concat([t,Buffer.from(this._streams[i])]),(typeof this._streams[i]!="string"||this._streams[i].substring(2,e.length+2)!==e)&&(t=Buffer.concat([t,Buffer.from(F.LINE_BREAK)])));return Buffer.concat([t,Buffer.from(this._lastBoundary())])};F.prototype._generateBoundary=function(){this._boundary="--------------------------"+Ff.randomBytes(12).toString("hex")};F.prototype.getLengthSync=function(){var t=this._overheadLength+this._valueLength;return this._streams.length&&(t+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),t};F.prototype.hasKnownLength=function(){var t=!0;return this._valuesToMeasure.length&&(t=!1),t};F.prototype.getLength=function(t){var e=this._overheadLength+this._valueLength;if(this._streams.length&&(e+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(t.bind(this,null,e));return}jf.parallel(this._valuesToMeasure,this._lengthRetriever,function(i,n){if(i){t(i);return}n.forEach(function(o){e+=o}),t(null,e)})};F.prototype.submit=function(t,e){var i,n,o={method:"post"};return typeof t=="string"?(t=_f(t),n=Yn({port:t.port,path:t.pathname,host:t.hostname,protocol:t.protocol},o)):(n=Yn(t,o),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(t.headers),n.protocol==="https:"?i=If.request(n):i=Of.request(n),this.getLength(function(s,a){if(s&&s!=="Unknown stream"){this._error(s);return}if(a&&i.setHeader("Content-Length",a),this.pipe(i),e){var r,p=function(l,c){return i.removeListener("error",p),i.removeListener("response",r),e.call(this,l,c)};r=p.bind(this,null),i.on("error",p),i.on("response",r)}}.bind(this)),i};F.prototype._error=function(t){this.error||(this.error=t,this.pause(),this.emit("error",t))};F.prototype.toString=function(){return"[object FormData]"};Uf(F,"FormData");dc.exports=F});var Oc=T(Ac=>{"use strict";var th=require("url").parse,ih={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},nh=String.prototype.endsWith||function(t){return t.length<=this.length&&this.indexOf(t,this.length-t.length)!==-1};function oh(t){var e=typeof t=="string"?th(t):t||{},i=e.protocol,n=e.host,o=e.port;if(typeof n!="string"||!n||typeof i!="string"||(i=i.split(":",1)[0],n=n.replace(/:\d*$/,""),o=parseInt(o)||ih[i]||0,!sh(n,o)))return"";var s=Et("npm_config_"+i+"_proxy")||Et(i+"_proxy")||Et("npm_config_proxy")||Et("all_proxy");return s&&s.indexOf("://")===-1&&(s=i+"://"+s),s}function sh(t,e){var i=(Et("npm_config_no_proxy")||Et("no_proxy")).toLowerCase();return i?i==="*"?!1:i.split(/[,\s]/).every(function(n){if(!n)return!0;var o=n.match(/^(.+):(\d+)$/),s=o?o[1]:n,a=o?parseInt(o[2]):0;return a&&a!==e?!0:/^[.*]/.test(s)?(s.charAt(0)==="*"&&(s=s.slice(1)),!nh.call(t,s)):t!==s}):!0}function Et(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}Ac.getProxyForUrl=oh});var _c=T((Ub,Ic)=>{var Tt=1e3,kt=Tt*60,Ct=kt*60,Ye=Ct*24,ah=Ye*7,rh=Ye*365.25;Ic.exports=function(t,e){e=e||{};var i=typeof t;if(i==="string"&&t.length>0)return ch(t);if(i==="number"&&isFinite(t))return e.long?lh(t):ph(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function ch(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var i=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return i*rh;case"weeks":case"week":case"w":return i*ah;case"days":case"day":case"d":return i*Ye;case"hours":case"hour":case"hrs":case"hr":case"h":return i*Ct;case"minutes":case"minute":case"mins":case"min":case"m":return i*kt;case"seconds":case"second":case"secs":case"sec":case"s":return i*Tt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}function ph(t){var e=Math.abs(t);return e>=Ye?Math.round(t/Ye)+"d":e>=Ct?Math.round(t/Ct)+"h":e>=kt?Math.round(t/kt)+"m":e>=Tt?Math.round(t/Tt)+"s":t+"ms"}function lh(t){var e=Math.abs(t);return e>=Ye?Vi(t,e,Ye,"day"):e>=Ct?Vi(t,e,Ct,"hour"):e>=kt?Vi(t,e,kt,"minute"):e>=Tt?Vi(t,e,Tt,"second"):t+" ms"}function Vi(t,e,i,n){var o=e>=i*1.5;return Math.round(t/i)+" "+n+(o?"s":"")}});var mo=T((Bb,$c)=>{function uh(t){i.debug=i,i.default=i,i.coerce=p,i.disable=a,i.enable=o,i.enabled=r,i.humanize=_c(),i.destroy=l,Object.keys(t).forEach(c=>{i[c]=t[c]}),i.names=[],i.skips=[],i.formatters={};function e(c){let d=0;for(let f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return i.colors[Math.abs(d)%i.colors.length]}i.selectColor=e;function i(c){let d,f=null,w,m;function h(...y){if(!h.enabled)return;let P=h,N=Number(new Date),O=N-(d||N);P.diff=O,P.prev=d,P.curr=N,d=N,y[0]=i.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let q=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(Y,re)=>{if(Y==="%%")return"%";q++;let ue=i.formatters[re];if(typeof ue=="function"){let Pe=y[q];Y=ue.call(P,Pe),y.splice(q,1),q--}return Y}),i.formatArgs.call(P,y),(P.log||i.log).apply(P,y)}return h.namespace=c,h.useColors=i.useColors(),h.color=i.selectColor(c),h.extend=n,h.destroy=i.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(w!==i.namespaces&&(w=i.namespaces,m=i.enabled(c)),m),set:y=>{f=y}}),typeof i.init=="function"&&i.init(h),h}function n(c,d){let f=i(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}function o(c){i.save(c),i.namespaces=c,i.names=[],i.skips=[];let d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?i.skips.push(f.slice(1)):i.names.push(f)}function s(c,d){let f=0,w=0,m=-1,h=0;for(;f<c.length;)if(w<d.length&&(d[w]===c[f]||d[w]==="*"))d[w]==="*"?(m=w,h=f,w++):(f++,w++);else if(m!==-1)w=m+1,h++,f=h;else return!1;for(;w<d.length&&d[w]==="*";)w++;return w===d.length}function a(){let c=[...i.names,...i.skips.map(d=>"-"+d)].join(",");return i.enable(""),c}function r(c){for(let d of i.skips)if(s(c,d))return!1;for(let d of i.names)if(s(c,d))return!0;return!1}function p(c){return c instanceof Error?c.stack||c.message:c}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return i.enable(i.load()),i}$c.exports=uh});var Nc=T((se,Wi)=>{se.formatArgs=mh;se.save=fh;se.load=hh;se.useColors=dh;se.storage=gh();se.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();se.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function dh(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function mh(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Wi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let i=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(i++,o==="%c"&&(n=i))}),t.splice(n,0,e)}se.log=console.debug||console.log||(()=>{});function fh(t){try{t?se.storage.setItem("debug",t):se.storage.removeItem("debug")}catch{}}function hh(){let t;try{t=se.storage.getItem("debug")||se.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function gh(){try{return localStorage}catch{}}Wi.exports=mo()(se);var{formatters:xh}=Wi.exports;xh.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var jc=T((Lb,Fc)=>{"use strict";Fc.exports=(t,e=process.argv)=>{let i=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(i+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var Lc=T((qb,Bc)=>{"use strict";var vh=require("os"),Uc=require("tty"),me=jc(),{env:G}=process,qe;me("no-color")||me("no-colors")||me("color=false")||me("color=never")?qe=0:(me("color")||me("colors")||me("color=true")||me("color=always"))&&(qe=1);"FORCE_COLOR"in G&&(G.FORCE_COLOR==="true"?qe=1:G.FORCE_COLOR==="false"?qe=0:qe=G.FORCE_COLOR.length===0?1:Math.min(parseInt(G.FORCE_COLOR,10),3));function fo(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ho(t,e){if(qe===0)return 0;if(me("color=16m")||me("color=full")||me("color=truecolor"))return 3;if(me("color=256"))return 2;if(t&&!e&&qe===void 0)return 0;let i=qe||0;if(G.TERM==="dumb")return i;if(process.platform==="win32"){let n=vh.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in G)||G.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let n=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:i}function bh(t){let e=ho(t,t&&t.isTTY);return fo(e)}Bc.exports={supportsColor:bh,stdout:fo(ho(!0,Uc.isatty(1))),stderr:fo(ho(!0,Uc.isatty(2)))}});var Dc=T((K,Ki)=>{var yh=require("tty"),Gi=require("util");K.init=Ph;K.log=Th;K.formatArgs=Sh;K.save=kh;K.load=Ch;K.useColors=wh;K.destroy=Gi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");K.colors=[6,2,3,4,5,1];try{let t=Lc();t&&(t.stderr||t).level>=2&&(K.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{}K.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let i=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[i]=n,t},{});function wh(){return"colors"in K.inspectOpts?!!K.inspectOpts.colors:yh.isatty(process.stderr.fd)}function Sh(t){let{namespace:e,useColors:i}=this;if(i){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
4
4
  `).join(`
5
- `+s),t.push(o+"m+"+Ji.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Yf()+e+" "+t[0]}function Yf(){return X.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Zf(...t){return process.stderr.write(zi.formatWithOptions(X.inspectOpts,...t)+`
6
- `)}function Qf(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function eh(){return process.env.DEBUG}function th(t){t.inspectOpts={};let e=Object.keys(X.inspectOpts);for(let i=0;i<e.length;i++)t.inspectOpts[e[i]]=X.inspectOpts[e[i]]}Ji.exports=co()(X);var{formatters:kc}=Ji.exports;kc.o=function(t){return this.inspectOpts.colors=this.useColors,zi.inspect(t,this.inspectOpts).split(`
7
- `).map(e=>e.trim()).join(" ")};kc.O=function(t){return this.inspectOpts.colors=this.useColors,zi.inspect(t,this.inspectOpts)}});var Pc=T((db,uo)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?uo.exports=bc():uo.exports=Cc()});var Ac=T((mb,Rc)=>{var Xt;Rc.exports=function(){if(!Xt){try{Xt=Pc()("follow-redirects")}catch{}typeof Xt!="function"&&(Xt=function(){})}Xt.apply(null,arguments)}});var Fc=T((fb,To)=>{var Yt=require("url"),Kt=Yt.URL,ih=require("http"),nh=require("https"),xo=require("stream").Writable,vo=require("assert"),Oc=Ac();(function(){var e=typeof process<"u",i=typeof window<"u"&&typeof document<"u",n=Ke(Error.captureStackTrace);!e&&(i||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var bo=!1;try{vo(new Kt(""))}catch(t){bo=t.code==="ERR_INVALID_URL"}var oh=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],yo=["abort","aborted","connect","error","socket","timeout"],wo=Object.create(null);yo.forEach(function(t){wo[t]=function(e,i,n){this._redirectable.emit(t,e,i,n)}});var fo=Zt("ERR_INVALID_URL","Invalid URL",TypeError),ho=Zt("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),sh=Zt("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",ho),ah=Zt("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),rh=Zt("ERR_STREAM_WRITE_AFTER_END","write after end"),ch=xo.prototype.destroy||_c;function se(t,e){xo.call(this),this._sanitizeOptions(t),this._options=t,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var i=this;this._onNativeResponse=function(n){try{i._processResponse(n)}catch(o){i.emit("error",o instanceof ho?o:new ho({cause:o}))}},this._performRequest()}se.prototype=Object.create(xo.prototype);se.prototype.abort=function(){Eo(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};se.prototype.destroy=function(t){return Eo(this._currentRequest,t),ch.call(this,t),this};se.prototype.write=function(t,e,i){if(this._ending)throw new rh;if(!Xe(t)&&!uh(t))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Ke(e)&&(i=e,e=null),t.length===0){i&&i();return}this._requestBodyLength+t.length<=this._options.maxBodyLength?(this._requestBodyLength+=t.length,this._requestBodyBuffers.push({data:t,encoding:e}),this._currentRequest.write(t,e,i)):(this.emit("error",new ah),this.abort())};se.prototype.end=function(t,e,i){if(Ke(t)?(i=t,t=e=null):Ke(e)&&(i=e,e=null),!t)this._ended=this._ending=!0,this._currentRequest.end(null,null,i);else{var n=this,o=this._currentRequest;this.write(t,e,function(){n._ended=!0,o.end(null,null,i)}),this._ending=!0}};se.prototype.setHeader=function(t,e){this._options.headers[t]=e,this._currentRequest.setHeader(t,e)};se.prototype.removeHeader=function(t){delete this._options.headers[t],this._currentRequest.removeHeader(t)};se.prototype.setTimeout=function(t,e){var i=this;function n(a){a.setTimeout(t),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function o(a){i._timeout&&clearTimeout(i._timeout),i._timeout=setTimeout(function(){i.emit("timeout"),s()},t),n(a)}function s(){i._timeout&&(clearTimeout(i._timeout),i._timeout=null),i.removeListener("abort",s),i.removeListener("error",s),i.removeListener("response",s),i.removeListener("close",s),e&&i.removeListener("timeout",e),i.socket||i._currentRequest.removeListener("socket",o)}return e&&this.on("timeout",e),this.socket?o(this.socket):this._currentRequest.once("socket",o),this.on("socket",n),this.on("abort",s),this.on("error",s),this.on("response",s),this.on("close",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(t){se.prototype[t]=function(e,i){return this._currentRequest[t](e,i)}});["aborted","connection","socket"].forEach(function(t){Object.defineProperty(se.prototype,t,{get:function(){return this._currentRequest[t]}})});se.prototype._sanitizeOptions=function(t){if(t.headers||(t.headers={}),t.host&&(t.hostname||(t.hostname=t.host),delete t.host),!t.pathname&&t.path){var e=t.path.indexOf("?");e<0?t.pathname=t.path:(t.pathname=t.path.substring(0,e),t.search=t.path.substring(e))}};se.prototype._performRequest=function(){var t=this._options.protocol,e=this._options.nativeProtocols[t];if(!e)throw new TypeError("Unsupported protocol "+t);if(this._options.agents){var i=t.slice(0,-1);this._options.agent=this._options.agents[i]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var o of yo)n.on(o,wo[o]);if(this._currentUrl=/^\//.test(this._options.path)?Yt.format(this._options):this._options.path,this._isRedirect){var s=0,a=this,r=this._requestBodyBuffers;(function p(l){if(n===a._currentRequest)if(l)a.emit("error",l);else if(s<r.length){var c=r[s++];n.finished||n.write(c.data,c.encoding,p)}else a._ended&&n.end()})()}};se.prototype._processResponse=function(t){var e=t.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:t.headers,statusCode:e});var i=t.headers.location;if(!i||this._options.followRedirects===!1||e<300||e>=400){t.responseUrl=this._currentUrl,t.redirects=this._redirects,this.emit("response",t),this._requestBodyBuffers=[];return}if(Eo(this._currentRequest),t.destroy(),++this._redirectCount>this._options.maxRedirects)throw new sh;var n,o=this._options.beforeRedirect;o&&(n=Object.assign({Host:t.req.getHeader("host")},this._options.headers));var s=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],mo(/^content-/i,this._options.headers));var a=mo(/^host$/i,this._options.headers),r=So(this._currentUrl),p=a||r.host,l=/^\w+:/.test(i)?this._currentUrl:Yt.format(Object.assign(r,{host:p})),c=ph(i,l);if(Oc("redirecting to",c.href),this._isRedirect=!0,go(c,this._options),(c.protocol!==r.protocol&&c.protocol!=="https:"||c.host!==p&&!lh(c.host,p))&&mo(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Ke(o)){var d={headers:t.headers,statusCode:e},f={url:l,method:s,headers:n};o(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function Ic(t){var e={maxRedirects:21,maxBodyLength:10485760},i={};return Object.keys(t).forEach(function(n){var o=n+":",s=i[o]=t[n],a=e[n]=Object.create(s);function r(l,c,d){return dh(l)?l=go(l):Xe(l)?l=go(So(l)):(d=c,c=$c(l),l={protocol:o}),Ke(c)&&(d=c,c=null),c=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,c),c.nativeProtocols=i,!Xe(c.host)&&!Xe(c.hostname)&&(c.hostname="::1"),vo.equal(c.protocol,o,"protocol mismatch"),Oc("options",c),new se(c,d)}function p(l,c,d){var f=a.request(l,c,d);return f.end(),f}Object.defineProperties(a,{request:{value:r,configurable:!0,enumerable:!0,writable:!0},get:{value:p,configurable:!0,enumerable:!0,writable:!0}})}),e}function _c(){}function So(t){var e;if(bo)e=new Kt(t);else if(e=$c(Yt.parse(t)),!Xe(e.protocol))throw new fo({input:t});return e}function ph(t,e){return bo?new Kt(t,e):So(Yt.resolve(e,t))}function $c(t){if(/^\[/.test(t.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(t.hostname))throw new fo({input:t.href||t});if(/^\[/.test(t.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(t.host))throw new fo({input:t.href||t});return t}function go(t,e){var i=e||{};for(var n of oh)i[n]=t[n];return i.hostname.startsWith("[")&&(i.hostname=i.hostname.slice(1,-1)),i.port!==""&&(i.port=Number(i.port)),i.path=i.search?i.pathname+i.search:i.pathname,i}function mo(t,e){var i;for(var n in e)t.test(n)&&(i=e[n],delete e[n]);return i===null||typeof i>"u"?void 0:String(i).trim()}function Zt(t,e,i){function n(o){Ke(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,o||{}),this.code=t,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(i||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+t+"]",enumerable:!1}}),n}function Eo(t,e){for(var i of yo)t.removeListener(i,wo[i]);t.on("error",_c),t.destroy(e)}function lh(t,e){vo(Xe(t)&&Xe(e));var i=t.length-e.length-1;return i>0&&t[i]==="."&&t.endsWith(e)}function Xe(t){return typeof t=="string"||t instanceof String}function Ke(t){return typeof t=="function"}function uh(t){return typeof t=="object"&&"length"in t}function dh(t){return Kt&&t instanceof Kt}To.exports=Ic({http:ih,https:nh});To.exports.wrap=Ic});var du=require("commander");var un=require("commander");var zp=require("child_process"),Jp=C(require("net")),he=C(require("fs")),Hp=C(require("path"));var Es=C(require("os")),lt=C(require("path")),wu=process.env.MOBITRU_CLI_HOME||lt.default.join(Es.default.homedir(),".mobitru-cli"),Fe=lt.default.join(wu,"mobile"),de=process.platform==="win32"?String.raw`\\.\pipe\mobitru-cli-mobile-daemon`:lt.default.join(Fe,"daemon.sock"),yn=lt.default.join(Fe,"daemon.lock"),wn=lt.default.join(Fe,"daemon.log");var ln=require("commander");var js=C(require("fastify")),Oe=C(require("fs")),Us=C(require("path"));var wi=C(require("fs"));var Ts=C(require("os")),Sn=C(require("path")),Su=process.env.MOBITRU_CLI_HOME||Sn.default.join(Ts.default.homedir(),".mobitru-cli"),ut=Sn.default.join(Su,"config.json"),ks="1.0.0-beta.0";var Me=class extends Error{constructor(){super(["Mobitru credentials not configured.","","Set environment variables:"," DEVICE_FARM_BASE_URL"," DEVICE_FARM_BROWSER_HUB_BASE_URL"," DEVICE_FARM_API_KEY"," DEVICE_FARM_SLUG",' DEVICE_FARM_WID (optional, default "0")',"",`Or create ${ut} with shape:`," {",' "baseUrl": "app.mobitru.com",',' "browserHubBaseUrl": "https://browserhub-us.mobitru.com",',' "apiKey": "...",',' "slug": "...",',' "wid": "0"'," }"].join(`
8
- `)),this.name="MissingCredentialsError"}};function Pe(t){return typeof t=="string"&&t.length>0}function Eu(){let t=process.env.DEVICE_FARM_BASE_URL,e=process.env.DEVICE_FARM_BROWSER_HUB_BASE_URL,i=process.env.DEVICE_FARM_API_KEY,n=process.env.DEVICE_FARM_SLUG,o=process.env.DEVICE_FARM_WID||"0";return Pe(t)&&Pe(e)&&Pe(i)&&Pe(n)?{baseUrl:t,browserHubBaseUrl:e,apiKey:i,slug:n,wid:o}:null}function Tu(t){if(process.platform!=="win32")try{wi.default.statSync(t).mode&63&&process.stderr.write(`warn: ${t} is readable by other users. Run: chmod 600 ${t}
9
- `)}catch{}}function ku(){if(!wi.default.existsSync(ut))return null;Tu(ut);let t=wi.default.readFileSync(ut,"utf8"),e=JSON.parse(t);return Pe(e.baseUrl)&&Pe(e.browserHubBaseUrl)&&Pe(e.apiKey)&&Pe(e.slug)?{config:{baseUrl:e.baseUrl,browserHubBaseUrl:e.browserHubBaseUrl,apiKey:e.apiKey,slug:e.slug,wid:Pe(e.wid)?e.wid:"0"},path:ut}:null}function En(){let t=Eu();if(t)return{config:t,source:"env"};let e=ku();if(e)return{config:e.config,source:"file",path:e.path};throw new Me}function Cu(t){return`****${t.slice(-4)}`}function Cs(){let t=En();return{source:t.source,...t.path?{path:t.path}:{},config:{baseUrl:t.config.baseUrl,browserHubBaseUrl:t.config.browserHubBaseUrl,apiKey:Cu(t.config.apiKey),slug:t.config.slug,wid:t.config.wid}}}var I=class extends Error{constructor(i,n){super(i);this.statusCode=n;this.name="CloudApiError"}};var Tn=["up","down","left","right"];function Ps(t){return Tn.includes(t)}var kn=["HOME","BACK","VOLUME_UP","VOLUME_DOWN","ENTER","DPAD_CENTER","DPAD_UP","DPAD_DOWN","DPAD_LEFT","DPAD_RIGHT"];function Rs(t){return kn.includes(t)}var H=class extends Error{constructor(e){super(e)}},Cn=["portrait","landscape"];function As(t){return Cn.includes(t)}var Si=class{busy=!1;tryAcquire(){return this.busy?!1:(this.busy=!0,!0)}release(){this.busy=!1}};var Ei=require("child_process"),re=C(require("fs")),Re=C(require("path")),Is=require("util");var Se=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async findDevice(e){let{platform:i,type:n,manufacturer:o,model:s,version:a,web:r,owner:p,dc:l}=e,c=new URLSearchParams;n&&c.append("type",n),o&&c.append("manufacturer",o),s&&c.append("model",s),a&&c.append("version",a),r&&c.append("web",r),p&&c.append("owner",p),l&&c.append("dc",l);let d=c.toString()?`?${c.toString()}`:"",f=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${i}${d}`,S=await fetch(f,{method:"GET",headers:this.headers});if(!S.ok)throw new I(`Failed to find device: ${S.status} ${S.statusText}`,S.status);return await S.json()}async getDeviceInfo(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}`,n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok)throw new I(`Failed to get device info: ${n.status} ${n.statusText}`,n.status);return await n.json()}async takeDeviceBySerial(e,i=180){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}?duration=${i}`,o=await fetch(n,{method:"POST",headers:this.headers,body:"{}"});if(!o.ok)throw new I(`Failed to take device: ${o.status} ${o.statusText}`,o.status);return await o.json()}async takeDeviceByCapabilities(e,i=30){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device`,o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify({duration:i,desiredCapabilities:e})});if(!o.ok)throw new I(`Failed to take device: ${o.status} ${o.statusText}`,o.status);return await o.json()}async releaseDevice(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}`,n=await fetch(i,{method:"DELETE",headers:this.headers});if(!n.ok)throw new I(`Failed to release device: ${n.status} ${n.statusText}`,n.status);return await n.json()}};var Pu=(0,Is.promisify)(Ei.execFile);function Ae(t){return t.status==="running"}var Ru=1200*1e3,_s=5e3,$s=process.env.MOBILE_CLI_WEBDRIVERIO_VERSION||"9.27.1",Fs=process.env.MOBILE_CLI_MOCHA_VERSION||"11.7.5",Au=6e4,Ne=Re.default.join(Fe,"appium-runtime"),Ou="spec.js",Iu=process.platform==="win32"?"npm.cmd":"npm",_u=process.platform==="win32"?"npx.cmd":"npx";function $u(t){let e=new Date(t),i=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${i(e.getMonth()+1)}-${i(e.getDate())}T${i(e.getHours())}-${i(e.getMinutes())}-${i(e.getSeconds())}`}function Fu(t){return t.replace(/[^A-Za-z0-9_-]/g,"_")}function Nu(t,e,i){return Re.default.join(t,"appium-runs",`${$u(i)}_${Fu(e)}.log`)}function Os(t){try{let e=Re.default.join(Ne,"node_modules",t,"package.json");return JSON.parse(re.default.readFileSync(e,"utf8")).version}catch{return null}}function ju(){return Os("webdriverio")===$s&&Os("mocha")===Fs}async function Uu(){try{await Pu(Iu,["install","--loglevel=error","--no-audit","--no-fund",`webdriverio@${$s}`,`mocha@${Fs}`],{cwd:Ne,maxBuffer:10*1024*1024})}catch(t){let e=t,i=`${e.stdout??""}${e.stderr??""}`.trim();throw new Error(`npm install exited ${e.code}${i?`
10
- ${i.slice(-2048)}`:""}`)}}async function Bu(){re.default.mkdirSync(Ne,{recursive:!0}),!ju()&&(re.default.rmSync(Re.default.join(Ne,"node_modules"),{recursive:!0,force:!0}),re.default.rmSync(Re.default.join(Ne,"package-lock.json"),{force:!0}),re.default.rmSync(Re.default.join(Ne,"package.json"),{force:!0}),await Uu())}function Lu(t){let e=Buffer.from(`${t.slug}:${t.apiKey}`).toString("base64");return`
5
+ `+s),t.push(o+"m+"+Ki.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Eh()+e+" "+t[0]}function Eh(){return K.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Th(...t){return process.stderr.write(Gi.formatWithOptions(K.inspectOpts,...t)+`
6
+ `)}function kh(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Ch(){return process.env.DEBUG}function Ph(t){t.inspectOpts={};let e=Object.keys(K.inspectOpts);for(let i=0;i<e.length;i++)t.inspectOpts[e[i]]=K.inspectOpts[e[i]]}Ki.exports=mo()(K);var{formatters:qc}=Ki.exports;qc.o=function(t){return this.inspectOpts.colors=this.useColors,Gi.inspect(t,this.inspectOpts).split(`
7
+ `).map(e=>e.trim()).join(" ")};qc.O=function(t){return this.inspectOpts.colors=this.useColors,Gi.inspect(t,this.inspectOpts)}});var Mc=T((Db,go)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?go.exports=Nc():go.exports=Dc()});var Jc=T((Mb,zc)=>{var Zt;zc.exports=function(){if(!Zt){try{Zt=Mc()("follow-redirects")}catch{}typeof Zt!="function"&&(Zt=function(){})}Zt.apply(null,arguments)}});var Kc=T((zb,Ro)=>{var ei=require("url"),Qt=ei.URL,Rh=require("http"),Ah=require("https"),wo=require("stream").Writable,So=require("assert"),Hc=Jc();(function(){var e=typeof process<"u",i=typeof window<"u"&&typeof document<"u",n=Qe(Error.captureStackTrace);!e&&(i||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var Eo=!1;try{So(new Qt(""))}catch(t){Eo=t.code==="ERR_INVALID_URL"}var Oh=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],To=["abort","aborted","connect","error","socket","timeout"],ko=Object.create(null);To.forEach(function(t){ko[t]=function(e,i,n){this._redirectable.emit(t,e,i,n)}});var vo=ti("ERR_INVALID_URL","Invalid URL",TypeError),bo=ti("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Ih=ti("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",bo),_h=ti("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),$h=ti("ERR_STREAM_WRITE_AFTER_END","write after end"),Nh=wo.prototype.destroy||Wc;function ae(t,e){wo.call(this),this._sanitizeOptions(t),this._options=t,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var i=this;this._onNativeResponse=function(n){try{i._processResponse(n)}catch(o){i.emit("error",o instanceof bo?o:new bo({cause:o}))}},this._performRequest()}ae.prototype=Object.create(wo.prototype);ae.prototype.abort=function(){Po(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};ae.prototype.destroy=function(t){return Po(this._currentRequest,t),Nh.call(this,t),this};ae.prototype.write=function(t,e,i){if(this._ending)throw new $h;if(!Ze(t)&&!Uh(t))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Qe(e)&&(i=e,e=null),t.length===0){i&&i();return}this._requestBodyLength+t.length<=this._options.maxBodyLength?(this._requestBodyLength+=t.length,this._requestBodyBuffers.push({data:t,encoding:e}),this._currentRequest.write(t,e,i)):(this.emit("error",new _h),this.abort())};ae.prototype.end=function(t,e,i){if(Qe(t)?(i=t,t=e=null):Qe(e)&&(i=e,e=null),!t)this._ended=this._ending=!0,this._currentRequest.end(null,null,i);else{var n=this,o=this._currentRequest;this.write(t,e,function(){n._ended=!0,o.end(null,null,i)}),this._ending=!0}};ae.prototype.setHeader=function(t,e){this._options.headers[t]=e,this._currentRequest.setHeader(t,e)};ae.prototype.removeHeader=function(t){delete this._options.headers[t],this._currentRequest.removeHeader(t)};ae.prototype.setTimeout=function(t,e){var i=this;function n(a){a.setTimeout(t),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function o(a){i._timeout&&clearTimeout(i._timeout),i._timeout=setTimeout(function(){i.emit("timeout"),s()},t),n(a)}function s(){i._timeout&&(clearTimeout(i._timeout),i._timeout=null),i.removeListener("abort",s),i.removeListener("error",s),i.removeListener("response",s),i.removeListener("close",s),e&&i.removeListener("timeout",e),i.socket||i._currentRequest.removeListener("socket",o)}return e&&this.on("timeout",e),this.socket?o(this.socket):this._currentRequest.once("socket",o),this.on("socket",n),this.on("abort",s),this.on("error",s),this.on("response",s),this.on("close",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(t){ae.prototype[t]=function(e,i){return this._currentRequest[t](e,i)}});["aborted","connection","socket"].forEach(function(t){Object.defineProperty(ae.prototype,t,{get:function(){return this._currentRequest[t]}})});ae.prototype._sanitizeOptions=function(t){if(t.headers||(t.headers={}),t.host&&(t.hostname||(t.hostname=t.host),delete t.host),!t.pathname&&t.path){var e=t.path.indexOf("?");e<0?t.pathname=t.path:(t.pathname=t.path.substring(0,e),t.search=t.path.substring(e))}};ae.prototype._performRequest=function(){var t=this._options.protocol,e=this._options.nativeProtocols[t];if(!e)throw new TypeError("Unsupported protocol "+t);if(this._options.agents){var i=t.slice(0,-1);this._options.agent=this._options.agents[i]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var o of To)n.on(o,ko[o]);if(this._currentUrl=/^\//.test(this._options.path)?ei.format(this._options):this._options.path,this._isRedirect){var s=0,a=this,r=this._requestBodyBuffers;(function p(l){if(n===a._currentRequest)if(l)a.emit("error",l);else if(s<r.length){var c=r[s++];n.finished||n.write(c.data,c.encoding,p)}else a._ended&&n.end()})()}};ae.prototype._processResponse=function(t){var e=t.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:t.headers,statusCode:e});var i=t.headers.location;if(!i||this._options.followRedirects===!1||e<300||e>=400){t.responseUrl=this._currentUrl,t.redirects=this._redirects,this.emit("response",t),this._requestBodyBuffers=[];return}if(Po(this._currentRequest),t.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Ih;var n,o=this._options.beforeRedirect;o&&(n=Object.assign({Host:t.req.getHeader("host")},this._options.headers));var s=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],xo(/^content-/i,this._options.headers));var a=xo(/^host$/i,this._options.headers),r=Co(this._currentUrl),p=a||r.host,l=/^\w+:/.test(i)?this._currentUrl:ei.format(Object.assign(r,{host:p})),c=Fh(i,l);if(Hc("redirecting to",c.href),this._isRedirect=!0,yo(c,this._options),(c.protocol!==r.protocol&&c.protocol!=="https:"||c.host!==p&&!jh(c.host,p))&&xo(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Qe(o)){var d={headers:t.headers,statusCode:e},f={url:l,method:s,headers:n};o(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function Vc(t){var e={maxRedirects:21,maxBodyLength:10485760},i={};return Object.keys(t).forEach(function(n){var o=n+":",s=i[o]=t[n],a=e[n]=Object.create(s);function r(l,c,d){return Bh(l)?l=yo(l):Ze(l)?l=yo(Co(l)):(d=c,c=Gc(l),l={protocol:o}),Qe(c)&&(d=c,c=null),c=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,c),c.nativeProtocols=i,!Ze(c.host)&&!Ze(c.hostname)&&(c.hostname="::1"),So.equal(c.protocol,o,"protocol mismatch"),Hc("options",c),new ae(c,d)}function p(l,c,d){var f=a.request(l,c,d);return f.end(),f}Object.defineProperties(a,{request:{value:r,configurable:!0,enumerable:!0,writable:!0},get:{value:p,configurable:!0,enumerable:!0,writable:!0}})}),e}function Wc(){}function Co(t){var e;if(Eo)e=new Qt(t);else if(e=Gc(ei.parse(t)),!Ze(e.protocol))throw new vo({input:t});return e}function Fh(t,e){return Eo?new Qt(t,e):Co(ei.resolve(e,t))}function Gc(t){if(/^\[/.test(t.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(t.hostname))throw new vo({input:t.href||t});if(/^\[/.test(t.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(t.host))throw new vo({input:t.href||t});return t}function yo(t,e){var i=e||{};for(var n of Oh)i[n]=t[n];return i.hostname.startsWith("[")&&(i.hostname=i.hostname.slice(1,-1)),i.port!==""&&(i.port=Number(i.port)),i.path=i.search?i.pathname+i.search:i.pathname,i}function xo(t,e){var i;for(var n in e)t.test(n)&&(i=e[n],delete e[n]);return i===null||typeof i>"u"?void 0:String(i).trim()}function ti(t,e,i){function n(o){Qe(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,o||{}),this.code=t,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(i||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+t+"]",enumerable:!1}}),n}function Po(t,e){for(var i of To)t.removeListener(i,ko[i]);t.on("error",Wc),t.destroy(e)}function jh(t,e){So(Ze(t)&&Ze(e));var i=t.length-e.length-1;return i>0&&t[i]==="."&&t.endsWith(e)}function Ze(t){return typeof t=="string"||t instanceof String}function Qe(t){return typeof t=="function"}function Uh(t){return typeof t=="object"&&"length"in t}function Bh(t){return Qt&&t instanceof Qt}Ro.exports=Vc({http:Rh,https:Ah});Ro.exports.wrap=Vc});var Nu=require("commander");var gn=require("commander");var rl=require("child_process"),cl=C(require("net")),pl=C(require("fs"));var As=C(require("fs")),kn=C(require("os")),Ue=C(require("path")),Os=C(require("crypto")),Is=Ue.default.join(kn.default.homedir(),".mobitru-cli","mobile"),zu="default",_s=Ue.default.join(Is,"sessions"),Se=Ue.default.join(Is,"appium-runtime"),Ju=t=>Os.default.createHash("sha1").update(`${kn.default.homedir()}\0${t}`,"utf-8").digest("hex").slice(0,8),He=t=>Ue.default.join(_s,t),Re=t=>process.platform==="win32"?String.raw`\\.\pipe\mobitru-cli-mobile-${Ju(t)}`:Ue.default.join(He(t),"daemon.sock"),$s=t=>Ue.default.join(He(t),"daemon.lock"),Ns=t=>Ue.default.join(He(t),"daemon.log"),Hu=t=>{if(!/^[a-zA-Z0-9_-]{1,32}$/.test(t))throw new Error(`Invalid session name "${t}": use only letters, digits, hyphen, or underscore (1-32 characters).`)},Fs=t=>{let e=t??process.env.MOBITRU_CLI_SESSION;return e?(Hu(e),e):zu},Ae=()=>{let t=process.env.MOBITRU_CLI_SESSION;if(!t)throw new Error("Session not resolved.");return t},Ei=()=>{try{return As.default.readdirSync(_s,{withFileTypes:!0}).filter(t=>t.isDirectory()).map(t=>t.name)}catch{return[]}};var il=C(require("fs")),hn=require("commander");var Ys=C(require("fastify")),$e=C(require("fs")),Zs=C(require("path"));var Ti=C(require("fs"));var js=C(require("os")),Cn=C(require("path")),Vu=process.env.MOBITRU_CLI_HOME||Cn.default.join(js.default.homedir(),".mobitru-cli"),ie=Cn.default.join(Vu,"config.json"),Us="1.0.0";var Lt=class extends Error{constructor(){super(["Mobitru credentials not configured.","","Set environment variables:"," DEVICE_FARM_BASE_URL"," DEVICE_FARM_BROWSER_HUB_BASE_URL"," DEVICE_FARM_API_KEY"," DEVICE_FARM_SLUG",' DEVICE_FARM_WID (optional, default "0")',"",`Or create ${ie} with shape:`," {",' "baseUrl": "app.mobitru.com",',' "browserHubBaseUrl": "https://browserhub-us.mobitru.com",',' "apiKey": "...",',' "slug": "...",',' "wid": "0"'," }"].join(`
8
+ `)),this.name="MissingCredentialsError"}};function Oe(t){return typeof t=="string"&&t.length>0}function Wu(){let t=process.env.DEVICE_FARM_BASE_URL,e=process.env.DEVICE_FARM_BROWSER_HUB_BASE_URL,i=process.env.DEVICE_FARM_API_KEY,n=process.env.DEVICE_FARM_SLUG,o=process.env.DEVICE_FARM_WID||"0";return Oe(t)&&Oe(e)&&Oe(i)&&Oe(n)?{baseUrl:t,browserHubBaseUrl:e,apiKey:i,slug:n,wid:o}:null}function Gu(t){if(process.platform!=="win32")try{Ti.default.statSync(t).mode&63&&process.stderr.write(`warn: ${t} is readable by other users. Run: chmod 600 ${t}
9
+ `)}catch{}}function Ku(){if(!Ti.default.existsSync(ie))return null;Gu(ie);let t=Ti.default.readFileSync(ie,"utf8"),e=JSON.parse(t);return Oe(e.baseUrl)&&Oe(e.browserHubBaseUrl)&&Oe(e.apiKey)&&Oe(e.slug)?{config:{baseUrl:e.baseUrl,browserHubBaseUrl:e.browserHubBaseUrl,apiKey:e.apiKey,slug:e.slug,wid:Oe(e.wid)?e.wid:"0"},path:ie}:null}function Pn(){let t=Wu();if(t)return{config:t,source:"env"};let e=Ku();if(e)return{config:e.config,source:"file",path:e.path};throw new Lt}function Xu(t){return`****${t.slice(-4)}`}function Bs(){let t=Pn();return{source:t.source,...t.path?{path:t.path}:{},config:{baseUrl:t.config.baseUrl,browserHubBaseUrl:t.config.browserHubBaseUrl,apiKey:Xu(t.config.apiKey),slug:t.config.slug,wid:t.config.wid}}}var I=class extends Error{constructor(i,n){super(i);this.statusCode=n;this.name="CloudApiError"}};var Rn=["up","down","left","right"];function Ls(t){return Rn.includes(t)}var An=["HOME","BACK","VOLUME_UP","VOLUME_DOWN","ENTER","DPAD_CENTER","DPAD_UP","DPAD_DOWN","DPAD_LEFT","DPAD_RIGHT"];function qs(t){return An.includes(t)}var H=class extends Error{constructor(e){super(e)}},On=["portrait","landscape"];function Ds(t){return On.includes(t)}var ki=class{busy=!1;tryAcquire(){return this.busy?!1:(this.busy=!0,!0)}release(){this.busy=!1}};var Ri=require("child_process"),ce=C(require("fs")),Ie=C(require("path")),Vs=require("util");var ge=C(require("fs")),Ms=C(require("path")),Yu=1e4;async function Ci(t,e=Yu){let i=Ms.default.dirname(t);for(ge.default.existsSync(i)||ge.default.mkdirSync(i,{recursive:!0});;)try{let n=ge.default.openSync(t,ge.default.constants.O_CREAT|ge.default.constants.O_EXCL|ge.default.constants.O_WRONLY);ge.default.closeSync(n);return}catch(n){if(n.code!=="EEXIST")throw n;try{let o=ge.default.statSync(t);if(Date.now()-o.mtimeMs>e){ge.default.unlinkSync(t);continue}}catch{continue}await Zu(50)}}function Pi(t){try{ge.default.unlinkSync(t)}catch{}}var Zu=t=>new Promise(e=>setTimeout(e,t));var Ee=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async findDevice(e){let{platform:i,type:n,manufacturer:o,model:s,version:a,web:r,owner:p,dc:l}=e,c=new URLSearchParams;n&&c.append("type",n),o&&c.append("manufacturer",o),s&&c.append("model",s),a&&c.append("version",a),r&&c.append("web",r),p&&c.append("owner",p),l&&c.append("dc",l);let d=c.toString()?`?${c.toString()}`:"",f=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${i}${d}`,w=await fetch(f,{method:"GET",headers:this.headers});if(!w.ok)throw new I(`Failed to find device: ${w.status} ${w.statusText}`,w.status);return await w.json()}async getDeviceInfo(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}`,n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok)throw new I(`Failed to get device info: ${n.status} ${n.statusText}`,n.status);return await n.json()}async takeDeviceBySerial(e,i=180){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}?duration=${i}`,o=await fetch(n,{method:"POST",headers:this.headers,body:"{}"});if(!o.ok)throw new I(`Failed to take device: ${o.status} ${o.statusText}`,o.status);return await o.json()}async takeDeviceByCapabilities(e,i=30){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device`,o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify({duration:i,desiredCapabilities:e})});if(!o.ok)throw new I(`Failed to take device: ${o.status} ${o.statusText}`,o.status);return await o.json()}async releaseDevice(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}`,n=await fetch(i,{method:"DELETE",headers:this.headers});if(!n.ok)throw new I(`Failed to release device: ${n.status} ${n.statusText}`,n.status);return await n.json()}};var Qu=(0,Vs.promisify)(Ri.execFile);function _e(t){return t.status==="running"}var ed=1200*1e3,Ws=5e3,Gs=process.env.MOBILE_CLI_WEBDRIVERIO_VERSION||"9.27.1",Ks=process.env.MOBILE_CLI_MOCHA_VERSION||"11.7.5",td=6e4,id=t=>`spec-${t}.js`,zs=Ie.default.join(Se,".install.lock"),nd=300*1e3,od=process.platform==="win32"?"npm.cmd":"npm",sd=process.platform==="win32"?"npx.cmd":"npx";function ad(t){let e=new Date(t),i=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${i(e.getMonth()+1)}-${i(e.getDate())}T${i(e.getHours())}-${i(e.getMinutes())}-${i(e.getSeconds())}`}function rd(t){return t.replace(/[^A-Za-z0-9_-]/g,"_")}function cd(t,e,i){return Ie.default.join(t,"appium-runs",`${ad(i)}_${rd(e)}.log`)}function Js(t){try{let e=Ie.default.join(Se,"node_modules",t,"package.json");return JSON.parse(ce.default.readFileSync(e,"utf8")).version}catch{return null}}function Hs(){return Js("webdriverio")===Gs&&Js("mocha")===Ks}async function pd(){try{await Qu(od,["install","--loglevel=error","--no-audit","--no-fund",`webdriverio@${Gs}`,`mocha@${Ks}`],{cwd:Se,maxBuffer:10*1024*1024})}catch(t){let e=t,i=`${e.stdout??""}${e.stderr??""}`.trim();throw new Error(`npm install exited ${e.code}${i?`
10
+ ${i.slice(-2048)}`:""}`)}}async function ld(){if(ce.default.mkdirSync(Se,{recursive:!0}),!Hs()){await Ci(zs,nd);try{if(Hs())return;ce.default.rmSync(Ie.default.join(Se,"node_modules"),{recursive:!0,force:!0}),ce.default.rmSync(Ie.default.join(Se,"package-lock.json"),{force:!0}),ce.default.rmSync(Ie.default.join(Se,"package.json"),{force:!0}),await pd()}finally{Pi(zs)}}}function ud(t){let e=Buffer.from(`${t.slug}:${t.apiKey}`).toString("base64");return`
11
11
  const { remote } = require("webdriverio");
12
12
  const assert = require("assert");
13
13
 
@@ -42,16 +42,16 @@ after(async () => {
42
42
  });
43
43
 
44
44
  ${t.userScript}
45
- `}async function qu(t,e,i){let n=await new Se(t).getDeviceInfo(e),o=n.desiredCapabilities?.platformName??n.platform,s=n.desiredCapabilities?.automationName??(o.toLowerCase().includes("ios")?"XCUITest":"UiAutomator2"),a={"appium:platformName":o,"appium:udid":e,"appium:automationName":s,"mobitru:keepDevice":!0,"mobitru:appiumVersion":"2"};return t.wid&&t.wid!=="0"&&(a["mobitru:wid"]=t.wid),{...a,...i??{}}}async function Ns(t){if(!re.default.existsSync(t.scriptPath))throw new Error(`script not found: ${t.scriptPath}`);let e=re.default.readFileSync(t.scriptPath,"utf8");await Bu();let i=await qu(t.deviceFarm,t.serial,t.capabilities),n=Lu({appiumHost:t.deviceFarm.baseUrl,slug:t.deviceFarm.slug,apiKey:t.deviceFarm.apiKey,capabilities:i,userScript:e}),o=Re.default.join(Ne,Ou);re.default.writeFileSync(o,n);let s=Date.now(),a=Nu(t.artifactDir,t.serial,s);re.default.mkdirSync(Re.default.dirname(a),{recursive:!0});let r=re.default.openSync(a,"w"),p=t.timeoutMs??Ru,l=(0,Ei.spawn)(_u,["--no-install","mocha",o,"--timeout",String(Au)],{cwd:Ne,stdio:["ignore",r,r],env:{...process.env}}),c={scriptPath:t.scriptPath,serial:t.serial,status:"running",startedAt:s,logPath:a,child:l},d=!1,f=null,S=setTimeout(()=>{Ae(c)&&(d=!0,l.kill("SIGTERM"),f=setTimeout(()=>l.kill("SIGKILL"),_s))},p);return l.on("exit",(m,h)=>{try{re.default.closeSync(r)}catch{}try{re.default.unlinkSync(o)}catch{}clearTimeout(S),f&&clearTimeout(f),c.durationMs=Date.now()-c.startedAt,m!==null&&(c.exitCode=m),Ae(c)&&(d?c.status="timed-out":c.cancelRequested||h==="SIGTERM"||h==="SIGKILL"?c.status="cancelled":m===0?c.status="succeeded":c.status="failed")}),c}function dt(t){return Ae(t)?(t.cancelRequested=!0,new Promise(e=>{let i=setTimeout(()=>{Ae(t)&&t.child.kill("SIGKILL")},_s);t.child.once("exit",()=>{clearTimeout(i),e()}),t.child.kill("SIGTERM")})):Promise.resolve()}function ze(t){return{scriptPath:t.scriptPath,serial:t.serial,status:t.status,startedAt:t.startedAt,durationMs:Ae(t)?Date.now()-t.startedAt:t.durationMs,exitCode:t.exitCode,logPath:t.logPath}}function Du(){let t=process.env.MOBITRU_CLI_DAEMON_LOG_LEVEL;return t?(Oe.default.mkdirSync(Us.default.dirname(wn),{recursive:!0}),{level:t,stream:Oe.default.createWriteStream(wn,{flags:"a"})}):!1}async function Bs(t,e){process.stderr.on("error",()=>{}),process.stdout.on("error",()=>{}),process.on("uncaughtException",s=>{if(s.code!=="EPIPE")throw s}),process.env.APPIUM_REQUEST_TIMEOUT_MS||(process.env.APPIUM_REQUEST_TIMEOUT_MS="60000");let i;try{i=En().config}catch(s){throw s instanceof Me&&(process.stderr.write(`${s.message}
46
- `),process.exit(1)),s}Oe.default.existsSync(Fe)||Oe.default.mkdirSync(Fe,{recursive:!0}),process.platform!=="win32"&&Oe.default.existsSync(t)&&Oe.default.unlinkSync(t);let n=(0,js.default)({logger:Du()});n.decorate("deviceFarm",i),n.decorate("state",{activeDevice:null,sessionType:"native",robot:null,snapshotRefs:null,recordingActive:!1,currentJob:null}),n.decorate("commandLock",new Si),n.log.info({socketPath:t,pid:process.pid},"daemon starting");let o=new Set(["/stop","/status"]);n.addHook("onRequest",async(s,a)=>{if(!o.has(s.url)){if(!n.commandLock.tryAcquire()){a.code(429),await a.send({error:"another command is in flight; CLI calls must be sequential"});return}s.holdsLock=!0}}),n.addHook("onResponse",async s=>{s.holdsLock&&n.commandLock.release()}),e(n),n.addHook("onClose",async s=>{s.state.currentJob&&await dt(s.state.currentJob),process.platform!=="win32"&&Oe.default.existsSync(t)&&Oe.default.unlinkSync(t)}),n.setErrorHandler((s,a,r)=>{let p=s instanceof I||s.statusCode&&s.statusCode<500;r.code(p?s.statusCode:502).send({error:s.message})}),process.on("SIGTERM",async()=>{await n.close(),process.exit(0)}),process.on("SIGINT",async()=>{await n.close(),process.exit(0)}),await n.listen({path:t}),process.stdout.write(`ready
47
- `)}var Ls=C(require("http"));function x(t,e,i,n){return new Promise((o,s)=>{let a=Ls.default.request({socketPath:t,method:e,path:i,headers:n?{"Content-Type":"application/json"}:{}},r=>{let p=[];r.on("data",l=>p.push(l)),r.on("end",()=>{let l=Buffer.concat(p).toString("utf8");if(r.statusCode&&r.statusCode>=400){let c=l||"daemon request failed";try{let d=JSON.parse(l);d&&typeof d.error=="string"&&(c=d.error)}catch{}s(new Error(c));return}try{o(JSON.parse(l))}catch{o(l)}})});a.on("error",s),n&&a.write(JSON.stringify(n)),a.end()})}function Ut(t,e){return function(){return t.apply(e,arguments)}}var{toString:Mu}=Object.prototype,{getPrototypeOf:An}=Object,{iterator:ki,toStringTag:Ds}=Symbol,Ci=(t=>e=>{let i=Mu.call(e);return t[i]||(t[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),xe=t=>(t=t.toLowerCase(),e=>Ci(e)===t),Pi=t=>e=>typeof e===t,{isArray:mt}=Array,Bt=Pi("undefined");function Lt(t){return t!==null&&!Bt(t)&&t.constructor!==null&&!Bt(t.constructor)&&ie(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var Ms=xe("ArrayBuffer");function zu(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Ms(t.buffer),e}var Ju=Pi("string"),ie=Pi("function"),zs=Pi("number"),qt=t=>t!==null&&typeof t=="object",Hu=t=>t===!0||t===!1,Ti=t=>{if(Ci(t)!=="object")return!1;let e=An(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Ds in t)&&!(ki in t)},Vu=t=>{if(!qt(t)||Lt(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Wu=xe("Date"),Gu=xe("File"),Xu=xe("Blob"),Ku=xe("FileList"),Yu=t=>qt(t)&&ie(t.pipe),Zu=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||ie(t.append)&&((e=Ci(t))==="formdata"||e==="object"&&ie(t.toString)&&t.toString()==="[object FormData]"))},Qu=xe("URLSearchParams"),[ed,td,id,nd]=["ReadableStream","Request","Response","Headers"].map(xe),od=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Dt(t,e,{allOwnKeys:i=!1}={}){if(t===null||typeof t>"u")return;let n,o;if(typeof t!="object"&&(t=[t]),mt(t))for(n=0,o=t.length;n<o;n++)e.call(null,t[n],n,t);else{if(Lt(t))return;let s=i?Object.getOwnPropertyNames(t):Object.keys(t),a=s.length,r;for(n=0;n<a;n++)r=s[n],e.call(null,t[r],r,t)}}function Js(t,e){if(Lt(t))return null;e=e.toLowerCase();let i=Object.keys(t),n=i.length,o;for(;n-- >0;)if(o=i[n],e===o.toLowerCase())return o;return null}var Je=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Hs=t=>!Bt(t)&&t!==Je;function Rn(){let{caseless:t}=Hs(this)&&this||{},e={},i=(n,o)=>{let s=t&&Js(e,o)||o;Ti(e[s])&&Ti(n)?e[s]=Rn(e[s],n):Ti(n)?e[s]=Rn({},n):mt(n)?e[s]=n.slice():e[s]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&Dt(arguments[n],i);return e}var sd=(t,e,i,{allOwnKeys:n}={})=>(Dt(e,(o,s)=>{i&&ie(o)?t[s]=Ut(o,i):t[s]=o},{allOwnKeys:n}),t),ad=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),rd=(t,e,i,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),i&&Object.assign(t.prototype,i)},cd=(t,e,i,n)=>{let o,s,a,r={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),s=o.length;s-- >0;)a=o[s],(!n||n(a,t,e))&&!r[a]&&(e[a]=t[a],r[a]=!0);t=i!==!1&&An(t)}while(t&&(!i||i(t,e))&&t!==Object.prototype);return e},pd=(t,e,i)=>{t=String(t),(i===void 0||i>t.length)&&(i=t.length),i-=e.length;let n=t.indexOf(e,i);return n!==-1&&n===i},ld=t=>{if(!t)return null;if(mt(t))return t;let e=t.length;if(!zs(e))return null;let i=new Array(e);for(;e-- >0;)i[e]=t[e];return i},ud=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&An(Uint8Array)),dd=(t,e)=>{let n=(t&&t[ki]).call(t),o;for(;(o=n.next())&&!o.done;){let s=o.value;e.call(t,s[0],s[1])}},md=(t,e)=>{let i,n=[];for(;(i=t.exec(e))!==null;)n.push(i);return n},fd=xe("HTMLFormElement"),hd=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(i,n,o){return n.toUpperCase()+o}),qs=(({hasOwnProperty:t})=>(e,i)=>t.call(e,i))(Object.prototype),gd=xe("RegExp"),Vs=(t,e)=>{let i=Object.getOwnPropertyDescriptors(t),n={};Dt(i,(o,s)=>{let a;(a=e(o,s,t))!==!1&&(n[s]=a||o)}),Object.defineProperties(t,n)},xd=t=>{Vs(t,(e,i)=>{if(ie(t)&&["arguments","caller","callee"].indexOf(i)!==-1)return!1;let n=t[i];if(ie(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")})}})},vd=(t,e)=>{let i={},n=o=>{o.forEach(s=>{i[s]=!0})};return mt(t)?n(t):n(String(t).split(e)),i},bd=()=>{},yd=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function wd(t){return!!(t&&ie(t.append)&&t[Ds]==="FormData"&&t[ki])}var Sd=t=>{let e=new Array(10),i=(n,o)=>{if(qt(n)){if(e.indexOf(n)>=0)return;if(Lt(n))return n;if(!("toJSON"in n)){e[o]=n;let s=mt(n)?[]:{};return Dt(n,(a,r)=>{let p=i(a,o+1);!Bt(p)&&(s[r]=p)}),e[o]=void 0,s}}return n};return i(t,0)},Ed=xe("AsyncFunction"),Td=t=>t&&(qt(t)||ie(t))&&ie(t.then)&&ie(t.catch),Ws=((t,e)=>t?setImmediate:e?((i,n)=>(Je.addEventListener("message",({source:o,data:s})=>{o===Je&&s===i&&n.length&&n.shift()()},!1),o=>{n.push(o),Je.postMessage(i,"*")}))(`axios@${Math.random()}`,[]):i=>setTimeout(i))(typeof setImmediate=="function",ie(Je.postMessage)),kd=typeof queueMicrotask<"u"?queueMicrotask.bind(Je):typeof process<"u"&&process.nextTick||Ws,Cd=t=>t!=null&&ie(t[ki]),u={isArray:mt,isArrayBuffer:Ms,isBuffer:Lt,isFormData:Zu,isArrayBufferView:zu,isString:Ju,isNumber:zs,isBoolean:Hu,isObject:qt,isPlainObject:Ti,isEmptyObject:Vu,isReadableStream:ed,isRequest:td,isResponse:id,isHeaders:nd,isUndefined:Bt,isDate:Wu,isFile:Gu,isBlob:Xu,isRegExp:gd,isFunction:ie,isStream:Yu,isURLSearchParams:Qu,isTypedArray:ud,isFileList:Ku,forEach:Dt,merge:Rn,extend:sd,trim:od,stripBOM:ad,inherits:rd,toFlatObject:cd,kindOf:Ci,kindOfTest:xe,endsWith:pd,toArray:ld,forEachEntry:dd,matchAll:md,isHTMLForm:fd,hasOwnProperty:qs,hasOwnProp:qs,reduceDescriptors:Vs,freezeMethods:xd,toObjectSet:vd,toCamelCase:hd,noop:bd,toFiniteNumber:yd,findKey:Js,global:Je,isContextDefined:Hs,isSpecCompliantForm:wd,toJSONObject:Sd,isAsyncFn:Ed,isThenable:Td,setImmediate:Ws,asap:kd,isIterable:Cd};function ft(t,e,i,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),i&&(this.config=i),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}u.inherits(ft,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:u.toJSONObject(this.config),code:this.code,status:this.status}}});var Gs=ft.prototype,Xs={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{Xs[t]={value:t}});Object.defineProperties(ft,Xs);Object.defineProperty(Gs,"isAxiosError",{value:!0});ft.from=(t,e,i,n,o,s)=>{let a=Object.create(Gs);return u.toFlatObject(t,a,function(p){return p!==Error.prototype},r=>r!=="isAxiosError"),ft.call(a,t.message,e,i,n,o),a.cause=t,a.name=t.name,s&&Object.assign(a,s),a};var w=ft;var Zr=C(Xn(),1),Bi=Zr.default;function Kn(t){return u.isPlainObject(t)||u.isArray(t)}function ec(t){return u.endsWith(t,"[]")?t.slice(0,-2):t}function Qr(t,e,i){return t?t.concat(e).map(function(o,s){return o=ec(o),!i&&s?"["+o+"]":o}).join(i?".":""):e}function df(t){return u.isArray(t)&&!t.some(Kn)}var mf=u.toFlatObject(u,{},null,function(e){return/^is[A-Z]/.test(e)});function ff(t,e,i){if(!u.isObject(t))throw new TypeError("target must be an object");e=e||new(Bi||FormData),i=u.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,y){return!u.isUndefined(y[h])});let n=i.metaTokens,o=i.visitor||c,s=i.dots,a=i.indexes,p=(i.Blob||typeof Blob<"u"&&Blob)&&u.isSpecCompliantForm(e);if(!u.isFunction(o))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(u.isDate(m))return m.toISOString();if(u.isBoolean(m))return m.toString();if(!p&&u.isBlob(m))throw new w("Blob is not supported. Use a Buffer instead.");return u.isArrayBuffer(m)||u.isTypedArray(m)?p&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function c(m,h,y){let P=m;if(m&&!y&&typeof m=="object"){if(u.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(u.isArray(m)&&df(m)||(u.isFileList(m)||u.endsWith(h,"[]"))&&(P=u.toArray(m)))return h=ec(h),P.forEach(function(O,q){!(u.isUndefined(O)||O===null)&&e.append(a===!0?Qr([h],q,s):a===null?h:h+"[]",l(O))}),!1}return Kn(m)?!0:(e.append(Qr(y,h,s),l(m)),!1)}let d=[],f=Object.assign(mf,{defaultVisitor:c,convertValue:l,isVisitable:Kn});function S(m,h){if(!u.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),u.forEach(m,function(P,F){(!(u.isUndefined(P)||P===null)&&o.call(e,P,u.isString(F)?F.trim():F,h,f))===!0&&S(P,h?h.concat(F):[F])}),d.pop()}}if(!u.isObject(t))throw new TypeError("data must be an object");return S(t),e}var Ue=ff;function tc(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function ic(t,e){this._pairs=[],t&&Ue(t,this,e)}var nc=ic.prototype;nc.append=function(e,i){this._pairs.push([e,i])};nc.toString=function(e){let i=e?function(n){return e.call(this,n,tc)}:tc;return this._pairs.map(function(o){return i(o[0])+"="+i(o[1])},"").join("&")};var oc=ic;function hf(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ve(t,e,i){if(!e)return t;let n=i&&i.encode||hf;u.isFunction(i)&&(i={serialize:i});let o=i&&i.serialize,s;if(o?s=o(e,i):s=u.isURLSearchParams(e)?e.toString():new oc(e,i).toString(n),s){let a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+s}return t}var Yn=class{constructor(){this.handlers=[]}use(e,i,n){return this.handlers.push({fulfilled:e,rejected:i,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){u.forEach(this.handlers,function(n){n!==null&&e(n)})}},Zn=Yn;var bt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var cc=C(require("crypto"),1);var sc=C(require("url"),1),ac=sc.default.URLSearchParams;var Qn="abcdefghijklmnopqrstuvwxyz",rc="0123456789",pc={DIGIT:rc,ALPHA:Qn,ALPHA_DIGIT:Qn+Qn.toUpperCase()+rc},gf=(t=16,e=pc.ALPHA_DIGIT)=>{let i="",{length:n}=e,o=new Uint32Array(t);cc.default.randomFillSync(o);for(let s=0;s<t;s++)i+=e[o[s]%n];return i},lc={isNode:!0,classes:{URLSearchParams:ac,FormData:Bi,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:pc,generateString:gf,protocols:["http","https","file","data"]};var io={};bu(io,{hasBrowserEnv:()=>to,hasStandardBrowserEnv:()=>xf,hasStandardBrowserWebWorkerEnv:()=>vf,navigator:()=>eo,origin:()=>bf});var to=typeof window<"u"&&typeof document<"u",eo=typeof navigator=="object"&&navigator||void 0,xf=to&&(!eo||["ReactNative","NativeScript","NS"].indexOf(eo.product)<0),vf=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",bf=to&&window.location.href||"http://localhost";var j={...io,...lc};function no(t,e){return Ue(t,new j.classes.URLSearchParams,{visitor:function(i,n,o,s){return j.isNode&&u.isBuffer(i)?(this.append(n,i.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...e})}function yf(t){return u.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function wf(t){let e={},i=Object.keys(t),n,o=i.length,s;for(n=0;n<o;n++)s=i[n],e[s]=t[s];return e}function Sf(t){function e(i,n,o,s){let a=i[s++];if(a==="__proto__")return!0;let r=Number.isFinite(+a),p=s>=i.length;return a=!a&&u.isArray(o)?o.length:a,p?(u.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!r):((!o[a]||!u.isObject(o[a]))&&(o[a]=[]),e(i,n,o[a],s)&&u.isArray(o[a])&&(o[a]=wf(o[a])),!r)}if(u.isFormData(t)&&u.isFunction(t.entries)){let i={};return u.forEachEntry(t,(n,o)=>{e(yf(n),o,i,0)}),i}return null}var Li=Sf;function Ef(t,e,i){if(u.isString(t))try{return(e||JSON.parse)(t),u.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(i||JSON.stringify)(t)}var oo={transitional:bt,adapter:["xhr","http","fetch"],transformRequest:[function(e,i){let n=i.getContentType()||"",o=n.indexOf("application/json")>-1,s=u.isObject(e);if(s&&u.isHTMLForm(e)&&(e=new FormData(e)),u.isFormData(e))return o?JSON.stringify(Li(e)):e;if(u.isArrayBuffer(e)||u.isBuffer(e)||u.isStream(e)||u.isFile(e)||u.isBlob(e)||u.isReadableStream(e))return e;if(u.isArrayBufferView(e))return e.buffer;if(u.isURLSearchParams(e))return i.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let r;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return no(e,this.formSerializer).toString();if((r=u.isFileList(e))||n.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return Ue(r?{"files[]":e}:e,p&&new p,this.formSerializer)}}return s||o?(i.setContentType("application/json",!1),Ef(e)):e}],transformResponse:[function(e){let i=this.transitional||oo.transitional,n=i&&i.forcedJSONParsing,o=this.responseType==="json";if(u.isResponse(e)||u.isReadableStream(e))return e;if(e&&u.isString(e)&&(n&&!this.responseType||o)){let a=!(i&&i.silentJSONParsing)&&o;try{return JSON.parse(e)}catch(r){if(a)throw r.name==="SyntaxError"?w.from(r,w.ERR_BAD_RESPONSE,this,null,this.response):r}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:j.classes.FormData,Blob:j.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};u.forEach(["delete","get","head","post","put","patch"],t=>{oo.headers[t]={}});var yt=oo;var Tf=u.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),uc=t=>{let e={},i,n,o;return t&&t.split(`
48
- `).forEach(function(a){o=a.indexOf(":"),i=a.substring(0,o).trim().toLowerCase(),n=a.substring(o+1).trim(),!(!i||e[i]&&Tf[i])&&(i==="set-cookie"?e[i]?e[i].push(n):e[i]=[n]:e[i]=e[i]?e[i]+", "+n:n)}),e};var dc=Symbol("internals");function Vt(t){return t&&String(t).trim().toLowerCase()}function qi(t){return t===!1||t==null?t:u.isArray(t)?t.map(qi):String(t)}function kf(t){let e=Object.create(null),i=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=i.exec(t);)e[n[1]]=n[2];return e}var Cf=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function so(t,e,i,n,o){if(u.isFunction(n))return n.call(this,e,i);if(o&&(e=i),!!u.isString(e)){if(u.isString(n))return e.indexOf(n)!==-1;if(u.isRegExp(n))return n.test(e)}}function Pf(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,i,n)=>i.toUpperCase()+n)}function Rf(t,e){let i=u.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+i,{value:function(o,s,a){return this[n].call(this,e,o,s,a)},configurable:!0})})}var wt=class{constructor(e){e&&this.set(e)}set(e,i,n){let o=this;function s(r,p,l){let c=Vt(p);if(!c)throw new Error("header name must be a non-empty string");let d=u.findKey(o,c);(!d||o[d]===void 0||l===!0||l===void 0&&o[d]!==!1)&&(o[d||p]=qi(r))}let a=(r,p)=>u.forEach(r,(l,c)=>s(l,c,p));if(u.isPlainObject(e)||e instanceof this.constructor)a(e,i);else if(u.isString(e)&&(e=e.trim())&&!Cf(e))a(uc(e),i);else if(u.isObject(e)&&u.isIterable(e)){let r={},p,l;for(let c of e){if(!u.isArray(c))throw TypeError("Object iterator must return a key-value pair");r[l=c[0]]=(p=r[l])?u.isArray(p)?[...p,c[1]]:[p,c[1]]:c[1]}a(r,i)}else e!=null&&s(i,e,n);return this}get(e,i){if(e=Vt(e),e){let n=u.findKey(this,e);if(n){let o=this[n];if(!i)return o;if(i===!0)return kf(o);if(u.isFunction(i))return i.call(this,o,n);if(u.isRegExp(i))return i.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,i){if(e=Vt(e),e){let n=u.findKey(this,e);return!!(n&&this[n]!==void 0&&(!i||so(this,this[n],n,i)))}return!1}delete(e,i){let n=this,o=!1;function s(a){if(a=Vt(a),a){let r=u.findKey(n,a);r&&(!i||so(n,n[r],r,i))&&(delete n[r],o=!0)}}return u.isArray(e)?e.forEach(s):s(e),o}clear(e){let i=Object.keys(this),n=i.length,o=!1;for(;n--;){let s=i[n];(!e||so(this,this[s],s,e,!0))&&(delete this[s],o=!0)}return o}normalize(e){let i=this,n={};return u.forEach(this,(o,s)=>{let a=u.findKey(n,s);if(a){i[a]=qi(o),delete i[s];return}let r=e?Pf(s):String(s).trim();r!==s&&delete i[s],i[r]=qi(o),n[r]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let i=Object.create(null);return u.forEach(this,(n,o)=>{n!=null&&n!==!1&&(i[o]=e&&u.isArray(n)?n.join(", "):n)}),i}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,i])=>e+": "+i).join(`
49
- `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...i){let n=new this(e);return i.forEach(o=>n.set(o)),n}static accessor(e){let n=(this[dc]=this[dc]={accessors:{}}).accessors,o=this.prototype;function s(a){let r=Vt(a);n[r]||(Rf(o,a),n[r]=!0)}return u.isArray(e)?e.forEach(s):s(e),this}};wt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);u.reduceDescriptors(wt.prototype,({value:t},e)=>{let i=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[i]=n}}});u.freezeMethods(wt);var D=wt;function Wt(t,e){let i=this||yt,n=e||i,o=D.from(n.headers),s=n.data;return u.forEach(t,function(r){s=r.call(i,s,o.normalize(),e?e.status:void 0)}),o.normalize(),s}function Gt(t){return!!(t&&t.__CANCEL__)}function mc(t,e,i){w.call(this,t??"canceled",w.ERR_CANCELED,e,i),this.name="CanceledError"}u.inherits(mc,w,{__CANCEL__:!0});var ce=mc;function Ee(t,e,i){let n=i.config.validateStatus;!i.status||!n||n(i.status)?t(i):e(new w("Request failed with status code "+i.status,[w.ERR_BAD_REQUEST,w.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))}function ao(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function ro(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function We(t,e,i){let n=!ao(e);return t&&(n||i==!1)?ro(t,e):e}var Kc=C(hc(),1),Yc=C(require("http"),1),Zc=C(require("https"),1),Qc=C(require("util"),1),ep=C(Fc(),1),_e=C(require("zlib"),1);var Ye="1.11.0";function Qt(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}var mh=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function ko(t,e,i){let n=i&&i.Blob||j.classes.Blob,o=Qt(t);if(e===void 0&&n&&(e=!0),o==="data"){t=o.length?t.slice(o.length+1):t;let s=mh.exec(t);if(!s)throw new w("Invalid URL",w.ERR_INVALID_URL);let a=s[1],r=s[2],p=s[3],l=Buffer.from(decodeURIComponent(p),r?"base64":"utf8");if(e){if(!n)throw new w("Blob is not supported",w.ERR_NOT_SUPPORT);return new n([l],{type:a})}return l}throw new w("Unsupported protocol "+o,w.ERR_NOT_SUPPORT)}var Qe=C(require("stream"),1);var Nc=C(require("stream"),1);var Co=Symbol("internals"),Po=class extends Nc.default.Transform{constructor(e){e=u.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,o)=>!u.isUndefined(o[n])),super({readableHighWaterMark:e.chunkSize});let i=this[Co]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",n=>{n==="progress"&&(i.isCaptured||(i.isCaptured=!0))})}_read(e){let i=this[Co];return i.onReadCallback&&i.onReadCallback(),super._read(e)}_transform(e,i,n){let o=this[Co],s=o.maxRate,a=this.readableHighWaterMark,r=o.timeWindow,p=1e3/r,l=s/p,c=o.minChunkSize!==!1?Math.max(o.minChunkSize,l*.01):0,d=(S,m)=>{let h=Buffer.byteLength(S);o.bytesSeen+=h,o.bytes+=h,o.isCaptured&&this.emit("progress",o.bytesSeen),this.push(S)?process.nextTick(m):o.onReadCallback=()=>{o.onReadCallback=null,process.nextTick(m)}},f=(S,m)=>{let h=Buffer.byteLength(S),y=null,P=a,F,O=0;if(s){let q=Date.now();(!o.ts||(O=q-o.ts)>=r)&&(o.ts=q,F=l-o.bytes,o.bytes=F<0?-F:0,O=0),F=l-o.bytes}if(s){if(F<=0)return setTimeout(()=>{m(null,S)},r-O);F<P&&(P=F)}P&&h>P&&h-P>c&&(y=S.subarray(P),S=S.subarray(0,P)),d(S,y?()=>{process.nextTick(m,null,y)}:m)};f(e,function S(m,h){if(m)return n(m);h?f(h,S):n(null)})}},Ro=Po;var tp=require("events");var Uc=C(require("util"),1),Bc=require("stream");var{asyncIterator:jc}=Symbol,fh=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[jc]?yield*t[jc]():yield t},Hi=fh;var hh=j.ALPHABET.ALPHA_DIGIT+"-_",ei=typeof TextEncoder=="function"?new TextEncoder:new Uc.default.TextEncoder,Ze=`\r
50
- `,gh=ei.encode(Ze),xh=2,Ao=class{constructor(e,i){let{escapeName:n}=this.constructor,o=u.isString(i),s=`Content-Disposition: form-data; name="${n(e)}"${!o&&i.name?`; filename="${n(i.name)}"`:""}${Ze}`;o?i=ei.encode(String(i).replace(/\r?\n|\r\n?/g,Ze)):s+=`Content-Type: ${i.type||"application/octet-stream"}${Ze}`,this.headers=ei.encode(s+Ze),this.contentLength=o?i.byteLength:i.size,this.size=this.headers.byteLength+this.contentLength+xh,this.name=e,this.value=i}async*encode(){yield this.headers;let{value:e}=this;u.isTypedArray(e)?yield e:yield*Hi(e),yield gh}static escapeName(e){return String(e).replace(/[\r\n"]/g,i=>({"\r":"%0D","\n":"%0A",'"':"%22"})[i])}},vh=(t,e,i)=>{let{tag:n="form-data-boundary",size:o=25,boundary:s=n+"-"+j.generateString(o,hh)}=i||{};if(!u.isFormData(t))throw TypeError("FormData instance required");if(s.length<1||s.length>70)throw Error("boundary must be 10-70 characters long");let a=ei.encode("--"+s+Ze),r=ei.encode("--"+s+"--"+Ze),p=r.byteLength,l=Array.from(t.entries()).map(([d,f])=>{let S=new Ao(d,f);return p+=S.size,S});p+=a.byteLength*l.length,p=u.toFiniteNumber(p);let c={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(p)&&(c["Content-Length"]=p),e&&e(c),Bc.Readable.from((async function*(){for(let d of l)yield a,yield*d.encode();yield r})())},Lc=vh;var qc=C(require("stream"),1),Oo=class extends qc.default.Transform{__transform(e,i,n){this.push(e),n()}_transform(e,i,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let o=Buffer.alloc(2);o[0]=120,o[1]=156,this.push(o,i)}this.__transform(e,i,n)}},Dc=Oo;var bh=(t,e)=>u.isAsyncFn(t)?function(...i){let n=i.pop();t.apply(this,i).then(o=>{try{e?n(null,...e(o)):n(null,o)}catch(s){n(s)}},n)}:t,Mc=bh;function yh(t,e){t=t||10;let i=new Array(t),n=new Array(t),o=0,s=0,a;return e=e!==void 0?e:1e3,function(p){let l=Date.now(),c=n[s];a||(a=l),i[o]=p,n[o]=l;let d=s,f=0;for(;d!==o;)f+=i[d++],d=d%t;if(o=(o+1)%t,o===s&&(s=(s+1)%t),l-a<e)return;let S=c&&l-c;return S?Math.round(f*1e3/S):void 0}}var zc=yh;function wh(t,e){let i=0,n=1e3/e,o,s,a=(l,c=Date.now())=>{i=c,o=null,s&&(clearTimeout(s),s=null),t(...l)};return[(...l)=>{let c=Date.now(),d=c-i;d>=n?a(l,c):(o=l,s||(s=setTimeout(()=>{s=null,a(o)},n-d)))},()=>o&&a(o)]}var Jc=wh;var Ie=(t,e,i=3)=>{let n=0,o=zc(50,250);return Jc(s=>{let a=s.loaded,r=s.lengthComputable?s.total:void 0,p=a-n,l=o(p),c=a<=r;n=a;let d={loaded:a,total:r,progress:r?a/r:void 0,bytes:p,rate:l||void 0,estimated:l&&r&&c?(r-a)/l:void 0,event:s,lengthComputable:r!=null,[e?"download":"upload"]:!0};t(d)},i)},Ct=(t,e)=>{let i=t!=null;return[n=>e[0]({lengthComputable:i,total:t,loaded:n}),e[1]]},Pt=t=>(...e)=>u.asap(()=>t(...e));var Hc={flush:_e.default.constants.Z_SYNC_FLUSH,finishFlush:_e.default.constants.Z_SYNC_FLUSH},Sh={flush:_e.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:_e.default.constants.BROTLI_OPERATION_FLUSH},Vc=u.isFunction(_e.default.createBrotliDecompress),{http:Eh,https:Th}=ep.default,kh=/https:?/,Wc=j.protocols.map(t=>t+":"),Gc=(t,[e,i])=>(t.on("end",i).on("error",i),e);function Ch(t,e){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e)}function ip(t,e,i){let n=e;if(!n&&n!==!1){let o=Kc.default.getProxyForUrl(i);o&&(n=new URL(o))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let s=Buffer.from(n.auth,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+s}t.headers.host=t.hostname+(t.port?":"+t.port:"");let o=n.hostname||n.host;t.hostname=o,t.host=o,t.port=n.port,t.path=i,n.protocol&&(t.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}t.beforeRedirects.proxy=function(s){ip(s,e,s.href)}}var Ph=typeof process<"u"&&u.kindOf(process)==="process",Rh=t=>new Promise((e,i)=>{let n,o,s=(p,l)=>{o||(o=!0,n&&n(p,l))},a=p=>{s(p),e(p)},r=p=>{s(p,!0),i(p)};t(a,r,p=>n=p).catch(r)}),Ah=({address:t,family:e})=>{if(!u.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},Xc=(t,e)=>Ah(u.isObject(t)?t:{address:t,family:e}),np=Ph&&function(e){return Rh(async function(n,o,s){let{data:a,lookup:r,family:p}=e,{responseType:l,responseEncoding:c}=e,d=e.method.toUpperCase(),f,S=!1,m;if(r){let A=Mc(r,R=>u.isArray(R)?R:[R]);r=(R,Z,De)=>{A(R,Z,(K,$e,xn)=>{if(K)return De(K);let we=u.isArray($e)?$e.map(ue=>Xc(ue)):[Xc($e,xn)];Z.all?De(K,we):De(K,we[0].address,we[0].family)})}}let h=new tp.EventEmitter,y=()=>{e.cancelToken&&e.cancelToken.unsubscribe(P),e.signal&&e.signal.removeEventListener("abort",P),h.removeAllListeners()};s((A,R)=>{f=!0,R&&(S=!0,y())});function P(A){h.emit("abort",!A||A.type?new ce(null,e,m):A)}h.once("abort",o),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(P),e.signal&&(e.signal.aborted?P():e.signal.addEventListener("abort",P)));let F=We(e.baseURL,e.url,e.allowAbsoluteUrls),O=new URL(F,j.hasBrowserEnv?j.origin:void 0),q=O.protocol||Wc[0];if(q==="data:"){let A;if(d!=="GET")return Ee(n,o,{status:405,statusText:"method not allowed",headers:{},config:e});try{A=ko(e.url,l==="blob",{Blob:e.env&&e.env.Blob})}catch(R){throw w.from(R,w.ERR_BAD_REQUEST,e)}return l==="text"?(A=A.toString(c),(!c||c==="utf8")&&(A=u.stripBOM(A))):l==="stream"&&(A=Qe.default.Readable.from(A)),Ee(n,o,{data:A,status:200,statusText:"OK",headers:new D,config:e})}if(Wc.indexOf(q)===-1)return o(new w("Unsupported protocol "+q,w.ERR_BAD_REQUEST,e));let U=D.from(e.headers).normalize();U.set("User-Agent","axios/"+Ye,!1);let{onUploadProgress:Y,onDownloadProgress:ae}=e,le=e.maxRate,Ce,bi;if(u.isSpecCompliantForm(a)){let A=U.getContentType(/boundary=([-_\w\d]{10,70})/i);a=Lc(a,R=>{U.set(R)},{tag:`axios-${Ye}-boundary`,boundary:A&&A[1]||void 0})}else if(u.isFormData(a)&&u.isFunction(a.getHeaders)){if(U.set(a.getHeaders()),!U.hasContentLength())try{let A=await Qc.default.promisify(a.getLength).call(a);Number.isFinite(A)&&A>=0&&U.setContentLength(A)}catch{}}else if(u.isBlob(a)||u.isFile(a))a.size&&U.setContentType(a.type||"application/octet-stream"),U.setContentLength(a.size||0),a=Qe.default.Readable.from(Hi(a));else if(a&&!u.isStream(a)){if(!Buffer.isBuffer(a))if(u.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(u.isString(a))a=Buffer.from(a,"utf-8");else return o(new w("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",w.ERR_BAD_REQUEST,e));if(U.setContentLength(a.length,!1),e.maxBodyLength>-1&&a.length>e.maxBodyLength)return o(new w("Request body larger than maxBodyLength limit",w.ERR_BAD_REQUEST,e))}let mu=u.toFiniteNumber(U.getContentLength());u.isArray(le)?(Ce=le[0],bi=le[1]):Ce=bi=le,a&&(Y||Ce)&&(u.isStream(a)||(a=Qe.default.Readable.from(a,{objectMode:!1})),a=Qe.default.pipeline([a,new Ro({maxRate:u.toFiniteNumber(Ce)})],u.noop),Y&&a.on("progress",Gc(a,Ct(mu,Ie(Pt(Y),!1,3)))));let jt;if(e.auth){let A=e.auth.username||"",R=e.auth.password||"";jt=A+":"+R}if(!jt&&O.username){let A=O.username,R=O.password;jt=A+":"+R}jt&&U.delete("authorization");let ws;try{ws=Ve(O.pathname+O.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(A){let R=new Error(A.message);return R.config=e,R.url=e.url,R.exists=!0,o(R)}U.set("Accept-Encoding","gzip, compress, deflate"+(Vc?", br":""),!1);let te={path:ws,method:d,headers:U.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:jt,protocol:q,family:p,beforeRedirect:Ch,beforeRedirects:{}};!u.isUndefined(r)&&(te.lookup=r),e.socketPath?te.socketPath=e.socketPath:(te.hostname=O.hostname.startsWith("[")?O.hostname.slice(1,-1):O.hostname,te.port=O.port,ip(te,e.proxy,q+"//"+O.hostname+(O.port?":"+O.port:"")+te.path));let yi,gn=kh.test(te.protocol);if(te.agent=gn?e.httpsAgent:e.httpAgent,e.transport?yi=e.transport:e.maxRedirects===0?yi=gn?Zc.default:Yc.default:(e.maxRedirects&&(te.maxRedirects=e.maxRedirects),e.beforeRedirect&&(te.beforeRedirects.config=e.beforeRedirect),yi=gn?Th:Eh),e.maxBodyLength>-1?te.maxBodyLength=e.maxBodyLength:te.maxBodyLength=1/0,e.insecureHTTPParser&&(te.insecureHTTPParser=e.insecureHTTPParser),m=yi.request(te,function(R){if(m.destroyed)return;let Z=[R],De=+R.headers["content-length"];if(ae||bi){let ue=new Ro({maxRate:u.toFiniteNumber(bi)});ae&&ue.on("progress",Gc(ue,Ct(De,Ie(Pt(ae),!0,3)))),Z.push(ue)}let K=R,$e=R.req||m;if(e.decompress!==!1&&R.headers["content-encoding"])switch((d==="HEAD"||R.statusCode===204)&&delete R.headers["content-encoding"],(R.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Z.push(_e.default.createUnzip(Hc)),delete R.headers["content-encoding"];break;case"deflate":Z.push(new Dc),Z.push(_e.default.createUnzip(Hc)),delete R.headers["content-encoding"];break;case"br":Vc&&(Z.push(_e.default.createBrotliDecompress(Sh)),delete R.headers["content-encoding"])}K=Z.length>1?Qe.default.pipeline(Z,u.noop):Z[0];let xn=Qe.default.finished(K,()=>{xn(),y()}),we={status:R.statusCode,statusText:R.statusMessage,headers:new D(R.headers),config:e,request:$e};if(l==="stream")we.data=K,Ee(n,o,we);else{let ue=[],Ss=0;K.on("data",function(Q){ue.push(Q),Ss+=Q.length,e.maxContentLength>-1&&Ss>e.maxContentLength&&(S=!0,K.destroy(),o(new w("maxContentLength size of "+e.maxContentLength+" exceeded",w.ERR_BAD_RESPONSE,e,$e)))}),K.on("aborted",function(){if(S)return;let Q=new w("stream has been aborted",w.ERR_BAD_RESPONSE,e,$e);K.destroy(Q),o(Q)}),K.on("error",function(Q){m.destroyed||o(w.from(Q,null,e,$e))}),K.on("end",function(){try{let Q=ue.length===1?ue[0]:Buffer.concat(ue);l!=="arraybuffer"&&(Q=Q.toString(c),(!c||c==="utf8")&&(Q=u.stripBOM(Q))),we.data=Q}catch(Q){return o(w.from(Q,null,e,we.request,we))}Ee(n,o,we)})}h.once("abort",ue=>{K.destroyed||(K.emit("error",ue),K.destroy())})}),h.once("abort",A=>{o(A),m.destroy(A)}),m.on("error",function(R){o(w.from(R,null,e,m))}),m.on("socket",function(R){R.setKeepAlive(!0,1e3*60)}),e.timeout){let A=parseInt(e.timeout,10);if(Number.isNaN(A)){o(new w("error trying to parse `config.timeout` to int",w.ERR_BAD_OPTION_VALUE,e,m));return}m.setTimeout(A,function(){if(f)return;let Z=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",De=e.transitional||bt;e.timeoutErrorMessage&&(Z=e.timeoutErrorMessage),o(new w(Z,De.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,e,m)),P()})}if(u.isStream(a)){let A=!1,R=!1;a.on("end",()=>{A=!0}),a.once("error",Z=>{R=!0,m.destroy(Z)}),a.on("close",()=>{!A&&!R&&P(new ce("Request stream has been aborted",e,m))}),a.pipe(m)}else m.end(a)})};var op=j.hasStandardBrowserEnv?((t,e)=>i=>(i=new URL(i,j.origin),t.protocol===i.protocol&&t.host===i.host&&(e||t.port===i.port)))(new URL(j.origin),j.navigator&&/(msie|trident)/i.test(j.navigator.userAgent)):()=>!0;var sp=j.hasStandardBrowserEnv?{write(t,e,i,n,o,s){let a=[t+"="+encodeURIComponent(e)];u.isNumber(i)&&a.push("expires="+new Date(i).toGMTString()),u.isString(n)&&a.push("path="+n),u.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){let e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var ap=t=>t instanceof D?{...t}:t;function be(t,e){e=e||{};let i={};function n(l,c,d,f){return u.isPlainObject(l)&&u.isPlainObject(c)?u.merge.call({caseless:f},l,c):u.isPlainObject(c)?u.merge({},c):u.isArray(c)?c.slice():c}function o(l,c,d,f){if(u.isUndefined(c)){if(!u.isUndefined(l))return n(void 0,l,d,f)}else return n(l,c,d,f)}function s(l,c){if(!u.isUndefined(c))return n(void 0,c)}function a(l,c){if(u.isUndefined(c)){if(!u.isUndefined(l))return n(void 0,l)}else return n(void 0,c)}function r(l,c,d){if(d in e)return n(l,c);if(d in t)return n(void 0,l)}let p={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:r,headers:(l,c,d)=>o(ap(l),ap(c),d,!0)};return u.forEach(Object.keys({...t,...e}),function(c){let d=p[c]||o,f=d(t[c],e[c],c);u.isUndefined(f)&&d!==r||(i[c]=f)}),i}var Vi=t=>{let e=be({},t),{data:i,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:r}=e;e.headers=a=D.from(a),e.url=Ve(We(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),r&&a.set("Authorization","Basic "+btoa((r.username||"")+":"+(r.password?unescape(encodeURIComponent(r.password)):"")));let p;if(u.isFormData(i)){if(j.hasStandardBrowserEnv||j.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((p=a.getContentType())!==!1){let[l,...c]=p?p.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([l||"multipart/form-data",...c].join("; "))}}if(j.hasStandardBrowserEnv&&(n&&u.isFunction(n)&&(n=n(e)),n||n!==!1&&op(e.url))){let l=o&&s&&sp.read(s);l&&a.set(o,l)}return e};var Oh=typeof XMLHttpRequest<"u",rp=Oh&&function(t){return new Promise(function(i,n){let o=Vi(t),s=o.data,a=D.from(o.headers).normalize(),{responseType:r,onUploadProgress:p,onDownloadProgress:l}=o,c,d,f,S,m;function h(){S&&S(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let y=new XMLHttpRequest;y.open(o.method.toUpperCase(),o.url,!0),y.timeout=o.timeout;function P(){if(!y)return;let O=D.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),U={data:!r||r==="text"||r==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:O,config:t,request:y};Ee(function(ae){i(ae),h()},function(ae){n(ae),h()},U),y=null}"onloadend"in y?y.onloadend=P:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(P)},y.onabort=function(){y&&(n(new w("Request aborted",w.ECONNABORTED,t,y)),y=null)},y.onerror=function(){n(new w("Network Error",w.ERR_NETWORK,t,y)),y=null},y.ontimeout=function(){let q=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",U=o.transitional||bt;o.timeoutErrorMessage&&(q=o.timeoutErrorMessage),n(new w(q,U.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,t,y)),y=null},s===void 0&&a.setContentType(null),"setRequestHeader"in y&&u.forEach(a.toJSON(),function(q,U){y.setRequestHeader(U,q)}),u.isUndefined(o.withCredentials)||(y.withCredentials=!!o.withCredentials),r&&r!=="json"&&(y.responseType=o.responseType),l&&([f,m]=Ie(l,!0),y.addEventListener("progress",f)),p&&y.upload&&([d,S]=Ie(p),y.upload.addEventListener("progress",d),y.upload.addEventListener("loadend",S)),(o.cancelToken||o.signal)&&(c=O=>{y&&(n(!O||O.type?new ce(null,t,y):O),y.abort(),y=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));let F=Qt(o.url);if(F&&j.protocols.indexOf(F)===-1){n(new w("Unsupported protocol "+F+":",w.ERR_BAD_REQUEST,t));return}y.send(s||null)})};var Ih=(t,e)=>{let{length:i}=t=t?t.filter(Boolean):[];if(e||i){let n=new AbortController,o,s=function(l){if(!o){o=!0,r();let c=l instanceof Error?l:this.reason;n.abort(c instanceof w?c:new ce(c instanceof Error?c.message:c))}},a=e&&setTimeout(()=>{a=null,s(new w(`timeout ${e} of ms exceeded`,w.ETIMEDOUT))},e),r=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),t=null)};t.forEach(l=>l.addEventListener("abort",s));let{signal:p}=n;return p.unsubscribe=()=>u.asap(r),p}},cp=Ih;var _h=function*(t,e){let i=t.byteLength;if(!e||i<e){yield t;return}let n=0,o;for(;n<i;)o=n+e,yield t.slice(n,o),n=o},$h=async function*(t,e){for await(let i of Fh(t))yield*_h(i,e)},Fh=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}let e=t.getReader();try{for(;;){let{done:i,value:n}=await e.read();if(i)break;yield n}}finally{await e.cancel()}},Io=(t,e,i,n)=>{let o=$h(t,e),s=0,a,r=p=>{a||(a=!0,n&&n(p))};return new ReadableStream({async pull(p){try{let{done:l,value:c}=await o.next();if(l){r(),p.close();return}let d=c.byteLength;if(i){let f=s+=d;i(f)}p.enqueue(new Uint8Array(c))}catch(l){throw r(l),l}},cancel(p){return r(p),o.return()}},{highWaterMark:2})};var Gi=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",lp=Gi&&typeof ReadableStream=="function",Nh=Gi&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),up=(t,...e)=>{try{return!!t(...e)}catch{return!1}},jh=lp&&up(()=>{let t=!1,e=new Request(j.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),pp=64*1024,_o=lp&&up(()=>u.isReadableStream(new Response("").body)),Wi={stream:_o&&(t=>t.body)};Gi&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Wi[e]&&(Wi[e]=u.isFunction(t[e])?i=>i[e]():(i,n)=>{throw new w(`Response type '${e}' is not supported`,w.ERR_NOT_SUPPORT,n)})})})(new Response);var Uh=async t=>{if(t==null)return 0;if(u.isBlob(t))return t.size;if(u.isSpecCompliantForm(t))return(await new Request(j.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(u.isArrayBufferView(t)||u.isArrayBuffer(t))return t.byteLength;if(u.isURLSearchParams(t)&&(t=t+""),u.isString(t))return(await Nh(t)).byteLength},Bh=async(t,e)=>{let i=u.toFiniteNumber(t.getContentLength());return i??Uh(e)},dp=Gi&&(async t=>{let{url:e,method:i,data:n,signal:o,cancelToken:s,timeout:a,onDownloadProgress:r,onUploadProgress:p,responseType:l,headers:c,withCredentials:d="same-origin",fetchOptions:f}=Vi(t);l=l?(l+"").toLowerCase():"text";let S=cp([o,s&&s.toAbortSignal()],a),m,h=S&&S.unsubscribe&&(()=>{S.unsubscribe()}),y;try{if(p&&jh&&i!=="get"&&i!=="head"&&(y=await Bh(c,n))!==0){let U=new Request(e,{method:"POST",body:n,duplex:"half"}),Y;if(u.isFormData(n)&&(Y=U.headers.get("content-type"))&&c.setContentType(Y),U.body){let[ae,le]=Ct(y,Ie(Pt(p)));n=Io(U.body,pp,ae,le)}}u.isString(d)||(d=d?"include":"omit");let P="credentials"in Request.prototype;m=new Request(e,{...f,signal:S,method:i.toUpperCase(),headers:c.normalize().toJSON(),body:n,duplex:"half",credentials:P?d:void 0});let F=await fetch(m,f),O=_o&&(l==="stream"||l==="response");if(_o&&(r||O&&h)){let U={};["status","statusText","headers"].forEach(Ce=>{U[Ce]=F[Ce]});let Y=u.toFiniteNumber(F.headers.get("content-length")),[ae,le]=r&&Ct(Y,Ie(Pt(r),!0))||[];F=new Response(Io(F.body,pp,ae,()=>{le&&le(),h&&h()}),U)}l=l||"text";let q=await Wi[u.findKey(Wi,l)||"text"](F,t);return!O&&h&&h(),await new Promise((U,Y)=>{Ee(U,Y,{data:q,headers:D.from(F.headers),status:F.status,statusText:F.statusText,config:t,request:m})})}catch(P){throw h&&h(),P&&P.name==="TypeError"&&/Load failed|fetch/i.test(P.message)?Object.assign(new w("Network Error",w.ERR_NETWORK,t,m),{cause:P.cause||P}):w.from(P,P&&P.code,t,m)}});var $o={http:np,xhr:rp,fetch:dp};u.forEach($o,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var mp=t=>`- ${t}`,Lh=t=>u.isFunction(t)||t===null||t===!1,Xi={getAdapter:t=>{t=u.isArray(t)?t:[t];let{length:e}=t,i,n,o={};for(let s=0;s<e;s++){i=t[s];let a;if(n=i,!Lh(i)&&(n=$o[(a=String(i)).toLowerCase()],n===void 0))throw new w(`Unknown adapter '${a}'`);if(n)break;o[a||"#"+s]=n}if(!n){let s=Object.entries(o).map(([r,p])=>`adapter ${r} `+(p===!1?"is not supported by the environment":"is not available in the build")),a=e?s.length>1?`since :
51
- `+s.map(mp).join(`
52
- `):" "+mp(s[0]):"as no adapter specified";throw new w("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:$o};function Fo(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ce(null,t)}function Ki(t){return Fo(t),t.headers=D.from(t.headers),t.data=Wt.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Xi.getAdapter(t.adapter||yt.adapter)(t).then(function(n){return Fo(t),n.data=Wt.call(t,t.transformResponse,n),n.headers=D.from(n.headers),n},function(n){return Gt(n)||(Fo(t),n&&n.response&&(n.response.data=Wt.call(t,t.transformResponse,n.response),n.response.headers=D.from(n.response.headers))),Promise.reject(n)})}var Yi={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Yi[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var fp={};Yi.transitional=function(e,i,n){function o(s,a){return"[Axios v"+Ye+"] Transitional option '"+s+"'"+a+(n?". "+n:"")}return(s,a,r)=>{if(e===!1)throw new w(o(a," has been removed"+(i?" in "+i:"")),w.ERR_DEPRECATED);return i&&!fp[a]&&(fp[a]=!0,console.warn(o(a," has been deprecated since v"+i+" and will be removed in the near future"))),e?e(s,a,r):!0}};Yi.spelling=function(e){return(i,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function qh(t,e,i){if(typeof t!="object")throw new w("options must be an object",w.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),o=n.length;for(;o-- >0;){let s=n[o],a=e[s];if(a){let r=t[s],p=r===void 0||a(r,s,t);if(p!==!0)throw new w("option "+s+" must be "+p,w.ERR_BAD_OPTION_VALUE);continue}if(i!==!0)throw new w("Unknown option "+s,w.ERR_BAD_OPTION)}}var ti={assertOptions:qh,validators:Yi};var Te=ti.validators,Rt=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Zn,response:new Zn}}async request(e,i){try{return await this._request(e,i)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;let s=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=`
53
- `+s):n.stack=s}catch{}}throw n}}_request(e,i){typeof e=="string"?(i=i||{},i.url=e):i=e||{},i=be(this.defaults,i);let{transitional:n,paramsSerializer:o,headers:s}=i;n!==void 0&&ti.assertOptions(n,{silentJSONParsing:Te.transitional(Te.boolean),forcedJSONParsing:Te.transitional(Te.boolean),clarifyTimeoutError:Te.transitional(Te.boolean)},!1),o!=null&&(u.isFunction(o)?i.paramsSerializer={serialize:o}:ti.assertOptions(o,{encode:Te.function,serialize:Te.function},!0)),i.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?i.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:i.allowAbsoluteUrls=!0),ti.assertOptions(i,{baseUrl:Te.spelling("baseURL"),withXsrfToken:Te.spelling("withXSRFToken")},!0),i.method=(i.method||this.defaults.method||"get").toLowerCase();let a=s&&u.merge(s.common,s[i.method]);s&&u.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m]}),i.headers=D.concat(a,s);let r=[],p=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(i)===!1||(p=p&&h.synchronous,r.unshift(h.fulfilled,h.rejected))});let l=[];this.interceptors.response.forEach(function(h){l.push(h.fulfilled,h.rejected)});let c,d=0,f;if(!p){let m=[Ki.bind(this),void 0];for(m.unshift(...r),m.push(...l),f=m.length,c=Promise.resolve(i);d<f;)c=c.then(m[d++],m[d++]);return c}f=r.length;let S=i;for(d=0;d<f;){let m=r[d++],h=r[d++];try{S=m(S)}catch(y){h.call(this,y);break}}try{c=Ki.call(this,S)}catch(m){return Promise.reject(m)}for(d=0,f=l.length;d<f;)c=c.then(l[d++],l[d++]);return c}getUri(e){e=be(this.defaults,e);let i=We(e.baseURL,e.url,e.allowAbsoluteUrls);return Ve(i,e.params,e.paramsSerializer)}};u.forEach(["delete","get","head","options"],function(e){Rt.prototype[e]=function(i,n){return this.request(be(n||{},{method:e,url:i,data:(n||{}).data}))}});u.forEach(["post","put","patch"],function(e){function i(n){return function(s,a,r){return this.request(be(r||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}Rt.prototype[e]=i(),Rt.prototype[e+"Form"]=i(!0)});var ii=Rt;var No=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let i;this.promise=new Promise(function(s){i=s});let n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s,a=new Promise(r=>{n.subscribe(r),s=r}).then(o);return a.cancel=function(){n.unsubscribe(s)},a},e(function(s,a,r){n.reason||(n.reason=new ce(s,a,r),i(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let i=this._listeners.indexOf(e);i!==-1&&this._listeners.splice(i,1)}toAbortSignal(){let e=new AbortController,i=n=>{e.abort(n)};return this.subscribe(i),e.signal.unsubscribe=()=>this.unsubscribe(i),e.signal}static source(){let e;return{token:new t(function(o){e=o}),cancel:e}}},hp=No;function jo(t){return function(i){return t.apply(null,i)}}function Uo(t){return u.isObject(t)&&t.isAxiosError===!0}var Bo={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bo).forEach(([t,e])=>{Bo[e]=t});var gp=Bo;function xp(t){let e=new ii(t),i=Ut(ii.prototype.request,e);return u.extend(i,ii.prototype,e,{allOwnKeys:!0}),u.extend(i,e,null,{allOwnKeys:!0}),i.create=function(o){return xp(be(t,o))},i}var J=xp(yt);J.Axios=ii;J.CanceledError=ce;J.CancelToken=hp;J.isCancel=Gt;J.VERSION=Ye;J.toFormData=Ue;J.AxiosError=w;J.Cancel=J.CanceledError;J.all=function(e){return Promise.all(e)};J.spread=jo;J.isAxiosError=Uo;J.mergeConfig=be;J.AxiosHeaders=D;J.formToJSON=t=>Li(u.isHTMLForm(t)?new FormData(t):t);J.getAdapter=Xi.getAdapter;J.HttpStatusCode=gp;J.default=J;var Zi=J;var{Axios:qw,AxiosError:Dw,CanceledError:Mw,isCancel:zw,CancelToken:Jw,VERSION:Hw,all:Vw,Cancel:Ww,isAxiosError:Gw,spread:Xw,toFormData:Kw,AxiosHeaders:Yw,HttpStatusCode:Zw,formToJSON:Qw,getAdapter:eS,mergeConfig:tS}=Zi;var Dh={validateStatus:()=>!0};function Lo(t={}){return Zi.create({...Dh,...t})}var B=Lo();function $(t,e,i){if(t.status!==e){let n=t.data,o=n?` - ${typeof n=="string"?n:JSON.stringify(n)}`:"";throw new I(`Failed to ${i}: ${t.status} ${t.statusText}${o}`,t.status)}}var vp=require("fs"),bp=t=>{if(process.env.LOG_FILE){let e=process.env.LOG_FILE,o=`[${new Date().toISOString()}] INFO ${t}`;(0,vp.appendFileSync)(e,o+`
54
- `)}console.error(t)},k=t=>{bp(t)},g=t=>{bp(t)};var Qi=C(require("fs")),yp=C(require("path")),Le=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async startRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/recording`,n=await B.post(i,{},{headers:this.headers});return $(n,201,"start recording"),k(`Successfully started recording for device ${e}`),n.data}catch(i){throw g(`Error starting recording: ${i}`),i}}async stopRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/recording`,n=await B.delete(i,{headers:this.headers});return $(n,200,"stop recording"),k(`Successfully stopped recording for device ${e}`),n.data}catch(i){throw g(`Error stopping recording: ${i}`),i}}async downloadRecording(e,i){try{let n=`${this.baseUrl}${this.apiPath}/recording/${e}`,o=await B.get(n,{headers:{Authorization:`Bearer ${this.config.apiKey}`},responseType:"arraybuffer"});if($(o,200,"download recording"),i){let s=yp.default.dirname(i);return Qi.default.existsSync(s)||Qi.default.mkdirSync(s,{recursive:!0}),Qi.default.writeFileSync(i,o.data),k(`Successfully saved recording to ${i}`),i}else return k(`Successfully downloaded recording ${e}`),o.data}catch(n){throw g(`Error downloading recording: ${n}`),n}}};var At=["ios","android"];function en(t){return At.includes(t)}var v=class extends Error{constructor(i,n){super(i);this.statusCode=n;this.name="DaemonError"}};var Go=C(require("fs")),$p=C(require("path"));var _p=require("webdriverio");var wp=`
45
+ `}async function dd(t,e,i){let n=await new Ee(t).getDeviceInfo(e),o=n.desiredCapabilities?.platformName??n.platform,s=n.desiredCapabilities?.automationName??(o.toLowerCase().includes("ios")?"XCUITest":"UiAutomator2"),a={"appium:platformName":o,"appium:udid":e,"appium:automationName":s,"mobitru:keepDevice":!0,"mobitru:appiumVersion":"2"};return t.wid&&t.wid!=="0"&&(a["mobitru:wid"]=t.wid),{...a,...i??{}}}async function Xs(t){if(!ce.default.existsSync(t.scriptPath))throw new Error(`script not found: ${t.scriptPath}`);let e=ce.default.readFileSync(t.scriptPath,"utf8");await ld();let i=await dd(t.deviceFarm,t.serial,t.capabilities),n=ud({appiumHost:t.deviceFarm.baseUrl,slug:t.deviceFarm.slug,apiKey:t.deviceFarm.apiKey,capabilities:i,userScript:e}),o=Ie.default.join(Se,id(t.session));ce.default.writeFileSync(o,n);let s=Date.now(),a=cd(t.artifactDir,t.serial,s);ce.default.mkdirSync(Ie.default.dirname(a),{recursive:!0});let r=ce.default.openSync(a,"w"),p=t.timeoutMs??ed,l=(0,Ri.spawn)(sd,["--no-install","mocha",o,"--timeout",String(td)],{cwd:Se,stdio:["ignore",r,r],env:{...process.env}}),c={scriptPath:t.scriptPath,serial:t.serial,status:"running",startedAt:s,logPath:a,child:l},d=!1,f=null,w=setTimeout(()=>{_e(c)&&(d=!0,l.kill("SIGTERM"),f=setTimeout(()=>l.kill("SIGKILL"),Ws))},p);return l.on("exit",(m,h)=>{try{ce.default.closeSync(r)}catch{}try{ce.default.unlinkSync(o)}catch{}clearTimeout(w),f&&clearTimeout(f),c.durationMs=Date.now()-c.startedAt,m!==null&&(c.exitCode=m),_e(c)&&(d?c.status="timed-out":c.cancelRequested||h==="SIGTERM"||h==="SIGKILL"?c.status="cancelled":m===0?c.status="succeeded":c.status="failed")}),c}function mt(t){return _e(t)?(t.cancelRequested=!0,new Promise(e=>{let i=setTimeout(()=>{_e(t)&&t.child.kill("SIGKILL")},Ws);t.child.once("exit",()=>{clearTimeout(i),e()}),t.child.kill("SIGTERM")})):Promise.resolve()}function Ve(t){return{scriptPath:t.scriptPath,serial:t.serial,status:t.status,startedAt:t.startedAt,durationMs:_e(t)?Date.now()-t.startedAt:t.durationMs,exitCode:t.exitCode,logPath:t.logPath}}function md(t){let e=process.env.MOBITRU_CLI_DAEMON_LOG_LEVEL;if(!e)return!1;let i=Ns(t);return $e.default.mkdirSync(Zs.default.dirname(i),{recursive:!0}),{level:e,stream:$e.default.createWriteStream(i,{flags:"a"})}}async function Qs(t,e,i){process.stderr.on("error",()=>{}),process.stdout.on("error",()=>{}),process.on("uncaughtException",r=>{if(r.code!=="EPIPE")throw r}),process.env.APPIUM_REQUEST_TIMEOUT_MS||(process.env.APPIUM_REQUEST_TIMEOUT_MS="60000");let n;try{n=Pn().config}catch(r){throw r instanceof Lt&&(process.stderr.write(`${r.message}
46
+ `),process.exit(1)),r}let o=He(e);$e.default.existsSync(o)||$e.default.mkdirSync(o,{recursive:!0}),process.platform!=="win32"&&$e.default.existsSync(t)&&$e.default.unlinkSync(t);let s=(0,Ys.default)({logger:md(e)});s.decorate("deviceFarm",n),s.decorate("state",{activeDevice:null,sessionType:"native",robot:null,snapshotRefs:null,recordingActive:!1,currentJob:null}),s.decorate("commandLock",new ki),s.log.info({socketPath:t,pid:process.pid},"daemon starting");let a=new Set(["/stop","/status"]);s.addHook("onRequest",async(r,p)=>{if(!a.has(r.url)){if(!s.commandLock.tryAcquire()){p.code(429),await p.send({error:"another command is in flight; CLI calls must be sequential"});return}r.holdsLock=!0}}),s.addHook("onResponse",async r=>{r.holdsLock&&s.commandLock.release()}),i(s),s.addHook("onClose",async r=>{r.state.currentJob&&await mt(r.state.currentJob),process.platform!=="win32"&&$e.default.existsSync(t)&&$e.default.unlinkSync(t)}),s.setErrorHandler((r,p,l)=>{let c=r instanceof I||r.statusCode&&r.statusCode<500;l.code(c?r.statusCode:502).send({error:r.message})}),process.on("SIGTERM",async()=>{await s.close(),process.exit(0)}),process.on("SIGINT",async()=>{await s.close(),process.exit(0)}),await s.listen({path:t}),process.stdout.write(`ready
47
+ `)}var ea=C(require("http"));function g(t,e,i,n){return new Promise((o,s)=>{let a=ea.default.request({socketPath:t,method:e,path:i,headers:n?{"Content-Type":"application/json"}:{}},r=>{let p=[];r.on("data",l=>p.push(l)),r.on("end",()=>{let l=Buffer.concat(p).toString("utf8");if(r.statusCode&&r.statusCode>=400){let c=l||"daemon request failed";try{let d=JSON.parse(l);d&&typeof d.error=="string"&&(c=d.error)}catch{}s(new Error(c));return}try{o(JSON.parse(l))}catch{o(l)}})});a.on("error",s),n&&a.write(JSON.stringify(n)),a.end()})}function qt(t,e){return function(){return t.apply(e,arguments)}}var{toString:fd}=Object.prototype,{getPrototypeOf:$n}=Object,{iterator:Oi,toStringTag:ia}=Symbol,Ii=(t=>e=>{let i=fd.call(e);return t[i]||(t[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),xe=t=>(t=t.toLowerCase(),e=>Ii(e)===t),_i=t=>e=>typeof e===t,{isArray:ft}=Array,Dt=_i("undefined");function Mt(t){return t!==null&&!Dt(t)&&t.constructor!==null&&!Dt(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var na=xe("ArrayBuffer");function hd(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&na(t.buffer),e}var gd=_i("string"),ne=_i("function"),oa=_i("number"),zt=t=>t!==null&&typeof t=="object",xd=t=>t===!0||t===!1,Ai=t=>{if(Ii(t)!=="object")return!1;let e=$n(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ia in t)&&!(Oi in t)},vd=t=>{if(!zt(t)||Mt(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},bd=xe("Date"),yd=xe("File"),wd=xe("Blob"),Sd=xe("FileList"),Ed=t=>zt(t)&&ne(t.pipe),Td=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||ne(t.append)&&((e=Ii(t))==="formdata"||e==="object"&&ne(t.toString)&&t.toString()==="[object FormData]"))},kd=xe("URLSearchParams"),[Cd,Pd,Rd,Ad]=["ReadableStream","Request","Response","Headers"].map(xe),Od=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Jt(t,e,{allOwnKeys:i=!1}={}){if(t===null||typeof t>"u")return;let n,o;if(typeof t!="object"&&(t=[t]),ft(t))for(n=0,o=t.length;n<o;n++)e.call(null,t[n],n,t);else{if(Mt(t))return;let s=i?Object.getOwnPropertyNames(t):Object.keys(t),a=s.length,r;for(n=0;n<a;n++)r=s[n],e.call(null,t[r],r,t)}}function sa(t,e){if(Mt(t))return null;e=e.toLowerCase();let i=Object.keys(t),n=i.length,o;for(;n-- >0;)if(o=i[n],e===o.toLowerCase())return o;return null}var We=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,aa=t=>!Dt(t)&&t!==We;function _n(){let{caseless:t}=aa(this)&&this||{},e={},i=(n,o)=>{let s=t&&sa(e,o)||o;Ai(e[s])&&Ai(n)?e[s]=_n(e[s],n):Ai(n)?e[s]=_n({},n):ft(n)?e[s]=n.slice():e[s]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&Jt(arguments[n],i);return e}var Id=(t,e,i,{allOwnKeys:n}={})=>(Jt(e,(o,s)=>{i&&ne(o)?t[s]=qt(o,i):t[s]=o},{allOwnKeys:n}),t),_d=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),$d=(t,e,i,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),i&&Object.assign(t.prototype,i)},Nd=(t,e,i,n)=>{let o,s,a,r={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),s=o.length;s-- >0;)a=o[s],(!n||n(a,t,e))&&!r[a]&&(e[a]=t[a],r[a]=!0);t=i!==!1&&$n(t)}while(t&&(!i||i(t,e))&&t!==Object.prototype);return e},Fd=(t,e,i)=>{t=String(t),(i===void 0||i>t.length)&&(i=t.length),i-=e.length;let n=t.indexOf(e,i);return n!==-1&&n===i},jd=t=>{if(!t)return null;if(ft(t))return t;let e=t.length;if(!oa(e))return null;let i=new Array(e);for(;e-- >0;)i[e]=t[e];return i},Ud=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&$n(Uint8Array)),Bd=(t,e)=>{let n=(t&&t[Oi]).call(t),o;for(;(o=n.next())&&!o.done;){let s=o.value;e.call(t,s[0],s[1])}},Ld=(t,e)=>{let i,n=[];for(;(i=t.exec(e))!==null;)n.push(i);return n},qd=xe("HTMLFormElement"),Dd=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(i,n,o){return n.toUpperCase()+o}),ta=(({hasOwnProperty:t})=>(e,i)=>t.call(e,i))(Object.prototype),Md=xe("RegExp"),ra=(t,e)=>{let i=Object.getOwnPropertyDescriptors(t),n={};Jt(i,(o,s)=>{let a;(a=e(o,s,t))!==!1&&(n[s]=a||o)}),Object.defineProperties(t,n)},zd=t=>{ra(t,(e,i)=>{if(ne(t)&&["arguments","caller","callee"].indexOf(i)!==-1)return!1;let n=t[i];if(ne(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")})}})},Jd=(t,e)=>{let i={},n=o=>{o.forEach(s=>{i[s]=!0})};return ft(t)?n(t):n(String(t).split(e)),i},Hd=()=>{},Vd=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Wd(t){return!!(t&&ne(t.append)&&t[ia]==="FormData"&&t[Oi])}var Gd=t=>{let e=new Array(10),i=(n,o)=>{if(zt(n)){if(e.indexOf(n)>=0)return;if(Mt(n))return n;if(!("toJSON"in n)){e[o]=n;let s=ft(n)?[]:{};return Jt(n,(a,r)=>{let p=i(a,o+1);!Dt(p)&&(s[r]=p)}),e[o]=void 0,s}}return n};return i(t,0)},Kd=xe("AsyncFunction"),Xd=t=>t&&(zt(t)||ne(t))&&ne(t.then)&&ne(t.catch),ca=((t,e)=>t?setImmediate:e?((i,n)=>(We.addEventListener("message",({source:o,data:s})=>{o===We&&s===i&&n.length&&n.shift()()},!1),o=>{n.push(o),We.postMessage(i,"*")}))(`axios@${Math.random()}`,[]):i=>setTimeout(i))(typeof setImmediate=="function",ne(We.postMessage)),Yd=typeof queueMicrotask<"u"?queueMicrotask.bind(We):typeof process<"u"&&process.nextTick||ca,Zd=t=>t!=null&&ne(t[Oi]),u={isArray:ft,isArrayBuffer:na,isBuffer:Mt,isFormData:Td,isArrayBufferView:hd,isString:gd,isNumber:oa,isBoolean:xd,isObject:zt,isPlainObject:Ai,isEmptyObject:vd,isReadableStream:Cd,isRequest:Pd,isResponse:Rd,isHeaders:Ad,isUndefined:Dt,isDate:bd,isFile:yd,isBlob:wd,isRegExp:Md,isFunction:ne,isStream:Ed,isURLSearchParams:kd,isTypedArray:Ud,isFileList:Sd,forEach:Jt,merge:_n,extend:Id,trim:Od,stripBOM:_d,inherits:$d,toFlatObject:Nd,kindOf:Ii,kindOfTest:xe,endsWith:Fd,toArray:jd,forEachEntry:Bd,matchAll:Ld,isHTMLForm:qd,hasOwnProperty:ta,hasOwnProp:ta,reduceDescriptors:ra,freezeMethods:zd,toObjectSet:Jd,toCamelCase:Dd,noop:Hd,toFiniteNumber:Vd,findKey:sa,global:We,isContextDefined:aa,isSpecCompliantForm:Wd,toJSONObject:Gd,isAsyncFn:Kd,isThenable:Xd,setImmediate:ca,asap:Yd,isIterable:Zd};function ht(t,e,i,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),i&&(this.config=i),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}u.inherits(ht,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:u.toJSONObject(this.config),code:this.code,status:this.status}}});var pa=ht.prototype,la={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{la[t]={value:t}});Object.defineProperties(ht,la);Object.defineProperty(pa,"isAxiosError",{value:!0});ht.from=(t,e,i,n,o,s)=>{let a=Object.create(pa);return u.toFlatObject(t,a,function(p){return p!==Error.prototype},r=>r!=="isAxiosError"),ht.call(a,t.message,e,i,n,o),a.cause=t,a.name=t.name,s&&Object.assign(a,s),a};var S=ht;var mc=C(Qn(),1),zi=mc.default;function eo(t){return u.isPlainObject(t)||u.isArray(t)}function hc(t){return u.endsWith(t,"[]")?t.slice(0,-2):t}function fc(t,e,i){return t?t.concat(e).map(function(o,s){return o=hc(o),!i&&s?"["+o+"]":o}).join(i?".":""):e}function Bf(t){return u.isArray(t)&&!t.some(eo)}var Lf=u.toFlatObject(u,{},null,function(e){return/^is[A-Z]/.test(e)});function qf(t,e,i){if(!u.isObject(t))throw new TypeError("target must be an object");e=e||new(zi||FormData),i=u.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,y){return!u.isUndefined(y[h])});let n=i.metaTokens,o=i.visitor||c,s=i.dots,a=i.indexes,p=(i.Blob||typeof Blob<"u"&&Blob)&&u.isSpecCompliantForm(e);if(!u.isFunction(o))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(u.isDate(m))return m.toISOString();if(u.isBoolean(m))return m.toString();if(!p&&u.isBlob(m))throw new S("Blob is not supported. Use a Buffer instead.");return u.isArrayBuffer(m)||u.isTypedArray(m)?p&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function c(m,h,y){let P=m;if(m&&!y&&typeof m=="object"){if(u.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(u.isArray(m)&&Bf(m)||(u.isFileList(m)||u.endsWith(h,"[]"))&&(P=u.toArray(m)))return h=hc(h),P.forEach(function(O,q){!(u.isUndefined(O)||O===null)&&e.append(a===!0?fc([h],q,s):a===null?h:h+"[]",l(O))}),!1}return eo(m)?!0:(e.append(fc(y,h,s),l(m)),!1)}let d=[],f=Object.assign(Lf,{defaultVisitor:c,convertValue:l,isVisitable:eo});function w(m,h){if(!u.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),u.forEach(m,function(P,N){(!(u.isUndefined(P)||P===null)&&o.call(e,P,u.isString(N)?N.trim():N,h,f))===!0&&w(P,h?h.concat(N):[N])}),d.pop()}}if(!u.isObject(t))throw new TypeError("data must be an object");return w(t),e}var Le=qf;function gc(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function xc(t,e){this._pairs=[],t&&Le(t,this,e)}var vc=xc.prototype;vc.append=function(e,i){this._pairs.push([e,i])};vc.toString=function(e){let i=e?function(n){return e.call(this,n,gc)}:gc;return this._pairs.map(function(o){return i(o[0])+"="+i(o[1])},"").join("&")};var bc=xc;function Df(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ke(t,e,i){if(!e)return t;let n=i&&i.encode||Df;u.isFunction(i)&&(i={serialize:i});let o=i&&i.serialize,s;if(o?s=o(e,i):s=u.isURLSearchParams(e)?e.toString():new bc(e,i).toString(n),s){let a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+s}return t}var to=class{constructor(){this.handlers=[]}use(e,i,n){return this.handlers.push({fulfilled:e,rejected:i,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){u.forEach(this.handlers,function(n){n!==null&&e(n)})}},io=to;var yt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var Ec=C(require("crypto"),1);var yc=C(require("url"),1),wc=yc.default.URLSearchParams;var no="abcdefghijklmnopqrstuvwxyz",Sc="0123456789",Tc={DIGIT:Sc,ALPHA:no,ALPHA_DIGIT:no+no.toUpperCase()+Sc},Mf=(t=16,e=Tc.ALPHA_DIGIT)=>{let i="",{length:n}=e,o=new Uint32Array(t);Ec.default.randomFillSync(o);for(let s=0;s<t;s++)i+=e[o[s]%n];return i},kc={isNode:!0,classes:{URLSearchParams:wc,FormData:zi,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:Tc,generateString:Mf,protocols:["http","https","file","data"]};var ao={};Du(ao,{hasBrowserEnv:()=>so,hasStandardBrowserEnv:()=>zf,hasStandardBrowserWebWorkerEnv:()=>Jf,navigator:()=>oo,origin:()=>Hf});var so=typeof window<"u"&&typeof document<"u",oo=typeof navigator=="object"&&navigator||void 0,zf=so&&(!oo||["ReactNative","NativeScript","NS"].indexOf(oo.product)<0),Jf=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Hf=so&&window.location.href||"http://localhost";var j={...ao,...kc};function ro(t,e){return Le(t,new j.classes.URLSearchParams,{visitor:function(i,n,o,s){return j.isNode&&u.isBuffer(i)?(this.append(n,i.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...e})}function Vf(t){return u.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Wf(t){let e={},i=Object.keys(t),n,o=i.length,s;for(n=0;n<o;n++)s=i[n],e[s]=t[s];return e}function Gf(t){function e(i,n,o,s){let a=i[s++];if(a==="__proto__")return!0;let r=Number.isFinite(+a),p=s>=i.length;return a=!a&&u.isArray(o)?o.length:a,p?(u.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!r):((!o[a]||!u.isObject(o[a]))&&(o[a]=[]),e(i,n,o[a],s)&&u.isArray(o[a])&&(o[a]=Wf(o[a])),!r)}if(u.isFormData(t)&&u.isFunction(t.entries)){let i={};return u.forEachEntry(t,(n,o)=>{e(Vf(n),o,i,0)}),i}return null}var Ji=Gf;function Kf(t,e,i){if(u.isString(t))try{return(e||JSON.parse)(t),u.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(i||JSON.stringify)(t)}var co={transitional:yt,adapter:["xhr","http","fetch"],transformRequest:[function(e,i){let n=i.getContentType()||"",o=n.indexOf("application/json")>-1,s=u.isObject(e);if(s&&u.isHTMLForm(e)&&(e=new FormData(e)),u.isFormData(e))return o?JSON.stringify(Ji(e)):e;if(u.isArrayBuffer(e)||u.isBuffer(e)||u.isStream(e)||u.isFile(e)||u.isBlob(e)||u.isReadableStream(e))return e;if(u.isArrayBufferView(e))return e.buffer;if(u.isURLSearchParams(e))return i.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let r;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return ro(e,this.formSerializer).toString();if((r=u.isFileList(e))||n.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return Le(r?{"files[]":e}:e,p&&new p,this.formSerializer)}}return s||o?(i.setContentType("application/json",!1),Kf(e)):e}],transformResponse:[function(e){let i=this.transitional||co.transitional,n=i&&i.forcedJSONParsing,o=this.responseType==="json";if(u.isResponse(e)||u.isReadableStream(e))return e;if(e&&u.isString(e)&&(n&&!this.responseType||o)){let a=!(i&&i.silentJSONParsing)&&o;try{return JSON.parse(e)}catch(r){if(a)throw r.name==="SyntaxError"?S.from(r,S.ERR_BAD_RESPONSE,this,null,this.response):r}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:j.classes.FormData,Blob:j.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};u.forEach(["delete","get","head","post","put","patch"],t=>{co.headers[t]={}});var wt=co;var Xf=u.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Cc=t=>{let e={},i,n,o;return t&&t.split(`
48
+ `).forEach(function(a){o=a.indexOf(":"),i=a.substring(0,o).trim().toLowerCase(),n=a.substring(o+1).trim(),!(!i||e[i]&&Xf[i])&&(i==="set-cookie"?e[i]?e[i].push(n):e[i]=[n]:e[i]=e[i]?e[i]+", "+n:n)}),e};var Pc=Symbol("internals");function Kt(t){return t&&String(t).trim().toLowerCase()}function Hi(t){return t===!1||t==null?t:u.isArray(t)?t.map(Hi):String(t)}function Yf(t){let e=Object.create(null),i=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=i.exec(t);)e[n[1]]=n[2];return e}var Zf=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function po(t,e,i,n,o){if(u.isFunction(n))return n.call(this,e,i);if(o&&(e=i),!!u.isString(e)){if(u.isString(n))return e.indexOf(n)!==-1;if(u.isRegExp(n))return n.test(e)}}function Qf(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,i,n)=>i.toUpperCase()+n)}function eh(t,e){let i=u.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+i,{value:function(o,s,a){return this[n].call(this,e,o,s,a)},configurable:!0})})}var St=class{constructor(e){e&&this.set(e)}set(e,i,n){let o=this;function s(r,p,l){let c=Kt(p);if(!c)throw new Error("header name must be a non-empty string");let d=u.findKey(o,c);(!d||o[d]===void 0||l===!0||l===void 0&&o[d]!==!1)&&(o[d||p]=Hi(r))}let a=(r,p)=>u.forEach(r,(l,c)=>s(l,c,p));if(u.isPlainObject(e)||e instanceof this.constructor)a(e,i);else if(u.isString(e)&&(e=e.trim())&&!Zf(e))a(Cc(e),i);else if(u.isObject(e)&&u.isIterable(e)){let r={},p,l;for(let c of e){if(!u.isArray(c))throw TypeError("Object iterator must return a key-value pair");r[l=c[0]]=(p=r[l])?u.isArray(p)?[...p,c[1]]:[p,c[1]]:c[1]}a(r,i)}else e!=null&&s(i,e,n);return this}get(e,i){if(e=Kt(e),e){let n=u.findKey(this,e);if(n){let o=this[n];if(!i)return o;if(i===!0)return Yf(o);if(u.isFunction(i))return i.call(this,o,n);if(u.isRegExp(i))return i.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,i){if(e=Kt(e),e){let n=u.findKey(this,e);return!!(n&&this[n]!==void 0&&(!i||po(this,this[n],n,i)))}return!1}delete(e,i){let n=this,o=!1;function s(a){if(a=Kt(a),a){let r=u.findKey(n,a);r&&(!i||po(n,n[r],r,i))&&(delete n[r],o=!0)}}return u.isArray(e)?e.forEach(s):s(e),o}clear(e){let i=Object.keys(this),n=i.length,o=!1;for(;n--;){let s=i[n];(!e||po(this,this[s],s,e,!0))&&(delete this[s],o=!0)}return o}normalize(e){let i=this,n={};return u.forEach(this,(o,s)=>{let a=u.findKey(n,s);if(a){i[a]=Hi(o),delete i[s];return}let r=e?Qf(s):String(s).trim();r!==s&&delete i[s],i[r]=Hi(o),n[r]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let i=Object.create(null);return u.forEach(this,(n,o)=>{n!=null&&n!==!1&&(i[o]=e&&u.isArray(n)?n.join(", "):n)}),i}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,i])=>e+": "+i).join(`
49
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...i){let n=new this(e);return i.forEach(o=>n.set(o)),n}static accessor(e){let n=(this[Pc]=this[Pc]={accessors:{}}).accessors,o=this.prototype;function s(a){let r=Kt(a);n[r]||(eh(o,a),n[r]=!0)}return u.isArray(e)?e.forEach(s):s(e),this}};St.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);u.reduceDescriptors(St.prototype,({value:t},e)=>{let i=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[i]=n}}});u.freezeMethods(St);var D=St;function Xt(t,e){let i=this||wt,n=e||i,o=D.from(n.headers),s=n.data;return u.forEach(t,function(r){s=r.call(i,s,o.normalize(),e?e.status:void 0)}),o.normalize(),s}function Yt(t){return!!(t&&t.__CANCEL__)}function Rc(t,e,i){S.call(this,t??"canceled",S.ERR_CANCELED,e,i),this.name="CanceledError"}u.inherits(Rc,S,{__CANCEL__:!0});var pe=Rc;function Te(t,e,i){let n=i.config.validateStatus;!i.status||!n||n(i.status)?t(i):e(new S("Request failed with status code "+i.status,[S.ERR_BAD_REQUEST,S.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))}function lo(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function uo(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Xe(t,e,i){let n=!lo(e);return t&&(n||i==!1)?uo(t,e):e}var up=C(Oc(),1),dp=C(require("http"),1),mp=C(require("https"),1),fp=C(require("util"),1),hp=C(Kc(),1),Fe=C(require("zlib"),1);var et="1.11.0";function ii(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}var Lh=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function Ao(t,e,i){let n=i&&i.Blob||j.classes.Blob,o=ii(t);if(e===void 0&&n&&(e=!0),o==="data"){t=o.length?t.slice(o.length+1):t;let s=Lh.exec(t);if(!s)throw new S("Invalid URL",S.ERR_INVALID_URL);let a=s[1],r=s[2],p=s[3],l=Buffer.from(decodeURIComponent(p),r?"base64":"utf8");if(e){if(!n)throw new S("Blob is not supported",S.ERR_NOT_SUPPORT);return new n([l],{type:a})}return l}throw new S("Unsupported protocol "+o,S.ERR_NOT_SUPPORT)}var it=C(require("stream"),1);var Xc=C(require("stream"),1);var Oo=Symbol("internals"),Io=class extends Xc.default.Transform{constructor(e){e=u.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,o)=>!u.isUndefined(o[n])),super({readableHighWaterMark:e.chunkSize});let i=this[Oo]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",n=>{n==="progress"&&(i.isCaptured||(i.isCaptured=!0))})}_read(e){let i=this[Oo];return i.onReadCallback&&i.onReadCallback(),super._read(e)}_transform(e,i,n){let o=this[Oo],s=o.maxRate,a=this.readableHighWaterMark,r=o.timeWindow,p=1e3/r,l=s/p,c=o.minChunkSize!==!1?Math.max(o.minChunkSize,l*.01):0,d=(w,m)=>{let h=Buffer.byteLength(w);o.bytesSeen+=h,o.bytes+=h,o.isCaptured&&this.emit("progress",o.bytesSeen),this.push(w)?process.nextTick(m):o.onReadCallback=()=>{o.onReadCallback=null,process.nextTick(m)}},f=(w,m)=>{let h=Buffer.byteLength(w),y=null,P=a,N,O=0;if(s){let q=Date.now();(!o.ts||(O=q-o.ts)>=r)&&(o.ts=q,N=l-o.bytes,o.bytes=N<0?-N:0,O=0),N=l-o.bytes}if(s){if(N<=0)return setTimeout(()=>{m(null,w)},r-O);N<P&&(P=N)}P&&h>P&&h-P>c&&(y=w.subarray(P),w=w.subarray(0,P)),d(w,y?()=>{process.nextTick(m,null,y)}:m)};f(e,function w(m,h){if(m)return n(m);h?f(h,w):n(null)})}},_o=Io;var gp=require("events");var Zc=C(require("util"),1),Qc=require("stream");var{asyncIterator:Yc}=Symbol,qh=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[Yc]?yield*t[Yc]():yield t},Xi=qh;var Dh=j.ALPHABET.ALPHA_DIGIT+"-_",ni=typeof TextEncoder=="function"?new TextEncoder:new Zc.default.TextEncoder,tt=`\r
50
+ `,Mh=ni.encode(tt),zh=2,$o=class{constructor(e,i){let{escapeName:n}=this.constructor,o=u.isString(i),s=`Content-Disposition: form-data; name="${n(e)}"${!o&&i.name?`; filename="${n(i.name)}"`:""}${tt}`;o?i=ni.encode(String(i).replace(/\r?\n|\r\n?/g,tt)):s+=`Content-Type: ${i.type||"application/octet-stream"}${tt}`,this.headers=ni.encode(s+tt),this.contentLength=o?i.byteLength:i.size,this.size=this.headers.byteLength+this.contentLength+zh,this.name=e,this.value=i}async*encode(){yield this.headers;let{value:e}=this;u.isTypedArray(e)?yield e:yield*Xi(e),yield Mh}static escapeName(e){return String(e).replace(/[\r\n"]/g,i=>({"\r":"%0D","\n":"%0A",'"':"%22"})[i])}},Jh=(t,e,i)=>{let{tag:n="form-data-boundary",size:o=25,boundary:s=n+"-"+j.generateString(o,Dh)}=i||{};if(!u.isFormData(t))throw TypeError("FormData instance required");if(s.length<1||s.length>70)throw Error("boundary must be 10-70 characters long");let a=ni.encode("--"+s+tt),r=ni.encode("--"+s+"--"+tt),p=r.byteLength,l=Array.from(t.entries()).map(([d,f])=>{let w=new $o(d,f);return p+=w.size,w});p+=a.byteLength*l.length,p=u.toFiniteNumber(p);let c={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(p)&&(c["Content-Length"]=p),e&&e(c),Qc.Readable.from((async function*(){for(let d of l)yield a,yield*d.encode();yield r})())},ep=Jh;var tp=C(require("stream"),1),No=class extends tp.default.Transform{__transform(e,i,n){this.push(e),n()}_transform(e,i,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let o=Buffer.alloc(2);o[0]=120,o[1]=156,this.push(o,i)}this.__transform(e,i,n)}},ip=No;var Hh=(t,e)=>u.isAsyncFn(t)?function(...i){let n=i.pop();t.apply(this,i).then(o=>{try{e?n(null,...e(o)):n(null,o)}catch(s){n(s)}},n)}:t,np=Hh;function Vh(t,e){t=t||10;let i=new Array(t),n=new Array(t),o=0,s=0,a;return e=e!==void 0?e:1e3,function(p){let l=Date.now(),c=n[s];a||(a=l),i[o]=p,n[o]=l;let d=s,f=0;for(;d!==o;)f+=i[d++],d=d%t;if(o=(o+1)%t,o===s&&(s=(s+1)%t),l-a<e)return;let w=c&&l-c;return w?Math.round(f*1e3/w):void 0}}var op=Vh;function Wh(t,e){let i=0,n=1e3/e,o,s,a=(l,c=Date.now())=>{i=c,o=null,s&&(clearTimeout(s),s=null),t(...l)};return[(...l)=>{let c=Date.now(),d=c-i;d>=n?a(l,c):(o=l,s||(s=setTimeout(()=>{s=null,a(o)},n-d)))},()=>o&&a(o)]}var sp=Wh;var Ne=(t,e,i=3)=>{let n=0,o=op(50,250);return sp(s=>{let a=s.loaded,r=s.lengthComputable?s.total:void 0,p=a-n,l=o(p),c=a<=r;n=a;let d={loaded:a,total:r,progress:r?a/r:void 0,bytes:p,rate:l||void 0,estimated:l&&r&&c?(r-a)/l:void 0,event:s,lengthComputable:r!=null,[e?"download":"upload"]:!0};t(d)},i)},Pt=(t,e)=>{let i=t!=null;return[n=>e[0]({lengthComputable:i,total:t,loaded:n}),e[1]]},Rt=t=>(...e)=>u.asap(()=>t(...e));var ap={flush:Fe.default.constants.Z_SYNC_FLUSH,finishFlush:Fe.default.constants.Z_SYNC_FLUSH},Gh={flush:Fe.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:Fe.default.constants.BROTLI_OPERATION_FLUSH},rp=u.isFunction(Fe.default.createBrotliDecompress),{http:Kh,https:Xh}=hp.default,Yh=/https:?/,cp=j.protocols.map(t=>t+":"),pp=(t,[e,i])=>(t.on("end",i).on("error",i),e);function Zh(t,e){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e)}function xp(t,e,i){let n=e;if(!n&&n!==!1){let o=up.default.getProxyForUrl(i);o&&(n=new URL(o))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let s=Buffer.from(n.auth,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+s}t.headers.host=t.hostname+(t.port?":"+t.port:"");let o=n.hostname||n.host;t.hostname=o,t.host=o,t.port=n.port,t.path=i,n.protocol&&(t.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}t.beforeRedirects.proxy=function(s){xp(s,e,s.href)}}var Qh=typeof process<"u"&&u.kindOf(process)==="process",eg=t=>new Promise((e,i)=>{let n,o,s=(p,l)=>{o||(o=!0,n&&n(p,l))},a=p=>{s(p),e(p)},r=p=>{s(p,!0),i(p)};t(a,r,p=>n=p).catch(r)}),tg=({address:t,family:e})=>{if(!u.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},lp=(t,e)=>tg(u.isObject(t)?t:{address:t,family:e}),vp=Qh&&function(e){return eg(async function(n,o,s){let{data:a,lookup:r,family:p}=e,{responseType:l,responseEncoding:c}=e,d=e.method.toUpperCase(),f,w=!1,m;if(r){let A=np(r,R=>u.isArray(R)?R:[R]);r=(R,Z,Je)=>{A(R,Z,(X,je,Sn)=>{if(X)return Je(X);let we=u.isArray(je)?je.map(de=>lp(de)):[lp(je,Sn)];Z.all?Je(X,we):Je(X,we[0].address,we[0].family)})}}let h=new gp.EventEmitter,y=()=>{e.cancelToken&&e.cancelToken.unsubscribe(P),e.signal&&e.signal.removeEventListener("abort",P),h.removeAllListeners()};s((A,R)=>{f=!0,R&&(w=!0,y())});function P(A){h.emit("abort",!A||A.type?new pe(null,e,m):A)}h.once("abort",o),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(P),e.signal&&(e.signal.aborted?P():e.signal.addEventListener("abort",P)));let N=Xe(e.baseURL,e.url,e.allowAbsoluteUrls),O=new URL(N,j.hasBrowserEnv?j.origin:void 0),q=O.protocol||cp[0];if(q==="data:"){let A;if(d!=="GET")return Te(n,o,{status:405,statusText:"method not allowed",headers:{},config:e});try{A=Ao(e.url,l==="blob",{Blob:e.env&&e.env.Blob})}catch(R){throw S.from(R,S.ERR_BAD_REQUEST,e)}return l==="text"?(A=A.toString(c),(!c||c==="utf8")&&(A=u.stripBOM(A))):l==="stream"&&(A=it.default.Readable.from(A)),Te(n,o,{data:A,status:200,statusText:"OK",headers:new D,config:e})}if(cp.indexOf(q)===-1)return o(new S("Unsupported protocol "+q,S.ERR_BAD_REQUEST,e));let U=D.from(e.headers).normalize();U.set("User-Agent","axios/"+et,!1);let{onUploadProgress:Y,onDownloadProgress:re}=e,ue=e.maxRate,Pe,wi;if(u.isSpecCompliantForm(a)){let A=U.getContentType(/boundary=([-_\w\d]{10,70})/i);a=ep(a,R=>{U.set(R)},{tag:`axios-${et}-boundary`,boundary:A&&A[1]||void 0})}else if(u.isFormData(a)&&u.isFunction(a.getHeaders)){if(U.set(a.getHeaders()),!U.hasContentLength())try{let A=await fp.default.promisify(a.getLength).call(a);Number.isFinite(A)&&A>=0&&U.setContentLength(A)}catch{}}else if(u.isBlob(a)||u.isFile(a))a.size&&U.setContentType(a.type||"application/octet-stream"),U.setContentLength(a.size||0),a=it.default.Readable.from(Xi(a));else if(a&&!u.isStream(a)){if(!Buffer.isBuffer(a))if(u.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(u.isString(a))a=Buffer.from(a,"utf-8");else return o(new S("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",S.ERR_BAD_REQUEST,e));if(U.setContentLength(a.length,!1),e.maxBodyLength>-1&&a.length>e.maxBodyLength)return o(new S("Request body larger than maxBodyLength limit",S.ERR_BAD_REQUEST,e))}let Fu=u.toFiniteNumber(U.getContentLength());u.isArray(ue)?(Pe=ue[0],wi=ue[1]):Pe=wi=ue,a&&(Y||Pe)&&(u.isStream(a)||(a=it.default.Readable.from(a,{objectMode:!1})),a=it.default.pipeline([a,new _o({maxRate:u.toFiniteNumber(Pe)})],u.noop),Y&&a.on("progress",pp(a,Pt(Fu,Ne(Rt(Y),!1,3)))));let Bt;if(e.auth){let A=e.auth.username||"",R=e.auth.password||"";Bt=A+":"+R}if(!Bt&&O.username){let A=O.username,R=O.password;Bt=A+":"+R}Bt&&U.delete("authorization");let Ps;try{Ps=Ke(O.pathname+O.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(A){let R=new Error(A.message);return R.config=e,R.url=e.url,R.exists=!0,o(R)}U.set("Accept-Encoding","gzip, compress, deflate"+(rp?", br":""),!1);let te={path:Ps,method:d,headers:U.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:Bt,protocol:q,family:p,beforeRedirect:Zh,beforeRedirects:{}};!u.isUndefined(r)&&(te.lookup=r),e.socketPath?te.socketPath=e.socketPath:(te.hostname=O.hostname.startsWith("[")?O.hostname.slice(1,-1):O.hostname,te.port=O.port,xp(te,e.proxy,q+"//"+O.hostname+(O.port?":"+O.port:"")+te.path));let Si,wn=Yh.test(te.protocol);if(te.agent=wn?e.httpsAgent:e.httpAgent,e.transport?Si=e.transport:e.maxRedirects===0?Si=wn?mp.default:dp.default:(e.maxRedirects&&(te.maxRedirects=e.maxRedirects),e.beforeRedirect&&(te.beforeRedirects.config=e.beforeRedirect),Si=wn?Xh:Kh),e.maxBodyLength>-1?te.maxBodyLength=e.maxBodyLength:te.maxBodyLength=1/0,e.insecureHTTPParser&&(te.insecureHTTPParser=e.insecureHTTPParser),m=Si.request(te,function(R){if(m.destroyed)return;let Z=[R],Je=+R.headers["content-length"];if(re||wi){let de=new _o({maxRate:u.toFiniteNumber(wi)});re&&de.on("progress",pp(de,Pt(Je,Ne(Rt(re),!0,3)))),Z.push(de)}let X=R,je=R.req||m;if(e.decompress!==!1&&R.headers["content-encoding"])switch((d==="HEAD"||R.statusCode===204)&&delete R.headers["content-encoding"],(R.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Z.push(Fe.default.createUnzip(ap)),delete R.headers["content-encoding"];break;case"deflate":Z.push(new ip),Z.push(Fe.default.createUnzip(ap)),delete R.headers["content-encoding"];break;case"br":rp&&(Z.push(Fe.default.createBrotliDecompress(Gh)),delete R.headers["content-encoding"])}X=Z.length>1?it.default.pipeline(Z,u.noop):Z[0];let Sn=it.default.finished(X,()=>{Sn(),y()}),we={status:R.statusCode,statusText:R.statusMessage,headers:new D(R.headers),config:e,request:je};if(l==="stream")we.data=X,Te(n,o,we);else{let de=[],Rs=0;X.on("data",function(Q){de.push(Q),Rs+=Q.length,e.maxContentLength>-1&&Rs>e.maxContentLength&&(w=!0,X.destroy(),o(new S("maxContentLength size of "+e.maxContentLength+" exceeded",S.ERR_BAD_RESPONSE,e,je)))}),X.on("aborted",function(){if(w)return;let Q=new S("stream has been aborted",S.ERR_BAD_RESPONSE,e,je);X.destroy(Q),o(Q)}),X.on("error",function(Q){m.destroyed||o(S.from(Q,null,e,je))}),X.on("end",function(){try{let Q=de.length===1?de[0]:Buffer.concat(de);l!=="arraybuffer"&&(Q=Q.toString(c),(!c||c==="utf8")&&(Q=u.stripBOM(Q))),we.data=Q}catch(Q){return o(S.from(Q,null,e,we.request,we))}Te(n,o,we)})}h.once("abort",de=>{X.destroyed||(X.emit("error",de),X.destroy())})}),h.once("abort",A=>{o(A),m.destroy(A)}),m.on("error",function(R){o(S.from(R,null,e,m))}),m.on("socket",function(R){R.setKeepAlive(!0,1e3*60)}),e.timeout){let A=parseInt(e.timeout,10);if(Number.isNaN(A)){o(new S("error trying to parse `config.timeout` to int",S.ERR_BAD_OPTION_VALUE,e,m));return}m.setTimeout(A,function(){if(f)return;let Z=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",Je=e.transitional||yt;e.timeoutErrorMessage&&(Z=e.timeoutErrorMessage),o(new S(Z,Je.clarifyTimeoutError?S.ETIMEDOUT:S.ECONNABORTED,e,m)),P()})}if(u.isStream(a)){let A=!1,R=!1;a.on("end",()=>{A=!0}),a.once("error",Z=>{R=!0,m.destroy(Z)}),a.on("close",()=>{!A&&!R&&P(new pe("Request stream has been aborted",e,m))}),a.pipe(m)}else m.end(a)})};var bp=j.hasStandardBrowserEnv?((t,e)=>i=>(i=new URL(i,j.origin),t.protocol===i.protocol&&t.host===i.host&&(e||t.port===i.port)))(new URL(j.origin),j.navigator&&/(msie|trident)/i.test(j.navigator.userAgent)):()=>!0;var yp=j.hasStandardBrowserEnv?{write(t,e,i,n,o,s){let a=[t+"="+encodeURIComponent(e)];u.isNumber(i)&&a.push("expires="+new Date(i).toGMTString()),u.isString(n)&&a.push("path="+n),u.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){let e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var wp=t=>t instanceof D?{...t}:t;function be(t,e){e=e||{};let i={};function n(l,c,d,f){return u.isPlainObject(l)&&u.isPlainObject(c)?u.merge.call({caseless:f},l,c):u.isPlainObject(c)?u.merge({},c):u.isArray(c)?c.slice():c}function o(l,c,d,f){if(u.isUndefined(c)){if(!u.isUndefined(l))return n(void 0,l,d,f)}else return n(l,c,d,f)}function s(l,c){if(!u.isUndefined(c))return n(void 0,c)}function a(l,c){if(u.isUndefined(c)){if(!u.isUndefined(l))return n(void 0,l)}else return n(void 0,c)}function r(l,c,d){if(d in e)return n(l,c);if(d in t)return n(void 0,l)}let p={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:r,headers:(l,c,d)=>o(wp(l),wp(c),d,!0)};return u.forEach(Object.keys({...t,...e}),function(c){let d=p[c]||o,f=d(t[c],e[c],c);u.isUndefined(f)&&d!==r||(i[c]=f)}),i}var Yi=t=>{let e=be({},t),{data:i,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:r}=e;e.headers=a=D.from(a),e.url=Ke(Xe(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),r&&a.set("Authorization","Basic "+btoa((r.username||"")+":"+(r.password?unescape(encodeURIComponent(r.password)):"")));let p;if(u.isFormData(i)){if(j.hasStandardBrowserEnv||j.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((p=a.getContentType())!==!1){let[l,...c]=p?p.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([l||"multipart/form-data",...c].join("; "))}}if(j.hasStandardBrowserEnv&&(n&&u.isFunction(n)&&(n=n(e)),n||n!==!1&&bp(e.url))){let l=o&&s&&yp.read(s);l&&a.set(o,l)}return e};var ig=typeof XMLHttpRequest<"u",Sp=ig&&function(t){return new Promise(function(i,n){let o=Yi(t),s=o.data,a=D.from(o.headers).normalize(),{responseType:r,onUploadProgress:p,onDownloadProgress:l}=o,c,d,f,w,m;function h(){w&&w(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let y=new XMLHttpRequest;y.open(o.method.toUpperCase(),o.url,!0),y.timeout=o.timeout;function P(){if(!y)return;let O=D.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),U={data:!r||r==="text"||r==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:O,config:t,request:y};Te(function(re){i(re),h()},function(re){n(re),h()},U),y=null}"onloadend"in y?y.onloadend=P:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(P)},y.onabort=function(){y&&(n(new S("Request aborted",S.ECONNABORTED,t,y)),y=null)},y.onerror=function(){n(new S("Network Error",S.ERR_NETWORK,t,y)),y=null},y.ontimeout=function(){let q=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",U=o.transitional||yt;o.timeoutErrorMessage&&(q=o.timeoutErrorMessage),n(new S(q,U.clarifyTimeoutError?S.ETIMEDOUT:S.ECONNABORTED,t,y)),y=null},s===void 0&&a.setContentType(null),"setRequestHeader"in y&&u.forEach(a.toJSON(),function(q,U){y.setRequestHeader(U,q)}),u.isUndefined(o.withCredentials)||(y.withCredentials=!!o.withCredentials),r&&r!=="json"&&(y.responseType=o.responseType),l&&([f,m]=Ne(l,!0),y.addEventListener("progress",f)),p&&y.upload&&([d,w]=Ne(p),y.upload.addEventListener("progress",d),y.upload.addEventListener("loadend",w)),(o.cancelToken||o.signal)&&(c=O=>{y&&(n(!O||O.type?new pe(null,t,y):O),y.abort(),y=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));let N=ii(o.url);if(N&&j.protocols.indexOf(N)===-1){n(new S("Unsupported protocol "+N+":",S.ERR_BAD_REQUEST,t));return}y.send(s||null)})};var ng=(t,e)=>{let{length:i}=t=t?t.filter(Boolean):[];if(e||i){let n=new AbortController,o,s=function(l){if(!o){o=!0,r();let c=l instanceof Error?l:this.reason;n.abort(c instanceof S?c:new pe(c instanceof Error?c.message:c))}},a=e&&setTimeout(()=>{a=null,s(new S(`timeout ${e} of ms exceeded`,S.ETIMEDOUT))},e),r=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),t=null)};t.forEach(l=>l.addEventListener("abort",s));let{signal:p}=n;return p.unsubscribe=()=>u.asap(r),p}},Ep=ng;var og=function*(t,e){let i=t.byteLength;if(!e||i<e){yield t;return}let n=0,o;for(;n<i;)o=n+e,yield t.slice(n,o),n=o},sg=async function*(t,e){for await(let i of ag(t))yield*og(i,e)},ag=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}let e=t.getReader();try{for(;;){let{done:i,value:n}=await e.read();if(i)break;yield n}}finally{await e.cancel()}},Fo=(t,e,i,n)=>{let o=sg(t,e),s=0,a,r=p=>{a||(a=!0,n&&n(p))};return new ReadableStream({async pull(p){try{let{done:l,value:c}=await o.next();if(l){r(),p.close();return}let d=c.byteLength;if(i){let f=s+=d;i(f)}p.enqueue(new Uint8Array(c))}catch(l){throw r(l),l}},cancel(p){return r(p),o.return()}},{highWaterMark:2})};var Qi=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",kp=Qi&&typeof ReadableStream=="function",rg=Qi&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),Cp=(t,...e)=>{try{return!!t(...e)}catch{return!1}},cg=kp&&Cp(()=>{let t=!1,e=new Request(j.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),Tp=64*1024,jo=kp&&Cp(()=>u.isReadableStream(new Response("").body)),Zi={stream:jo&&(t=>t.body)};Qi&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Zi[e]&&(Zi[e]=u.isFunction(t[e])?i=>i[e]():(i,n)=>{throw new S(`Response type '${e}' is not supported`,S.ERR_NOT_SUPPORT,n)})})})(new Response);var pg=async t=>{if(t==null)return 0;if(u.isBlob(t))return t.size;if(u.isSpecCompliantForm(t))return(await new Request(j.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(u.isArrayBufferView(t)||u.isArrayBuffer(t))return t.byteLength;if(u.isURLSearchParams(t)&&(t=t+""),u.isString(t))return(await rg(t)).byteLength},lg=async(t,e)=>{let i=u.toFiniteNumber(t.getContentLength());return i??pg(e)},Pp=Qi&&(async t=>{let{url:e,method:i,data:n,signal:o,cancelToken:s,timeout:a,onDownloadProgress:r,onUploadProgress:p,responseType:l,headers:c,withCredentials:d="same-origin",fetchOptions:f}=Yi(t);l=l?(l+"").toLowerCase():"text";let w=Ep([o,s&&s.toAbortSignal()],a),m,h=w&&w.unsubscribe&&(()=>{w.unsubscribe()}),y;try{if(p&&cg&&i!=="get"&&i!=="head"&&(y=await lg(c,n))!==0){let U=new Request(e,{method:"POST",body:n,duplex:"half"}),Y;if(u.isFormData(n)&&(Y=U.headers.get("content-type"))&&c.setContentType(Y),U.body){let[re,ue]=Pt(y,Ne(Rt(p)));n=Fo(U.body,Tp,re,ue)}}u.isString(d)||(d=d?"include":"omit");let P="credentials"in Request.prototype;m=new Request(e,{...f,signal:w,method:i.toUpperCase(),headers:c.normalize().toJSON(),body:n,duplex:"half",credentials:P?d:void 0});let N=await fetch(m,f),O=jo&&(l==="stream"||l==="response");if(jo&&(r||O&&h)){let U={};["status","statusText","headers"].forEach(Pe=>{U[Pe]=N[Pe]});let Y=u.toFiniteNumber(N.headers.get("content-length")),[re,ue]=r&&Pt(Y,Ne(Rt(r),!0))||[];N=new Response(Fo(N.body,Tp,re,()=>{ue&&ue(),h&&h()}),U)}l=l||"text";let q=await Zi[u.findKey(Zi,l)||"text"](N,t);return!O&&h&&h(),await new Promise((U,Y)=>{Te(U,Y,{data:q,headers:D.from(N.headers),status:N.status,statusText:N.statusText,config:t,request:m})})}catch(P){throw h&&h(),P&&P.name==="TypeError"&&/Load failed|fetch/i.test(P.message)?Object.assign(new S("Network Error",S.ERR_NETWORK,t,m),{cause:P.cause||P}):S.from(P,P&&P.code,t,m)}});var Uo={http:vp,xhr:Sp,fetch:Pp};u.forEach(Uo,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var Rp=t=>`- ${t}`,ug=t=>u.isFunction(t)||t===null||t===!1,en={getAdapter:t=>{t=u.isArray(t)?t:[t];let{length:e}=t,i,n,o={};for(let s=0;s<e;s++){i=t[s];let a;if(n=i,!ug(i)&&(n=Uo[(a=String(i)).toLowerCase()],n===void 0))throw new S(`Unknown adapter '${a}'`);if(n)break;o[a||"#"+s]=n}if(!n){let s=Object.entries(o).map(([r,p])=>`adapter ${r} `+(p===!1?"is not supported by the environment":"is not available in the build")),a=e?s.length>1?`since :
51
+ `+s.map(Rp).join(`
52
+ `):" "+Rp(s[0]):"as no adapter specified";throw new S("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:Uo};function Bo(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new pe(null,t)}function tn(t){return Bo(t),t.headers=D.from(t.headers),t.data=Xt.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),en.getAdapter(t.adapter||wt.adapter)(t).then(function(n){return Bo(t),n.data=Xt.call(t,t.transformResponse,n),n.headers=D.from(n.headers),n},function(n){return Yt(n)||(Bo(t),n&&n.response&&(n.response.data=Xt.call(t,t.transformResponse,n.response),n.response.headers=D.from(n.response.headers))),Promise.reject(n)})}var nn={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{nn[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var Ap={};nn.transitional=function(e,i,n){function o(s,a){return"[Axios v"+et+"] Transitional option '"+s+"'"+a+(n?". "+n:"")}return(s,a,r)=>{if(e===!1)throw new S(o(a," has been removed"+(i?" in "+i:"")),S.ERR_DEPRECATED);return i&&!Ap[a]&&(Ap[a]=!0,console.warn(o(a," has been deprecated since v"+i+" and will be removed in the near future"))),e?e(s,a,r):!0}};nn.spelling=function(e){return(i,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function dg(t,e,i){if(typeof t!="object")throw new S("options must be an object",S.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),o=n.length;for(;o-- >0;){let s=n[o],a=e[s];if(a){let r=t[s],p=r===void 0||a(r,s,t);if(p!==!0)throw new S("option "+s+" must be "+p,S.ERR_BAD_OPTION_VALUE);continue}if(i!==!0)throw new S("Unknown option "+s,S.ERR_BAD_OPTION)}}var oi={assertOptions:dg,validators:nn};var ke=oi.validators,At=class{constructor(e){this.defaults=e||{},this.interceptors={request:new io,response:new io}}async request(e,i){try{return await this._request(e,i)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;let s=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=`
53
+ `+s):n.stack=s}catch{}}throw n}}_request(e,i){typeof e=="string"?(i=i||{},i.url=e):i=e||{},i=be(this.defaults,i);let{transitional:n,paramsSerializer:o,headers:s}=i;n!==void 0&&oi.assertOptions(n,{silentJSONParsing:ke.transitional(ke.boolean),forcedJSONParsing:ke.transitional(ke.boolean),clarifyTimeoutError:ke.transitional(ke.boolean)},!1),o!=null&&(u.isFunction(o)?i.paramsSerializer={serialize:o}:oi.assertOptions(o,{encode:ke.function,serialize:ke.function},!0)),i.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?i.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:i.allowAbsoluteUrls=!0),oi.assertOptions(i,{baseUrl:ke.spelling("baseURL"),withXsrfToken:ke.spelling("withXSRFToken")},!0),i.method=(i.method||this.defaults.method||"get").toLowerCase();let a=s&&u.merge(s.common,s[i.method]);s&&u.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m]}),i.headers=D.concat(a,s);let r=[],p=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(i)===!1||(p=p&&h.synchronous,r.unshift(h.fulfilled,h.rejected))});let l=[];this.interceptors.response.forEach(function(h){l.push(h.fulfilled,h.rejected)});let c,d=0,f;if(!p){let m=[tn.bind(this),void 0];for(m.unshift(...r),m.push(...l),f=m.length,c=Promise.resolve(i);d<f;)c=c.then(m[d++],m[d++]);return c}f=r.length;let w=i;for(d=0;d<f;){let m=r[d++],h=r[d++];try{w=m(w)}catch(y){h.call(this,y);break}}try{c=tn.call(this,w)}catch(m){return Promise.reject(m)}for(d=0,f=l.length;d<f;)c=c.then(l[d++],l[d++]);return c}getUri(e){e=be(this.defaults,e);let i=Xe(e.baseURL,e.url,e.allowAbsoluteUrls);return Ke(i,e.params,e.paramsSerializer)}};u.forEach(["delete","get","head","options"],function(e){At.prototype[e]=function(i,n){return this.request(be(n||{},{method:e,url:i,data:(n||{}).data}))}});u.forEach(["post","put","patch"],function(e){function i(n){return function(s,a,r){return this.request(be(r||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}At.prototype[e]=i(),At.prototype[e+"Form"]=i(!0)});var si=At;var Lo=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let i;this.promise=new Promise(function(s){i=s});let n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s,a=new Promise(r=>{n.subscribe(r),s=r}).then(o);return a.cancel=function(){n.unsubscribe(s)},a},e(function(s,a,r){n.reason||(n.reason=new pe(s,a,r),i(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let i=this._listeners.indexOf(e);i!==-1&&this._listeners.splice(i,1)}toAbortSignal(){let e=new AbortController,i=n=>{e.abort(n)};return this.subscribe(i),e.signal.unsubscribe=()=>this.unsubscribe(i),e.signal}static source(){let e;return{token:new t(function(o){e=o}),cancel:e}}},Op=Lo;function qo(t){return function(i){return t.apply(null,i)}}function Do(t){return u.isObject(t)&&t.isAxiosError===!0}var Mo={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Mo).forEach(([t,e])=>{Mo[e]=t});var Ip=Mo;function _p(t){let e=new si(t),i=qt(si.prototype.request,e);return u.extend(i,si.prototype,e,{allOwnKeys:!0}),u.extend(i,e,null,{allOwnKeys:!0}),i.create=function(o){return _p(be(t,o))},i}var J=_p(wt);J.Axios=si;J.CanceledError=pe;J.CancelToken=Op;J.isCancel=Yt;J.VERSION=et;J.toFormData=Le;J.AxiosError=S;J.Cancel=J.CanceledError;J.all=function(e){return Promise.all(e)};J.spread=qo;J.isAxiosError=Do;J.mergeConfig=be;J.AxiosHeaders=D;J.formToJSON=t=>Ji(u.isHTMLForm(t)?new FormData(t):t);J.getAdapter=en.getAdapter;J.HttpStatusCode=Ip;J.default=J;var on=J;var{Axios:hS,AxiosError:gS,CanceledError:xS,isCancel:vS,CancelToken:bS,VERSION:yS,all:wS,Cancel:SS,isAxiosError:ES,spread:TS,toFormData:kS,AxiosHeaders:CS,HttpStatusCode:PS,formToJSON:RS,getAdapter:AS,mergeConfig:OS}=on;var mg={validateStatus:()=>!0};function zo(t={}){return on.create({...mg,...t})}var B=zo();function $(t,e,i){if(t.status!==e){let n=t.data,o=n?` - ${typeof n=="string"?n:JSON.stringify(n)}`:"";throw new I(`Failed to ${i}: ${t.status} ${t.statusText}${o}`,t.status)}}var $p=require("fs"),Np=t=>{if(process.env.LOG_FILE){let e=process.env.LOG_FILE,o=`[${new Date().toISOString()}] INFO ${t}`;(0,$p.appendFileSync)(e,o+`
54
+ `)}console.error(t)},k=t=>{Np(t)},x=t=>{Np(t)};var sn=C(require("fs")),Fp=C(require("path")),De=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async startRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/recording`,n=await B.post(i,{},{headers:this.headers});return $(n,201,"start recording"),k(`Successfully started recording for device ${e}`),n.data}catch(i){throw x(`Error starting recording: ${i}`),i}}async stopRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/recording`,n=await B.delete(i,{headers:this.headers});return $(n,200,"stop recording"),k(`Successfully stopped recording for device ${e}`),n.data}catch(i){throw x(`Error stopping recording: ${i}`),i}}async downloadRecording(e,i){try{let n=`${this.baseUrl}${this.apiPath}/recording/${e}`,o=await B.get(n,{headers:{Authorization:`Bearer ${this.config.apiKey}`},responseType:"arraybuffer"});if($(o,200,"download recording"),i){let s=Fp.default.dirname(i);return sn.default.existsSync(s)||sn.default.mkdirSync(s,{recursive:!0}),sn.default.writeFileSync(i,o.data),k(`Successfully saved recording to ${i}`),i}else return k(`Successfully downloaded recording ${e}`),o.data}catch(n){throw x(`Error downloading recording: ${n}`),n}}};var Ot=["ios","android"];function an(t){return Ot.includes(t)}var v=class extends Error{constructor(i,n){super(i);this.statusCode=n;this.name="DaemonError"}};var Zo=C(require("fs")),Gp=C(require("path"));var Wp=require("webdriverio");var jp=`
55
55
  const getCssSelectorShort = (el) => {
56
56
  const path = [];
57
57
  let currentElement = el;
@@ -138,17 +138,19 @@ ${t.userScript}
138
138
  }
139
139
 
140
140
  return results;
141
- `;var Sp=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Mh=Sp+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",zh="["+Sp+"]["+Mh+"]*",Jh=new RegExp("^"+zh+"$");function tn(t,e){let i=[],n=e.exec(t);for(;n;){let o=[];o.startIndex=e.lastIndex-n[0].length;let s=n.length;for(let a=0;a<s;a++)o.push(n[a]);i.push(o),n=e.exec(t)}return i}var ni=function(t){let e=Jh.exec(t);return!(e===null||typeof e>"u")};function Ep(t){return typeof t<"u"}var Hh={allowBooleanAttributes:!1,unpairedTags:[]};function Rp(t,e){e=Object.assign({},Hh,e);let i=[],n=!1,o=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=kp(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=Cp(t,s);continue}else{let r=!1;t[s]==="/"&&(r=!0,s++);let p="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
142
- `&&t[s]!=="\r";s++)p+=t[s];if(p=p.trim(),p[p.length-1]==="/"&&(p=p.substring(0,p.length-1),s--),!Qh(p)){let d;return p.trim().length===0?d="Invalid space after '<'.":d="Tag '"+p+"' is an invalid name.",z("InvalidTag",d,ee(t,s))}let l=Gh(t,s);if(l===!1)return z("InvalidAttr","Attributes for '"+p+"' have open quote.",ee(t,s));let c=l.value;if(s=l.index,c[c.length-1]==="/"){let d=s-c.length;c=c.substring(0,c.length-1);let f=Pp(c,e);if(f===!0)n=!0;else return z(f.err.code,f.err.msg,ee(t,d+f.err.line))}else if(r)if(l.tagClosed){if(c.trim().length>0)return z("InvalidTag","Closing tag '"+p+"' can't have attributes or invalid starting.",ee(t,a));if(i.length===0)return z("InvalidTag","Closing tag '"+p+"' has not been opened.",ee(t,a));{let d=i.pop();if(p!==d.tagName){let f=ee(t,d.tagStartPos);return z("InvalidTag","Expected closing tag '"+d.tagName+"' (opened in line "+f.line+", col "+f.col+") instead of closing tag '"+p+"'.",ee(t,a))}i.length==0&&(o=!0)}}else return z("InvalidTag","Closing tag '"+p+"' doesn't have proper closing.",ee(t,s));else{let d=Pp(c,e);if(d!==!0)return z(d.err.code,d.err.msg,ee(t,s-c.length+d.err.line));if(o===!0)return z("InvalidXml","Multiple possible root nodes found.",ee(t,s));e.unpairedTags.indexOf(p)!==-1||i.push({tagName:p,tagStartPos:a}),n=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=Cp(t,s);continue}else if(t[s+1]==="?"){if(s=kp(t,++s),s.err)return s}else break;else if(t[s]==="&"){let d=Yh(t,s);if(d==-1)return z("InvalidChar","char '&' is not expected.",ee(t,s));s=d}else if(o===!0&&!Tp(t[s]))return z("InvalidXml","Extra text at the end",ee(t,s));t[s]==="<"&&s--}}else{if(Tp(t[s]))continue;return z("InvalidChar","char '"+t[s]+"' is not expected.",ee(t,s))}if(n){if(i.length==1)return z("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",ee(t,i[0].tagStartPos));if(i.length>0)return z("InvalidXml","Invalid '"+JSON.stringify(i.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return z("InvalidXml","Start tag expected.",1);return!0}function Tp(t){return t===" "||t===" "||t===`
143
- `||t==="\r"}function kp(t,e){let i=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(i,e-i);if(e>5&&n==="xml")return z("InvalidXml","XML declaration allowed only at the start of the document.",ee(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Cp(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let i=1;for(e+=8;e<t.length;e++)if(t[e]==="<")i++;else if(t[e]===">"&&(i--,i===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var Vh='"',Wh="'";function Gh(t,e){let i="",n="",o=!1;for(;e<t.length;e++){if(t[e]===Vh||t[e]===Wh)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){o=!0;break}i+=t[e]}return n!==""?!1:{value:i,index:e,tagClosed:o}}var Xh=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Pp(t,e){let i=tn(t,Xh),n={};for(let o=0;o<i.length;o++){if(i[o][1].length===0)return z("InvalidAttr","Attribute '"+i[o][2]+"' has no space in starting.",oi(i[o]));if(i[o][3]!==void 0&&i[o][4]===void 0)return z("InvalidAttr","Attribute '"+i[o][2]+"' is without value.",oi(i[o]));if(i[o][3]===void 0&&!e.allowBooleanAttributes)return z("InvalidAttr","boolean attribute '"+i[o][2]+"' is not allowed.",oi(i[o]));let s=i[o][2];if(!Zh(s))return z("InvalidAttr","Attribute '"+s+"' is an invalid name.",oi(i[o]));if(!n.hasOwnProperty(s))n[s]=1;else return z("InvalidAttr","Attribute '"+s+"' is repeated.",oi(i[o]))}return!0}function Kh(t,e){let i=/\d/;for(t[e]==="x"&&(e++,i=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(i))break}return-1}function Yh(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Kh(t,e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\w/)&&i<20)){if(t[e]===";")break;return-1}return e}function z(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function Zh(t){return ni(t)}function Qh(t){return ni(t)}function ee(t,e){let i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function oi(t){return t.startIndex+t[1].length}var eg={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t},captureMetaData:!1},Ap=function(t){return Object.assign({},eg,t)};var nn;typeof Symbol!="function"?nn="@@xmlMetadata":nn=Symbol("XML Node Metadata");var pe=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),i!==void 0&&(this.child[this.child.length-1][nn]={startIndex:i})}static getMetaDataSymbol(){return nn}};function qo(t,e){let i={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let n=1,o=!1,s=!1,a="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(o&&et(t,"!ENTITY",e)){e+=7;let r,p;[r,p,e]=tg(t,e+1),p.indexOf("&")===-1&&(i[r]={regx:RegExp(`&${r};`,"g"),val:p})}else if(o&&et(t,"!ELEMENT",e)){e+=8;let{index:r}=ng(t,e+1);e=r}else if(o&&et(t,"!ATTLIST",e))e+=8;else if(o&&et(t,"!NOTATION",e)){e+=9;let{index:r}=ig(t,e+1);e=r}else if(et(t,"!--",e))s=!0;else throw new Error("Invalid DOCTYPE");n++,a=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,n--):n--,n===0)break}else t[e]==="["?o=!0:a+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:e}}var qe=(t,e)=>{for(;e<t.length&&/\s/.test(t[e]);)e++;return e};function tg(t,e){e=qe(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e])&&t[e]!=='"'&&t[e]!=="'";)i+=t[e],e++;if(Do(i),e=qe(t,e),t.substring(e,e+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[e]==="%")throw new Error("Parameter entities are not supported");let n="";return[e,n]=on(t,e,"entity"),e--,[i,n,e]}function ig(t,e){e=qe(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e]);)i+=t[e],e++;Do(i),e=qe(t,e);let n=t.substring(e,e+6).toUpperCase();if(n!=="SYSTEM"&&n!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${n}"`);e+=n.length,e=qe(t,e);let o=null,s=null;if(n==="PUBLIC")[e,o]=on(t,e,"publicIdentifier"),e=qe(t,e),(t[e]==='"'||t[e]==="'")&&([e,s]=on(t,e,"systemIdentifier"));else if(n==="SYSTEM"&&([e,s]=on(t,e,"systemIdentifier"),!s))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:o,systemIdentifier:s,index:--e}}function on(t,e,i){let n="",o=t[e];if(o!=='"'&&o!=="'")throw new Error(`Expected quoted string, found "${o}"`);for(e++;e<t.length&&t[e]!==o;)n+=t[e],e++;if(t[e]!==o)throw new Error(`Unterminated ${i} value`);return e++,[e,n]}function ng(t,e){e=qe(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e]);)i+=t[e],e++;if(!Do(i))throw new Error(`Invalid element name: "${i}"`);e=qe(t,e);let n="";if(t[e]==="E"&&et(t,"MPTY",e))e+=4;else if(t[e]==="A"&&et(t,"NY",e))e+=2;else if(t[e]==="("){for(e++;e<t.length&&t[e]!==")";)n+=t[e],e++;if(t[e]!==")")throw new Error("Unterminated content model")}else throw new Error(`Invalid Element Expression, found "${t[e]}"`);return{elementName:i,contentModel:n.trim(),index:e}}function et(t,e,i){for(let n=0;n<e.length;n++)if(e[n]!==t[i+n+1])return!1;return!0}function Do(t){if(ni(t))return t;throw new Error(`Invalid entity name ${t}`)}var og=/^[-+]?0x[a-fA-F0-9]+$/,sg=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,ag={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Mo(t,e={}){if(e=Object.assign({},ag,e),!t||typeof t!="string")return t;let i=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(i))return t;if(t==="0")return 0;if(e.hex&&og.test(i))return lg(i,16);if(i.search(/.+[eE].+/)!==-1)return cg(t,i,e);{let n=sg.exec(i);if(n){let o=n[1]||"",s=n[2],a=pg(n[3]),r=o?t[s.length+1]===".":t[s.length]===".";if(!e.leadingZeros&&(s.length>1||s.length===1&&!r))return t;{let p=Number(i),l=String(p);if(p===0)return p;if(l.search(/[eE]/)!==-1)return e.eNotation?p:t;if(i.indexOf(".")!==-1)return l==="0"||l===a||l===`${o}${a}`?p:t;let c=s?a:i;return s?c===l||o+c===l?p:t:c===l||c===o+l?p:t}}else return t}}var rg=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function cg(t,e,i){if(!i.eNotation)return t;let n=e.match(rg);if(n){let o=n[1]||"",s=n[3].indexOf("e")===-1?"E":"e",a=n[2],r=o?t[a.length+1]===s:t[a.length]===s;return a.length>1&&r?t:a.length===1&&(n[3].startsWith(`.${s}`)||n[3][0]===s)?Number(e):i.leadingZeros&&!r?(e=(n[1]||"")+n[3],Number(e)):t}else return t}function pg(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substring(0,t.length-1))),t}function lg(t,e){if(parseInt)return parseInt(t,e);if(Number.parseInt)return Number.parseInt(t,e);if(window&&window.parseInt)return window.parseInt(t,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function zo(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let i of t)if(typeof i=="string"&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}var si=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(i,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(i,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=ug,this.parseXml=gg,this.parseTextData=dg,this.resolveNameSpace=mg,this.buildAttributesMap=hg,this.isItStopNode=yg,this.replaceEntitiesValue=vg,this.readStopNodeData=Sg,this.saveTextToParentTag=bg,this.addChild=xg,this.ignoreAttributesFn=zo(this.options.ignoreAttributes)}};function ug(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let n=e[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function dg(t,e,i,n,o,s,a){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));let r=this.options.tagValueProcessor(e,t,i,o,s);return r==null?t:typeof r!=typeof t||r!==t?r:this.options.trimValues?Ho(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Ho(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function mg(t){if(this.options.removeNSPrefix){let e=t.split(":"),i=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=i+e[1])}return t}var fg=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function hg(t,e,i){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){let n=tn(t,fg),o=n.length,s={};for(let a=0;a<o;a++){let r=this.resolveNameSpace(n[a][1]);if(this.ignoreAttributesFn(r,e))continue;let p=n[a][4],l=this.options.attributeNamePrefix+r;if(r.length)if(this.options.transformAttributeName&&(l=this.options.transformAttributeName(l)),l==="__proto__"&&(l="#__proto__"),p!==void 0){this.options.trimValues&&(p=p.trim()),p=this.replaceEntitiesValue(p);let c=this.options.attributeValueProcessor(r,p,e);c==null?s[l]=p:typeof c!=typeof p||c!==p?s[l]=c:s[l]=Ho(p,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[l]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=s,a}return s}}var gg=function(t){t=t.replace(/\r\n?/g,`
144
- `);let e=new pe("!xml"),i=e,n="",o="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){let r=tt(t,">",s,"Closing Tag is not closed."),p=t.substring(s+2,r).trim();if(this.options.removeNSPrefix){let d=p.indexOf(":");d!==-1&&(p=p.substr(d+1))}this.options.transformTagName&&(p=this.options.transformTagName(p)),i&&(n=this.saveTextToParentTag(n,i,o));let l=o.substring(o.lastIndexOf(".")+1);if(p&&this.options.unpairedTags.indexOf(p)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${p}>`);let c=0;l&&this.options.unpairedTags.indexOf(l)!==-1?(c=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):c=o.lastIndexOf("."),o=o.substring(0,c),i=this.tagsNodeStack.pop(),n="",s=r}else if(t[s+1]==="?"){let r=Jo(t,s,!1,"?>");if(!r)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,o),!(this.options.ignoreDeclaration&&r.tagName==="?xml"||this.options.ignorePiTags)){let p=new pe(r.tagName);p.add(this.options.textNodeName,""),r.tagName!==r.tagExp&&r.attrExpPresent&&(p[":@"]=this.buildAttributesMap(r.tagExp,o,r.tagName)),this.addChild(i,p,o,s)}s=r.closeIndex+1}else if(t.substr(s+1,3)==="!--"){let r=tt(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){let p=t.substring(s+4,r-2);n=this.saveTextToParentTag(n,i,o),i.add(this.options.commentPropName,[{[this.options.textNodeName]:p}])}s=r}else if(t.substr(s+1,2)==="!D"){let r=qo(t,s);this.docTypeEntities=r.entities,s=r.i}else if(t.substr(s+1,2)==="!["){let r=tt(t,"]]>",s,"CDATA is not closed.")-2,p=t.substring(s+9,r);n=this.saveTextToParentTag(n,i,o);let l=this.parseTextData(p,i.tagname,o,!0,!1,!0,!0);l==null&&(l=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:p}]):i.add(this.options.textNodeName,l),s=r+2}else{let r=Jo(t,s,this.options.removeNSPrefix),p=r.tagName,l=r.rawTagName,c=r.tagExp,d=r.attrExpPresent,f=r.closeIndex;this.options.transformTagName&&(p=this.options.transformTagName(p)),i&&n&&i.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,i,o,!1));let S=i;S&&this.options.unpairedTags.indexOf(S.tagname)!==-1&&(i=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),p!==e.tagname&&(o+=o?"."+p:p);let m=s;if(this.isItStopNode(this.options.stopNodes,o,p)){let h="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)p[p.length-1]==="/"?(p=p.substr(0,p.length-1),o=o.substr(0,o.length-1),c=p):c=c.substr(0,c.length-1),s=r.closeIndex;else if(this.options.unpairedTags.indexOf(p)!==-1)s=r.closeIndex;else{let P=this.readStopNodeData(t,l,f+1);if(!P)throw new Error(`Unexpected end of ${l}`);s=P.i,h=P.tagContent}let y=new pe(p);p!==c&&d&&(y[":@"]=this.buildAttributesMap(c,o,p)),h&&(h=this.parseTextData(h,p,o,!0,d,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),y.add(this.options.textNodeName,h),this.addChild(i,y,o,m)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){p[p.length-1]==="/"?(p=p.substr(0,p.length-1),o=o.substr(0,o.length-1),c=p):c=c.substr(0,c.length-1),this.options.transformTagName&&(p=this.options.transformTagName(p));let h=new pe(p);p!==c&&d&&(h[":@"]=this.buildAttributesMap(c,o,p)),this.addChild(i,h,o,m),o=o.substr(0,o.lastIndexOf("."))}else{let h=new pe(p);this.tagsNodeStack.push(i),p!==c&&d&&(h[":@"]=this.buildAttributesMap(c,o,p)),this.addChild(i,h,o,m),i=h}n="",s=f}}else n+=t[s];return e.child};function xg(t,e,i,n){this.options.captureMetaData||(n=void 0);let o=this.options.updateTag(e.tagname,i,e[":@"]);o===!1||(typeof o=="string"&&(e.tagname=o),t.addChild(e,n))}var vg=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){let i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){let i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function bg(t,e,i,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,i,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function yg(t,e,i){let n="*."+i;for(let o in t){let s=t[o];if(n===s||e===s)return!0}return!1}function wg(t,e,i=">"){let n,o="";for(let s=e;s<t.length;s++){let a=t[s];if(n)a===n&&(n="");else if(a==='"'||a==="'")n=a;else if(a===i[0])if(i[1]){if(t[s+1]===i[1])return{data:o,index:s}}else return{data:o,index:s};else a===" "&&(a=" ");o+=a}}function tt(t,e,i,n){let o=t.indexOf(e,i);if(o===-1)throw new Error(n);return o+e.length-1}function Jo(t,e,i,n=">"){let o=wg(t,e+1,n);if(!o)return;let s=o.data,a=o.index,r=s.search(/\s/),p=s,l=!0;r!==-1&&(p=s.substring(0,r),s=s.substring(r+1).trimStart());let c=p;if(i){let d=p.indexOf(":");d!==-1&&(p=p.substr(d+1),l=p!==o.data.substr(d+1))}return{tagName:p,tagExp:s,closeIndex:a,attrExpPresent:l,rawTagName:c}}function Sg(t,e,i){let n=i,o=1;for(;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="/"){let s=tt(t,">",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(o--,o===0))return{tagContent:t.substring(n,i),i:s};i=s}else if(t[i+1]==="?")i=tt(t,"?>",i+1,"StopNode is not closed.");else if(t.substr(i+1,3)==="!--")i=tt(t,"-->",i+3,"StopNode is not closed.");else if(t.substr(i+1,2)==="![")i=tt(t,"]]>",i,"StopNode is not closed.")-2;else{let s=Jo(t,i,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&o++,i=s.closeIndex)}}function Ho(t,e,i){if(e&&typeof t=="string"){let n=t.trim();return n==="true"?!0:n==="false"?!1:Mo(t,i)}else return Ep(t)?t:""}var Vo=pe.getMetaDataSymbol();function Wo(t,e){return Op(t,e)}function Op(t,e,i){let n,o={};for(let s=0;s<t.length;s++){let a=t[s],r=Eg(a),p="";if(i===void 0?p=r:p=i+"."+r,r===e.textNodeName)n===void 0?n=a[r]:n+=""+a[r];else{if(r===void 0)continue;if(a[r]){let l=Op(a[r],e,p),c=kg(l,e);a[Vo]!==void 0&&(l[Vo]=a[Vo]),a[":@"]?Tg(l,a[":@"],p,e):Object.keys(l).length===1&&l[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?l=l[e.textNodeName]:Object.keys(l).length===0&&(e.alwaysCreateTextNode?l[e.textNodeName]="":l=""),o[r]!==void 0&&o.hasOwnProperty(r)?(Array.isArray(o[r])||(o[r]=[o[r]]),o[r].push(l)):e.isArray(r,p,c)?o[r]=[l]:o[r]=l}}}return typeof n=="string"?n.length>0&&(o[e.textNodeName]=n):n!==void 0&&(o[e.textNodeName]=n),o}function Eg(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let n=e[i];if(n!==":@")return n}}function Tg(t,e,i,n){if(e){let o=Object.keys(e),s=o.length;for(let a=0;a<s;a++){let r=o[a];n.isArray(r,i+"."+r,!0,!0)?t[r]=[e[r]]:t[r]=e[r]}}}function kg(t,e){let{textNodeName:i}=e,n=Object.keys(t).length;return!!(n===0||n===1&&(t[i]||typeof t[i]=="boolean"||t[i]===0))}var Ot=class{constructor(e){this.externalEntities={},this.options=Ap(e)}parse(e,i){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let s=Rp(e,i);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}let n=new si(this.options);n.addExternalEntities(this.externalEntities);let o=n.parseXml(e);return this.options.preserveOrder||o===void 0?o:Wo(o,this.options)}addEntity(e,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return pe.getMetaDataSymbol()}};var sn=class t{constructor(e){this.conf=e;this.appiumBaseUrl=`https://${this.conf.baseUrl}/wd/hub`,this.headers={Authorization:`Basic ${btoa(this.conf.slug+":"+this.conf.apiKey)}`},this.cfg=e}appiumBaseUrl;headers;cfg;sessionId;platform="android";isWebSession=!1;async startWebdriverSession(e,i){this.sessionId&&await this.stopSession();let n={...i,"mobitru:keepDevice":!0};this.cfg?.wid!=="0"&&(n["mobitru:wid"]=this.cfg?.wid);let o={hostname:this.cfg.baseUrl,path:"/wd/hub",protocol:"https",user:this.cfg.slug,key:this.cfg.apiKey,port:443,headers:{...this.headers},capabilities:n};return this.platform=e,await(0,_p.remote)(o)}async startSession(e,i){try{let n={...i,"mobitru:keepDevice":!0};this.cfg?.wid!=="0"&&(n["mobitru:wid"]=this.cfg?.wid);let o=await fetch(this.appiumBaseUrl+"/session",{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify({capabilities:{alwaysMatch:n,firstMatch:[{}]}})});if(!o.ok){let a=await o.text();throw new Error(a)}let s=await o.json();if(!s.value?.sessionId)throw new Error("No session ID returned: "+JSON.stringify(s));this.sessionId=s.value.sessionId,this.platform=e}catch(n){throw this.clearSessionState(),g(`Failed to start session: ${n.message}`),new Error(`Failed to start session: ${n.message}`)}}async startNativeSession(e){let i=e.platform.toLowerCase(),n=t.prepareCapabilities(e);await this.startSession(i,n),this.isWebSession=!1}async startWebSession(e){let i=e.platform.toLowerCase(),n=t.prepareWebCapabilities(e);await this.startSession(i,n),this.isWebSession=!0}isWebSessionActive(){return this.isWebSession}clearSessionState(){this.sessionId=void 0,this.isWebSession=!1}async stopSession(){if(this.sessionId)try{await fetch(`${this.appiumBaseUrl}/session/${this.sessionId}`,{method:"DELETE",headers:this.headers})}catch(e){g(`Failed to stop session: ${e.message}`)}finally{this.clearSessionState()}}async tapElementByXPath(e){let i=await this._post(`/session/${this.sessionId}/element`,{using:"xpath",value:e}),n=i.value.ELEMENT||i.value["element-6066-11e4-a52e-4f735466cecf"];await this._post(`/session/${this.sessionId}/element/${n}/click`,{})}async tapCoordinates(e,i){await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:[{type:"pointerMove",duration:0,x:e,y:i},{type:"pointerDown",button:0},{type:"pause",duration:100},{type:"pointerUp",button:0}]}]})}async executeMobileCommand(e,i){return await this._post(`/session/${this.sessionId}/execute`,{script:e,args:i})}async _get(e){return await(await this._fetchWithTimeout(`${this.appiumBaseUrl}${e}`,{headers:this.headers})).json()}async _post(e,i){let n=await this._fetchWithTimeout(`${this.appiumBaseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify(i)});if(!n.ok){let o=await n.text();throw g(`Error in Appium request: ${o}`),new Error(`Error in Appium request: ${o}`)}return await n.json()}async _fetchWithTimeout(e,i={}){let n=Number(process.env.APPIUM_REQUEST_TIMEOUT_MS)||0;if(n<=0)return fetch(e,i);let o=new AbortController,s=setTimeout(()=>o.abort(),n);try{return await fetch(e,{...i,signal:o.signal})}catch(a){throw a.name==="AbortError"?new Error(`Appium request timed out after ${n/1e3}s: ${e}`):a}finally{clearTimeout(s)}}async isAppInstalled(e){return(await this._post(`/session/${this.sessionId}/appium/device/app_installed`,{bundleId:e})).value}static prepareCapabilities(e){let i=e.platform.toLowerCase()==="android";return{platformName:i?"Android":"iOS","appium:udid":e.serial,"appium:automationName":i?"UiAutomator2":"XCUITest","appium:newCommandTimeout":1200}}static prepareWebCapabilities(e){let i=e.platform.toLowerCase()==="android";return{platformName:i?"Android":"iOS","appium:udid":e.serial,"appium:automationName":i?"UiAutomator2":"XCUITest","appium:newCommandTimeout":1200,browserName:i?"chrome":"safari"}}async getScreenSize(){let e=await this._get(`/session/${this.sessionId}/window/rect`);if(!e.value)throw new Error("Failed to get screen size");return{width:e.value.width,height:e.value.height,scale:e.value.scale||1}}async getScreenshot(){return(await this._get(`/session/${this.sessionId}/screenshot`)).value}async swipe(e,i=.5){let n=await this.getScreenSize(),o=n.width/2,s=n.height/2,a=o,r=s,p=o,l=s;switch(e){case"up":r=s+n.height*i/2,l=s-n.height*i/2;break;case"down":r=s-n.height*i/2,l=s+n.height*i/2;break;case"left":a=o+n.width*i/2,p=o-n.width*i/2;break;case"right":a=o-n.width*i/2,p=o+n.width*i/2;break}await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:[{type:"pointerMove",duration:0,x:Math.round(a),y:Math.round(r)},{type:"pointerDown",button:0},{type:"pointerMove",duration:300,x:Math.round(p),y:Math.round(l)},{type:"pointerUp",button:0}]}]})}async continuousSwipe(e){if(e.length<2)throw new Error("At least two points are required for a continuous swipe");if(e.length>20)throw new Error(`Maximum of ${20} points are allowed for a continuous swipe`);let i=[{type:"pointerMove",duration:0,x:Math.round(e[0].x),y:Math.round(e[0].y)},{type:"pointerDown",button:0},...e.slice(1).map(n=>({type:"pointerMove",duration:250,x:Math.round(n.x),y:Math.round(n.y)})),{type:"pointerUp",button:0}];await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:i}]})}async launchApp(e){await this._post(`/session/${this.sessionId}/appium/device/activate_app`,{bundleId:e})}async terminateApp(e){await this._post(`/session/${this.sessionId}/appium/device/terminate_app`,{bundleId:e})}async openUrl(e){if(!this.isWebSessionActive())throw new Error("Cannot open URL in non-web session");await this._post(`/session/${this.sessionId}/url`,{url:e})}async sendKeys(e){await this._post(`/session/${this.sessionId}/keys`,{value:e.split("")})}async pressButton(e){if(this.platform==="android"){let i;switch(e){case"HOME":i=3;break;case"BACK":i=4;break;case"VOLUME_UP":i=24;break;case"VOLUME_DOWN":i=25;break;case"ENTER":i=66;break;case"DPAD_CENTER":i=23;break;case"DPAD_UP":i=19;break;case"DPAD_DOWN":i=20;break;case"DPAD_LEFT":i=21;break;case"DPAD_RIGHT":i=22;break;default:throw new Error(`Unsupported button: ${e}`)}await this._post(`/session/${this.sessionId}/appium/device/press_keycode`,{keycode:i})}else{if(e==="ENTER"){await this.sendKeys(`
145
- `);return}let i;switch(e){case"HOME":i="home";break;case"VOLUME_UP":i="volumeUp";break;case"VOLUME_DOWN":i="volumeDown";break;default:throw new Error(`Unsupported button on iOS: ${e}`)}this.executeMobileCommand("mobile: pressButton",{name:i})}}isVisible(e){return e.x>=0&&e.y>=0}filterIosSourceElements(e){let i=[];if(["XCUIElementTypeIcon","XCUIElementTypeButton","XCUIElementTypeTextField","XCUIElementTypeTextView","XCUIElementTypeStaticText","XCUIElementTypeImage","XCUIElementTypeLink","XCUIElementTypeOther"].includes(e.type)&&e.visible==="true"&&this.isVisible(e.rect)&&(e.label!==null||e.name!==null)&&i.push({type:e.type,label:e.label,name:e.name,value:e.value,rect:{x:e.rect.x,y:e.rect.y,width:e.rect.width,height:e.rect.height}}),e.children)for(let o of e.children)i.push(...this.filterIosSourceElements(o));return i}async getPageSource(){let e=await this._get(`/session/${this.sessionId}/source`);return new Ot({ignoreAttributes:!1,attributeNamePrefix:""}).parse(e.value)}collectAndroidElements(e){let i=[];if(e.node)if(Array.isArray(e.node))for(let n of e.node)i.push(...this.collectAndroidElements(n));else i.push(...this.collectAndroidElements(e.node));if(e.text||e["content-desc"]||e.hint){let n={type:e.class||"text",text:e.text,label:e["content-desc"]||e.hint||"",rect:this.getScreenElementRect(e)};e.focused==="true"&&(n.focused=!0),n.rect.width>0&&n.rect.height>0&&i.push(n)}return i}convertAndroidXmlToNodeStructure(e){if(typeof e!="object"||e===null)return e;let i={...e};for(let n in e)typeof e[n]=="object"&&e[n]!==null&&(i.node||(i.node=[]),i.node.push(this.convertAndroidXmlToNodeStructure(e[n])),delete i[n]);return i}convertIosXmlToNodeStructure(e){if(typeof e!="object"||e===null)return e;let i={...e};i.rect={x:parseInt(e.x,10)||0,y:parseInt(e.y,10)||0,width:parseInt(e.width,10)||0,height:parseInt(e.height,10)||0};for(let n in e)typeof e[n]=="object"&&e[n]!==null&&(i.children||(i.children=[]),i.children.push(this.convertIosXmlToNodeStructure(e[n])),delete i[n]);return i}getScreenElementRect(e){let i=String(e.bounds),[,n,o,s,a]=i.match(/^\[(\d+),(\d+)\]\[(\d+),(\d+)\]$/)?.map(Number)||[];return{x:n,y:o,width:s-n,height:a-o}}async getElementsOnScreen(){let e=await this.getPageSource();if(this.platform==="android"){let o=this.convertAndroidXmlToNodeStructure(e.hierarchy);return this.collectAndroidElements(o.node[0])}let i=this.convertIosXmlToNodeStructure(e.AppiumAUT);return this.filterIosSourceElements(i)}async setOrientation(e){await this._post(`/session/${this.sessionId}/orientation`,{orientation:e.toUpperCase()})}async getOrientation(){return(await this._get(`/session/${this.sessionId}/orientation`)).value.toLowerCase()}async getWebElementsOnScreen(){if(!this.sessionId)throw new Error("No active session");return(await this._post(`/session/${this.sessionId}/execute/sync`,{script:wp,args:[]})).value||[]}async findElementByCssSelector(e){if(!this.sessionId)throw new Error("No active session");let i=await this._post(`/session/${this.sessionId}/element`,{using:"css selector",value:e}),n=i.value.ELEMENT||i.value["element-6066-11e4-a52e-4f735466cecf"];if(!n)throw new Error(`Element not found with CSS selector: ${e}`);return n}async clickElementByCssSelector(e){if(!this.sessionId)throw new Error("No active session");try{let i=await this.findElementByCssSelector(e);await this._post(`/session/${this.sessionId}/element/${i}/click`,{})}catch(i){throw g(`Failed to click element with CSS selector "${e}": ${i.message}`),new Error(`Failed to click element with CSS selector "${e}": ${i.message}`)}}};var an=class{appiumClient;platform;constructor(e,i){this.appiumClient=e,this.platform=i}async close(){await this.appiumClient.stopSession()}async getScreenSize(){try{return await this.appiumClient.getScreenSize()}catch(e){throw g(`Failed to get screen size: ${e}`),new H(`Failed to get screen size: ${e}`)}}async swipe(e,i=1){try{return await this.appiumClient.swipe(e,i),await this.getElementsOnScreen(500)}catch(n){throw g(`Failed to swipe ${e}: ${n}`),new H(`Failed to swipe ${e}: ${n}`)}}async getScreenshot(){try{let e=await this.appiumClient.getScreenshot();return Buffer.from(e,"base64")}catch(e){throw g(`Failed to get screenshot: ${e}`),new H(`Failed to get screenshot: ${e}`)}}async isAppInstalled(e){try{return await this.appiumClient.isAppInstalled(e)}catch(i){throw g(`Failed to list apps: ${i}`),new H(`Failed to list apps: ${i}`)}}async launchApp(e){try{return await this.appiumClient.launchApp(e),await this.getElementsOnScreen(5e3)}catch(i){throw g(`Failed to launch app ${e}: ${i}`),new H(`Failed to launch app ${e}: ${i}`)}}async terminateApp(e){try{return await this.appiumClient.terminateApp(e),await this.getElementsOnScreen(1e3)}catch(i){throw g(`Failed to terminate app ${e}: ${i}`),new H(`Failed to terminate app ${e}: ${i}`)}}async openUrl(e){try{return await this.appiumClient.openUrl(e),await this.getElementsOnScreen()}catch(i){throw g(`Failed to open URL ${e}: ${i}`),new H(`Failed to open URL ${e}: ${i}`)}}async sendKeys(e){try{return await this.appiumClient.sendKeys(e),await this.getElementsOnScreen(500)}catch(i){throw g(`Failed to send keys: ${i}`),new H(`Failed to send keys: ${i}`)}}async pressButton(e){try{return await this.appiumClient.pressButton(e),await this.getElementsOnScreen(1e3)}catch(i){throw g(`Failed to press button ${e}: ${i}`),new H(`Failed to press button ${e}: ${i}`)}}async tap(e,i){try{return await this.appiumClient.tapCoordinates(e,i),await this.getElementsOnScreen(1e3)}catch(n){throw g(`Failed to tap at coordinates (${e}, ${i}): ${n}`),new H(`Failed to tap at coordinates (${e}, ${i}): ${n}`)}}async getElementsOnScreen(e=0){try{return e>0&&await new Promise(i=>setTimeout(i,e)),this.appiumClient.isWebSessionActive()?await this.appiumClient.getWebElementsOnScreen():await this.appiumClient.getElementsOnScreen()}catch(i){throw g(`Failed to get elements on screen: ${i}`),new H(`Failed to get elements on screen: ${i}`)}}async setOrientation(e){try{return await this.appiumClient.setOrientation(e),await this.getElementsOnScreen(500)}catch(i){throw g(`Failed to set orientation to ${e}: ${i}`),new H(`Failed to set orientation to ${e}: ${i}`)}}async getOrientation(){try{return await this.appiumClient.getOrientation()}catch(e){throw g(`Failed to get orientation: ${e}`),new H(`Failed to get orientation: ${e}`)}}async clickWebElement(e){try{if(!this.appiumClient.isWebSessionActive())throw new H("This method is only available for web sessions. Use mobile_appium_init with sessionType='web' to start a web session.");return await this.appiumClient.clickElementByCssSelector(e),await this.getElementsOnScreen()}catch(i){throw g(`Failed to click web element with CSS selector "${e}": ${i}`),new H(`Failed to click element: ${i}`)}}async continuousSwipe(e){try{return await this.appiumClient.continuousSwipe(e),await this.getElementsOnScreen(1e3)}catch(i){throw g(`Failed to perform continuous swipe: ${i}`),new H(`Failed to perform continuous swipe: ${i}`)}}};function It(t){let e=t.state.currentJob;if(e&&Ae(e))throw new v(`an appium-run job is in flight on serial "${e.serial}" \u2014 run appium-cancel first or wait for it to finish`,409)}function L(t){let e=t.state.activeDevice;if(!e)throw new v("no active device \u2014 run device-use first",400);return e}function fe(t){let e=t.body?.savePath;if(!e||typeof e!="string")throw new v("savePath is required",400);return e}function ye(t,e){return Go.default.mkdirSync($p.default.dirname(t),{recursive:!0}),Go.default.writeFileSync(t,e),{path:t,bytes:e.length}}var Xo=t=>t?.response?.status===404;async function V(t){if(It(t),t.state.robot)return t.state.robot;let e=L(t),n=await new Se(t.deviceFarm).getDeviceInfo(e),o=new sn(t.deviceFarm);t.state.sessionType==="web"?await o.startWebSession(n):await o.startNativeSession(n);let s=new an(o,n.platform.toLowerCase());return t.state.robot=s,t.log.info({serial:e,platform:n.platform,sessionType:t.state.sessionType},"robot initialized"),s}function Ko(t){t.get("/devices",async e=>{let i=e.query.platform;if(!i||!en(i))throw new v(`platform must be one of: ${At.join(", ")}`,400);return await new Se(t.deviceFarm).findDevice({platform:i})}),t.post("/device/use",async e=>{It(t);let{serial:i,duration:n=180}=e.body,o=e.body.sessionType??"native";if(!i)throw new v("serial is required",400);if(o!=="native"&&o!=="web")throw new v(`sessionType must be "native" or "web"; got "${o}"`,400);if(t.state.activeDevice===i&&t.state.sessionType===o)return{serial:i,duration:n,sessionType:o,alreadyActive:!0};if(t.state.activeDevice===i&&t.state.sessionType!==o){let r=t.state.sessionType;if(t.state.robot){try{await t.state.robot.close()}catch{}t.state.robot=null}return t.state.snapshotRefs=null,t.state.sessionType=o,t.log.info({serial:i,from:r,to:o},"session type switched in-place (booking preserved)"),{serial:i,duration:n,sessionType:o,sessionSwitched:{from:r,to:o}}}if(t.state.activeDevice)throw new v(`device "${t.state.activeDevice}" is currently in use. Run device-release first, then device-use ${i}.`,409);let a=await new Se(t.deviceFarm).takeDeviceBySerial(i,n);return t.state.activeDevice=i,t.state.sessionType=o,t.log.info({serial:i,duration:n,sessionType:o},"activeDevice set"),{serial:i,duration:n,sessionType:o,result:a}}),t.post("/device/release",async()=>(It(t),await Yo(t)))}async function Yo(t){let e=t.state.activeDevice;if(!e)return t.log.info("releaseActiveDevice: no activeDevice, no-op"),{released:!1};let i;if(t.state.recordingActive)try{i=(await new Le(t.deviceFarm).stopRecording(e)).recordingId,t.log.info({serial:e,recordingId:i},"auto-stopped active recording before release")}catch(o){t.log.warn({serial:e,err:o},"auto-stop recording failed; recording may be lost")}finally{t.state.recordingActive=!1}if(t.state.robot)try{await t.state.robot.close()}catch(o){t.log.warn({err:o},"robot.close threw, ignoring")}t.state.robot=null,t.state.snapshotRefs=null;let n;try{n=await new Se(t.deviceFarm).releaseDevice(e)}catch(o){let s=o instanceof I?o.statusCode:void 0;if(s!==403&&s!==404)throw o;t.log.warn({serial:e,status:s},"release returned 4xx \u2014 booking already gone, clearing local state"),n={alreadyReleased:!0,status:s}}return t.state.activeDevice=null,t.log.info({serial:e},"activeDevice cleared"),{released:!0,serial:e,result:n,...i?{recordingId:i}:{}}}var it=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async createBooking(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings`,{name:n,start:o,end:s,offset:a,devices:r,isPrivate:p}=e,l={name:n,start:o,end:s,offset:a,devices:r};p!==void 0&&(l.private=p);try{k(`Creating booking for devices: ${r.join(", ")}`);let c=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(l)});if(!c.ok){let d=await c.text();throw new I(`Failed to create booking: ${c.status} ${c.statusText} - ${d}`,c.status)}return await c.json()}catch(c){throw g(`Error creating booking: ${c.message}`),c}}async cancelBooking(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings/${e}`;try{k(`Cancelling booking: ${e}`);let n=await fetch(i,{method:"DELETE",headers:this.headers});if(!n.ok)throw new I(`Failed to cancel booking: ${n.status} ${n.statusText}`,n.status)}catch(n){throw g(`Error cancelling booking: ${n.message}`),n}}async getBookings(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings`,o=new URLSearchParams;e&&o.append("iso","true"),i&&o.append("till",i.toString());let s=o.toString();s&&(n=`${n}?${s}`);try{k("Fetching bookings");let a=await fetch(n,{method:"GET",headers:this.headers});if(!a.ok)throw new I(`Failed to fetch bookings: ${a.status} ${a.statusText}`,a.status);return await a.json()}catch(a){throw g(`Error fetching bookings: ${a.message}`),a}}async getBookingById(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings/${e}`;i&&(n=`${n}?iso=true`);try{k(`Fetching booking: ${e}`);let o=await fetch(n,{method:"GET",headers:this.headers});if(!o.ok)throw new I(`Failed to fetch booking: ${o.status} ${o.statusText}`,o.status);return await o.json()}catch(o){throw g(`Error fetching booking: ${o.message}`),o}}};function Zo(t){t.get("/bookings",async e=>{let i=e.query.till?Number(e.query.till):void 0;return await new it(t.deviceFarm).getBookings(!0,i)}),t.get("/bookings/:id",async e=>await new it(t.deviceFarm).getBookingById(e.params.id,!0)),t.post("/bookings",async e=>{let{name:i,start:n,end:o,offset:s,devices:a,isPrivate:r}=e.body??{};if(!i||typeof i!="string")throw new v("name is required",400);if(typeof n!="number"||typeof o!="number")throw new v("start and end are required (epoch seconds)",400);if(typeof s!="number")throw new v("offset is required (timezone offset in minutes from UTC)",400);if(!Array.isArray(a)||a.length===0)throw new v("devices must be a non-empty array of serials",400);return await new it(t.deviceFarm).createBooking({name:i,start:n,end:o,offset:s,devices:a,isPrivate:r})}),t.delete("/bookings/:id",async e=>(await new it(t.deviceFarm).cancelBooking(e.params.id),{cancelled:!0,id:e.params.id}))}function Qo(t){t.post("/screenshot",async e=>{let i=fe(e),o=await(await V(t)).getScreenshot();return ye(i,o)}),t.get("/screen-size",async()=>await(await V(t)).getScreenSize()),t.post("/snapshot",async e=>{let i=fe(e),o=await(await V(t)).getElementsOnScreen(),s=new Map,a=o.map((p,l)=>{let c=`e${l+1}`;return s.set(c,p),{...p,ref:c}});t.state.snapshotRefs=s;let r=Buffer.from(JSON.stringify({elements:a},null,2));return{...ye(i,r),refCount:a.length}}),t.post("/tap-at",async e=>{let{x:i,y:n}=e.body??{};if(typeof i!="number"||typeof n!="number")throw new v("x and y are required (numbers)",400);return await(await V(t)).tap(i,n),{x:i,y:n}}),t.post("/tap",async e=>{let i=e.body?.ref;if(!i||typeof i!="string")throw new v("ref is required",400);let n=t.state.snapshotRefs?.get(i);if(!n)throw new v(`ref "${i}" not found. Run snapshot first.`,400);let o=await V(t),{x:s,y:a,width:r,height:p}=n.rect;return await o.tap(s+r/2,a+p/2),{ref:i}}),t.get("/orientation",async()=>({orientation:await(await V(t)).getOrientation()})),t.put("/orientation",async e=>{let i=e.body?.orientation;if(!i||typeof i!="string")throw new v("orientation is required",400);if(!As(i))throw new v(`unsupported orientation: ${i}. Supported: ${Cn.join(", ")}`,400);return await(await V(t)).setOrientation(i),{orientation:i}}),t.post("/continuous-swipe",async e=>{let i=e.body?.points;if(!Array.isArray(i)||i.length<2||i.length>20)throw new v("points must be an array of 2..20 {x,y} pairs",400);for(let o of i)if(!o||typeof o.x!="number"||typeof o.y!="number")throw new v("each point must be {x: number, y: number}",400);return await(await V(t)).continuousSwipe(i),{count:i.length}}),t.post("/swipe",async e=>{let i=e.body?.direction;if(!i||typeof i!="string")throw new v("direction is required",400);if(!Ps(i))throw new v(`unsupported direction: ${i}. Supported: ${Tn.join(", ")}`,400);return await(await V(t)).swipe(i,e.body?.force),{direction:i}}),t.post("/type",async e=>{let i=e.body?.text;if(typeof i!="string")throw new v("text is required",400);let n=e.body?.submit===!0,o=await V(t);return await o.sendKeys(i),n&&await o.pressButton("ENTER"),{text:i,submitted:n}}),t.post("/press",async e=>{let i=e.body?.button;if(!i||typeof i!="string")throw new v("button is required",400);let n=i.toUpperCase();if(!Rs(n))throw new v(`unsupported button: ${i}. Supported: ${kn.join(", ")}`,400);return await(await V(t)).pressButton(n),{button:n}})}function es(t){t.post("/open-url",async e=>{let i=e.body?.url;if(!i||typeof i!="string")throw new v("url is required",400);return await(await V(t)).openUrl(i),{url:i}}),t.post("/click-web-element",async e=>{let i=e.body?.selector;if(!i||typeof i!="string")throw new v("selector is required",400);return await(await V(t)).clickWebElement(i),{selector:i}})}var _t=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api/storage`}baseUrl;headers;apiPath;async installApp(e,i,n){try{let o=new URLSearchParams;n?.noResign!==void 0&&o.append("noResign",n.noResign.toString()),n?.doInjection!==void 0&&o.append("doInjection",n.doInjection.toString()),n?.mdmInstall!==void 0&&o.append("mdmInstall",n.mdmInstall.toString());let s=o.toString()?`?${o.toString()}`:"",a=`${this.baseUrl}${this.apiPath}/install/${e}/${i}${s}`,r=await B.get(a,{headers:this.headers});$(r,201,"install app"),k(`Successfully installed app on device ${e}`)}catch(o){throw g(`Error installing app: ${o}`),o}}async installAppOta(e,i){try{let n=`${this.baseUrl}${this.apiPath}/install/${e}/ota`,o=await B.post(n,{otaUrl:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,202,"initiate OTA installation"),k(`Successfully initiated OTA installation on device ${e}`)}catch(n){throw g(`Error initiating OTA installation: ${n}`),n}}async uninstallApp(e,i){try{let n=`${this.baseUrl}${this.apiPath}/uninstall/${e}`,o=await B.post(n,{appPackage:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,200,"uninstall app"),k(`Successfully uninstalled app ${i} from device ${e}`)}catch(n){throw g(`Error uninstalling app: ${n}`),n}}async uploadArtifact(e,i){try{let n=`${this.baseUrl}${this.apiPath}/upload/${e}/${i}`,o=await B.post(n,{},{headers:this.headers});$(o,201,"upload artifact"),k(`Successfully uploaded artifact to device ${e}`)}catch(n){throw g(`Error uploading artifact: ${n}`),n}}};function ts(t){t.post("/launch",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);return await(await V(t)).launchApp(i),{appId:i}}),t.post("/terminate",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);return await(await V(t)).terminateApp(i),{appId:i}}),t.get("/is-installed",async e=>{let i=e.query.app;if(!i)throw new v("app query param is required",400);let o=await(await V(t)).isAppInstalled(i);return{appId:i,installed:o}}),t.post("/install-app",async e=>{let i=e.body?.artifactId;if(!i||typeof i!="string")throw new v("artifactId is required",400);let n=L(t);return await new _t(t.deviceFarm).installApp(n,i),{artifactId:i}}),t.post("/install-app/ota",async e=>{let i=e.body?.otaUrl;if(!i||typeof i!="string")throw new v("otaUrl is required",400);let n=L(t);return await new _t(t.deviceFarm).installAppOta(n,i),{otaUrl:i}}),t.post("/uninstall-app",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);let n=L(t);return await new _t(t.deviceFarm).uninstallApp(n,i),{appId:i}})}var is=C(require("path"));var Fp=C(Xn()),Np=C(require("fs")),nt=class{client;config;constructor(e){this.config=e,this.client=Lo({baseURL:`https://${e.baseUrl}`,headers:{Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}})}async getArtifacts(e){try{let i=e?{filter:e}:void 0,n=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts`,{params:i});return $(n,200,"list artifacts"),n.data}catch(i){throw g(`Error getting artifacts: ${i.message}`),i}}async getArtifactById(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`);return $(i,200,"get artifact"),i.data}catch(i){throw g(`Error getting artifact: ${i.message}`),i}}async getArtifactStatus(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}/status`);return $(i,200,"get artifact status"),i.data}catch(i){throw g(`Error getting artifact status: ${i.message}`),i}}async downloadArtifact(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}/download`,{responseType:"arraybuffer"});return $(i,200,"download artifact"),Buffer.from(i.data)}catch(i){throw g(`Error downloading artifact: ${i.message}`),i}}async deleteArtifact(e){try{let i=await this.client.delete(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`);$(i,200,"delete artifact")}catch(i){throw g(`Error deleting artifact: ${i.message}`),i}}async updateArtifact(e,i){try{let n=await this.client.put(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`,i);$(n,200,"update artifact")}catch(n){throw g(`Error updating artifact: ${n.message}`),n}}async uploadArtifactFromBuffer(e){try{let i=new Fp.default;i.append("file",e.fileBuffer,e.fileName),i.append("fileName",e.fileName),e.contentLength&&i.append("contentLength",e.contentLength.toString()),e.private!==void 0&&i.append("private",e.private.toString()),e.alias&&i.append("alias",e.alias),e.checksum&&i.append("checksum",e.checksum),e.target&&i.append("target",e.target);let n={...i.getHeaders(),Authorization:`Bearer ${this.config.apiKey}`},o=await this.client.post(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts`,i,{headers:n});return $(o,200,"upload artifact"),o.data}catch(i){throw g(`Error uploading artifact: ${i.message}`),i}}async uploadArtifact(e){try{let i=Np.default.readFileSync(e.filePath);return await this.uploadArtifactFromBuffer({fileName:e.fileName,fileBuffer:i,contentLength:e.contentLength,private:e.private,alias:e.alias,checksum:e.checksum,target:e.target})}catch(i){throw g(`Error uploading artifact: ${i.message}`),i}}};function ns(t){t.get("/artifacts",async()=>await new nt(t.deviceFarm).getArtifacts()),t.get("/artifacts/info",async e=>{let i=e.query.id;if(!i)throw new v("id query param is required",400);return await new nt(t.deviceFarm).getArtifactById(i)}),t.post("/artifacts/upload",async e=>{let i=e.body?.filePath;if(!i||typeof i!="string")throw new v("filePath is required",400);let n=is.default.extname(i).toLowerCase(),o=e.body?.target??(n===".apk"?"android":n===".ipa"?"ios":void 0);if(!o)throw new v(`cannot determine target from extension "${n}". Pass target=android|ios.`,400);return await new nt(t.deviceFarm).uploadArtifact({fileName:is.default.basename(i),filePath:i,target:o,alias:e.body?.alias})}),t.post("/artifacts/download",async e=>{let i=fe(e),n=e.body?.artifactId;if(!n||typeof n!="string")throw new v("artifactId is required",400);let o=await new nt(t.deviceFarm).downloadArtifact(n);return ye(i,o)})}var ai=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getCurrentGeolocation(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/geolocation`,n=await B.get(i,{headers:this.headers});return $(n,200,"get geolocation"),k("Successfully retrieved geolocation"),n.data}catch(i){throw g(`Error getting geolocation: ${i}`),i}}async setGeolocation(e,i,n){try{let o=`${this.baseUrl}${this.apiPath}/device/${e}/geolocation`,s=await B.post(o,{lat:i,lng:n},{headers:{...this.headers,"Content-Type":"application/json"}});$(s,200,"set geolocation"),k(`Successfully set geolocation for device ${e}`)}catch(o){throw g(`Error setting geolocation: ${o}`),o}}};var ri=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getIPLocations(){try{let e=`${this.baseUrl}${this.apiPath}/iplocations`,i=await B.get(e,{headers:this.headers});return $(i,200,"get IP locations"),k("Successfully retrieved IP locations"),i.data}catch(e){throw g(`Error getting IP locations: ${e}`),e}}async setIPLocation(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/iplocations`,o=await B.post(n,{countryCode:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,200,"set IP location"),k(`Successfully set IP location to ${i} for device ${e}`)}catch(n){throw g(`Error setting IP location: ${n}`),n}}};function os(t){t.get("/geolocation",async()=>{let e=L(t);return await new ai(t.deviceFarm).getCurrentGeolocation(e)}),t.put("/geolocation",async e=>{let i=L(t),{lat:n,lng:o}=e.body??{};if(typeof n!="number"||!Number.isFinite(n)||n<-90||n>90)throw new v("lat must be a number in [-90, 90]",400);if(typeof o!="number"||!Number.isFinite(o)||o<-180||o>180)throw new v("lng must be a number in [-180, 180]",400);return await new ai(t.deviceFarm).setGeolocation(i,n,o),{lat:n,lng:o}}),t.get("/ip-location/list",async()=>await new ri(t.deviceFarm).getIPLocations()),t.post("/ip-location",async e=>{let i=L(t),n=e.body?.countryCode;if(!n||typeof n!="string")throw new v("countryCode is required (ISO-3166-1 alpha-2, or 'DEFAULT' to reset)",400);return await new ri(t.deviceFarm).setIPLocation(i,n),{countryCode:n}})}var ot=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getThrottlingPresets(){try{let e=`${this.baseUrl}${this.apiPath}/devices/throttle/presets`,i=await B.get(e,{headers:this.headers});return $(i,200,"get throttling presets"),k("Successfully retrieved throttling presets"),i.data}catch(e){throw g(`Error getting throttling presets: ${e}`),e}}async getThrottlingStatus(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,n=await B.get(i,{headers:this.headers});return $(n,200,"get throttling status"),k(`Successfully retrieved throttling status for device ${e}`),n.data}catch(i){throw g(`Error getting throttling status: ${i}`),i}}async enableThrottling(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,o=await B.post(n,i,{headers:this.headers});$(o,204,"enable throttling"),k(`Successfully enabled throttling for device ${e} with preset: ${i.preset}`)}catch(n){throw g(`Error enabling throttling: ${n}`),n}}async disableThrottling(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,n=await B.delete(i,{headers:this.headers});$(n,204,"disable throttling"),k(`Successfully disabled throttling for device ${e}`)}catch(i){throw g(`Error disabling throttling: ${i}`),i}}};function ss(t){t.get("/throttling/presets",async()=>await new ot(t.deviceFarm).getThrottlingPresets()),t.get("/throttling/status",async()=>{let e=L(t);return await new ot(t.deviceFarm).getThrottlingStatus(e)}),t.post("/throttling/enable",async e=>{let i=L(t),n=e.body?.preset;if(!n||typeof n!="string")throw new v("preset is required (run `throttling-presets` to list)",400);let o={preset:n,downloadKBitsPerSecond:e.body?.downloadKBitsPerSecond,uploadKBitsPerSecond:e.body?.uploadKBitsPerSecond,latencyMs:e.body?.latencyMs};if(n==="custom")for(let s of["downloadKBitsPerSecond","uploadKBitsPerSecond","latencyMs"]){let a=o[s];if(typeof a!="number"||!Number.isFinite(a)||a<0)throw new v(`preset=custom requires ${s} as a non-negative number`,400)}return await new ot(t.deviceFarm).enableThrottling(i,o),{enabled:!0,preset:n,...n==="custom"?{downloadKBitsPerSecond:o.downloadKBitsPerSecond,uploadKBitsPerSecond:o.uploadKBitsPerSecond,latencyMs:o.latencyMs}:{}}}),t.post("/throttling/disable",async()=>{let e=L(t);return await new ot(t.deviceFarm).disableThrottling(e),{enabled:!1}})}var $t=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async startHttpInspection(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/har`;try{k(`Starting HTTP inspection for device: ${e}`);let o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify(i||{})});if(!o.ok){let s=await o.text();throw new I(`Failed to start HTTP inspection: ${o.status} ${o.statusText} - ${s}`,o.status)}return await o.json()}catch(o){throw g(`Error starting HTTP inspection: ${o.message}`),o}}async stopHttpInspection(e,i=!1){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/har${i?"?await=true":""}`;try{k(`Stopping HTTP inspection for device: ${e}, await: ${i}`);let o=await fetch(n,{method:"DELETE",headers:this.headers});if(!o.ok){let s=await o.text();throw new I(`Failed to stop HTTP inspection: ${o.status} ${o.statusText} - ${s}`,o.status)}return i?await o.blob():await o.json()}catch(o){throw g(`Error stopping HTTP inspection: ${o.message}`),o}}async getHarFile(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/har/${e}`;try{k(`Downloading HAR file with ID: ${e}`);let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to download HAR file: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.blob()}catch(n){throw g(`Error downloading HAR file: ${n.message}`),n}}async saveHarFile(e,i){try{k(`Saving HAR file to: ${i}`);let n=await e.arrayBuffer(),o=Buffer.from(n);require("fs").writeFileSync(i,o),k(`HAR file saved successfully to: ${i}`)}catch(n){throw g(`Error saving HAR file: ${n.message}`),n}}};function as(t){t.post("/http-inspection/start",async e=>{let i=L(t),n={};return typeof e.body?.captureBinary=="boolean"&&(n.captureBinary=e.body.captureBinary),typeof e.body?.captureResponseContent=="boolean"&&(n.captureResponseContent=e.body.captureResponseContent),await new $t(t.deviceFarm).startHttpInspection(i,n)}),t.post("/http-inspection/stop",async()=>{let e=L(t);return await new $t(t.deviceFarm).stopHttpInspection(e,!1)}),t.post("/har/download",async e=>{let i=fe(e),n=e.body?.harId;if(!n||typeof n!="string")throw new v("harId is required",400);let o=await new $t(t.deviceFarm).getHarFile(n),s=Buffer.from(await o.arrayBuffer());return ye(i,s)})}var ci=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async startProfiler(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/profiler`,o={appPackage:i},s=await B.post(n,o,{headers:this.headers});$(s,201,"start profiler"),k(`Successfully started profiler for device ${e} on package ${i}`)}catch(n){throw g(`Error starting profiler: ${n}`),n}}async stopProfiler(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/profiler`,o=await B.delete(n,{headers:this.headers,responseType:"arraybuffer"});if($(o,200,"stop profiler"),i){let s=require("fs"),r=require("path").dirname(i);return s.existsSync(r)||s.mkdirSync(r,{recursive:!0}),s.writeFileSync(i,o.data),k(`Successfully saved profiler output to ${i}`),i}else return k(`Successfully retrieved profiler output for device ${e}`),o.data}catch(n){throw g(`Error stopping profiler: ${n}`),n}}};function rs(t){t.post("/profiler/start",async e=>{let i=L(t),n=e.body?.appPackage;if(!n||typeof n!="string")throw new v("appPackage is required",400);return await new ci(t.deviceFarm).startProfiler(i,n),{appPackage:n,started:!0}}),t.post("/profiler/stop",async e=>{let i=L(t),n=fe(e),o=await new ci(t.deviceFarm).stopProfiler(i);return ye(n,o)})}var cs=C(require("fs")),ps=C(require("path"));var jp=C(require("fs")),pi=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async injectImageFromBuffer(e,i,n="image/png",o="image.png"){let s=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/image`;try{k(`Injecting image for device: ${e}, fileName: ${o}, size: ${i.length} bytes`);let a=new FormData,r=new Blob([new Uint8Array(i)],{type:n});a.append("file",r,o);let p={Authorization:`Bearer ${this.config.apiKey}`,"X-Content-Type":n,"X-File-Name":o},l=await fetch(s,{method:"POST",headers:p,body:a});if(!l.ok){let c=await l.text();throw new I(`Failed to inject image: ${l.status} ${l.statusText} - ${c}`,l.status)}k(`Successfully injected image for device: ${e}`)}catch(a){throw g(`Error injecting image for device ${e}: ${a.message}`),a}}async injectImage(e,i,n="image/png",o){let s=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/image`;try{k(`Injecting image for device: ${e} from file: ${i}`);let a=jp.readFileSync(i);o||(o=i.split("/").pop()||"image.png");let r=new FormData,p=new Blob([new Uint8Array(a)],{type:n});r.append("file",p,o);let l={Authorization:`Bearer ${this.config.apiKey}`,"X-Content-Type":n,"X-File-Name":o},c=await fetch(s,{method:"POST",headers:l,body:r});if(!c.ok){let d=await c.text();throw new I(`Failed to inject image: ${c.status} ${c.statusText} - ${d}`,c.status)}k(`Successfully injected image for device: ${e}`)}catch(a){throw g(`Error injecting image: ${a.message}`),a}}async injectTouch(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/touch`;try{k(`Injecting biometric touch for device: ${e} with valid=${i}`);let o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify({touchValid:i})});if(!o.ok){let s=await o.text();throw new I(`Failed to inject touch event: ${o.status} ${o.statusText} - ${s}`,o.status)}k(`Successfully injected biometric touch for device: ${e}`)}catch(o){throw g(`Error injecting touch event: ${o.message}`),o}}};function ls(t){t.post("/inject-image",async e=>{let i=L(t),n=e.body?.imagePath;if(!n||typeof n!="string")throw new v("imagePath is required",400);if(!cs.default.existsSync(n))throw new v(`image not found at ${n}`,400);let o=cs.default.readFileSync(n),s={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"},a=ps.default.extname(n).toLowerCase(),r=e.body?.contentType||s[a]||"image/png",p=e.body?.fileName||ps.default.basename(n);return await new pi(t.deviceFarm).injectImageFromBuffer(i,o,r,p),{fileName:p,contentType:r,bytes:o.length}}),t.post("/inject-touch",async e=>{let i=L(t),n=e.body?.touchValid;if(typeof n!="boolean")throw new v("touchValid is required (boolean)",400);return await new pi(t.deviceFarm).injectTouch(i,n),{touchValid:n}})}var Bp=C(require("fs"));var rn=C(require("fs")),Up=C(require("path")),Ft=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getAppiumLog(e,i){try{let n=`${this.baseUrl}${this.apiPath}/appium/${e}/appium-log`,o=await B.get(n,{headers:this.headers,responseType:i?"arraybuffer":"text"});if($(o,200,"get Appium log"),i){let s=Up.default.dirname(i);return rn.default.existsSync(s)||rn.default.mkdirSync(s,{recursive:!0}),rn.default.writeFileSync(i,o.data),k(`Successfully saved Appium log to ${i}`),i}else return k(`Successfully retrieved Appium log for session ${e}`),o.data}catch(n){throw g(`Error getting Appium log: ${n}`),n}}async getDeviceCrashlogs(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/crashlogs`,n=await B.get(i,{headers:this.headers,responseType:"arraybuffer"});return $(n,200,"get device crashlogs"),n.data}catch(i){throw g(`Error getting device crashlogs: ${i}`),i}}async startDeviceLogsRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/logs`,n=await B.post(i,{},{headers:this.headers});$(n,204,"start device logs recording"),k(`Successfully started log recording for device ${e}`)}catch(i){throw g(`Error starting device logs recording: ${i}`),i}}async stopDeviceLogsRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/logs`,n=await B.delete(i,{headers:this.headers});return $(n,200,"stop device logs recording"),k(`Successfully stopped log recording for device ${e}`),n.data}catch(i){throw g(`Error stopping device logs recording: ${i}`),i}}};function us(t){t.post("/recording/start",async()=>{let e=L(t),i=await new Le(t.deviceFarm).startRecording(e);return t.state.recordingActive=!0,i}),t.post("/recording/stop",async()=>{let e=L(t),i=await new Le(t.deviceFarm).stopRecording(e);return t.state.recordingActive=!1,i}),t.post("/recording/download",async e=>{let i=fe(e),n=e.body?.recordingId;if(!n||typeof n!="string")throw new v("recordingId is required",400);let o=new Le(t.deviceFarm),s=3e4,a=[1e3,2e3,3e3,5e3];try{let r=Date.now(),p=0;for(;;)try{await o.downloadRecording(n,i);break}catch(l){if(!Xo(l)||Date.now()-r>=s)throw l;await new Promise(c=>setTimeout(c,a[Math.min(p,a.length-1)])),p++}}catch(r){throw Xo(r)?new v(`recording ${n} not ready after ${s/1e3}s \u2014 verify recording-stop succeeded, then retry`,404):r}return{path:i,bytes:Bp.default.statSync(i).size}}),t.post("/logs/start",async()=>{let e=L(t);return await new Ft(t.deviceFarm).startDeviceLogsRecording(e),{started:!0}}),t.post("/logs/stop",async()=>{let e=L(t);return await new Ft(t.deviceFarm).stopDeviceLogsRecording(e)}),t.post("/crashlogs",async e=>{let i=L(t),n=fe(e),o=await new Ft(t.deviceFarm).getDeviceCrashlogs(i);return ye(n,o)})}var st=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async createTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso`;try{k(`Creating Espresso test run with app artifact: ${e.app_artifact_id}, test artifact: ${e.test_artifact_id}`);let n=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!n.ok){let o=await n.text();throw new I(`Failed to create Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw g(`Error creating Espresso test run: ${n.message}`),n}}async getTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso/${e}`;try{k(`Getting Espresso test run: ${e}`);let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to get Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw g(`Error getting Espresso test run: ${n.message}`),n}}async getTestRuns(){let e=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso`;try{k("Getting all Espresso test runs");let i=await fetch(e,{method:"GET",headers:this.headers});if(!i.ok){let n=await i.text();throw new I(`Failed to get Espresso test runs: ${i.status} ${i.statusText} - ${n}`,i.status)}return await i.json()}catch(i){throw g(`Error getting Espresso test runs: ${i.message}`),i}}async cancelTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso/${e}/cancel`;try{k(`Cancelling Espresso test run: ${e}`);let n=await fetch(i,{method:"PUT",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to cancel Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}}catch(n){throw g(`Error cancelling Espresso test run: ${n.message}`),n}}};function ds(t){t.get("/espresso/runs",async()=>await new st(t.deviceFarm).getTestRuns()),t.get("/espresso/runs/:id",async e=>await new st(t.deviceFarm).getTestRun(e.params.id)),t.post("/espresso/runs",async e=>{let i=e.body;if(!i?.app_artifact_id||typeof i.app_artifact_id!="string")throw new v("app_artifact_id is required",400);if(!i.test_artifact_id||typeof i.test_artifact_id!="string")throw new v("test_artifact_id is required",400);if(!i.runner_class||typeof i.runner_class!="string")throw new v("runner_class is required",400);return await new st(t.deviceFarm).createTestRun(i)}),t.delete("/espresso/runs/:id",async e=>(await new st(t.deviceFarm).cancelTestRun(e.params.id),{cancelled:!0,id:e.params.id}))}var at=class{config;baseUrl;headers;apiPath;constructor(e){this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`,this.config=e}async createTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest`;k(`Creating XCUITest test run: ${JSON.stringify(e)}`);try{let n=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!n.ok){let s=await n.text();throw new I(`Failed to create XCUITest test run: ${n.status} ${n.statusText} - ${s}`,n.status)}let o=await n.json();return k(`Created XCUITest test run: ${o.id}`),o}catch(n){throw g(`Error creating XCUITest test run: ${n}`),n}}async getTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest/${e}`;k(`Getting XCUITest test run: ${e}`);try{let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to get XCUITest test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw g(`Error getting XCUITest test run: ${n}`),n}}async getTestRuns(){let e=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest`;k("Getting all XCUITest test runs");try{let i=await fetch(e,{method:"GET",headers:this.headers});if(!i.ok){let n=await i.text();throw new I(`Failed to get XCUITest test runs: ${i.status} ${i.statusText} - ${n}`,i.status)}return await i.json()}catch(i){throw g(`Error getting XCUITest test runs: ${i}`),i}}async cancelTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest/${e}/cancel`;k(`Cancelling XCUITest test run: ${e}`);try{let n=await fetch(i,{method:"PUT",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to cancel XCUITest test run: ${n.status} ${n.statusText} - ${o}`,n.status)}k(`Successfully cancelled XCUITest test run: ${e}`)}catch(n){throw g(`Error cancelling XCUITest test run: ${n}`),n}}};function ms(t){t.get("/xcuitest/runs",async()=>await new at(t.deviceFarm).getTestRuns()),t.get("/xcuitest/runs/:id",async e=>await new at(t.deviceFarm).getTestRun(e.params.id)),t.post("/xcuitest/runs",async e=>{let i=e.body;if(!i?.serial||typeof i.serial!="string")throw new v("serial is required",400);if(!i.app_artifact_id||typeof i.app_artifact_id!="string")throw new v("app_artifact_id is required",400);if(!i.test_artifact_id||typeof i.test_artifact_id!="string")throw new v("test_artifact_id is required",400);return await new at(t.deviceFarm).createTestRun(i)}),t.delete("/xcuitest/runs/:id",async e=>(await new at(t.deviceFarm).cancelTestRun(e.params.id),{cancelled:!0,id:e.params.id}))}var fs=C(require("fs"));function hs(t){t.post("/job",async e=>{It(t);let i=t.state.activeDevice;if(!i)throw new v("no active device \u2014 run device-use first",400);let{scriptPath:n,artifactDir:o,capabilities:s,timeoutMs:a}=e.body??{};if(!n||typeof n!="string")throw new v("scriptPath is required",400);if(!o||typeof o!="string")throw new v("artifactDir is required",400);if(a!==void 0&&(!Number.isFinite(a)||a<=0))throw new v("timeoutMs must be a positive number (ms)",400);if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new v("capabilities must be a JSON object",400);if(t.state.robot){try{await t.state.robot.close()}catch{}t.state.robot=null,t.state.snapshotRefs=null}let r=await Ns({deviceFarm:t.deviceFarm,serial:i,scriptPath:n,artifactDir:o,capabilities:s,timeoutMs:a});return t.state.currentJob=r,ze(r)}),t.get("/job",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);return ze(e)}),t.get("/job/logs",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);if(!fs.default.existsSync(e.logPath))throw new v(`log file missing: ${e.logPath}`,404);return{logPath:e.logPath,content:fs.default.readFileSync(e.logPath,"utf8")}}),t.delete("/job",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);return Ae(e)?(await dt(e),ze(e)):{...ze(e),noop:!0}})}function gs(t){t.get("/status",async()=>({activeDevice:t.state.activeDevice,sessionType:t.state.activeDevice?t.state.sessionType:null,recordingActive:t.state.recordingActive,currentJob:t.state.currentJob?ze(t.state.currentJob):null})),t.post("/stop",async(e,i)=>{if(t.state.currentJob)try{await dt(t.state.currentJob)}catch{}try{await Yo(t)}catch(n){return i.code(500),{error:`release failed: ${n.message}`}}i.send({status:"stopping"}),setImmediate(async()=>{await t.close(),process.exit(0)})})}function Lp(t){Ko(t),Zo(t),Qo(t),es(t),ts(t),ns(t),os(t),ss(t),as(t),rs(t),ls(t),us(t),ds(t),ms(t),hs(t),gs(t)}var qp=new ln.Command("stop").description("Stop Mobitru CLI daemon (releases the active device first)").action(async()=>{if(!await li(de)){console.log("not running");return}await x(de,"POST","/stop"),console.log("stopped")}),Dp=new ln.Command("status").description("Show Mobitru CLI daemon state \u2014 running, active device, session type, recording flag").action(async()=>{if(!await li(de)){console.log(JSON.stringify({running:!1},null,2));return}let e=await x(de,"GET","/status");console.log(JSON.stringify({running:!0,...e},null,2))}),cn="start",pn="MOBITRU_DAEMON_INTERNAL",Mp=new ln.Command(cn).description("[internal] Start Mobitru CLI daemon").action(async()=>{process.env[pn]!=="1"&&(console.error(`'${cn}' is an internal command. Run any other command (e.g. 'snapshot') and the daemon will start automatically.`),process.exit(1)),delete process.env[pn],await Bs(de,Lp)});var Pg=1e4;async function b(){if(await li(de))return de;await Rg(yn);try{return await li(de)?de:(await Og(),de)}finally{Ag(yn)}}function li(t){return new Promise(e=>{if(process.platform!=="win32"&&!he.default.existsSync(t)){e(!1);return}let i=Jp.default.createConnection(t);i.once("connect",()=>{i.end(),e(!0)}),i.once("error",()=>e(!1))})}async function Rg(t){let e=Hp.default.dirname(t);for(he.default.existsSync(e)||he.default.mkdirSync(e,{recursive:!0});;)try{let i=he.default.openSync(t,he.default.constants.O_CREAT|he.default.constants.O_EXCL|he.default.constants.O_WRONLY);he.default.closeSync(i);return}catch(i){if(i.code!=="EEXIST")throw i;try{let n=he.default.statSync(t);if(Date.now()-n.mtimeMs>Pg){he.default.unlinkSync(t);continue}}catch{continue}await Ig(50)}}function Ag(t){try{he.default.unlinkSync(t)}catch{}}function Og(){let t=process.argv[1],e=(0,zp.spawn)(process.execPath,[t,cn],{detached:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,[pn]:"1"}}),i=8192,n="";e.stderr.on("data",l=>{n.length<i&&(n+=l.toString("utf8"))});let o=1e4,s=new Promise((l,c)=>{e.stdout.once("data",()=>l()),e.once("error",d=>{c(new Error(`Daemon spawning failed: ${d.message}`))}),e.once("exit",d=>{let f=n.trim(),S=f?`
146
- ${f}`:"";c(new Error(`Daemon exited with code ${d}${S}`))})}),a,r,p=new Promise((l,c)=>{r=l,a=setTimeout(()=>{e.kill("SIGKILL");let d=n.trim(),f=d?`
147
- ${d}`:"";c(new Error(`Daemon did not become ready in ${o}ms${f}`))},o)});return Promise.race([s,p]).finally(()=>{clearTimeout(a),r(),e.stdout.destroy(),e.stderr.destroy(),e.unref()})}var Ig=t=>new Promise(e=>setTimeout(e,t));var Vp=new un.Command("device-list").description("List all available devices for a platform").argument("<platform>",`Platform: ${At.join(" or ")}`).action(async t=>{en(t)||(console.error(`Invalid platform: ${t}. Expected one of: ${At.join(", ")}.`),process.exit(1));let e=await b(),i=await x(e,"GET",`/devices?platform=${t}`);console.log(JSON.stringify(i,null,2))}),Wp=new un.Command("device-use").description("Take a cloud device for use (default: native session; use --web for browser session)").argument("<serial>","Device serial number").option("-d, --duration <minutes>","Session duration in minutes","180").option("--web","Start a web (browser) Appium session instead of native").action(async(t,e)=>{let i=Number(e.duration);(!Number.isInteger(i)||i<=0)&&(console.error(`Invalid duration: ${e.duration}. Expected a positive integer.`),process.exit(1));let n=e.web?"web":"native",o=await b(),s=await x(o,"POST","/device/use",{serial:t,duration:i,sessionType:n});console.log(JSON.stringify(s,null,2))}),Gp=new un.Command("device-release").description("Release currently used device").action(async()=>{let t=await b(),e=await x(t,"POST","/device/release");console.log(JSON.stringify(e,null,2))});var ui=require("commander");var Xp=new ui.Command("bookings-list").description("List bookings in the workspace (returns ISO dates)").option("--till <iso>","Upper time limit (ISO 8601); only bookings starting before this are returned").action(async t=>{let e=await b(),i="/bookings";if(t.till){let o=Math.floor(new Date(t.till).getTime()/1e3);Number.isFinite(o)||(console.error(`Invalid --till value: "${t.till}". Use ISO 8601.`),process.exit(1)),i+=`?till=${o}`}let n=await x(e,"GET",i);console.log(JSON.stringify(n,null,2))}),Kp=new ui.Command("bookings-info").description("Get details of a single booking by id").argument("<booking-id>","Booking id from bookings-list or booking-create").action(async t=>{let e=await b(),i=await x(e,"GET",`/bookings/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),Yp=new ui.Command("booking-create").description("Schedule a future booking (one or more devices)").requiredOption("--name <name>","Booking name").requiredOption("--start <iso>","Start time (ISO 8601)").requiredOption("--end <iso>","End time (ISO 8601)").requiredOption("--devices <serials>","Comma-separated device serials").option("--offset <min>","Timezone offset in minutes from UTC (default: local)",t=>parseInt(t,10)).option("--private","Mark booking as private").action(async t=>{let e=Math.floor(new Date(t.start).getTime()/1e3),i=Math.floor(new Date(t.end).getTime()/1e3);(!Number.isFinite(e)||!Number.isFinite(i))&&(console.error("Invalid --start or --end. Use ISO 8601 (e.g. 2026-05-15T10:00:00Z)."),process.exit(1));let n=t.offset??new Date().getTimezoneOffset(),o=t.devices.split(",").map(p=>p.trim()).filter(Boolean);o.length===0&&(console.error("--devices must contain at least one serial."),process.exit(1));let s={name:t.name,start:e,end:i,offset:n,devices:o};t.private&&(s.isPrivate=!0);let a=await b(),r=await x(a,"POST","/bookings",s);console.log(JSON.stringify(r,null,2))}),Zp=new ui.Command("booking-cancel").description("Cancel a future booking by id").argument("<booking-id>","Booking id from bookings-list or booking-create").action(async t=>{let e=await b(),i=await x(e,"DELETE",`/bookings/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var rt=require("commander");var Qp=new rt.Command("launch").description("Launch an app by its package name (Android) or bundle ID (iOS)").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"POST","/launch",{appId:t});console.log(JSON.stringify(i,null,2))}),el=new rt.Command("terminate").description("Stop a running app by its package name (Android) or bundle ID (iOS)").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"POST","/terminate",{appId:t});console.log(JSON.stringify(i,null,2))}),tl=new rt.Command("is-installed").description("Check whether an app is installed on the active device").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"GET",`/is-installed?app=${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),il=new rt.Command("install-app").description("Install an uploaded artifact onto the active device. Blocks until done.").argument("<artifact-id>","Artifact ID from artifacts-upload / artifacts-list").action(async t=>{let e=await b(),i=await x(e,"POST","/install-app",{artifactId:t});console.log(JSON.stringify(i,null,2))}),nl=new rt.Command("install-app-ota").description("Install an app via OTA manifest URL (iOS only)").argument("<ota-url>","OTA manifest URL (e.g. https://.../app.plist)").action(async t=>{let e=await b(),i=await x(e,"POST","/install-app/ota",{otaUrl:t});console.log(JSON.stringify(i,null,2))}),ol=new rt.Command("uninstall-app").description("Uninstall an app from the active device by package name / bundle ID").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"POST","/uninstall-app",{appId:t});console.log(JSON.stringify(i,null,2))});var di=require("commander"),sl=C(require("fs")),mn=C(require("path"));var dn=C(require("path"));function ke(){return dn.default.resolve(process.env.MOBILE_CLI_OUTPUT_DIR??dn.default.join(process.cwd(),".mobitru-mobile-cli"))}function ct(t){return dn.default.join(ke(),`${t}-${Date.now()}`)}var al=new di.Command("artifacts-list").description("List artifacts uploaded to the workspace").action(async()=>{let t=await b(),e=await x(t,"GET","/artifacts");console.log(JSON.stringify(e,null,2))}),rl=new di.Command("artifacts-info").description("Show metadata + processing status for an uploaded artifact").argument("<artifact-id>","Artifact ID returned by artifacts-upload / artifacts-list").action(async t=>{let e=await b(),i=await x(e,"GET",`/artifacts/info?id=${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),cl=new di.Command("artifacts-upload").description("Upload an APK or IPA. Blocks until the cloud finishes processing.").argument("<file>","Path to .apk (Android) or .ipa (iOS)").option("--target <platform>","Override auto-detection: android or ios").option("--alias <name>","Friendly name for the artifact").action(async(t,e)=>{sl.default.existsSync(t)||(console.error(`File not found: ${t}`),process.exit(1));let i=mn.default.resolve(t),n=await b(),o={filePath:i};e.target&&(o.target=e.target),e.alias&&(o.alias=e.alias);let s=await x(n,"POST","/artifacts/upload",o);console.log(JSON.stringify(s,null,2))}),pl=new di.Command("artifacts-download").description("Download an artifact (logs zip from logs-stop, uploaded APK/IPA, etc.) by id").argument("<artifact-id>","Artifact ID").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/artifact-<id>)").action(async(t,e)=>{let i=e.output?mn.default.resolve(e.output):mn.default.join(ke(),`artifact-${t}`),n=await b(),o=await x(n,"POST","/artifacts/download",{artifactId:t,savePath:i});console.log(JSON.stringify(o,null,2))});var pt=require("commander"),xs=C(require("path"));var ll=new pt.Command("recording-start").description("Start screen recording on the active device. Returns the max recording duration.").action(async()=>{let t=await b(),e=await x(t,"POST","/recording/start");console.log(JSON.stringify(e,null,2))}),ul=new pt.Command("recording-stop").description("Stop screen recording. Returns the recordingId for recording-download.").action(async()=>{let t=await b(),e=await x(t,"POST","/recording/stop");console.log(JSON.stringify(e,null,2))}),dl=new pt.Command("recording-download").description("Download a stopped recording as MP4").argument("<recording-id>","Recording ID from recording-stop").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/recording-<ts>.mp4)").action(async(t,e)=>{let i=e.output?xs.default.resolve(e.output):`${ct("recording")}.mp4`,n=await b(),o=await x(n,"POST","/recording/download",{recordingId:t,savePath:i});console.log(JSON.stringify(o,null,2))}),ml=new pt.Command("logs-start").description("Start device logs (logcat / syslog) capture on the active device").action(async()=>{let t=await b(),e=await x(t,"POST","/logs/start");console.log(JSON.stringify(e,null,2))}),fl=new pt.Command("logs-stop").description("Stop logs capture. Returns artifactId \u2014 pass to artifacts-download.").action(async()=>{let t=await b(),e=await x(t,"POST","/logs/stop");console.log(JSON.stringify(e,null,2))}),hl=new pt.Command("crashlogs").description("Download device crashlogs as a zip").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/crashlogs-<ts>.zip)").action(async t=>{let e=t.output?xs.default.resolve(t.output):`${ct("crashlogs")}.zip`,i=await b(),n=await x(i,"POST","/crashlogs",{savePath:e});console.log(JSON.stringify(n,null,2))});var ge=require("commander"),mi=C(require("path"));var gl=new ge.Command("screenshot").description("Take a screenshot of the active device").option("-o, --output <path>","Output file path (default: <CWD>/.mobitru-mobile-cli/screenshot-<ts>.png)").action(async t=>{let e=t.output?mi.default.resolve(t.output):mi.default.join(ke(),`screenshot-${Date.now()}.png`),i=await b(),n=await x(i,"POST","/screenshot",{savePath:e});console.log(JSON.stringify(n,null,2))}),xl=new ge.Command("screen-size").description("Get the screen size of the active device in pixels").action(async()=>{let t=await b(),e=await x(t,"GET","/screen-size");console.log(JSON.stringify(e,null,2))}),vl=new ge.Command("snapshot").description("Capture accessibility tree; writes full tree to disk, prints {path, refCount}").option("-o, --output <path>","Output file path (default: <CWD>/.mobitru-mobile-cli/snapshot-<ts>.json)").action(async t=>{let e=t.output?mi.default.resolve(t.output):mi.default.join(ke(),`snapshot-${Date.now()}.json`),i=await b(),n=await x(i,"POST","/snapshot",{savePath:e});console.log(JSON.stringify(n,null,2))}),bl=new ge.Command("tap").description("Tap an element by ref (e.g. 'e3' from snapshot output)").argument("<ref>","Element ref from the last snapshot").action(async t=>{let e=await b(),i=await x(e,"POST","/tap",{ref:t});console.log(JSON.stringify(i,null,2))}),yl=new ge.Command("tap-at").description("Tap at raw pixel coordinates. Use when target is invisible to snapshot (e.g. empty Material text fields) \u2014 infer position from gap between visible labels.").argument("<x>","x coordinate in device pixels").argument("<y>","y coordinate in device pixels").action(async(t,e)=>{let i=Number(t),n=Number(e);(!Number.isFinite(i)||!Number.isFinite(n))&&(console.error(`Invalid coordinates: x=${t} y=${e}`),process.exit(1));let o=await b(),s=await x(o,"POST","/tap-at",{x:i,y:n});console.log(JSON.stringify(s,null,2))}),wl=new ge.Command("type").description("Type text into the focused element (tap a text field first)").argument("<text>","Text to type").option("--submit","Press ENTER after typing").action(async(t,e)=>{let i=await b(),n={text:t};e.submit&&(n.submit=!0);let o=await x(i,"POST","/type",n);console.log(JSON.stringify(o,null,2))}),Sl=new ge.Command("swipe").description("Swipe on the screen in a direction").argument("<direction>","up, down, left or right").option("-f, --force <value>","swipe distance as fraction of screen (0\u20131, default 0.5)",parseFloat).action(async(t,e)=>{let i=await b(),n={direction:t};e.force!==void 0&&(n.force=e.force);let o=await x(i,"POST","/swipe",n);console.log(JSON.stringify(o,null,2))}),El=new ge.Command("continuous-swipe").description("Drag through 2-20 coordinates: continuous-swipe 100,200 100,500 ...").argument("<points...>","Comma-separated x,y pairs (e.g. 100,200 100,500)").action(async t=>{let e=t.map((o,s)=>{let[a,r]=o.split(","),p=Number(a),l=Number(r);return(!Number.isFinite(p)||!Number.isFinite(l))&&(console.error(`Invalid point #${s+1}: "${o}". Expected "x,y".`),process.exit(1)),{x:p,y:l}}),i=await b(),n=await x(i,"POST","/continuous-swipe",{points:e});console.log(JSON.stringify(n,null,2))}),Tl=new ge.Command("press").description("Press a device button (HOME, BACK, VOLUME_UP/DOWN, ENTER, DPAD_*)").argument("<button>","Button name (case-insensitive)").action(async t=>{let e=await b(),i=await x(e,"POST","/press",{button:t});console.log(JSON.stringify(i,null,2))}),kl=new ge.Command("get-orientation").description("Get the current screen orientation of the active device").action(async()=>{let t=await b(),e=await x(t,"GET","/orientation");console.log(JSON.stringify(e,null,2))}),Cl=new ge.Command("set-orientation").description("Set the screen orientation (portrait or landscape)").argument("<orientation>","portrait or landscape").action(async t=>{let e=await b(),i=await x(e,"PUT","/orientation",{orientation:t});console.log(JSON.stringify(i,null,2))});var vs=require("commander");var Pl=new vs.Command("open-url").description("Open a URL in the device's default browser (web session only)").argument("<url>","URL to open (https://, custom schemes like myapp://)").action(async t=>{let e=await b(),i=await x(e,"POST","/open-url",{url:t});console.log(JSON.stringify(i,null,2))}),Rl=new vs.Command("click-web-element").description("Click a DOM element by CSS selector (web session only)").argument("<selector>","CSS selector (e.g. 'button.signin', '#login')").action(async t=>{let e=await b(),i=await x(e,"POST","/click-web-element",{selector:t});console.log(JSON.stringify(i,null,2))});var fi=require("commander");var Al=new fi.Command("geolocation-get").description("Get the active device's current geolocation (lat/lng)").action(async()=>{let t=await b(),e=await x(t,"GET","/geolocation");console.log(JSON.stringify(e,null,2))}),Ol=new fi.Command("geolocation-set").description("Spoof the active device's geolocation (WGS84 lat/lng)").argument("<lat>","Latitude in [-90, 90]",parseFloat).argument("<lng>","Longitude in [-180, 180]",parseFloat).action(async(t,e)=>{let i=await b(),n=await x(i,"PUT","/geolocation",{lat:t,lng:e});console.log(JSON.stringify(n,null,2))}),Il=new fi.Command("ip-location-list").description("List available IP locations (global \u2014 no active device required)").action(async()=>{let t=await b(),e=await x(t,"GET","/ip-location/list");console.log(JSON.stringify(e,null,2))}),_l=new fi.Command("ip-location-set").description("Set the device's outbound IP location by country code (or DEFAULT to reset)").argument("<country-code>","ISO-3166-1 alpha-2 (e.g. US, DE) or 'DEFAULT'").action(async t=>{let e=await b(),i=await x(e,"POST","/ip-location",{countryCode:t});console.log(JSON.stringify(i,null,2))});var hi=require("commander");var $l=new hi.Command("throttling-presets").description("List available network throttling presets (global \u2014 no active device required)").action(async()=>{let t=await b(),e=await x(t,"GET","/throttling/presets");console.log(JSON.stringify(e,null,2))}),Fl=new hi.Command("throttling-status").description("Get the current throttling state of the active device").action(async()=>{let t=await b(),e=await x(t,"GET","/throttling/status");console.log(JSON.stringify(e,null,2))}),Nl=new hi.Command("throttling-enable").description("Enable network throttling on the active device (use `throttling-presets` to list options)").argument("<preset>","Preset name (e.g. 3g, 4g, edge, custom)").option("--download <kbps>","Download bandwidth in kbps (required for preset=custom)",parseInt).option("--upload <kbps>","Upload bandwidth in kbps (required for preset=custom)",parseInt).option("--latency <ms>","Latency in ms (required for preset=custom)",parseInt).action(async(t,e)=>{let i=await b(),n={preset:t};e.download!==void 0&&(n.downloadKBitsPerSecond=e.download),e.upload!==void 0&&(n.uploadKBitsPerSecond=e.upload),e.latency!==void 0&&(n.latencyMs=e.latency);let o=await x(i,"POST","/throttling/enable",n);console.log(JSON.stringify(o,null,2))}),jl=new hi.Command("throttling-disable").description("Disable network throttling on the active device").action(async()=>{let t=await b(),e=await x(t,"POST","/throttling/disable");console.log(JSON.stringify(e,null,2))});var fn=require("commander"),Ul=C(require("path"));var Bl=new fn.Command("http-inspection-start").description("Start HTTP inspection on the active device (Android only); returns harId").option("--capture-binary","Capture binary request/response payloads (default: false)").option("--no-capture-response-content","Skip textual response payloads (default: capture)").action(async t=>{let e=await b(),i={};t.captureBinary!==void 0&&(i.captureBinary=t.captureBinary),t.captureResponseContent!==void 0&&(i.captureResponseContent=t.captureResponseContent);let n=await x(e,"POST","/http-inspection/start",i);console.log(JSON.stringify(n,null,2))}),Ll=new fn.Command("http-inspection-stop").description("Stop HTTP inspection on the active device; returns harId for `har-download`").action(async()=>{let t=await b(),e=await x(t,"POST","/http-inspection/stop");console.log(JSON.stringify(e,null,2))}),ql=new fn.Command("har-download").description("Download a finalized HAR file by id").argument("<har-id>","HAR ID from http-inspection-start/stop").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/har-<ts>.har)").action(async(t,e)=>{let i=e.output?Ul.default.resolve(e.output):`${ct("har")}.har`,n=await b(),o=await x(n,"POST","/har/download",{harId:t,savePath:i});console.log(JSON.stringify(o,null,2))});var bs=require("commander"),Dl=C(require("path"));var Ml=new bs.Command("profiler-start").description("Start CPU/memory profiler against the named app package on the active device").argument("<app-package>","App package (Android) / bundle ID (iOS) to profile").action(async t=>{let e=await b(),i=await x(e,"POST","/profiler/start",{appPackage:t});console.log(JSON.stringify(i,null,2))}),zl=new bs.Command("profiler-stop").description("Stop profiler and download the .profile file").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/profiler-<ts>.profile)").action(async t=>{let e=t.output?Dl.default.resolve(t.output):`${ct("profiler")}.profile`,i=await b(),n=await x(i,"POST","/profiler/stop",{savePath:e});console.log(JSON.stringify(n,null,2))});var ys=require("commander"),Jl=C(require("path"));var Hl=new ys.Command("inject-image").description("Inject an image as the device camera input (target app must be installed with doInjection=true)").argument("<path>","Path to the image file (max 5 MB)").option("--content-type <mime>","Override the inferred MIME type (default: by extension)").option("--name <filename>","Override the file name reported to the cloud (default: basename of path)").action(async(t,e)=>{let n={imagePath:Jl.default.resolve(t)};e.contentType&&(n.contentType=e.contentType),e.name&&(n.fileName=e.name);let o=await b(),s=await x(o,"POST","/inject-image",n);console.log(JSON.stringify(s,null,2))}),Vl=new ys.Command("inject-touch").description("Inject a biometric touch event (target app must be installed with doInjection=true and awaiting auth)").argument("<result>","'valid' (success) or 'invalid' (failure)").action(async t=>{let e=t.toLowerCase();e!=="valid"&&e!=="invalid"&&(console.error(`Invalid argument "${t}". Expected 'valid' or 'invalid'.`),process.exit(1));let i=await b(),n=await x(i,"POST","/inject-touch",{touchValid:e==="valid"});console.log(JSON.stringify(n,null,2))});var gi=require("commander");var Wl=(t,e=[])=>[...e,t],Gl=new gi.Command("espresso-list").description("List Espresso test runs in the workspace").action(async()=>{let t=await b(),e=await x(t,"GET","/espresso/runs");console.log(JSON.stringify(e,null,2))}),Xl=new gi.Command("espresso-status").description("Get a single Espresso test run by id").argument("<id>","Test run id from espresso-run or espresso-list").action(async t=>{let e=await b(),i=await x(e,"GET",`/espresso/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),Kl=new gi.Command("espresso-run").description("Create a new Espresso test run").requiredOption("--app <artifact-id>","Artifact ID of Android app APK to install before test run").requiredOption("--test <artifact-id>","Artifact ID of Espresso test APK to install before test run").requiredOption("--runner <class>","Runner class name").option("--serial <serial>","Device serial to run tests on").option("--device-name <name>","Device name to run tests on").option("--platform-version <ver>","Platform version to run tests on").option("--filter <expr>","Test filter (repeatable). Allowed filter types are class, notClass, package, notPackage, tests_regex, size, annotation, notAnnotation and filter",Wl).option("--instrument-option <kv>","Instrument option (repeatable). Use to provide extra options for a test runner",Wl).option("--shards <n>","Max number of shards to evenly distribute test cases. Default is 1",t=>parseInt(t,10)).option("--duration <min>","Desired device session duration in minutes, max value is 180 minutes, default 180 minutes",t=>parseInt(t,10)).action(async t=>{let e={app_artifact_id:t.app,test_artifact_id:t.test,runner_class:t.runner},i={};t.serial&&(i.serial=t.serial),t.deviceName&&(i.name=t.deviceName),t.platformVersion&&(i.platform_version=t.platformVersion),Object.keys(i).length&&(e.device_spec=i),t.filter?.length&&(e.test_filters=t.filter),t.instrumentOption?.length&&(e.instrument_options=t.instrumentOption),t.shards!==void 0&&(e.shard_number=t.shards),t.duration!==void 0&&(e.duration=t.duration);let n=await b(),o=await x(n,"POST","/espresso/runs",e);console.log(JSON.stringify(o,null,2))}),Yl=new gi.Command("espresso-cancel").description("Cancel an in-flight Espresso test run by id").argument("<id>","Test run id").action(async t=>{let e=await b(),i=await x(e,"DELETE",`/espresso/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var xi=require("commander");var Zl=new xi.Command("xcuitest-list").description("List XCUITest test runs in the workspace").action(async()=>{let t=await b(),e=await x(t,"GET","/xcuitest/runs");console.log(JSON.stringify(e,null,2))}),Ql=new xi.Command("xcuitest-status").description("Get a single XCUITest test run by id").argument("<id>","Test run id from xcuitest-run or xcuitest-list").action(async t=>{let e=await b(),i=await x(e,"GET",`/xcuitest/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),eu=new xi.Command("xcuitest-run").description("Create a new XCUITest test run").requiredOption("--serial <serial>","Device ID to run tests on").requiredOption("--app <artifact-id>","Artifact ID of iOS app IPA to install before test run").requiredOption("--test <artifact-id>","Artifact ID of XCUITest runner IPA to install before test run").option("--no-resign","Resign apps with Mobitru profile before installation, default is true").action(async t=>{let e={serial:t.serial,app_artifact_id:t.app,test_artifact_id:t.test};t.resign===!1&&(e.resign=!1);let i=await b(),n=await x(i,"POST","/xcuitest/runs",e);console.log(JSON.stringify(n,null,2))}),tu=new xi.Command("xcuitest-cancel").description("Cancel an in-flight XCUITest test run by id").argument("<id>","Test run id").action(async t=>{let e=await b(),i=await x(e,"DELETE",`/xcuitest/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var vi=require("commander"),iu=C(require("fs")),nu=C(require("path"));var ou=new vi.Command("appium-run").description("Submit an Appium test script to run in the background on the active device").argument("<script>","Path to the user's Appium test script (contains `it(...)` blocks; assumes `driver` from webdriverio is available)").option("--timeout <ms>","Wall-clock cap on the whole run, milliseconds (default 1200000 = 20 min)",t=>parseInt(t,10)).option("--capabilities <json>","Extra/override Appium capabilities as JSON; merged over auto-detected platformName/udid/automationName").action(async(t,e)=>{let i=nu.default.resolve(t);iu.default.existsSync(i)||(console.error(`Script not found: ${i}`),process.exit(1));let n;if(e.capabilities)try{n=JSON.parse(e.capabilities)}catch(r){console.error(`Invalid --capabilities JSON: ${r.message}`),process.exit(1)}let o={scriptPath:i,artifactDir:ke()};n&&(o.capabilities=n),e.timeout!==void 0&&(o.timeoutMs=e.timeout);let s=await b(),a=await x(s,"POST","/job",o);console.log(JSON.stringify(a,null,2))}),su=new vi.Command("appium-status").description("Show the current/last appium-run job (status, exit code, duration, log path)").action(async()=>{let t=await b(),e=await x(t,"GET","/job");console.log(JSON.stringify(e,null,2))}),au=new vi.Command("appium-logs").description("Print the combined stdout+stderr log of the current/last appium-run job").action(async()=>{let t=await b(),e=await x(t,"GET","/job/logs");process.stderr.write(`logs: ${e.logPath}
148
- `),process.stdout.write(e.content)}),ru=new vi.Command("appium-cancel").description("Cancel the currently running appium-run job (SIGTERM, escalates to SIGKILL after 5s)").action(async()=>{let t=await b(),e=await x(t,"DELETE","/job");console.log(JSON.stringify(e,null,2))});var cu=require("commander");var pu=new cu.Command("config").description("Show resolved Mobitru credentials source, redacted config, and artifact dir").action(()=>{try{console.log(JSON.stringify({...Cs(),artifactDir:ke()},null,2))}catch(t){throw t instanceof Me&&(process.stderr.write(`${t.message}
149
- `),process.exit(1)),t}});var lu=require("commander"),hn=C(require("fs")),Nt=C(require("path"));function _g(){let t=Nt.default.join(__dirname,"skills");return hn.default.existsSync(Nt.default.join(t,"SKILL.md"))?t:null}function uu(t){return new lu.Command("install").description("Install the agent skill into a workspace (.claude or .agents)").option("--skills <target>",'agent type: "claude" or "agents"',"claude").action(e=>{e.skills!=="claude"&&e.skills!=="agents"&&(process.stderr.write(`error: --skills must be "claude" or "agents", got "${e.skills}"
150
- `),process.exit(1));let i=_g();i||(process.stderr.write(`error: skill "${t}" not bundled in this build.
151
- `),process.exit(1));let n=process.cwd(),o=Nt.default.join(n,`.${e.skills}`,"skills",t);try{hn.default.mkdirSync(Nt.default.dirname(o),{recursive:!0}),hn.default.cpSync(i,o,{recursive:!0})}catch(s){process.stderr.write(`error: failed to install skill to ${o}: ${s.message}
152
- `),process.exit(1)}process.stdout.write(`\u2705 Installed ${t} skill to \`${Nt.default.relative(n,o)}\`
153
- `)})}var E=new du.Command("mobitru-mobile-cli").description("Mobitru mobile CLI").version(ks);E.addCommand(Mp,{hidden:!0});E.addCommand(qp);E.addCommand(Dp);E.addCommand(pu);E.addCommand(uu("mobitru-mobile-cli"));E.addCommand(Vp);E.addCommand(Wp);E.addCommand(Gp);E.addCommand(Xp);E.addCommand(Kp);E.addCommand(Yp);E.addCommand(Zp);E.addCommand(Qp);E.addCommand(el);E.addCommand(tl);E.addCommand(al);E.addCommand(rl);E.addCommand(cl);E.addCommand(pl);E.addCommand(il);E.addCommand(nl);E.addCommand(ol);E.addCommand(ll);E.addCommand(ul);E.addCommand(dl);E.addCommand(ml);E.addCommand(fl);E.addCommand(hl);E.addCommand(gl);E.addCommand(xl);E.addCommand(vl);E.addCommand(bl);E.addCommand(yl);E.addCommand(wl);E.addCommand(Sl);E.addCommand(El);E.addCommand(Tl);E.addCommand(Pl);E.addCommand(Rl);E.addCommand(kl);E.addCommand(Cl);E.addCommand(Al);E.addCommand(Ol);E.addCommand(Il);E.addCommand(_l);E.addCommand($l);E.addCommand(Fl);E.addCommand(Nl);E.addCommand(jl);E.addCommand(Bl);E.addCommand(Ll);E.addCommand(ql);E.addCommand(Ml);E.addCommand(zl);E.addCommand(Hl);E.addCommand(Vl);E.addCommand(Gl);E.addCommand(Xl);E.addCommand(Kl);E.addCommand(Yl);E.addCommand(Zl);E.addCommand(Ql);E.addCommand(eu);E.addCommand(tu);E.addCommand(ou);E.addCommand(su);E.addCommand(au);E.addCommand(ru);E.parseAsync().catch(t=>{let e=t instanceof Error?t.message:String(t);process.stderr.write(`${e}
141
+ `;var Up=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",fg=Up+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",hg="["+Up+"]["+fg+"]*",gg=new RegExp("^"+hg+"$");function rn(t,e){let i=[],n=e.exec(t);for(;n;){let o=[];o.startIndex=e.lastIndex-n[0].length;let s=n.length;for(let a=0;a<s;a++)o.push(n[a]);i.push(o),n=e.exec(t)}return i}var ai=function(t){let e=gg.exec(t);return!(e===null||typeof e>"u")};function Bp(t){return typeof t<"u"}var xg={allowBooleanAttributes:!1,unpairedTags:[]};function zp(t,e){e=Object.assign({},xg,e);let i=[],n=!1,o=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=qp(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=Dp(t,s);continue}else{let r=!1;t[s]==="/"&&(r=!0,s++);let p="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
142
+ `&&t[s]!=="\r";s++)p+=t[s];if(p=p.trim(),p[p.length-1]==="/"&&(p=p.substring(0,p.length-1),s--),!kg(p)){let d;return p.trim().length===0?d="Invalid space after '<'.":d="Tag '"+p+"' is an invalid name.",z("InvalidTag",d,ee(t,s))}let l=yg(t,s);if(l===!1)return z("InvalidAttr","Attributes for '"+p+"' have open quote.",ee(t,s));let c=l.value;if(s=l.index,c[c.length-1]==="/"){let d=s-c.length;c=c.substring(0,c.length-1);let f=Mp(c,e);if(f===!0)n=!0;else return z(f.err.code,f.err.msg,ee(t,d+f.err.line))}else if(r)if(l.tagClosed){if(c.trim().length>0)return z("InvalidTag","Closing tag '"+p+"' can't have attributes or invalid starting.",ee(t,a));if(i.length===0)return z("InvalidTag","Closing tag '"+p+"' has not been opened.",ee(t,a));{let d=i.pop();if(p!==d.tagName){let f=ee(t,d.tagStartPos);return z("InvalidTag","Expected closing tag '"+d.tagName+"' (opened in line "+f.line+", col "+f.col+") instead of closing tag '"+p+"'.",ee(t,a))}i.length==0&&(o=!0)}}else return z("InvalidTag","Closing tag '"+p+"' doesn't have proper closing.",ee(t,s));else{let d=Mp(c,e);if(d!==!0)return z(d.err.code,d.err.msg,ee(t,s-c.length+d.err.line));if(o===!0)return z("InvalidXml","Multiple possible root nodes found.",ee(t,s));e.unpairedTags.indexOf(p)!==-1||i.push({tagName:p,tagStartPos:a}),n=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=Dp(t,s);continue}else if(t[s+1]==="?"){if(s=qp(t,++s),s.err)return s}else break;else if(t[s]==="&"){let d=Eg(t,s);if(d==-1)return z("InvalidChar","char '&' is not expected.",ee(t,s));s=d}else if(o===!0&&!Lp(t[s]))return z("InvalidXml","Extra text at the end",ee(t,s));t[s]==="<"&&s--}}else{if(Lp(t[s]))continue;return z("InvalidChar","char '"+t[s]+"' is not expected.",ee(t,s))}if(n){if(i.length==1)return z("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",ee(t,i[0].tagStartPos));if(i.length>0)return z("InvalidXml","Invalid '"+JSON.stringify(i.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return z("InvalidXml","Start tag expected.",1);return!0}function Lp(t){return t===" "||t===" "||t===`
143
+ `||t==="\r"}function qp(t,e){let i=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(i,e-i);if(e>5&&n==="xml")return z("InvalidXml","XML declaration allowed only at the start of the document.",ee(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Dp(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let i=1;for(e+=8;e<t.length;e++)if(t[e]==="<")i++;else if(t[e]===">"&&(i--,i===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var vg='"',bg="'";function yg(t,e){let i="",n="",o=!1;for(;e<t.length;e++){if(t[e]===vg||t[e]===bg)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){o=!0;break}i+=t[e]}return n!==""?!1:{value:i,index:e,tagClosed:o}}var wg=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Mp(t,e){let i=rn(t,wg),n={};for(let o=0;o<i.length;o++){if(i[o][1].length===0)return z("InvalidAttr","Attribute '"+i[o][2]+"' has no space in starting.",ri(i[o]));if(i[o][3]!==void 0&&i[o][4]===void 0)return z("InvalidAttr","Attribute '"+i[o][2]+"' is without value.",ri(i[o]));if(i[o][3]===void 0&&!e.allowBooleanAttributes)return z("InvalidAttr","boolean attribute '"+i[o][2]+"' is not allowed.",ri(i[o]));let s=i[o][2];if(!Tg(s))return z("InvalidAttr","Attribute '"+s+"' is an invalid name.",ri(i[o]));if(!n.hasOwnProperty(s))n[s]=1;else return z("InvalidAttr","Attribute '"+s+"' is repeated.",ri(i[o]))}return!0}function Sg(t,e){let i=/\d/;for(t[e]==="x"&&(e++,i=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(i))break}return-1}function Eg(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Sg(t,e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\w/)&&i<20)){if(t[e]===";")break;return-1}return e}function z(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function Tg(t){return ai(t)}function kg(t){return ai(t)}function ee(t,e){let i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function ri(t){return t.startIndex+t[1].length}var Cg={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t},captureMetaData:!1},Jp=function(t){return Object.assign({},Cg,t)};var cn;typeof Symbol!="function"?cn="@@xmlMetadata":cn=Symbol("XML Node Metadata");var le=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),i!==void 0&&(this.child[this.child.length-1][cn]={startIndex:i})}static getMetaDataSymbol(){return cn}};function Jo(t,e){let i={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let n=1,o=!1,s=!1,a="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(o&&nt(t,"!ENTITY",e)){e+=7;let r,p;[r,p,e]=Pg(t,e+1),p.indexOf("&")===-1&&(i[r]={regx:RegExp(`&${r};`,"g"),val:p})}else if(o&&nt(t,"!ELEMENT",e)){e+=8;let{index:r}=Ag(t,e+1);e=r}else if(o&&nt(t,"!ATTLIST",e))e+=8;else if(o&&nt(t,"!NOTATION",e)){e+=9;let{index:r}=Rg(t,e+1);e=r}else if(nt(t,"!--",e))s=!0;else throw new Error("Invalid DOCTYPE");n++,a=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,n--):n--,n===0)break}else t[e]==="["?o=!0:a+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:e}}var Me=(t,e)=>{for(;e<t.length&&/\s/.test(t[e]);)e++;return e};function Pg(t,e){e=Me(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e])&&t[e]!=='"'&&t[e]!=="'";)i+=t[e],e++;if(Ho(i),e=Me(t,e),t.substring(e,e+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[e]==="%")throw new Error("Parameter entities are not supported");let n="";return[e,n]=pn(t,e,"entity"),e--,[i,n,e]}function Rg(t,e){e=Me(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e]);)i+=t[e],e++;Ho(i),e=Me(t,e);let n=t.substring(e,e+6).toUpperCase();if(n!=="SYSTEM"&&n!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${n}"`);e+=n.length,e=Me(t,e);let o=null,s=null;if(n==="PUBLIC")[e,o]=pn(t,e,"publicIdentifier"),e=Me(t,e),(t[e]==='"'||t[e]==="'")&&([e,s]=pn(t,e,"systemIdentifier"));else if(n==="SYSTEM"&&([e,s]=pn(t,e,"systemIdentifier"),!s))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:o,systemIdentifier:s,index:--e}}function pn(t,e,i){let n="",o=t[e];if(o!=='"'&&o!=="'")throw new Error(`Expected quoted string, found "${o}"`);for(e++;e<t.length&&t[e]!==o;)n+=t[e],e++;if(t[e]!==o)throw new Error(`Unterminated ${i} value`);return e++,[e,n]}function Ag(t,e){e=Me(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e]);)i+=t[e],e++;if(!Ho(i))throw new Error(`Invalid element name: "${i}"`);e=Me(t,e);let n="";if(t[e]==="E"&&nt(t,"MPTY",e))e+=4;else if(t[e]==="A"&&nt(t,"NY",e))e+=2;else if(t[e]==="("){for(e++;e<t.length&&t[e]!==")";)n+=t[e],e++;if(t[e]!==")")throw new Error("Unterminated content model")}else throw new Error(`Invalid Element Expression, found "${t[e]}"`);return{elementName:i,contentModel:n.trim(),index:e}}function nt(t,e,i){for(let n=0;n<e.length;n++)if(e[n]!==t[i+n+1])return!1;return!0}function Ho(t){if(ai(t))return t;throw new Error(`Invalid entity name ${t}`)}var Og=/^[-+]?0x[a-fA-F0-9]+$/,Ig=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,_g={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Vo(t,e={}){if(e=Object.assign({},_g,e),!t||typeof t!="string")return t;let i=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(i))return t;if(t==="0")return 0;if(e.hex&&Og.test(i))return jg(i,16);if(i.search(/.+[eE].+/)!==-1)return Ng(t,i,e);{let n=Ig.exec(i);if(n){let o=n[1]||"",s=n[2],a=Fg(n[3]),r=o?t[s.length+1]===".":t[s.length]===".";if(!e.leadingZeros&&(s.length>1||s.length===1&&!r))return t;{let p=Number(i),l=String(p);if(p===0)return p;if(l.search(/[eE]/)!==-1)return e.eNotation?p:t;if(i.indexOf(".")!==-1)return l==="0"||l===a||l===`${o}${a}`?p:t;let c=s?a:i;return s?c===l||o+c===l?p:t:c===l||c===o+l?p:t}}else return t}}var $g=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function Ng(t,e,i){if(!i.eNotation)return t;let n=e.match($g);if(n){let o=n[1]||"",s=n[3].indexOf("e")===-1?"E":"e",a=n[2],r=o?t[a.length+1]===s:t[a.length]===s;return a.length>1&&r?t:a.length===1&&(n[3].startsWith(`.${s}`)||n[3][0]===s)?Number(e):i.leadingZeros&&!r?(e=(n[1]||"")+n[3],Number(e)):t}else return t}function Fg(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substring(0,t.length-1))),t}function jg(t,e){if(parseInt)return parseInt(t,e);if(Number.parseInt)return Number.parseInt(t,e);if(window&&window.parseInt)return window.parseInt(t,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function Wo(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let i of t)if(typeof i=="string"&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}var ci=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(i,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(i,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=Ug,this.parseXml=Mg,this.parseTextData=Bg,this.resolveNameSpace=Lg,this.buildAttributesMap=Dg,this.isItStopNode=Vg,this.replaceEntitiesValue=Jg,this.readStopNodeData=Gg,this.saveTextToParentTag=Hg,this.addChild=zg,this.ignoreAttributesFn=Wo(this.options.ignoreAttributes)}};function Ug(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let n=e[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function Bg(t,e,i,n,o,s,a){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));let r=this.options.tagValueProcessor(e,t,i,o,s);return r==null?t:typeof r!=typeof t||r!==t?r:this.options.trimValues?Ko(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Ko(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function Lg(t){if(this.options.removeNSPrefix){let e=t.split(":"),i=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=i+e[1])}return t}var qg=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Dg(t,e,i){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){let n=rn(t,qg),o=n.length,s={};for(let a=0;a<o;a++){let r=this.resolveNameSpace(n[a][1]);if(this.ignoreAttributesFn(r,e))continue;let p=n[a][4],l=this.options.attributeNamePrefix+r;if(r.length)if(this.options.transformAttributeName&&(l=this.options.transformAttributeName(l)),l==="__proto__"&&(l="#__proto__"),p!==void 0){this.options.trimValues&&(p=p.trim()),p=this.replaceEntitiesValue(p);let c=this.options.attributeValueProcessor(r,p,e);c==null?s[l]=p:typeof c!=typeof p||c!==p?s[l]=c:s[l]=Ko(p,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[l]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=s,a}return s}}var Mg=function(t){t=t.replace(/\r\n?/g,`
144
+ `);let e=new le("!xml"),i=e,n="",o="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){let r=ot(t,">",s,"Closing Tag is not closed."),p=t.substring(s+2,r).trim();if(this.options.removeNSPrefix){let d=p.indexOf(":");d!==-1&&(p=p.substr(d+1))}this.options.transformTagName&&(p=this.options.transformTagName(p)),i&&(n=this.saveTextToParentTag(n,i,o));let l=o.substring(o.lastIndexOf(".")+1);if(p&&this.options.unpairedTags.indexOf(p)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${p}>`);let c=0;l&&this.options.unpairedTags.indexOf(l)!==-1?(c=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):c=o.lastIndexOf("."),o=o.substring(0,c),i=this.tagsNodeStack.pop(),n="",s=r}else if(t[s+1]==="?"){let r=Go(t,s,!1,"?>");if(!r)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,o),!(this.options.ignoreDeclaration&&r.tagName==="?xml"||this.options.ignorePiTags)){let p=new le(r.tagName);p.add(this.options.textNodeName,""),r.tagName!==r.tagExp&&r.attrExpPresent&&(p[":@"]=this.buildAttributesMap(r.tagExp,o,r.tagName)),this.addChild(i,p,o,s)}s=r.closeIndex+1}else if(t.substr(s+1,3)==="!--"){let r=ot(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){let p=t.substring(s+4,r-2);n=this.saveTextToParentTag(n,i,o),i.add(this.options.commentPropName,[{[this.options.textNodeName]:p}])}s=r}else if(t.substr(s+1,2)==="!D"){let r=Jo(t,s);this.docTypeEntities=r.entities,s=r.i}else if(t.substr(s+1,2)==="!["){let r=ot(t,"]]>",s,"CDATA is not closed.")-2,p=t.substring(s+9,r);n=this.saveTextToParentTag(n,i,o);let l=this.parseTextData(p,i.tagname,o,!0,!1,!0,!0);l==null&&(l=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:p}]):i.add(this.options.textNodeName,l),s=r+2}else{let r=Go(t,s,this.options.removeNSPrefix),p=r.tagName,l=r.rawTagName,c=r.tagExp,d=r.attrExpPresent,f=r.closeIndex;this.options.transformTagName&&(p=this.options.transformTagName(p)),i&&n&&i.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,i,o,!1));let w=i;w&&this.options.unpairedTags.indexOf(w.tagname)!==-1&&(i=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),p!==e.tagname&&(o+=o?"."+p:p);let m=s;if(this.isItStopNode(this.options.stopNodes,o,p)){let h="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)p[p.length-1]==="/"?(p=p.substr(0,p.length-1),o=o.substr(0,o.length-1),c=p):c=c.substr(0,c.length-1),s=r.closeIndex;else if(this.options.unpairedTags.indexOf(p)!==-1)s=r.closeIndex;else{let P=this.readStopNodeData(t,l,f+1);if(!P)throw new Error(`Unexpected end of ${l}`);s=P.i,h=P.tagContent}let y=new le(p);p!==c&&d&&(y[":@"]=this.buildAttributesMap(c,o,p)),h&&(h=this.parseTextData(h,p,o,!0,d,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),y.add(this.options.textNodeName,h),this.addChild(i,y,o,m)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){p[p.length-1]==="/"?(p=p.substr(0,p.length-1),o=o.substr(0,o.length-1),c=p):c=c.substr(0,c.length-1),this.options.transformTagName&&(p=this.options.transformTagName(p));let h=new le(p);p!==c&&d&&(h[":@"]=this.buildAttributesMap(c,o,p)),this.addChild(i,h,o,m),o=o.substr(0,o.lastIndexOf("."))}else{let h=new le(p);this.tagsNodeStack.push(i),p!==c&&d&&(h[":@"]=this.buildAttributesMap(c,o,p)),this.addChild(i,h,o,m),i=h}n="",s=f}}else n+=t[s];return e.child};function zg(t,e,i,n){this.options.captureMetaData||(n=void 0);let o=this.options.updateTag(e.tagname,i,e[":@"]);o===!1||(typeof o=="string"&&(e.tagname=o),t.addChild(e,n))}var Jg=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){let i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){let i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function Hg(t,e,i,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,i,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function Vg(t,e,i){let n="*."+i;for(let o in t){let s=t[o];if(n===s||e===s)return!0}return!1}function Wg(t,e,i=">"){let n,o="";for(let s=e;s<t.length;s++){let a=t[s];if(n)a===n&&(n="");else if(a==='"'||a==="'")n=a;else if(a===i[0])if(i[1]){if(t[s+1]===i[1])return{data:o,index:s}}else return{data:o,index:s};else a===" "&&(a=" ");o+=a}}function ot(t,e,i,n){let o=t.indexOf(e,i);if(o===-1)throw new Error(n);return o+e.length-1}function Go(t,e,i,n=">"){let o=Wg(t,e+1,n);if(!o)return;let s=o.data,a=o.index,r=s.search(/\s/),p=s,l=!0;r!==-1&&(p=s.substring(0,r),s=s.substring(r+1).trimStart());let c=p;if(i){let d=p.indexOf(":");d!==-1&&(p=p.substr(d+1),l=p!==o.data.substr(d+1))}return{tagName:p,tagExp:s,closeIndex:a,attrExpPresent:l,rawTagName:c}}function Gg(t,e,i){let n=i,o=1;for(;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="/"){let s=ot(t,">",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(o--,o===0))return{tagContent:t.substring(n,i),i:s};i=s}else if(t[i+1]==="?")i=ot(t,"?>",i+1,"StopNode is not closed.");else if(t.substr(i+1,3)==="!--")i=ot(t,"-->",i+3,"StopNode is not closed.");else if(t.substr(i+1,2)==="![")i=ot(t,"]]>",i,"StopNode is not closed.")-2;else{let s=Go(t,i,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&o++,i=s.closeIndex)}}function Ko(t,e,i){if(e&&typeof t=="string"){let n=t.trim();return n==="true"?!0:n==="false"?!1:Vo(t,i)}else return Bp(t)?t:""}var Xo=le.getMetaDataSymbol();function Yo(t,e){return Hp(t,e)}function Hp(t,e,i){let n,o={};for(let s=0;s<t.length;s++){let a=t[s],r=Kg(a),p="";if(i===void 0?p=r:p=i+"."+r,r===e.textNodeName)n===void 0?n=a[r]:n+=""+a[r];else{if(r===void 0)continue;if(a[r]){let l=Hp(a[r],e,p),c=Yg(l,e);a[Xo]!==void 0&&(l[Xo]=a[Xo]),a[":@"]?Xg(l,a[":@"],p,e):Object.keys(l).length===1&&l[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?l=l[e.textNodeName]:Object.keys(l).length===0&&(e.alwaysCreateTextNode?l[e.textNodeName]="":l=""),o[r]!==void 0&&o.hasOwnProperty(r)?(Array.isArray(o[r])||(o[r]=[o[r]]),o[r].push(l)):e.isArray(r,p,c)?o[r]=[l]:o[r]=l}}}return typeof n=="string"?n.length>0&&(o[e.textNodeName]=n):n!==void 0&&(o[e.textNodeName]=n),o}function Kg(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let n=e[i];if(n!==":@")return n}}function Xg(t,e,i,n){if(e){let o=Object.keys(e),s=o.length;for(let a=0;a<s;a++){let r=o[a];n.isArray(r,i+"."+r,!0,!0)?t[r]=[e[r]]:t[r]=e[r]}}}function Yg(t,e){let{textNodeName:i}=e,n=Object.keys(t).length;return!!(n===0||n===1&&(t[i]||typeof t[i]=="boolean"||t[i]===0))}var It=class{constructor(e){this.externalEntities={},this.options=Jp(e)}parse(e,i){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let s=zp(e,i);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}let n=new ci(this.options);n.addExternalEntities(this.externalEntities);let o=n.parseXml(e);return this.options.preserveOrder||o===void 0?o:Yo(o,this.options)}addEntity(e,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return le.getMetaDataSymbol()}};var ln=class t{constructor(e){this.conf=e;this.appiumBaseUrl=`https://${this.conf.baseUrl}/wd/hub`,this.headers={Authorization:`Basic ${btoa(this.conf.slug+":"+this.conf.apiKey)}`},this.cfg=e}appiumBaseUrl;headers;cfg;sessionId;platform="android";isWebSession=!1;async startWebdriverSession(e,i){this.sessionId&&await this.stopSession();let n={...i,"mobitru:keepDevice":!0};this.cfg?.wid!=="0"&&(n["mobitru:wid"]=this.cfg?.wid);let o={hostname:this.cfg.baseUrl,path:"/wd/hub",protocol:"https",user:this.cfg.slug,key:this.cfg.apiKey,port:443,headers:{...this.headers},capabilities:n};return this.platform=e,await(0,Wp.remote)(o)}async startSession(e,i){try{let n={...i,"mobitru:keepDevice":!0};this.cfg?.wid!=="0"&&(n["mobitru:wid"]=this.cfg?.wid);let o=await fetch(this.appiumBaseUrl+"/session",{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify({capabilities:{alwaysMatch:n,firstMatch:[{}]}})});if(!o.ok){let a=await o.text();throw new Error(a)}let s=await o.json();if(!s.value?.sessionId)throw new Error("No session ID returned: "+JSON.stringify(s));this.sessionId=s.value.sessionId,this.platform=e}catch(n){throw this.clearSessionState(),x(`Failed to start session: ${n.message}`),new Error(`Failed to start session: ${n.message}`)}}async startNativeSession(e){let i=e.platform.toLowerCase(),n=t.prepareCapabilities(e);await this.startSession(i,n),this.isWebSession=!1}async startWebSession(e){let i=e.platform.toLowerCase(),n=t.prepareWebCapabilities(e);await this.startSession(i,n),this.isWebSession=!0}isWebSessionActive(){return this.isWebSession}clearSessionState(){this.sessionId=void 0,this.isWebSession=!1}async stopSession(){if(this.sessionId)try{await fetch(`${this.appiumBaseUrl}/session/${this.sessionId}`,{method:"DELETE",headers:this.headers})}catch(e){x(`Failed to stop session: ${e.message}`)}finally{this.clearSessionState()}}async tapElementByXPath(e){let i=await this._post(`/session/${this.sessionId}/element`,{using:"xpath",value:e}),n=i.value.ELEMENT||i.value["element-6066-11e4-a52e-4f735466cecf"];await this._post(`/session/${this.sessionId}/element/${n}/click`,{})}async tapCoordinates(e,i){await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:[{type:"pointerMove",duration:0,x:e,y:i},{type:"pointerDown",button:0},{type:"pause",duration:100},{type:"pointerUp",button:0}]}]})}async executeMobileCommand(e,i){return await this._post(`/session/${this.sessionId}/execute`,{script:e,args:i})}async _get(e){return await(await this._fetchWithTimeout(`${this.appiumBaseUrl}${e}`,{headers:this.headers})).json()}async _post(e,i){let n=await this._fetchWithTimeout(`${this.appiumBaseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify(i)});if(!n.ok){let o=await n.text();throw x(`Error in Appium request: ${o}`),new Error(`Error in Appium request: ${o}`)}return await n.json()}async _fetchWithTimeout(e,i={}){let n=Number(process.env.APPIUM_REQUEST_TIMEOUT_MS)||0;if(n<=0)return fetch(e,i);let o=new AbortController,s=setTimeout(()=>o.abort(),n);try{return await fetch(e,{...i,signal:o.signal})}catch(a){throw a.name==="AbortError"?new Error(`Appium request timed out after ${n/1e3}s: ${e}`):a}finally{clearTimeout(s)}}async isAppInstalled(e){return(await this._post(`/session/${this.sessionId}/appium/device/app_installed`,{bundleId:e})).value}static prepareCapabilities(e){let i=e.platform.toLowerCase()==="android";return{platformName:i?"Android":"iOS","appium:udid":e.serial,"appium:automationName":i?"UiAutomator2":"XCUITest","appium:newCommandTimeout":1200}}static prepareWebCapabilities(e){let i=e.platform.toLowerCase()==="android";return{platformName:i?"Android":"iOS","appium:udid":e.serial,"appium:automationName":i?"UiAutomator2":"XCUITest","appium:newCommandTimeout":1200,browserName:i?"chrome":"safari"}}async getScreenSize(){let e=await this._get(`/session/${this.sessionId}/window/rect`);if(!e.value)throw new Error("Failed to get screen size");return{width:e.value.width,height:e.value.height,scale:e.value.scale||1}}async getScreenshot(){return(await this._get(`/session/${this.sessionId}/screenshot`)).value}async swipe(e,i=.5){let n=await this.getScreenSize(),o=n.width/2,s=n.height/2,a=o,r=s,p=o,l=s;switch(e){case"up":r=s+n.height*i/2,l=s-n.height*i/2;break;case"down":r=s-n.height*i/2,l=s+n.height*i/2;break;case"left":a=o+n.width*i/2,p=o-n.width*i/2;break;case"right":a=o-n.width*i/2,p=o+n.width*i/2;break}await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:[{type:"pointerMove",duration:0,x:Math.round(a),y:Math.round(r)},{type:"pointerDown",button:0},{type:"pointerMove",duration:300,x:Math.round(p),y:Math.round(l)},{type:"pointerUp",button:0}]}]})}async continuousSwipe(e){if(e.length<2)throw new Error("At least two points are required for a continuous swipe");if(e.length>20)throw new Error(`Maximum of ${20} points are allowed for a continuous swipe`);let i=[{type:"pointerMove",duration:0,x:Math.round(e[0].x),y:Math.round(e[0].y)},{type:"pointerDown",button:0},...e.slice(1).map(n=>({type:"pointerMove",duration:250,x:Math.round(n.x),y:Math.round(n.y)})),{type:"pointerUp",button:0}];await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:i}]})}async launchApp(e){await this._post(`/session/${this.sessionId}/appium/device/activate_app`,{bundleId:e})}async terminateApp(e){await this._post(`/session/${this.sessionId}/appium/device/terminate_app`,{bundleId:e})}async openUrl(e){if(!this.isWebSessionActive())throw new Error("Cannot open URL in non-web session");await this._post(`/session/${this.sessionId}/url`,{url:e})}async sendKeys(e){await this._post(`/session/${this.sessionId}/keys`,{value:e.split("")})}async pressButton(e){if(this.platform==="android"){let i;switch(e){case"HOME":i=3;break;case"BACK":i=4;break;case"VOLUME_UP":i=24;break;case"VOLUME_DOWN":i=25;break;case"ENTER":i=66;break;case"DPAD_CENTER":i=23;break;case"DPAD_UP":i=19;break;case"DPAD_DOWN":i=20;break;case"DPAD_LEFT":i=21;break;case"DPAD_RIGHT":i=22;break;default:throw new Error(`Unsupported button: ${e}`)}await this._post(`/session/${this.sessionId}/appium/device/press_keycode`,{keycode:i})}else{if(e==="ENTER"){await this.sendKeys(`
145
+ `);return}let i;switch(e){case"HOME":i="home";break;case"VOLUME_UP":i="volumeUp";break;case"VOLUME_DOWN":i="volumeDown";break;default:throw new Error(`Unsupported button on iOS: ${e}`)}this.executeMobileCommand("mobile: pressButton",{name:i})}}isVisible(e){return e.x>=0&&e.y>=0}filterIosSourceElements(e){let i=[];if(["XCUIElementTypeIcon","XCUIElementTypeButton","XCUIElementTypeTextField","XCUIElementTypeTextView","XCUIElementTypeStaticText","XCUIElementTypeImage","XCUIElementTypeLink","XCUIElementTypeOther","XCUIElementTypeSwitch"].includes(e.type)&&e.visible==="true"&&this.isVisible(e.rect)&&(e.label!==null||e.name!==null)&&i.push({type:e.type,label:e.label,name:e.name,value:e.value,rect:{x:e.rect.x,y:e.rect.y,width:e.rect.width,height:e.rect.height}}),e.children)for(let o of e.children)i.push(...this.filterIosSourceElements(o));return i}async getPageSource(){let e=await this._get(`/session/${this.sessionId}/source`);return new It({ignoreAttributes:!1,attributeNamePrefix:""}).parse(e.value)}collectAndroidElements(e){let i=[];if(e.node)if(Array.isArray(e.node))for(let n of e.node)i.push(...this.collectAndroidElements(n));else i.push(...this.collectAndroidElements(e.node));if(e.text||e["content-desc"]||e.hint){let n={type:e.class||"text",text:e.text,label:e["content-desc"]||e.hint||"",rect:this.getScreenElementRect(e)};e.focused==="true"&&(n.focused=!0),n.rect.width>0&&n.rect.height>0&&i.push(n)}return i}convertAndroidXmlToNodeStructure(e){if(typeof e!="object"||e===null)return e;let i={...e};for(let n in e)typeof e[n]=="object"&&e[n]!==null&&(i.node||(i.node=[]),i.node.push(this.convertAndroidXmlToNodeStructure(e[n])),delete i[n]);return i}convertIosXmlToNodeStructure(e){if(typeof e!="object"||e===null)return e;let i={...e};i.rect={x:parseInt(e.x,10)||0,y:parseInt(e.y,10)||0,width:parseInt(e.width,10)||0,height:parseInt(e.height,10)||0};for(let n in e)typeof e[n]=="object"&&e[n]!==null&&(i.children||(i.children=[]),i.children.push(this.convertIosXmlToNodeStructure(e[n])),delete i[n]);return i}getScreenElementRect(e){let i=String(e.bounds),[,n,o,s,a]=i.match(/^\[(\d+),(\d+)\]\[(\d+),(\d+)\]$/)?.map(Number)||[];return{x:n,y:o,width:s-n,height:a-o}}async getElementsOnScreen(){let e=await this.getPageSource();if(this.platform==="android"){let o=this.convertAndroidXmlToNodeStructure(e.hierarchy);return this.collectAndroidElements(o.node[0])}let i=this.convertIosXmlToNodeStructure(e.AppiumAUT);return this.filterIosSourceElements(i)}async setOrientation(e){await this._post(`/session/${this.sessionId}/orientation`,{orientation:e.toUpperCase()})}async getOrientation(){return(await this._get(`/session/${this.sessionId}/orientation`)).value.toLowerCase()}async getWebElementsOnScreen(){if(!this.sessionId)throw new Error("No active session");return(await this._post(`/session/${this.sessionId}/execute/sync`,{script:jp,args:[]})).value||[]}async findElementByCssSelector(e){if(!this.sessionId)throw new Error("No active session");let i=await this._post(`/session/${this.sessionId}/element`,{using:"css selector",value:e}),n=i.value.ELEMENT||i.value["element-6066-11e4-a52e-4f735466cecf"];if(!n)throw new Error(`Element not found with CSS selector: ${e}`);return n}async clickElementByCssSelector(e){if(!this.sessionId)throw new Error("No active session");try{let i=await this.findElementByCssSelector(e);await this._post(`/session/${this.sessionId}/element/${i}/click`,{})}catch(i){throw x(`Failed to click element with CSS selector "${e}": ${i.message}`),new Error(`Failed to click element with CSS selector "${e}": ${i.message}`)}}};var un=class{appiumClient;platform;constructor(e,i){this.appiumClient=e,this.platform=i}async close(){await this.appiumClient.stopSession()}async getScreenSize(){try{return await this.appiumClient.getScreenSize()}catch(e){throw x(`Failed to get screen size: ${e}`),new H(`Failed to get screen size: ${e}`)}}async swipe(e,i=1){try{return await this.appiumClient.swipe(e,i),await this.getElementsOnScreen(500)}catch(n){throw x(`Failed to swipe ${e}: ${n}`),new H(`Failed to swipe ${e}: ${n}`)}}async getScreenshot(){try{let e=await this.appiumClient.getScreenshot();return Buffer.from(e,"base64")}catch(e){throw x(`Failed to get screenshot: ${e}`),new H(`Failed to get screenshot: ${e}`)}}async isAppInstalled(e){try{return await this.appiumClient.isAppInstalled(e)}catch(i){throw x(`Failed to list apps: ${i}`),new H(`Failed to list apps: ${i}`)}}async launchApp(e){try{return await this.appiumClient.launchApp(e),await this.getElementsOnScreen(5e3)}catch(i){throw x(`Failed to launch app ${e}: ${i}`),new H(`Failed to launch app ${e}: ${i}`)}}async terminateApp(e){try{return await this.appiumClient.terminateApp(e),await this.getElementsOnScreen(1e3)}catch(i){throw x(`Failed to terminate app ${e}: ${i}`),new H(`Failed to terminate app ${e}: ${i}`)}}async openUrl(e){try{return await this.appiumClient.openUrl(e),await this.getElementsOnScreen()}catch(i){throw x(`Failed to open URL ${e}: ${i}`),new H(`Failed to open URL ${e}: ${i}`)}}async sendKeys(e){try{return await this.appiumClient.sendKeys(e),await this.getElementsOnScreen(500)}catch(i){throw x(`Failed to send keys: ${i}`),new H(`Failed to send keys: ${i}`)}}async pressButton(e){try{return await this.appiumClient.pressButton(e),await this.getElementsOnScreen(1e3)}catch(i){throw x(`Failed to press button ${e}: ${i}`),new H(`Failed to press button ${e}: ${i}`)}}async tap(e,i){try{return await this.appiumClient.tapCoordinates(e,i),await this.getElementsOnScreen(1e3)}catch(n){throw x(`Failed to tap at coordinates (${e}, ${i}): ${n}`),new H(`Failed to tap at coordinates (${e}, ${i}): ${n}`)}}async getElementsOnScreen(e=0){try{return e>0&&await new Promise(i=>setTimeout(i,e)),this.appiumClient.isWebSessionActive()?await this.appiumClient.getWebElementsOnScreen():await this.appiumClient.getElementsOnScreen()}catch(i){throw x(`Failed to get elements on screen: ${i}`),new H(`Failed to get elements on screen: ${i}`)}}async setOrientation(e){try{return await this.appiumClient.setOrientation(e),await this.getElementsOnScreen(500)}catch(i){throw x(`Failed to set orientation to ${e}: ${i}`),new H(`Failed to set orientation to ${e}: ${i}`)}}async getOrientation(){try{return await this.appiumClient.getOrientation()}catch(e){throw x(`Failed to get orientation: ${e}`),new H(`Failed to get orientation: ${e}`)}}async clickWebElement(e){try{if(!this.appiumClient.isWebSessionActive())throw new H("This method is only available for web sessions. Use mobile_appium_init with sessionType='web' to start a web session.");return await this.appiumClient.clickElementByCssSelector(e),await this.getElementsOnScreen()}catch(i){throw x(`Failed to click web element with CSS selector "${e}": ${i}`),new H(`Failed to click element: ${i}`)}}async continuousSwipe(e){try{return await this.appiumClient.continuousSwipe(e),await this.getElementsOnScreen(1e3)}catch(i){throw x(`Failed to perform continuous swipe: ${i}`),new H(`Failed to perform continuous swipe: ${i}`)}}};function _t(t){let e=t.state.currentJob;if(e&&_e(e))throw new v(`an appium-run job is in flight on serial "${e.serial}" \u2014 run appium-cancel first or wait for it to finish`,409)}function L(t){let e=t.state.activeDevice;if(!e)throw new v("no active device \u2014 run device-use first",400);return e}function fe(t){let e=t.body?.savePath;if(!e||typeof e!="string")throw new v("savePath is required",400);return e}function ye(t,e){return Zo.default.mkdirSync(Gp.default.dirname(t),{recursive:!0}),Zo.default.writeFileSync(t,e),{path:t,bytes:e.length}}var Qo=t=>t?.response?.status===404;async function V(t){if(_t(t),t.state.robot)return t.state.robot;let e=L(t),n=await new Ee(t.deviceFarm).getDeviceInfo(e),o=new ln(t.deviceFarm);t.state.sessionType==="web"?await o.startWebSession(n):await o.startNativeSession(n);let s=new un(o,n.platform.toLowerCase());return t.state.robot=s,t.log.info({serial:e,platform:n.platform,sessionType:t.state.sessionType},"robot initialized"),s}function es(t){t.get("/devices",async e=>{let i=e.query.platform;if(!i||!an(i))throw new v(`platform must be one of: ${Ot.join(", ")}`,400);return await new Ee(t.deviceFarm).findDevice({platform:i})}),t.post("/device/use",async e=>{_t(t);let{serial:i,duration:n=180}=e.body,o=e.body.sessionType??"native";if(!i)throw new v("serial is required",400);if(o!=="native"&&o!=="web")throw new v(`sessionType must be "native" or "web"; got "${o}"`,400);if(t.state.activeDevice===i&&t.state.sessionType===o)return{serial:i,duration:n,sessionType:o,alreadyActive:!0};if(t.state.activeDevice===i&&t.state.sessionType!==o){let r=t.state.sessionType;if(t.state.robot){try{await t.state.robot.close()}catch{}t.state.robot=null}return t.state.snapshotRefs=null,t.state.sessionType=o,t.log.info({serial:i,from:r,to:o},"session type switched in-place (booking preserved)"),{serial:i,duration:n,sessionType:o,sessionSwitched:{from:r,to:o}}}if(t.state.activeDevice)throw new v(`device "${t.state.activeDevice}" is currently in use. Run device-release first, then device-use ${i}.`,409);let a=await new Ee(t.deviceFarm).takeDeviceBySerial(i,n);return t.state.activeDevice=i,t.state.sessionType=o,t.log.info({serial:i,duration:n,sessionType:o},"activeDevice set"),{serial:i,duration:n,sessionType:o,result:a}}),t.post("/device/release",async()=>(_t(t),await ts(t)))}async function ts(t){let e=t.state.activeDevice;if(!e)return t.log.info("releaseActiveDevice: no activeDevice, no-op"),{released:!1};let i;if(t.state.recordingActive)try{i=(await new De(t.deviceFarm).stopRecording(e)).recordingId,t.log.info({serial:e,recordingId:i},"auto-stopped active recording before release")}catch(o){t.log.warn({serial:e,err:o},"auto-stop recording failed; recording may be lost")}finally{t.state.recordingActive=!1}if(t.state.robot)try{await t.state.robot.close()}catch(o){t.log.warn({err:o},"robot.close threw, ignoring")}t.state.robot=null,t.state.snapshotRefs=null;let n;try{n=await new Ee(t.deviceFarm).releaseDevice(e)}catch(o){let s=o instanceof I?o.statusCode:void 0;if(s!==403&&s!==404)throw o;t.log.warn({serial:e,status:s},"release returned 4xx \u2014 booking already gone, clearing local state"),n={alreadyReleased:!0,status:s}}return t.state.activeDevice=null,t.log.info({serial:e},"activeDevice cleared"),{released:!0,serial:e,result:n,...i?{recordingId:i}:{}}}var st=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async createBooking(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings`,{name:n,start:o,end:s,offset:a,devices:r,isPrivate:p}=e,l={name:n,start:o,end:s,offset:a,devices:r};p!==void 0&&(l.private=p);try{k(`Creating booking for devices: ${r.join(", ")}`);let c=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(l)});if(!c.ok){let d=await c.text();throw new I(`Failed to create booking: ${c.status} ${c.statusText} - ${d}`,c.status)}return await c.json()}catch(c){throw x(`Error creating booking: ${c.message}`),c}}async cancelBooking(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings/${e}`;try{k(`Cancelling booking: ${e}`);let n=await fetch(i,{method:"DELETE",headers:this.headers});if(!n.ok)throw new I(`Failed to cancel booking: ${n.status} ${n.statusText}`,n.status)}catch(n){throw x(`Error cancelling booking: ${n.message}`),n}}async getBookings(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings`,o=new URLSearchParams;e&&o.append("iso","true"),i&&o.append("till",i.toString());let s=o.toString();s&&(n=`${n}?${s}`);try{k("Fetching bookings");let a=await fetch(n,{method:"GET",headers:this.headers});if(!a.ok)throw new I(`Failed to fetch bookings: ${a.status} ${a.statusText}`,a.status);return await a.json()}catch(a){throw x(`Error fetching bookings: ${a.message}`),a}}async getBookingById(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings/${e}`;i&&(n=`${n}?iso=true`);try{k(`Fetching booking: ${e}`);let o=await fetch(n,{method:"GET",headers:this.headers});if(!o.ok)throw new I(`Failed to fetch booking: ${o.status} ${o.statusText}`,o.status);return await o.json()}catch(o){throw x(`Error fetching booking: ${o.message}`),o}}};function is(t){t.get("/bookings",async e=>{let i=e.query.till?Number(e.query.till):void 0;return await new st(t.deviceFarm).getBookings(!0,i)}),t.get("/bookings/:id",async e=>await new st(t.deviceFarm).getBookingById(e.params.id,!0)),t.post("/bookings",async e=>{let{name:i,start:n,end:o,offset:s,devices:a,isPrivate:r}=e.body??{};if(!i||typeof i!="string")throw new v("name is required",400);if(typeof n!="number"||typeof o!="number")throw new v("start and end are required (epoch seconds)",400);if(typeof s!="number")throw new v("offset is required (timezone offset in minutes from UTC)",400);if(!Array.isArray(a)||a.length===0)throw new v("devices must be a non-empty array of serials",400);return await new st(t.deviceFarm).createBooking({name:i,start:n,end:o,offset:s,devices:a,isPrivate:r})}),t.delete("/bookings/:id",async e=>(await new st(t.deviceFarm).cancelBooking(e.params.id),{cancelled:!0,id:e.params.id}))}function ns(t){t.post("/screenshot",async e=>{let i=fe(e),o=await(await V(t)).getScreenshot();return ye(i,o)}),t.get("/screen-size",async()=>await(await V(t)).getScreenSize()),t.post("/snapshot",async e=>{let i=fe(e),o=await(await V(t)).getElementsOnScreen(),s=new Map,a=o.map((p,l)=>{let c=`e${l+1}`;return s.set(c,p),{...p,ref:c}});t.state.snapshotRefs=s;let r=Buffer.from(JSON.stringify({elements:a},null,2));return{...ye(i,r),refCount:a.length}}),t.post("/tap-at",async e=>{let{x:i,y:n}=e.body??{};if(typeof i!="number"||typeof n!="number")throw new v("x and y are required (numbers)",400);return await(await V(t)).tap(i,n),{x:i,y:n}}),t.post("/tap",async e=>{let i=e.body?.ref;if(!i||typeof i!="string")throw new v("ref is required",400);let n=t.state.snapshotRefs?.get(i);if(!n)throw new v(`ref "${i}" not found. Run snapshot first.`,400);let o=await V(t),{x:s,y:a,width:r,height:p}=n.rect;return await o.tap(s+r/2,a+p/2),{ref:i}}),t.get("/orientation",async()=>({orientation:await(await V(t)).getOrientation()})),t.put("/orientation",async e=>{let i=e.body?.orientation;if(!i||typeof i!="string")throw new v("orientation is required",400);if(!Ds(i))throw new v(`unsupported orientation: ${i}. Supported: ${On.join(", ")}`,400);return await(await V(t)).setOrientation(i),{orientation:i}}),t.post("/continuous-swipe",async e=>{let i=e.body?.points;if(!Array.isArray(i)||i.length<2||i.length>20)throw new v("points must be an array of 2..20 {x,y} pairs",400);for(let o of i)if(!o||typeof o.x!="number"||typeof o.y!="number")throw new v("each point must be {x: number, y: number}",400);return await(await V(t)).continuousSwipe(i),{count:i.length}}),t.post("/swipe",async e=>{let i=e.body?.direction;if(!i||typeof i!="string")throw new v("direction is required",400);if(!Ls(i))throw new v(`unsupported direction: ${i}. Supported: ${Rn.join(", ")}`,400);return await(await V(t)).swipe(i,e.body?.force),{direction:i}}),t.post("/type",async e=>{let i=e.body?.text;if(typeof i!="string")throw new v("text is required",400);let n=e.body?.submit===!0,o=await V(t);return await o.sendKeys(i),n&&await o.pressButton("ENTER"),{text:i,submitted:n}}),t.post("/press",async e=>{let i=e.body?.button;if(!i||typeof i!="string")throw new v("button is required",400);let n=i.toUpperCase();if(!qs(n))throw new v(`unsupported button: ${i}. Supported: ${An.join(", ")}`,400);return await(await V(t)).pressButton(n),{button:n}})}function os(t){t.post("/open-url",async e=>{let i=e.body?.url;if(!i||typeof i!="string")throw new v("url is required",400);return await(await V(t)).openUrl(i),{url:i}}),t.post("/click-web-element",async e=>{let i=e.body?.selector;if(!i||typeof i!="string")throw new v("selector is required",400);return await(await V(t)).clickWebElement(i),{selector:i}})}var $t=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api/storage`}baseUrl;headers;apiPath;async installApp(e,i,n){try{let o=new URLSearchParams;n?.noResign!==void 0&&o.append("noResign",n.noResign.toString()),n?.doInjection!==void 0&&o.append("doInjection",n.doInjection.toString()),n?.mdmInstall!==void 0&&o.append("mdmInstall",n.mdmInstall.toString());let s=o.toString()?`?${o.toString()}`:"",a=`${this.baseUrl}${this.apiPath}/install/${e}/${i}${s}`,r=await B.get(a,{headers:this.headers});$(r,201,"install app"),k(`Successfully installed app on device ${e}`)}catch(o){throw x(`Error installing app: ${o}`),o}}async installAppOta(e,i){try{let n=`${this.baseUrl}${this.apiPath}/install/${e}/ota`,o=await B.post(n,{otaUrl:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,202,"initiate OTA installation"),k(`Successfully initiated OTA installation on device ${e}`)}catch(n){throw x(`Error initiating OTA installation: ${n}`),n}}async uninstallApp(e,i){try{let n=`${this.baseUrl}${this.apiPath}/uninstall/${e}`,o=await B.post(n,{appPackage:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,200,"uninstall app"),k(`Successfully uninstalled app ${i} from device ${e}`)}catch(n){throw x(`Error uninstalling app: ${n}`),n}}async uploadArtifact(e,i){try{let n=`${this.baseUrl}${this.apiPath}/upload/${e}/${i}`,o=await B.post(n,{},{headers:this.headers});$(o,201,"upload artifact"),k(`Successfully uploaded artifact to device ${e}`)}catch(n){throw x(`Error uploading artifact: ${n}`),n}}};function ss(t){t.post("/launch",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);return await(await V(t)).launchApp(i),{appId:i}}),t.post("/terminate",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);return await(await V(t)).terminateApp(i),{appId:i}}),t.get("/is-installed",async e=>{let i=e.query.app;if(!i)throw new v("app query param is required",400);let o=await(await V(t)).isAppInstalled(i);return{appId:i,installed:o}}),t.post("/install-app",async e=>{let i=e.body?.artifactId;if(!i||typeof i!="string")throw new v("artifactId is required",400);let n=L(t);return await new $t(t.deviceFarm).installApp(n,i),{artifactId:i}}),t.post("/install-app/ota",async e=>{let i=e.body?.otaUrl;if(!i||typeof i!="string")throw new v("otaUrl is required",400);let n=L(t);return await new $t(t.deviceFarm).installAppOta(n,i),{otaUrl:i}}),t.post("/uninstall-app",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);let n=L(t);return await new $t(t.deviceFarm).uninstallApp(n,i),{appId:i}})}var as=C(require("path"));var Kp=C(Qn()),Xp=C(require("fs")),at=class{client;config;constructor(e){this.config=e,this.client=zo({baseURL:`https://${e.baseUrl}`,headers:{Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}})}async getArtifacts(e){try{let i=e?{filter:e}:void 0,n=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts`,{params:i});return $(n,200,"list artifacts"),n.data}catch(i){throw x(`Error getting artifacts: ${i.message}`),i}}async getArtifactById(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`);return $(i,200,"get artifact"),i.data}catch(i){throw x(`Error getting artifact: ${i.message}`),i}}async getArtifactStatus(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}/status`);return $(i,200,"get artifact status"),i.data}catch(i){throw x(`Error getting artifact status: ${i.message}`),i}}async downloadArtifact(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}/download`,{responseType:"arraybuffer"});return $(i,200,"download artifact"),Buffer.from(i.data)}catch(i){throw x(`Error downloading artifact: ${i.message}`),i}}async deleteArtifact(e){try{let i=await this.client.delete(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`);$(i,200,"delete artifact")}catch(i){throw x(`Error deleting artifact: ${i.message}`),i}}async updateArtifact(e,i){try{let n=await this.client.put(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`,i);$(n,200,"update artifact")}catch(n){throw x(`Error updating artifact: ${n.message}`),n}}async uploadArtifactFromBuffer(e){try{let i=new Kp.default;i.append("file",e.fileBuffer,e.fileName),i.append("fileName",e.fileName),e.contentLength&&i.append("contentLength",e.contentLength.toString()),e.private!==void 0&&i.append("private",e.private.toString()),e.alias&&i.append("alias",e.alias),e.checksum&&i.append("checksum",e.checksum),e.target&&i.append("target",e.target);let n={...i.getHeaders(),Authorization:`Bearer ${this.config.apiKey}`},o=await this.client.post(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts`,i,{headers:n});return $(o,200,"upload artifact"),o.data}catch(i){throw x(`Error uploading artifact: ${i.message}`),i}}async uploadArtifact(e){try{let i=Xp.default.readFileSync(e.filePath);return await this.uploadArtifactFromBuffer({fileName:e.fileName,fileBuffer:i,contentLength:e.contentLength,private:e.private,alias:e.alias,checksum:e.checksum,target:e.target})}catch(i){throw x(`Error uploading artifact: ${i.message}`),i}}};function rs(t){t.get("/artifacts",async()=>await new at(t.deviceFarm).getArtifacts()),t.get("/artifacts/info",async e=>{let i=e.query.id;if(!i)throw new v("id query param is required",400);return await new at(t.deviceFarm).getArtifactById(i)}),t.post("/artifacts/upload",async e=>{let i=e.body?.filePath;if(!i||typeof i!="string")throw new v("filePath is required",400);let n=as.default.extname(i).toLowerCase(),o=e.body?.target??(n===".apk"?"android":n===".ipa"?"ios":void 0);if(!o)throw new v(`cannot determine target from extension "${n}". Pass target=android|ios.`,400);return await new at(t.deviceFarm).uploadArtifact({fileName:as.default.basename(i),filePath:i,target:o,alias:e.body?.alias})}),t.post("/artifacts/download",async e=>{let i=fe(e),n=e.body?.artifactId;if(!n||typeof n!="string")throw new v("artifactId is required",400);let o=await new at(t.deviceFarm).downloadArtifact(n);return ye(i,o)})}var pi=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getCurrentGeolocation(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/geolocation`,n=await B.get(i,{headers:this.headers});return $(n,200,"get geolocation"),k("Successfully retrieved geolocation"),n.data}catch(i){throw x(`Error getting geolocation: ${i}`),i}}async setGeolocation(e,i,n){try{let o=`${this.baseUrl}${this.apiPath}/device/${e}/geolocation`,s=await B.post(o,{lat:i,lng:n},{headers:{...this.headers,"Content-Type":"application/json"}});$(s,200,"set geolocation"),k(`Successfully set geolocation for device ${e}`)}catch(o){throw x(`Error setting geolocation: ${o}`),o}}};var li=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getIPLocations(){try{let e=`${this.baseUrl}${this.apiPath}/iplocations`,i=await B.get(e,{headers:this.headers});return $(i,200,"get IP locations"),k("Successfully retrieved IP locations"),i.data}catch(e){throw x(`Error getting IP locations: ${e}`),e}}async setIPLocation(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/iplocations`,o=await B.post(n,{countryCode:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,200,"set IP location"),k(`Successfully set IP location to ${i} for device ${e}`)}catch(n){throw x(`Error setting IP location: ${n}`),n}}};function cs(t){t.get("/geolocation",async()=>{let e=L(t);return await new pi(t.deviceFarm).getCurrentGeolocation(e)}),t.put("/geolocation",async e=>{let i=L(t),{lat:n,lng:o}=e.body??{};if(typeof n!="number"||!Number.isFinite(n)||n<-90||n>90)throw new v("lat must be a number in [-90, 90]",400);if(typeof o!="number"||!Number.isFinite(o)||o<-180||o>180)throw new v("lng must be a number in [-180, 180]",400);return await new pi(t.deviceFarm).setGeolocation(i,n,o),{lat:n,lng:o}}),t.get("/ip-location/list",async()=>await new li(t.deviceFarm).getIPLocations()),t.post("/ip-location",async e=>{let i=L(t),n=e.body?.countryCode;if(!n||typeof n!="string")throw new v("countryCode is required (ISO-3166-1 alpha-2, or 'DEFAULT' to reset)",400);return await new li(t.deviceFarm).setIPLocation(i,n),{countryCode:n}})}var rt=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getThrottlingPresets(){try{let e=`${this.baseUrl}${this.apiPath}/devices/throttle/presets`,i=await B.get(e,{headers:this.headers});return $(i,200,"get throttling presets"),k("Successfully retrieved throttling presets"),i.data}catch(e){throw x(`Error getting throttling presets: ${e}`),e}}async getThrottlingStatus(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,n=await B.get(i,{headers:this.headers});return $(n,200,"get throttling status"),k(`Successfully retrieved throttling status for device ${e}`),n.data}catch(i){throw x(`Error getting throttling status: ${i}`),i}}async enableThrottling(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,o=await B.post(n,i,{headers:this.headers});$(o,204,"enable throttling"),k(`Successfully enabled throttling for device ${e} with preset: ${i.preset}`)}catch(n){throw x(`Error enabling throttling: ${n}`),n}}async disableThrottling(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,n=await B.delete(i,{headers:this.headers});$(n,204,"disable throttling"),k(`Successfully disabled throttling for device ${e}`)}catch(i){throw x(`Error disabling throttling: ${i}`),i}}};function ps(t){t.get("/throttling/presets",async()=>await new rt(t.deviceFarm).getThrottlingPresets()),t.get("/throttling/status",async()=>{let e=L(t);return await new rt(t.deviceFarm).getThrottlingStatus(e)}),t.post("/throttling/enable",async e=>{let i=L(t),n=e.body?.preset;if(!n||typeof n!="string")throw new v("preset is required (run `throttling-presets` to list)",400);let o={preset:n,downloadKBitsPerSecond:e.body?.downloadKBitsPerSecond,uploadKBitsPerSecond:e.body?.uploadKBitsPerSecond,latencyMs:e.body?.latencyMs};if(n==="custom")for(let s of["downloadKBitsPerSecond","uploadKBitsPerSecond","latencyMs"]){let a=o[s];if(typeof a!="number"||!Number.isFinite(a)||a<0)throw new v(`preset=custom requires ${s} as a non-negative number`,400)}return await new rt(t.deviceFarm).enableThrottling(i,o),{enabled:!0,preset:n,...n==="custom"?{downloadKBitsPerSecond:o.downloadKBitsPerSecond,uploadKBitsPerSecond:o.uploadKBitsPerSecond,latencyMs:o.latencyMs}:{}}}),t.post("/throttling/disable",async()=>{let e=L(t);return await new rt(t.deviceFarm).disableThrottling(e),{enabled:!1}})}var Nt=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async startHttpInspection(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/har`;try{k(`Starting HTTP inspection for device: ${e}`);let o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify(i||{})});if(!o.ok){let s=await o.text();throw new I(`Failed to start HTTP inspection: ${o.status} ${o.statusText} - ${s}`,o.status)}return await o.json()}catch(o){throw x(`Error starting HTTP inspection: ${o.message}`),o}}async stopHttpInspection(e,i=!1){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/har${i?"?await=true":""}`;try{k(`Stopping HTTP inspection for device: ${e}, await: ${i}`);let o=await fetch(n,{method:"DELETE",headers:this.headers});if(!o.ok){let s=await o.text();throw new I(`Failed to stop HTTP inspection: ${o.status} ${o.statusText} - ${s}`,o.status)}return i?await o.blob():await o.json()}catch(o){throw x(`Error stopping HTTP inspection: ${o.message}`),o}}async getHarFile(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/har/${e}`;try{k(`Downloading HAR file with ID: ${e}`);let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to download HAR file: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.blob()}catch(n){throw x(`Error downloading HAR file: ${n.message}`),n}}async saveHarFile(e,i){try{k(`Saving HAR file to: ${i}`);let n=await e.arrayBuffer(),o=Buffer.from(n);require("fs").writeFileSync(i,o),k(`HAR file saved successfully to: ${i}`)}catch(n){throw x(`Error saving HAR file: ${n.message}`),n}}};function ls(t){t.post("/http-inspection/start",async e=>{let i=L(t),n={};return typeof e.body?.captureBinary=="boolean"&&(n.captureBinary=e.body.captureBinary),typeof e.body?.captureResponseContent=="boolean"&&(n.captureResponseContent=e.body.captureResponseContent),await new Nt(t.deviceFarm).startHttpInspection(i,n)}),t.post("/http-inspection/stop",async()=>{let e=L(t);return await new Nt(t.deviceFarm).stopHttpInspection(e,!1)}),t.post("/har/download",async e=>{let i=fe(e),n=e.body?.harId;if(!n||typeof n!="string")throw new v("harId is required",400);let o=await new Nt(t.deviceFarm).getHarFile(n),s=Buffer.from(await o.arrayBuffer());return ye(i,s)})}var ui=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async startProfiler(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/profiler`,o={appPackage:i},s=await B.post(n,o,{headers:this.headers});$(s,201,"start profiler"),k(`Successfully started profiler for device ${e} on package ${i}`)}catch(n){throw x(`Error starting profiler: ${n}`),n}}async stopProfiler(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/profiler`,o=await B.delete(n,{headers:this.headers,responseType:"arraybuffer"});if($(o,200,"stop profiler"),i){let s=require("fs"),r=require("path").dirname(i);return s.existsSync(r)||s.mkdirSync(r,{recursive:!0}),s.writeFileSync(i,o.data),k(`Successfully saved profiler output to ${i}`),i}else return k(`Successfully retrieved profiler output for device ${e}`),o.data}catch(n){throw x(`Error stopping profiler: ${n}`),n}}};function us(t){t.post("/profiler/start",async e=>{let i=L(t),n=e.body?.appPackage;if(!n||typeof n!="string")throw new v("appPackage is required",400);return await new ui(t.deviceFarm).startProfiler(i,n),{appPackage:n,started:!0}}),t.post("/profiler/stop",async e=>{let i=L(t),n=fe(e),o=await new ui(t.deviceFarm).stopProfiler(i);return ye(n,o)})}var ds=C(require("fs")),ms=C(require("path"));var Yp=C(require("fs")),di=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async injectImageFromBuffer(e,i,n="image/png",o="image.png"){let s=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/image`;try{k(`Injecting image for device: ${e}, fileName: ${o}, size: ${i.length} bytes`);let a=new FormData,r=new Blob([new Uint8Array(i)],{type:n});a.append("file",r,o);let p={Authorization:`Bearer ${this.config.apiKey}`,"X-Content-Type":n,"X-File-Name":o},l=await fetch(s,{method:"POST",headers:p,body:a});if(!l.ok){let c=await l.text();throw new I(`Failed to inject image: ${l.status} ${l.statusText} - ${c}`,l.status)}k(`Successfully injected image for device: ${e}`)}catch(a){throw x(`Error injecting image for device ${e}: ${a.message}`),a}}async injectImage(e,i,n="image/png",o){let s=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/image`;try{k(`Injecting image for device: ${e} from file: ${i}`);let a=Yp.readFileSync(i);o||(o=i.split("/").pop()||"image.png");let r=new FormData,p=new Blob([new Uint8Array(a)],{type:n});r.append("file",p,o);let l={Authorization:`Bearer ${this.config.apiKey}`,"X-Content-Type":n,"X-File-Name":o},c=await fetch(s,{method:"POST",headers:l,body:r});if(!c.ok){let d=await c.text();throw new I(`Failed to inject image: ${c.status} ${c.statusText} - ${d}`,c.status)}k(`Successfully injected image for device: ${e}`)}catch(a){throw x(`Error injecting image: ${a.message}`),a}}async injectTouch(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/touch`;try{k(`Injecting biometric touch for device: ${e} with valid=${i}`);let o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify({touchValid:i})});if(!o.ok){let s=await o.text();throw new I(`Failed to inject touch event: ${o.status} ${o.statusText} - ${s}`,o.status)}k(`Successfully injected biometric touch for device: ${e}`)}catch(o){throw x(`Error injecting touch event: ${o.message}`),o}}};function fs(t){t.post("/inject-image",async e=>{let i=L(t),n=e.body?.imagePath;if(!n||typeof n!="string")throw new v("imagePath is required",400);if(!ds.default.existsSync(n))throw new v(`image not found at ${n}`,400);let o=ds.default.readFileSync(n),s={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"},a=ms.default.extname(n).toLowerCase(),r=e.body?.contentType||s[a]||"image/png",p=e.body?.fileName||ms.default.basename(n);return await new di(t.deviceFarm).injectImageFromBuffer(i,o,r,p),{fileName:p,contentType:r,bytes:o.length}}),t.post("/inject-touch",async e=>{let i=L(t),n=e.body?.touchValid;if(typeof n!="boolean")throw new v("touchValid is required (boolean)",400);return await new di(t.deviceFarm).injectTouch(i,n),{touchValid:n}})}var Qp=C(require("fs"));var dn=C(require("fs")),Zp=C(require("path")),Ft=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getAppiumLog(e,i){try{let n=`${this.baseUrl}${this.apiPath}/appium/${e}/appium-log`,o=await B.get(n,{headers:this.headers,responseType:i?"arraybuffer":"text"});if($(o,200,"get Appium log"),i){let s=Zp.default.dirname(i);return dn.default.existsSync(s)||dn.default.mkdirSync(s,{recursive:!0}),dn.default.writeFileSync(i,o.data),k(`Successfully saved Appium log to ${i}`),i}else return k(`Successfully retrieved Appium log for session ${e}`),o.data}catch(n){throw x(`Error getting Appium log: ${n}`),n}}async getDeviceCrashlogs(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/crashlogs`,n=await B.get(i,{headers:this.headers,responseType:"arraybuffer"});return $(n,200,"get device crashlogs"),n.data}catch(i){throw x(`Error getting device crashlogs: ${i}`),i}}async startDeviceLogsRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/logs`,n=await B.post(i,{},{headers:this.headers});$(n,204,"start device logs recording"),k(`Successfully started log recording for device ${e}`)}catch(i){throw x(`Error starting device logs recording: ${i}`),i}}async stopDeviceLogsRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/logs`,n=await B.delete(i,{headers:this.headers});return $(n,200,"stop device logs recording"),k(`Successfully stopped log recording for device ${e}`),n.data}catch(i){throw x(`Error stopping device logs recording: ${i}`),i}}};function hs(t){t.post("/recording/start",async()=>{let e=L(t),i=await new De(t.deviceFarm).startRecording(e);return t.state.recordingActive=!0,i}),t.post("/recording/stop",async()=>{let e=L(t),i=await new De(t.deviceFarm).stopRecording(e);return t.state.recordingActive=!1,i}),t.post("/recording/download",async e=>{let i=fe(e),n=e.body?.recordingId;if(!n||typeof n!="string")throw new v("recordingId is required",400);let o=new De(t.deviceFarm),s=3e4,a=[1e3,2e3,3e3,5e3];try{let r=Date.now(),p=0;for(;;)try{await o.downloadRecording(n,i);break}catch(l){if(!Qo(l)||Date.now()-r>=s)throw l;await new Promise(c=>setTimeout(c,a[Math.min(p,a.length-1)])),p++}}catch(r){throw Qo(r)?new v(`recording ${n} not ready after ${s/1e3}s \u2014 verify recording-stop succeeded, then retry`,404):r}return{path:i,bytes:Qp.default.statSync(i).size}}),t.post("/logs/start",async()=>{let e=L(t);return await new Ft(t.deviceFarm).startDeviceLogsRecording(e),{started:!0}}),t.post("/logs/stop",async()=>{let e=L(t);return await new Ft(t.deviceFarm).stopDeviceLogsRecording(e)}),t.post("/crashlogs",async e=>{let i=L(t),n=fe(e),o=await new Ft(t.deviceFarm).getDeviceCrashlogs(i);return ye(n,o)})}var ct=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async createTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso`;try{k(`Creating Espresso test run with app artifact: ${e.app_artifact_id}, test artifact: ${e.test_artifact_id}`);let n=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!n.ok){let o=await n.text();throw new I(`Failed to create Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw x(`Error creating Espresso test run: ${n.message}`),n}}async getTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso/${e}`;try{k(`Getting Espresso test run: ${e}`);let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to get Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw x(`Error getting Espresso test run: ${n.message}`),n}}async getTestRuns(){let e=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso`;try{k("Getting all Espresso test runs");let i=await fetch(e,{method:"GET",headers:this.headers});if(!i.ok){let n=await i.text();throw new I(`Failed to get Espresso test runs: ${i.status} ${i.statusText} - ${n}`,i.status)}return await i.json()}catch(i){throw x(`Error getting Espresso test runs: ${i.message}`),i}}async cancelTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso/${e}/cancel`;try{k(`Cancelling Espresso test run: ${e}`);let n=await fetch(i,{method:"PUT",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to cancel Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}}catch(n){throw x(`Error cancelling Espresso test run: ${n.message}`),n}}};function gs(t){t.get("/espresso/runs",async()=>await new ct(t.deviceFarm).getTestRuns()),t.get("/espresso/runs/:id",async e=>await new ct(t.deviceFarm).getTestRun(e.params.id)),t.post("/espresso/runs",async e=>{let i=e.body;if(!i?.app_artifact_id||typeof i.app_artifact_id!="string")throw new v("app_artifact_id is required",400);if(!i.test_artifact_id||typeof i.test_artifact_id!="string")throw new v("test_artifact_id is required",400);if(!i.runner_class||typeof i.runner_class!="string")throw new v("runner_class is required",400);return await new ct(t.deviceFarm).createTestRun(i)}),t.delete("/espresso/runs/:id",async e=>(await new ct(t.deviceFarm).cancelTestRun(e.params.id),{cancelled:!0,id:e.params.id}))}var pt=class{config;baseUrl;headers;apiPath;constructor(e){this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`,this.config=e}async createTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest`;k(`Creating XCUITest test run: ${JSON.stringify(e)}`);try{let n=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!n.ok){let s=await n.text();throw new I(`Failed to create XCUITest test run: ${n.status} ${n.statusText} - ${s}`,n.status)}let o=await n.json();return k(`Created XCUITest test run: ${o.id}`),o}catch(n){throw x(`Error creating XCUITest test run: ${n}`),n}}async getTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest/${e}`;k(`Getting XCUITest test run: ${e}`);try{let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to get XCUITest test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw x(`Error getting XCUITest test run: ${n}`),n}}async getTestRuns(){let e=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest`;k("Getting all XCUITest test runs");try{let i=await fetch(e,{method:"GET",headers:this.headers});if(!i.ok){let n=await i.text();throw new I(`Failed to get XCUITest test runs: ${i.status} ${i.statusText} - ${n}`,i.status)}return await i.json()}catch(i){throw x(`Error getting XCUITest test runs: ${i}`),i}}async cancelTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest/${e}/cancel`;k(`Cancelling XCUITest test run: ${e}`);try{let n=await fetch(i,{method:"PUT",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to cancel XCUITest test run: ${n.status} ${n.statusText} - ${o}`,n.status)}k(`Successfully cancelled XCUITest test run: ${e}`)}catch(n){throw x(`Error cancelling XCUITest test run: ${n}`),n}}};function xs(t){t.get("/xcuitest/runs",async()=>await new pt(t.deviceFarm).getTestRuns()),t.get("/xcuitest/runs/:id",async e=>await new pt(t.deviceFarm).getTestRun(e.params.id)),t.post("/xcuitest/runs",async e=>{let i=e.body;if(!i?.serial||typeof i.serial!="string")throw new v("serial is required",400);if(!i.app_artifact_id||typeof i.app_artifact_id!="string")throw new v("app_artifact_id is required",400);if(!i.test_artifact_id||typeof i.test_artifact_id!="string")throw new v("test_artifact_id is required",400);return await new pt(t.deviceFarm).createTestRun(i)}),t.delete("/xcuitest/runs/:id",async e=>(await new pt(t.deviceFarm).cancelTestRun(e.params.id),{cancelled:!0,id:e.params.id}))}var vs=C(require("fs"));function bs(t){t.post("/job",async e=>{_t(t);let i=t.state.activeDevice;if(!i)throw new v("no active device \u2014 run device-use first",400);let{scriptPath:n,artifactDir:o,capabilities:s,timeoutMs:a}=e.body??{};if(!n||typeof n!="string")throw new v("scriptPath is required",400);if(!o||typeof o!="string")throw new v("artifactDir is required",400);if(a!==void 0&&(!Number.isFinite(a)||a<=0))throw new v("timeoutMs must be a positive number (ms)",400);if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new v("capabilities must be a JSON object",400);if(t.state.robot){try{await t.state.robot.close()}catch{}t.state.robot=null,t.state.snapshotRefs=null}let r=await Xs({session:Ae(),deviceFarm:t.deviceFarm,serial:i,scriptPath:n,artifactDir:o,capabilities:s,timeoutMs:a});return t.state.currentJob=r,Ve(r)}),t.get("/job",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);return Ve(e)}),t.get("/job/logs",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);if(!vs.default.existsSync(e.logPath))throw new v(`log file missing: ${e.logPath}`,404);return{logPath:e.logPath,content:vs.default.readFileSync(e.logPath,"utf8")}}),t.delete("/job",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);return _e(e)?(await mt(e),Ve(e)):{...Ve(e),noop:!0}})}function ys(t){t.get("/status",async()=>({activeDevice:t.state.activeDevice,sessionType:t.state.activeDevice?t.state.sessionType:null,recordingActive:t.state.recordingActive,currentJob:t.state.currentJob?Ve(t.state.currentJob):null})),t.post("/stop",async(e,i)=>{if(t.state.currentJob)try{await mt(t.state.currentJob)}catch{}try{await ts(t)}catch(n){return i.code(500),{error:`release failed: ${n.message}`}}i.send({status:"stopping"}),setImmediate(async()=>{await t.close(),process.exit(0)})})}function el(t){es(t),is(t),ns(t),os(t),ss(t),rs(t),cs(t),ps(t),ls(t),us(t),fs(t),hs(t),gs(t),xs(t),bs(t),ys(t)}async function tl(t){let e=Re(t),i=await ze(e);return i&&(await g(e,"POST","/stop"),await al(e,5e3)),il.default.rmSync(He(t),{recursive:!0,force:!0}),i}var nl=new hn.Command("stop").description("Stop the session's daemon (releasing its device) and remove its directory").option("--all","stop and remove every session, not just the selected one").action(async t=>{if(t.all){let i=[];for(let n of Ei())i.push({session:n,stopped:await tl(n)});console.log(JSON.stringify(i,null,2));return}let e=await tl(Ae());console.log(e?"stopped":"not running")}),ol=new hn.Command("status").description("Show Mobitru CLI daemon state \u2014 running, active device, session type, recording flag").action(async()=>{let t=Ae();if(!await ze(Re(t))){console.log(JSON.stringify({running:!1},null,2));return}let i=await g(Re(t),"GET","/status");console.log(JSON.stringify({running:!0,...i},null,2))}),mn="start",fn="MOBITRU_DAEMON_INTERNAL",sl=new hn.Command(mn).description("[internal] Start Mobitru CLI daemon").action(async()=>{process.env[fn]!=="1"&&(console.error(`'${mn}' is an internal command. Run any other command (e.g. 'snapshot') and the daemon will start automatically.`),process.exit(1)),delete process.env[fn];let t=process.env.MOBITRU_CLI_SESSION;t||(console.error("Could not start the daemon. No session name was provided."),process.exit(1)),await Qs(Re(t),t,el)});async function b(){let t=Ae(),e=Re(t);if(await ze(e))return e;let i=$s(t);await Ci(i);try{return await ze(e)||await Qg(t),e}finally{Pi(i)}}function ze(t){return new Promise(e=>{if(process.platform!=="win32"&&!pl.default.existsSync(t)){e(!1);return}let i=cl.default.createConnection(t);i.once("connect",()=>{i.end(),e(!0)}),i.once("error",()=>e(!1))})}async function al(t,e){let i=Date.now()+e;for(;Date.now()<i;){if(!await ze(t))return;await ex(50)}}function Qg(t){let e=process.argv[1],i=(0,rl.spawn)(process.execPath,[e,mn],{detached:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,[fn]:"1",MOBITRU_CLI_SESSION:t}}),n=8192,o="";i.stderr.on("data",c=>{o.length<n&&(o+=c.toString("utf8"))});let s=1e4,a=new Promise((c,d)=>{i.stdout.once("data",()=>c()),i.once("error",f=>{d(new Error(`Daemon spawning failed: ${f.message}`))}),i.once("exit",f=>{let w=o.trim(),m=w?`
146
+ ${w}`:"";d(new Error(`Daemon exited with code ${f}${m}`))})}),r,p,l=new Promise((c,d)=>{p=c,r=setTimeout(()=>{i.kill("SIGKILL");let f=o.trim(),w=f?`
147
+ ${f}`:"";d(new Error(`Daemon did not become ready in ${s}ms${w}`))},s)});return Promise.race([a,l]).finally(()=>{clearTimeout(r),p(),i.stdout.destroy(),i.stderr.destroy(),i.unref()})}var ex=t=>new Promise(e=>setTimeout(e,t));var ll=new gn.Command("device-list").description("List all available devices for a platform").argument("<platform>",`Platform: ${Ot.join(" or ")}`).action(async t=>{an(t)||(console.error(`Invalid platform: ${t}. Expected one of: ${Ot.join(", ")}.`),process.exit(1));let e=await b(),i=await g(e,"GET",`/devices?platform=${t}`);console.log(JSON.stringify(i,null,2))}),ul=new gn.Command("device-use").description("Take a cloud device for use (default: native session; use --web for browser session)").argument("<serial>","Device serial number").option("-d, --duration <minutes>","Session duration in minutes","180").option("--web","Start a web (browser) Appium session instead of native").action(async(t,e)=>{let i=Number(e.duration);(!Number.isInteger(i)||i<=0)&&(console.error(`Invalid duration: ${e.duration}. Expected a positive integer.`),process.exit(1));let n=e.web?"web":"native",o=await b(),s=await g(o,"POST","/device/use",{serial:t,duration:i,sessionType:n});console.log(JSON.stringify(s,null,2))}),dl=new gn.Command("device-release").description("Release currently used device").action(async()=>{let t=await b(),e=await g(t,"POST","/device/release");console.log(JSON.stringify(e,null,2))});var mi=require("commander");var ml=new mi.Command("bookings-list").description("List bookings in the workspace (returns ISO dates)").option("--till <iso>","Upper time limit (ISO 8601); only bookings starting before this are returned").action(async t=>{let e=await b(),i="/bookings";if(t.till){let o=Math.floor(new Date(t.till).getTime()/1e3);Number.isFinite(o)||(console.error(`Invalid --till value: "${t.till}". Use ISO 8601.`),process.exit(1)),i+=`?till=${o}`}let n=await g(e,"GET",i);console.log(JSON.stringify(n,null,2))}),fl=new mi.Command("bookings-info").description("Get details of a single booking by id").argument("<booking-id>","Booking id from bookings-list or booking-create").action(async t=>{let e=await b(),i=await g(e,"GET",`/bookings/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),hl=new mi.Command("booking-create").description("Schedule a future booking (one or more devices)").requiredOption("--name <name>","Booking name").requiredOption("--start <iso>","Start time (ISO 8601)").requiredOption("--end <iso>","End time (ISO 8601)").requiredOption("--devices <serials>","Comma-separated device serials").option("--offset <min>","Timezone offset in minutes from UTC (default: local)",t=>parseInt(t,10)).option("--private","Mark booking as private").action(async t=>{let e=Math.floor(new Date(t.start).getTime()/1e3),i=Math.floor(new Date(t.end).getTime()/1e3);(!Number.isFinite(e)||!Number.isFinite(i))&&(console.error("Invalid --start or --end. Use ISO 8601 (e.g. 2026-05-15T10:00:00Z)."),process.exit(1));let n=t.offset??new Date().getTimezoneOffset(),o=t.devices.split(",").map(p=>p.trim()).filter(Boolean);o.length===0&&(console.error("--devices must contain at least one serial."),process.exit(1));let s={name:t.name,start:e,end:i,offset:n,devices:o};t.private&&(s.isPrivate=!0);let a=await b(),r=await g(a,"POST","/bookings",s);console.log(JSON.stringify(r,null,2))}),gl=new mi.Command("booking-cancel").description("Cancel a future booking by id").argument("<booking-id>","Booking id from bookings-list or booking-create").action(async t=>{let e=await b(),i=await g(e,"DELETE",`/bookings/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var lt=require("commander");var xl=new lt.Command("launch").description("Launch an app by its package name (Android) or bundle ID (iOS)").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await g(e,"POST","/launch",{appId:t});console.log(JSON.stringify(i,null,2))}),vl=new lt.Command("terminate").description("Stop a running app by its package name (Android) or bundle ID (iOS)").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await g(e,"POST","/terminate",{appId:t});console.log(JSON.stringify(i,null,2))}),bl=new lt.Command("is-installed").description("Check whether an app is installed on the active device").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await g(e,"GET",`/is-installed?app=${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),yl=new lt.Command("install-app").description("Install an uploaded artifact onto the active device. Blocks until done.").argument("<artifact-id>","Artifact ID from artifacts-upload / artifacts-list").action(async t=>{let e=await b(),i=await g(e,"POST","/install-app",{artifactId:t});console.log(JSON.stringify(i,null,2))}),wl=new lt.Command("install-app-ota").description("Install an app via OTA manifest URL (iOS only)").argument("<ota-url>","OTA manifest URL (e.g. https://.../app.plist)").action(async t=>{let e=await b(),i=await g(e,"POST","/install-app/ota",{otaUrl:t});console.log(JSON.stringify(i,null,2))}),Sl=new lt.Command("uninstall-app").description("Uninstall an app from the active device by package name / bundle ID").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await g(e,"POST","/uninstall-app",{appId:t});console.log(JSON.stringify(i,null,2))});var fi=require("commander"),El=C(require("fs")),vn=C(require("path"));var xn=C(require("path"));function Ce(){return xn.default.resolve(process.env.MOBILE_CLI_OUTPUT_DIR??xn.default.join(process.cwd(),".mobitru-mobile-cli"))}function ut(t){return xn.default.join(Ce(),`${t}-${Date.now()}`)}var Tl=new fi.Command("artifacts-list").description("List artifacts uploaded to the workspace").action(async()=>{let t=await b(),e=await g(t,"GET","/artifacts");console.log(JSON.stringify(e,null,2))}),kl=new fi.Command("artifacts-info").description("Show metadata + processing status for an uploaded artifact").argument("<artifact-id>","Artifact ID returned by artifacts-upload / artifacts-list").action(async t=>{let e=await b(),i=await g(e,"GET",`/artifacts/info?id=${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),Cl=new fi.Command("artifacts-upload").description("Upload an APK or IPA. Blocks until the cloud finishes processing.").argument("<file>","Path to .apk (Android) or .ipa (iOS)").option("--target <platform>","Override auto-detection: android or ios").option("--alias <name>","Friendly name for the artifact").action(async(t,e)=>{El.default.existsSync(t)||(console.error(`File not found: ${t}`),process.exit(1));let i=vn.default.resolve(t),n=await b(),o={filePath:i};e.target&&(o.target=e.target),e.alias&&(o.alias=e.alias);let s=await g(n,"POST","/artifacts/upload",o);console.log(JSON.stringify(s,null,2))}),Pl=new fi.Command("artifacts-download").description("Download an artifact (logs zip from logs-stop, uploaded APK/IPA, etc.) by id").argument("<artifact-id>","Artifact ID").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/artifact-<id>)").action(async(t,e)=>{let i=e.output?vn.default.resolve(e.output):vn.default.join(Ce(),`artifact-${t}`),n=await b(),o=await g(n,"POST","/artifacts/download",{artifactId:t,savePath:i});console.log(JSON.stringify(o,null,2))});var dt=require("commander"),ws=C(require("path"));var Rl=new dt.Command("recording-start").description("Start screen recording on the active device. Returns the max recording duration.").action(async()=>{let t=await b(),e=await g(t,"POST","/recording/start");console.log(JSON.stringify(e,null,2))}),Al=new dt.Command("recording-stop").description("Stop screen recording. Returns the recordingId for recording-download.").action(async()=>{let t=await b(),e=await g(t,"POST","/recording/stop");console.log(JSON.stringify(e,null,2))}),Ol=new dt.Command("recording-download").description("Download a stopped recording as MP4").argument("<recording-id>","Recording ID from recording-stop").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/recording-<ts>.mp4)").action(async(t,e)=>{let i=e.output?ws.default.resolve(e.output):`${ut("recording")}.mp4`,n=await b(),o=await g(n,"POST","/recording/download",{recordingId:t,savePath:i});console.log(JSON.stringify(o,null,2))}),Il=new dt.Command("logs-start").description("Start device logs (logcat / syslog) capture on the active device").action(async()=>{let t=await b(),e=await g(t,"POST","/logs/start");console.log(JSON.stringify(e,null,2))}),_l=new dt.Command("logs-stop").description("Stop logs capture. Returns artifactId \u2014 pass to artifacts-download.").action(async()=>{let t=await b(),e=await g(t,"POST","/logs/stop");console.log(JSON.stringify(e,null,2))}),$l=new dt.Command("crashlogs").description("Download device crashlogs as a zip").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/crashlogs-<ts>.zip)").action(async t=>{let e=t.output?ws.default.resolve(t.output):`${ut("crashlogs")}.zip`,i=await b(),n=await g(i,"POST","/crashlogs",{savePath:e});console.log(JSON.stringify(n,null,2))});var he=require("commander"),hi=C(require("path"));var Nl=new he.Command("screenshot").description("Take a screenshot of the active device").option("-o, --output <path>","Output file path (default: <CWD>/.mobitru-mobile-cli/screenshot-<ts>.png)").action(async t=>{let e=t.output?hi.default.resolve(t.output):hi.default.join(Ce(),`screenshot-${Date.now()}.png`),i=await b(),n=await g(i,"POST","/screenshot",{savePath:e});console.log(JSON.stringify(n,null,2))}),Fl=new he.Command("screen-size").description("Get the screen size of the active device in pixels").action(async()=>{let t=await b(),e=await g(t,"GET","/screen-size");console.log(JSON.stringify(e,null,2))}),jl=new he.Command("snapshot").description("Capture accessibility tree; writes full tree to disk, prints {path, refCount}").option("-o, --output <path>","Output file path (default: <CWD>/.mobitru-mobile-cli/snapshot-<ts>.json)").action(async t=>{let e=t.output?hi.default.resolve(t.output):hi.default.join(Ce(),`snapshot-${Date.now()}.json`),i=await b(),n=await g(i,"POST","/snapshot",{savePath:e});console.log(JSON.stringify(n,null,2))}),Ul=new he.Command("tap").description("Tap an element by ref (e.g. 'e3' from snapshot output)").argument("<ref>","Element ref from the last snapshot").action(async t=>{let e=await b(),i=await g(e,"POST","/tap",{ref:t});console.log(JSON.stringify(i,null,2))}),Bl=new he.Command("tap-at").description("Tap at raw pixel coordinates. Use when target is invisible to snapshot (e.g. empty Material text fields) \u2014 infer position from gap between visible labels.").argument("<x>","x coordinate in device pixels").argument("<y>","y coordinate in device pixels").action(async(t,e)=>{let i=Number(t),n=Number(e);(!Number.isFinite(i)||!Number.isFinite(n))&&(console.error(`Invalid coordinates: x=${t} y=${e}`),process.exit(1));let o=await b(),s=await g(o,"POST","/tap-at",{x:i,y:n});console.log(JSON.stringify(s,null,2))}),Ll=new he.Command("type").description("Type text into the focused element (tap a text field first)").argument("<text>","Text to type").option("--submit","Press ENTER after typing").action(async(t,e)=>{let i=await b(),n={text:t};e.submit&&(n.submit=!0);let o=await g(i,"POST","/type",n);console.log(JSON.stringify(o,null,2))}),ql=new he.Command("swipe").description("Swipe on the screen in a direction").argument("<direction>","up, down, left or right").option("-f, --force <value>","swipe distance as fraction of screen (0\u20131, default 0.5)",parseFloat).action(async(t,e)=>{let i=await b(),n={direction:t};e.force!==void 0&&(n.force=e.force);let o=await g(i,"POST","/swipe",n);console.log(JSON.stringify(o,null,2))}),Dl=new he.Command("continuous-swipe").description("Drag through 2-20 coordinates: continuous-swipe 100,200 100,500 ...").argument("<points...>","Comma-separated x,y pairs (e.g. 100,200 100,500)").action(async t=>{let e=t.map((o,s)=>{let[a,r]=o.split(","),p=Number(a),l=Number(r);return(!Number.isFinite(p)||!Number.isFinite(l))&&(console.error(`Invalid point #${s+1}: "${o}". Expected "x,y".`),process.exit(1)),{x:p,y:l}}),i=await b(),n=await g(i,"POST","/continuous-swipe",{points:e});console.log(JSON.stringify(n,null,2))}),Ml=new he.Command("press").description("Press a device button (HOME, BACK, VOLUME_UP/DOWN, ENTER, DPAD_*)").argument("<button>","Button name (case-insensitive)").action(async t=>{let e=await b(),i=await g(e,"POST","/press",{button:t});console.log(JSON.stringify(i,null,2))}),zl=new he.Command("get-orientation").description("Get the current screen orientation of the active device").action(async()=>{let t=await b(),e=await g(t,"GET","/orientation");console.log(JSON.stringify(e,null,2))}),Jl=new he.Command("set-orientation").description("Set the screen orientation (portrait or landscape)").argument("<orientation>","portrait or landscape").action(async t=>{let e=await b(),i=await g(e,"PUT","/orientation",{orientation:t});console.log(JSON.stringify(i,null,2))});var Ss=require("commander");var Hl=new Ss.Command("open-url").description("Open a URL in the device's default browser (web session only)").argument("<url>","URL to open (https://, custom schemes like myapp://)").action(async t=>{let e=await b(),i=await g(e,"POST","/open-url",{url:t});console.log(JSON.stringify(i,null,2))}),Vl=new Ss.Command("click-web-element").description("Click a DOM element by CSS selector (web session only)").argument("<selector>","CSS selector (e.g. 'button.signin', '#login')").action(async t=>{let e=await b(),i=await g(e,"POST","/click-web-element",{selector:t});console.log(JSON.stringify(i,null,2))});var gi=require("commander");var Wl=new gi.Command("geolocation-get").description("Get the active device's current geolocation (lat/lng)").action(async()=>{let t=await b(),e=await g(t,"GET","/geolocation");console.log(JSON.stringify(e,null,2))}),Gl=new gi.Command("geolocation-set").description("Spoof the active device's geolocation (WGS84 lat/lng)").argument("<lat>","Latitude in [-90, 90]",parseFloat).argument("<lng>","Longitude in [-180, 180]",parseFloat).action(async(t,e)=>{let i=await b(),n=await g(i,"PUT","/geolocation",{lat:t,lng:e});console.log(JSON.stringify(n,null,2))}),Kl=new gi.Command("ip-location-list").description("List available IP locations (global \u2014 no active device required)").action(async()=>{let t=await b(),e=await g(t,"GET","/ip-location/list");console.log(JSON.stringify(e,null,2))}),Xl=new gi.Command("ip-location-set").description("Set the device's outbound IP location by country code (or DEFAULT to reset)").argument("<country-code>","ISO-3166-1 alpha-2 (e.g. US, DE) or 'DEFAULT'").action(async t=>{let e=await b(),i=await g(e,"POST","/ip-location",{countryCode:t});console.log(JSON.stringify(i,null,2))});var xi=require("commander");var Yl=new xi.Command("throttling-presets").description("List available network throttling presets (global \u2014 no active device required)").action(async()=>{let t=await b(),e=await g(t,"GET","/throttling/presets");console.log(JSON.stringify(e,null,2))}),Zl=new xi.Command("throttling-status").description("Get the current throttling state of the active device").action(async()=>{let t=await b(),e=await g(t,"GET","/throttling/status");console.log(JSON.stringify(e,null,2))}),Ql=new xi.Command("throttling-enable").description("Enable network throttling on the active device (use `throttling-presets` to list options)").argument("<preset>","Preset name (e.g. 3g, 4g, edge, custom)").option("--download <kbps>","Download bandwidth in kbps (required for preset=custom)",parseInt).option("--upload <kbps>","Upload bandwidth in kbps (required for preset=custom)",parseInt).option("--latency <ms>","Latency in ms (required for preset=custom)",parseInt).action(async(t,e)=>{let i=await b(),n={preset:t};e.download!==void 0&&(n.downloadKBitsPerSecond=e.download),e.upload!==void 0&&(n.uploadKBitsPerSecond=e.upload),e.latency!==void 0&&(n.latencyMs=e.latency);let o=await g(i,"POST","/throttling/enable",n);console.log(JSON.stringify(o,null,2))}),eu=new xi.Command("throttling-disable").description("Disable network throttling on the active device").action(async()=>{let t=await b(),e=await g(t,"POST","/throttling/disable");console.log(JSON.stringify(e,null,2))});var bn=require("commander"),tu=C(require("path"));var iu=new bn.Command("http-inspection-start").description("Start HTTP inspection on the active device (Android only); returns harId").option("--capture-binary","Capture binary request/response payloads (default: false)").option("--no-capture-response-content","Skip textual response payloads (default: capture)").action(async t=>{let e=await b(),i={};t.captureBinary!==void 0&&(i.captureBinary=t.captureBinary),t.captureResponseContent!==void 0&&(i.captureResponseContent=t.captureResponseContent);let n=await g(e,"POST","/http-inspection/start",i);console.log(JSON.stringify(n,null,2))}),nu=new bn.Command("http-inspection-stop").description("Stop HTTP inspection on the active device; returns harId for `har-download`").action(async()=>{let t=await b(),e=await g(t,"POST","/http-inspection/stop");console.log(JSON.stringify(e,null,2))}),ou=new bn.Command("har-download").description("Download a finalized HAR file by id").argument("<har-id>","HAR ID from http-inspection-start/stop").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/har-<ts>.har)").action(async(t,e)=>{let i=e.output?tu.default.resolve(e.output):`${ut("har")}.har`,n=await b(),o=await g(n,"POST","/har/download",{harId:t,savePath:i});console.log(JSON.stringify(o,null,2))});var Es=require("commander"),su=C(require("path"));var au=new Es.Command("profiler-start").description("Start CPU/memory profiler against the named app package on the active device").argument("<app-package>","App package (Android) / bundle ID (iOS) to profile").action(async t=>{let e=await b(),i=await g(e,"POST","/profiler/start",{appPackage:t});console.log(JSON.stringify(i,null,2))}),ru=new Es.Command("profiler-stop").description("Stop profiler and download the .profile file").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/profiler-<ts>.profile)").action(async t=>{let e=t.output?su.default.resolve(t.output):`${ut("profiler")}.profile`,i=await b(),n=await g(i,"POST","/profiler/stop",{savePath:e});console.log(JSON.stringify(n,null,2))});var Ts=require("commander"),cu=C(require("path"));var pu=new Ts.Command("inject-image").description("Inject an image as the device camera input (target app must be installed with doInjection=true)").argument("<path>","Path to the image file (max 5 MB)").option("--content-type <mime>","Override the inferred MIME type (default: by extension)").option("--name <filename>","Override the file name reported to the cloud (default: basename of path)").action(async(t,e)=>{let n={imagePath:cu.default.resolve(t)};e.contentType&&(n.contentType=e.contentType),e.name&&(n.fileName=e.name);let o=await b(),s=await g(o,"POST","/inject-image",n);console.log(JSON.stringify(s,null,2))}),lu=new Ts.Command("inject-touch").description("Inject a biometric touch event (target app must be installed with doInjection=true and awaiting auth)").argument("<result>","'valid' (success) or 'invalid' (failure)").action(async t=>{let e=t.toLowerCase();e!=="valid"&&e!=="invalid"&&(console.error(`Invalid argument "${t}". Expected 'valid' or 'invalid'.`),process.exit(1));let i=await b(),n=await g(i,"POST","/inject-touch",{touchValid:e==="valid"});console.log(JSON.stringify(n,null,2))});var vi=require("commander");var uu=(t,e=[])=>[...e,t],du=new vi.Command("espresso-list").description("List Espresso test runs in the workspace").action(async()=>{let t=await b(),e=await g(t,"GET","/espresso/runs");console.log(JSON.stringify(e,null,2))}),mu=new vi.Command("espresso-status").description("Get a single Espresso test run by id").argument("<id>","Test run id from espresso-run or espresso-list").action(async t=>{let e=await b(),i=await g(e,"GET",`/espresso/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),fu=new vi.Command("espresso-run").description("Create a new Espresso test run").requiredOption("--app <artifact-id>","Artifact ID of Android app APK to install before test run").requiredOption("--test <artifact-id>","Artifact ID of Espresso test APK to install before test run").requiredOption("--runner <class>","Runner class name").option("--serial <serial>","Device serial to run tests on").option("--device-name <name>","Device name to run tests on").option("--platform-version <ver>","Platform version to run tests on").option("--filter <expr>","Test filter (repeatable). Allowed filter types are class, notClass, package, notPackage, tests_regex, size, annotation, notAnnotation and filter",uu).option("--instrument-option <kv>","Instrument option (repeatable). Use to provide extra options for a test runner",uu).option("--shards <n>","Max number of shards to evenly distribute test cases. Default is 1",t=>parseInt(t,10)).option("--duration <min>","Desired device session duration in minutes, max value is 180 minutes, default 180 minutes",t=>parseInt(t,10)).action(async t=>{let e={app_artifact_id:t.app,test_artifact_id:t.test,runner_class:t.runner},i={};t.serial&&(i.serial=t.serial),t.deviceName&&(i.name=t.deviceName),t.platformVersion&&(i.platform_version=t.platformVersion),Object.keys(i).length&&(e.device_spec=i),t.filter?.length&&(e.test_filters=t.filter),t.instrumentOption?.length&&(e.instrument_options=t.instrumentOption),t.shards!==void 0&&(e.shard_number=t.shards),t.duration!==void 0&&(e.duration=t.duration);let n=await b(),o=await g(n,"POST","/espresso/runs",e);console.log(JSON.stringify(o,null,2))}),hu=new vi.Command("espresso-cancel").description("Cancel an in-flight Espresso test run by id").argument("<id>","Test run id").action(async t=>{let e=await b(),i=await g(e,"DELETE",`/espresso/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var bi=require("commander");var gu=new bi.Command("xcuitest-list").description("List XCUITest test runs in the workspace").action(async()=>{let t=await b(),e=await g(t,"GET","/xcuitest/runs");console.log(JSON.stringify(e,null,2))}),xu=new bi.Command("xcuitest-status").description("Get a single XCUITest test run by id").argument("<id>","Test run id from xcuitest-run or xcuitest-list").action(async t=>{let e=await b(),i=await g(e,"GET",`/xcuitest/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),vu=new bi.Command("xcuitest-run").description("Create a new XCUITest test run").requiredOption("--serial <serial>","Device ID to run tests on").requiredOption("--app <artifact-id>","Artifact ID of iOS app IPA to install before test run").requiredOption("--test <artifact-id>","Artifact ID of XCUITest runner IPA to install before test run").option("--no-resign","Resign apps with Mobitru profile before installation, default is true").action(async t=>{let e={serial:t.serial,app_artifact_id:t.app,test_artifact_id:t.test};t.resign===!1&&(e.resign=!1);let i=await b(),n=await g(i,"POST","/xcuitest/runs",e);console.log(JSON.stringify(n,null,2))}),bu=new bi.Command("xcuitest-cancel").description("Cancel an in-flight XCUITest test run by id").argument("<id>","Test run id").action(async t=>{let e=await b(),i=await g(e,"DELETE",`/xcuitest/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var yi=require("commander"),yu=C(require("fs")),wu=C(require("path"));var Su=new yi.Command("appium-run").description("Submit an Appium test script to run in the background on the active device").argument("<script>","Path to the user's Appium test script (contains `it(...)` blocks; assumes `driver` from webdriverio is available)").option("--timeout <ms>","Wall-clock cap on the whole run, milliseconds (default 1200000 = 20 min)",t=>parseInt(t,10)).option("--capabilities <json>","Extra/override Appium capabilities as JSON; merged over auto-detected platformName/udid/automationName").action(async(t,e)=>{let i=wu.default.resolve(t);yu.default.existsSync(i)||(console.error(`Script not found: ${i}`),process.exit(1));let n;if(e.capabilities)try{n=JSON.parse(e.capabilities)}catch(r){console.error(`Invalid --capabilities JSON: ${r.message}`),process.exit(1)}let o={scriptPath:i,artifactDir:Ce()};n&&(o.capabilities=n),e.timeout!==void 0&&(o.timeoutMs=e.timeout);let s=await b(),a=await g(s,"POST","/job",o);console.log(JSON.stringify(a,null,2))}),Eu=new yi.Command("appium-status").description("Show the current/last appium-run job (status, exit code, duration, log path)").action(async()=>{let t=await b(),e=await g(t,"GET","/job");console.log(JSON.stringify(e,null,2))}),Tu=new yi.Command("appium-logs").description("Print the combined stdout+stderr log of the current/last appium-run job").action(async()=>{let t=await b(),e=await g(t,"GET","/job/logs");process.stderr.write(`logs: ${e.logPath}
148
+ `),process.stdout.write(e.content)}),ku=new yi.Command("appium-cancel").description("Cancel the currently running appium-run job (SIGTERM, escalates to SIGKILL after 5s)").action(async()=>{let t=await b(),e=await g(t,"DELETE","/job");console.log(JSON.stringify(e,null,2))});var ks=require("commander");var Cu=new ks.Command("session-current").description('Print the session this invocation resolves to (-s flag > env.MOBITRU_CLI_SESSION > "default")').action(()=>{console.log(Ae())}),Pu=new ks.Command("session-list").description("List all sessions on this machine and their daemon state").action(async()=>{let t=await Promise.all(Ei().map(async e=>{let i=Re(e);if(!await ze(i))return{session:e,running:!1,stale:!0};let n=await g(i,"GET","/status");return{session:e,running:!0,...n}}));console.log(JSON.stringify(t,null,2))});var Ru=require("commander"),jt=C(require("fs")),Au=C(require("path"));var Cs=["baseUrl","browserHubBaseUrl","apiKey","slug","wid"],tx=t=>Cs.includes(t);function ix(t){let e=t.indexOf("=");if(e<=0)throw new Error(`invalid --set value "${t}": expected key=value`);let i=t.slice(0,e),n=t.slice(e+1);if(!tx(i))throw new Error(`unknown config key "${i}". Allowed: ${Cs.join(", ")}`);if(!n)throw new Error(`empty value for "${i}"; use a non-empty string`);return[i,n]}function nx(){if(!jt.default.existsSync(ie))return{};let t=JSON.parse(jt.default.readFileSync(ie,"utf8"));if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${ie} does not contain a JSON object`);return t}function ox(t){jt.default.mkdirSync(Au.default.dirname(ie),{recursive:!0});let e=`${ie}.tmp.${process.pid}`;jt.default.writeFileSync(e,JSON.stringify(t,null,2)+`
149
+ `,{mode:384}),jt.default.renameSync(e,ie)}function Ou(t){return new Ru.Command("config").description("Show resolved credentials, or set keys in ~/.mobitru-cli/config.json").option("--set <kv>",`Set a config key as key=value (repeatable). Keys: ${Cs.join(", ")}`,(e,i=[])=>[...i,e]).action(e=>{if(e.set?.length){let i=nx();for(let[n,o]of e.set.map(ix))i[n]=o;ox(i),process.stdout.write(`${ie}
150
+ `);return}process.stdout.write(JSON.stringify({...Bs(),artifactDir:t()},null,2)+`
151
+ `)})}var Iu=Ou(Ce);var _u=require("commander"),yn=C(require("fs")),Ut=C(require("path"));function sx(){let t=Ut.default.join(__dirname,"skills");return yn.default.existsSync(Ut.default.join(t,"SKILL.md"))?t:null}function $u(t){return new _u.Command("install").description("Install the agent skill into a workspace (.claude or .agents)").option("--skills <target>",'agent type: "claude" or "agents"',"claude").action(e=>{e.skills!=="claude"&&e.skills!=="agents"&&(process.stderr.write(`error: --skills must be "claude" or "agents", got "${e.skills}"
152
+ `),process.exit(1));let i=sx();i||(process.stderr.write(`error: skill "${t}" not bundled in this build.
153
+ `),process.exit(1));let n=process.cwd(),o=Ut.default.join(n,`.${e.skills}`,"skills",t);try{yn.default.mkdirSync(Ut.default.dirname(o),{recursive:!0}),yn.default.cpSync(i,o,{recursive:!0})}catch(s){process.stderr.write(`error: failed to install skill to ${o}: ${s.message}
154
+ `),process.exit(1)}process.stdout.write(`\u2705 Installed ${t} skill to \`${Ut.default.relative(n,o)}\`
155
+ `)})}var E=new Nu.Command("mobitru-mobile-cli").description("Mobitru mobile CLI").version(Us).option("-s, --session <name>",'target session (default: "default")');E.hook("preAction",t=>{process.env.MOBITRU_CLI_SESSION=Fs(t.opts().session)});E.addCommand(sl,{hidden:!0});E.addCommand(nl);E.addCommand(ol);E.addCommand(Pu);E.addCommand(Cu);E.addCommand(Iu);E.addCommand($u("mobitru-mobile-cli"));E.addCommand(ll);E.addCommand(ul);E.addCommand(dl);E.addCommand(ml);E.addCommand(fl);E.addCommand(hl);E.addCommand(gl);E.addCommand(xl);E.addCommand(vl);E.addCommand(bl);E.addCommand(Tl);E.addCommand(kl);E.addCommand(Cl);E.addCommand(Pl);E.addCommand(yl);E.addCommand(wl);E.addCommand(Sl);E.addCommand(Rl);E.addCommand(Al);E.addCommand(Ol);E.addCommand(Il);E.addCommand(_l);E.addCommand($l);E.addCommand(Nl);E.addCommand(Fl);E.addCommand(jl);E.addCommand(Ul);E.addCommand(Bl);E.addCommand(Ll);E.addCommand(ql);E.addCommand(Dl);E.addCommand(Ml);E.addCommand(Hl);E.addCommand(Vl);E.addCommand(zl);E.addCommand(Jl);E.addCommand(Wl);E.addCommand(Gl);E.addCommand(Kl);E.addCommand(Xl);E.addCommand(Yl);E.addCommand(Zl);E.addCommand(Ql);E.addCommand(eu);E.addCommand(iu);E.addCommand(nu);E.addCommand(ou);E.addCommand(au);E.addCommand(ru);E.addCommand(pu);E.addCommand(lu);E.addCommand(du);E.addCommand(mu);E.addCommand(fu);E.addCommand(hu);E.addCommand(gu);E.addCommand(xu);E.addCommand(vu);E.addCommand(bu);E.addCommand(Su);E.addCommand(Eu);E.addCommand(Tu);E.addCommand(ku);E.parseAsync().catch(t=>{let e=t instanceof Error?t.message:String(t);process.stderr.write(`${e}
154
156
  `),process.exit(1)});